Home  >  Article  >  Backend Development  >  Unified software development process - RUP

Unified software development process - RUP

黄舟
黄舟Original
2017-02-23 10:17:431993browse

RUP (rational unified process) is an object-oriented and network-based program development methodology. It is a method based on object-oriented methods. RUP adheres to a use-case-driven, architecture-centered, iterative and incremental development method.

Let’s briefly introduce RUP based on the mind map:

1. Six experiences

## 1) Iterative development

Each stage in RUP can be further decomposed into iterations. An iteration is a complete development cycle. Each cycle can produce an executable file. Each cycle is an incremental development until the final product is formed. Iterative development allows requirements to change during each iteration, and the understanding of the problem is deepened through continuous refinement. Iterative development not only reduces risks, but also allows the end of each iteration to boost team morale.

2) Management requirements

RUP describes how to extract, organize and document the functions and constraints of the system, use cases and scripts The use of has proven to be an effective method of capturing requirements.

3) Component-based architecture

An architecture based on independent, replaceable, modular components helps manage complex performance and improve usage. RUP describes how to design a software architecture that is flexible, adaptable to change, easy to understand, and conducive to reuse.

4) Visual modeling

RUP is often the same as UML is linked together to establish a visual model of the software system to help people improve their ability to manage software complexity. RUP tells us how to visually model the software system and obtain information about the architecture and the structure and behavior of the components.

5) Verify software quality

In RUP SoftwareQuality assessment is no longer a separate activity performed after the fact or by a separate team, but is all activities built into the process. This way, defects in the software can be discovered early, software quality can be improved, and software costs can be saved.

6) Control software changes

If there is no strict control and coordination in iterative development, the entire software development process will quickly fall into chaos Among them, RUP describes how to control, track, monitor, modify products, and isolate changes from other workspaces to establish a safe workspace for each developer.

2. Two-dimensional development model

RUPSoftware DevelopmentLifeCycle is a two Dimension’s software development model. The horizontal axis is organized through time, which is the life cycle characteristic of the process unfolding, reflecting the dynamic structure of the development process. The terms used to describe it mainly include cycle, stage, IterationandMilestone; The vertical axis is organized by content into natural logical activities, reflecting the static structure of the development process. The terms used to describe it mainly include Activities, products, workers and workflows. As shown in the picture:

##3. Core concepts

The core concepts defined in RUP mainly include roles, activities and work:

Role: describes the behavior of a person or a group and responsibilities. RUP pre-defines many roles. Activity: It is an independent unit of work with a clear purpose.
Artifact: It is a piece of information generated, created or modified by an activity.

4. Cropping

RUP is a general process template that contains many development guides, products, and role descriptions involved in the development process. Because it is very large, RUP is used for specific development organizations and projects. Cutting is also required, that is, RUP needs to be configured. RUP is like a meta-process. Many different development processes can be obtained by tailoring RUP. These Software Development processes can be regarded as specific instances of RUP. ##. RUP tailoring can be divided into five steps:

1) Determine which

workflows are needed for this project.

2) Determine which artifacts are required for each

workflow.

3) Determine how to evolve between the 4 stages. Determining the evolution between stages should be based on the principle of risk control. Determine which

workflows are required in each stage, to what extent each workflow is executed, what products are there, and how long each product is completed. To what extent.

4) Determine the iteration plan within each stage. Plan the content to be developed in each

iteration of the 4 phases of RUP.

5) Plan workflow internal structure. WorkflowInvolves roles, activities and products. Its complexity is related to the size of the project, that is, the number of roles. Finally, plan the internal structure of the workflow, usually given in the form of an activity diagram.

5. Development process

# in RUP ##Software life cycle is broken down into four sequential phases in time, namely: initial phase, refinement phase, construction phase and delivery phase. Perform an evaluation at the end of each stage to determine whether the goals of this stage have been met. If the evaluation results are satisfactory, the project can be allowed to move to the next stage.

## 1)Initial stage

The goal of the initial phase is to establish the business case for the system and determine the boundaries of the project. To achieve this goal it is necessary to identify all external entities that interact with the system and define the characteristics of the interactions at a high level. This stage is of very important significance. What is focused on at this stage is the main risks in the business and requirements of the entire project. For development projects based on legacy systems, the initial phase may be short.

2)Refining stage

