You are on page 1of 15

INSTRUCTOR : MAHA RASHEED

LECTURER , DEPARTMENT OF COMPUTER SCIENCE


COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS

SOFTWARE ENGINEERING
CONCEPTS
QUIZ 03
CLO (1)

Q1. Which software model is represented by the pictures below. Justify your answer. (5)

Q2. Suppose you have a project, the requirements are clearly specified, the budget is (5)
sufficient, and the time limit is quite good however, the project holds very sensitive and
risky information which cannot handle a chance of error. Which Software Process
Model will you use in this scenario? And why?

STARTING TIME: 3:10PM ENDING TIME: 3:30 PM


LEARNT SO FAR
 Waterfall Model
 Introduction to SE
 Software Evolution  V model

 Lehman’s SPE categorization  Incremental Model


 Need for SE  Iterative Model
 Legacy Software  RAD Model
 Software Crisis
 Prototype Model
 Types of Software based on its nature
 SDLC Introduction
 Phases of SDLC
 Process Framework
 Framework Activities
 Umbrella Activities
SOFTWARE PROCESS MODELS - III
What we know so far

A software process model is an abstraction of the software development process. The models specify the stages and
order of a process.

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

There are many kinds of process models for meeting different requirements. We refer to these as SDLC
models (Software Development Life Cycle models). The most popular and important SDLC models are as follows:

•Waterfall model •Iterative model


•V model •Prototype model
•Incremental model •Spiral model
•RAD model
•Agile model
• The spiral model combines the idea of iterative
development with the systematic, controlled aspects
of the waterfall model.
Best used in:
• large, expensive and complicated projects
• projects in which frequent releases are necessary
• projects in which changes may be required at any time
• medium to high-risk projects
• projects in which cost, and risk analysis is important
• projects that would benefit from the creation of a
prototype
• projects with unclear or complex requirements.
The phases are:

1.Planning
2.Risk Analysis
3.Engineering & Execution
4.Evaluation
Pros
Cons
Changing requirements can be accommodated. Management is more complex.

Allows extensive use of prototypes. End of the project may not be known early.

Requirements can be captured more accurately. Not suitable for small or low risk projects and could be
expensive for small projects.
Users see the system early.
Process is complex
Development can be divided into smaller parts and
the risky parts can be developed earlier which helps in Spiral may go on indefinitely.
better risk management.
Large number of intermediate stages requires excessive
documentation.
RAD MODEL SPIRAL MODEL

Rapid development is its main objective. High assurance is its main objective.

RAD model requirements and early-stage planning is not necessary. Spiral model requirements and early stage planning is required.

It is necessary to have detailed documentation but in a limited manner. Detailed documentation is required.

Requirements are specified as time boxed release manner. Requirements are specified in the beginning.

There is low amount risk in RAD model. There is medium to high amount risk in spiral model.

In RAD model small team size is required. In spiral model large team is required.

In RAD model overlapping of phases is possible. In spiral model overlapping of phases is not possible.

Testing is done in RAD model after completion of coding. Testing is done in spiral model at the end of the engineering phase.

Cost of RAD model is Low. Cost of spiral model is very expensive.

Customer involvement is only at the beginning. Customer involvement is high as compared to RAD model.

It offers reusability. Reusability is possible to some extent.


AGILE PROCESS MODEL
AGILE Manifesto

The agile method presupposes that every


software development project is intrinsically
unpredictable and demands for changes are
quite unavoidable during a project.
The agile method works by breaking a
software project into small chunks of tasks
called sprints.
The software developers can drop or add any
feature or design element through these
sprints.
The agile method allows for continuous
evaluation and testing of the software
application.
• In Agile development, self-organization and motivation are important, as are
Individuals and interactions like co-location and pair programming.
interactions

• Demo working software is considered the best means of communication with


the customers to understand their requirements, instead of just depending on
Working
software documentation.

• As the requirements cannot be gathered completely in the beginning of the


project due to various factors, continuous customer interaction is very important
Customer
collaboration to get proper product requirements.

• Agile Development is focused on quick responses to change and continuous


Responding to development.
change
Spiral Model
• https://www.tutorialspoint.com/sdlc/sdlc_spiral_model.htm
• https://www.techtarget.com/searchsoftwarequality/definition/spiral-
model#:~:text=The%20spiral%20model%20is%20a,large%2C%20expensive%20and%20complicated%20projects
• https://www.click2cloud.com/blogs-
page.php?BlogID=50&BlogsCatID=13#:~:text=Spiral%20model%20is%20a%20risk,a%20systematic%20and%20speedy%20way.

Spiral vs Incremental
https://scand.com/company/blog/incremental-vs-spiral/

Agile Methodology
https://www.youtube.com/watch?v=1iccpf2eN1Q

You might also like