0% found this document useful (0 votes)
40 views25 pages

Software Process Model

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views25 pages

Software Process Model

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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