RUP
- The Rational Unified Process is an iterative software development framework developed by Rational Corporation.
- Sometimes a company doesn’t know what they want but they know what they don’t want. Companies do not want overhead.
- RUP provides a disciplined approach to assigning task and responsibilities within an organization. The goal is to produce high-quality software that suffices user needs within a predictable budget and schedule.
Milestones
Phase | Achievement |
Inception | Lifecycle Objective Milestone |
Elaboration | Lifecycle Architecture Milestone |
Construction | Initial Operational Capacity |
Transition | Product release Milestone |
6 Best Practices
Six Best Practices |
1. Develop Iteratively |
2. Manage Requirements |
3. Use Components |
4. Model Visually |
5. Quality and Defect Management |
6. Synchronous Change Components |
9 core process workflows divided into 2 groups
Engineering Workflows | Supporting Workflows |
Business model workflow | Project management workflow |
Requirement and analysis workflow | Configuration and Change management workflow |
Design workflow | Environmental workflow |
Implementation workflow | |
Testing workflow | |
Deployment workflow |
PHASE & AUDIENCE | DESCRIPTION | DELIVERABLES |
Inception Phase________________ Business owner, Technical Lead, PM, BA, QA analyst |
Here the main objective is to assess the need by developing Business case document. After that, define the scope by developing vision or scope document. Also, we gather requirement and perform viability or feasibility study. |
1. Vision or scope document 2. Business case document 3. Risk list 4. Initial use case model (around 10-20% finished) 5. Glossary |
Elaboration Phase________________
Sr. Developers, BA and technical architects |
The main objective of this phase is to mitigate the risk identified. Almost all use cases are identified and the majority of the use cases are elaborated and specified in detail and, a system architecture is defined. Schedule, staff and cost profile is also identified. |
1. Prototype 2. Risk List 3. Use Cases 4. Data Model 5. Vision 6. Test Suite |
Construction Phase________________
Programmer, QA analyst |
The main objective of this phase is to build the software system. In longer projects, several construction iterations may happen because we divide the use cases into more manageable segments. |
1. Software product integrated on the adequate platforms. 2. User manual 3. A description of the current release |
Transition Phase________________
Administrator Programmer
|
The main objective of this phase is to “transit” the system from development into production. This phase is often initiated by the Beta release of the application. we also focus on activities required to place the software into the hands of the user.
|
1. Final Software product or system 2. Complete user manual 3. Release note |
Advantages | Disadvantages |
Regular feedback from and to stakeholder | Too complex to implement |
Efficient use of resources | Development can get out of control |
Improved control | Need an expert to fully adopt this process |
Improved risk management |
UML
Structural
Class diagram
Capture the logical structure of the system, the classes and objects make up the model, describing what exists and what attributes and behaviour it has.
Behavioral
Activity diagram
Activity diagram is basically a flowchart to represent the flow from one activity to another activity. It is used to show message flow from one activity to another.
Use case diagram
Use case diagrams are used to gather the requirements of a system including internal and external influences.
Interaction
Sequence diagram
Sequence diagrams, commonly used by developers, model the interaction between objects in a single use case.