Unified Modeling Language
Essay Preview: Unified Modeling Language
Report this essay
The Unified Modeling language (UML) was released by the Object Management Group (OMG) in the effort to provide a standardized design language to build and develop computer applications. The purpose of the design language is to allow IT professionals to distribute system structure and design plans in a comprehensible graphical manner, similar to blueprints of a building. Modeling is an important part of software projects, large and small. With modeling, the software development team are better able to work with the end-user in providing a visual program design. Surveys reveal that the development of large software applications have many impediments and have a large probability of failure. Modeling provides a greater opportunity for success in the development of software applications. (Introduction to OMGs Unified Modeling Language)
UML is the combined work of James Rumbaugh, Ivar Jacobson and Grady Booch.Dr. James Rumbaugh is one of the leading software development methodologists in the world. Dr. Rumbaugh previous to the development of UML, worked on software methodology, tools, and concepts for more than 35 years. He was the chief developer of the Object Modeling Technique (OMT), a leading object-oriented analysis and design method that was a predecessor of UML. Grady Booch is recognized internationally for his innovative work on software architecture, software engineering and modeling. He worked with IBM Rational as its Chief Scientist since 1981, and has published several hundred technical articles on software engineering and object-oriented design. Ivar Jacobson is a Swedish computer scientist. He thought of the need for blueprints in software development. While working for Ericsson he proposed and developed the use of software components, such as sequence diagrams, and invented use cases as a way to write down software requirements. He developed collaboration diagrams, and applied state transition diagrams to describe the message flow between the components.
Since the initial release of UML in 1997, it has been revised and grown, with several releases, and with many industry firms contributing to the standard. The current standard is UML 2.0, a major rewrite. The first part of UML 2.0, the Superstructure – describes the new diagrams and modeling elements available, other parts of UML 2, the infrastructure-the object constraint language (OCL) and the diagram interchange, the diagram interchange- This specification extends the UML metamodel with a supplementary package for graph-oriented information, allowing models to be exchanged or stored/retrieved and then displayed as they were originally. UML is not a method but it is derived from and was designed to be compatible with the leading object-oriented software development methods. A language as opposed to a methodology, can easily fit into any companys way of conducting business without requiring change. UML notation provides several types of diagrams to be used within a given methodology, when used will increase the ease of understanding an application under development. There are three main components of a systems model: Functional Model – which displays functionality of the system from the users point of view, it includes, Use Case Diagrams. Object Model – is the structure and substructure of the system using objects, attributes, operations, and associations, it includes class diagrams. Dynamic Model – displays the internal behavior of the system.
The most useful, standard UML diagrams are: use case diagram, class diagram, sequence diagram, statechart diagram, activity diagram, component diagram, and deployment diagram.
A use case shows a visual of functionality provided by the system. The use-case diagrams purpose is to help development teams visualize the functional requirements of a system, including the relationship of “actors” (human beings who will interact with the system) to essential processes, as well as the relationships among different use cases. The class diagram shows how the different entities (people, things, and data) relate to each other. The Sequence diagrams is almost self explanatory, it shows a detailed flow for a specific use case or even just part of a specific use case. The statechart