Development Process-RUP

Source: Internet
Author: User
Summary

Basic Components of RUP:

The software engineering process is embodied through workflows, organized in various guiding principles, and the roles, responsibilities, activities, and artifacts are clearly defined.
The entire software engineering process is divided into the following steps:

Key features: iteration, Architecture-Centric, Use-Case Driven)

The horizontal axis represents the time dimension, and the vertical axis represents nine workflows in the RUP. The height of the workflow on the vertical axis, indicating the workload of the workflow at a certain time point.

Phases

In terms of time, RUP divides the project into four Phases (Phases): Inception In the initial phase, Elaboration in the refined phase, Construction in the constructor phase, and Transition in the delivery phase. The phase is just a rough way to divide, emphasizing the focus and main objectives of the time period. For example, in the delivery phase, the project is not only delivered to users, but also includes requirements, design, implementation, testing and other activities. It just means that this phase is from the perspective of the entire project, he focuses on delivery to customers, for example, referring to the following Incremental Delivery Model
Each stage contains one or more iterations, and each iteration is a complete development process, including at least requirements, analysis design, implementation, and testing, it can be seen as a small waterfall model process. The output of each iteration is a stable and executable product (product subset)
Each workflow defines the relevant outputs. In the four stages of the project, the outputs of each workflow can be roughly described.

When the project is completed, all outputs are complete.
The end of each stage is a major milestone and needs to be evaluated to determine whether the goals of this stage have been achieved

For typical medium-sized projects, the progress and workload distribution of each stage are roughly as follows:

Inception
For new projects, the initial stage mainly involves communicating with stakeholders on the project objectives, determining business and demand risks, etc. For projects with improvement and upgrade of existing systems, it is also necessary to determine whether the project is worthwhile and can be implemented.
Workflow:

Main objectives:
1. determine the scope and boundary conditions of the project, including the operation scenario, acceptance criteria, and what are possible and what are not possible
2. determine key use cases and main business scenarios for main design work
3. Present or demonstrate at least one alternative architecture scheme for major business scenarios
4. Evaluate the overall cost and schedule of the project
5. assess potential risks
6. Prepare the Project Environment

Refinement stage Elaboration
Determine the system architecture to provide a stable foundation for the design and implementation of the subsequent construction phase.
Workflow:

Main objectives:
1. determine various risks of the Architecture
2. Build a benchmark Architecture
3. Use prototype to Reduce Risks
4. Evaluate and verify the feasibility of the architecture based on the cost and time, ensure that the architecture, requirements and schedule are stable enough, and the risks are well controlled without affecting the project cost and progress.
5. Prepare the environment for the next stage

Construction
Clarify project requirements and develop based on architecture, focusing on cost, progress, and quality control

Delivery Phase Transition
This includes tests before release and adjustments based on user feedback. User feedback should be focused on product optimization, configuration, installation, user usability, and other issues
Installation preparation, user training, online operation, Customer maintenance, evaluation according to acceptance criteria, and delivery completed by stakeholders

Iteration

Each iteration identifies a major milestone and requires release to generate executable products. The granularity of iteration division is not too small. Generally, one iteration in a small project is more than a week. Because the main purpose of iteration is to reduce risks similar to the waterfall model and avoid all risks at the last moment. Therefore, when an iteration ends, it is necessary to have management measures such as verification and evaluation, if the iteration cycle is too detailed, the original intention of this management method will be lost. However, the iteration cycle cannot be divided too long. Otherwise, the risk control capability will be weakened.

Iteration mode: Incremental Lifecycle (Incremental Mode)
Determine user requirements, define system requirements, and then implement products through multiple build stages. The first stage implements some functions, and then adds some functions to each stage.
Typical process:

1. A short iteration of the Failover phase, the establishment of the project scope and objectives, the Establishment of Business Use Cases
2. A refined iteration, determining requirements, and creating architecture
3. Multiple constructor iterations to implement architecture and Use Cases
4. Multiple delivery iteration, product integration, and delivery to users
Use Cases: a). Familiar with problem domains; B). Good understanding of project risks; c). rich experience in the project team

Iteration mode: Evolutionary Lifecycle (evolution mode)
Different from the incremental mode, the requirements of users cannot be determined. users cannot be fully defined at the very beginning. Instead, they can define and determine user requirements through iterative processes to build projects and products.
Typical process:

1. A short iteration of the Failover phase, the establishment of the project scope and objectives, the Establishment of Business Use Cases
2. Multiple refinement iteration phases, further refining and clarifying the user requirements at each stage
3. One constructor iteration to implement architecture and Use Cases
4. Multiple delivery iteration, product integration, and delivery to users
Applicable scenarios: a). For new or unfamiliar problem domains; B). Lack of Team Experience

Iteration mode: Incremental Delivery Lifecycle (Incremental Delivery Mode)

It can be said that it is an incremental mode, but its iterative output needs to be deployed and implemented for the customer. The general scenario is that the market is under heavy pressure. Early release of key functions can bring huge commercial benefits to customers. The key for customers is early release. This model requires that a stable architecture be created at the beginning.
Typical process:

1. A short iteration of the Failover phase, the establishment of the project scope and objectives, the Establishment of Business Use Cases
2. A refined iteration requires a stable architecture.
3. One constructor iteration to implement architecture and Use Cases
4. Multiple delivery iteration, product integration, and delivery to users
Use Cases: ). familiar with problem domains, requirements and architecture can be determined at the initial stage of the project as soon as possible. There are not many new things to try for the project team and customers; B ). rich team experience; c ). the release of incremental functions can bring high value to customers.

Iteration mode: Grand Design Lifecycle (general Design mode)
That is, the waterfall model. It can be seen as the degradation mode of the iteration mode and only contains one iteration cycle. The actual operation may contain multiple delivery iteration cycles. Compared with the incremental interaction mode, its construction period is relatively long, as shown in the example, its construction period is relatively large compared with the normal iteration process, and is a single Construction Period

Iteration mode: Hybrid Strategies (Hybrid mode)
Few projects adopt a single iteration mode and are mixed in various forms

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.