##The goal of the refinement phase is to analyze the problem area, establish a sound system architecture foundation, and compileprojectplan, eliminate the highest risk elements of the project. To achieve this, decisions about the architecture must be made based on an understanding of the entire system, including its scope, primary functionality, and non-functionalities such as performance need. At the same time, establish a supporting environment for the project, including creating development cases, creating templates, guidelines and preparing tools.

3)Construction phase

## During the build phase, all remaining artifacts and application functions Developed and integrated into a product, all functionality is tested in detail. The build phase is a manufacturing process in the sense that the focus is on managing resources and controlling operations to optimize cost, schedule, and quality.

4)Delivery phase

##The focus of the delivery phase is to ensure that the software is available to end users. The delivery phase can span several iterations and includes testing the product in preparation for release, with minor adjustments based on user feedback. At this point in the lifecycle, user feedback should focus primarily on product tuning, setup, installation, and usability issues, and all major structural issues should already be The early stages of the project life cycle are addressed.

6. Core workflow

## There are 9 core workflows in RUP, divided into 6 core process workflows and 3 core support workflows. These workflows are accessed multiple times throughout the lifecycle. The nine core workflows are used in rotation throughout the project, repeated with varying emphasis and intensity in each iteration.

1)Business Modeling

##Business ModelingWorkflowDescribes how to develop an idea for a new target organization and based on this idea in the businessUse Case Model Define the organization's processes, roles and responsibilities in the business object model.

2) Requirements

##RequirementsWorkflowThe goal is to describe what the system should do and to get developers and users to agree on this description. In order to achieve this goal, the required functions and constraints must be extracted, organized, and documented; the most important thing is to understand the definition and scope of the problem solved by the system.

3)

Analysis and Design

##Analysis and DesignWorkflowWillRequirementsTranslate into the design of future systems, develop a robust structure for the system and adjust the design to match the implementation environment and optimize its performance. The result of analysis design is a design model and an optional analysis model. The design model is an abstraction of the source code, consisting of design classes and some descriptions. Design classes are organized into design packages and design subsystems with good interfaces, and descriptions reflect how the objects of the class work togetherimplementuse cases function. Design activities are centered on Architecture Design. The architecture is expressed by several structural views. The structural view is an abstraction and simplification of the entire design. Some details are omitted in this view, making important The characteristics are reflected more clearly. Architecture is not only a medium for good design models, but also improves the quality of the models created during system development.

4) Implementation

##The purpose of implementing workflow includes defining the organizational structure of the code in the form of hierarchical subsystems. Implement classes and objects in the form of componentsTest and integrate the developed components as units The result produced by a single developer (or group) into an executable system. ## 5)

Test

TestingWorkflowTo verify the interaction between objects, verifysoftware Correct integration of all components in , verification that all requirements have been correctly implemented, identification and confirmation of defects before software deployment raised and processed. RUP proposes an iterative approach, which means testing throughout the project to detect defects as early as possible, fundamentally reducing the cost of modifying defects. Testing is similar to a three-dimensional model and is conducted from reliability, functionality and system performance. ## 6) Deployment

DeploymentThe purpose of the workflow is to successfully generate the version and SoftwareDistributed to end users. Deployment WorkflowDescribes those activities related to ensuring that the software product is available to end users, including: software packaging, software generation Products other than itself, installing software, and providing assistance to users.

7)Configuration and Change Management

##Configuration and Change ManagementWorkflowDescribes how to control a large number of products in a project composed of multiple members. Configuration and Change ManagementWorkflow Provides guidelines for managing multiple variants in an evolving system, tracking Software Version. The workflow describes how to manage parallel development, distributed development, and how to automatically create projects. It also explains how to maintain audit records on the reasons, time, and personnel for product modifications.

8)Project Management

##Software Project Management Balance various potentially conflicting goals, manage risks, overcome various constraints and successfully deliver products that satisfy users.

9) Environment

##The purpose of the environment workflow is to provide the software development environment## to the software development organization #, including procedures and tools. Environment Workflow focuses on the activities required to configure the project process. It also supports the activities of developing project specifications, providing a step-by-step guide and describing how to implement the process in the organization. .

The above is the content of the unified software development process-RUP. For more related content, please pay attention to the PHP Chinese website (www .php.cn)!



# #

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:ASP.NET SummaryNext article:ASP.NET Summary