Download presentation
Presentation is loading. Please wait.
Published byKerry Cox Modified over 9 years ago
1
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype
2
Software Design From SWEBOK 2004
3
V-Model
4
Spiral Model
5
Agile Methods
6
Software Design From SWEBOK 2004
7
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
8
Key Issues in Software Design Concurrency Events Distribution of components Error and exception handling Interaction and presentation Data persistence
9
Software Structure and Architecture Model/View/Controller (MVC) Repository Client/server, Three-tier (four-tier) Peer-to-peer Pipes and filters
10
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
11
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
12
Adapter Pattern http://sourcemaking.com/design_patterns/adapter
13
Strategy Design Pattern
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.