1
SDLC (Software Development Life
Cycle)

    Logical Process)


                                             Phase )

     Planning Phase)                   Analysis
    Phase)                    Design Phase)

     Implementation Phase )
                  Steps )                              2
SDLC

 Waterfall
 V-Shaped
 Spiral
 Increment
 Agile


                     3
Waterfall model
                  •   SDLC   Waterfall




                  •



                  •




                                         4
…………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………


  Waterfall model
   Waterfall Model


                                         Waterfall Model


  


         Product
                    Product

  
                                                            5
Waterfall
                          ,


   Milestones
 Sets requirements stability

    (plan, staff, track)

Waterfall







    Module

Waterfall Model
                 User


 User
                          platform
    platform
Adapted Waterfall model




SDLC        Adapted Wayerfall

waterfall


                                9
V-Shaped model




                        Model
                            (verification)

                     (validation)
                 

                                             10
V-Shaped model
 Project and Requirements      Production, operation and
  Planning –                     maintenance –

                                System and acceptance
 Product Requirements and       testing –
  Specification Analysis –                           Software
          spec
  Software
                                Integration and Testing –
 Architecture or High-Level
  Design –                       Module
             Software
                                Unit testing –
 Detailed Design –                               module


                                Coding –
                                 Algorithm         Software   11
V-Shaped model
                        Verification
    Validation








                                        12
V-Shaped Model


                    Requirement

                           (Risk
    Management)


                                    13
V-shaped Model
                                      (high
    reliability)
                   hospital patient control
  applications
          Requirement




                                               14
Spiral model




               15
Spiral model
              spiral

    

    
    
    
    
    
                        16
Spiral model


    
    

    


               17
Spiral model


    
    

    


               18
Spiral model







               19
Spiral model
       model
    risk-driven

    

    
    
      Prototype
          product   20
Iterative and Incremental Model

  Iteration1        Iteration2            Iteration3
   Requirement1      Requirement2             Requirement3


       SA                  SA                     SA

      SD                   SD                     SD

      Imp                  Imp                   Imp

      Op                   Op                    Op




   Built1         Built1    Built2   Built1    Built2 Built3

                                                               21
Iterative and Incremental Model






    SDLC
                          (
              )
                                  (   22
Agile Process
 Agile
 Agile Process

                  Agile
                         RAD

    . . 1970


    . . 1990
                                23
Agile Process
  Agile           4
                       [Agile
  Alliance 2001]
      1.

     2.


     3.

                                24
Agile Process
Agile
  XP
  ASD
  Scrum
  DSDM
  Crystal
  FDD
  AM
                25
Extreme Programming
(XP)
               Kent Beck
    . . 1999
                  Iteration and
    Incremental




     4
                                   26
Extreme Programming
(XP)
            User Story    Simple Design
            Iteration     Spike Solution
            Plan          : Prototype
             Plannin       Design)
               g)
  Release
 Software
Increment
             Testing
               )           Coding)
            Unit Test
                          Pair
            Continuous
                          Programming
            integration
                          Unit Test
            Acceptance
                          Continuous
            Test
                          Integrations     27
Adaptive Software
Development (ASD)

                       -
           Jim Highsmith






                            28
Adaptive Software
     Development (ASD)

Adaptive cycle
   planning                                                Requirements
                                                             gathering
    Mission
  statement           Speculat                  Collabor        JAD
                                                            Mini-specs
    Project
  constraints           ion                      ation
     Basic
requirements
 Time-boxed
 release plan
    Release
        Software increment
    adjustments for subsequent
                                    Learning
              cycles

                                      Components
                                  implemented/tested
                                    Focus groups for
                                       feedback
                                    Formal technical
                                 reviews postmortems
                                                                     29
Adaptive Software
    Development (ASD)
          Speculation
    


    




          Collaboration
    
                           30
Adaptive Software
Development (ASD)
           Collaboration
    


        


        


        

                           31
Adaptive Software
    Development (ASD)
                Learning
    



                          3
                        Focus Groups         /




                                        Formal
            Technical Review)


                               Postmortems       32
