BCS - Cer - IS - Lesson2 - Process Models
BCS - Cer - IS - Lesson2 - Process Models
BCS-Certificate in IT
- Uditha Priyanga -
2
BCS-Certificate-IS
Information Systems
Software Process Models
3
What is Software
Characteristics of Software
Characteristics of Software
SDLC
Process Activities
▪ Validation - checking that the software is doing what the customer wants
Process Models
Waterfall Model
Waterfall Model
Requirement Analysis
▪ The system’s services, constraints and goals are established with the
consultation with the users.
▪ This would include the understanding of the information domain for the
software, functionality, behavior, performance, interfaces, security and
exceptional requirements.
▪ Requirements are then specified in a manner which is understandable by
both users and the development staff.
19
Software Design
Coding / Development
Testing
▪ The testing process must ensure that the system works correctly and
satisfies the requirements specified.
▪ The testing stages are
• Unit testing
• Integration testing
• System testing
• Acceptance Testing
▪ After testing, the software system is delivered to the customer.
22
Maintenance
▪ Real projects rarely follow the sequential flow that the model proposes.
▪ It is often very difficult for the customer to state all requirements at the
beginning of projects.
▪ A working version of the software will not be available until end of the
development process
▪ One phase has to be completed before moving onto the next phase.
▪ Few business systems have stable requirements.
25
Prototyping
▪ It is very difficult for end-users to anticipate how they will use new
software systems to support their work.
Prototype
▪ Once the requirements are cleared, the model will be thrown and the
system will be developed from the beginning.
Poorly
Get the
Understood Final
Feedback
Requirements Prototype
from Client No Changes Required
Need Changes
▪ Important features may have been left out due rapid implementation.
Evolutionary Prototyping
Evolutionary Prototype
Work with
Outline Create a Prototype
Requirements Prototype (System)
New Requirements
All requirements are Met
Upgrade
the
Final
Prototype
System
32
▪ Languages which are good for prototyping not always best for final
product.
34
Comparison of models
Requirements
Model
Clear Stable
Waterfall Model yes Yes
Throwaway Prototype No Yes
Evolutionary Prototype No No
35
Phase Development
▪ Cycle time is the time taken to deliver the system to the client soon after
requirements are fully identified
Incremental Development
37
Incremental Development
System
A B C D
Incremental Development
Iterative Development
Iterative development
delivers a full system
at the very beginning
and then change,
improve and enhance
the functionality in
each new release.
40
Iterative Development
System
Iterative + Incremental
Iterative + Incremental
System
A B C D
Spiral Model
Spiral Model
Evaluate alternatives
alternatives and identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analy sis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integr ation
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
45
Spiral Model
Spiral Model
1. Objective setting
4. Planning
48
Objective setting
▪ For each of the identified project risks, a detailed analysis is carried out.
▪ one phase may use one model while another phase may use a different
model.
51
Plaining
▪ If it is decided to continue, plans are drawn up for the next phase of the
project.
52
V Model
55
V Model
▪ Shows how the testing activities are related to analysis and designing
V Model
RAD Model
▪ All models are integrated to make the complete product for faster
delivery.
58
RAD Model
▪ RAD model distributes the analysis, design, build and test phases into a series of
short, iterative development cycles.
Business Modelling
Data Modelling
▪ The relation between these data objects are established and defined in
detail in relevance to the business model.
63
Process Modelling
▪ The data object sets defined in the Data Modelling phase are converted to
establish the business information flow needed to achieve specific
business objectives as per the business model.
▪ The process model for any changes or enhancements to the data object
sets is defined in this phase. Process descriptions for adding, deleting,
retrieving or modifying a data object are given.
64
Application Generation
▪ Automated tools are used for the construction of the software, to convert
process and data models into prototypes
▪ Application Generators
▪ Report Generators
▪ Database tools
▪ User interface development tools
65
▪ The data flow and the interfaces between all the components need to be
thoroughly tested
RAD Application
RAD Application
▪ RAD model should be chosen only if domain experts are available with
relevant business knowledge.
▪ Should be used where the requirements change during the project and
working prototypes are to be presented to customer in small iterations of
2-3 months.
68
Agile Development
72
Agile Development
Agile Development
Agile Vs Waterfall
75
Agile Development
12 Agile Principles
1 2 3
77
12 Agile Principles
4 5 6
78
12 Agile Principles
8
7 9
79
12 Agile Principles
10
12
11
80
▪ Extreme programming
▪ Scrum
▪ Kanban
▪ Crystal
▪ Adaptive Software Development
▪ DSDM
▪ Feature Driven Development.
81
Disadvantages of Agile
▪ The project can easily get taken off track if the customer representative is
not clear what final outcome that they want.
Thank you…
K. K. Uditha Priyanga
PGD-SITM, BCS-PGD, Dip-ACS,NCC-IDCS-UK,MBCS,MCS
Managing Director / Senior Lecturer – ICTM Campus