Premium
Annotated functional decomposition
Author(s) -
Tubić Stefan,
Cvetanović Miloš,
Radivojević Zaharije,
Stojanović Saša
Publication year - 2021
Publication title -
computer applications in engineering education
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.478
H-Index - 29
eISSN - 1099-0542
pISSN - 1061-3773
DOI - 10.1002/cae.22394
Subject(s) - computer science , decomposition , focus (optics) , unified modeling language , syntax , eclipse , programming language , software engineering , code generation , domain (mathematical analysis) , reuse , artificial intelligence , software , key (lock) , engineering , ecology , mathematical analysis , physics , computer security , mathematics , astronomy , optics , biology , waste management
Experiences gained from the domain‐specific courses showed that students focus mostly on how to implement solutions and less on what must be considered within the solution. In the case of information systems‐related courses, students focus on system development using specific languages and frameworks while often disregard the required logical checks and constraints. This paper introduces annotated functional decomposition (AFD) to assist students in overcoming the challenge of understanding the logic of an information system. AFD leverages methodological concepts from computational thinking and represents a problem decomposition approach that is extended with additional levels of decomposition. These levels of decomposition are orthogonal and implemented with annotations that enrich a decomposition with information regarding control and data flow, as well as reuse and implementation details. AFD could be exercised with a supporting AFD Tool developed as an Eclipse IDE plugin that performs syntax and semantic checks along with the generation of UML sequential diagrams. The AFD Tool and its source code are available free of charge. Quantitative and qualitative evaluations of AFD Tool usage during an information systems course revealed that students who used AFD achieved higher average grades than those who used UML for solving the same problems, and moreover that students perceived AFD as easy to understand and use.