|
Newsletters
|
|
|
|
|
Wireless Developer Network Store in association with Amazon.com
Main > Software Design
 Click here to buy! |
Design Patterns: Elements of Reusable Object-Oriented Software
Addison-Wesley Publishing Company
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch
Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it's not a tutorial but a catalog that you can use to find an object-oriented design pattern that's appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs. |
 Click here to buy! |
Object-Oriented Software Construction
Prentice Hall
by Bertrand Meyer
The developer of the acclaimed Eiffel programming language comes through with one of the clearest and most informative books about computers ever committed to paper. Object-Oriented Software Construction is the gospel of object-oriented technology and it deserves to be spread everywhere. Meyer opens with coverage of the need for an object-oriented approach to software development, citing improved quality and development speed as key advantages of the approach. He then explains all the key criteria that define an object- oriented approach to a problem. Meyer pays attention to techniques, such as classes, objects, memory management, and more, returning to each technique and polishing his readers' knowledge of it as he explains how to employ it "well." In a section on advanced topics, Meyer explores interesting and relevant topics, such as persistent objects stored in a database. He also offers a sort of "Do and Don't" section in which he enumerates common mistakes and ways to avoid them. Management information isn't the main point of Object-Oriented Software Construction, but you'll find some in its pages. Meyer concludes his tour de force with comparisons of all the key object-oriented languages, including Java. He also covers the potential of simulating object technology in non-object-oriented languages, such as Pascal and Fortran. The companion CD-ROM includes the full text of this book in hypertext form, as well as some tools for designing object-oriented systems. If you program computers, you need to read this book. |
 Click here to buy! |
Software For Use
Addison-Wesley Publishing Company
by Larry L. Constantine, Lucy A. D. Lockwood
For anyone who designs applications or Web pages professionally, Software for Use provides an appealingly written guide to user interface design. This book delivers many valuable insights on improving interfaces for both desktop applications and Web sites.
A software design process is first presented that's centered on usability (with terms like "user roles," "use cases," and "interaction contexts"). Early sections have much to say about inadequate interfaces (using a number of Windows examples) and how to improve them. The book presents an argument for creating innovative and intuitable interfaces (often by rethinking time-honored Windows conventions).
The most provocative material here is the coverage of the Internet--the book argues that many Web sites sacrifice usability for visual razzle-dazzle, and it offers ways to organize Web sites for better usability. (A section on embedded devices looks at UI issues for these systems too.) A full case study of a user interface design for a corporate address book is included.
Software for Use makes a good case that there is room for improvement in today's user interfaces. This book is sure to be a valuable resource for anyone serious about improving the user's experience of software or Web sites. |
 Click here to buy! |
The Unified Software Development Process
Addison-Wesley Publishing Company
by Ivar Jacobson, Grady Booch, James Rumbaugh
A software process defines the steps required to create software successfully. Written by the same authors who brought you the Unified Modeling Language (UML), The Unified Software Development Process introduces a new standard for creating today's software that will certainly be useful for any software developer or manager who is acquainted with UML.
Early sections introduce four basic principles of the unified process: that software should stress use cases (which show how it interacts with users), that the process is architecture-centric, and that it is iterative and incremental. The authors then apply these principles to their software process, which involves everything from gathering system requirements to analysis, design, implementation, and testing. The use-case examples are excellent and include concrete examples drawn from such areas as banking and inventory control.
The authors point out the connection between UML document types (like use cases, class diagrams, and state transition diagrams) with various models used throughout the software process. They provide very short, real-world examples that illustrate how their ideas have been successfully applied. The straightforward tour of the new unified software process gets extra elaboration--along with some advice--in later chapters that further describe the author's ideas on design. With the weight of these three expert authors behind it, readers can expect The Unified Software Development Process to be an important book and one that will be valuable to any working designer or manager. |
|
|
|