Go beyond Software Development Modeling: Use IBM Rational Rose and IBM Rational Rose xde modeler/developer to create a drawing method

Source: Internet
Author: User
Tags abstract language

Content:
What is plotting?
Why use modeling tools?
Select a Plotting Method
Sample Plot Method
Use IBM Rational xde modeler/Developer
Modeling tools: useful for any Complex System
Thanks
Note
About the author
Article Score


The rational area also contains:
All articles
Online Course


Nathalie gaer.pdf
IBM
April 2004

This article comes from rational edge: This article describes a modeling method that can be applied to technical and non-technical systems, and generate a plotting method-Internal dependent system or interdependent system model.

In our industry, most modeling work is aimed at creating analysis, design, and implementation models that define how software systems will be designed and implemented. However, if we can use the same tool to model software and non-software systems, isn't it more helpful to us?

This article discusses a modeling method, which is centered around the type of the system and the generation of a plotting method, or internal dependent/interdependent system model. This article describes how to create a plotting method that further demonstrates the benefits of using uml1-based modeling tools (such as IBM Rational Rose or IBM Rational Rose xde modeler/Developer, instead of simply using a general drawing tool.

What is plotting?
The term "plotting method" has been defined as a "technology or business that forms icons or maps ,"2. A map shows a region of the world by using a graphical representation of the scaled down ratio of the correct spatial location ."

In this article, we will use the terminologyPlotting MethodRepresents an interactive and internal abstract visual representation of the system.

Generally, the plotting method for creating software involves obtaining detailed directories of existing information systems and describing them with a global view. In other words, plotting isInventory-Or, if the information is not documented or cannot be obtained, the drawing isArchaeological Work. Under any circumstances, developing a software plotting method will produce the following benefits:

  • Better understanding of existing systems and better management capabilities for systems.
  • Understand where information or function duplication exists.
  • Ability to analyze the impact caused by changes before making changes to the system.
  • Better way to communicate with the system.

Let's assume that you want to describe and document your company's systems, locations, and people. You can point out, visualize, and document the abstraction of people responsible for managing and maintaining systems in these departments, the software system that these components depend on and the abstraction of the computer where these software is installed. A visual model-a plotting method-can give you such a picture. The plotting method extends the scope of the "traditional" software development model.

Why use modeling tools?
Most of the time, in an "unconventional" situation (that is, when we do not create an analysis or design model for a software application to be created ), we use drawing tools (such as Visio and CorelDraw ). However, these tools are not suitable for software modeling. They are only suitable for creating a single graph. If we want to create several graphs, we must be able to manually ensure consistency on multiple maintenance points. At the same time, if you try to describe the system through a large image, you will find that adding or even adding an element to the view will be an "impossible task". You will need to find free space to draw new elements and avoid cross-link connections. In the end, you can create a very complex graph. This graph is hard to understand, not really useful and almost impossible to print on a piece of paper.

Modeling tools can better support such complex modeling tasks than drawing tools. It provides methods to create dependencies and environments between different views (graphs) and views of the system. The use of appropriate modeling tools provides the following benefits:

  • You can use the following benefits:Complexity of management models:

    • Create several graphs that only show a few elements.
    • Define an element only once to display it in several graphs (the modeling tool ensures consistency; if you modify an element in a model or any graph that shows this element, the modification will be automatically performed in the graph that references this element in multiple places ).
    • Show or hide the details/attributes of an element in a graph.
  • You canQuery the model to obtain the specified information and understand the dependencies between the element and the element.. For example, you can ask the modeling tool to create a graph. All elements in the graph have a specific relationship with other elements. You can also match your search criteria to get all the graphs showing the elements (and then browse each of them ).
  • You canCheck and ensure that the diagram elements comply with UML specifications.
  • You canAdd a prototype and corresponding icons. Custom icons can greatly improve the usability and visually express intent (even readers are not familiar with UML ).
  • You canWork with the same model in the team.

IBM Rational Rose and IBM xde rose modeler/developer provide these benefits and are perfectly integrated into the drawing Modeling Environment. They also give you the following additional benefits:

  • The IBM Rational Rose extension interface or IBM Rational xde Development Kit (xdk) can extend the capabilities of modeling tools to support complex reporting and management functions.
  • You can use IBM Rational soda to generate a MS word or framemaker report as needed.

Select the plotting method
Defining a language is the primary task for successful plotting and modeling. This language should include the ability to represent various types of elements and their relationships, dependencies, and semantics. All project members must agree on a common language to ensure a public understanding of the output model. In addition, all members of the project should agree on the scope of the modeling process.

In the following section, we will describe the best way to accomplish these tasks, using the UML embedded in IBM Rational Rose.

Class and object method disadvantages
Suppose you want to manage a complex set of departments, including the systems that these parts depend on, the computers they use to run the software, and the people responsible for managing and maintaining the system.

One way to create a drawing model using Rational Rose is to create classes for the abstraction and then create a UML object diagram (for example, a collaboration diagram without a message ). You can start by recognizing the main abstraction. A subset of these abstractions is displayed in Figure 1.

Figure 1: Primary abstract subset in a management example

Then you can create a collaboration chart as shown in figure 2.

Figure 2: shows an example of a class instance (such as an object) in Figure 1.

Figure 2: Create an environment object with all other collaboration diagrams. You must also note that meaningful modeling will add a large number of objects.

However, this method has its disadvantages:

  1. If you do not use a large number of UML annotations, you will not be able to add all useful details to the collaboration diagram.. For example, how do you display that Tom Joad is the administrator of the orderentry_v3 system? How do I display the orderentry_v3 attribute value of the orderentry_v3 system?
  2. You cannot check the semantic consistency between a collaboration diagram and a class model.. How can you verify that every system object is connected to at least one administrator? How can you verify every system object, such as ordersystem_v3 in our example, which has a corresponding value for the productiondate attribute?
  3. You cannot simply query the content of a collaboration diagram.. IBM Rational Rose only provides interesting filtering and query functions for class charts. The goal of this type of modeling is not to generate code, but to gain the benefits of a modeling method that abstracts the current state. For example, you can actually benefit from creating a new graph that shows Tom Joad, use the "expand selected elements" function in Rational Rose to locate and display all the systems where Tom Joad acts as a user or administrator.
  4. You cannot organize other elements (objects and/or graphs) under an object). However, you can organize the Modeling object hierarchy in the Model Browser.
  5. You cannot reuse the same object in different collaboration diagrams.

