0% found this document useful (0 votes)
28 views10 pages

Software Assignment No1 Zohaib Ijaz 23811

The document discusses several predictive software development life cycle (SDLC) models including waterfall, iterative, spiral, and V-model. It explains the stages and processes of each model. It also covers software risk management, listing its key steps as risk identification, assessment, prioritization, avoidance, and mitigation.

Uploaded by

tutorsandstudy3
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)
28 views10 pages

Software Assignment No1 Zohaib Ijaz 23811

The document discusses several predictive software development life cycle (SDLC) models including waterfall, iterative, spiral, and V-model. It explains the stages and processes of each model. It also covers software risk management, listing its key steps as risk identification, assessment, prioritization, avoidance, and mitigation.

Uploaded by

tutorsandstudy3
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
You are on page 1/ 10

National University of Modern Languages

Name: Zohaib Ijaz


Class: Bs Software(Afternoon 2nd Semester)
Roll no: Fl-23811

SE Assignment No 1

Question #01:
What are various predictive process model. Explain each one of them.
What is SDLC?
SDLC is a process followed for a software project, within a software organization.
It consists of a detailed plan describing how to develop, maintain, replace and
alter or enhance specific software. The life cycle defines a methodology for
improving the quality of software and the overall development process.

The following figure is a graphical representation of the various stages of a typical


SDLC.
SDLC Models
There are various software development life cycle models defined and designed
which are followed during the software development process. These models are
also referred as Software Development Process Models". Each process model
follows a Series of steps unique to its type to ensure success in the process of
software development.

Following are the most important and popular SDLC models followed in the
industry −

 Waterfall Model
 Iterative Model
 Spiral Model
 V-Model [1]

Waterfall Model :
The Predictive Waterfall Process Model is a sequential software development
methodology where the progress of the project flows steadily downwards
through defined phases. These phases typically include requirements gathering,
system design, implementation, testing, deployment, and maintenance. Each
phase must be completed before the next one begins, and changes are difficult to
accommodate once a phase is finished. This approach is called "predictive"
because it requires extensive upfront planning and assumes that the project
requirements can be fully understood and defined in advance. The Waterfall
Model is often contrasted with Agile methodologies, which prioritize flexibility
and adaptability throughout the development process. [2]
Iterative Model:
In this Model, you can start with some of the software specifications and develop
the first version of the software. After the first version if there is a need to change
the software, then a new version of the software is created with a new iteration.
Every release of the Iterative Model finishes in an exact and fixed period that is
called iteration.

The Iterative Model allows the accessing earlier phases, in which the variations
made respectively. The final output of the project renewed at the end of the
Software Development Life Cycle (SDLC) process.

Advantage(Pros) of Iterative Model:


1. Testing and debugging during smaller iteration is easy.
2. A Parallel development can plan.
3. It is easily acceptable to ever-changing needs of the project.
4. Risks are identified and resolved during iteration.
5. Limited time spent on documentation and extra time on designing

Disadvantage(Cons) of Iterative Model:


1. It is not suitable for smaller projects.
2. More Resources may be required.
3. Design can be changed again and again because of imperfect requirements.
4. Requirement changes can cause over budget.
5. Project completion date not confirmed because of changing requirements.
[3]
Spiral Model:
The spiral model is a risk-driven process model. This SDLC model helps the group
to adopt elements of one or more process models like a waterfall, incremental,
waterfall, etc. The spiral technique is a combination of rapid prototyping and
concurrency in design and development activities.
Each cycle in the spiral begins with the identification of objectives for that cycle,
the different alternatives that are possible for achieving the goals, and the
constraints that exist. This is the first quadrant of the cycle (upper-left quadrant).
The next step in the cycle is to evaluate these different alternatives based on the
objectives and constraints. The focus of evaluation in this step is based on the risk
perception for the project. The next step is to develop strategies that solve
uncertainties and risks. This step may involve activities such as benchmarking,
simulation, and prototyping. [3]
Each phase of the Spiral Model is divided into four quadrants as shown in the
above figure. The functions of these four quadrants are discussed below:
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. Then alternative solutions possible for the
phase are proposed in this quadrant.
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 are identified and the risks are resolved using the best possible
strategy. At the end of this quadrant, the Prototype is built for the best possible
solution.
Develop the next version of the Product: During the third quadrant, the
identified features are developed and verified through testing. At the end of the
third quadrant, the next version of the software is available.
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 [4]

