Software Assignment No1 Zohaib Ijaz 23811
Software Assignment No1 Zohaib Ijaz 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.
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.
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.
The project manager should make a table with all of the values and rank the risks
according to the risk exposure factor.
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.
IEEE References
[1] https://www.tutorialspoint.com/sdlc/sdlc_quick_guide.htm
[3] https://www.javatpoint.com/software-engineering-iterative-model
[4] https://www.geeksforgeeks.org/software-engineering-spiral-
model/
[6] https://solutionshub.epam.com/blog/post/risk-management