Unified Process Model

Document Sample
Unified Process Model Powered By Docstoc
					        Review of Definitions
• Software life cycle:
  –Set of activities and their relationships to each
   other to support the development of a
   software system

• Software development methodology:
  –A collection of techniques for building models -
   applied across the software life cycle
            Coping with change
 Change is inevitable in all large software projects.
    Business changes lead to new and changed system
    New technologies open up new possibilities for improving
    Changing platforms require application changes
 Change leads to rework so the costs of change include
  both rework (e.g. re-analysing requirements) as well as
  the costs of implementing new functionality

  Reducing the costs of rework
 Change avoidance, where the software process includes
  activities that can anticipate possible changes before
  significant rework is required.
    For example, a prototype system may be developed to show
     some key features of the system to customers.
 Change tolerance, where the process is designed so that
  changes can be accommodated at relatively low cost.
    This normally involves some form of incremental development.
     Proposed changes may be implemented in increments that have
     not yet been developed. If this is impossible, then only a single
     increment (a small part of the system) may have be altered to
     incorporate the change.

      Unified Process Model
• A process model that was created 1997 to
  give a framework for Object-oriented
  Software Engineering
• Iterative, incremental model to adapt to
  specific project needs
• Risk driven development
• Combining spiral and evolutionary models
       Unified Process Model
• Iterative process: development is divided
  into short fixed length mini projects (called
• Each iteration has requirement analysis,
  design, implementation and testing.
• Output of each iteration is tested
  integrated executed system that grows
  with each iteration.
• Iterations are timeboxed (i.e. fixed in length)
• Best iteration length (2-6 weeks)
          Advantages of UP
• Rapid feedback from users and developers
  – Then adapt to changes in the next iteration
    (adaptive development)
• Visible progress
• Start with high risk
• Manage complexity by dividing the problem
  into smaller ones
                      Stages of the UP
                               development cycle

         iteration                       phase

inc.   elaboration                   construction                     transition

              milestone              release              increment                final production
        An iteration end-      A stable executable   The difference
        point when some        subset of the final   (delta) between the           At this point, the
        significant decision   product. The end of   releases of 2                 system is released
        or evaluation          each iteration is a   subsequent                    for production use.
        occurs.                minor release.        iterations.
            Stages of the UP
• Inception: Customer communication, project
  vision and planning activities (feasibility study)
• Elaboration: multiple iterations that refines the
  requirements and models of the system
• Construction: develop software code
• Transition: user testing and installation
• Production: operation
              Inception Stage
•   Perform feasibility study …..
•   Identify the project vision (vision document)
•   Identify general business requirements
•   Identify project and business risks
•   Produce initial use-case model (10-20%)
•   Plan the elaboration stages
•   Rough architecture of the software
             Elaboration Stage
• An iterative process where refinements are
  made on system requirements, system design,
  develop part of the code and test it.

• Products from these iterations:
  –   Refinements on use-case model
  –   Software architecture description
  –   Executable prototypes
  –   Initial design model
  –   Refinement on project risks and plan
         Construction Stage
• Translate the design into software
• Products of this stage are:
  – Design model
  – Integrated software components
  – Test plan and test cases
  – User documentation
          Transition Stage
• Deliver the software and documentation
• Get user feedback from Beta tests
Changes in activities according to stages
        Important Definitions
• Artifacts: any work product (e.g. code,
  database, documents, models, user
• Milestones are the end-point of a process
• Deliverables are project results delivered
  to customers
Artifact Sets in the Unified Process
• Artifact set:
   • A set of artifacts developed and reviewed as a single

• The Unified Process distinguishes five artifact sets
   •    Management set
   •    Requirements set
   •    Design set
   •    Implementation set                                  Also called the engineering set.
   •    Deployment set

  Bernd Bruegge & Allen H. Dutoit   Object-Oriented Software Engineering: Using UML, Patterns, and Java   16
 Artifact Sets in the Unified Process
                                           Engineering Set
 Requirements                          Design Set      Implementatio                                          Deployment
         Set                                                 n Set                                                 Set
1. Vision                             1. Design       1. Source code                                       1. Integrated pro-
   document                              model(s)        baselines                                            duct executable
2. Requirements                       2. Test model   2. Compile-time                                      2. Run-time files
   model(s)                                              files
                                      3. Software     3. Component                                         3. User
                                         architecture    executables                                          documentation

                           Management Set
        Planning Artifacts              Operational Artifacts
        1 Software Project                                                           1. Release descriptions
            Management Plan (SPMP)                                                   2. Status assessments
        2. Software Configuration                                                    3. Change Management
            Management Plan (SCMP)                                                      database
        3. Work breakdown structure                                                  4. Deployment documents
        4. Business Case                                                             5. Environment.
        5. Release specifications

    Bernd Bruegge & Allen H. Dutoit         Object-Oriented Software Engineering: Using UML, Patterns, and Java       17
  Life-cycle Focus on Artifact Sets

   • Each artifact set is the predominant focus in one
     stage of the unified process.

                                 Inception         Elaboration Construction                                    Transition


  Design Set

     Bernd Bruegge & Allen H. Dutoit     Object-Oriented Software Engineering: Using UML, Patterns, and Java       18
             Artifact Set Roadmap                                   Baseline

                        Inception   Elaboration   Construction   Transition
Management Set
  1. Vision
  2. WBS
  3. Schedule
  4. Conf. Management
  5. Project Agreement
  6. Test Plan
Requirements Set
   1. Analysis Model
Design Set
 1. System Design
 2. Interface Specification
Implementation Set
   1. Source code
   2. Test cases
Deployment Set
  1. Alpha-Test/ Beta-Test
   2. User Manual

Shared By:
liamei12345 liamei12345 http://