Object oriented analysis and the design of large client server applications in a windows environment: an experience - Zamli, K.Z.; Wan Hassan, W.A.; Mohd Zainuddin, N.M. (Universiti Utara Malaysia, 2003)
A Unified Modeling Language (UML) is probably the most popular language and notations for Object Oriented Analysis and Design (OOAD) in the industry. In fact, the UML, a unification of James Rumbaugh's Object Modeling Techniques (OMT), Grady Booch's Booch Techniques, and Ivar Jacobson's Object Oriented Software Engineering (OOSE), is fast becoming a lingua franca for software engineers, developers and designers alike. Being a lingua franca, the UML helps software engineers 'speak' in the same language. In effect, the UML facilitates reuse of not only codes, but also software architectural designs. In some cases, these architectural designs are also documented as reusable designs or patterns. This paper, derived from our previous work (Idris et al., 2000; Zamli et al., 1999a; Zamli et al., 1999b; Zamli et al., 1999c; Zamli et al., 1999d; Zamli et al., 1999e), describes our experience using a UML to design large scale object oriented client server database applications in a Windows environment. In doing so, we have developed some reusable designs and conventions in terms of UML class diagrams along with class relationships, cardinality and stereotypes, as well as in terms of component diagrams and their dependencies.