0% found this document useful (0 votes)
29 views2 pages

Software Development Models in Software Engineering RPL 1

There are several common software development models, each with their own advantages and disadvantages. The Rational Unified Process (RUP) is an object-oriented model developed by IBM that is iterative and use-case driven. It is best for large teams developing complex software over long periods. Extreme Programming (XP) is a lightweight agile model best for small teams where requirements are uncertain. Agile Modeling focuses on communication and client involvement, allowing fast development but requiring flexibility to changes. Each model affects the development process differently based on factors like team size, requirements, and goals.

Uploaded by

Mr. Rekord
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views2 pages

Software Development Models in Software Engineering RPL 1

There are several common software development models, each with their own advantages and disadvantages. The Rational Unified Process (RUP) is an object-oriented model developed by IBM that is iterative and use-case driven. It is best for large teams developing complex software over long periods. Extreme Programming (XP) is a lightweight agile model best for small teams where requirements are uncertain. Agile Modeling focuses on communication and client involvement, allowing fast development but requiring flexibility to changes. Each model affects the development process differently based on factors like team size, requirements, and goals.

Uploaded by

Mr. Rekord
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Software Development Models in Software Engineering

Being a software engineer is not only about being smart about algorithms, code, and interface
design (GUI). However, a software engineer must also consider what development model is suitable
for the software development project being carried out. Because, the model used will affect the
performance of the team and can support the success of a software development project. There are
various software development models, for example, the Rational Unified Process (RUP), Extreme
Programming (XP), and Agile Modeling.

1. Rational Unified Process (RUP)


Rational Unified Process (RUP) is an object-oriented system development model developed by
Rational Rose, part of IBM. RUP is widely recognized as the standard object-oriented system
development methodology. The original version of RUP was defined to be very complicated for each
activity, but the latest version of RUP is a simpler methodology. The main features of this method
are its use-case driven and iterative approach to the software development lifecycle.

>> RUP is appropriate to use when conditions:


a. Object-oriented software development with a focus on UML (Unified Modeling Language).
b. Has a long development time.
c. Developed on software as a means of interaction between users and hardware.
d. Has a large team of programmers.
e. Software development and changes based on user needs.

>> Advantages of RUP Software Development:


a. Provide easy access to basic knowledge for team members.
b. Provides instructions on how to use UML effectively.
c. Supports the iterative process in software development.
d. Allows for additions to the process.
e. Allows to systematically controlling the changes that occur in the software during the
development process.
f. Allows running test cases using the Rational Test Manager Tool.

>> Disadvantages of RUP Software Development:


a. This methodology can only be used in object-oriented software development with a focus on UML
(Unified Modeling Language).
b. Requires quite a long time compared to XP and Scrum.

2. Extreme Programming (XP)

XP is a model that belongs to the agile approach proposed by Kent Back. According to his
explanation, the definition of XP is as follows: "Extreme Programming (XP) is a lightweight, efficient,
low-risk, flexible, predictable, scientific, and fun way to develop software". This model tends to use
an Object-Oriented approach and the stages that must be passed include planning, Design, Coding,
and Testing. The goal of Extreme Programming is that the team formed is small to medium in size
only, no need to use a large team. This is intended to deal with requirements that are not clear or
changes in requirements that are very fast. Extreme Programming is the most widely used agile
method and has become a very popular approach.

>> XP is appropriate to use when conditions:


a. Requirements change quickly
b. The risk is high and there are projects with new challenges
c. Small team of programmers, 2-10 people
d. Able to automate tests
e. There is direct client intervention

>> Weaknesses of XP:


a. The stories that show requirements are likely to be incomplete so developers must always be
prepared for change because change will always be welcome.
b. Can't create detailed code at the beginning (simplicity principle and the recommendation to do
what is needed that day).
c. XP has no formal documentation created during development. The only documentation is the
initial documentation done by the user.

3. Agile Modelling

Agile modelling is a philosophy on how to build models with some of them being done in a detailed
format while others are done in a vague and minimalist manner. Agile Software Development also
sees the importance of communication between team members, between technical people and
business people, and between developers and their managers. Another feature of Agile Software
Development is that the client becomes part of the software development team.

>> Advantages of Agile Modeling:


a. Increases client satisfaction
b. System development is made faster
c. Reduce the risk of software implementation failure from non-technical aspects
d. If during system development there is a failure, the loss in terms of material is relatively small.

>> Weaknesses of Agile Modelling:


Developers must always be ready for change because change will always be accepted.

You might also like