Professional Documents
Culture Documents
SE WK 3 Lec 7 8 9
SE WK 3 Lec 7 8 9
SE WK 3 Lec 7 8 9
WK-3-Lecture 7-8-9
Computer Aided Software Engineering (CASE) Tools
Rapid Application Development
Evolutionary Software Process Models
a. Incremental Model
b. Spiral Model
Software Engineering (CSC-205)
Multiple teams work on developing the software system using RAD model
parallel.
This model consists of 4 basic phases:
1. Requirements Planning – It involves the use of various techniques used in
requirements elicitation like brainstorming, task analysis, form analysis, user
scenarios, FAST (Facilitated Application Development Technique), etc. It
also consists of the entire structured plan describing the critical data,
methods to obtain it, and then processing it to form a final refined model.
2. User Description – This phase consists of taking user feedback and building
the prototype using developer tools. In other words, it includes re-
examination and validation of the data collected in the first phase. The
dataset attributes are also identified and elucidated in this phase.
3. Construction – In this phase, refinement of the prototype and delivery takes
place. It includes the actual use of powerful automated tools to transform
processes and data models into the final working product. All the required
modifications and enhancements are too done in this phase.
Software Engineering (CSC-205)
The use of powerful and efficient tools requires highly skilled professionals.
The absence of reusable components can lead to the failure of the project.
The team leader must work closely with the developers and customers to
close the project on time.
The systems which cannot be modularized suitably cannot use this model.
Customer involvement is required throughout the life cycle.
It is not meant for small-scale projects as in such cases, the cost of using
automated tools and techniques may exceed the entire budget of the project.
Not every application can be used with RAD.
3. Evolutionary Software Process Models
a. Incremental Model.
b. Spiral Model.
3.1 Incremental process model
The incremental process model is also known as the Successive version model.
First, a simple working system implementing only a few basic features is built and
then that is delivered to the customer. Then thereafter many successive iterations/
versions are implemented and delivered to the customer until the desired system is
released.
Software Engineering (CSC-205)
After Requirements gathering and specification, requirements are then split into
several different versions starting with version 1, in each successive increment, the
next version is constructed and then deployed at the customer site. After the last
version (version n), it is now deployed at the client site.
Types of Incremental model:
1. Staged Delivery Model: Construction of only one part of the project at a time.
2. Parallel Development Model – Different subsystems are developed at the same
time. It can decrease the calendar time needed for the development, i.e. TTM
(Time to Market) if enough resources are available.
Software Engineering (CSC-205)
This model was originally proposed by Boehm. It provides the potential for rapid
development of incremental versions of the software.
The model is divided into some framework activities, also called task regions.
Every framework activity represents one section of the spiral path. As the
development process starts, the software team performs activities that are indirect
by a path around the spiral model in a clockwise direction. It begins at the center of
the spiral model.
Typically, there are between three and six task regions. The above figure depicts a
spiral model that contains 6 task regions.
Each of the regions is populated by a set of work tasks, called a function set, which
is adapted to the characteristics of the project to be undertaken. For small
projects, the number of work tasks and their formality is low. For larger, more
critical projects, each job region contains more work tasks that are defined to
achieve a higher level of formality. In all cases, the umbrella activities, e.g. –
software configuration management and software quality assurance are applied.
1. Estimates (i.e. budget, schedule, etc.) become more realistic as work progresses
because more critical issues are discovered earlier.
2. It is more able to cope with the changes that software development entails.
3. Software engineers can get their hands in and start working on a project earlier.
High cost - The spiral model is expensive and, therefore, is not suitable for
small projects.
Dependence on risk analysis - Since successful completion of the project
depends on effective risk handling, then it is necessary for involved personnel
to have expertise in risk assessment.
Complexity - The spiral model is more complex than other SDLC options. For
it to operate efficiently, protocols must be followed closely. Furthermore, there
is increased documentation since the model involves intermediate phases.
Software Engineering (CSC-205)
Hard to manage time - Going into the project, the number of required phases is
often unknown, making time management almost impossible. Therefore, there
is always a risk for falling behind schedule or going over budget.
The Spiral Model is a software development methodology that is used to handle
various types of risks that are associated with complex and large-scale software
development projects. It was proposed by Barry Boehm in 1986 and is often
considered an evolution of the Waterfall model. The Spiral Model is
characterized by its iterative and incremental approach to software
development, where the project is divided into multiple cycles or "spirals."
The primary types of risks that the Spiral Model is designed to address
include:
Technical Risks: These are risks associated with the complexity of the software
being developed. In the Spiral Model, each spiral represents a cycle of
development that includes planning, design, coding, testing, and evaluation. At
the end of each spiral, a prototype or partial system is developed and evaluated.
This allows for the identification and mitigation of technical risks early in the
project, reducing the likelihood of major technical problems later on.
Business Risks: Business risks include factors such as market changes, evolving
customer needs, and shifts in business priorities. The Spiral Model encourages
continuous communication and feedback with stakeholders, making it easier to
adapt to changing business conditions and ensure that the software aligns with
the organization's goals.
Overall, the Spiral Model is well-suited for projects where there is a high level
of uncertainty and risks that cannot be completely identified and addressed at
Software Engineering (CSC-205)