Best Method: Meta Class and Class
To avoid the disadvantages of class and object methods, you can use a meta level. If you model Tom Joad as a class (instead of an object), you can use the class graph and get the following benefits:

You can use the query and filter menu in IBM Rational Rose to explore and understand the internal and mutual dependencies of the modeled environment:

  1. You can expand the selected elementsAnd automatically create a meaningful graph that contains classes and their relationship types with other selected classes.

    • You can add a class by the specified name.
    • You can hide the selected class.
    • You can filter the relationship of the connection class (display or hide a specific link type) in the current graph ).
    • You can hide or display the class details (attributes or operations) based on the graph ).
  2. You can use the role name to further limit the association between classes.
  3. You can reuse the same element in different graphs., Which is opposite to the object in the interaction graph and belongs to only one graph.
  4. You can organize the entities to be modeled in a hierarchy.For example, a class that is organized under another class.
  5. By using the IBM Rational Rose extension interface (REI) and/or IBM Rational soda,You can get more advanced reporting capabilities.

By using this method, you can create an element in Figure 3 in Figure 2.

Figure 3: conversion from instance-level to class-level

You can also push the class up to a level, as shown in figure 4.


Figure 4: metadata model and Model Method

As you can see, this will generateMeta-Model(Model ). "Popular meta" can be used repeatedly; the Meta Model in one scenario can be used in another scenario. This means that UML and Meta Object Facility (MOF) are used)3.

In this method, the meta-model is a drawing method language.. It defines the scope of modeling work because it defines

  • Element "type" used at the model layer,
  • Possible relationships between these elements at the model layer.
  • Semantics behind classes and relationships.

Model drawing method entity as a class

The class name in the meta-model will be the name of the original type in the model. In Figure 4, the person class in the meta-model is the name of the prototype in the model.

The advantage of using a prototype in your model is that you can associate an icon with a class, which is more intuitive, easy to understand, and easy to read, and even for people who are not familiar with UML. In IBM Rational Rose, you can expand the graph toolbar in a user-friendly way so that you can create a model class by clicking the mouse and the expected prototype name has been defined.

