0% found this document useful (0 votes)
23 views12 pages

17 Lecture

Uploaded by

Radhika Kapoor
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)
23 views12 pages

17 Lecture

Uploaded by

Radhika Kapoor
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/ 12

Software Engineering (SWE-250)

Engr. Javed Ali Abbasi


Lecturer, Department of Computer Science, SIBAU
RUP/UP (Rational Unified Process: 1990s)
RUP is a software development framework created by Ivar Jacobson, Grady bootch, & James Rambaugh
at Rational Software Corporation, now part of IBM.

RUP promotes iterative development, where software is developed in small increments. This allows for
frequent feedback and adjustments, reducing risks associated with late changes in requirements.
Boehm, B. W., & Turner, R. (2003). Balancing Agility and Discipline: A Guide for the Next Generation of Software Development. Addison-Wesley

One of the strengths of RUP is its adaptability to different project sizes and types. Organizations can
customize the framework to fit their specific needs, making it a versatile choice for various software
development projects
Kroll, P., & Kruchten, P. (2003). The Rational Unified Process: An Introduction. IBM Press
RUP Phases: Inception Phase
Essential Activities:
Planning and preparing the business case (feasibility study and project justification)
Exploration of current business processes, roles and responsibilities
Understanding and Articulating the business processes (process descriptions or business process
modelling: BPMN)
Identification and evaluation of potential strategies for reengineering of business processes (existing
systems)
Creation of business domain model (business use cases)
Formulating the scope of the project (requirements, constraints, and acceptance criteria)
RUP Phases: Elaboration Phase
Essential Activities:
To ensure that the architecture, requirements and plans are stable enough.
To produce an evolutionary prototype of production-quality components, as well as possibly one or
more exploratory, throw-away prototypes to mitigate specific risks.
Creating and base-lining detailed iteration plans for the construction phase.
Putting in place the development environment, including the process, tools and automation support
required to support the construction team.
RUP Phases: Construction Phase
The construction phase of the RUP is identical to the construction activity of the generic process.

Essential Activities
All necessary & required features & functions for the software increment are then implemented in source
code.
Unit tests are designed and executed for each component being implemented.
Integration tests are performed due to assembling or integration of components.
RUP Phases: Transition Phase
Essential Activities
User acceptance testing (Alpha testing & Beta testing) to validate the new system against user
expectations
Finalizing end user support material
Training of end users and maintainers
Creating product release and getting user feedback
Fine-tuning the product based on user feedback
Making the product available to the end users
RUP/UP: Iteration Patterns
Iteration Pattern: Incremental Lifecycle
The incremental strategy determines user needs, and defines the system requirements, and then
performs the rest of the development in a sequence of builds. The first build incorporates parts of the
planned capabilities, the next build adds more capabilities, and so on until the system is complete.

Characteristics of Incremental Lifecycle:


a short Inception iteration to establish scope and vision, and to define the business case
a single Elaboration iteration, during which requirements are defined, and the architecture established
several Construction iterations during which the use cases are realized
several Transition iterations to migrate the product into the user community
RUP/UP: Iteration Patterns
Iteration Pattern: Evolutionary Lifecycle
The evolutionary strategy differs from the incremental in acknowledging that user needs are not fully
understood, and all requirements cannot be defined up front, they are refined in each successive build.

Characteristics of Evolutionary Lifecycle:


a short Inception iteration to establish scope and vision, and to define the business case
several Elaboration iterations, during which requirements are refined at each iteration
a single Construction iteration, during which the use cases are realized
several Transition iterations to migrate the product into the user community
RUP/UP: Iteration Patterns
Iteration Pattern: Grand Design Lifecycle
The traditional waterfall approach in which there is only one iteration in each phase. It is called "grand
design“.

Characteristics of Grand Design Lifecycle:


A short Inception iteration to establish scope and vision, and to define the business case
A single Elaboration iteration to establish requirements document, architecture and models
A single very long Construction iteration, during which the use cases are realized
Several Transition iterations to migrate the product into the user community
RUP/UP: Iteration Patterns
Iteration Pattern: Hybrid Strategies
In practice few projects strictly follow one strategy. You often end up with a hybrid, some evolution at
the beginning and some incremental building.

Characteristics of Grand Hybrid Strategies:


For complex or unfamiliar problem domains, where there is a high degree of exploration: increase
the number of iterations in the elaboration phase and its length.

For more complex development problems, where there is complexity translating the design into
code: increase the number of iterations in the construction phase and its length.

You might also like