Rational Rose Enterprise Edition tool is used for an object oriented design of a problem. We draw an UML diagram in rational rose which deals with the objects and classes in a system. The Unified Modelling Language or UML is a mostly graphical modelling language that is used to express designs. It is a standardized language in which to specify the artifacts and components of a software system. It is important to understand that the UML describes a notation and not a process. It does not put forth a single method or process of design but rather is a standardized tool that can be used in a design process.
The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.1 The UML is a very important part of developing object oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.
The primary goals in the design of the UML were:
- Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.
- Provide extensibility and specialization mechanisms to extend the core concepts.
- Be independent of particular programming languages and development processes.
- Provide a formal basis for understanding the modeling language.
- Encourage the growth of the OO tools market.
- Support higher-level development concepts such as collaborations, frameworks, patterns and components.
- Integrate best practices.
As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market. These techniques include component technology, visual programming, patterns and frameworks. Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance.
The UML is intended primarily for software-intensive systems. It has been used effectively for such domains as
- ⦁ Enterprise information systems
- ⦁ Banking and financial services
- ⦁ Telecommunications
- ⦁ Transportation
- ⦁ Defense/aerospace
- ⦁ Retail
- ⦁ Medical electronics
- ⦁ Scientific
- ⦁ Distributed Web-based services
The UML is not limited to modeling software. In fact, it is expressive enough to model non software systems, such as workflow in the legal system, the structure and behavior of a patient healthcare system, and the design of hardware.
A diagram is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices (things) and arcs (relationships). A diagram is a projection into a system. The UML includes nine such diagrams.
1. Class diagram
A structural diagram that shows a set of classes, interfaces, collaborations, and their relationships
2. Object diagram
A structural diagram that shows a set of objects and their relationships
3. Use case diagram
A behavioral diagram that shows a set of use cases and actors and their relationships
4. Sequence diagram
A behavioral diagram that shows an interaction, emphasizing the time ordering of messages.
5. Collaboration diagram
A behavioral diagram that shows an interaction, emphasizing the structural organization of the objects that send and receive messages.
6. Statechart diagram
A behavioral diagram that shows a state machine, emphasizing the event-ordered behavior of an object.
7. Activity diagram
A behavioral diagram that shows a state machine, emphasizing the flow from activity to activity.
8. Component diagram
A structural diagram that shows a set of components and their relationships.
9. Deployment diagram
A structural diagram that shows a set of nodes and their relationships