I recommend that you start with your expected prototype name by using the abbreviations in the plotting method. That is to say, the names of all your prototypes will appear in the drop-down list and custom toolbar windows. For our example, we can use system cartography as the name, which is abbreviated as SC.

The custom toolbar (Toolbox) in IBM Rational Rose looks like figure 5.

Figure 5: Example of customizing the IBM Rational Rose Toolbar

Modeling and drawing method the feature of an object as the property of a feature

The class (model level) of the plotting method has characteristics. For example, orderentry_v3 has a production date. You can list the expected features as attributes in the metadatabase class (see figure 6 ).

Figure 6: Define the features of the metadatabase class as attributes

How do you instantiate these attributes to get your model information? One way to enter this information in your model is to use the labeled UML value. In IBM Rational Rose, the marked value is a feature defined by all classes. Unfortunately, features cannot be shown in the figure. However, the feature values of these classes should be shown in the figure: Remember, do not model the project code! Instead, you shouldModeling and drawing method to evaluate and document the current status of an existing environment.

In Rational Rose, attributes can be used instead of features shown in the figure. 7. These attribute names include the feature name (for example, productiondate) and initial value (for example, 12.12.2000 ).

Figure 7: attributes of a model class with an initial value

Unfortunately, we must manually enter the feature name and its value. The names (for example, productiondate) of all <system> class input features are time-consuming and prone to errors.

However, youYesUse an automated solution based on the Rational Rose script. This script can be based on the names of all the required features (OnlyIs a required feature) create a dialog box, through which you can only add the initial value (see figure 8 ). This enables rational rose to interpret and force the rules at the model level to be consistent with those already specified at the meta-model level.

In addition, assume that you have more than five attributes for each metadatabase class, and you will create at least 20 classes for each metadatabase class. If you do not need to find and create 100 or more attribute names, this will be of great help to you.

Figure 8: Use the IBM Rational Rose script to create required property names and enter initial values

However, not all attributes in the meta-model class are best instantiated as attributes in the model. For example, if you have a comment attribute in the meta-model class, it is best to use the document domain for instantiation in the model. Similarly, some attributes can be instantiated as connected documents.

To learn more accurately how the attributes of each metadatabase class are instantiated in the model, you can use the prototype shown in table 1.

Table 1: metadata model attributes prototype

Prototype of the metadata attributes Instantiation in Model
<> Attribute
<URL> Attachment
<DESC> Document domain
<Name> Indicates the class name.

For example, the meta-model class in Figure 9 is instantiated as 10.

Figure 9: metadata model class

Figure 10: Model class instantiation Figure 9 meta-model class

The Tom Joad class in Figure 10 also has an attachment pointing to an image and a document window that can be used for additional information. You can also add icons to the prototype class. For example, you can <SC person>: Use the icon in Figure 11.

Figure 11: icons used for the prototype

Relationship in the Model

Classes in the model have relationships with other classes. For example, the orderentry_v3 system has one or more pair types.PersonClass Association. How many associations are allowed? Why does each one exist? This information is included in the meta-model.

InMeta-ModelThe relationship between classes is instantiated as the relationship between model classes. In the meta-model, Diversity defines the number of (minimum and maximum) relationships in the model. The role name or associated name of the meta-model further limits the associated Endpoint or association. These names can be reused as the prototype name or role name at the model level. For example, the meta-model in Figure 12 indicates one or more administrators (person type) and zero or several users (person type) in a system ). The model information (metadata instantiation) looks 12.

Figure 12: Relationship between model classes

We still don't know what relationship to chooseType. What should we choose to associate and/or depend on and/or others? My suggestion is to use Association, because

  • The associated model you want: structure.
  • If you are using the IBM Rational soda reporting tool, it is easier to filter/obtain a link type.
  • If the semantics is more consistent with one of the associations, you can also use other relationships.

Build model

An important success factor is how the model class is organized in the Model Browser.The core principle is to avoid duplication of information.. This looks very obvious for the class: You should not copy the definition of the class. However, this principle applies not only to the class itself. Consider the organization in the package: You need to package your model content, but you also want to avoid too many package names. Therefore, you should not generate packages only from the meta-class name. For example, do not always create a package persons. In this package, you put all <SC person> instances, package systems, in this package, all <SC System> instances, package software, and all <SC software> instances are included in the package.

