Blog

All articles

Rational Unified Process. Part 2. Core supporting workflows and when to use RUP

We devote this part of the article to the study of сore supporting workflows, artifacts, precedents and roles  and when to use RUP.

Now consider the elements related to product support – core supporting workflows:

  • Configuration management is a powerful layer of administrative actions aimed at product version management, which involves monitoring source code (model, executable modules, tests, documentation), product version control, corporate standards for code and documentation development, tracking changes and errors (bug tracking); is closely connected with testing and customers support;
  • Project management involves a set of administrative project management actions according to the RUP ideology, project management tools are used (see the list of Rational products below);
  • Environment involves the creation and support of analysis, design, development, testing (both software and hardware).

In RUP it is recommended to follow six practices, which allow to develop the project successfully :

  • iterative development;
  • requirements management;
  • use of modular architectures;
  • visual modeling;
  • quality checking;
  • tracking changes.

Practices are not part of the RUP process itself, but are strongly recommended for use.Some of the practices directly come out of the RUP ideology. Thus, iterative development is embedded in the structure of RUP, since this process is one of the realizations of the “spiral”.

The requirements management in RUP appears at the earliest stages of the analysis. Theoretically, the modular architecture allows you to reuse the code, and the system is more flexible. Due to the fact that UML is an object language, modularity can be ignored, but this is somewhat difficult. Visual modeling can effectively deal with the increasing complexity of systems. In addition, models are the means of communication between developers, but for this, developers must speak in UML, which involves a certain training. Visual modeling is often done using the Rational Rose tool, which allows you to get a set of very useful documents for managers, system administrators, developers, testers, generate code elements. This tool is not the only implementation of UML – available as commercial alternatives (for example, Microsoft Visio), and free. It should be noted that UML dialects implemented in modeling tools do not always coincide: the dialect of Rational has some serious differences, described both in the documentation and in the books on UML.

Products Supporting RUP

The following are the most famous products that support the Rational Unified Process:

  • Rational Rose is a CASE-tool for visual modeling of information systems, which has the ability to generate code elements. A special edition of the product – Rational Rose RealTime – allows you to get the executable module at the output;
  • Rational Requisite Pro is a requirement management tool that allows you to create, structure, prioritize, monitor, controle changes in requirements that occur at any stage of the development of application components;
  • Rational ClearQuest is a product for change management and bug tracking that closely integrates with testing and requirements management tools and is a single environment for linking all errors and documents to each other;
  • Rational SoDA is a product for automatic generation of project documentation, which allows you to establish a corporate standard for internal documents. It is also possible to bring the documentation to already existing standards (ISO, CMM);
  • Rational Purify, Rational Quantify Rational PureCoverage are testing and debugging tools:

– Rational Purify is a very powerful tool for finding run-time errors for application developers and C / C ++ based components,

– Rational Visual Quantify is a tool for measuring characteristics for developers of applications and components that program in C / C ++, Visual Basic and Java; helps to identify and eliminate bottlenecks in software performance,

– Rational Visual PureCoverage automatically identifies areas of code that are not tested;

  • Rational ClearCase is a product for software configuration management (SCM), which allows to perform version control of all project documents. With it, you can support multiple versions of projects simultaneously, quickly switching between them. Rational Requisite Pro supports updates and tracks changes in requirements for the development team;
  • SQA TeamTest is a test automation tool;
  • Rational TestManager is a test management system that combines all test-related tools, artifacts, scripts and data;
  • Rational Robot is a tool for creating, modifying and automatically running tests;
  • SiteLoad, SiteCheck is a means of testing Web sites for performance and the availability of broken links;
  • Rational PerformanceStudio is a measurement and prediction of system performance characteristics.

Artifacts and roles

Artifacts, precedents, and roles are an integral part of RUP. Artifacts are some of the project products generated or used in it when working on the final product. Precedents are sequences of actions performed by the system to obtain the observed result. In fact, any result of the work of an individual or group is an artifact, whether it is an analysis document, a model element, a code file, a test script, an error description, and so on. Certain experts are responsible for creating a particular type of artifacts. Thus, RUP clearly defines the responsibilities of each member of the development team at one stage or another, that is, when and who should create the artifact. The whole process of developing the software system is considered in RUP as the process of creating artifacts – from initial analysis documents to executable modules, user guides, and so on. Below is a set of artifacts (models, documents, etc.) for each of the streams.

Business modeling

Artifacts-models, used by Rational Rose:

  • business process model – definition of business requirements for the developed system;
  • model of the enterprise structure – an artifact for the development of a functional model of the system;
  • document models, business entities, business function script models, business entity state models – for designing the user interface, database system; represent a description of the static and dynamic states of the system from various points of view;
  • business rule model – an artifact is used to model the rules in the software.

Document artifacts are used by RequisitePro, SoDA, word processors, Microsoft Project:

  • evaluation of the customer’s organization, business structure;
  • dictionary of domain terms;
  • set of business rules;
  • commercial proposal;
  • specification of business functions;
  • work plan at the stage of business modeling;
  • recommendations for conducting business modeling;
  • change requests.

Requirements

Artifacts-models, used by Rational Rose:

  • model of the function of the system;
  • a model of system function scripts;
  • the model of user interfaces;
  • a model of the user’s system operation scenarios;
  • model of output forms;
  • model of system rules.

Document artifacts, used by RequisitePro, SoDA, word processors, MS Project:

  • requirements management plan;
  • dictionary of system terms;
  • specification for the software system;
  • specification for system functions;
  • system rules;
  • inquiries of interested persons;
  • work plan at the stage of determining the requirements for the system;
  • recommendations for modeling at the stage of requirements definition;
  • change requests.

Analysis and design

Artifacts-models, used by Rational Rose:

  • logical data model;
  • physical data model;
  • model of the specifications of the components of the system;
  • scenarios for the interaction of classes that implement system components.

Document artifacts, used by RequisitePro, SoDA, word processors, MS Project:

  • software architecture;
  • specification of software components;
  • recommendations at the analysis and design stage;
  • work plan for the analysis and design phase;
  • change requests.

Implementation

Artifacts-models, used by Rational Rose:

  • component model of the application.

Code artifacts, used by Rational Rose, software, word processors:

  • elements of code generation, obtained in Rational Rose;
  • the actual application code;
  • documentation.

Document artifacts, used by RequisitePro, SoDA, word processors, MS Project:

  • the plan for building the application;
  • work plan at the implementation stage.

Test

Artifacts-models, used by Rational Rose:

  • model of test cases;
  • functional model of the test program;
  • model of the components of the test program;
  • scenarios for interaction between classes that implement the interaction of test program components.

Document artifacts, used by SoDA, word processors, MS Project:

  • description of test cases;
  • test plan;
  • work plan during the testing phase;
  • change requests.

Implementation testing – Quantify, Purify, PureCoverage, Robot, SiteLoad, SiteCheck.

Deployment

Artifacts-models, used by Rational Rose:

  • placement model – a description of the placement of components on processing nodes.

Document artifacts, used by SoDA, word processors, MS Project:

  • teaching materials;
  • documents on the installation;
  • description of the system versions;
  • Implementation plan.

When to use RUP?

RUP can be used from the very beginning of a new software development project and then used in subsequent development cycles after the completion of the initial project. However, the way the RUP is used must be varied according to your needs. There are several conditions that determine when and how to use the various parts of the RUP:

– the life cycle of the project (the number of iterations, the duration of each stage, the duration of the project)

– business objectives of the project, presentation, scope and risk

– the scope of efforts to develop software.