0% found this document useful (0 votes)
52 views11 pages

2.3 Software Process Models

The document discusses several software process models including the linear sequential model, prototyping model, RAD model, evolutionary software process models (incremental model, spiral model, WINWIN spiral model, concurrent development model), and COCOMO model. The linear sequential model involves sequential phases of feasibility study, requirements analysis, design, coding/testing, integration/system testing, and maintenance. The prototyping model uses prototypes to gather user feedback before implementation. The RAD model develops components in parallel like mini-projects. Evolutionary models include incremental additions, the spiral model with risk assessment loops, and concurrent development of activities. COCOMO is a cost estimation model.

Uploaded by

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

2.3 Software Process Models

The document discusses several software process models including the linear sequential model, prototyping model, RAD model, evolutionary software process models (incremental model, spiral model, WINWIN spiral model, concurrent development model), and COCOMO model. The linear sequential model involves sequential phases of feasibility study, requirements analysis, design, coding/testing, integration/system testing, and maintenance. The prototyping model uses prototypes to gather user feedback before implementation. The RAD model develops components in parallel like mini-projects. Evolutionary models include incremental additions, the spiral model with risk assessment loops, and concurrent development of activities. COCOMO is a cost estimation model.

Uploaded by

S m Datacare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

2.

3 SOFTWARE PROCESS MODELS


A process model for software engineering is chosen based on the nature of the project and
application, the methods and tools to be used, and the controls and deliverables that are required.

All software development can be characterized as four distinct stages


 Status quo “represents the current state of affairs”;
 Problem definition identifies the specific problem to be solved;
 Technical development solves the problem through the application of
some technology, and
 Solution integration delivers the results (e.g., documents, programs,
data, etc) to those who requested the solution.
2.4 THE LINEAR SEQUENTIAL MODEL
In the Linear Sequential model, each phase must be completed before the next
phase can begin and there is no overlapping in the phases. Sometimes called the classic life
cycle or the waterfall model. This model is the basic software development life
cycle model (SDLC). The different sequential phases of the model are shown in the below
figure:

I. Feasibility Study:
 The main goal of this phase is to determine whether it would be financially
and technically feasible to develop the software.
 This also involves understanding the problem and then determines the
various possible strategies to solve the problem.
II. Requirements analysis and specification:
 Firstly all the requirements regarding the software are gathered from the
customer and then the gathered requirements are analysed. 
 These analysed requirements are documented in a software requirement
specification (SRS) document. 

III. Design:
 The aim of the design phase is to transform the requirements specified in the
SRS document into a structure that is suitable for implementation in some
programming language.
IV. Coding and Unit testing:
 In coding phase software design is translated into source code using any
suitable programming language. Thus each designed module is coded. The
aim of the unit testing phase is to check whether each module is working
properly or not.

V. Integration and System testing:


 Integration of various modules is carried out incrementally over a number of
steps. During each integration step, previously planned modules are added.
Finally, after all the modules have been successfully integrated the testing is
carried out.

VI. Maintenance: 
 Maintenance is the most important phase of a software life cycle. The effort
spent on maintenance is the 60% of the total effort spent to develop full
software.

2.5 THE PROTOTYPING MODEL

The prototype is used to allow users to evaluate the developers’ proposals


and test them before implementation.
 
Basic Requirement Identification
This step involves understanding the basic requirements of the product, especially in
terms of the user interface.

Quick decision
In this stage, a simple design of the system is created. However, it is not a complete
design. It gives a brief idea of the system to the user.

Build a Prototype
In this phase, an actual prototype is designed based on the information gathered from
quick design. It is a small working model of the required system.

Initial user evaluation


In this stage, the proposed system is presented to the client for an initial evaluation. It
helps to find out the strength and weakness of the working model. Comment and suggestion
are collected from the customer and provided to the developer.

Refining prototype
 If the user is not happy with the current prototype, you need to refine the prototype
according to the user's feedback and suggestions.
 Once the user is satisfied with the developed prototype, a final system is developed
based on the approved final prototype.

2.6 THE RAD MODEL


RAD model is Rapid Application Development model. In RAD model
the components or functions are developed in parallel as if they were mini projects.
Business Modelling: 
The information flow among business functions is defined by answering questions
like what data drives the business process, what data is generated, who generates it, where
does the information go, who process it and so on.
Data Modelling: 
The data collected from business modelling is refined into a set of data objects
(entities) that are needed to support the business. 
Process Modelling: 
The information object defined in the data modelling phase is transformed to achieve
the data flow necessary to implement a business function. Processing descriptions are created
for adding, modifying, deleting, or retrieving a data object.
Application Generation:
  Automated tools are used to facilitate construction of the software;
Testing & Turnover:
  Many of the programming components have already been tested since RAD emphasis
reuse. This reduces the overall testing time. But the new part must be tested, and all interfaces
must be fully exercised.

2.7 EVOLUTIONARY SOFTWARE PROCESS MODELS