Consider the model organization shown in section 13:

Figure 13: possible model organization in the browser

Note that this produces the same sub-package. A better solution is shown in figure 14.

Figure 14: Avoid copying the model organization of a sub-Package

If necessary, you can organize the class (nested class) under the class ). For example, if you must also model country for the service and person location, you should create classes for the location and organize other classes under them.

Note: You can also add a chart in the model organization to display your drawing elements: class chart (shown above) and other types of graph. If necessary, you can add an activity or status chart.

When you build your model, you should also consider teamwork; you can coordinate the model organization and package structure to make parallel development possible. In IBM Rational RoseControl UnitAnd then put each of these control units into version control. IBM Rational Rose provides a built-in and IBM Rational clearcase and all source code control (SCC) integration of compatible version control tools. The more people work on the same model, the more control units should be defined so that everyone can work on their own control units. Assign the specified responsibilities to team members (for example, assign some persons to Model Person, others to model system, and so on) and create corresponding control units. You can even create sub-packages. If you need more fine granularity, you can create sub-packages as control units. If you are developing your plotting method on your own, it is still good practice to keep the entire model under version control to track changes.

Query and report

Once you input information at the model level, you can use IBM Rational Rose for implementation.QueryAndFilter. For example"Expand selected elements..."It is easy to describe all connected classes for the selected classes. You can drag and drop a class such as ordersystem_v3 to a New Graph and query all classes connected to it. You can also continue to get a complete hierarchy chart that includes all the intricate and relevant elements. Visualized display of the results will make it easier to understand.

The reporting capability is provided by IBM Rational soda and/or IBM Rational roseweb publisher. If you need custom reporting capabilities, you can use rational soda.

If you want a powerful model query mechanism based on the metadata model, follow the steps below:

  1. Define the metadata model as a separate IBM Rational Rose model.
  2. Create a Rational Rose model for the plotting method itself.
  3. Read the meta-model dynamically and build rules for the checking model.

You can use either IBM Rational Rose scripts or a COM server to perform these steps.

Now you have all the conditions you need to use to create several class diagrams and abstract your plotting methods. Depending on the range you selected, modeling takes quite a bit of time. A graph usually displays a large amount of information (class ). Try to logically group elements and use meaningful names to limit class diagrams. Do not forget to display or hide attributes when necessary.

In the following section, we will introduce the creation of a sample plot method.

Sample Plot Method
The following example is based on the drawing method model we discussed above,It includes a company's systems, software, computers they need, and people responsible for managing and using systems

Using IBM Rational Rose, this example applies all the concepts defined above and generates a report showing the drawing method model snapshot. Of course, the use of IBM Rational Rose's "browsing" and "query/filter/Report" features is an advanced way to visualize, master, and use a plotting method.

First, as we have discussed above, we want to create a metamodel (figure 15) to defineLanguage.

Figure 15: Define the language Meta Model for the sample plot method

By looking at the meta-model, we can find that:

  • The plotting method should display systems, people, software and servers.
  • The system can run on one or more servers.
  • The system can depend on zero or several software parts.
  • The software itself can depend on other software.
  • Each system has at least one administrator and zero or more users.
  • The characteristics of each element in the plotting method are defined by the class attributes in Figure 15.

Then, we can build graphs 16A, B, C, and D to instantiate the meta-model and create the drawing method itself.

Figure 16A: Software View

Figure 16A shows a software view used by the company system. All the classes shown in this figure are instances of the software class defined in Figure 15 and have the original type <software>. The settings in this figure indicate that the prototype should be represented by an icon: a floppy disk. The associations between these <software> classes indicate the dependencies between them.

Figure 16b: orderentry_v3 System View

Figure 16B shows a company's orderentry_v3 System View. The orderentry_v3 class in the middle of the figure has the original type <system>. The settings in this figure indicate that the prototype is represented by an icon in a box. These settings also indicate that the attributes of the class should be hidden. The figure shows that the orderentry_v3 system has only one administrator (Daniel diebolt) and two users (inclue Tournier and Thierry duvanel); it runs on a server named CH-Server1, the software sap r/3 and v4.6 are used.

Figure 16C: software development environment View

Figure 16C shows the view of a company's software development environment system and displays the attributes of the <system> software development environment class. The system has an administrator and two users. The system runs on a server and uses mutually dependent software.

