Upload
lehanh
View
213
Download
0
Embed Size (px)
Citation preview
1106 205 Principle of Software Development
Software Life-Cycle Models Worayoot WongninDep. Information Technology,
Ubon Ratchathani University (Mukdahan Campus)1
Outline
• Evolution-Tree Life-Cycle Model• Waterfall Life-Cycle Model• Iterative and Incremental Life-Cycle Model• Code and Fix Life-Cycle Model
2
6 Phases Classical Life-Cycle Model
• Requirements phase• Analysis (specification) phase• Design phase• Implementation phase • Postdelivery maintenance• Retirement
3
Software Development in Theory
• Idealized Software Development
4
Winburg Mini Case Study
• Reading
5
Winburg Mini Case Study
• The Evolution-Tree Life-Cycle Model
6
Winburg Mini Case Study
• The Waterfall Life-Cycle Model
*Unlike the evolution-tree model,It cannot show the order of events.
7
Winburg Mini Case Study
Review (causes)A poor implementation strategy (the unnecessary use of
double-precision numbers)The decision to use an algorithm that was too slow (could
not meet the response time requirement)
8
Winburg Mini Case Study
Review (changes)Two new versions because of the faultsOne new version because of a change made by the client
(the need for increased accuracy)
9
The Software Process
Why are so many changes to a software product needed?Software professionals are human, and therefore make
mistake.A software product is a model of the real world, and the
real world is continually changing.
10
Teal Tractors Mini Case Study
• Reading
11
Teal Tractors Mini Case Study
• The moving-target problem• A software product must be designed as a set of
components that are as independent as possible• Regression fault-change one part induce a fault in
unrelated part of the code
12
Iterative & Incremental Life-Cycle Model
(Jacobson, Booch & Rumbaugh, 1999)
13
Iterative & Incremental Life-Cycle Model
5 core workflow (activities) are performed over the entire life cycle :o Requirement workflowo Analysis workflowo Design workflowo Implementation workflowo Test workflow
Planning and documentation activities are performed throughout the life cycle
14
Iterative & Incremental Life-Cycle Model
Iterations during Increment B
15
Iterative & Incremental Life-Cycle Model
Evolution-tree model superimposed on the iterative model
16
Code and Fix Life-Cycle Model
Infamous model No requirement, specifications or design
17
The Full Waterfall Life-Cycle Model
(Royce, 1970) CompleteDocumentation andApproved by SQA group(Software Quality Assurance)
18
Another Software Life-Cycle Models
Rapid-Prototyping Life-Cycle Model Open-Source Life-Cycle Model Agile Processes Synchronize and Stabilize Life-Cycle Model Spiral Life-Cycle Model
19
Rapid-Prototyping Life-Cycle Model
Rapid prototype is a subset of the product. Build a prototype, andlet the client interact andexperiment with it. Once satisfied, draw the spec doc. Product meets the client’s real needs.
20
Open-Source Life-Cycle Model
Open-source software idea: builds an initial version, free of charge Users become co-developers Users report defects, some suggest ways of fixing Users forward ideas for extending program, others implement
those ideas 21
Open-Source Life-Cycle Model
Look closely at 3 activities Reporting & correcting defects is corrective maintenance Adding additional functionality is perfective maintenance Porting the program to a new environment is adaptive
maintenance
Users become co-maintainers.
22
Open-Source Life-Cycle Model
Closed-source & Open-source software Tested by teams of organization -> failure reports (observed
incorrect behavior) Cannot submit fault reports (source code)
23
Open-Source Life-Cycle Model
Common feature with Code and Fix, Rapid-Prototyping No specification or design Used for certain infrastructure software projects e.g., web
browser (Firefox, Netscape), compilers (gcc), Web servers (Apache), Os (Linux, OpenBSD), DBMS (MySQL) 100,000 open-source project at SourgeForge.net &
FreshMeat.net, about half of them never attracted
24
Agile Processes
Extreme programming – based on Iterative and Incremental model Clients tell the features of software The teams informs the client – how long to implement & how much The development is divided into TASKs – draws up Test Case
(Test-Driven Development: TDD) 2 programmers work together on 1 computer (Pair
Programming), implementing TASKs, ensuring all Test Cased work correctly (Parallel)
25
Agile Processes
Implementing & integrating a task no more than a few hours Timeboxing (3-4 hours blocks of time) Computers set up in the center of a large room Clients works with the XP team No individual can work overtime for 2 successive weeks All members of team work on requirements, analysis, design,
code & testing Design is modified while the product is being built
26
Synchronize and Stabilize Life-Cycle Model
Microsoft, Inc. Requirements analysis – interview potential customers Draw up specifications Divide project into 3 or 4 builds Each build is carried out by small teams working in parallel
27
Synchronize and Stabilize Life-Cycle Model
At the end of the day – synchronize (test and debug) At the end of the build – stabilize (freeze the build) Components always work together
o Get early insights into the operation of the product
28
Spiral Life-Cycle Model
Simplified versionRapid prototyping modelPlus risk analysis precedingEach phase
29
Spiral Life-Cycle Model
A key point of the Spiral Modelif all risks cannot be mitigated, the project is immediately
terminated.
30
Spiral Life-Cycle Model
Strengthso It is easy to judge how much to test o No distinction is made between development and maintenance
Weaknesseso For large-scale software onlyo For internal (in-house) software only
31
Spiral Life-Cycle Model
32
Comparison of Life-Cycle Models
Different life-cycle models have been presentedo Each with its own strengths and weaknesses
Criteria for deciding on a model include:o The organizationo Its managemento The skills of the employeeso The nature of the product
Best suggestingo “Mix and match” life-cycle model 33
Comparison of Life-Cycle Models
34
Homework
Work in groupo เขียนชื่อ-สกุล เลขประจําตัวนักศึกษาo เขียนแต่ละโมเดลo เขียนข้อดี และ ข้อด้อยo เปรียบเทียบกับโมเดลอื่นๆ แล้วเป็นอย่างไร
35