Scrum
Scrum           Jeff
 Sutherland
                  1990
             Schwaber
 Beedle

                          33
Scrum
       Scrum
    




    



    



    

                34
Scrum
            Scrum

    
    
    
    
    


        Sprint)


                     35
Dynamic System Development
Method (DSDM)

 DSDM





 DSDM => 80%
          20%
 DSDM
                80%

                             36
Dynamic System Development
Method (DSDM)

                 DSDM
                             Feasibility Study




                         Business Study




                                    Functional
        Model Iteration                           37
Dynamic System Development
Method (DSDM)

                DSDM
     
         Design and Build Iteration


                      Implementation)


         


                                        38
Crystal
          Alistair Cockburn   Jim
  Highsmith
 Crystal
    


    


    



    Cockburn   Highsmith
                                     39
Crystal
                    Crystal


    




                                   Crystal
        Yellow, Crystal Orange
                                Crystal Family
                                             40
Crystal
   Crystal


   o “Human-powered”
   o “Ultralight”
   o “Stretch-to-fit”



                        41
Development (FDD)



         Peter Coad


 Stephen Palmer   John Felsing
                      Coad


                                  42
Feature Driven
Development (FDD)

    




    


    
                    FDD


    

                          43
Agile Modeling (AM)

    
    


    


 Scott Amble
        Agile
                       Agile


                Agile
                                44
Agile Modeling (AM)
 AM
 
     Model with a purpose
                           Use
     multiple models
                   Travel light
                       Content is
   more important than
   representation
                                     45
CMM (
                                          )




    
    





                           Process Improvement

       Total Quality Management (TQM)
       Business Process Redesign (BPR)
       Continuous Process Improvement (CPI)
       Six Sigma
                                                  46
CMM(
                                 )

                                           Capability
Maturity Model : CMM
       SW-CMM     (Software   Capability    Maturity
    Model)
    

        Software Engineering Institute : SEI


    


                                                   47
                                            Capability
Maturity Model : CMM                 5

                                Optimizing
                                 4

                          Managed
                          3

                      Defined
                     2

             Repeatable
              1

           Initial
                                                    48
                      Capability
Maturity Model : CMM
                1     The initial
    Level
        



        




                              49
                      Capability
Maturity Model : CMM
                 2          The
  Repeatable Level
    




    



                              50
                                     Capability
Maturity Model : CMM
                   3                       The
    Defined Level
                                 2
        



                             Documented and
        Integrated Process
                                              51
                          Capability
Maturity Model : CMM
                   4              The
    Managed Level
                       Standard


        




                                   52
                                       Capability
Maturity Model : CMM
                      5                      The
    Optimizing Level
                                        Learning
        Organization
        



                          Technology
                                               53


    Capability   Maturity   Model   :
CMM
                               Key
     Process Area (KPA)
      KPA


                                    54
CMM
          CMM
                       KPA
1 (Initial)



2 (Repeatable)




3 (Defined)
                             55
CMM
        CMM
                       KPA
4 (Managed)




5 (Optimizing)




                             56
                            Capability
