RAD Studio (Common)
ContentsIndex
PreviousUpNext
UML Modeling

This section describes the UML modeling features. 

The product version you have determines which UML modeling features are available.

Name 
Description 
The two sample projects are designed to help you explore the UML modeling features while working with projects. Some of the special features include: UML modeling, patterns, generating project documentation. 
Effective UML modeling simplifies the development stage of your project. Smooth integration to RAD Studio provides developers with easy transition from models to source code.
The primary objective of UML modeling is to organize and visualize the structure and components of software intensive systems. Models visually represent requirements, subsystems, logical and physical elements, and structural and behavioral patterns.
In addition, the UML modeling feature fully synchronizes diagrams and source code. 
Work in the UML modeling feature is done in the context of a project. A project is a logical structure that holds all resources required for your work. The UML modeling feature works with the following project types: design and implementation. Each of them includes several project formats.
It is up to you to define which directories, archives, and files should be included in your project. You can set up project properties when the project is being created, and modify them further, using the Object Inspector
A namespace is an element in a model that contains a set of named elements that can be identified by name.
A project consists of one or more namespaces (or packages). A namespace and a package are almost synonymous: the term “namespace” is used for implementation projects, the term “package” is used for design projects.
A namespace (or a package) is like a box where you put diagrams and model elements. Contents of a namespace (package) can be displayed on a special type of the Class Diagram.
Each project contains the default namespace (or package) just after its creation. 
Diagrams can be thought of as graphs with vertices and edges that are arranged according to a certain algorithm.
Each diagram belongs to a certain diagram type (for example, UML 2.0 Class Diagram). A set of model elements available for use on a diagram depends on the diagram type.
Diagrams exist within the context of a namespace (or a package). You have to create or open a project or project group before creating a new diagram. When the UML modeling support is activated, the project-level package diagram is created by default. You can create the various UML diagrams in... more 
The Object Management Group’s Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of distributed object systems.
The UML modeling feature supports UML to help you specify, visualize, and document models of your software systems, including their structure and design.
Refer to UML documentation for the detailed information about UML semantics and notation. The UML (version): Superstructure document defines the user level constructs required for UML. It is complemented by the UML (version): Infrastructure document which defines the foundational language constructs required for UML. The two complementary specifications constitute a complete specification for... more 
Model element is any component of your model that you can put on a diagram.
Model elements include nodes and links between them.
A set of available model elements depends on a current diagram type. Available model elements are displayed in the Tool Palette - Toolbox.
A link can have a label. You can move a label to any point of the link line. 
The Tool Palette for UML diagram elements displays note and note link buttons for all UML diagrams. Use these elements to place annotation nodes and their links on the diagram.
Notes can be free floating or you can draw a note link to some other element to show that a note pertains specifically to it.
You can attach a note link to another link.
The text of notes linked to class diagram elements does not appear in the source code. 
A shortcut is a representation of an existing node element placed on the same or a different diagram.
Shortcuts facilitate reuse of elements, make it possible to display library classes on diagrams, and demonstrate relationships between the diagrams within the UML model.
You can create a shortcut to an element of any other project in the current project group. You can create a shortcut to an inner class or interface of another classifier. It is also possible to add a shortcut to an element from project References, including binary (.dll, .exe) files.
The small special symbol... more 
You can customize arrangement of UML model elements on your diagrams automatically or manually.
UML modeling enables you to manage diagrams with automated layout features that optimize the diagram layout for viewing or printing. Nodes and links on a diagram are arranged according to a certain algorithm.
There are several diagram layout algorithms available. You can apply the same algorithm for the entire model, or different algorithms to separate diagrams.
Each algorithm has a set of specific options defined in the Modeler(level)DiagramLayout category of the Options dialog window.
It is also possible to lay out a diagram... more 

In UML models you can create hyperlinks from diagrams or diagram elements to other system artifacts and browse directly to them. 
The feature providing real time synchronization between models and source code is the key feature that keeps your model and source code synchronized. That is why it applies to implementation projects only.
When a Class diagram is created in an implementation project, it is immediately synchronized with the implementation code. When you change a Class diagram, the UML modeling feature updates the corresponding source code.
UML modeling allows you to synchronize different aspects of your project in several ways.
Use the Reload command to refresh the UML model from the source code. 
UML modeling enables you to generate source code based on a language-neutral design project. 
 
Patterns provide software developers with powerful reuse facilities. Rather than trying to tackle each design problem from the very outset, you can use the predefined patterns. The hierarchy of patterns is defined in the Pattern Registry. You can manage and logically arrange your patterns using the Pattern Organizer.
Patterns are intended to:
  • Create frequently used elements
  • Modify existing elements
  • Implement useful source code constructions or project groups in your model
 
UML modeling provides extensive support for refactoring your implementation projects.
Refactoring means rewriting existing source code with the intent of improving its design rather than changing its external behavior. The focus of refactoring is on the structure of the source code, changing the design to make the code easier to understand, maintain, and modify.
The refactoring features affect both source code and model. As a result, your project is consistent after refactoring, even if it includes UML diagrams.
The primary resource book on refactoring is Refactoring - Improving the Design of Existing Code by Martin Fowler (Addison - Wesley, 1999)... more 
The UML modeling provides audits and metrics as Quality Assurance features to unobtrusively help you enforce company standards and conventions, capture real metrics, and improve what you do. Although audits and metrics are similar in that they both analyze your code, they serve different purposes.
Audits and metrics are run as separate processes. Because the results of these two processes are different in nature, UML modeling provides different features for interpreting and organizing the results. Note that some of the features and procedures described in this section apply to both audits and metrics while some are specific to one or... more 
The UML Modeler's documentation generation feature automatically generates documentation for your UML modeling projects. Use this feature to illustrate you program with the HTML format documentation . You can update this automatically generated documentation when your project changes, or edit this documentation manually afterwards. 
You can share UML model information with other systems by importing and exporting model information or by sharing project files:
Import and export features  
The Code Visualization feature is available in both the Enterprise and Architect versions of RAD Studio. All other modeling tools and information related to modeling relates only to the Architect version of RAD Studio. 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!