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
     requirements
    New technologies open up new possibilities for improving
     implementations
    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




                                                                2
  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.

                                                                     3
      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
  iterations).
• Each iteration has requirement analysis,
  design, implementation and testing.
• Output of each iteration is tested
  integrated executed system that grows
  with each iteration.
                Iterations
• 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
                                                                                   release
        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
    (subsystems)
             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
  components
• 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
  manual)
• Milestones are the end-point of a process
  activity
• 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
     entity




• 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
 Management
     Set

Requirements
     Set

  Design Set

Implementation
     Set
 Deployment
     Set
     Bernd Bruegge & Allen H. Dutoit     Object-Oriented Software Engineering: Using UML, Patterns, and Java       18
                                                                    Informal
             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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:12/4/2011
language:English
pages:19
liamei12345 liamei12345 http://
About