RUP or Rational Unified Process, is a Rational software process developed products. The Unified Software Development Process also refers to the RUP, but removed the previous company name. This paper uses "Unified Process" and "RUP" as its full name and abbreviation.
I know on the current domestic industry are concerned about the issue: RUP tailoring principle of what is, is there any engineering of the RUP tailoring process. This article will discuss the above two issues. This view from personal experience that many, something has gone wrong, please treatise.
The first part of the tailoring principle RUP
First introduced the "software process is software," the well-known principle, and then specify the RUP tailoring principle is: the development of software process re-engineering.
First, the software process is software
Software Engineering Masters Osterweil in their paper "Software Processes are Software Too" in a strategically advantageous position to point out: the software process is software. Software has a development process, software process also has a development process; software development output software products, software production process of product development process; software development can be an evolutionary process, the software development process can also be an evolutionary process.
1. The software development process is a process
Software process is captured through the demand analysis, design, implementation, and testing activities, developed only. Discussed only briefly below. Software process development, the demand is the use of the software process, what is the purpose (high demand), which should be used to guide activities (demand); analysis and design means that the convergence between the activities and even parallel, the activities of output What products; implementation means that the process of documenting the software equivalent of software development coding; software development process is also testing, but in the mind run, and run twice higher-level instruction by using the brain is the acceptance testing.
Further, not only the development process, software process, and a complete software process life cycle. Because the software came out in the development process, there are delivered to maintain the process of upgrading until abandoned. Delivery is to implement software process, to guide the development of software projects. If the use of the software process and found wrong with the (bug, take corrective maintenance) or gaps (new requirements, scalability required maintenance), the original software process can be modified or enhanced. When the upgrade of its revised guidance also does not meet the needs of development, will be relegated to the end of the software life cycle process. Insert a way, the current is extremely strong in the CMM, "Software Process Framework and standards", as how to understand. From the "software process is software" point of view, CMM is the nature of the demand for software process development and testing program: CMM for each "critical practice" is a demand for software process development; As for the "key process areas" and " Key Practice Class ", from the perspective of the level of demand (see Wiegers landing Lina translation" software requirements "of the book), respectively, as" business needs "and" user needs "; CMM questionnaires, each question is testing the program one by one test case, test plan is developed in accordance with demand, CMM requirements and testing solutions to combo up. "CMM is the evolution of software process framework" is not difficult from a "software process is software" to find a sharp understanding of the perspective, that is: CMM process for all software development needs, based on the importance and interdependence, division of the priority , then the priority will be based on demand requirements divided into five groups, namely the initial level, repeatable level, defined level, management level and optimization of quantitative level.
2. Software process development process of product output
Software development software products output is a collection of procedures and documentation, then the output of the process of the development process of products like? Process finished form from there is some documentation. Products through the review process is institutionalized standardization documents, these documents to guide and constrain the software development process.
Process products must have four elements: feature elements (ie activity), behavioral factors (ie, through the dependence between the activities associated with the activity model constitutes, in fact, the classical development model of Figure Four basic models are the activities), organizational factors (ie, and correlation between the activities), information elements (ie products).
Look at RUP, the process of product is some documentation, a total of thousands of pages, are organized into a knowledge base online query. We look at its core concepts: roles, activities, work flow and work piece, did not leave the four elements with scope: the role of the people (of duty), parts or products, workflow involves the role, activities and artifacts of the model.
3. The software development process can also be an evolutionary process
To further prove that the software development and software development process of the similarity, we chose a very popular "evolution" concept to examine both. Evolution of development in the RUP called incremental development is the first step after step in the development of semi-finished products developed based on. Software developed by evolution, generally known as "fountain model." The software development process can also be used evolutionary development, especially the development of software process for large projects, due to software process complex enough, the evolution of development is necessary.
2, RUP tailoring principle
Explain the concept of re-engineering first, and then note that a re-engineering tailored RUP.
1. The concept of re-engineering
Re-engineering (reengineering) of existing software systems re-development process, including reverse engineering, new construction needs to consider and forward three steps.
2. RUP tailoring the software development process re-engineering
Since the "software process is software", then the process re-engineering concepts to software development also apply. RUP tailoring the story can say this: Rational has developed a RUP; we want to tailor RUP for a software project after, so we get on the RUP to reverse-engineering "RUP development needs" and "RUP design" and the document ; then consider our software projects are "demand for a software project software process"; Finally, compare the two requirements, draw "RUP design", software process engineering are being developed, "a software project software development process" .
Yes, "RUP tailoring the software development process re-engineering" point of view is indeed very instructive for us to develop the process engineering of the RUP tailoring and lay a solid theoretical basis.
The second part of RUP to reverse engineering
According to "RUP tailoring the software development process re-engineering" point of view, RUP tailoring of the RUP into reverse engineering, software process to consider the needs and process development of new works three steps forward. However, reverse engineering RUP only once, after the RUP tailoring process can be reused. Therefore, the author of "reverse engineering on the RUP" from the "project of the RUP tailoring process" discussed separately.
In addition, this article does not intend to elaborate on the process of reverse engineering project, it would be very large and very theorized. This approach is the reverse engineering process are listed in a subset of the output of products and each product's contents relate only to the core subset.
In fact, if not from a theoretical point of view, reverse engineering on the RUP is actually a process of understanding of RUP (RUP does not understand with no way to cut), therefore, the following description of the author of the RUP is a point to understand, initiate Please treatise.
Rational RUP in the development of a master who needs time to capture first, they certainly capture the demand and ultimately, the following:
鈼?RUP will be a process generic enough products, cut right after the RUP should be suitable for most projects. (Functional requirements)
鈼?Using RUP as a development process, develop risk to be minimized. (Non-functional requirements)
Next, the analysis would have been something like this:
鈼?development process by a variety of "activities" component.
鈼?Each "event" to produce different "products" may also be a variety of "activities" to produce a "product."
鈼?activities are business modeling, requirements analysis and design, implementation, testing, implementation, configuration and change management, project management and the environment. (RUP's nine core workflow)
鈼?products are: use case model, analysis model, design model, source code and test reports.
鈼?activities can contain sub-activities, sub-parallel between the activities can be, simply renamed the activities of the workflow, handle events renamed activities.
鈼?"products" can be finished or semi-finished products for the evolution, we simply finished and semi-finished products are called "artifacts."
Next to design, would have been something like this:
鈼?In order to meet the universal requirements: Generalization of object-oriented thinking of reference (ie, parameterized or template), RUP framework only and has nothing to do specific projects.
鈼?In order to minimize the risk to meet the demand: the introduction of the concept stage and the iterative development model, to give developers enough opportunity cost too much to give up or adjustment prior to development.
Fourth, to achieve
RUP's goal that we all see, is that you can query the knowledge base online content is very rich.
The third part of the project-oriented tailoring process RUP
In RUP was reverse engineering, and better understanding of the RUP, the need for the two steps are the core of the process of tailoring RUP, this section presents a project-oriented solutions. First of all, to discuss the needs of the software engineering process development; and then discuss the positive development of the software engineering process, that is five steps; Finally, given a few instructions on the five steps, highlighting the five-step method is how to reduce the complexity of tailoring RUP nature. The following set engineered to RUP tailoring process, not universal, but it does have some versatility.
First, the software requirements engineering process development
Here, the demand for software process development projects can draw on the needs of software development projects, including the requirements capture, requirements analysis, writing requirements documents and needs assessment.
1. Requirements Capture
First of all, a clear project environment, then all involved personnel to the project to gather information. Project environment, including software type, software size, software, importance, quality developers, co-operation with the quality of those factors will influence future software development process. Project personnel involved, including users, developers, contracts and tenders and so on to determine, collect from them the requirements of the software process.
2. Needs Analysis
Research collected the requirements of the demand for the formation of coherent statements.
3. Preparation of requirements documents
The demand for structured presentation documented.
Organization from the top leadership, developers and others to participate in the assessment. If the assessment has not been adopted, according to the specific situation from the above three steps back one step in the beginning, until the review through.
Second, the software engineering process development forward
A "five-step method." On the one hand, five-step method retains excellent RUP concepts, such as phase, iteration, workflow, artifacts and roles. On the other hand, five-step method using a number of RUP tailored to reduce the complexity of the strategy behind "five steps of the points that" there are about.
1. Determine what the project needs of the software workflow process
The size of the project different, RUP's nine workflow is not always necessary; other embedded software programs generally do not need business modeling workflow. Although workflow can contain parallel execution of activities, but this stage does not care about these, but only to the workflow as black box, that devolved into a workflow activity.
2. To determine which parts of each work out abortion
Because many developers or traditional forms of document review, therefore, may provide abortion work out a traditional document.
3. Determine the stage of evolution between
RUP development process will be divided into four stages (initial stage, the refinement stage, construction stage and transfer stage) is a good way to control risk, is to determine the stage of evolution between the principle of risk control, the decision to each stage Some work on which the flow, each workflow execution to what extent, output artifacts which, to what extent the completion of each job.
4. Determine the stage of the iterative scheme
RUP iteration is a great emphasis on the concept, you can further reduce development risk, the RUP's four stages (three stages in the post-iteration is more common), the decision whether to adopt iterative development, the development of the content of each iteration What.
5. Planning the internal structure of the workflow
Workflow is not the simple accumulation of activities, workflow related to the role, activities and artifacts, and workflow and project size and complexity of the role of the number of such causes. Therefore, we should first decide which of the software process to establish the role; If the second step in the introduction of the traditional documents, but also the traditional document mapped to RUP artifacts; Finally, the internal structure of the workflow planning, usually in the form of activity diagram to out.
If you want to get through the RUP tailoring the software process more complicated, no doubt cut this step is the difficulty.
3, five steps of a few instructions
1. To determine the timing of the software process
In practice, the process of determining the timing of the software is not static. For example, if the new project and the project team previously developed for a project very similar, we can determine the software before the development begins with a software process; If you are not familiar with the project, it is possible in the initial stages can only be determined after the completion of or modify the software process to be used; If the project has many unknown factors, iteration plan to defer to the stage before the start of better workflow planning is also delayed. 2. Five steps after such former Lean fat
Five steps in five steps, three steps before people feel very "thin", then two steps more "fat", which is Why? In fact, the iterative scheme and the role of the establishment have been delayed in order to simplify the software development process. Software development process there are two schools: an activity center and to the role as the center. The RUP workflow is the core concept of the role and activities of both, through appropriate to postpone planning workflow, can be simplified to RUP tailoring. Five-step method is such a tailored RUP process: it is an activity center, it's the first step is to identify activities; and its role in the establishment postponed until the end, not only reduces the complexity of tailoring RUP, but also to retain the work flow advantages.
3. RUP artifacts of traditional documents and correspondence
Between traditional documents and RUP artifacts, and sometimes there is a certain relationship, and often one to many relationship. Therefore, the second step can be five-step method with traditional documentation, not only idiomatic, but also reduce the early stage of software development details of the process, reducing the complexity of customized RUP. To the fifth step, and then broken down into traditional documents RUP artifacts to take advantage of the workflow aspects of RUP guidelines. Traditional "software-defined document" can be broken down into RUP's scope, vision and features; traditional "software requirements specifications" section to the non-functional requirements, including RUP's business rules; so.
DivX To Zune
China's own 3G licenses will be ready to go from the TD-SCDMA
The BASIC concepts of object-oriented
DAT to 3GP
MTS to AVI
Using C Builder To Create Online Chat Software
Hot New Exhibitors Carrying Radio City 2008CCBN
Moving to the COUNTRYSIDE to the computer through three banks
Onimusha 3 details all captures
Five 8-word mantra! Speculative Memory are major contributors spit voice
"Cottage XP" NATIONAL dream
PERA2009: "Made In China" The "engine"