There are basically four types of evolutionary process models:

1. Incremental Model

2. Spiral Model

3. WINWIN Spiral Model

4. Concurrent Development model

1. Incremental Model

Incremental Model is a process of software development where


requirements are broken down into multiple standalone modules of software development
cycle.
Each iteration passes through the requirements, design, coding and
testing phases.

The system is put into production when the first increment is delivered.
The first increment is often a core product where the basic requirements are addressed,
and supplementary features are added in the next increments.

2. Spiral Model

Spiral model is one of the most important Software Development Life


Cycle models, which provides support for Risk Handling.
 In its diagrammatic representation, it looks like a spiral with many loops.
 The exact number of loops of the spiral is unknown and can vary from project
to project. 
 Each loop of the spiral is called a Phase of the software development
process. 
 The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks. 

Each phase of Spiral Model is divided into four quadrants as shown in the above figure.
The functions of these four quadrants are discussed below:
I. Objectives determination and identify alternative solutions: Requirements
are gathered from the customers and the objectives are identified, elaborated and
analyzed at the start of every phase.

II. Identify and resolve Risks: During the second quadrant all the possible
solutions are evaluated to select the best possible solution. Then the risks
associated with that solution is identified and the risks are resolved using the
best possible strategy.
III. Develop next version of the Product: During the third quadrant, the identified
features are developed and verified through testing..
IV. Review and plan for the next Phase: In the fourth quadrant, the Customers
evaluate the so far developed version of the software. In the end, planning for
the next phase is started.

3. WINWIN Spiral Model

 WINWIN Spiral model is basically an advancement of the spiral model. In the


spiral model there is basically a simple communication between the developer and
the customer.
 But in the WINWIN spiral model, a process of negotiation takes place where the
customer tells his requirements and the developer builds the software according to
that requirements.
 And this communication is basically held in the form of negotiation i.e. dealing.
 In such type of negotiation, the customer wins by getting the software which
satisfies all its requirements whereas developer wins by getting the proper cost
and schedule constraints. 
 So in their concerns, both win by achieving whatever they want and require

4. Concurrent Development model

Concurrent development model is also known as concurrent engineering.

 According to this model all the software engineering activities, analysis, design etc
are built / performed parallel with each other.
 And for each of the activity, a state transition diagram is made.
 All the events of an activity are shown as states and there should be transitions among
them.
 Such type of models is applicable to all types of software development and provides
an accurate picture of the current state of a project.
5.2 COCOMO Model
The COCOMO Model stands for Constructive Cost Model. And it is a
procedural software cost estimation model.
It is used as a process of reliably predicting the various parameters associated with
making a project such as size, effort, cost, time and quality. 
The key parameters which define the quality of any software products,
 Effort: Amount of labour that will be required to complete a task. It is measured in
person-months units.
 Schedule: Simply means the amount of time required for the completion of the job,
which is, of course, proportional to the effort put. It is measured in the units of time
such as weeks, months.

Some of the models are:


Model 1: The Basic COCOMO Model
1. Organic
 A software project is said to be an organic type if the team size required is
adequately small, the problem is well understood and has been solved in the past
and also the team members have a nominal experience regarding the problem.
2. Semi-detached
 A software project is said to be a Semi-detached type if
 The vital characteristics such as team-size, experience, knowledge of the
various programming environment lie in between that of organic and
embedded.
 The projects classified as Semi-Detached are comparatively less familiar and
difficult to develop. Eg: Compilers or different Embedded.
3. Embedded
 A software project with requiring the highest level of complexity, creativity,
and experience requirement fall under this category.
 Such software requires a larger team size than the other two models and also the
developers need to be sufficiently experienced and creative to develop such
complex models.

Model 2: The Intermediate COCOMO Model

If program size includes a set of “cost drivers” with personnel and project attributes,
subjective assessments of products and hardware then it can be computed as software
development effort.

This extension includes a set of four cost drivers.

 Product attributes
 Hardware attributes
 Personnel attributes
 Project attributes

Model 3: The Advanced COCOMO Model:

Along with characteristics of an intermediate model this model also assesses the cost
driver’s impact on each step of the software engineering process. There are a total of 5 phases
of detailed COCOMO.

 Planning and requirements


 System design
 Detailed design
 Module code and test
 Integration and test

It calculates the Efforts i.e. estimation of the number of Person-Months required to


develop a project.

Estimated Cost = Number of Person Months * Loaded Labour Rate

The COCOMO model in software engineering is based on the relationships between


the two formulas:
Formula 1: Development Effort is based on system size:
MM = A * KSDI ^ B

where,

 MM is the effort measured in Man per Months


 KDSI is the number of Source Instructions Delivered in a Kilo (Thousands)

Formula 2: Effort (MM) and Development Time


TDEV = C * MM ^ D

where,

 TDEV is the development Time


 Coefficients A, B, C, and D depending upon the mode of development that can be
categorized into following 3 distinct classes of software projects defined above.

You might also like