Getting Research Findings into Practice: Guidelines to Produce Quality
Software Engineering Diagrams to Assist Novice Engineers
Josefina Guerrero-García
1
, Juan González-Calleros
1
, Jaime Muñoz-Arteaga
2
, Arturo Morales
1
Ivonne Monarca
1
Facultad de Ciencias de la Computación, Benemérita Universidad Autónoma de Puebla
2
Facultad de Ciencias de la Computación, Universidad Autónoma de Aguascalientes
jguerrero,juangonzalez{@cs.buap.mx}, jmunozar@correo.uaa.mx
Abstract
Computer Diagrams are the communication
mechanism among the different stakeholders of the
software development lifecycle. While they are though
at school, and promoted to be used by students for
current and future projects, we still do not see full
adoption in real life context. The literature reviewed
points out some reasons related to this issue and
propose some solutions, but still the problem persist. In
this paper, we present our findings of three years of
research at the University while working with senior
students on real-life projects. Different methodologies
were used as an iterative process, improving the
quality of the results year by year. We present the
lesson learned including guidelines on how to facilitate
novice engineers to adopt diagrams and produce them
with high quality standards. The proposal is validated
with a real life case study.
1. Introduction
Producing quality models in software engineering
has been studied for decades. Particularly this is a
problem for undergraduate students or naïve engineers
[1, 5]. Some of the common problems reported in the
literature are related to: bad use of name conventions /
semantics [1,5,7,14,15,16], misconception of
abstraction levels [1], cardinality [1], tools and visual
syntax [2,8], evolutionary design missing [1], cognitive
load to differentiate concepts [5,9], limited information
processing capabilities [6]. If people are not good at it,
why we keep promoting their use? So authors argue
that they communicate information more effectively
than text [5], an assumption that we keep considering
while teaching but with poor results while evaluating
students.
As reported in [5,7,14,15,16], the lack of semantics
is one of the common problems. Current mapping
notations are not clear to what real world they have a
correspondence. Existing metaphors are not easy to
understand, thus creating and reading diagrams is not
easy for novice learners due to the cognitive load.
Attention must be paid to the usability of symbols used
in the notations [6,16] trying to be mire cognitive
effective [7].
In this paper we present findings of three years of
research with senior year students, while working on a
one-year project. With the following research
questions: is it possible to improve the quality of the
visual notations for analyzing and design software, by
empowering students with decision making about what
to use and how to use it? As promoted in an agile
paradigm, empowering teams is a recommended
practice for successful project. The only condition is to
have an agreement with the whole team. The goal is to
help them to create quality models and contributing to
have a better understanding of the notations among our
community.
For this purpose, we conducted a set of
experiments, first year we just simply guided students
towards the correct use of existing notations and
adopting a waterfall methodology for the development
of the project. Notations used during our research was:
use cases, state-charts, class diagrams, Sequence
diagrams, activity diagrams or other process models
such as BPMN or Petri Nets, Task Models, and UI
prototyping notations. During the second year, we
change the development strategy and start on relying
on an agile methodology without flexibility to modify
the notations. While the improvement in the quality of
models was perceived yet most of the students were
not able to fully understand them. Finally, during the
third year, we kept the agile methodology SCRUM,
and let the teams to modify or propose their own
notation with really interesting diagrams that at the end
were easy to understand not just by the whole team
presenting the project but by the rest of their
2016 4th International Conference in Software Engineering Research and Innovation
978-1-5090-1074-5/16 $31.00 © 2016 IEEE
DOI 10.1109/CONISOFT.2016.31
150
2016 4th International Conference in Software Engineering Research and Innovation
978-1-5090-1074-5/16 $31.00 © 2016 IEEE
DOI 10.1109/CONISOFT.2016.31
149