0% found this document useful (0 votes)
11 views42 pages

Unit - 1 Mar 2

This document provides an overview of various software engineering process models, including the Waterfall, RAD, Iterative, Incremental, Prototype, Spiral, and Unified Process models. Each model is described with its phases, advantages, and disadvantages, emphasizing the importance of communication, planning, and risk management in software development. The document serves as an educational resource for understanding the frameworks and methodologies used in software engineering.

Uploaded by

ruchitakataria17
Copyright
© © All Rights Reserved
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
0% found this document useful (0 votes)
11 views42 pages

Unit - 1 Mar 2

This document provides an overview of various software engineering process models, including the Waterfall, RAD, Iterative, Incremental, Prototype, Spiral, and Unified Process models. Each model is described with its phases, advantages, and disadvantages, emphasizing the importance of communication, planning, and risk management in software development. The document serves as an educational resource for understanding the frameworks and methodologies used in software engineering.

Uploaded by

ruchitakataria17
Copyright
© © All Rights Reserved
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/ 42

Unit - I

DAY –2
Mar 2/3/2024

MCA
UNIT 1
Introduction to Software Engineering
Dr. K.GAYATHRI

SRMIST 2023-24
Welcome Learners let us discuss on

A process framework
Waterfall Model
RAD Model
Iterative Model
Incremental Model
Prototype Model
Spiral Model
Unified process Model
Agile Model

SRMIST 2023-24
A process framework
What is a Software Process Framework?
Software Process Framework details the steps and chronological order
of a process. Since it serves as a foundation for them, it is utilized in
most applications. Task sets, umbrella activities, and process framework
activities all define the characteristics of the software development
process. Software Process includes:
1.Tasks: They focus on a small, specific objective.
2.Action: It is a set of tasks that produce a major work product.
3.Activities: Activities are groups of related tasks and actions for a
major objective.

SRMIST 2023-24
A process framework

SRMIST 2023-24
A process framework
Process Framework Activities
1. Communication
2. Planning
3. Modeling
4. Construction
5. Deployment are all examples of framework activities.

SRMIST 2023-24
A process framework
1. Communication
• By communication, customer requirement gathering is done.
Communication with consumers and stakeholders to determine the
system’s objectives and the software’s requirements.
2. Planning
• Establish engineering work plan, describes technical risk, lists
resources requirements, work produced and defines work schedule.
3. Modeling
• Architectural models and design to better understand the problem and
to work towards the best solution. The software model is prepared by:

SRMIST 2023-24
A process framework
4. Construction
• Creating code, testing the system, fixing bugs, and confirming that all
criteria are met. The software design is mapped into a code by:
• Code generation
• Testing
5. Deployment
• In this activity, a complete or non-complete product or software is
represented to the customers to evaluate and give feedback. On the basis
of their feedback, we modify the product for the supply of better products.

SRMIST 2023-24
A process framework
• Umbrella Activities are that take place during a software development process for
improved project management and tracking.
1.Software project tracking and control: This is an activity in which the team can
assess progress and take corrective action to maintain the schedule. Take action to
keep the project on time by comparing the project’s progress against the plan.
2.Risk management: The risks that may affect project outcomes or quality can be
analyzed. Analyze potential risks that may have an impact on the software
product’s quality and outcome.
3.Software quality assurance: These are activities required to maintain software
quality. Perform actions to ensure the product’s quality.
4.Formal technical reviews: It is required to assess engineering work products to
uncover and remove errors before they propagate to the next activity. At each
level of the process, errors are evaluated and fixed.

SRMIST 2023-24
A process framework
5.Software configuration management: Managing of configuration process when any
change in the software occurs.
6.Work product preparation and production: The activities to create models,
documents, logs, forms, and lists are carried out.
7.Reusability management: It defines criteria for work product reuse. Reusable work
items should be backed up, and reusable software components should be achieved.
8.Measurement: In this activity, the process can be defined and collected. Also,
project and product measures are used to assist the software team in delivering the
required software.

SRMIST 2023-24
THE LINEAR SEQUENTIAL MODEL
/WATER FALL MODEL

