Docstoc

Models of the Software Lifecycle

Document Sample
Models of the Software Lifecycle Powered By Docstoc
					         CS 433-443
Software Engineering
Project Management



       Lifecycle Models
          433-443 Software Engineering   Week 4: Lifecycle Models



Overview of Lecture
   Logistics check
         Student rep
         Project
         The role of assessment
               Marks and employers
         Tutes
   Lifecycles via three 440 projects
   Predictive v adaptive
   Surprise Guest lecturer

Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Lifecycle models
 Waterfall
 Incremental
 Rapid prototyping
 Spiral
 Extreme Programming




Semester 1, 2006
          433-443 Software Engineering          Week 4: Lifecycle Models



Observations about 340/440
   Our approach to teaching projects
         Constructivist approach
         ‘Modified waterfall’ in 3rd year (manual)
         Supported by Melbourne culture
         Choose your own in fourth year
               Flirtation with agile methods
   Teams uncomfortable with prototyping
   Week 4 for deciding lifecycle model?



Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Stages of the Software Lifecycle
 Project envisioning
 Requirements elicitation and analysis
 Architectural design
 Detailed design
 Implementation
 Testing
 Maintenance


Semester 1, 2006
         433-443 Software Engineering            Week 4: Lifecycle Models



The Waterfall Model
     requirements
       engineering

                          design


                                implementation

                                                  testing


                                                         maintenance

Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When does it apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Team 2down
 Client: Teaching and Learning Quality
  Assurance Committee, with LS as rep
 Implement plagiarism detection
       Rapidly decided we needed electronic
         submission
   Lifecycle: Waterfall



Semester 1, 2006
             433-443 Software Engineering   Week 4: Lifecycle Models



    What happened
    Research
    Excellent requirements document
    Good design
    Uneven coding
    Used for 8 subjects in Semester 1, 2003, and
     sporadically in 2004 and 2005
    Queue Solutions formed in 2004, not chosen by UoM
    Happy to discuss Software Commercialisation


    Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When doesn’t waterfall apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Questions?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Incremental model
   Product built as sequence of incremental
    builds
       each build a collection of code
       each build designed, coded, tested

   Evolutionary software




Semester 1, 2006
         433-443 Software Engineering           Week 4: Lifecycle Models



The Incremental Model
     requirements
       engineering

                          design


                               implementation

                                                 testing


                                                       maintenance

Semester 1, 2006
         433-443 Software Engineering                          Week 4: Lifecycle Models



Incremental development

      Define outline    Assign requirements           Design system
      requirements         to increments               architecture




     Develop system          Validate              Integrate              Validate
       increment           increment              increment                system
                                                                                       Final
                                                                                      system
                                  System incomplete




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When does it apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Team SSV
 Client: School of Architecture
 Replace expensive Oracle system
       Orient      through building
   Lifecycle: Incremental




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



What happened
 Choice of lifecycle good
 Client too compliant
 Really needed 3d graphics
 Team member hired for continuing work
 Directed study delivered the graphics piece




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When doesn’t incremental apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Questions?




Semester 1, 2006
         433-443 Software Engineering     Week 4: Lifecycle Models



Rapid prototyping model
   First step is build prototype
       quick      model helps focus requirements
   Remaining phases proceed linearly
       May        need more prototypes
   Feedback hopefully less necessary




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When does it apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Team Detox
 Client: Beca Simon
 Simulate Chemical processing plant
 Lifecycle: (should have been) prototyping




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



What happened
 Late glitch in project
 Team didn’t come to grips with problem
       Tour of Carlton Brewery
       Bad project structures didn’t help
       Specialist task done in last month with too little
        time
 Appropriate lifecycle not followed
 Good T-shirt :-)



Semester 1, 2006
          433-443 Software Engineering   Week 4: Lifecycle Models



When doesn’t rapid prototyping apply?




 Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Questions?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Spiral model
 Due to Boehm
 Risk as basis of generic process model
 Each loop is a phase of software process
       Innermost loop is feasibility, next
         requirements, etc.
   Each loop split in four sections
       object setting, risk assessment, development
         and validation, planning

Semester 1, 2006
         433-443 Software Engineering                                    Week 4: Lifecycle Models



Spiral model (cont’d), p. 58
                                                                                                           Evaluate
  Determine Goals,                                                                                        alternatives
    Alternatives,                                                         Risk
                                                                                                           And risks
    Constraints                                                          analysis

                                                                Risk
                                                              analysis

                                                       Risk
                                                     analysis                                      Operational
                                                                                    Prototype 3      Prototype
                                                                 Prototype 2
                                                    Risk
                                       R EVIEW    analysis Proto-
                                                           type 1
                              Requirements plan                           Simulations, models , benchmarks
                                Life cycle plan   Concept of
                                                  Operation
                                                                    S/W
                                                                                      Product
                                                              requirements                           Detailed
                                                                                      design
                                                  Requirement                                        design
                                 Development
                                     plan          validation                                     Code
                                                                                       Unit test
                                Integration          Design
                                                       V&V                   Integration
                                and test plan
                   Plan                                        Acceptance
                                                                                 test

                                                                  test
                                                  Service                              Develop and Test

Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Discussion of spiral
 Find it intuitive
 Risk different in 340/440 since resources
  are fixed and no prospect of cancellation
 Not applicable for massive projects




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



           New lightweight methodologies
 In reaction to waterfall
 Agile methods (“buzzword”)
       XP
       Scrum
       Crystal
 Predictive (Planning?) Lifecycle v Adaptive
  Lifecycle
 Some personal observations


Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



XP- Extreme programming
     An approach to development based on the
      development and delivery of very small
      increments of functionality.
     Relies on constant code improvement, user
      involvement in the development team and
      pairwise programming.
     Most visible of agile methods
     Not an excuse for minimal process


Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



When does it apply?




Semester 1, 2006
         433-443 Software Engineering   Week 4: Lifecycle Models



Extreme programming
 http://www.extremeprogramming.org/
 http://www.martinfowler.com/articles/newM
  ethodology.html




Semester 1, 2006

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:10
posted:10/1/2012
language:Unknown
pages:32