Alhassan 5201040814

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

Q1.

A software process model is the mechanism of dividing software development work


into distinct phases to improve design, product management, and project management.
It is also known as a software development life cycle.
Importance-
-defines the process and the flow in which the project needs be carried out.
-defines how the software should be developed based on the business and users’
requirements.
-These models help both developers and testers to develop the project properly.

Q2.
Agile and waterfall are two distinctive methodologies of processes to complete
projects or work items.
Agile is an iterative methodology that incorporates a cyclic and collaborative
process.
Waterfall is a sequential methodology that can also be collaborative, but tasks are
generally handled in a more linear process.

KEY DIFFERENCES:
-Agile models follow the concept of consistent growth during the project itself so
that afterward it reduces the risk of completing the requirements.
-Waterfall technique is a sequential design process.

-The Agile model is known for its versatility.


-This Waterfall methodology is a systematic developing method that may be rather
rigorous at times.

Benefits of Agile Model


It is a method that is centered on the customer. As a consequence, the customer is
always involved throughout the entire process.
Agile teams are extremely active and self, and as a consequence, they are much
more inclined to deliver superior results in development projects.
The agile software development approach ensures that development quality is
maintained throughout the development process.
The strategy is solely based on the notion of incremental consistent growth in
progress.

Drawbacks of Agile Model


It is not a viable strategy for small-scale development efforts.
In order to try and make crucial choices during the meeting, it is vital to have a
professional presentation.
The cost of implementing an agile approach is just somewhat greater when compared
to traditional development approaches.

Benefits of Waterfall model


It is among the most simple types to operate. Because of the project’s nature,
each phase contains deliverables and also a review process.
It is best suitable for smaller tasks with defined requirements that are simple to
understand and execute.
completion of the job in a shorter amount of time
Both the procedure and the outcomes are meticulously recorded.
Simple to adopt a method for restructuring teams
This project management approach is useful for dealing with dependencies.

Cons of Waterfall Model


This is not the preferred product for a big project.
This approach is less effective if the requirement is not clearly defined at the
start.
It is difficult to travel ahead and make changes to previous stages.
Q3.
Rational Unified Process (RUP)
is an approach for software engineering for delegating activities and
responsibilities inside a software development organization.
Its primary purpose is to enable the creation of high-quality software that
satisfies the end user's requirements within a predictable budget and timeframe

Key phases and activities involved in RUP


There are four main phases in RUP: Inception, Elaboration, Construction, and
Transition.

RUP Phase: Inception


During the Inception phase, the main objectives are to acquire stakeholder
agreement on the project’s goals and to secure funding. This will require creating
a high-level requirements model, which will define the project’s scope, and
possibly developing a user interface prototype. You are responsible for initiating
the work environment installation and processing customization for the team.
Moreover, you will develop a high-level plan for the project’s progress.
It would help if you defined the business case and the project’s scope during the
inception phase. Business case includes success criteria, a risk assessment, a
resource estimate, and a milestone phase plan. You should identify all external
entities with whom the system will interact (actors) and specify the nature of the
interactions at a high level. You should also conduct a risk analysis to determine
any potential risks that may be detrimental to the success of your project.

RUP Phase: Elaboration


This is the most crucial of all the four stages of RUP, in which you examine the
project’s requirements and necessary architecture, review the challenges, design
the project plan and architect, and remove the high-risk aspects from the project.

The system requirements and architecture are evaluated and analyzed during the
elaboration phase. The elaboration phase involves analyzing products and laying the
groundwork for future architecture.

During this phase, the project team gains a comprehensive understanding of the
system. The requirements are elaborated and refined in this phase, and a
preliminary design is created. The objective of the elaboration phase is to produce
a comprehensive and accurate description of the system to be built.

RUP Phase: Construction


The complete software system is developed during the Rational Unified Process
building phase. The focus is on the creation of system components and other
features. Additionally, the bulk of coding occurs at this time.

The construction phase of the Rational Unified Process is the longest and most
complex. This phase takes place over a period of six months, with each month
divided into two two-week iterations. In this process, the focus is on cost and
resource management and quality assurance.

The application is built and tested in the construction stage of RUP. This includes
creating components, testing those components, and then assembling the pieces into
a working system. During construction, developers create software components and
test them to ensure they meet the requirements specified in earlier phases. To do
this effectively, developers need to understand the system’s architecture and
design clearly.

RUP Phase: Transition


This is the final step in the entire product development life cycle that entails a
transition from the development to the production stage. In the transition phase,
testing is conducted on the software, defects are removed, and the software is
released.

The software is published and distributed to customers or end-users during this


phase. The product will be updated or altered based on input from end users. During
the transition phase, a software product is introduced to the user community so
that they can become familiar with its capabilities. When the product has been
delivered to the end user, there might be defects, requirements for updated
versions, etc.

=>Benefits of RUP
It allows you to deal with changing requirements regardless of whether they are
coming from the customer or from the project itself.
It emphasizes the need for accurate documentation.
It forces integration to happen throughout the software development, more
specifically in the construction phase.

=>Drawbacks of using the RUP approach

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.
The integration in the development process can also have an adverse impact on some
more fundamental activities during the stages of testing
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.
It is a complex model to implement as it has multiple stages of the workflow.
It is challenging for organizations to implement which has, a small team size or
projects.

You might also like