SRMIST 2023-24
THE LINEAR SEQUENTIAL MODEL
/WATER FALL MODEL
1. Requirements Gathering and Analysis: The first phase involves
gathering requirements from stakeholders and analyzing them to
understand the scope and objectives of the project.
2. Design Phase: Once the requirements are understood, the design
phase begins. This involves creating a detailed design document that
outlines the software architecture, user interface, and system
components.
3. Implementation and Unit Testing: The implementation phase
involves coding the software based on the design specifications. This
phase also includes unit testing to ensure that each component of the
software is working as expected.
SRMIST 2023-24
THE LINEAR SEQUENTIAL MODEL
/WATER FALL MODEL
4. Integration and System Testing: In the testing phase, the software is tested
as a whole to ensure that it meets the requirements and is free from defects.
5. Deployment: Once the software has been tested and approved, it is
deployed to the production environment.
6. Maintenance: The final phase of the Waterfall Model is maintenance, which
involves fixing any issues that arise after the software has been deployed and
ensuring that it continues to meet the requirements over time.

SRMIST 2023-24
THE LINEAR SEQUENTIAL
MODEL
MERITS DISADVANTAGE
• Easy and Simple to understand • High amount of risk
• Not good for OOPs
• Easy manageable • Poor model for large and on
• Phases are Processed and going project
completed one at a time • Errors are fixed only doing
• Clear define stages the phase
• Not suitable for the projects
to where requirements are
changing
SRMIST 2023-24
THE RAD MODEL

SRMIST 2023-24 14
THE RAD MODEL
The Rapid Application Development (RAD) model phases are:

• Business modeling: The information flow between various business functions. The business model
provide answer for the following questions : What information drives the business process? What
information is generated? Who generates it? Where does the information go? Who processes it?

• Data modeling: Information collected from business modeling, flow into a set of data objects that
are needed for the business.

• Process modeling: The defined data objects in the data-modeling phase are transformed to get
information flow that is needed to implement a function.

• Application generation: Process models convert into code and the actual system by using
automated tools.

• Testing and turnover: Test new functionalities and the interfaces.

SRMIST 2023-24
THE RAD MODEL
When to use RAD model:
• Suitable for to develop an application that can be modularized in short term i.e. 2-3 months.
• It should be used with high business knowledge resources to develop an application in short term i.e. 2-3
months

Advantages: Disadvantages:
• Requirement changes are allowed • It requires skilled designers/designers.
• Initial reviews occur • There will be dependency on strong technically team members for
• Reusability of components exists finding business requirements
• User can measure the progress
• Reduced development time.

SRMIST 2023-24
Iterative Model
• The Iterative model is a way of software development that works in small
steps for the development of the software.
• It was developed by a group of software developers for better ways of
developing one.
• It is an easy way to craft requirements into a software solution.
• This works in iterations as large tasks are divided into small steps and
easy step is developed in iterations to achieve a final solution.

SRMIST 2023-24
Iterative Model
• The Iterative Model of software development is a type of
model
• In which implementation starts with small elements,
and iteratively evolves to the final solution through a
collaboration of functional teams.

SRMIST 2023-24
Iterative Model

SRMIST 2023-24 19
Iterative Model
Advantages of Iterative:
• It makes easy debugging of errors.
• It is a more flexible way of creating software.
Disadvantages of Iterative:
• It requires good planning for deciding iterations.
• It needs well-defined modules to work on.

SRMIST 2023-24
The Incremental Model

• When an incremental model is used, the first increment is often a core product. That is, basic requirements
are addressed, but many supplementary features (some known, others unknown) remain undelivered.
• The core product is used by the customer (or undergoes detailed review). As a result of use and/or
evaluation, a plan is developed for the next increment. The plan addresses the modification of the core
product to better meet the needs of the customer and the delivery of additional features and functionality.
This process is repeated following the delivery of each increment, until the complete product is produced.
• When to use the Incremental model:
• This model can be used when the requirements of the complete system are clearly defined and understood.
• Major requirements must be defined; however, some details can evolve with time.
• There is a need to get a product to the market early.

SRMIST 2023-24
The Incremental Model

SRMIST 2023-24
The Incremental Model
Advantages of Incremental model:
Disadvantages of Incremental model:
• Generates working software quickly and early during the
software life cycle. • Needs good planning and design.
• This model is more flexible – less costly to change scope • Needs a clear and complete definition
and requirements.
of the whole system before it can be
• It is easier to test and debug during a smaller iteration.
• In this model customer can respond to each built. broken down and built incrementally.
• Lowers initial delivery cost. • Total cost is higher than waterfall.
• Easier to manage risk because risky pieces are identified
and handled during it’d iteration.

SRMIST 2023-24
Prototype Model

