0% found this document useful (0 votes)
24 views

Software Process Model

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Software Process Model

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Software process model

Part 1
What is a software process
A series of steps taken to produce an intended output

Steps involved

● activities
● constraints
● resources

Process involved

● tools
● techniques
Characteristics of a process
● Prescribes all major activities
● Uses resources, subject to setup constraints such as schedule, number of
people
● Produces intermediate and final products
● May be compromised of sub – processes with Hierarchy of links
● Each process activity has an entry and exit criteria
● Activities are organised in a sequence, so timing is clear
● Each process guiding principles, including goals of each activity
● constraints may applied to an activity, resource or product
Why are processes so important
● Impose consistency and structure on a set of activities

● Guide us to understand, control, examine come, and improve the activities

● Enable us to capture our experiences and pass them along


What is meant by modelling of process

❏ Description of a process at a given level


❏ A process model is
❏ an anticipation of what the process will look like
❏ what the process shall be actually it will be determined during actual
system development )
Reasons for modelling a process

● To form a common understanding


● To find inconsistencies, redundancies, omissions
● To find and evaluate appropriate activities for reaching process goals
● To tailor a General process for a particular situation in which it will be
used
Software process models : SDLC revisited
When a process involves building a software, the process may be referred to as software
life cycle
● requirement analysis and definition
● System (architecture) design
● Program (details/procedural) design
● Writing programs (coding/implementation)
● Testing unit, integration, system( many more)
● System delivery (deployment)
● Maintenance
Some Common SPMs
● Waterfall
● Prototyping
● V-Model
● Incremental
● Iterative
● Spiral
● RUP
● Agile Development
Waterfall Model
When should we use Waterfall Model

● Works for well understood problems with minimal or no changes in the


requirement
Advantages
● Simple and easy to explain to customers
● It presents
○ A very high-level view of the development process
○ Sequence of process activities
● Each major phase is marked by milestones and deliverables
(artefacts)
Drawbacks of Waterfall Model
● There is no iterations in waterfall model
● Most software developments apply a great many iterations
Cont’d
● Provides no guidance how to handle changes to products and activities during
development
● views software development as manufacturing process rather than as
creative process
● there is no iterative activities that lead to creating a final product
● long wait before a final product
WATERFALL Process Model
● Waterfall model is hardly ever used as a solo process model
● Most of the time it is used alongside with prototype process model
Prototype Process Model

● A Prototype is a partially developed product


● Prototyping helps
○ developer assesses alternative design strategies
(design prototype)
○ user understand what the system will be like
(user interface font type)
● Prototyping is useful for verification and validation
Prototype Process Model
Advantages of prototype process model
● Interaction of users and stakeholders at their respective phases
● Working model -> better understanding
● Errors can be detected much earlier
● Quicker user feedback -> better solution
● Missing, ambiguous, Complex functionality can be identified easily
● Requirements validation, Quick implementation of, incomplete, but
functional application
Disadvantages of prototype process model

● Leads to implementing and then repairing way of building systems


● Practically, this methodology may increase the complexity of the system as
scope of the system may expand beyond original plans
● Incomplete application may cause application not to be used as the full
system was designed
● Incomplete or inadequate problem analysis
When to use prototype model
● desired system → lot of user interaction
● example online system former web interfaces
● end user constantly work with system

→ feedback → incorporated into the prototype → usable system

● excellent for designing good human computer interface systems


Incremental model

● Whole requirement → various builds


● Multiple development cycle → Multi waterfall cycle
● Cycles → smaller, more easily managed modules.
● Each module → phases ( requirement, design, implementation and testing)
● First module → working version of software → working software early on
during the SDLC
● Subsequent release (module) → adds function to the previous release.
● Process continues till the complete system is achieved.
Advantages of Incremental Model
● Generates working software quickly and early during the software life cycle.
● More flexible - less costly to change scope and requirements.
● Easier to test and debug during a smaller iterations.
● Customer can respond to each built.
● Lowers initial delivery cost
● Easier to manage risk because risky pieces are identified and handled during
its iterations.
Disadvantages:

● Increments need be relatively small

● Mapping requirements to increments may not be easy

● Common software facilities may be difficult to identify


Applicability:

● When it is possible to deliver the system

“part-by-part”

You might also like