content:
What is a drawing method? Why use modeling tools? Select a method of drawing sample drawing method Using IBM Rational Xde Modeler / Developer Modeling Tool: Available for any complex system Note About the author article score
The Rational Zone is also:
All articles online courses
NATHALIE GAERTNERIBM 2004 April
This article comes from Rational EDGE: This paper describes a method of modeling, which can be applied to technical and non-technical systems and produces a drawing method - internal dependent system or interdependent system model.
In our industrial, most modeling work is aiming to create how the software system will design and implement the analysis, design, and implementation models. However, if we can use the same tool to model software and non-software systems, is it more helpful to us? This paper discusses a modeling method, which surrounds the type of system and a drawing method, or internal dependent / interdependent system model. This article describes how to create such a drawing method, it can further reflect the benefits of using UML1-based modeling tools (such as IBM Rational Rose® or IBM Rational Rose Xde Model / Developer®), not just general drawing tool. What is a drawing method? The word "drawing method" has been defined as a "technical or business that forms icon or map," 2 maps indicated "The diagram of the display world is displayed by the correct spatial position." In this article, we will use the term drawing method to represent an interactive and internal related system abstract representation. Typically, the drawing method for creating software includes obtaining a detailed directory of an existing information system and describing them with a global view. In other words, the drawing work is a matter of work - or if the information is not filed or unacceptable, the drawing is the work of archaeological. In any case, developing a software drawing method produces the following benefits. "
Better understanding existing systems and better management capabilities for systems. Understand where there is any information or function repeat. The ability to analyze the changes before the system is changed. Better way to communicate with the system. Let us assume that you want to explain and document your company's systems, locations and people. You can point out that the visualization and documentation department and the abstraction of people who manage and maintain systems in these departments, and the software systems of these software and the abstraction of these software are installed. A visual model - a drawing method - can give you this picture. The drawing method extends the "traditional" software development model range. Why use modeling tools? When most, in the "unconventional" situation (i.e., when we do not create an analysis or design model that will be built, we use the drawing tool (such as Visio, CorelDRAW, etc.). However, these tools are not suitable for the modeling of software. They are only suitable for creating a single drawing; if we want to create a few pictures, we must handle consistency on multiple maintenance points. At the same time, if you try to describe the system through a large picture, you will find that even an element will be "impossible task" in the view. You will need to find free space to draw new elements and avoid cross-relationships. In the end, you will be a very complicated picture, this picture is an unbearable, not really useful and almost impossible to print only in a piece of paper. Modeling tools can better support this complex modeling work than the drawing tools. It provides methods for creating different views (diagrams), and views between views. Use the appropriate modeling tools to provide the following benefits:
You can manage the complexity of the model by the following benefits:
Create a few diagrams that only show a small amount of elements. Only one element is defined once, you can make it displayed in several figures (modeling tools to ensure consistency; if you modify an element in a model or any display of this element, modify it will automatically This element is cited this element). The details / properties of the elements are displayed or hidden in a figure. You can query the model to get the specified information and understand the dependence between the elements and elements. For example, you can create a chart for the modeling tool, and there is a specific type of relationship with other elements. You can also match your search criteria to get all charts showing elements (and then browse each of them). You can check and make sure the elements of the map meet UML specification. You can add prototypes and corresponding icons. Custom icons can greatly improve readability and visualize the expression of visualization (even readers are not familiar with UML). You can use the same model work in the team. IBM Rational Rose and IBM Xde Rose Model / Developer provides these benefits and perfectly integrates into a map of drawing modeling. In addition, they also give you the following additional benefits: IBM Rational Rose Extended Interface or IBM Rational Xde Development Kit (XDK) Extension the ability to model the model to support complex reporting and management functions. You can use IBM Rational Soda® to generate MS Word or Framemaker reports based on your needs. Selecting a drawing method In order to successfully draw modeling, define a language is the primary task, which should include the ability to represent various types of elements and their relationship between them, depending on the ability. Members in all projects must be unanimously recognized a common language to ensure public understanding on the output model. In addition, all members in the project should agree on the scope of the modeling process. In the next part, we will describe the best way to complete these things, using the UML embedded in IBM Rational ROSE. Disadvantages of Class and Object Methods Suppose you want to manage a complex department collection, including these partially dependent systems, they are used to run software's computer and personnel responsible for managing and maintaining systems. One way to create a drawing model using Rational Rose is to create a class, then create a UML object map (for example, a collaboration map without messages). You can start with the main abstraction. A subset of these abstractions is shown in Figure 1. Figure 1: The main abstract subset in a management example then you can create a collaboration map like in Figure 2. Figure 2: Examples of examples of the classes (such as objects) of the classes in Figure 1 are shown Figure 2, and the environment objects are modeled together with all other collaboration graphs. Also pay attention to the meaningful modeling work will add a lot of objects. However, this method has its shortcomings:
If you don't use a lot of UML comments, you will not add all useful details to the collaboration diagram. For example, how do you display Tom JOAD is an administrator of the Ordeering_v3 system? How do I display the value of the property_v3 system of the ORDERENTRY_V3? You can't check the consistency of semantics between collaborative drawings and class models. How can you verify that each system object is connected to at least one administrator? How do you verify that each system object, such as the orderrsystem_v3 in our example, has a corresponding value for the ProductionDate property? You cannot simply query the content of the collaboration map. IBM Rational ROSE only provides interesting filtering and query functions for class diagrams. The goal of this type of modeling does not generate code, but the interests of the modeling method of abstract current state. For example, you can really benefit from creating a new picture that shows Tom JOAD, then use the "Expand SELECTED Elements" function in Rational Rose to find and display all systems of users or administrators. You cannot organize other elements (objects and / or maps) under an object. However, you can organize an entity hierarchy in the model browser. You cannot reuse the same objects in different collaboration diagrams. Best Method: Metacies and classes In order to avoid the disadvantage of we propose, you can use a META level. If you model Tom Joad as a class (instead of an object), you can use the class diagram 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 mutual interior of the modeling environment. Dependency: You can expand the type of relationship between the selected element and automate the creation of a meaningfulness containing the class and its class and other selected classes.
You can add classes by the specified name. You can hide the selected class. You can filter the relationship of the connection class (display or hide a specific relationship type) in the current figure. You can hide or display the details (attributes or operations) of the class according to the figure. You can use the names of the characters to further qualify the association between classes. You can reuse the same elements in different figures, which are in the interactive diagram and belongs to only one picture. You can organize the modeled entities in a hierarchy, such as the class that is organized under other categories. You can get a more powerful reporting capabilities by using the IBM Rational Rose extension interface (REI) and / or IBM Rational Soda. By using this method, you can now create an element in Figure 3 in Figure 2. Figure 3: Transformation of the instance level to the class level You can then promote the class upward level, as shown in Figure 4. Figure 4: Meta model and model method are like you can see, which will produce a meta model (model model). "Popular META" can be repeated; in one case, the meta model can be another case. This is what happened using UML and Meta Object Facility (MOF) 3. In this method, the metamodial model is a drawing method. It defines the range of modeling work because it defines
Elements "Type" used in the model layer, the possible relationships between these elements in the model layer. Semantics behind the class and relationship. As the model of the class, the name of the class in the meta-mode will become the name of the original model 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 prototype classes in your model is that you can associate a icon to a class, which is a more intuitive model, easy to understand and readily read, and even people who are not familiar with UML. In IBM Rational Rose, you can extend the map toolbar in a user-friendly manner so that you can create a model class by using a mouse click, and the desired prototype name has been defined. I recommend you to start the start of the prototype of your expectation by drawing alphanumeric. That is, the name of all your prototypes will appear in the drop-down list and the custom toolbar window. For our example, we can use System Cartography as the belonging, his alphanumeric is SC. The custom toolbar (Toolbox) in IBM Rational Rose looks like Figure 5. Figure 5: Customizing an example of an example of an exemplary model drawing method for the characteristics of the characteristics of the characteristic of the property. The class (model level) has features. For example, the system orderentry_v3 has a production date. You can list your expectations as attributes in the meta class (see Figure 6). Figure 6: Defining the characteristics of the meta-model class as an attribute you instantly use these properties to get your model information? A method for entering this information in your model is to use the tagged UML value. In IBM Rational ROSE, the tagged value is all of all class definitions. Unfortunately, the characteristics cannot be displayed in the figure. However, the characteristic values of these classes should be seen in the figure: Remember, you don't model the engineering code! Instead, you should build a model drawing to evaluate and document the current state of the environment. In Rational ROSE, we can use the property instead of the characteristics displayed in the figure. As shown in Figure 7, the names of these attributes include the names of the characteristics (eg, a produuctionDate) and an initial value (eg, 12.12.2000). Figure 7: The model class has an attribute of the initial value unfortunately, we must manually enter in the characterist name and its value. Name of type input characteristics of all << System >> is time consuming and easy to generate errors. However, you can use an automated solution based on the Rational Rose script. This script can create a dialog in accordance with all the names that are required (only the features required), you can only add the initial value (see Figure 8) through this dialog. This allows Rational ROSE to explain and forces the rules of the model level to be consistent with those that have been specified in the metamodity level. In addition, assuming that you have more than 5 properties for each meta-model class, and you will create at least 20 classes for each meta class. If you don't have to find and create 100 or more attribute names, this will be huge for you. Figure 8: IBM Rational Rose script uses the necessary attribute name created and entered the initial value, however, not all attributes in the meta class are most actually instantiated in the model. For example, if you have a Comment property in the meta class, this property in the model is best to instantiate using a document domain. Similarly, some attributes can be instantiated as a document. In order to more accurately know how the properties of each meta-model class are instantiated in the model, you can use the prototypes shown in Table 1.
Table 1: Prototype for meta-model attributes for the principal of the meta-model attribute
The instantiation of the model << >> attribute << URL >> Annex document << DESC >> Document domain << Name >> Indicates class name, for example, the metamorphic class in Figure 9 is instantiated as shown in FIG. Figure 9: Metal Model Category Figure 10: Model class instantiation Figure 9 The Tom JOAD class in Figure 10 in Figure 9 also has an attachment to a picture and a document window that can be used for additional information. You can also add icons to the prototype class. For example, you can use the icon in Figure 11 for << SC PERSON >>. Figure 11: The relationship between the icon for prototypes in the model is between the models of the model. For example, the system orderentry_v3 has one or several associations for the type Person class. How many associations are allowed? Why is there? This information is included in the meta-model. The relationship between the metamodes class is instantiated as the relationship between the model class. The diversity in the meta-model defines how much (minimum and up to maximum) relationship is defined. The role name of the meta model or the associated name further limits the associated endpoint or association; these names can be reused in the model level as the name of the prototype or the name of the character. For example, the meta model in Figure 12 indicates that a system has one or several administrators (Person types) and zero or several users (Person type). Model information (instantiation of the meta) appears as shown in Figure 12. Figure 12: The relationship between model classes We still don't know what kind of relationship is selected. What should we choose to associate and / or rely on and / or anything? My suggestion is to use the association, because
What you want is: structure relationship. If you are using the IBM Rational Soda Reporting tool, filtering / get a relationship type is easier. If the semantic is more in line with one of the associations, you can also use other relationships. Building a model an important success factor is how the model class is organized in the model browser. The principle of the core is to avoid repeating information. This seems very obvious for classes: You should not copy the definition of the class. However, this principle is not only applied to the class itself. Consider the organization in the package: you need to organize your model content, but you also want to avoid too much package name. So you should not generate a package from the Metacity name. For example, don't always create a package persons, in this package you put in all << SC Person >> instances, package systems, put all << SC System >> instances in this package, package Software, All << SC Software >> instances are placed in this package, and so on. Consider the model tissue shown in Figure 13: Figure 13: Obtaining a possible model organization in the browser pay attention to this produces a completely identical subcap. A better solution is shown in Figure 14. Figure 14: Avoiding a model organization of a copy sub-package If necessary, you can organize class (nested classes) under the class. For example, if you must also model Country to the location of the service and people, you should create classes for Location and organize other classes below them. Note that you can also add a diagram in the model organization to display your drawing elements: class diagrams (above) and other types of graphs, if desired, you can add such as active or state diagrams. When you build your model, you should also consider teamwork; you can coordinate the structure of model organizations and packages to make parallel development possible. In IBM Rational Rose, you can store the package in a unit called the control unit, then put each of these control units into version control; IBM Rational Rose provides an built-in and IBM Rational ClearCase and all Source Code Control (SCC) compatible version control tool integration. What more people have works over the same model, the more control units should be defined so that everyone can work on his own control unit. Assign a designated responsibility to team members (for example, allocate some people modeling Person, others modeling system, etc.) and create a corresponding control unit. You can even create a sub-package, and if you need a finer granularity, you can make a sub-package into a control unit. If you develop your drawing method alone, remember to put the entire model under version control to track change is still good practices. Inquiry and Report Once you enter information at the model level, you can use IBM Rational Rose to implement queries and filtering. For example, using IBM Rational Rose's "Expand SELECTED Elements ..." feature to describe the selected classes to describe all connections. You can drag and drop a class such as OrderSystem_v3 category and query all classes connected to it. You can also continue to get a complete level of all intricate and related elements. The resulting visual display will make it easier to understand. The ability to report is provided by IBM Rational Soda and / or IBM Roseweweb Publisher. If you need custom reporting capabilities, you can use Rational Soda.
If you want a powerful model query mechanism according to the meta, follow the steps below: Define the metallographic model as a separate IBM Rational Rose model. Create a Rational Rose model for the drawing method itself. Dynamic reading meta model and build rules for inspection models. You can use IBM Rational Rose Scripts or use a COM server to perform these steps. Now, you have all you need to create a few categories and your drawing method. According to the range you choose, the modeling work is quite spess. Typically, the figure shows a large amount of information (class). Try to logically grouped the elements and use meaningful names to limit the class. Don't forget to display or hide properties if necessary. In the next part we will introduce a sample drawing method. Sample drawing method The following is based on the drawing method discussed above, which includes a company's system, software and the computer they need, and people responsible for managing and using IBM Rational Rose, this sample All the concepts defined above and generate a report showing a snapshot of the drawing method. Of course, "Browse" and "Query / Filter / Report" using IBM Rational Rose are advanced visualization, mastering and using a method of drawing. First, as discussed above, we want to create a meta model (Figure 15) to define a language for the drawing method. Figure 15: Meta model for sample drawing method defines the language of the language, we can find:
The drawing method should display the system, people, software, and servers. The system can run on one or several servers. The system can rely on zero or several software part. The software itself can rely on other software. Each system will have at least one person who plays an administrator role and a person who plays a user role. The characteristics of each element of the drawing method are defined by the attributes of the classes in Figure 15. Then, we can build maps 16A, B, C, and D instantiate the element model and create the drawing method itself. Figure 16A: Software View Figure 16A shows a software view that is used by the company system. All classes displayed in this figure are instances of the Software class defined in Figure 15, and there is a prototype << Software >>. The setting of this picture indicates that this prototype should use an icon to indicate: a floppy disk. The association between these << Software >> is expressed in the interdependence between them. Figure 16B: Ordeering_v3 System View Figure 16b shows a view of a company's Orderentry_v3 system. ORDERENTRY_V3 classes in the middle have prototype << System >>; this setting is indicated by this prototype with an icon of a box. These settings also indicate that the properties of the class should be hidden. The ORDERENTRY_V3 system shows only one administrator (Daniel Diebolt) and two users (Christophe Tournier and Thierry Duvanel); it runs on a server called Ch-Server1 and uses software SAP R / 3, V4. 6. Figure 16C: Software Development Environment View Figure 16C shows a view of a company software development environment system and can display the properties of the << System >> Software Development Environment Environment class. There is an administrator and two users. The system runs on a server and uses interdependent software. Figure 16d: The detailed view of Christophe Tournier uses all the input information to create a diagram in FIGS. 16B and Figure 16C, and we can now use the query mechanism of the modeling tool to create a subgraph 16D: Christophe Tournier as a management View of all systems used by users. This class diagram is set to display the properties of the Person and System classes. Using IBM Rational Xde Model / Developer IBM Rational Rose Xde Modeler / Developer provides a very good UML extended way to support meta-model / model by creating XDE Profile. A Profile is a series of tagged values and prototypes. The marked value capture extra information in the model element, the prototype adds a language to the model element. To create a drawing method using Rational Rose Xde Model / Developer, you should use a method similar to the IBM Rational Rose we just described. First, you should define your profile, which will turn your "language" (for example, a meta). Just like using Rational Rose, you can use the marked value (characteristic in Rational Rose). But to remember, you will not see those marked values in the figure. As we recommend, it is best to use attributes and attribute values instead of features. In IBM Rational Rose Xde Modeler / Developer, model browser hierarchy should be well defined, but you can operate different models of other models. Rational Rose Xde Modeler / Developer is a plurality of models.
Query and filtering are also available: Options A class, right click, and select "Add related Shapes". However, in Rational Rose Xde Modeler / Developer, you have better control for related elements. For example, you can choose the related relationship type for classes you want to choose. In IBM Rational Rose Xde Modeler / Developer, the report is also available. Just like IBM Rational Rose, you can generate specified, customized, and flexible reports with IBM Rational Soda. IBM Rational Rose Xde Modeler / Developer also provides a development application programming interface (API) to read model information. This API is named Rational Xde Extensibility (RXE). It provides all your ability to create additional model checks. Modeling Tools: Useful to any system whether IBM Rational Rose is also IBM Rational Rose Xde Model / Developer supports the creation of the drawing method, and can be more efficient to support it. If you are using a complex system, you don't need to generate a code, you will be able to get the huge benefits brought by the modeling tool. Imagine how useful drawing method for all databases in the company. If you have all existing systems that have existing systems in your interface and location, 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 conflict analysis between drawing method and perform elements on drawing method elements. You can easily create different diagrams from different aspects while ensuring their consistency. Adding new elements and update diagrams to reflect changes to a process directly. Once you put your model under version management, you can track changes, and when you build your drawing method, you can work in the team. Although you can assume that the creation of the object map is the most reasonable start to build a drawing method, but in fact you need more powerful tools to support you by using class diagrams. "Popular Meta" is the best way because it allows you to define a language at the META level and then use the class graph to model real entities. We can summarize the steps to create a drawing method:
Define a stable language, or a meta, which contain classes, attributes, and relationships. Customize the IBM Rational Rose or IBM Rational Rose XDE toolbar and create scripts that can simply enter the model class properties. A model browsing structure is defined in Rational Rose, which can be reasonably organized and implemented methods that can be easily obtained. Establish the necessary reports using IBM Rational Soda. Place your model under version control to facilitate tracking of team coordination and change. Once you have implemented these steps, you are ready to create your drawing method using class diagrams and class chart elements. Of course, if necessary, you can add other types of graphs. I am very grateful to Christophe Tournier. He promoted this article, and I was discussed with him and developed my ideas and concepts. At the same time, I am very grateful to Catherine Southwood, she provides very simple comments and editing. Note 1 UML, ® or unified modeling language is a graphical language for explaining, visualization, and documentation software and non-software systems. See http: // www.omg.org/uml/2Webster's Revised Unabridged Dictionary, Micra, Inc., 1998. 3 MOF is an abstract language and framework, which is used to construct and manage technology neutral Meta model. MOF META-METAMODEL is a language used to define a UML meta model. About the author Nathalie Gaertner has entered the computer science field in 1983. Now she is still very keen on software engineering. After she got a Ph.D. in computer science, Modélisation Objet Avec UML-2000 was published on Eyrolles - she added Rational Software as an advisor in 1999. She is unanimously to help customers evaluate their software needs and implement IBM Rational solutions.