SRMIST 2023-24
Prototype Model
• Customer defines a set of general objectives for software but does not identify detailed input,
processing, or output requirements.
• In these, and many other situations, a prototyping paradigm may offer the best approach
• The prototyping paradigm begins with requirements gathering. Developer and customer meet and
define the overall objectives for the software, identify whatever requirements are known, and outline
areas where further definition is mandatory.
• A "quick design" then occurs. The quick design leads to the construction of a prototype. The
prototype is evaluated by the customer/user and used to refine requirements for the software to be
developed.
• Iteration occurs as the prototype is tuned to satisfy the needs of the customer, while at the same time
enabling the developer to better understand what needs to be done.

SRMIST 2023-24
Prototype Model
• Steps Prototyping Model
• Step 1: Requirement Gathering and Analysis: This is the initial step in designing a prototype model. In
this phase, users are asked about what they expect or what they want from the system.
• Step 2: Quick Design: This is the second step in Prototyping Model. This model covers the basic design of
the requirement through which a quick overview can be easily described.
• Step 3: Build a Prototype: This step helps in building an actual prototype from the knowledge gained
from prototype design.
• Step 4: Initial User Evaluation: This step describes the preliminary testing where the investigation of the
performance model occurs, as the customer will tell the strength and weaknesses of the design, which was
sent to the developer.
• Step 5: Refining Prototype: If any feedback is given by the user, then improving the client’s response
to feedback and suggestions, the final system is approved.
• Step 6: Implement Product and Maintain: This is the final step in the phase of the Prototyping Model
where the final system is tested and distributed to production, here the program is run regularly to prevent
failures.

SRMIST 2023-24 26
Prototype Model
Advantages of Prototype model: Disadvantages of Prototype model:
• If there is missing functionality can be • There are no parallel deliverables
identified easily • It is a time consuming if customer ask for
• There will be less chance of software changes in prototype
rejection. • This methodology may increase the system
complexity as scope of the system may expand
• Requirement changes are allowed.
beyond original plans.
• Due to customer approval we can find • The invested effort in the preparation of
the errors at early stage. prototypes may be too much if not properly
• The developed prototype can be re-used monitored.
by developer and test engineer. • Customer may get confused in the prototypes
and real systems.

SRMIST 2023-24
The Spiral Model

SRMIST 2023-24
The Spiral Model
• A spiral model is divided into a number of framework activities, also
called task regions. Typically, there are between three and six task
regions. depicts a spiral model that contains six task regions:
• Customer communication—tasks required to establish effective communication
between developer and customer.
• Planning—tasks required to define resources, timelines, and other project related
information.
• Risk analysis—tasks required to assess both technical and management risks.
• Engineering—tasks required to build one or more representations of the application.
• Construction and release—tasks required to construct, test, install, and provide user
support
(e.g., documentation and training).

SRMIST 2023-24
The Spiral Model
Customer evaluation-task required to obtain customer feedback based on the
evaluation of the software representation created during the engineering stage and
implemented during the installation stage.

When to use Spiral model:


• When costs and risk evaluation is important
• For medium to high-risk projects
• Long-term project commitment unwise because of potential
changes to economic priorities
• Users are unsure of their needs
• Requirements are complex
• New product line
• Significant changes are expected (research and exploration)

SRMIST 2023-24
The Spiral Model
Advantages of Spiral model:
Disadvantages of Spiral model:
• High amount of risk analysis hence, avoidance of
Risk is enhanced. • Can be a costly model to use.
• Good for large and mission-critical projects. • Risk analysis requires highly specific expertise.
• Strong approval and documentation control. • Project’s success is highly dependent on the risk
• Additional Functionality can be added at a later date. analysis phase.
• Doesn’t work well for smaller projects

SRMIST 2023-24
Properties of Model Water-Fall Model Incremental Model Spiral Model RAD Model
Planning in early stage Yes Yes Yes No
Returning to an earlier phase No Yes Yes Yes
Handle Large-Project Not Appropriate Not Appropriate Appropriate Not Appropriate
Detailed Documentation Necessary Yes but not much Yes Limited
Cost Low Low Expensive Low
Requirement Specifications Beginning Beginning Beginning Time boxed release
Flexibility to change Difficult Easy Easy Easy
User Involvement Only at beginning Intermediate High Only at the beginning
Maintenance Least Promotes Maintainability Typical Easily Maintained
Duration Long Very long Long Short
Risk Involvement High Low Medium to high risk Low
Framework Type Linear Linear + Iterative Linear + Iterative Linear
At the end of the engineering
Testing After completion of coding phase After every iteration After completion of coding
phase
Yes (As parallel development is
Overlapping Phases No No Yes
there)
Maintenance Least Maintainable Maintainable Yes Easily Maintainable
Re-usability Least possible To some extent To some extent Yes
Time-Frame Very Long Long Long Short
Working software availability At the end of the life-cycle At the end of every iteration At the end of every iteration At the end of the life cycle
Objective High Assurance Rapid Development High Assurance Rapid development
Team size Large Team Not Large Team Large Team Small Team
Customer control over
Very Low Yes Yes Yes
administrator SRMIST 2023-24
Unified Process
Model
• Inception –
• Communication and planning are the main ones.
• Identifies the scope of the project using a use-case
model allowing managers to estimate costs and time
required.
• Customers’ requirements are identified and then it
becomes easy to make a plan for the project.
• The project plan, Project goal, risks, use-case model,
and Project description, are made.
• The project is checked against the milestone criteria
and if it couldn’t pass these criteria then the project
can be either canceled or redesigned.