Figure 16D: Detail e Tournier's detailed view

All input information is used to create the graph in Fig 16B and fig 16C. Now we can use the query mechanism of the modeling tool to create the graph in the subgraph 16D: christophe Tournier is the view of all systems used by administrators or users. This class chart is set to display the attributes of the person and System Classes.

Use IBM Rational xde modeler/Developer
By creating an xde profile, IBM Rational Rose xde modeler/developer provides a great UML extension to support metadata/models. A profile is a series of labeled values and prototypes. The marked value captures additional information in the model element. The prototype adds semantics to the model element.

To use Rational Rose xde modeler/developer to create a drawing method, you should use a method similar to the IBM Rational Rose we just described. First, you should define your profile, which will become your "language" (for example, the metachiname ). Just like using Rational Rose, you can use the labeled value (becoming a feature in Rational Rose ). But remember, you will not see the Marked Values in the figure. As we have previously suggested, it is best to use attributes and attribute values to replace features.

In IBM Rational Rose xde modeler/developer, the Model Browser hierarchy should be well defined, but you can reference different models of other models. Rational Rose xde modeler/developer can use multiple models.

Query and filter are also possible: select a class, right click, and select "add related shapes ". However, in Rational Rose xde modeler/developer, you have better control over related elements. For example, you can select the relevant link type for the class you want to select.

In IBM Rational Rose xde modeler/developer, reports are also available. Like IBM Rational Rose, with IBM Rational soda, you can generate specified, custom, and flexible reports.

IBM Rational Rose xde modeler/developer also provides a developed application programming interface (API) to read model information. This API is named rational xde extensibility (rxe ). It provides all the capabilities you need to create additional model checks.

Modeling tools: useful to any system
Both IBM Rational Rose and IBM Rational Rose xde modeler/Developer support the creation of plotting methods and can be extended more effectively to support it. If you are modeling a complex system and do not need to generate code, you will be able to obtain the huge benefits of modeling tools.

Imagine how useful the plotting method is to create all databases in the company. If you have a diagram of all existing systems that use their interfaces and locations in your company, you can effectively control, integrate, and manage those systems.

IBM Rational Rose and IBM Rational Rose xde modeler/developer can help you create, maintain, visualize, understand, and query plotting elements on graphic elements, and perform conflict analysis between elements. You can easily create charts that show different aspects and ensure their consistency. Adding new elements and updating graphs to reflect changes is a straightforward process. Once you place your model under version management, you can track changes and work in the team when you build your plotting method.

Although you can assume that creating an object graph is the most reasonable way to start building a graph method, you actually need more powerful tools to support you to obtain this capability by using class graphs. "Popular meta" is the best method because it allows you to define a language at the meta level, and then use a class graph to model real entities at the model level.

We can summarize the steps for creating a plotting method:

  1. Defines a stable language or metadatabase. It contains classes, attributes, and relationships.
  2. Customize the IBM Rational Rose or IBM Rational Rose xde toolbar, and create scripts that can easily input model class attributes.
  3. Define a model browsing structure in Rational Rose, which can reasonably organize information and easily obtain model elements.
  4. Use IBM Rational soda to create necessary reports.
  5. Place your model under version control to facilitate team coordination and change tracking.

Once you have performed these steps, you have prepared to use the class graph and class graph elements to create your drawing method. Of course, you can add other types of graphs if necessary.

Thanks
I am very grateful to inclue Tournier for pushing me to write this article. I also discussed and developed my ideas and concepts with him. At the same time, I am very grateful to Catherine Southwood for providing excellent comments and edits.

Note
1UML,Or a unified modeling language is a graphical language used to describe, visualize, and document software and non-software systems. For more information, see http: // www.omg.org/uml/

2Webster's revised Unabridged Dictionary, Micra, Inc, 1998.

3MOF is an abstract language and framework used to describe, construct, and manage a technology-neutral meta-model. MOF meta-metamodel is a language used to define the UML meta-model.

About the author
Nathalie gaertner began to enter the computer science field in 1983. She is still keen on software engineering. After obtaining her PhD in computer science and co-authored by MoD é lisation objet avec UML-published on eyrolles in 2000, she joined rational software as a consulting consultant in 1999. She is consistently helping customers assess their software needs and implement IBM rational solutions.


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.