We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15
Software Engineering
CIS-301 Lec-3 Topic: Process Models
Instructor: Dr. Muhammad Shahid Riaz
Outline
Waterfall Process Model
Incremental Process Model
Process Model Process model provides a specific roadmap for software engineering work. It defines the flow of all activities, actions and tasks, the degree of iteration, the work products, and the organization of the work that must be done. The Waterfall Model Oldest Paradigm for software engineering, 1970 (Winston Royce)
There are times when the requirements for a problem are
well understood— well defined and reasonably stable.
The waterfall model, sometimes called the classic life cycle.
The Waterfall Model..
Waterfall model suggests a systematic,
sequential approach to software development • Customer Specification of requirements • Planning • Modeling • Construction • Deployment Waterfall Model... (Variation) A variation in the representation of waterfall model is called V-model.
V-model depicts the relationship of quality
assurance actions to the actions associated with communication, modeling and early construction activities. Waterfall Model... (Variation) When to use Waterfall? ◦ Requirements are not changing frequently ◦ Application is not complicated and big ◦ Project is short ◦ Requirement is clear ◦ Environment is stable ◦ Technology and tools used are not dynamic and is stable ◦ Resources are available and trained Problems with Waterfall Changes can cause confusion as the project team proceeds.
The customer must have patience. A working version of the
program(s) will not be available until late in the project time span.
A major blunder, if undetected until the working program is
reviewed, can be disastrous.
Classic life cycle leads to “Blocking States” in which some project
team members must wait for other member of the team to complete dependent task Advantages Vs Disadvantages (Waterfall Model) Advantages Dis-Advantages Before the next phase of development, each Error can be fixed only during the phase phase must be completed Suited for smaller projects where It is not desirable for complex project where requirements are well defined requirement changes frequently
They should perform quality assurance test
Testing period comes quite late in the (Verification and Validation) before developmental process completing each stage
Elaborate documentation is done at every Documentation occupies a lot of time of
phase of the software’s development cycle developers and testers
Project is completely dependent on project Clients valuable feedback cannot be included
team with minimum client intervention with ongoing development phase Small changes or errors that arise in the Any changes in software is made during the completed software may cause a lot of process of the development problems Incremental Process Model… There may be a compelling need to provide a limited set of software functionality to users quickly and then refine and expand on that functionality in later software releases. (1993 Mc Dermid)
It combines elements of the waterfall model applied in an iterative fashion.
Each linear sequence produces deliverable “INCREMENTS” of the S/W. E.g., Word Processing S/W First increment (Basic file management, editing, and document production functions) : CORE FEATURES
Second increment (More sophisticated editing, and document production
capabilities)
Third increment (Spelling and grammar checking)
Fourth increment (Advance page layout capability)
Incremental Process Model… When to use Incremental Model ? ◦ Requirements of the system are clearly understood
◦ When demand for an early release of a product arises
◦ When software engineering team are not very well
skilled or trained
◦ Such methodology is more in use for web application
and product based companies Advantages Vs Disadvantages (Incremental Model) Advantages Disadvantages The software will be generated quickly It requires a good planning designing during the software life cycle Problems might cause due to system It is flexible and less expensive to change architecture as such not all requirements requirements and scope collected up front for the entire software lifecycle Throughout the development stages Each iteration phase is rigid and does not changes can be done overlap each other Rectifying a problem in one unit requires This model is less costly compared to correction in all the units and consumes a others lot of time A customer can respond to each building Errors are easy to be identified Q?