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

Software Development Process Models Overview

The document discusses software development process models, including their definitions, types, and the importance of effective processes in software engineering. It highlights various models such as Waterfall, V, Incremental, RAD, Agile, Iterative, Prototype, and Spiral, and emphasizes the role of CASE tools in enhancing development efficiency. Additionally, it outlines key factors for selecting a suitable process model based on project requirements and complexity.

Uploaded by

gaurab.neupane
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)
3 views25 pages

Software Development Process Models Overview

The document discusses software development process models, including their definitions, types, and the importance of effective processes in software engineering. It highlights various models such as Waterfall, V, Incremental, RAD, Agile, Iterative, Prototype, and Spiral, and emphasizes the role of CASE tools in enhancing development efficiency. Additionally, it outlines key factors for selecting a suitable process model based on project requirements and complexity.

Uploaded by

gaurab.neupane
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

Software Development

Process Model
Chapter 2

1
Topic to be covered
► Software Process Model
► Process Iteration
► Rapid software Development
► Software Prototyping
► CASE

2
Process
► A series of predictable steps which
depends on software to be developed.
► Process layer is the foundation of SE
that defines a framework for set of Key
Process Area(KPA) that are established
for delivery of SE technology.
► Simply collection of activity, action and
task that are needed to be performed in
order to create a work product/ software Figure: Process layer

product

3
Effective Process

► Process is more than having a set of


standard documents that specify the
software engineering steps.
► A process document comes to life if its
contents remains in people’s brains and
drives behavior.
► People needs to be trained to use the
process

4
Software Process
► Is a roadmap to build high quality of software product
► Are adapted to meet the needs of software engineers and managers as they
undertake developments of software product
► Provides framework for managing activities
► Different project requires different software process
► Generic view of SE
► Specification
► Analysis
► Designing
► Construction
► Verification 5

► Management
Common Process framework

6
7
Umbrella activities

► Those activities which are carried out through out the process
► Activities are:
► Software project tracking and controlling
► Technical Review
► Software Configuration Management
► Risk Management
► Software Quality Assurance
► Measurement
► Reusability
► Work product preparation and production 8
Software Process Model
► is an abstraction of the actual process, which is being described.
► defined as a simplified representation of a software process.
► Each model represents a process from a specific perspective.
► There are many different software processes but all involve:
► Specification – defining what the system should do;
► Design and implementation– the organization of the system
and implementing the system;
► Validation – checking that it does what the customer wants;
► Evolution – changing the system in response to changing
customer needs.

9
Process Model
► describes the flow of work or activities, usually in a graphic format, that contribute to
accomplishing a specific goal.
► Process models are typically used to represent and analyze a series of activities that occur
repeatedly and on a regular basis.
► can be used to model the flow of work in or between people and departments in an
organization, or the flow of activities in a computer system or application.
► A model will define the following:
► The tasks to be performed
► The input and output of each task
► The pre and post conditions for each task
► The flow and sequence of each task
10
► The goal of a software process model is to provide guidance for controlling and coordinating
the tasks to achieve the end product and objectives as effectively as possible.
Types of process model
► process model is chosen based on
nature of project, methods and
tools being used
● Waterfall model/Linear
sequential model
● V model
● Incremental model
● RAD model
● Agile model
● Iterative model
● Prototype model
● Spiral model

11
Factors in choosing a software process

► If we know requirements well, it will be easier to select a model that best


matches your needs.
► We need to keep the following factors in mind when selecting software process
model:
► Project requirements
► Project size
► Project Complexity
► Cost of delay
► Customer involvement
► Familiarity with technology
► Project resources
12
Waterfall Model

13
V Model

14
Increment Model

15
RAD Model

16
Iterative Model

17
Prototype Model

18
Spiral Model

19
Computer-aided Software Engineering
(CASE) Tools
 software programs that help the development team do
their jobs more efficiently and more effectively
 support the drawing and analysis of system models
 Some CASE tools also provide prototyping and code
generation capabilities. Some examples are: Oracle’s
Designer 2000, Rational’s Rose, Platinum’s Erwin,
Popkin’s System Architect 2001, and Visible System’s
Visible Analyst

20
Some CASE tools are
► Diagramming tools –These tools are used to draw
system models.
► Dictionary tools – These tools are used to record,
delete, edit, and output detailed documentation and
specification.
► Design tools – These tools are used to construct system
components including system inputs and outputs. These
are also called prototyping tools.
► Documentation tools – These tools are used to
assemble, organize, and report on system models,
descriptions and specifications, and prototypes.

21
Contd..
► Quality management tools – These tools are used to
analyze system models, descriptions and specifications,
and prototypes for completeness, consistency, and
conformance to accepted rules of methodologies.
► Design and code generator tools – These tools
automatically generate database designs and
application programs or significant portions of those
programs.

22
23
CASE tools provide two distinct ways to
develop system models
► Forward engineering requires the system analyst to
draw system models, either from scratch or from
templates. The resulting models are subsequently
transformed into program code.
► Reverse engineering, on the other hand, allows a CASE
tool to read existing program code and transform that
code into a representative system model that can be
edited and refined by the systems analyst.

24
Assignment 2

1. What is software process model? List the types of software model.


Explain agile methods and software prototyping.
2. With proper reasoning, explain how CASE Tools aid in information
system development? You have been hired as a system analyst in TU
tech software development company and you are asked to analyze the
way system works. What qualities do you need to have to analyze
such type of systems?
3. Explain the CASE tools and its applications.
4. What is forward, reverse and round-trip engineering? Discuss.

25

You might also like