V-Model:
The V-model is a type of SDLC model where the process executes sequentially in a
V-shape. It is also known as the Verification and Validation model. It is based on
the association of a testing phase for each corresponding development stage. The
development of each step is directly associated with the testing phase. The next
phase starts only after completion of the previous phase i.e., for each
development activity, there is a testing activity corresponding to it.
Advantages of V-Model
1. This is a highly disciplined model and Phases are completed one at a time.
2. V-Model is used for small projects where project requirements are clear.
3. Simple and easy to understand and use.
4. This model focuses on verification and validation activities early in the life
cycle thereby enhancing the probability of building an error-free and good
quality product.
5. It enables project management to track progress accurately.
6. Clear and Structured Process: The V-Model provides a clear and structured
process for software development, making it easier to understand and
follow.
7. Emphasis on Testing: The V-Model places a strong emphasis on testing,
which helps to ensure the quality and reliability of the software.
8. Improved Traceability: The V-Model provides a clear link between the
requirements and the final product, making it easier to trace and manage
changes to the software.
9. Better Communication: The clear structure of the V-Model helps to
improve communication between the customer and the development
team.

Disadvantages of V-Model
1. High risk and uncertainty.
2. It is not good for complex and object-oriented projects.
3. It is not suitable for projects where requirements are not clear and contain
a high risk of changing.
4. This model does not support iteration of phases.
5. It does not easily handle concurrent events.
6. Inflexibility: The V-Model is a linear and sequential model, which can make
it difficult to adapt to changing requirements or unexpected events.
7. Time-Consuming: The V-Model can be time-consuming, as it requires a lot
of documentation and testing.
8. Overreliance on Documentation: The V-Model places a strong emphasis on
documentation, which can lead to an overreliance on documentation at the
expense of actual development work. [5]

Question no 02:
What is Software Risk management? Explain the process in detail.
Risk management software helps in identifying the sources of risk, analyzing and
prioritizing them based on their probability of occurrence, impact on business
objectives, and cost of mitigation. It also provides recommendations for avoiding
or reducing risks by implementing effective controls.
To manage risks in software development you can also use Agile Security
Platform. This platform provides security services to engineering teams by
performing Penetration Testing as a Service (PTaaS). The testing is integrated into
the software delivery cycles so that security posture is continuously monitored,
and all vulnerabilities are detected on time.

Steps of Risk Management:


Let's take a detailed look at the steps that need to be followed in risk analysis to
reduce harm and understand how to practice risk management in software
engineering. This practice will help any project manager to successfully deliver a
product
1. Risk Identification
Risk identification entails brainstorming. It also entails the creation of a risk list.
Brainstorming is a group discussion technique in which the whole project
management is present. This technique generates new ideas and encourages
creative thinking. The preparation of a risk list entails identifying risks that have
occurred repeatedly in previous software projects.

2. Risk Assessment and Prioritization


 It is a procedure within project management that includes the following
steps:

 Identifying the issues that are causing risk in projects

 Determining the likelihood of a problem occurring

 Determining the problem's impact

 Assigning probability and impact values ranging from 1 to 10

 Determining the risk exposure factor

The project manager should make a table with all of the values and rank the risks
according to the risk exposure factor.

3. Risk Avoidance and Mitigation


The goal of this technique is to eliminate the occurrence of risks entirely. To avoid
risks, reduce the scope of projects by eliminating non-essential requirements. Risk
avoidance involves identifying potential risks and then eliminating them as much
as possible, or reducing their impact if they cannot be eliminated.
Examples of risk avoidance include:
Not using certain features in the software due to the potential for bugs or other
problems to occur;
Increase software testing activities using test cases to ensure no bugs exist in a
product before it goes live;
Making sure that any changes made to software are thoroughly tested before
they are deployed.

4. Risk transfer
This technique is used in software engineering to reduce the risk of a project. Risk
transfer is usually used when the scope of a project is too large for any one team
to handle, and there is no way to split up the work so that each team can be
responsible for its own piece of it. In this case, you have to find an outside
company that can take on some portion of your project.
For example, if you're working on a video editor app and your team doesn't have
enough designers or programmers to make it happen, project management could
decide to hire someone else who does have the necessary resources. That way,
you don't have to worry about handling all parts of the app yourself and can focus
on what's most important--making sure that everything comes together in an
enjoyable way!

5. Risk acceptance
In software engineering risk acceptance is a technique that involves taking on
risks in order to complete the system. It can be a good idea if there is a lot of
uncertainty about which features will be required and when they'll be needed. In
this case, it makes sense to accept some level of risk in order to have time to
figure out what needs to be done and how long it will take. The only way to know
whether this will work is by trying it out—you may find that you were right all
along, or you may discover that you need more time than expected.

6. Risk Monitoring
The risk should be continuously monitored by reevaluating the risks, the impact of
the risk, and the probability of the risk occurring.

This guarantees that:


 The dangers have been discovered and reduced.

 The magnitude and impact of risk are assessed. [6]

IEEE References
[1] https://www.tutorialspoint.com/sdlc/sdlc_quick_guide.htm

[2] "Software Engineering: A Practitioner's Approach" by


Roger S. Pressman

[3] https://www.javatpoint.com/software-engineering-iterative-model

[4] https://www.geeksforgeeks.org/software-engineering-spiral-
model/

[5] “Software Engineering: A Practitioner’s Approach” by Roger S.


Pressman, published by McGraw-Hill Education, 2017.

[6] https://solutionshub.epam.com/blog/post/risk-management

You might also like