Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Unified Software Development Process

Similar presentations


Presentation on theme: "The Unified Software Development Process"— Presentation transcript:

1 The Unified Software Development Process
CMPT 371 Fall 2004 J.W. Benham

2 Software Development Activities
Business Modeling Requirements Analysis Design Implementation Testing Deployment Maintenance Activities called disciplines in Unified Process Business modeling includes domain object modeling – develop sufficient understanding of context Requirements analysis includes writing use cases, and identifying non-functional requirements Non-functional requirements include requirements related to speed, throughput, scalability, etc. Design – determining classes that make up system, assigning responsibilities to classes, and specify how they work together to realize requirements. Testing – Unit testing, integration testing, system testing, acceptance testing Deployment – installation, training, etc. Maintenance – corrective, perfective, and adaptive changes

3 Waterfall Model Activities executed sequentially Advantages
Disadvantages Adv – emphasis on understanding requirements before design, designing before implementation ,etc. Testing makes sure components work separately before testing whether they work together Disadv – too rigid, does not allow for changing requirements, major problems caught late in development & testing

4 V-shaped and Spiral models
V-shaped model relates each stage of testing to an earlier stage of development Acceptance testing – requirements System testing – design Integration testing – design Unit testing – implementation Spiral model – iterate activities in order Each iteration builds part of system Each iteration builds on previous iterations V-shaped allows for early development of test suites Spiral model emphasized iterative nature of development – allows for changing requirements, learning from mistakes, etc. Possible to mitigate highest risks in early iterations.

5 Unified Software Development Process
Use-case driven Driven by realization of use cases (or parts of use cases) Architecture-centric Define system in terms of components and the interactions and relations among those components. Iterative and incremental Each iteration produces an increment to a working system Define use case – scenario of interaction between user and system that accomplishes something of value to a user (actor). Grounding of functional requirements on needs/wants of classes of users. Types of architectures – layered, pipes and filters, data repository (central), object-oriented organization (data abstraction), etc. Iterative and incremental – handle high risks in early iterations, emphasize that each iteration produces a working program (though it may not do much after early iterations).

6 Iterations Each iteration includes all of the disciplines
Earlier phases place greater emphasis on analysis and design activities Middle phases place greater emphasis on implementation and testing Later phases place greater emphasis on deployment (and large-scale testing) Refer to diagram on page 21 of Larman Discuss timeboxing of interations

7 Phases of Unified Process
Inception Elaboration Construction Transition Inception – establish feasibility, develop vision of end product, present business case Elaboration – design architecture of system, develop most use cases, architectural baseline: “skeleton of system” Construction – add “muscle” to skeleton Transition – beta release, general release, training, correcting defects after delivery, Note that these do not correspond to the stages of the traditional waterfall model.


Download ppt "The Unified Software Development Process"

Similar presentations


Ads by Google