Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3372782.3406271acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
research-article

How do Graduating Students Evaluate Software Design Diagrams?

Published: 07 August 2020 Publication History

Abstract

An important skill graduating computing students require is to evaluate a given software design and ensure that it satisfies the intended requirements. Prior work has shown that while working with software designs, experts think deeply about the design and simulate scenarios where the design does not satisfy the requirements. In this paper, we examine how students evaluate a given set of software design diagrams (UML class and sequence diagrams) against the given requirements.
We conducted a study with 100 final year computing undergraduate students. Each student was given a sheet which contained the requirements and the design diagrams for a problem. They were asked to identify defects based on the requirements. We used an interpretative content analysis method to come up with categories of student written responses. Our findings show that some students were able to identify scenarios which do not satisfy the requirements (24%) and identify necessary functions which were missing in the design (14%). However, we also found that certain students included new functionalities in the design (10%) and modified existing functionalities (22%) which were unrelated to the given requirements. These findings give insights to what students focus on and the mental models they create while evaluating software design diagrams.

References

[1]
Beth Adelson and Elliot Soloway. 1985. The role of domain expenence in software design. IEEE Transactions on Software Engineering 11 (1985), 1351--1360.
[2]
Beth Adelson and Elliot Soloway. 1986. A model of software design. International Journal of Intelligent Systems, Vol. 1, 3 (1986), 195--213.
[3]
Saeema Ahmed, Ken M Wallace, and Lucienne T Blessing. 2003. Understanding the differences between how novice and experienced designers approach design tasks. Research in engineering design, Vol. 14, 1 (2003), 1--11.
[4]
Erik Arisholm, Lionel C Briand, Siw Elisabeth Hove, and Yvan Labiche. 2006. The impact of UML documentation on software maintenance: An experimental evaluation. IEEE Transactions on Software Engineering, Vol. 32, 6 (2006), 365--381.
[5]
Leslie A Baxter. 1991. Content analysis. Studying interpersonal interaction, Vol. 239 (1991), 254.
[6]
Andrew Begel and Beth Simon. 2008. Struggles of new college graduates in their first software development job. In ACM SIGCSE Bulletin, Vol. 40. ACM, 226--230.
[7]
Eric Brechner. 2003. Things they would not teach me of in college: what Microsoft developers learn later. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. ACM, 134--136.
[8]
David Budgen, Andy J Burn, O Pearl Brereton, Barbara A Kitchenham, and Rialette Pretorius. 2011. Empirical evidence about the UML: a systematic literature review. Software: Practice and Experience, Vol. 41, 4 (2011), 363--392.
[9]
Michel RV Chaudron, Werner Heijstek, and Ariadi Nugroho. 2012. How effective is UML modeling? Software & Systems Modeling, Vol. 11, 4 (2012), 571--580.
[10]
Stanislav Chren, Barbora Buhnova, Martin Macak, Lukas Daubner, and Bruno Rossi. 2019. Mistakes in UML diagrams: analysis of student projects in a software engineering course. In Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training. IEEE Press, 100--109.
[11]
Bill Curtis, Herb Krasner, and Neil Iscoe. 1988. A field study of the software design process for large systems. Commun. ACM, Vol. 31, 11 (1988), 1268--1287.
[12]
Barthélémy Dagenais, Harold Ossher, Rachel KE Bellamy, Martin P Robillard, and Jacqueline P De Vries. 2010. Moving into a new software project landscape. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, 275--284.
[13]
Brian Dobing and Jeffrey Parsons. 2006. How UML is used. Commun. ACM, Vol. 49, 5 (2006), 109--113.
[14]
Wojciech J Dzidek, Erik Arisholm, and Lionel C Briand. 2008. A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Transactions on software engineering, Vol. 34, 3 (2008), 407--432.
[15]
Anna Eckerdal, Robert McCartney, Jan Erik Moström, Mark Ratcliffe, and Carol Zander. 2006. Can graduating students design software systems? ACM SIGCSE Bulletin, Vol. 38, 1 (2006), 403--407.
[16]
Ana M Fernández-Sáez, Marcela Genero, Danilo Caivano, and Michel RV Chaudron. 2016. Does the level of detail of UML diagrams affect the maintainability of source code?: a family of experiments. Empirical Software Engineering, Vol. 21, 1 (2016), 212--259.
[17]
Marcela Genero, Ana M Fernández-Saez, H James Nelson, Geert Poels, and Mario Piattini. 2011. Research review: a systematic literature review on the quality of UML models. Journal of Database Management (JDM), Vol. 22, 3 (2011), 46--70.
[18]
Chanan Glezer, Mark Last, Efrat Nachmany, and Peretz Shoval. 2005. Quality and comprehension of UML interaction diagrams-an experimental comparison. Information and Software Technology, Vol. 47, 10 (2005), 675--692.
[19]
Raymonde Guindon. 1990. Knowledge exploited by experts during software system design. International Journal of Man-Machine Studies, Vol. 33, 3 (1990), 279--304.
[20]
Cornelia Haisjackl, Pnina Soffer, Shao Yi Lim, and Barbara Weber. 2018. How do humans inspect BPMN models: an exploratory study. Software & Systems Modeling, Vol. 17, 2 (2018), 655--673.
[21]
Bruce C Hungerford, Alan R Hevner, and Rosann Webb Collins. 2004. Reviewing software diagrams: A cognitive study. IEEE Transactions on Software Engineering, Vol. 30, 2 (2004), 82--96.
[22]
Jinwoo Kim, Jungpil Hahn, and Hyoungmee Hahn. 2000. How do we understand a system with (so) many diagrams? Cognitive integration processes in diagrammatic reasoning. Information Systems Research, Vol. 11, 3 (2000), 284--303.
[23]
Christian FJ Lange and Michel RV Chaudron. 2004. An empirical assessment of completeness in UML designs. In Proceedings of the 8th International Conference on Empirical Assessment in Software Engineering (EASE ?04). IET, 111--121.
[24]
Christian FJ Lange and Michel RV Chaudron. 2006. Effects of defects in UML models: an experimental investigation. In Proceedings of the 28th international conference on Software engineering. 401--411.
[25]
Christian FJ Lange, Michel RV Chaudron, and Johan Muskens. 2006. In practice: UML software architecture and design description. IEEE software, Vol. 23, 2 (2006), 40--46.
[26]
Odd Ivar Lindland, Guttorm Sindre, and Arne Solvberg. 1994. Understanding quality in conceptual modeling. IEEE software, Vol. 11, 2 (1994), 42--49.
[27]
Zhiqiang Liu and Dieter J Schonwetter. 2004. Teaching creativity in engineering. International Journal of Engineering Education, Vol. 20, 5 (2004), 801--808.
[28]
Chris Loftus, Lynda Thomas, and Carol Zander. 2011. Can graduating students design: revisited. In Proceedings of the 42nd ACM technical symposium on Computer science education. ACM, 105--110.
[29]
Thomas Mc Neill, John S Gero, and James Warren. 1998. Understanding conceptual electronic design using protocol analysis. Research in Engineering Design, Vol. 10, 3 (1998), 129--140.
[30]
Ariadi Nugroho. 2009. Level of detail in UML models and its impact on model comprehension: A controlled experiment. Information and Software Technology, Vol. 51, 12 (2009), 1670--1685.
[31]
Ariadi Nugroho and Michel RV Chaudron. 2008. A survey into the rigor of UML use and its perceived impact on quality and productivity. In Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement. 90--99.
[32]
Mari Carmen Otero and José Javier Dolado. 2004. Evaluation of the comprehension of the dynamic modeling in UML. Information and Software Technology, Vol. 46, 1 (2004), 35--53.
[33]
Nancy Pennington. 1987. Comprehension strategies in programming. In Empirical studies of programmers: second workshop. Ablex Publishing Corp., 100--113.
[34]
James Rumbaugh, Ivar Jacobson, and Grady Booch. 2004. Unified modeling language reference manual, the. Pearson Higher Education.
[35]
Giuseppe Scanniello, Carmine Gravino, and Genoveffa Tortora. 2012. Does the combined use of class and sequence diagrams improve the source code comprehension? results from a controlled experiment. In Proceedings of the Second Edition of the International Workshop on Experiences and Empirical Studies in Software Modelling. 1--6.
[36]
Ven Yu Sien. 2011. An investigation of difficulties experienced by students developing unified modelling language (UML) class and sequence diagrams. Computer Science Education, Vol. 21, 4 (2011), 317--342.
[37]
Dave R Stikkolorum and Michel RV Chaudron. 2016. A Workshop for Integrating UML Modelling and Agile Development in the Classroom. In Proceedings of the Computer Science Education Research Conference 2016. ACM, 4--11.
[38]
Jennifer Swan, Trevor Barker, Carol Britton, and Maria Kutar. 2005. An empirical study of factors that affect user performance when using uml interaction diagrams. In 2005 International Symposium on Empirical Software Engineering, 2005. IEEE, 10--pp.
[39]
Antony Tang, Aldeida Aleti, Janet Burge, and Hans van Vliet. 2010. What makes software design effective? Design Studies, Vol. 31, 6 (2010), 614--640.
[40]
Benjy Thomasson, Mark Ratcliffe, and Lynda Thomas. 2006. Identifying novice difficulties in object oriented design. ACM SIGCSE Bulletin, Vol. 38, 3 (2006), 28--32.

