Upload
ham
View
34
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Requirements. Prototype. Design. Construction. Testing. Delivery and Installation. Software Waterfall Life Cycle. Concept Exploration. Operations and Maintenance. Software Design. From SWEBOK 2004. V-Model. Spiral Model. Agile Methods. Software Design. From SWEBOK 2004. - PowerPoint PPT Presentation
Citation preview
Software Waterfall Life Cycle
Requirements
Construction
Design
Testing
Delivery and Installation
Operations and Maintenance
Concept Exploration
Prototype
Software Design
From SWEBOK 2004
V-Model
Spiral Model
Agile Methods
Software Design
From SWEBOK 2004
Software Design Principles
• Abstraction• Coupling and cohesion
– Minimize coupling; maximize cohesion• Decomposition and modularization• Encapsulation/information hiding• Separation of interface from implementation• Sufficiency, completeness, and primitiveness
Key Issues in Software Design
• Concurrency• Events• Distribution of components• Error and exception handling• Interaction and presentation• Data persistence
Software Structure and Architecture
• Model/View/Controller (MVC)• Repository• Client/server, Three-tier (four-tier)• Peer-to-peer• Pipes and filters
Patterns
• Reusable solutions to common object-oriented programming problems– Creational patterns
• Factory Method, Abstract Factory, Builder, Prototype, Singleton
– Structural patterns• Adapter, Bridge, Composite, Decorator, Façade, Flyweight,
Proxy– Behavioral patterns
• Chain of responsibility, Observer, Strategy, Command, Interpreter, Iterator
Nonfunctional Requirements may suggest a design pattern
• “manufacturer independent”, “device independent”, “must support a family of products”– Abstract Factory Pattern
• “must interface with an existing object”– Adapter Pattern
• “must deal with the interface to several systems, some of them to be developed in the future”– Bridge Pattern
Adapter Pattern
http://sourcemaking.com/design_patterns/adapter
Strategy Design Pattern