CH02

Shared by: ga3Heb
Categories
Tags
-
Stats
views:
6
posted:
11/11/2011
language:
English
pages:
20
Document Sample
scope of work template
							CH02: Modeling the process and life cycle
• Process of developing software (organization and
  discipline in the activities) contribute to the quality of
  the software and the speed with which it is developed
• * The Meaning of Process
• * Software Process Models
• * Tools and Techniques for Process Modeling
• * Practical Process Modeling


                                           TECH
                                       Computer Science
The Meaning of Process
• We can think of a set of ordered tasks as a process: a
  series of steps involving activities, constraints and
  resources that produce an intended output of some
  kind.
• When the process involves the building of some
  product, we sometimes refer to the process as a life
  cycle.
Following a Process
• A process is a collection of procedures (a recipe),
  organized so that we build products to satisfy a set of
  goals or standards.
• Processes are important because they impose
  consistency and structure on a set of activities.
• When we know how to do something well and we
  want to ensue that others do it the same way.
Writing a Process
(Writing a “program” for others to follow)
•   Prescribe all major activities
•   Uses resources, subject to a set of constraints
•   May composed of sub-processes
•   Each activities has entry and exit criteria
•   Activities are organized in a sequence.
•   State the goals of each activity.
Software Process Models
• are prescriptions for the way software development
  should progress.
• are descriptions of the way software development is
  done in actuality.
• Every software development process model includes
  system requirements as input and delivered product
  as output.
REQUIREMENTS       Waterfall Model
  ANALYSIS

        SYSTEM
        DESIGN

               PROGRAM
                DESIGN

                   CODING



                      UNIT & INTE-
                    GRATION TESTING

                            SYSTEM
                            TESTING

                                  ACCEPTANCE
                                    TESTING
                                                 OPERATION
                                               & MAINTENANCE
(Development process in reality)
                    REQUIREMENTS
                      ANALYSIS
    MAINTENANCE
                                          SYSTEM
                                          DESIGN


  DELIVERY



                                            PROGRAM
                                             DESIGN
  SYSTEM
  TESTING


                                          PROGRAM
                                       IMPLEMENTATION
      INTEGRATION
        TESTING                UNIT
                             TESTING
               V Model                                        OPERATION
REQUIREMENTS              Validate requirements
                                                            & MAINTENANCE
  ANALYSIS


                                                       ACCEPTANCE
                                                         TESTING
        SYSTEM
        DESIGN

                                                  SYSTEM
                          Verify design           TESTING



               PROGRAM                 UNIT & INTE-
                DESIGN               GRATION TESTING




                         CODING
   Prototyping Model

      LIST OF             LIST OF      LIST OF
     REVISIONS           REVISIONS    REVISIONS



  revise        user/
prototype     customer
               review


    PROTOTYPE            PROTOTYPE   PROTOTYPE    TEST
   REQUIREMENTS            DESIGN     SYSTEM




                                                    DELIVERED
      SYSTEM                                         SYSTEM
  REQUIREMENTS
(sometimes informal
   or incomplete)
   Operational Specification: requirements
   enacted (automated) using a software package

               Execute and
                 Revise




              OPERATIONAL        TRANSFORMED
             SPECIFICATION        SPECIFICATION     TEST
            (problem-oriented)   (implementation-
                                     oriented)

                                                           DELIVERED
                                                            SYSTEM
      SYSTEM
  REQUIREMENTS
(sometimes informal
   or incomplete)
   Transformational Model
              Compare with
              requirements;          FORMAL DEVELOPMENT RECORD
                update as
                 needed                        Sequence of transformations
                                                plus rationale for them
                              TRANSFORM N
                                   .
                                   .

                FORMAL          TRANSFORM 2          TEST
             SPECIFICATION
                                 TRANSFORM 1



                                                               DELIVERED
      SYSTEM                                                    SYSTEM
  REQUIREMENTS
(sometimes informal
   or incomplete)
DEVELOPERS                       Development systems
             Phases Development

             Build Release 1     Build Release 2    Build Release 3




                                                                            Time
USERS




                               Use Release 1       Use Release 2      Use Release 3




                                  Production systems
 (Increments and Interactions)
INCREMENTAL DEVELOPMENT




ITERATIVE DEVELOPMENT
DETERMINE GOALS,                                    EVALUATE
ALTERNATIVES,           Spiral Model //             ALTERNATIVES
CONSTRAINTS                                         AND
                                         Risk analysis4 RISKS

                                     Risk analysis3

                                     Risk analysis2

                                    Risk analysis1
                                                Proto- Proto- Proto-
Budget4 Budget Budget                            type
                                        Prototype1 2 type3 type4
              3       Budget1
                      2
                   start
                         Requirements,  Concept of            Detailed
                         life-cycle planoperation             design

                                                            Code

                                                      Unit test
                                            System
                                   Acceptance test
                      Implementation
 PLAN                      plan       test
                                                      DEVELOP & TEST
Tools and Techniques for Process Modeling
• Choose Language or Notation
• A static model depicts the process, showing that the
  inputs are transformed to outputs.
• A dynamic model can enact the process, so that the
  user can see how intermediate and final products are
  transformed over time.
Static Modeling: Lai Notation
• State tables show information about the completeness
  of each artifact at a given time.
• Transition diagrams show how the states are related
  to one another.
State table and Transition diagram
  Parked:
  ((state_of(car.engine) = off)
  (state_of(car.gear) = park)
  (state_of(car.speed) = stand))


                         PARKED
       initiate
                   get-out

      INITIATED           stop     MOVING
                             go
Dynamic Modeling: System Dynamics
• Simulate the process and make changes before the
  resources are actually expended.
• Factors affecting overall productivity.
• (Quantified) Relationships (links) between the
  factors.
• System dynamics models are supported by software
  that simulates the overall process.
Practical Process Modeling
• used properly, process modeling offers great benefits
  for understanding processes and revealing
  inconsistencies.
• Develop special language to help defining and
  enacting processes, e.g. Marvel specification
  language.
• A process model is useful for guiding your behavior
  when you are working with a group.

						
Related docs
Other docs by ga3Heb
D03_VI_A_24_CFR_Part_35_selected_portions
Views: 2  |  Downloads: 0
345 - DOC
Views: 17  |  Downloads: 0
industry_life_cycle
Views: 3  |  Downloads: 0
Historical_Sector 20TT_Awards_1997 2007
Views: 4  |  Downloads: 0
200512239758964
Views: 0  |  Downloads: 0
905
Views: 19  |  Downloads: 0
B Tech ECE 2010 - Get as DOC
Views: 13  |  Downloads: 0
0630MSETMNPDSession3
Views: 1  |  Downloads: 0
APbiologyalternationofgenerationsandevolution
Views: 0  |  Downloads: 0