13
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype

Software Waterfall Life Cycle

  • Upload
    ham

  • View
    34

  • Download
    0

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

Page 1: Software Waterfall Life Cycle

Software Waterfall Life Cycle

Requirements

Construction

Design

Testing

Delivery and Installation

Operations and Maintenance

Concept Exploration

Prototype

Page 2: Software Waterfall Life Cycle

Software Design

From SWEBOK 2004

Page 3: Software Waterfall Life Cycle

V-Model

Page 4: Software Waterfall Life Cycle

Spiral Model

Page 5: Software Waterfall Life Cycle

Agile Methods

Page 6: Software Waterfall Life Cycle

Software Design

From SWEBOK 2004

Page 7: Software Waterfall Life Cycle

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

Page 8: Software Waterfall Life Cycle

Key Issues in Software Design

• Concurrency• Events• Distribution of components• Error and exception handling• Interaction and presentation• Data persistence

Page 9: Software Waterfall Life Cycle

Software Structure and Architecture

• Model/View/Controller (MVC)• Repository• Client/server, Three-tier (four-tier)• Peer-to-peer• Pipes and filters

Page 10: Software Waterfall Life Cycle

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

Page 11: Software Waterfall Life Cycle

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

Page 12: Software Waterfall Life Cycle

Adapter Pattern

http://sourcemaking.com/design_patterns/adapter

Page 13: Software Waterfall Life Cycle

Strategy Design Pattern