Introduction
Modeling means designing of software before coding. It is not easy to visualize software before developing it. Therefore, a visual model such as UML makes it simple to understand, by visualizing it from multiple dimensions. This paper discusses the various functions of UML, and why it was developed. It will conclude by discussing its impact on modeling.
Functions of UML
UML is a third generation object oriented programming language created, and managed by the Object Management Group from 1997 (Erickson, 2008) It produces standard visual models for software applications and system architectures.
UML was used to analyze future application requirements with solutions that met them, using customized diagrams. It shaped models that provided design solutions that were to be delivered by software systems (Deitel & Deitel, 2008). To ensure that the system went through technical analysis process for satisfactory development, a model had to be formulated.
Properly modeled systems helped in minimizing loss of information and misinterpretation in communicating the decisions taken during development. Team members developing a system would have a better understanding on how to go about the implementation process if an appropriate and, user definable model was created for that system.
Why UML was developed
Different companies initially defined their requirements in languages that were totally unfamiliar to software vendors hence the need to produce a unified language that would simplify modeling and make it understandable by all vendors. UML is a communication tool which gets key information of what the code should do.
It is an architectural tool which makes obstacles to be seen from high levels. Software that are poorly documented or not documented at all can make a company lose command of what the software operates, thus making modeling a vital tool in software development. UML was created to be used in modeling of software intensive systems by use of diagrammatic models making it easy to introduce more objects to an existing project.
Its visual models provided the ability to convey large amounts of complex information in ways that were easy to understand (Mammar, & Laleau, 2006). Requirement gathering stage also required this kind of language where used case diagrams show users what to do as well as what the system needs to do for them. They were also suited as basis for testing applications and forming user guides.
Impact of UML on modeling
It led to more accurate systems with better performance than older systems. Being object oriented, it led to web development which wasn’t previously on the minds of programmers. Systems that were developed without modeling mostly deviated from their requirements. Increasing model coverage would help reduce incorrect implementation of systems. UML went further to reduce the defect density in software systems compared to those developed without modeling.
The right decisions can now be made earlier in the development process and re-usable code identified therefore producing a system with the highest efficiency, and low development costs. Re-work in development lifecycle has been eliminated since that whole system can be viewed before implementation starts (Booch, Rumbaugh, & Jacobson, 2005). New members can find it very easy to integrate into the development team through the visual assistance offered by the easy to understand UML diagrams.
The efficient documentation of the system also makes it easy for internal and external stakeholders to share. In the case where incremental software development model is employed, UMLs allow the developer to first fulfill areas that are urgently required for the project to work while still developing other additional extensions hence maximizing reusability. Different parts of the same complex model can be independently implemented by different groups if the UML models are user-definable.
Conclusion
For system requirements to be easily understood by implementation groups, it’s important to employ UMLs since they simplify the system, and make reusability and maintainability simpler.
References
Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The unified modeling language user guide (2nd ed.). MA: Addison-Wesley.
Deitel, P.J., & Deitel, H.M. (2008). C++ how to program (6th ed.). Upper Saddle River, NJ: Pearson Prentice Hall.
Erickson, J. (2008). A decade and more of UML: An overview of UML semantic and structural issues and UML field use. Journal of Database Management Vol. 19(3), p. I-VII. Retrieved from ProQuest Database.
Mammar, A., & Laleau, R. (2006). UB2SQL: A tool for building database applications using UML and B formal method. Journal of Database Management, Vol. 17(4), 70-89.