UML 2 Teaching at Postgraduate Studies – Prerequisites and Practice Stanislaw Wrycza, Bartosz Marcinkowski Department of Information Systems, University of Gdansk, Armii Krajowej 119/121 81-824 Sopot, Poland {swrycza, bmarc}@univ.gda.pl Abstract. The aim of the paper is presentation of the assumptions and conclusions related to the UML 2 application in teaching practice of information systems development at postgraduate studies. The content of the paper is based on the experiences collected at University of Gdansk during the UML course lectures, laboratories supported by case studies, UML CASE tools and e-learning. The paper starts with the statement of teaching prerequisites of teaching approach to this course. Next, the approach is discussed, as well as didactic infrastructure presented. Mentioned part contains the exemplary component of the teaching process outcome. Problems and challenges related to the approach and its implementation are introduced in part 3. Finally, the conclusions of UML 2 teaching are presented. 1 Assumptions of teaching process The field of Object-Oriented Systems Analysis & Design (OOSAD) has a long record of teaching [1, 2, 3, 5, 6, 7, 8]. In the recent several years the didactic process in this field has been dominated by the notion of Unified Modeling Language (UML). This language is a professional challenge and necessity for contemporary system analysts and designers. Therefore, the latest version of UML, i.e. UML 2.0, has become the required component of MIS graduates’ “body of knowledge” and competence. The essence and style of UML 2 teaching at University of Gdansk is based on profound experiences and knowledge of Systems Analysis & Design teaching [25, 26]. The fundamental principles of this approach are as follows: 1. business processes understanding; 2. practical business problems solving; 3. currently updated, timely knowledge; 4. teamwork directed at interpersonal co-operation in the process of problems statement and solving (emulating the work of project teams); 5. strong infrastructural support by CASE (Computer-Aided Software Engineering) tools; 6. e-learning application in teaching process. The principles listed above, applied to UML 2 course, are related to the following areas of didactic activities: * specification of use-cases [14]; * standards, books, e-learning content and other materials encompassing UML teaching, in particular UML 2.0 Superstructure [18, 16]; * team formations, based on psychological tests, showing the managerial, promotional, analytical and supporting abilities of the students; * available CASE tools, for instance Sparx Systems Enterprise Architect [21] or Rational Rose [9]. In opinion of the course authors, it may be developed effectively and practically supported by the UML 2 related techniques or methodologies, such as: * Business Process Modeling (BPM) [15, 19]; * Robustness Analysis [10]; * Rational Unified Process (RUP) [4, 20, 7]. 2 Teaching process development The above mentioned teaching resources influenced the teaching process of UML 2 as shown at fig. 1. Fig. 1. The prerequisites and accomplishment of UML 2 academic course The cornerstone of the approach discussed is of course UML 2.0 Superstructure and the publications of G. Booch, I. Jacobson and J. Rumbaugh [2, 3]. The stimulating role is also played by numerous UML 2 manuals, among others [1, 5, 6, 7, 8, 23]. The above UML background was combined also with related Object-Oriented methods, techniques and methodologies like BPM, Robustness Analysis and RUP. The source materials served as a background of autonomous didactic activity like lectures, course manual and e-learning content. On the basis of these didactic resources the teaching process – carried out in laboratories – could be initiated. All laboratories are equipped with a CASE tool supporting teaching process [21]. The approach is based on specification of case studies, describing the real-world situations and problems occurring in different business sectors. They should fulfill the following features: 1. cannot be simple, i.e. should create the possibility of alternative solutions; 2. should be suitable for application of wide range of UML diagrams; 3. should be divisible into individual specific tasks possible to be solved by members of the team. The process allows the understanding and effective use of all UML diagrams enumerated in table. 1. Table 1. Classification of UML 2 diagrams Structure Diagrams Behavior Diagrams Class Diagram cld Use-Case Diagram ud Object Diagram od Activity Diagram ad Composite Structure Diagram csd State-Machine Diagram sm Package Diagram pd Interaction Diagrams Sequence Diagram Communication Diagram Timing Diagram Interaction Overview Diagram sd cd td iod Implementation Diagrams Component Diagram Deployment Diagram cod dd The application of UML 2 diagrams in cases solution is ordered accordingly to P. Kruchten's 4+1 model view approach [11, 12] as shown at fig. 2 Thus, the system development process starts with the Use-Case View, which is the central perspective for the other views. The important role in specifying requirements fulfilled by use-case diagrams, use-case scenarios’ descriptions, business process models and robustness models. Fig. 2. System views and related UML 2 diagrams Starting from the generated and described use-cases, including both basic and advanced categories, the other twelve types of UML diagrams may be developed for the specific system views. They include both system structure and dynamics. The application of the specific diagrams and the succeeding views are supported by CASE tools, selected from the available software packages specified and assessed in table 2. Table 2. Selected CASE tools supporting UML 2 Name Declared conformance UML Diagram ? ud cld sm ad csd iod sd cd cod dd td Ameos 1.5 + + + + – – + + + + – 8 AnyLogic 1.3 – – + – – – – – – – – 1 ArgoUML 1.3 + + + + – – + + + + – 8 Enterprise Architect 2.0 + + + + + + + + + + + 11 Innovator 1.4 + + + + – – – + + – – 6 Metamil 2.0 + + + + + – + + + + – 9 Objecteering Enterprise Edition 2.0 + + + + + + + + + + – 10 Poseidon for UML 2.0 + + + + – – + + + + – 8 Rational Software Architect 2.0 + + + + + – + + + + – 9 Teuta 1.5 – + – + – – – + – + – 4 Together 2.0 + + + + + – + + + + – 9 ? 9 10 10 10 5 2 8 10 9 9 1 Source: excerpt from [22]. In the result of accomplishment of the process outlined in fig. 1, the documentation of the specific case is generated, completed, presented by the group and finally assessed, in accordance with the lectures and laboratories plan, described in table 3. The most important system aspects must be covered, while the number of hours devoted to preparing individual elements of the documentation is adjusted to the types of the projects in the flexible way. Table 3. Excerpt from subject curriculum Topic Number of hours Lectures Laboratories UML – development, structure, terms 1h Use-Case Diagram 3h 4h, including use-case scenarios Class and Object Diagrams 4h 2h Activity Diagram 3h 2h State-Machine Diagram 2h 1h Introduction to Interaction Diagrams 1h Sequence Diagram 3h 3h Communication Diagrams 1h 1h Timing Diagrams 1h 1h (optionally) Interaction Overview Diagrams 1h 1h (optionally) Implementation Diagrams 2h Composite Structure Diagram 1h Package Diagram 1h Rational Unified Process 2h Business Modeling with UML profile 2h Robustness Analysis 1h Computer-Aided Software Engineering 1h 1h The selected solutions are becoming the part of UML 2 cases pool available at e-learning platform. Exemplary component of the final documentation, i.e. sequence diagram, is presented in fig. 3. Fig. 3. Realization of an “Apply for Credit” use-case presented as a sequence diagram Source: [13] 3 Problems and challenges Although the teaching process presented in fig. 1 is generally accepted by course participants, and the fact that teachers act as moderators, the problems in succeeding domains had arisen and have been corrected: * application area selection, * insufficient competence in the selected area, * lack of experience, * confusing BPM with systems modeling, * misusing UML 2 advanced categories, * matching type of behavior diagram with appropriate functionality, * documentation redundancy, * fluency of CASE tool use, * understanding message syntax while creating interaction diagrams, * inconsistencies between system dynamics and system structure. These basic problems and challenges are presented in fig. 4. Fig. 4. Main problems related to teaching process 4 Conclusions The essential conclusions of the method used are as follows: * the method stimulates students for active and creative work in groups and enhances their knowledge on UML 2; * work based on case studies gives the chance to work in conditions similar to the practical tasks in future work; * the intensity of each individual’s work reaches higher level as everybody is encouraged and controlled by the other team members. The discussed approach is under continuous development and improvement according to the specified fundamental assumptions and UML development. References 1. Ambler S. W.: The Elements of UML Style. University Press, Cambridge (2003) 2. Booch G., Rumbaugh J., Jacobson I.: The UML Reference Manual. 2nd edn. Addison-Wesley, Boston (2004) 3. Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language User Guide. Addison-Wesley, Boston (1999) 4. Booch G., Rumbaugh J., Jacobson I.: The Unified Software Development Process. Addison-Wesley, Boston (1998) 5. Burton P. J., Bruhn R. E: Using UML to Facilitate the Teaching of Object-Oriented Systems Analysis & Design. Journal of Computing Sciences in Colleges 19 (2004) 6. Dennis A.: Systems Analysis and Design with UML Version 2.0. Wiley, New York (2005) 7. Eriksson H., Penker M., Lyons B., Fado D: UML 2 Toolkit. OMG Press, Indianapolis (2004) 8. Fowler M.: UML Distilled. 3rd edn. Addison-Wesley, Boston (2004) 9. IBM Rational Rose: http://www-306.ibm.com/software/rational (2004) 10. Jacobson I., Christerson M., Jonsson P, Overgaard G: Object-Oriented Software Engineering: A Use-Case Driven Approach. Addison-Wesley, Boston (1992) 11. Kontio M.: Architectural Manifesto: Designing Software Architectures. Part 5. Introducing the 4+1 View Model, http://www-128.ibm.com/developerworks/wireless/library/wi-arch11 (2005) 12. Kruchten P.: Architectural Blueprints – the “4+1” View Model of Software Architecture. IEEE Software 12 (1995) 13. Marcinkowski B: Isomorphism of Interaction Diagrams in UML 2. In: Abramowicz W. (ed.): Proceedings of 8th International Conference on Business Information Systems. Poznan University of Economics (2005) 14. Marcinkowski B: Relevance of Use-Case Scenarios’ Descriptions in System Requirements Specification. In: Kubiak B., Korowicki A. (eds.): Information Management. University of Gdansk (2005) 15. Moore J: This year's model: Business process, http://www.fcw.com/fcw/articles/2004/0419/feat-bizmodel-04-19-04.asp (2004) 16. Object Management Group: UML 2.0 Superstructure FTF Convenience Document, http://www.omg.org (2004) 17. Object Management Group: Unified Modeling Language Specification Version 1.5, http://www.omg.org (2003) 18. Object Management Group: Unified Modeling Language Specification Version 2.0, http://www.omg.org (2003) 19. Rational Software Corporation: Business Modeling with UML: The Light at the End of the Tunnel, http://www.therationaledge.com/content/dec_01/m_businessModeling_bb.html (2001) 20. Rational Software Corporation: Rational Unified Process, Process Made Practical – informative board (2002) 21. Sparx Systems Enterprise Architect 4.5: http://www.sparxsystems.com.au (2004) 22. UML Tools: http://www.oose.de/umltools.htm (2005) 23. Wrycza S., Marcinkowski B., Wyrzykowski K.: Systems Modeling with UML 2 (in print) 24. Wrycza S., Marcinkowski B., Wyrzykowski K.: Timing Diagrams Functionalities in Information Systems Modeling with UML 2. In: Kubiak B., Korowicki A. (eds.): Information Management, University of Gdansk (2005) 25. Wrycza S., Rybinski W.: Information Systems Development Education: Assumptions and Practice. In: Stowell F. A., West D., Howell J. G. (eds.): Systems Science. Addressing Global Issues. Plenum Press (1993) 26. Wrycza S.: Systems Analysis and Design (in Polish). PWN, Warsaw (1999) 8      Stanislaw Wrycza, Bartosz Marcinkowski UML 2 Teaching at Postgraduate Studies – Prerequisites and Practice      9