=Paper= {{Paper |id=Vol-2019/edusymp_1 |storemode=property |title=Modeling in Agile Project Courses |pdfUrl=https://ceur-ws.org/Vol-2019/edusymp_1.pdf |volume=Vol-2019 |authors=Lukas Alperowitz,Jan Ole Johanssen,Dora Dzvonyar,Bernd Bruegge |dblpUrl=https://dblp.org/rec/conf/models/AlperowitzJDB17 }} ==Modeling in Agile Project Courses== https://ceur-ws.org/Vol-2019/edusymp_1.pdf
                      Modeling in Agile Project Courses
                     Lukas Alperowitz∗ , Jan Ole Johanssen† , Dora Dzvonyar‡ , and Bernd Bruegge§
                              Department of Informatics, Technical University of Munich, Germany
              ∗ lukas.alperowitz@tum.de, † jan.johanssen@tum.de, ‡ dora.dzvoynar@tum.de, § bruegge@in.tum.de




   Abstract—Teaching software engineering in an applied setting      perspective modeling approach by describing the models, their
with projects provided by clients from industry creates a real-      perspective on the system at hand, and the transition between
world learning experience for students. While clients are domain     each of these models. We provide an approach for teaching
experts well-aware of the system’s requirements, they often lack
technical knowledge required to make decisions regarding the         the models in Section IV. Advantages and disadvantages are
system architecture or the technologies involved in the project.     discussed in Section V. Section VI concludes the paper and
Therefore, it is challenging for students to maintain a common       describes starting points for future work.
language of understanding.
   To overcome this obstacle, we suggest a four-perspective
modeling approach that allows students to create models as a                             II. R ELATED W ORK
basis for communicating with clients that don’t have a technical
background. The student teams apply these models to clarify
requirements as well as to discuss architectural considerations         Lemma et al. present a tablet-based approach utilizing
and technological decisions. Each modeling perspective focuses       touch gestures for creating and managing object-oriented
on different aspects of the system to be developed. We teach this    software models [8]. Wüest et al. propose a similar tablet-
approach using a methodology that integrates modeling into agile     based approach, allowing multiple developers to collaborate
software engineering project courses.
                                                                     on thoughts and ideas while deviating from standards such
                        I. I NTRODUCTION                             as UML [11]. Both approaches demonstrate the benefits of
   Applied software engineering project courses should involve       informal modeling, but they focus on software engineers as
industry partners and their real-world problems to provide           the target user group. To the best of our knowledge, an
more relevance and prepare students for their later careers          educational method for informal models of software systems
[2], [6], [9]. We regularly conduct such courses with 100            that allows students in agile projects to communicate their
students developing applications in 10-12 projects in which we       ideas and thoughts to a non-technical audience has not yet
refer to the industry partners as clients [5]. While universities    been addressed in previous research.
aim to teach their students in a real-world setting, industry           URML, a language to model requirements knowledge relies
partners want to benefit in terms of creative uses of technology     on visual notation to make models understandable by various
and innovative product ideas. Therefore, the role of the client      stakeholders and extends UML in its capability to describe the
in such a course goes beyond stating requirements upfront            complex requirements of a system [10]. URML replaces some
at the beginning of a project; they need to understand and           UML class boxes with icons to ”enhance the vividness of the
take decisions regarding technical details of the future system      diagrams” [3]. With our four-perspective approach, we adopt
throughout the whole lifespan of the project.                        the idea of replacing elements of formal models with visual
   In our course, the clients are often domain experts who           representations and extend it to more diagram types.
are highly familiar with the problem at hand, but they rarely           In our previous work, we presented how we use informal
possess knowledge that is necessary to understand different          models in our capstone course [7]. The four-perspective mod-
implementation-specific alternatives, nor to express and com-        eling approach builds upon this work, further structures our
municate their needs concerning technological aspects of the         teaching method, and describes our latest experiences.
project. The lack of a common basis of communication poses
a challenge for students to discuss architectural considerations
and technical details with their clients.                                       III. F OUR -P ERSPECTIVE M ODELING
   In this paper, we describe a four-perspective modeling
approach which we use to overcome this obstacle. Aside from             In this section, we describe our approach in detail by first
being easily learnable for students, its main goal is to establish   explaining the rationale behind each model and specifying its
a common terminology which is utilized for discussions with          target audience. Moreover, we give a brief overview of the
clients who are not familiar with software modeling languages        benefits and weaknesses of each model and discuss when it
such as UML. Each perspective of the modeling approach puts          is best applied to communicate a particular perspective of a
a different aspect of the system into focus and presents it using    software system. We also explain how transitions between the
an appropriate level of abstraction.                                 models support their understanding and thereby facilitate their
   The remainder of this paper is structured as follows. In Sec-     communication. Several of the models of our four-perspective
tion II, we outline related work. Section III introduces the four-   approach are described in detail in [4].
                          Fitness & Nutrition Data
                                                                                Bloo
                                                                                      dG                                                             ion
                                                                                             luco                                              lizat
                                                                         Fitn                        se D                             aS eria
                                                                             ess
                                                                                   &N
                                                                                                           ata                    Dat
       Health Trackers                          Health Data Repository                    utrit                                                                   Share with App
                                                                                               ion
                                                                                                     Dat
                                                                                                        a

                                                                                                                                     Visualization

                                                                                                                                                                 Smartwatch App
                                                                                                       ings                        Con
                                                                                             ead                                       duc
                                                                                                                                              t Su
                                                                                           eR
                                                                                     lucos                                                           rvey
                                                                                                                                                          s
                           Blood Glucose Test                                   dG                                                Patie
                                                                         Bloo                                    Smartphone App        nt D
                                                                                                                                              ata

      Blood Test Strips                          Blood Glucose Reader                                                                                         Medical Res. Framework

                                Fig. 1: Top-Level Design of a system for mobile blood glucose level tracking.


   To illustrate the different perspectives, we describe a system                                       The Analysis Object Model should not cover every entity
that allows users to track their blood glucose level using their                                     of the system: it depicts a high-level overview of the problem
smartphone in a mobile context1 .                                                                    domain instead of the exact objects used for implementation.
                                                                                                     Adding visionary entities, in particular entities that are never
A. Top-Level Design
                                                                                                     implemented but are common in the system’s problem domain,
   The Top-Level Design expresses the overall architecture                                           can support the model’s comprehension. The same holds
of a system by highlighting its subsystems and the data                                              true for the relationships between objects: they are modeled
exchanged between them as shown in Fig. 1. The notation                                              only if they provide further guidance for the audience. With
does not follow strict rules, but conforms to conventions: each                                      an Analysis Object Model, the students should address the
subsystem is depicted with an icon and labeled with a textual                                        following questions:
description. Arrows and a short textual description describe
                                                                                                        • What are the system’s core entities and their relation-
the data that is exchanged between the subsystems. Due to its
                                                                                                          ships?
limited complexity, a Top-Level Design is especially useful to
                                                                                                        • How can we align them with the client’s domain of
explain and discuss software architectures with non-technical
                                                                                                          knowledge?
stakeholders of a software project.
   The Top-Level Design models the problem domain for
                                                                                                     C. Subsystem Decomposition
technology-independent discussions to keep the focus on the
system’s overall architecture [1]. Therefore, our example in                                            For providing a more technical overview of the system that
Fig. 1 shows a Smartphone App rather than an Apple iPhone,                                           should be developed, we leverage the notation of a UML
Calorie Trackers instead of concrete application names and a                                         component diagram. The Subsystem Decomposition offers a
Health Data Repository without mentioning its actual imple-                                          view beyond the subsystems previously introduced in the Top-
mentation. Determining the right level of abstraction is key                                         Level Design in terms of components and their interfaces.
when creating a Top-Level Design. During the creation of                                             Similar to the previously described models, the key when
a Top-Level Design, students should focus on answering the                                           creating or extending this diagram is to find the right level of
following two questions:                                                                             abstraction by visualizing the key interaction points between
   • What parts of the system are relevant for the client?                                           the subsystems and their environment.
   • What can we omit to avoid unnecessary complexity and                                               In order to make the model understandable for a non-
     distraction?                                                                                    technical audience, students start by showing an iconized
                                                                                                     version as visualized on the right side of Fig. 3. Then, the inner
B. Analysis Object Model                                                                             structure of each subsystem on a component level is revealed
   The Analysis Object Model describes the static structure of                                       step by step. Finally, the entities of the Analysis Object
the system: objects with attributes and their associations. As                                       Model can be used to explain the data flow. This becomes
illustrated in the example in Fig. 2, the notation of the Analysis                                   more expressive when the data flow is animated with colored
Object Model is similar to an iconized version of a conceptual                                       lines, serving as an entity’s trace through the system. The
UML class diagram. An Analysis Object Model supports the                                             Subsystem Decomposition allows students to provide details
establishment of a common terminology. This is relevant when                                         on components and answer the following questions:
discussing parts of the system within the development team or                                           • How are objects processed by the system’s individual
with non-technical stakeholders.                                                                          components?
  1 The icons used for the models are retrieved from http://www.flaticon.com                            • How does the data flow between the subsystems and
and are licensed under the Creative Commons BY 3.0 license.                                               components?
                                use                                 use



                                                   Patient                 Recommendations


        Therapy             Human                                                                                                    Generated
                        Recommendations                                                                                                              Patterns
          Plan                                                                                                                    Recommendations

     create                          provide                                                                                         use                  find
                                                      use                                                      use


                                                                             Data Sample
              Medical Professional                                                                                                         Recommender




                                          BG Values Insulin Injections    Carbs    Health Labels   Locations         Activities

                                       Fig. 2: Iconized Analysis Object Model visualizing important entities.


D. Hardware-Software Mapping                                                         which cover topics relevant for all projects, such as modeling
   The Hardware-Software Mapping shows the distribution of                           or release management.
a system’s components on actual hardware and software nodes.                            At the beginning of the course, each project team receives
As opposed to the other perspectives, the use of concrete                            a problem statement describing the purpose and requirements
instances and solution domain terminology is encouraged here.                        of the system from their client. We precede the development
For instance, iOS is proposed as an actual mobile operating                          sprints with a period of 2-3 weeks in which the students
system, or iPhone as an implementation of a smartphone.                              focus on understanding the requirements and transforming the
   We recommend using a UML deployment diagram for                                   problem statement into a prioritized product backlog. In this
the Hardware-Software Mapping, while still working with                              so-called Sprint 0, we encourage students to create initial
icons to preserve the model’s understandability for a non-                           informal models to communicate their ideas concerning the
technical audience. The previously introduced components in                          problem domain and the system architecture to their fellow
the Subsystem Decomposition can be detached from the over-                           team members and the client [7]. This allows the team to estab-
all diagram and placed within the actual hardware components,                        lish a shared mental model of the system they will develop and
as shown in the presentation recording of the blood glucose                          creates a mutual understanding of possible technologies in-
tracking system2 . Using this perspective, the students can                          volved. The project teams typically create a Top-Level Design
answer the following question:                                                       as well as a Analysis Object Model during this Sprint 0. Most
                                                                                     teams choose to use Gliffy3 as a modeling tool because it is
   • On which hardware or software node are the components
                                                                                     well-integrated into the existing knowledge management tools
      deployed on?                                                                   used during the course and offers a mix of semi-formal and
   • What are the specific protocols used for communication
                                                                                     informal templates. Together with the modeling cross-project
      between the nodes?                                                             team members, we review these two models in a feedback
                                                                                     meeting, in which one representative from each team presents
                      IV. T EACHING A PPROACH                                        their models and the corresponding high-level architectural
   We teach our four-perspective approach with a methodology                         decisions. In subsequent sprints the teams continuously refine
involving multiple roles and feedback rounds and concentrates                        these models every time new requirements arise or existing
not only on the creation of models for each perspective, but                         requirements change.
also on their effective communication. In this section, we                              We introduce the remaining two perspectives of our model-
explain how we teach the approach in the iPraktikum, a multi-                        ing approach as well as techniques on how to present the mod-
project capstone course conducted at the Technical University                        els in a course-wide lecture held four weeks into the course.
of Munich. In this course, 100 students develop systems in the                       As their project becomes more concrete in terms of system
context of mobile applications over the course of one semester                       components that are needed to fulfil the required functionality,
based on an agile process model called Rugby optimized for                           the teams refine their two initial models and iteratively develop
part-time developers [5].                                                            their Subsystem Decomposition. When they make decisions
   Each project team works with a client from industry and is                        concerning concrete technologies, protocols, and hardware
led by a project leader who is a doctoral candidate. Further-                        used, they create their Hardware-Software Mapping, which
more, the organizational structure includes cross-project roles                      completes the four-perspective approach.

 2 https://youtu.be/sNVMtK8CcbM                                                        3 https://www.gliffy.com
                                                                                                                Watch App



          Glucose    Insulin
          Sensor       Pen


                        Fig. 3: Subsystem Decomposition containing icons for the visualization of data flow.


   After further peer-to-peer feedback rounds with their project       Firstly, using a modeling approach that diverges from known
leader and experienced students who are familiar with our           standards most students are already familiar with (such as
approach, each team presents their relevant models in a course-     UML) certainly involves additional teaching effort from the
wide presentation which we call Design Review two months            instructors’ side, as well as added learning effort for the
into the course. For this presentation, we teach the students       students. We go through several feedback cycles before the
to tell a story along with the models and to transform each         Design Review to support the teams in preparing their models.
model from the four-perspective approach into one another.          This is perceived as additional workload by students which
For instance, the students present the relevant objects of the      they do not always see as necessary, especially in the first
problem domain and their relations in the Analysis Object           month of the course. As they begin using the models for com-
Model, and animate the same objects through their Subsystem         munication with their client, they start to see the usefulness
Decomposition diagram to show the data flow. While preparing        of the modeling approach for communicating their system
their presentation, students switch from modeling tools to          architecture. Students’ perception improves even further as
presentation software such as Apple Keynote4 to integrate           the Design Review approaches and they start preparing their
high-resolution icons and transitions. Keynote allows for a         presentations. While we allow the students to decide which
seamless integration with other content, such as requirements       models to present, most teams choose to show three or even
descriptions or status updates. We provide an example of            all four models in their presentation, transitioning from each
presenting the above-mentioned models as an online video.5          perspective to show a different view of their system.
   At the end of the course we ask each team to document their         Our experience shows that clients welcome the graphical
results using the four models created. For each model they cre-     models and they use the Analysis Object Model to arrive
ate navigational text that describes the key elements and their     at a shared understanding of the problem domain early in
relationships. This document in combination with the other          the project. Seeing how the students understood the problem
artifacts created during the course, such as the actual source      gives them the opportunity to correct assumptions or clarify
code repositories, setup instructions for the infrastructure, or    questions with their extensive domain knowledge. The Top-
videos of the teams’ presentations, are delivered to the clients.   Level Design and Subsystem Decomposition are used to dis-
The delivery marks the end of the course.                           cuss architectural decisions. The Hardware-Software mapping
                                                                    is used internally by the team to discuss the deployment of
                           V. D ISCUSSION                           the components, but rarely shown to the customer due to its
                                                                    comparably high level of technical detail.
  We have been teaching the four-perspective modeling ap-
proach in our project courses for over 5 years during which it        One may argue that the applied modeling techniques do
has been applied in over 100 student projects. In this section,     not conform to the requirements of (semi-)formal modeling.
we reflect on the experiences we made.                              While we provide a basic set of notations for each model, we
                                                                    encourage the students to integrate creative ideas that help to
  4 https://www.apple.com/keynote/                                  understand the models’ content and to make adjustments to
  5 https://youtu.be/sNVMtK8CcbM                                    the models’ syntax during discussions with customers.
   While some models do break syntactic rules of UML, we               In the future, we plan to further structure and evaluate how
think that they make up for it in understandability and their       development teams work with the four-perspective modeling
suitability to express the requirements of a wide range of          approach. In particular, we want to identify which aspects
projects. By removing strict modeling rules, we reduce initial      help the most to transport key elements of a software system.
hurdles faced by clients with a non-technical background and        Another interest of ours is the influence of modeling on
thus allow them to be involved in discussions about system          learning outcomes in terms of an enhanced understanding of
design decisions. Furthermore, the use of informal models en-       software architecture and technologies.
courages involved discussion partners to focus on the relevant
                                                                                                  R EFERENCES
parts of the system rather than syntactic details of the model
[7]. We also encourage students to strictly distinguish between      [1] L. Alperowitz, C. Scheuermann, and N. von Frankenberg. From
                                                                         storyboards to code: Visual product backlogs in agile project courses. In
technology-independent and platform-specific representations             Tagungsband des 15. Workshops ”Software Engineering im Unterricht
to focus on the problem domain rather than getting lost in               der Hochschulen” 2017, Hannover, Deutschland, pages 69–72, 2017.
discussion about the solution domain. The results of each            [2] C. Bastarrica, D. Perovich, and M. M. Samary. What can Students
                                                                         Get from a Software Engineering Capstone Course? International
perspective can subsequently serve as a basis for additional             Conference on Software Engineering, 2017.
iterations that fully comply with UML specifications.                [3] B. Berenbach, F. Schneider, and H. Naughton. The use of a requirements
   The anecdotal evidence we gathered during the past years              modeling language for industrial applications. In 2012 20th IEEE
                                                                         International Requirements Engineering Conference (RE), pages 285–
indicates that while modeling is perceived as additional effort          290. IEEE, Sept 2012.
at the beginning of the course, both students and clients see the    [4] B. Bruegge and A. H. Dutoit. Object Oriented Software Engineering
advantages of the approach and rely on it in their presentations         Using UML, Patterns, and Java. Prentice Hall, 2010.
                                                                     [5] B. Bruegge, S. Krusche, and L. Alperowitz. Software engineering
and their regular communication.                                         project courses with industrial clients. ACM Transactions on Computing
                                                                         Education (TOCE), 15(4):17, 2015.
           VI. C ONCLUSION AND F UTURE W ORK                         [6] R. Chatley and T. Field. Lean Learning - Applying Lean Techniques to
   In this paper, we described a four-perspective modeling ap-           Improve Software Engineering Education. 39th International Conference
                                                                         on Software Engineering, 2017.
proach to overcome the challenge of enabling audiences with          [7] D. Dzvonyar, S. Krusche, and L. Alperowitz. Real projects with informal
limited technical knowledge to understand the architecture and           models. In Proceedings of the MODELS Educators Symposium co-
inner workings of a software system. The approach consists               located with the ACM/IEEE 17th International Conference on Model
                                                                         Driven Engineering Languages and Systems (MODELS 2014), Valencia,
of a Top-Level Design, Analysis Object Model, Subsystem                  Spain, September 29, 2014., pages 39–45, 2014.
Decomposition and Hardware-Software Mapping.                         [8] R. Lemma, M. Lanza, and F. Olivero. CEL: Modeling everywhere.
   It emphasizes the fast creation of models towards a com-              In International Conference on Software Engineering ’13, pages 1323–
                                                                         1326, USA, 2013. IEEE Press.
monly shared understanding of the system at hand. In addition,       [9] M. Paasivaara, J. Vanhanen, V. T. Heikkil, C. Lassenius, J. Itkonen, and
we outlined a teaching method for iteratively creating the               E. Laukkanen. Do High and Low Performing Student Teams Use Scrum
model for each perspective which includes multiple roles and             Differently in Capstone Projects ? International Conference on Software
                                                                         Engineering, 2017.
responsibilities, feedback rounds and presentations. In the last    [10] F. Schneider. URML: Towards Visual Negotiation of Complex System
five years, we used the four-perspective modeling approach in            Requirements. Dissertation, Technische Universität München, München,
over 100 student projects with industry partners in the context          2016.
                                                                    [11] D. Wüest, N. Seyff, and M. Glinz. FlexiSketch team: Collaborative
of a large capstone course. The feedback we received from                sketching and notation creation on the fly. In International Conference
students, project leaders and clients as well as the successful          on Software Engineering ’15, pages 685–688, USA, 2015. IEEE Press.
implementation of the projects validate the usefulness of the
four-perspective modeling approach on an anecdotal level.