Benefits of UML and some goals
Filed Under Architecture, Benefits, Design, Development, Process, Software, Techniques, UML | Posted on September 29, 2007
Why was UML made ? 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.
The use of UML as a tool for defining the structure of a system is avery useful way to manage large, complex systems. Having a clearly visible structure makes it easy to introduce new people to an existing project.
For a deeper detail into the art of visual modeling, continue reading:
A visual model is an abstract representation of something that contains only the
pertinent details we need to help us understand it. Visual models are written using visual languages. Just as written English is made up of symbols that have some meaning in the context of a sentence, visual languages are made up of graphical symbols that have some meaning in the context of a visual model. The value of visual models is in their ability to succinctly communicate large amounts of complex information. The power of visual models is to present rich, complex information in a way that can be easily digested.
UML is designed to help us design effective object oriented software. Unsurprisingly, the basic currency of object orientation is objects. We can use UML to describe objects, their attributes & facts that we can know about them – and the relationships between objects at some point in time. As well as describing objects, we can use UML to model types of objects, that is, sets of similar objects that share the same characteristics. Types or classes, as they are more commonly known in object oriented software development tell us what attribute values any instance of that type is allowed to have, what roles objects of that type are allowed to play, and how many objects are allowed to play the same role with respect to the same object.
We can also use UML to describe workflows or processes that are not especially event-driven or that do not necessarily apply to objects that have distinct lifecycles.
UML notation can be useful during the requirements gathering stage. For instance, use case diagrams will show the users what they must do, as well as what the system will do for them. They can also be used as the basis for testing the application (creation of test plans) and development of user guides.
A point-wise enumeration of the benefits:
* Since system design comes first, UML enables re-usable code to be easily identified and coded with the highest efficiency, thus reducing software development costs
* UML enables logic ‘holes’ to be spotted in design drawings so that software will behave as expected
* The overall system design described in UML will dictate the way the software is developed so that the right decisions are made early on in the process. Again, this reduces software development costs by eliminating re-work in all areas of the life cycle
* UML provides an enterprise level view of the system and, as a result, more memory and processor efficient systems can be designed
* UML enables ease of maintenance by providing more effective visual representations of the system. Consequently, maintenance costs are reduced.
* UML diagrams assist in providing efficient training to new members of the development team member
* UML provides a vehicle of communication with both internal and external stakeholders as it documents the system much more efficiently
|
|
|
If you are interested in software processes, find this post informative, and want to learn more, why not subscribe ?
Subscribe to get updates by Email
Leave a Reply