文档介绍:Chapter 8
Design Concepts
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
软件工程实践者的研究方法Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
1
Design
Good software design should exhibit:
Firmness(稳定性): A program should not have any bugs that inhibit its function.
Commodity(适用性): A program should be suitable for the purposes for which it was intended.
Delight(令人愉快): The experience of using the program should be pleasurable one.
软件工程实践者的研究方法Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
2
Analysis Model => Design Model
软件工程实践者的研究方法Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
3
3 Characters of Design Quality
the design must implement all of the explicit(明确的) requirements contained in the analysis model, and it must accommodate all of the implicit(隐含的) requirements desired by the customer.
the design must be a readable, understandable guide for those who generate code and for those who test and subsequently support the software.
the design should provide a complete picture(全貌) of the software, addressing the data, functional, and behavioral domains from an implementation perspective.
软件工程实践者的研究方法Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
4
Quality Guidelines
A design should exhibit an architecture that (1) has been created using recognizable architectural styles or patterns, (2) is composed of components that exhibit good design characteristics and (3) can be implemented in an evolutionary fashion
A design should be modular; that is, the software should be logically partitioned into elements or subsystems
A design should contain representations of data, architecture, interfaces, and components.
A design should lead to data structures that are appropriate f