Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
58 changes: 57 additions & 1 deletion Questions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,68 @@ before you start answering these question.

Questions
1. What is a software process model and why is it important in software development?
A software process is the development team's activities that lead to the final development of their software program.
Each of these activities relates to the other in some way, forming a linear path the team follows from initial planning to final deliverables.
They help project managers plan their processes, estimate costs, identify challenges and communicate with teams and customers. If you work in software development,
it might be helpful to learn more about process models and how they can help you.
Design and implementation:
The team designs the software around the specification phase's parameters and programs the software. This includes all of the coding, planning, 3D design and initial planning aside from defining the project's specifications.

Verification and validation:
The team verifies that the completed software program conforms to the customer's needs and meets quality expectations. The team presents the prototype to the customer for review.
Evolution:
The team listens to customer feedback and adjusts the software to meet new parameters or improve original parameters for better functionality. This can be an ongoing process for the team if they offer post-development support for their software.

2. Compare and contrast the Waterfall and Agile software process models.
What are the key differences between the two models and
what are the benefits and drawbacks of each?

The main difference is that Waterfall is a linear system of working that requires the team to complete each project phase before moving on to the next one
while Agile encourages the team to work simultaneously on different phases of the project

Benefits of Agile Software Process
1. Short-term deadlines encourage productivity and efficiency
2. There is a lot of flexibility to change project direction and experiment with new directions
3.The methodology is client-facing, which means that the team shares progress and incorporates feedback into the process

Drawbacks of Agile Software Process

1. Because team members are working on multiple phases at a time, there is potential for overlap
or unnecessary effort spent on later stages if an early phase needs to be modified.
2.Deliverables are not a requirement to progress to the following phase. It can be harder to ensure the entire team is on the same page—especially if it’s a large team with different departments.
It also means that work can get lost or miscommunicated between team members, especially when people leave and join the team in the middle of the projects.
3.The project timeline is more difficult to determine from the start, and it is also more susceptible to change

Benefits of Waterfall software process
1. Provides a concrete plan of the project from start to finish
2.The team establishes project requirements early on, which can save time
3. Each phase of the project requires a deliverable to progress to the next phase, making the workflow more structured

Drawbacks of Waterfall process Software
1. The Waterfall methodology requires that you outline the project from start to finish before you begin. This doesn't allow for a lot of flexibility or change.
2.Additionally, it can become problematic if the stakeholders disagree on the project’s vision and don’t find out until it is executed or in a later phase.
3.You might not realize an issue with a phase until you have already progressed to the next one.
This would mean going back through each phase and checking where the mistake or error occurred,
which can be a timely process.
4.Because each project phase needs to be completed before progressing to the next stage,
the process can take longer

3. What is Rational Unified Process (RUP), and
how does it differ from other software development process models?
What are the key phases and activities involved in RUP, and

Rational Unified Process is the ultimate guide for assigning tasks and responsibilities within a development organization and
developing high-quality software that meets the needs and requirements of its users.

What are the key phases and activities involved in RUP,
The RUP methodology splits the project life cycle into four phases: inception, elaboration, construction, and transition. Each phase is iterative and collaborative.
and
what are the benefits and drawbacks of using this approach in software development projects?
Benefits
1.It forces integration to happen throughout the software development, more specifically in the construction phase.
2.It emphasizes the need for accurate documentation
3.It allows you to deal with changing requirements regardless of whether they are coming from the customer or from the project itself

Drawbacks
1. It mostly relies on the ability of experts and professionals to assign the activities to individuals who should then produce pre-planned results in the form of artifacts.
2. The integration in development process can also have an adverse impact on some more fundamental activities during the stages of testing
3. Although RUP has delivered excellent results, especially in software development, it is a rather complex method which makes its implementation challenging, particularly for smaller businesses, teams or projects.