The Software Life Cycle
Software Engineering Andreas Zeller • Saarland University
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
The Software Life Cycle Elaboration Production Software - - PowerPoint PPT Presentation
Inception Software Communication Planning Increment The Software Life Cycle Elaboration Production Software Engineering Deployment Modelling Andreas Zeller Saarland University Construction Transition Construction A Software Crisis
Software Engineering Andreas Zeller • Saarland University
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
(1950–)
Build first version Modify until client is satisfied Operate Retirement
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Communicatio n
project initiation
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Planning
estimating scheduling tracking
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Modeling
analysis design
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Construction
code test
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Deployment
delivery support feedback
(1968)
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
(1968)
0.0 7.5 15.0 22.5 30.0 Coding Unit test Component test System test Field
Relative cost of problem per phase
Features Time
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #1
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #2
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #3
Quick Plan Quick Design Prototype Construction Deployment and Feedback Communication
Bottom Layer Top Layer (GUI)
Bottom Layer Top Layer (GUI)
Bottom Layer Top Layer (GUI)
Bottom Layer Top Layer (GUI)
(1988)
Communication Planning Modeling Construction Test Deployment + Feedback
(1999)
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Planning Communication Inception
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Planning Modelling Elaboration
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Modelling Construction Construction
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Construction Deployment Transition
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Deployment Software Increment Production
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Deployment Communication
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
Planning Modelling Construction Deployment Communication Software Increment Inception Elaboration Construction Transition Production
documentation.
Uncontrolled fun? Programmer heaven?
quickly, appropriately, and effectively.
Communicatio n
project initiation
Planning
estimating scheduling tracking
Modeling
analysis design
Construction
code test
Deployment
delivery support feedback
Features Time
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #1
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #2
Communication
project initiation requirements gatheringPlanning
estimating scheduling trackingModeling
analysis designConstruction
code testDeployment
delivery support feedbackIncrement #3
Analyse Design Implement Test Waterfall Iterative Agile Processes
Credits: Prof. Bodik
Agile
too often
Plan-driven
(1999–)
Design Coding Test Planning Software Increment
Design Coding Test Planning Software Increment
Planning
Design Coding Test Planning Software Increment Design Coding Test Planning Software Increment
Design Design Coding Test Planning Software Increment
Design Coding Test Planning Software Increment Design Coding Test Planning Software Increment
Coding Design Coding Test Planning Software Increment
Coding Design Coding Test Planning Software Increment
Design Coding Test Planning Software Increment Design Coding Test Planning Software Increment
Test Design Coding Test Planning Software Increment
Test Planning Software Increment Design Coding Test Planning Software Increment
Design Coding Test Planning Software Increment Design Coding Test Planning Software Increment
development method for managing software projects and product or application development.
minimize overhead and maximize knowledge sharing.
inspected.
are partitioned into clean, low coupling partitions.
required.
Demos: Demonstrate software increment to the
customer for evaluation.
A prioritized list project requirements or features that provide business value.
Backlog: Sprints: Consists of work units that are required to
achieve a defined backlog into a predefined time-box (usually 30 days).
Scrum Meetings: Short 15 mins. meetings held daily by the
scrum team. The Scrum master leads the meeting.
Each day during a Sprint (same time + place), the team holds a Daily Scrum, where each team member answers three questions:
Development Team meet the Sprint goal?
Team meet the Sprint goal?
Development Team from meeting the Sprint goal?
Bottom Layer Top Layer (GUI)