SRMIST 2023-24 33
Unified Process
Model
• Elaboration –
• Construction –
1. Planning and modeling are the main ones.
1. The project is developed and completed.
2. A detailed evaluation and development 2. System or source code is created and then
plan is carried out and diminishes the testing is done.
risks. 3. Coding takes place.
3. Revise or redefine the use-case model • Transition –
(approx. 80%), business case, and risks. • The final project is released to the
4. Again, checked against milestone criteria public.
and if it couldn’t pass these criteria then
again project can be canceled or
• Transit the project from
redesigned. development into production.
5. Executable architecture baseline. • Update project documentation.
• Beta testing is conducted.
• Defects are removed from the
project based on feedback from
the public.

SRMIST 2023-24 34
Unified Process
Model Advantages:
• Production – 1.It provides good documentation, it completes the
• The final phase of the model. process in itself.
• The project is maintained and updated 2.It provides risk-management support.
accordingly. 3.It reuses the components, and hence total time
duration is less.
4.Good online support is available in the form of
tutorials and training.
Disadvantages:
5.Team of expert professional is required, as the
process is complex.
6.Complex and not properly organized process.
7.More dependency on risk management.
8.Hard to integrate again and again.

SRMIST 2023-24 35
Agile Model

• The meaning of Agile is swift or versatile. "Agile process model" refers to a software development
approach based on iterative development. Agile methods break tasks into smaller iterations, or parts do not
directly involve long term planning. The project scope and requirements are laid down at the beginning of the
development process. Plans regarding the number of iterations, the duration and the scope of each iteration
are clearly defined in advance.

• Each iteration is considered as a short time "frame" in the Agile process model, which typically lasts from
one to four weeks. The division of the entire project into smaller parts helps to minimize the project risk and
to reduce the overall project delivery time requirements. Each iteration involves a team working through a
full software development life cycle including planning, requirements analysis, design, coding, and testing
before a working product is demonstrated to the client.

SRMIST 2023-24
Agile Model

SRMIST 2023-24 37
Agile Model
Phases of Agile Model:
1. Requirements gathering
2. Design the requirements
3. Construction/ iteration
4. Testing/ Quality assurance
5. Deployment
6. Feedback

SRMIST 2023-24
Agile Model
1. Requirements gathering: In this phase, you must define the requirements. You should explain
business opportunities and plan the time and effort needed to build the project. Based on this information, you
can evaluate technical and economic feasibility.
2. Design the requirements: When you have identified the project, work with stakeholders to define
requirements. You can use the user flow diagram or the high-level UML diagram to show the work of new
features and show how it will apply to your existing system.

3. Construction/ iteration: When the team defines the requirements, the work begins. Designers and
developers start working on their project, which aims to deploy a working product. The product will undergo
various stages of improvement, so it includes simple, minimal functionality.

SRMIST 2023-24
Agile Model
4. Testing: In this phase, the Quality Assurance team examines the product's performance and looks for the bug.
5. Deployment: In this phase, the team issues a product for the user's work environment.
6. Feedback: After releasing the product, the last step is feedback. In this, the team receives feedback about the
product and works through the feedback.

ADVANTAGES
DISADVANTAGES • Supports customer involvement and satisfaction
• Lack of proper documentation • Strong communication of the software team with customer
• Depends heavily on customer • Little planning is needed
interaction • Efficient design
• Any time changes are acceptable
• Very realistic approach
• Updated version of functioning software are realized every
week
• Reduce total development time

SRMIST 2023-24
Summary
• Basic understanding of software process framework
• The concepts of following models with merits and demerits along
with diagram with descriptions
• Waterfall Model
• RAD Model
• Iterative Model
• Incremental Model
• Prototype Model
• Spiral
• Agile model
• Unified process Model

SRMIST 2023-24
THANK YOU!

You might also like