Software Design (2nd Edition) and over one million other books are available for Amazon Kindle. Learn more

Kindle Edition
 
   
Sell Back Your Copy
For a $1.25 Gift Card
Trade in
Have one to sell? Sell yours here
Software Design (2nd Edition)
 
 
Start reading Software Design (2nd Edition) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Software Design (2nd Edition) [Hardcover]

David Budgen (Author)
4.8 out of 5 stars  See all reviews (4 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $30.84  
Hardcover --  
Paperback --  

Book Description

0201722194 978-0201722192 May 15, 2003 2
Software Design provides a balanced view of the many and varied software design methodologies most widely used by practitioners. By being aware of the strengths and limitations of each method, a student is better able to judge which to adopt when working in the field. The book is also valuable for software engineers and project managers who need an objective guide to the state of the art in this area. The text provides a general overview of software design within the context of software development and also of more general thinking about design issues. It examines the nature of design activities, as well as their applications within software development.


Editorial Reviews

From the Back Cover

[Shelving category] Software Engineering

Software design is a multi-disciplinary activity that develops tools through effective communication of ideas and the use of engineering practices. This text provides an overview and perspective of software design within the context of software development and also of more general thinking about design issues. It examines the nature of design activities, as well as their applications within software development, providing the reader with:

  • a non-proprietary view of design issues
  • an overview of design representation forms
  • a concise review of design practices based on the more widely used design methods
  • a strong architectural framework

A particular feature is the strong evidence-based approach used in the analysis and assessment of these issues.

Since the first edition, much progress has been made in the area of software design, with the major changes to the new edition being:

  • A much stronger recognition of the role played by the concept of architectural style in helping to structure ideas about design. This is used to provide an underpinning framework throughout the second edition.
  • The inclusion of new forms of software and of new approaches to design, ranging from agile methods and design patterns through to the component concept and the use of the Unified Modeling Language (UML).
  • An improved formalism to support the analysis of the processes embodied in design methods.

Software Design

provides a balanced view of the many and varied software design strategies most widely used by practitioners. By being aware of the strengths and limitations of each one, a student is better able to judge which to adopt when working in the field. The book is also valuable for software engineers and project managers who need an objective guide to the state of the art in this area.

David Budgen

is Professor of Software Engineering at Keele University, UK. A long-term student of software design, he has worked closely with the Software Engineering Institute in Pittsburgh to develop tutorial modules, as well as publishing many research papers on software design topics.


Product Details

  • Hardcover: 400 pages
  • Publisher: Addison Wesley; 2 edition (May 15, 2003)
  • Language: English
  • ISBN-10: 0201722194
  • ISBN-13: 978-0201722192
  • Product Dimensions: 9.3 x 6.9 x 1.2 inches
  • Shipping Weight: 2.1 pounds
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #1,118,698 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

4 Reviews
5 star:
 (3)
4 star:
 (1)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (4 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

14 of 14 people found the following review helpful:
5.0 out of 5 stars Excellent and comprehensive coverage of a large subject, March 11, 2004
By 
Tim Mason (Halifax, England) - See all my reviews
This review is from: Software Design (2nd Edition) (Hardcover)
This book provides a comprehensive overview of software design. Most valuably, it deals with the nature and principles of software design, rather than the details of particular approaches. It's the only book I've seen that addresses professional issues in software design, such as how knowledge is passed on to new designers, and the real purposes and usage of software processes.

This second edition now has substantial coverage of object oriented approaches to design. Chapter 16 is a sixty-page primer in OOD that sets OOD in the context of other approaches. Few others have even attempted to do that.

My only negative criticism is that the writing style tends towards the academic, and there is a little too much of "we will deal with this in Chapter X". But the book is still very readable. The material is fascinating, and extremely valuable to me as a practising professional in this field.

Best book I've read on the subject.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 11 people found the following review helpful:
4.0 out of 5 stars The many facets of and approaches to software design, July 7, 2004
This review is from: Software Design (2nd Edition) (Hardcover)
As I am constantly telling my software-engineering students, the writing of the code now takes up somewhere between 10 and 20 percent of the effort put into software projects. Since development environments are constantly improving and allow some of the routine features of the code to be automatically written, this percentage will no doubt continue to drop. This is a very solid trend, as relatively more time is being spent on capturing and refining the requirements and constructing a design that incorporates the proper amount of flexibility. This flexibility is needed so that changes can be made in the project in response to the customers and developers learning more about what the software should do.
There are several different approaches to the design process, from the make-it-up-as-you -go style to the construction of a rigid design at the start that cannot be altered after that. This spectrum is covered, although for obvious reasons, the two extremes are only slightly covered. The emphasis is on the approaches that are dynamic with a plan, where there is an initial detailed design, but with adequate room for change.
The book is split into three parts:

* The role of software design.
* Transferring design knowledge.
* Design practices.

The first section is basically a justification for the inclusion of an extensive design phase in a software project. It starts at the very basic level, answering simple questions such as "What is design?" and "What is software?". While this may seem trivial, it is not. Design is a concept that is interpreted in many ways, which requires that it have some form of formal definition.
The second section covers the topics of how a design is articulated, which includes how it is represented and how the knowledge is transferred to others. It is very good that so much time was spent in this area. One of the main points of failure in projects is the communication of ideas from one team to another. The best possible design is of little value if the design team cannot effectively communicate their results to the production team.
The last section is a listing of some of the most common design practices in use today. Techniques such as stepwise refinement, incremental design, designing with objects and component-based design are described. Two design methods created by Michael Jackson, called Jackson Structured Programming (JSP) and Jackson System Development (JSD) are also examined.
In my experience of following the trends in books, I see the "traditional" coverage of software engineering being split into distinct sections. Software engineering textbooks are growing in size and there are now books on software architecture, software design and software testing. This book is a sound introduction to the area of design and if your goal is to teach a course in that area or just learn more about it, then it will serve you well.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 11 people found the following review helpful:
5.0 out of 5 stars Excellent Survey of Software Design Before Objects, June 23, 2000
This book is a very good survey of pre-object-oriented design techniques (as well as some object-oriented design techniques in their early stages of development). This book is also a good book on Programmer Art History. If you really want to understand the pre-history of object-oriented design, read this book. If you are a collector of acronyms, this book is a must.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews


Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject