UML 2 Academic Course – Methodological Background and Survey Benchmarking Stanislaw Wrycza swrycza@univ.gda.pl Bartosz Marcinkowski bmarc@univ.gda.pl Department of Business Informatics, University of Gdansk Armii Krajowej 119/121, Sopot, 81-824, Poland Abstract Owing to the expansion of object-oriented systems development, the need for high quality education of skilled systems analysts and designers has emerged. The process of teaching should include the periodical quality assessment and resulting improvement. In the paper the survey of UML 2 teaching at academic level is presented and discussed. In the paper prerequisites of teaching process were introduced firstly. Then, the analysis of selected survey results was presented. The paper is concluded with summary. Keywords: Unified Modeling Language, teaching approach, questionnaire survey, UML-2-Light version, UML diagrams, stereotypes, UML-related techniques 1. INTRODUCTION Object-oriented systems development and Unified Modeling Language (UML) in particular are the subject of the increasing attention of systems analysts and designers. The demand for UML specialists on business and MIS markets stimulates the changes in A&D teaching process. The dominant position of structured paradigm is being taken over by object oriented one, justifying focusing on UML teaching at academic level. As it is the new challenge, teaching process needs current monitoring and assessment. Department of Business Informatics at the University of Gdansk has undertaken the challenge and has over three year experience in applying UML teaching process with over 300 students that have taken courses concerning UML 2. So there was the highest time for receiving the feedback to assess and eventually modify the UML teaching process. The questionnaire containing 17 questions was prepared and circulated among 180 students of Business Informatics. The students questioned have already participated in the courses of both structured and object-oriented systems development. The survey resulted in the rich statistical material. The selected results are presented in the current paper. 2. PREREQUISITES OF TEACHING PROCESS As the complete presentation of teaching process in discussion exceeds the scope of the current paper, only the basic components, teaching process scheme as well as the schedule of the course are included. The assumptions of the UML 2 teaching approach are presented precisely in (Wrycza and Marcinkowski, 2005). The general fundamental components of the approach in discussion include: * methodology for teaching object-oriented analysis and design based on UML 2 at university level; * set of business cases, enabling teamwork of students solving the specified problems and using the adequate UML diagrams; * the extensive UML 2 manual, explaining the language and its artifacts – both rudimentary and advanced ones (Wrycza, Marcinkowski and Wyrzykowski, 2005); * the UML CASE tool – Enterprise Architect (Sparx Systems, 2006); * formal Object Management Group (OMG) specifications concerning UML language (Object Management Group, 2004). Therefore, the proposed teaching approach is based on UML 2.0 Superstructure Convenience Document and includes further UML standard enhancements. Students have the following teaching aids at their disposal: * UML 2 manual, * lectures, * e-learning. The teaching process is conducted in labs by use of case studies solved by student teams. The important role in the course is played by a CASE tool. Enterprise Architect, manufactured by Sparx Systems, was selected for this aim. Students take up business problem specification, followed then by specification of system structure and dynamics. The final specification is elaborated, presented, discussed and in some cases implemented in business practice. The updated process scheme is outlined using UML activity diagram notions in fig. 1. It includes some modifications introduced into the original UML teaching process. First of all, documentation is built in an iterative way, in accordance with Rational Unified Process (RUP). Supplementary, deployment and components specifications were included in the process. All projects accepted by the teacher are stored in the model repository. Fig. 1. Improved UML 2 teaching process The complete schedule of lectures and labs for the specific UML 2 academic course, along with the number of hours for the specific UML diagrams, is presented in table 1. Table 1. Excerpt from course curriculum Topic Number of hours Lectures Labs UML – development, structure, terms 1h Use Case Diagram 3h 4h (incl. UC scenarios) Class Diagram and Object Diagram 4h 2h Activity Diagram 3h 2h State Machine Diagram 2h 1h Introduction to Interaction Diagrams 1h Sequence Diagram 3h 3h Communication Diagram 1h 1h Timing Diagram 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 Source: (Wrycza and Marcinkowski, 2005) Lectures cover all UML 2 diagrams, as well as selected UML-related techniques and introduction to Rational Unified Process. During labs, a lot of attention is paid to requirements specification. Modeling classes and most important system dynamics specifications is moderated by teacher, while project-specific and implementation issues are in more extensive projects considered a homework and discussed in details during the final meeting. 3. ANALYSIS OF SELECTED SURVEY RESULTS The training team has over three years experience in application of briefly described UML 2 teaching process. The teachers’ observations and students’ remarks inspired the authors to prepare and carry out the precise survey. The aggregated tool for the survey was the questionnaire, encompassing 17 questions. The questionnaire was filled by 180 students of MIS specialization at bachelor and master levels. Survey addresses several related topics. Some of them, concerning UML 2 complexity level as well as reciprocal influence of structured and object-oriented analysis & design, were included in (Wrycza and Marcinkowski, 2006). Therefore, in respect of discussed approach the following issues are discussed: * number of UML diagrams, * usefulness of the specific diagrams, * need for UML-2-Light version, * relevance of stereotypes, * potential UML 2 extensions. Students taking part in the survey might specify whether they agree or disagree with the opinion presented in each question. Grades from 1 (do not agree at all) to 5 (completely agree) were marked on the scale. UML 2 works at the collection of 13 separate diagrams. As they are used with different frequency, there is an ongoing discussion concerning their cardinality. Many UML users – both novice and experienced – indicate that UML 2 standard comprises too many types of diagrams. In fact, over 57% of the respondents confirmed such an opinion, as shown at figure 2. This opinion does not differ in both groups of respondents. Results confirm instructors’ observations, who have many a time seen the tendency to select a rather narrow group of UML diagrams and consequently apply it while solving problems that might have been more effectively modeled using different diagrams. On the other hand, both novice and experience users were able to specify potential UML language extensions (see figure 6). Fig. 2. Number of UML diagrams The first question generates the next problem of usability and uselessness of the specific diagrams. The survey proved that the future system analysts propose the following diagrams as the most useful ones (figure 3): * Class Diagrams (112 responses), * Use Case Diagrams (100 responses), * Activity Diagrams (47 responses), * Sequence Diagrams (38 responses). This sequence of diagrams usefulness could be expected and is similar to that concluded from survey conducted by B. Dobing and J. Parsons (Dobing, 2005) among experienced analysts and designers. The percentage of responses supporting individual diagrams, however, in particular Use Case Diagrams, emphasizes the requirement for stressing the connection of the specific diagram to the specific stages of the system lifecycle in teaching process. In that way the importance of Use Case Diagrams for initiating the system development process would be understood and appreciated. Moreover, results indicate that some of UML-led projects are not use-case driven. State Machine Diagrams, Timing Diagrams, Deployment Diagrams and Composite Structure diagrams are recognized as the most useless diagrams. It seems that students underestimated the relevance of State Machine and Deployment Diagrams. While the former is semantically rich, but often rejected by novices, the latter is used at the lower disciplines of system development process. Therefore, the teaching of these types of diagrams should be repeated in the curricula of object-oriented programming courses. Fig. 3. Usefulness of the specific UML diagrams Owing to the discussion on the number of UML diagrams really required, the concept of UML-2-Light version has arisen. UML-2-Light version should be introduced to avoid overwhelming of novice analysts and designers in UML-led system development process. It should include the limited number of most frequently used UML diagrams, which would allow creating the core of system documentation. Such version would be useful in the teaching process, and more experienced users could migrate to the complete UML 2. The authors were particularly interested in finding whether such a version was really demanded. Results received were similar to that concerning the usefulness of UML 2 diagrams, but the leading role is this time played by Use Case Diagrams. It seems that in the opinion of respondents, the UML-2-Light version ought to comprise five types of diagrams (figure 4): * Use Case Diagram, * Class Diagram, * Activity Diagram, * Sequence Diagram, * Object Diagram. In fact, these types of diagrams (omitting Object Diagram perhaps) have been most frequently used, but on the other hand these five diagrams have the longest history of application for systems development. As concerned the new types of UML diagrams, for the first time introduced in UML 2 version, i.e. Composite Structure Diagrams, Interaction Overview Diagrams and Timing Diagrams, the two former are still rather unpopular, while the latter has drawn substantial level of respondents’ attention. The survey confirms the importance of three leading architectural views: Use Case View, Logical View and Dynamic View (Kruchten, 1995). Defining the light version would have influence on UML teaching process. It seems most rational to divide it between two levels – basic and advanced. The basic level would address the light version, while the advanced one would comprise teaching of the remaining eight types of diagrams, as well as selected UML-related techniques. Fig. 4. Need for UML-2-Light version Fig. 5. Relevance of stereotypes As the users’ experience grows, respondents tend to use additional UML features and UML-related techniques. As concern the role of stereotypes, the built-in extension mechanism, this feature was found very useful (figure 5). UML stereotypes allow enriching the semantics of system documentation. In general, the application of stereotypes is appreciated by almost 70% of respondents. Stereotypes ought to be included in the advanced UML course along with more specialized diagrams and UML-related techniques, allowing students to customize documentation created. The UML 2 academic course also includes diagrams related to UML standard. There are three techniques supporting the UML language in the initial disciplines, i.e. Business Modeling and Requirements, that were selected in the survey. They are: * Semiformal Use Case Scenarios’ Descriptions, * Business Models, * Robustness Models It was the Robustness Model that acquired the highest level of acceptance (figure 6). It is often eagerly used instead of rather unpopular Communication Diagrams. Business Models and Semiformal Use Case Scenarios’ Descriptions were similarly popular. However, the experienced users were much more interested (11%) in their application. This confirms the requirement for inclusion of the three UML-related techniques for supporting UML standard in iterative-incremental system development process. Fig. 6. Potential UML 2 extensions 4. SUMMARY In the paper the process of UML 2 teaching was briefly elaborated and presented. This process introduced at academic course was surveyed by the use of questionnaire, distributed among 180 students – participants of the course. Main conclusions were drawn on the basis of the survey. It confirmed the requirement for implementation of UML-2-Light version, which would include 5 types of most frequently used types of diagrams: * Use Case Diagrams, * Class Diagrams, * Activity Diagrams, * Sequence Diagrams, * Object Diagrams. New types of diagrams (introduced in UML 2), in particular Interaction Overview Diagram and Composite Structure Diagram have reached low acceptance level till now. The more experienced users, the greater appreciation for stereotypes, semiformal use case scenarios’ descriptions, business and robustness models. 5. REFERENCES Ambler (2005) The Elements of UML 2.0 Style.  University Press, Cambridge. Booch (2004) The UML Reference Manual. 2nd edn. Addison-Wesley, Boston. Burton, R. E. Bruhn (2004) “Using UML to Facilitate the Teaching of Object-Oriented Systems Analysis & Design.” Journal of Computing Sciences in Colleges 19. Dennis (2005) Systems Analysis and Design with UML Version 2.0.  Wiley, New York. Dobing B, J. Parsons (2006) “How UML is used.” Communications of the ACM 49. Eriksson, M. Penker, B. Lyons and D. Fado (2004) UML 2 Toolkit.  OMG Press, Indianapolis. Kruchten (1995) “Architectural Blueprints – the ‘4+1’ View Model of Software Architecture.” IEEE Software 12. Marcinkowski (2005) “Isomorphism of Interaction Diagrams in UML 2.” Proceedings of 8th International Conference on Business Information Systems. University of Economics Press, Poznan. Marcinkowski (2005) “Relevance of Use-Case Scenarios’ Descriptions in System Requirements Specification.” Information Management. University of Gdansk Press, Gdansk. Moore (2004) “This year's model: Business process.” http://www.fcw.com/fcw/articles/2004/0419/feat-bizmodel-04-19-04.asp. OMG (2004) “UML 2.0 Superstructure FTF Convenience Document.” http://www.omg.org. Sparx Systems Enterprise Architect (2006) http://www.sparxsystems.com.au. Wrycza, B. Marcinkowski and K. Wyrzykowski (2005) Systems Modeling with UML 2 (in Polish). Helion, Gliwice. Wrycza, B. Marcinkowski (2005) “UML 2 Teaching at Postgraduate Studies – Prerequisites and Practice.” Proceedings of ISECON 22. Wrycza, B. Marcinkowski (2006) “Unified Modeling Language Teaching Approach - Survey and Assessment” Proceedings of BIR’2006. Wrycza, W. Rybinski “Information Systems Development Education: Assumptions and Practice” Systems Science. Addressing Global Issues. Plenum Press, New York.