A software life cycle model is often called a Software Development Life Cycle SDLC... SDLC MODELS - Waterfall Model 2• The phases always occur in fixed order and not overlap • This model
Trang 1Trường Đại học Công nghiệp Tp.HCM Trung tâm Công nghệ Thông tin http://ttcntt.wordpress.com
GV: Lê Ngọc Tiến Email: letien.dhcn@gmail.com Blog: http://tienhuong.wordpress.com
The Phases in Software Development process
Trang 2Software Life Cycle Models
• Software Life Cycle:
– The period of time that start when a software is conceived and end when the product no longer available for use
– The Software Life Cycle typically includes:
Trang 3Software Life Cycle Models (cont)
• Software Life Cycle Models:
Is a particular abstraction that represents a software life cycle A software life cycle model is often called a Software Development Life Cycle (SDLC)
Trang 4Requirement Phase
• The goal is: Understand exact requirements of
the customer and document them properly
• Executed together with the customer
• Produces documents, written in natural language
-description “What the system will do” (not “How” the system will be done)
• The resultant document is know as “Software
Requirement Specification” (SRS)
Trang 5Design Phase
• The goal is: Transform the requirements
specification into a structure that suitable for
implementation in some programming language
• Overall software architecture is defined
• Produce “Software Design Description” (SDD)
document
• SDD contains sufficient information to begin coding
phase
Trang 6Implementation Phase
• Design representations are translated into
actual programs (Design is implemented)
• Programmers are responsible for documenting the
program, providing an explanation of how procedures are coded
• Documentation is essential to test the program and
carry on maintenance once the application has been installed
Trang 7Test Phase
• After a system has been developed, it is very
important to check if it the customer requirements For this purpose, testing of the system is done
• The major activities are centered around the
examination and modification the code
Trang 8Installation and Check Out Phase
• Implementation of system means putting up system on user's site Acceptance testing ensures that the system meets all the requirements If it fulfils the needs then the system is accepted by the customer and put into use
Trang 9Operation and Maintenance Phase
• The purpose of this phase is to preserve the value of software over time This phase may span for 5 to 50 years whereas development may be 1 to 3 years
• Software maintenance is a very board activity that includes error correction, enhancement of capabilities, deletion of obsolete capabilities, and optimization
• This is very crucial for the system's life
Trang 10SDLC MODELS - Build and Fix Model
• Product is constructed without specification and design
• May work well on small programming (100-200 lines of code)
• Maintenance can be extremely difficult without
specification or design documents
Build Code
Trang 12SDLC MODELS - Waterfall Model (2)
• The phases always occur in fixed order and not overlap
• This model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process
• Difficult to define all requirements at beginning of the project
• Real project rarely sequential
• Difficult to accommodate change after the process is underway
Trang 13Implementation & Unit Testing
Implementation & Unit Testing
Integration & System Testing
Integration & System Testing
Operation & Maintenance
Operation & Maintenance
Trang 14SDLC MODELS - Prototype Model (2)
• A quick partial implementation of the system is
created before or during the requirements definition phase
• The end users of the system use the rapid prototype and then supply feedback to the project team for
further refinement of the requirements of the system
• This refinement process continues until the user is
satisfied
• When the requirements definition process has been completed, through the development of rapid
Trang 15• Customer get early interaction with system
• Developers learn from customers’ reaction to
demonstrations of one or more facets of system
behavior
• Suitable for the projects whose requirements that
frequently changing
• Sometimes a system with poor performance is
produced, especially if the tuning stage is skipped
• The customer may want to have the prototype
delivered rather than waiting for full, well engineered system
Trang 16Integration
& System Testing
Integration
& System Testing Operation
Integration
& System Testing
Integration
& System Testing Operation
Trang 17SDLC MODELS
Iterative Enhancement Model (2)
• In the first phase, customers & Developers specify as many requirements as possible Then prioritize these requirements
• Developers implement the specified requirements in one or more cycles of design, implementation and test based on priorities
• Delivery an operational quality product at each release and one that satisfies only a subset of the customer’s requirements
Trang 18SDLC MODELS
Evolutionary Development Model (1)
• Resembles Iterative Enhancement model, but in this model the requirements are implemented by category rather than by priority
• Example: in a sample database application, one cycle implement GUI, another File manipulation, another
queries, another updates All four cycles must be
complete before there is working produce available
Trang 19SDLC MODELS
Evolutionary Development Model (2)
• Should be used when it is not necessary to provide a minimal version of the system quickly
• Useful for projects using new technology that not well understood also used for complex projects where all functionality must be delivered at one time, but the
requirements not well understood at the beginning
Trang 20SDLC MODELS
Spiral Model (1)
• Originally proposed by Berry Boehm in 1988
• Each cycle of the spiral consists of four stages, and
each stage is represented by one quadrant
• The radius of the spiral represents the cost
accumulated so far in the process and the angular
dimension represents the progress in the process
• The focus is the identification of problems and the
classification of these into different levels of risks
-aim eliminate high-risk problems before they threaten
Trang 21SDLC MODELS
Spiral Model (2)
Trang 22SDLC MODELS
Spiral Model (3)
Trang 23Selection of Life Cycle Model
Based on following characteristic:
Trang 24Selection of Life Cycle Model Based on
Characteristics Requirements
Requirements Waterfall Prototype Iterative
enhancement
Evolutionary development Spiral
Are requirements easily
understandable and define? Yes No No No No
Do we change requirements
Can we define requirements
early in the cycle? Yes No Yes Yes No
Requirements are indicating
Trang 25Selection of Life Cycle Model Based on
Status of Development Team
Development Team Waterfall Prototype Iterative
enhancement
Evolutionary development Spiral
Less experience on similar
Less domain knowledge
(new to the technology) Yes No Yes Yes Yes
Less experience on tool to
Available of training if
Trang 26Selection of Life Cycle Model Based on
User’s participation
Involvement of Users Waterfall Prototype Iterative
enhancement
Evolutionary development Spiral
User involvement in all
Limited user participation
Yes No Yes Yes Yes
User have no previous
experience of participation in
similar projects
No Yes Yes Yes Yes
Users are experts of problem
Trang 27Selection of Life Cycle Model Based on
Type of Project with Associated Risk
Project Type and Risk Waterfall Prototype Iterative
enhancement
Evolutionary development Spiral
Project is the enhancement
of the existing system No No Yes Yes NoFunding is stable for the
High reliability requirements No No Yes Yes Yes
Tight project schedule No Yes Yes Yes YesUse of reusable components No Yes No No Yes
Are resource (time, money,
Trang 28Thank You