STRATEGY TO INTRODUCE UML AND RUP IN SOFTWARE ENGINEERING UNDERGRADUATE COURSES
Introduction: At the Universitat Jaume I of Castellon (Spain), both Curricula in Computer Science Engineering Bachelor (CSEB) and Degree (CSED) contain four courses in Software Engineering, named “Software Engineering for Information Systems I and II” (SEIS-1, SEIS-2; in CSEB) for the Bachelor, and “Software Engineering I and II” (SE-1, SE-2; in CSED) for the Degree. Only in the SEIS-1 course, the content is not related with the Unified Modelling Language (UML). This work will be focused on SEIS-2 and SE-2.
The main objective in those courses was introducing earlier Software Engineering process workflows by means of UML and Rational Unified Process (RUP). Since academic years 2002/2003 and 2004/2005, when both courses were kicked-off by the corresponding author, several teaching UML strategies have been applied until 2007/2008. The common problem we detect was the time spent by students to understand what is RUP and how to apply it with UML. The situation became worse and the proportion of failures was increasing year per year.
Objectives: Our aim is to introduce new strategies and innovations to teach UML and RUP in order to enhance the student skills and shortening the learning time. Moreover, the most of strategies has to be accompanied by multimedia resources. With this aim, we designed a small academic project to analyze the evolution of the above mentioned courses and to develop specific strategies and support tools.
Results: First, a survey was designed and carried-out to a sample of 100 students in CSEB and CSED. The survey asked about the best and the worse teaching approaches and didactic resources applied in Software Engineering courses. Second, we found several surprising answers in preferences about general teaching approaches and materials. The survey shown requests of more initial examples to see how to apply UML and RUP workflows for obtaining sets of RUP-UML models.
Third, taking in account those partial results, we decided to change the learning model in RUP-UML in the current academic year. Our learning model introduces some changes in RUP workflows and models: in a preliminary RUP-Business Modelling process workflow, we analyze in parallel the problem domain (business entities) and functionality (what to do with each business entity), but business entities are conducting the functionality analysis. This workflow is entity directed instead of use case directed. The rest of workflows are applied according RUP rules. Fourth, we have developed a suite of multimedia minitutorials in flash as “how to do …” spots, trying to cover specific knowledge or practice gaps in students (How to create a RUP project, how to pass from the Business Model to the Requirements Model,etc.) These spots can be included and executed in the course website.
Conclusions: We have revised the teaching strategy in Software Engineering courses, based on UML and RUP, for reducing current student failures and drop outs. A new learning model has been presented according partial results from a survey: the entity-function analysis model for business entities, which is carried-out before the RUP-Business Modelling process workflow. A suite of multimedia minitutorials strengthen specific theoretical knowledge or practice procedures with the computer modelling tool. Despite it is too soon, we are seen significant progress in more students that past years, and the learning period has been dramatically reduced in the first RUP phases.