Maturity Model : CMM
                      KPA   CMM

        

        

        

        

        

        
                                    57
             Tool
    




    




    



    

           Project Management Application (       Microsoft
        Project)
           Word Processor/Text Editor
           Integrated Development Environment (IDE)
           Drawing/Graphics     Application   (       Rational
                                                           58
   CASE Tools
    CASE       (Computer-Aided        Software
    Engineering)



                  CASE Tool

                              Design Editor
                      Data Dictionary
                  Compiler
                Debugger)                  59
   CASE Tools
       CASE

                  CASE     Repository



                    CASE
                 CASE



       CASE                             60
                CASE
       CASE     Tool

                             CASE   Tools
        (Functional Perspective)
        

            Process Perspective
                                    CASE
                                        61
               CASE
    

                     CASE Tools        8
        1.                                       Software
             Requirement Tool
        2.                         Software Design Tools
        3.                        Software    Construction
             Tools
        4.                        Software Testing Tools
        5.                           Software Maintenance
             Tools
        6.                        Software   Configuration
             Management Tools                         62
            CASE
    1.
         Software Requirement Tool
                    2
      -
    Requirement Modeling Tools



         -
    Requirement Traceability Tools
                                     63
                CASE
    2.                                 Software Design Tools
         -


         -
                        Rational Rose, EA
    3.                                Software    Construction
    Tools
         -


             -                        Program Editor
             -             Compiler
             -                Interpreter                 64
           CASE
    4.                 Software Testing
    Tools
      -            Testing Generation

      -                  Test   Execution
    Framework

     -                   Test Evaluation
    Tools

     -                 Test Management
                                   65
           CASE
    5.                           Software
    Maintenance Tools

                        2
     1.                     Comprehension
    Tools

     2.                     Reengineering
    Tools

                                      66
            CASE
    7.                                          Software
    Engineering Management Tools
     -                                   Project Planning
    and        Tracking


         -                     Risk Management



     -                                Measurement


    8.                        Software Quality Tools)
     -                             Inspection Tools
CASE Tools
Integrated CASE Environment
 -     CASE Tool



 -                       CASE Tool


 Meta Tools
 -                                   Editor
Methodologies
-




-
    1.                Structured Approach
    2.                Object   –   oriented
Approach
    3. Heuristic Methodology
1.                    Structured
Approach)
  
       Sub-System)
  


  




            Structured System Analysis
                                     70
1.          Structured
Approach)
  
      




      

      


                         71
-




    72
2.                  Object – Oriented
Approach)
          Grady Booch, James
  Rumbaugh    Ivar Jacobson
  
      Object-Oriented System
       Analysis and Design)
  
                       Object)          73
2.          Object – Oriented
Approach)
  

      

      

      




                                74
ID Invoice       objec
No.
Address
A/C No.          t
Amount           Attrib
Computer value
of goods         utes
Computer
discount
Computer Ad.
Charge
                 Meth
Computer         ods
Invoice Amount
                          75
3. Heuristic Methodology
  -                            Informal
Method
     -

     - Methodology
       - Structured Methodology/Approach



         - Object-oriented Methodology
                                          76
4. Formal Methodology
  -
               2
     1.
Formal Specification


     2.                  Formal
Verification

                                  77
- Agile




- Extreme Programming (XP)
        Agile
                4
  -
                             78
-Adaptive   Software Development (ASD)
  -


  -


  -   ASD




                                         79
-   Dynamic Systems Development Method
(DSDM)
     -
         -


         -




         -   DSDM
                                         80
