In general, Visio is a drawing tool while Rational rose is a modeling tool. To me, these are two different families of tools. Of course, its difficult to classify some tools in clearly one of the two categories but in general Id say that the main difference is that drawing tools do not understand the model you are drawing, they just let you represent it. This implies that most likely they will not be able to check if the model is correct or to generate code from it.
As Jordi mentions - the difference is that tools like Rose (and others) understand the rules of UML. They allow you to catch modelling errors, and more importantly, allow you to refactor models more easily. Say your "Customer" class has been renamed "Account" - change it in the model and all references to Customer will be updated.
Remember -a good UML model is a bit like a circuit diagram - it has rules that allow you be very precise about what you want to convey. There are approaches to modelling that mean you generate the application rather than code it directly (or code very little of it). Many embedded/safety critical systems are built this way.
It is not easy to structure your models...It is just drawing tool...Try some cheap UML tools such as Sparx Systems Enterprise Architect... They are better...even better than IBM tools in many situations...And
Rational was the best UML tool in the world but since its eclipse integration and the use of the GMF framework it is now so unstable, so slow, no direct control of the model etc... than even a drawing tool like Visio is better !!
One of the most common questions about using Rational Rose to create class diagrams is, "How do I get it to show mandatory containment?" Here, in 5 easy steps, is how to draw an association, change it to Aggregation, and then to Containment.
A class diagram is a kind of UML diagram that shows the objects that are required and the relationships between them. Since it provides detailed information about the properties and interfaces of the classes, it can be considered as the main model and regard the other diagrams as supplementary models.
To copy a class member, select it and drag to the target class while keep pressing the Ctrl key, you will see a thick black line appears indicating where the class member will be placed. A plus sign is shown beside the mouse cursor indicating this is a copy action.
To move a class member, select it and drag to the target class, you will see a thick black line appears indicating where the class member will be placed. Unlike copy, do not press the Ctrl key when drag, the mouse cursor without the plus sign indicates this is a move action.
A generalization set defines a particular set of generalization relationships that describe the way
in which a general classifier (or superclass) may be divided using specific subtypes. To define a generalization set, select the generalizations to include, right click and select Generalization set > Create Generalization Set... from the popup menu.
When project's programming language is set to be Visual Basic or C#, it is possible to define delegate method for classes. To define delete method, right click on the class and select Stereotypes > Delegate from the pop-up menu.
Initial value can be set to an attribute, indicating the default value of the attribute when the owning object is instantiated. You can give a text value for initial value, or select an attribute of another class. To set initial value to an attribute:
Ownership of association ends by an associated class may be indicated by a small dot. To set the ownership, right click at the association end where you want to set ownership, select Owned by in the popup menu, then select either the association or the class at the opposite end. By selecting class, the small dot will be shown.
The purpose of this thesis was to design and implement a software engineering tool that supports the editing of Hierarchical Predicate Transition Nets (HPrTNets) in a graphical environment. This tool allowed the user to create a new HPrTNets structure or to load the data associated to a class diagram stored in Rational Rose files converting it to the HPrTNets notation.
This software engineering tool allowed the graphical representation of the static aspect of a system as defined by Unified Modeling Language (UML) class diagrams. The HPrTNets structure consisted of formalizing syntactic structures of UML class diagrams. This tool served as a benchmark in order to lead to a better understanding of UML, reveal potential problems in the current definition of UML, and formally analyze UML specifications and designs. The tool was implemented in Microsoft Visual J++ communicating with Rational Rose via a Component Object Model (COM). The userfriendly graphical interface was created in JBuilder.
Fernandez, Rigoberto, "Software tool that generates hierarchical predicate transition nets (HPRTNETS) notation from a unified modeling language (UML) class diagram notation" (2001). FIU Electronic Theses and Dissertations. 3306.
In Copyright. URI:
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
When a Rational Rose class diagram is used as the source for EMFmodel generation, there are a number of pieces of information abouteach package that are not expressed in the UML, requiring thegenerator to infer them from the package name. Instead, it ispreferable to store them directly in the Rose model as modelproperties.
The model elements must belong to a package. When the model isconverted to Ecore, if there are any elements that are notcontained in a package, a package will be created for them, and itsproperties will be inferred from the name of the model.
In addition to these package properties, the Ecore property filedefines properties for classes, attributes, relations, andoperations, all of which can be found on the "Ecore" tabs of theirrespective Specification dialog boxes.
Rose Data Modeler features allow the database designer and the software developerto communicate requirements using the same tool. As a database designer or developer, you can use Rose Data Modeler to model and design databases, and to integrate your application anddatabase.
You can model and design a database using an object model transformed to a datamodel or by reverse engineering an existing database schema or DDL script to create a data model. Using Rose Data Modeler transformation options, you can integrate application and database designs. Transformation options map elements contained in an object model to create a data model, or transform elements in a data model to create an object model.You must understand object-oriented analysis and design (OOAD) concepts and the Unified Modeling Language (UML) to create the object model. Creating a data model requires understanding relational database design. RoseData Modeler uses database terminology and UML stereotypes to represent database elements.
Rose Data Modeler uses or creates three model types—an object model, a datamodel, and an optional data storage model. An object model represents classes, their behaviors, and the relationships betweenclasses. TheRose class diagram represents a view of the object model. A data model represents the structure of the database as implemented by the enterprise. Theoptional data storage model represents the physical storage structure of thedatabase.
Using a Rose class diagram created by a software developer, you can create a Rose data model diagram. In your Rose class diagram, you modelthe classes required to integrate your application with the database. Only persistent classes transform from the object model to a Rose data model. The persistent classes must be assigned to a component and be located in the same logical package.
Use the Rose Data Modeler Reverse Engineering Wizard to generate a data model. Youcan reverse engineer a DDL script or database schema for a DBMS supported by Rose Data Modeler. Rose Data Modeler supports ANSI SQL 92 standard databases or the followingDBMSes:
The Reverse Engineering Wizard reads the database schema or DDL file and creates a data model diagram that includes the names of all quoted identifier entities. Depending on the DBMS, Rose Data Modeler Reverse Engineering Wizardmodels tables, relationships between tables, stored procedures, indexes, and triggers in the data model diagram.
In the data model diagram, add tables, define relationships, indexes, anddomains, and apply third normal form to the elements. Then transform the data model to an object model or forward engineer the data model to generate a DDL script or database schema.
Using Rose Data Modeler, you can transform an object model to create a Rose data model. Before transforming an object model to a data model diagram:
You build a data model using Rose Data Modeler. First, you model a schema. To model a schema, create a database for a Rose Data Modeler supported DBMS. Creating a database enables DBMSconnectivity and Rose Data Modelers forward engineering features and compare/synchronization functions. Next, create a schema and assign it to the database. Create a data model diagram to model your schema. When creating a data model in Rose Data Modeler, you must create a data modeldiagram, rather than a Rose class diagram, to graphically depict tables and their relationships in a data model. Add tables to the schema in the data model diagram. You can create a data model by defining tables, columns, keys (primary and unique), constraints, and indexes, and establishing relationships between tables. For each table, create columns, assign data types supported by the DBMS, declare a primary key, and apply constraints. Establish relationships between tables in the schema. In Rose DataModeler you can also create custom triggers, domains, and stored procedures. After completing the data model diagram, use the Data Modeler Forward Engineering Wizard to generate a DDL script or database schema. Data Storage Model
c80f0f1006