Cited By

View all
  • (2023)Difficulties in Object-Oriented Design and its relationship with Abstraction: A Systematic Review of LiteratureProceedings of the 4th European Symposium on Software Engineering10.1145/3651640.3651643(1-13)Online publication date: 1-Dec-2023
  • (2022)VeriSIM: A model-based learning pedagogy for fostering software design evaluation skills in computer science undergraduatesResearch and Practice in Technology Enhanced Learning10.1186/s41039-022-00192-017:1Online publication date: 24-May-2022
  • (2022)Guiding peer-feedback in learning software design using UMLProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3510456.3514148(122-133)Online publication date: 21-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICER '20: Proceedings of the 2020 ACM Conference on International Computing Education Research
August 2020
364 pages
ISBN:9781450370929
DOI:10.1145/3372782
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 August 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. class diagram
  2. evaluating design diagrams
  3. mental models
  4. sequence diagram
  5. simulating scenarios

Qualifiers

  • Research-article

Conference

ICER '20
Sponsor:
ICER '20: International Computing Education Research Conference
August 1 - 5, 2020
Virtual Event, New Zealand

Acceptance Rates

Overall Acceptance Rate 189 of 803 submissions, 24%

Upcoming Conference

ICER 2025
ACM Conference on International Computing Education Research
August 3 - 6, 2025
Charlottesville , VA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)26
  • Downloads (Last 6 weeks)1
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Difficulties in Object-Oriented Design and its relationship with Abstraction: A Systematic Review of LiteratureProceedings of the 4th European Symposium on Software Engineering10.1145/3651640.3651643(1-13)Online publication date: 1-Dec-2023
  • (2022)VeriSIM: A model-based learning pedagogy for fostering software design evaluation skills in computer science undergraduatesResearch and Practice in Technology Enhanced Learning10.1186/s41039-022-00192-017:1Online publication date: 24-May-2022
  • (2022)Guiding peer-feedback in learning software design using UMLProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3510456.3514148(122-133)Online publication date: 21-May-2022
  • (2022)Guiding Peer-feedback in Learning Software Design using UML2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794260(122-133)Online publication date: May-2022
  • (2022)Identifying Difficulties of Software Modeling Through Class Diagrams: A Long-Term Comparative AnalysisIEEE Access10.1109/ACCESS.2022.315729010(28895-28910)Online publication date: 2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media