-   Scrum (
     -




-   Crystal (
     -
     Agile


     -
                81
-   Feature Driven Development (FDD)
    -         Agile


    -
    -




    -   FDD
-   Agile Modeling (AM)
        -
        -                              82
-
                      Process
 -


      Software Process     Software
Development Process
 -



 -                              (Software
                                            83
-
                        Process
Improvement


 -                                SEI


Capability Maturity Model : CMM


                                        84

Lesson2 software process_contd2

  • 1.
  • 2.
    SDLC (Software DevelopmentLife Cycle)  Logical Process) Phase ) Planning Phase) Analysis Phase) Design Phase) Implementation Phase ) Steps ) 2
  • 3.
    SDLC  Waterfall  V-Shaped Spiral  Increment  Agile 3
  • 4.
    Waterfall model • SDLC Waterfall • • 4
  • 5.
  • 6.
    Waterfall  ,   Milestones  Sets requirements stability  (plan, staff, track) 
  • 7.
  • 8.
    Waterfall Model  User   User  platform platform
  • 9.
    Adapted Waterfall model SDLC Adapted Wayerfall waterfall 9
  • 10.
    V-Shaped model  Model (verification) (validation)  10
  • 11.
    V-Shaped model  Projectand Requirements  Production, operation and Planning – maintenance –  System and acceptance  Product Requirements and testing – Specification Analysis – Software spec Software  Integration and Testing –  Architecture or High-Level Design – Module Software  Unit testing –  Detailed Design – module  Coding – Algorithm Software 11
  • 12.
    V-Shaped model  Verification Validation    12
  • 13.
    V-Shaped Model   Requirement  (Risk Management) 13
  • 14.
    V-shaped Model  (high reliability) hospital patient control applications  Requirement 14
  • 15.
  • 16.
    Spiral model  spiral       16
  • 17.
    Spiral model     17
  • 18.
    Spiral model     18
  • 19.
  • 20.
    Spiral model  model risk-driven     Prototype  product 20
  • 21.
    Iterative and IncrementalModel Iteration1 Iteration2 Iteration3 Requirement1 Requirement2 Requirement3 SA SA SA SD SD SD Imp Imp Imp Op Op Op Built1 Built1 Built2 Built1 Built2 Built3 21
  • 22.
    Iterative and IncrementalModel   SDLC  ( ) ( 22
  • 23.
    Agile Process  Agile Agile Process Agile  RAD  . . 1970  . . 1990 23
  • 24.
    Agile Process Agile 4 [Agile Alliance 2001] 1. 2. 3. 24
  • 25.
    Agile Process Agile XP  ASD  Scrum  DSDM  Crystal  FDD  AM 25
  • 26.
    Extreme Programming (XP)  Kent Beck  . . 1999  Iteration and Incremental   4 26
  • 27.
    Extreme Programming (XP) User Story Simple Design Iteration Spike Solution Plan : Prototype Plannin Design) g) Release Software Increment Testing ) Coding) Unit Test Pair Continuous Programming integration Unit Test Acceptance Continuous Test Integrations 27
  • 28.
    Adaptive Software Development (ASD)  - Jim Highsmith    28
  • 29.
    Adaptive Software Development (ASD) Adaptive cycle planning Requirements gathering Mission statement Speculat Collabor JAD Mini-specs Project constraints ion ation Basic requirements Time-boxed release plan Release Software increment adjustments for subsequent Learning cycles Components implemented/tested Focus groups for feedback Formal technical reviews postmortems 29
  • 30.
    Adaptive Software Development (ASD)  Speculation    Collaboration  30
  • 31.
    Adaptive Software Development (ASD)  Collaboration      31
  • 32.
    Adaptive Software Development (ASD)  Learning   3  Focus Groups /  Formal Technical Review)  Postmortems 32
  • 33.
    Scrum Scrum Jeff Sutherland  1990  Schwaber Beedle 33
  • 34.
    Scrum  Scrum     34
  • 35.
    Scrum  Scrum       Sprint)  35
  • 36.
    Dynamic System Development Method(DSDM)  DSDM   DSDM => 80% 20%  DSDM 80% 36
  • 37.
    Dynamic System Development Method(DSDM)  DSDM  Feasibility Study  Business Study  Functional Model Iteration 37
  • 38.
    Dynamic System Development Method(DSDM)  DSDM  Design and Build Iteration  Implementation)   38
  • 39.
    Crystal  Alistair Cockburn Jim Highsmith  Crystal     Cockburn Highsmith 39
  • 40.
    Crystal  Crystal   Crystal Yellow, Crystal Orange  Crystal Family  40
  • 41.
    Crystal Crystal o “Human-powered” o “Ultralight” o “Stretch-to-fit” 41
  • 42.
    Development (FDD)   Peter Coad   Stephen Palmer John Felsing Coad  42
  • 43.
  • 44.
    Agile Modeling (AM)      Scott Amble Agile  Agile Agile 44
  • 45.
    Agile Modeling (AM) AM  Model with a purpose  Use multiple models  Travel light  Content is more important than representation 45
  • 46.
    CMM ( )       Process Improvement   Total Quality Management (TQM)  Business Process Redesign (BPR)  Continuous Process Improvement (CPI)  Six Sigma 46
  • 47.
    CMM( )  Capability Maturity Model : CMM  SW-CMM (Software Capability Maturity Model)  Software Engineering Institute : SEI  47
  • 48.
    Capability Maturity Model : CMM 5 Optimizing 4 Managed 3 Defined 2 Repeatable 1 Initial 48
  • 49.
    Capability Maturity Model : CMM  1 The initial Level   49
  • 50.
    Capability Maturity Model : CMM  2 The Repeatable Level   50
  • 51.
    Capability Maturity Model : CMM  3 The Defined Level  2  Documented and Integrated Process 51
  • 52.
    Capability Maturity Model : CMM  4 The Managed Level  Standard  52
  • 53.
    Capability Maturity Model : CMM  5 The Optimizing Level  Learning Organization   Technology 53
  • 54.
    Capability Maturity Model : CMM  Key Process Area (KPA)  KPA 54
  • 55.
    CMM CMM KPA 1 (Initial) 2 (Repeatable) 3 (Defined) 55
  • 56.
    CMM CMM KPA 4 (Managed) 5 (Optimizing) 56
  • 57.
    Capability Maturity Model : CMM  KPA CMM       57
  • 58.
    Tool      Project Management Application ( Microsoft Project)  Word Processor/Text Editor  Integrated Development Environment (IDE)  Drawing/Graphics Application ( Rational 58
  • 59.
    CASE Tools CASE (Computer-Aided Software Engineering)  CASE Tool  Design Editor  Data Dictionary  Compiler  Debugger) 59
  • 60.
    CASE Tools  CASE  CASE Repository  CASE CASE  CASE 60
  • 61.
    CASE  CASE Tool  CASE Tools (Functional Perspective)  Process Perspective  CASE 61
  • 62.
    CASE  CASE Tools 8 1. Software Requirement Tool 2. Software Design Tools 3. Software Construction Tools 4. Software Testing Tools 5. Software Maintenance Tools 6. Software Configuration Management Tools 62
  • 63.
    CASE 1. Software Requirement Tool 2 - Requirement Modeling Tools - Requirement Traceability Tools 63
  • 64.
    CASE 2. Software Design Tools - - Rational Rose, EA 3. Software Construction Tools - - Program Editor - Compiler - Interpreter 64
  • 65.
    CASE 4. Software Testing Tools - Testing Generation - Test Execution Framework - Test Evaluation Tools - Test Management 65
  • 66.
    CASE 5. Software Maintenance Tools 2 1. Comprehension Tools 2. Reengineering Tools 66
  • 67.
    CASE 7. Software Engineering Management Tools - Project Planning and Tracking - Risk Management - Measurement 8. Software Quality Tools) - Inspection Tools
  • 68.
    CASE Tools Integrated CASEEnvironment - CASE Tool - CASE Tool Meta Tools - Editor
  • 69.
    Methodologies - - 1. Structured Approach 2. Object – oriented Approach 3. Heuristic Methodology
  • 70.
    1. Structured Approach)  Sub-System)   Structured System Analysis 70
  • 71.
    1. Structured Approach)     71
  • 72.
    - 72
  • 73.
    2. Object – Oriented Approach)  Grady Booch, James Rumbaugh Ivar Jacobson  Object-Oriented System Analysis and Design)  Object) 73
  • 74.
    2. Object – Oriented Approach)     74
  • 75.
    ID Invoice objec No. Address A/C No. t Amount Attrib Computer value of goods utes Computer discount Computer Ad. Charge Meth Computer ods Invoice Amount 75
  • 76.
    3. Heuristic Methodology - Informal Method - - Methodology - Structured Methodology/Approach - Object-oriented Methodology 76
  • 77.
    4. Formal Methodology - 2 1. Formal Specification 2. Formal Verification 77
  • 78.
    - Agile - ExtremeProgramming (XP) Agile 4 - 78
  • 79.
    -Adaptive Software Development (ASD) - - - ASD 79
  • 80.
    - Dynamic Systems Development Method (DSDM) - - - - DSDM 80
  • 81.
    - Scrum ( - - Crystal ( - Agile - 81
  • 82.
    - Feature Driven Development (FDD) - Agile - - - FDD - Agile Modeling (AM) - - 82
  • 83.
    - Process - Software Process Software Development Process - - (Software 83
  • 84.
    - Process Improvement - SEI Capability Maturity Model : CMM 84