Author: Sun Jianhui Updated: ideal Source: Unknown Last update: 2004-06-20 Submission-mail: jc@ddvip.netRational Unified Process (hereinafter referred to as RUP) is a software engineering methods, mainly by Ivar Jacobson of The Objectory Approch and The Rational Approch has been developed. At the same time, it is a documentation software engineering product. All RUP implementation details and method leads are integrated on a disc in a web document, developed, maintained and sold by Rational, and the current version is 5.0. RUP is a framework for software engineering methods. Each organization can cut and modify RUP according to its own actual situation, as well as project size to the RUP to develop a desirable software engineering process. RUP absorbs the advantages of a variety of development models, which has good operability and practicality. From its launch market, with Booch, Ivar Jacobson, and Rumbagh's leadership and integration with unified modeling languages (Unified Model Language, hereinafter referred to as UML), multiple CASE tools support, constantly upgrade and maintenance Quickly get extensive recognition in the industry, more and more organizations use it as software development model framework. Two-dimensional software development model Traditional software development model waterfall development model is a single-dimensional model, and development work is divided into multiple continuous phases. In a period of time, you can only make a work such as, analysis, design, or implementation. In RUP, the software development student life cycle is divided into two-dimensional space based on time and RUP's core workflow. As shown in the figure below, time-dimensional disaggregated perspectives describes the entire software development lifecycle, which is the dynamic component of RUP. It can be further described as a cycle, stage, ipreal. The core workflow describes the static component of RUP from the technical perspective, which can be further described as activities, workflow, product (artifact), role. The workflow represented by the shaded portion in the figure can be seen that different workflows differ in different time periods. It is worth noting that almost all workflows have a workload in all time periods, just a different level of work. This is obviously different from Waterfall Process (Waterfall Development Model). Static Structure: Method Description Software Development Procedural Description, Who, what kind of thing, and how to achieve a particular goal. RUP uses the following four basic model elements to organize and construct the system development process. Role: The WHO Behavior: The How Product: The What Workflow: The WHEN Role Describes the behavior and responsibility of a person or a group. A developer can be a few characters at the same time, and one role can also be borne by multiple developers. RUP pre-defines a lot of roles, such as Architect, USE-Case Designer, Course Developer, Implementer ..., and a detailed description of each role work and responsibilities. Behavior is a separate work unit with a clear purpose. Products are a piece of information for behavior generation, creation or modification. It is the input of behavior and its output results. The products exist in a variety of forms, such as models (model, source code, executable file, document, etc.). The model is a complete description of the system from a certain angle.
A large part of RUP is to design and maintain a range of models, which have Use Case Model, Business Model, Analysis Model, Design Model, etc. All of these models are described in UML, so they are standard and support for a variety of CASE tools. RUP does not encourage writing on the literal, product should be created and modified as much as possible and track and maintain the version management tool, which is dynamically increased and modified throughout the software development cycle. Of course, it is also possible to generate a report (Reports) as needed, but they are static, and it is a snapshot of a model that does not require maintenance and modification. Workflow describes a meaningful continuous behavioral sequence, each of which produces some valuable products, and shows the relationship between roles. RUP mainly provides two ways of tissue workflow: core workflow and iteration workflow. The core workflow is logically divided into groups to describe the logical components of RUP. They are equivalent to the template and are not true during the development process. Iterative workflow is a specific implementation process of RUP, which cuts the core workflow, which is the specific implementation of the core workflow. Each type of workflow will be derived from the same or more models. RUP has nine core workflows. The purpose of these workflows is simply described below: Business modeling: Understand the organization structure of the system and its business operations to ensure that all participants have a common understanding of the development system. Requirements: Define system functions and user interfaces to enable customers to know the system's functionality, developers know the needs of the system, and provide the project budget and plan. Analysis and Design: Transform the results of demand analysis to implement specifications. Implementation: Defines the organizational structure of the code, implement code, unit test, and system integration. Test (TEST): Verify the interaction and integration of the respective subsystems. Make sure all the needs are properly implemented and errors before the system is released. Deployment: packaged, distribute, install software, upgrade old system; training users and sales staff, and provide technical support. Develop and implement Beta tests.
Configuration And Change Management: Track and maintain the integrity and consistency of all systems S. Project Management: Provides feasibility for planning, implementation, and monitoring software development projects; provides a framework for risk management. Environment: Support for organizational management and tools. Due to the layout, each workflow cannot be explained in detail. The name of the top six core workflow is likely to confuse people with the order of Waterfall Process. But we know that the core workflow is not a specific implementation, and some behaviors in the core workflow may be refined in the software development cycle, once again refined in the iterative workflow. The figure below is a specific example of the demand analysis workflow, and the RUP is detailed for each behavior implementation step. Dynamic Structure: Iterative Development At time dimension, in order to easily manage software development processes, monitor software development status, RUP divides software development cycles into cycles, each Cycle generates a new version of a product. Each Cycle is composed of four consecutive phases (pahse), and the determined tasks should be completed each phase. Starting Phase: Defines the final product view, business model, and determine the system range. Evaluation: Design and determining the system architecture, formulate work planning and resource requirements. Constructing: Constructing the product and continues to evolving demand, architecture, and planned until the product is submitted. Transition: Submit the product to the user. As shown in the figure below, there should be a milestone to evaluate the work at each stage. If you fail to pass the milestone, the decision maker should decide whether to cancel the project or continue to do this. Each phase consists of one or more consecutive iterations, each iteration is a complete development process is a specific iterative workflow execution from the head to the end. Unlike core workflows, RUP is not unable to give specific implementation steps of the tendering workflow. It requires the project manager according to the current iteration, and the behavior of the core workflow appropriately Tarrel to achieve a specific iterative workflow. RUP's iterative development process is controlled, and the number of item iterations is developed in the project plan, and the continuation time and target of each iteration are developed. Detailed iterative programs and specific iterative workflows are set in each iterative start phase. Each iterative process generates this iteration. As the basis of the next iteration. The test work should be performed before the iteration, and the iterative process should be carefully evaluated, preparing for the next iteration. Iterations are not repeatedly identical, but refine and implement different USE Case. Using Examples (Use case "drives traditional object-oriented development methods because it is difficult to explain how a software system implements its functionality. In RUP, Use Case Model is such a clue that it is the basis of the entire software development process. Use Cases Model is a result of demand analysis of workflows, which describes the functionality that the system should implement from the user's perspective. Using USE Case Model can effectively define system ranges and their behavior and identify users and developers. Use Case Model is mainly composed of USE Cases and Actors. Use case is a series of behaviors that are executed and generate some meaningful results for the Actor. Actor is an external system with interactive with this system, which can be a human, other software system, etc.
The following figure is an example of a use case mode: Use case as an input to the design workflow is the basis for the implementation of the analysis and design model. Design model As a specifications of the workflow, it naturally wants the functionality defined by the USE Case model. Also in the test workflow, the USE CASE MODEL makes a test instance to effectively check the correctness of the entire system. In addition, USE CASE is the basis of the user manual and drives the operation of the entire iterative development process, so we say that Rational Unified Process is driven by USE CASE. Software designers have always been strong in software architectualization in the system of software designers. Because it enables developers and users to better understand the system's logical structure, physical structure, system functions, and their work mechanisms, they also make the system easier to modify and expand. However, due to the purpose and definition of the architecture and its definition, it has always been influented by the method of confusion. Since the perspective of different developers in the development of the project is not the same, the software architecture should be a multi-dimensional structure, and the RUP uses the 4 1VIEW model shown in the following figure to use the UML language. To describe the architecture of the software. These five views are made from the corresponding model to the structure, function, robustness and expandability of the system. It is the essence and core part of each model. Use case is the driving force of the driving software, but the analysis and design workflow is the core of the software architecture (Architecture). The early iteration work of RUP, especially the evolutionary phase is the system structure of determining and checking the software. A key task of Milestone in the evolutionary stage is to determine if the system is robust, mature, and stable. The advantage of RUP is an iterative development method is a process of continuous reduction risk. Each time iterative process is selected to be the most critical is also the most risk of Uses execution. Therefore, risk is constantly discovered, eliminated in the iterative process. Iterative development methods can be more easily managed changes, and the entire development process consists of an independent iteration of one time. The project manager can easily adjust the iterative process, so that the final product achieves a change. Most products exist in the CASE tool and manage the workflow, which makes all developers to know this change in time, and formulate corresponding countermeasures. Developers and project-related personnel can get feedback from the iterative process, and can modify the mistakes in previous work, effectively monitor the development process, and correct the iterative workflow, this for a long time span project It is of great significance. Using the USE CASE driver, the architecture is made to make developers easier to control the development process of the entire system, manage its complexity, maintain its integrity. The architecture defines clear and functionally clear components for component-based development, large-scale software multiplexing, and is the basis for planning and staff arrangements in project management. Rational Company provides a wealth of Case tools to support RUP. For example: visual modeling tool Rational Rose; demand management tool Requisite Pro; version management tool Clear Case; Document generates SODA; Test Tool: SQA, Perfomence, etc. Since RUP uses a standard UML description system model base architecture, you can take advantage of the products provided by many third-party manufacturers. RUP can meet the CMM (Capability Maturity Model) model developed by the Software Engineering Institute. Summary Rational Unified Process is a new generation of software engineering methods. Compared with the early waterfall development model, it has iterative incremental development, using instance driver, three distinct features of software architecture as the core, making RUP very suitable for development complex, technical difficult, multi-change High risk project.
RUP is also cropped software development process framework, organizations can cut RUP according to their own and project features, and RUP can even be degenerated into waterfall development model in some cases. Reference Rational Unified Process. The Rational Unified Process An Introduction. In July 1993, the undergraduate graduated from the North Jiaotong University Computer Department, July 1996 graduated from the computer system of Jinan University. Since July 1996, it works in the Multimedia Department of Guangdong Post Office. Main research direction: software engineering, system analysis and design, Internet business management billing system, data warehouse decision support system. October 19, 2004 10: 56: 48Http://www-900.ibm.com/developerworks/cn/rational/r-rup-implementer/