1. Software Development Models
-
Upload
bui-duy-quang -
Category
Documents
-
view
123 -
download
0
Transcript of 1. Software Development Models
![Page 1: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/1.jpg)
Software Development Models
Nguyen Trung Lap
Hoa Sen University
![Page 2: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/2.jpg)
Contents
Software development process
Waterfall model and V model
Iterative and incremental model
Agile model
Conclusion
![Page 3: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/3.jpg)
Software development process
A structure imposed on the development of a software
There are several models for such processes
• Waterfall
• Spiral
• Iterative and incremental
• Agile
Each model contains a variety of tasks or activities that
take place during the process
![Page 4: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/4.jpg)
SDLC
![Page 5: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/5.jpg)
![Page 6: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/6.jpg)
Video SDLC
![Page 7: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/7.jpg)
Waterfall Model
A sequential software development process
Progress is seen as flowing steadily downwards (like a
waterfall)
Phases: Requirement, Design, Implement, Testing and
Maintenance
Serves as a baseline for many other lifecycle models
![Page 8: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/8.jpg)
Unmodified waterfall model
![Page 9: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/9.jpg)
Modified waterfall model
![Page 10: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/10.jpg)
Waterfall Model
Disadvantages:– Difficulty of change after the process is underway– One phase has to be complete before moving onto the next one– Inflexible
Good for:– Requirements are well-understood– Changes will be fairly limited during the design process– Few business systems have stable requirements– Large projects where a system is developed at several sites
![Page 11: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/11.jpg)
V model
The extension of the waterfall model
The process steps are bent upwards after the coding
phase, to form the typical V shape.
V-Model show the relationships between development
phases and its associated phase of testing
![Page 12: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/12.jpg)
V model
Integration andComponent
Test Planning
Unit TestPlanning
SystemTest Planning
AcceptanceTest Planning
AcceptanceTest Execution
SystemTest Execution
Integration andComponent
Test Execution
Unit TestExecution
SystemObjectives
Requirements
Design
Coding
Fault Detection& Removal
Verification stages
Validation stages
![Page 13: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/13.jpg)
V model strength
Emphasize planning for verification and validation of
the product in early stages of product development
Each deliverable must be testable
Project management can track progress by milestones
Easy to use
![Page 14: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/14.jpg)
V model weakness
Does not easily handle concurrent events
Does not handle iterations or phases
Does not easily handle dynamic changes in
requirements
Does not contain risk analysis activities
![Page 15: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/15.jpg)
When to use V model
Excellent choice for systems requiring high reliability
All requirements are known up-front
When it can be modified to handle changing
requirements beyond analysis phase
Solution and technology are known
![Page 16: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/16.jpg)
Iterative and incremental model
A cyclic software development process
Developed in response to the weaknesses of the
waterfall model.
It starts with an initial planning and ends with deployment
with the cyclic interactions.
Parts of the RUP, Extreme, Agile programming
![Page 17: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/17.jpg)
Iterative and incremental model
![Page 18: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/18.jpg)
![Page 19: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/19.jpg)
Iterative and incremental model
Develop a system through repeated cycles (iterative)
and in smaller portions at a time (incremental)
Take advantage of what was learned during the
development of earlier portions or versions
Start with subset of the software requirements and
iteratively enhance until the full system is implemented.
At each iteration, new functional capabilities are added.
![Page 20: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/20.jpg)
Iterative model’s phases
Inception identifies project scope, risks, and requirements
Elaboration delivers a working architecture that mitigates
the top risks and fulfills the non-functional requirements.
Construction incrementally fills-in functional requirements.
Transition delivers the system
Each of the phases may be divided into 1 or more
iterations
![Page 21: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/21.jpg)
Iterative model strength
Develop high-risk or major functions first
Each release delivers an operational product
Customer can respond to each build
Uses “divide and conquer” breakdown of tasks
Lowers initial delivery cost
Initial product delivery is faster
Customers get important functionality early
Risk of changing requirements is reduced
![Page 22: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/22.jpg)
Iterative model weakness
Requires good planning and design
Requires early definition of a complete and fully
functional system to allow for the definition of increments
Well-defined module interfaces are required (some will
be developed long before others)
Total cost of the complete system is not lower
![Page 23: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/23.jpg)
When to use iterative model
Risk, funding, schedule, program complexity, or need for
early realization of benefits.
Most of the requirements are known up-front but are
expected to evolve over time
A need to get basic functionality to the market early
On projects which have lengthy development schedules
On a project with new technology
![Page 24: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/24.jpg)
Agile development
A group of software development methodologies based
on iterative development
Requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams
Encourages frequent inspection and adaptation,
teamwork, self-organization and accountability
![Page 25: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/25.jpg)
Agile model
![Page 26: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/26.jpg)
![Page 27: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/27.jpg)
Agile model characteristic
Iterations are short time frames (time boxes) 7-30 days.
Cross-functional and self-organizing without
consideration for roles of team members
Emphasize face-to-face communication
Team size is typically small (5-9 people)
![Page 28: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/28.jpg)
Summary
Software development is the development of a software
product in a planned and structured process
There are several models for such processes
• Waterfall
• V model
• Iterative and incremental
• Agile
![Page 29: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/29.jpg)
Waterfall vs Agile model video
![Page 30: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/30.jpg)
Thanks for your listening!
![Page 31: 1. Software Development Models](https://reader033.fdocuments.us/reader033/viewer/2022061103/540b9e5bdab5ca326f8b4a24/html5/thumbnails/31.jpg)
Questions