Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Software Engineering - 1

Unit -3 Software Process Models

Prepared By :- Eeva Kapopara


(SDJ International College)

Agenda
Introduction to Process model
System Development Life Cycle
Waterfall model
Prototype model

Prepared By :- Eeva Kapopara


(SDJ International College)

Introduction to Process model


Software engineering must follow some strategies that

include the process, methods, tools and generic phases.


This strategy is referred as a process model or a
software engineering paradigm.
A process model is chosen based on the nature of project,
methods & tools to be used and controls and deliverables
that are required.
Mainly there are four type of models. They are as
follows:
1) Waterfall model
2) Prototype model
3) Iterative model
4) Spiral model
Prepared By :- Eeva Kapopara
(SDJ International College)

Software development can have a loop of four step:


1) Status quo
Represents the current state of affairs.
2) Problem definition
Identifies specific problem to be solved
3) Technical development
Solves the problem by applying some technology
4) Solution integration
Delivers the solution

Prepared By :- Eeva Kapopara


(SDJ International College)

Agenda
Introduction to Process model
System Development Life Cycle
Waterfall model
Prototype model

Prepared By :- Eeva Kapopara


(SDJ International College)

System Development Life Cycle

Prepared By :- Eeva Kapopara


(SDJ International College)

Agenda
Introduction to Process model
System Development Life Cycle
Waterfall model
Prototype model

Prepared By :- Eeva Kapopara


(SDJ International College)

Waterfall model
Requirement
analysis
Design

Coding
Testing
Support/
Maintenance
Prepared By :- Eeva Kapopara
(SDJ International College)

Advantages:
It provides templates.
It is widely used procedural model.
It provides clear project objectives and stable project

requirements which are essential for quality software


development.
In this model progress of the system is measurable.

Disadvantages:

Changes can cause confusion s the project team


proceeds.
All the requirements must be predefined.
Customer must have patience as this model is time
consuming.
Backtracking is not possible.
It leads to blocking states as thePrepared
project
team
members
By :- Eeva
Kapopara
(SDJ International College)
must wait for other team members to complete
the tasks.

Agenda
Introduction to Process model
Waterfall model
Prototype model

Prepared By :- Eeva Kapopara


(SDJ International College)

Prototype model
Communication

Quick plan

Deployment &
Delivery feedback

Modeling
quick Design

Construction of
prototype
Prepared By :- Eeva Kapopara
(SDJ International College)

Advantages:

It could serve as the first system.


Customer doesnt need to wait long as in the linear
model.
Feedback from customers is received periodically and
the changes dont come as a last minute surprise.

Disadvantages:

Customer could believe the prototype as the working


version.
Developer could also make compromises as he quick
fixes to the prototype and make it as a working version.
Often clients expect that a new minor changes to the
prototype will more than suffice their needs.
Prepared By :- Eeva Kapopara
(SDJ International College)

When to use prototype model


Prototype model should be used when the desired system

needs to have a lot of interaction with the end users.


Typically, online systems, web interfaces have a very high
amount of interaction with end users, are best suited for
Prototype model. It might take a while for a system to be
built that allows ease of use and needs minimal training for
the end user.
Prototyping ensures that the end users constantly work with
the system and provide a feedback which is incorporated in
the prototype to result in a useable system. They are
excellent for designing good human computer interface
systems.
Prepared By :- Eeva Kapopara
(SDJ International College)

Iterative model model

Prepared By :- Eeva Kapopara


(SDJ International College)

The software is first developed on very small scale and

all the steps are followed which are taken into


consideration.
Then, on every next iteration, more features and modules
are designed, coded, tested and added to the software.
Every cycle produces a software, which is complete in
itself and has more features and capabilities than that of
the previous one.
After each iteration, the management team can do work
on risk management and prepare for the next iteration.
Because a cycle includes small portion of whole software
process, it is easier to manage the development process
but it consumes more resources.
Prepared By :- Eeva Kapopara
(SDJ International College)

Advantage
In iterative model we can only create a high-level design

of the application before we actually begin to build the


product and define the design solution for the entire
product.
In iterative model we are building and improving the
product step by step. Hence we can track the defects at
early stages. This avoids the downward flow of the
defects.
In iterative model we can get the reliable user feedback.
When presenting sketches and blueprints of the product
to users for their feedback, we are effectively asking
them to imagine how the product will work.
In iterative model less time is spent on documenting and
more time is given for designing.
Prepared By :- Eeva Kapopara
(SDJ International College)

Disadvantages
Each phase of an iteration is rigid with no overlaps.
Costly system architecture or design issues may arise

because not all requirements are gathered up front for the


entire lifecycle.

Prepared By :- Eeva Kapopara


(SDJ International College)

When to use Iterative model?


Requirements of the complete system are clearly defined

and understood.
When the project is big.
Major requirements must be defined; however, some details
can evolve with time.

Prepared By :- Eeva Kapopara


(SDJ International College)

Spiral Model

Prepared By :- Eeva Kapopara


(SDJ International College)

The spiral model is similar to the incremental model,

with more emphasis placed on risk analysis.


The spiral model has four phases: Planning, Risk
Analysis, Engineering and Evaluation.

Advantages
High amount of risk analysis hence, avoidance of Risk is

enhanced.
Good for large and mission-critical projects.
Strong approval and documentation control.
Additional Functionality can be added at a later date.
Software is produced early in the software life cycle.
Prepared By :- Eeva Kapopara
(SDJ International College)

Disadvantages

Can be a costly model to use.

Risk analysis requires highly specific expertise.


Projects success is highly dependent on the risk analysis

phase.
Doesnt work well for smaller projects.

When to use Spiral model:


When costs and risk evaluation is important

For medium to high-risk projects


Users are unsure of their needs
Requirements are complex
Significant changes are expected (research and

exploration)
Prepared By :- Eeva Kapopara
(SDJ International College)

System Analyst

Individuals who performs the systems investigation as

distinct from those merely involved in the detailed


computer programming are called system analyst.
System analyst is a key member of any systems
development project.
Programmer works within the framework provided by
the system analyst.
Jobs of System analyst:
1) Gathering facts about existing information system.
2) Analyzing the basic method and procedures of
current information system.
3) Determining the information needs.
4) Modifying, redesigning and integrating the existing
procedure in the new system specifications to
Eeva Kapopara
provide the needed information.Prepared By :- (SDJ
International College)

System analyst is more like a manager who

1) Determines the design of the overall system


2) Obtains the necessary technical help from

programmers, from specialists.


3) Follows the system through design, implementation,
follow up and reevaluation.
Knowledge and quality of a analyst
1) Business methods
o

Good understanding of organization, administration


methods, system techniques,etc.

2) Computing
o
Knowledge of data processing, programming languages,
computer operations, cost,etc.

3) He must have disciplined approach and logical

neatness and ability to express thoughts, ides and


proposals.
Prepared By :- Eeva Kapopara
(SDJ International College)

Roles of system analyst


1) An archaeologist and scribe
2) An innovator
3) A mediator and a motivator
4) A project leader

5) An organizer
6) An intelligent salesperson

Prepared By :- Eeva Kapopara


(SDJ International College)

You might also like