Application of Graph Grammars in an Educational Software Engineering Game: A Case Study in Pragmatic Adoption

Author(s):  
Kurt Schneider

This paper introduces an approach to modeling software project dynamics using an attributed graph grammar formalism. A project situation is modeled and presented to a "player" who is supposed to act as project manager of a simulated project. Events and internal processes of the simulated project are modeled using a custom-designed formalism that integrates attributed graph grammar concepts with a quantitative simulation mechanism resembling System Dynamics. Both ingredients were pragmatically selected and blended based on (1) their comparative simplicity, (2) their expressive power, and (3) their intuitive appeal for bridging the cognitive gap between real-world software engineering experiences and an executable simulation model. This modeling formalism was applied in the SESAM educational software engineering game. The modeling formalism was supported by a family of graphical SESAM editors. Resulting models could be animated and served as simulated projects in the game runs. SESAM was applied in graduate courses on software project management at the University of Stuttgart. Experiences with the modeling approach are reported. The design history and design rationale that led to using graph grammars as the underlying formalism are described and discussed. The design of the SESAM modeling formalism is presented as an (involuntary) case study in adopting a graph grammar approach.

Author(s):  
Andrew M. Olson

The software engineering and human factors communities are seeking ways to integrate their methodologies. This paper outlines an amplified, software engineering methodology that extends beyond requirements gathering to encompass human factors analyses. The methodology employs an object model that is uniform throughout the software project. It involves a procedure that seamlessly transforms a task action grammar model, from HCI theory, directly into a specification model based on user/machine dialog and, thence, into a software design model. The model's object-oriented structure makes it feasible to trace the effects of the user's needs throughout the amplified project life cycle to the final code. A case study documents evidence concerning how effectively the procedure supports the software engineering process. An examination of the extent of metamorphosis the model undergoes in the case study indicates that the transition through the amplified life history is well controlled; in particular, the transition from the software specification to the design model is more controlled than that under traditional methodologies.


2017 ◽  
Vol 23 (4) ◽  
pp. 1895-1930 ◽  
Author(s):  
Wiesław Kopeć ◽  
Bartłomiej Balcerzak ◽  
Radosław Nielek ◽  
Grzegorz Kowalik ◽  
Adam Wierzbicki ◽  
...  

Abstract Globally observed trends in aging indicate that older adults constitute a growing share of the population and an increasing demographic in the modern technologies marketplace. Therefore, it has become important to address the issue of participation of older adults in the process of developing solutions suitable for their group. In this study, we approached this topic by organizing a hackathon involving teams of young programmers and older adults participants. Below we describe a case study of that hackathon, in which our objective was to motivate older adults to participate in software engineering processes. Based on our results from an array of qualitative methods, we propose a set of good practices that may lead to improved older adult participation in similar events and an improved process of developing apps that target older adults.


2013 ◽  
Vol 14 (3) ◽  
pp. 1297-1317 ◽  
Author(s):  
Luka Fürst ◽  
Marjan Mernik ◽  
Viljan Mahnič
Keyword(s):  

1996 ◽  
pp. 355-375
Author(s):  
Peter A. Darnell ◽  
Philip E. Margolis
Keyword(s):  

2011 ◽  
pp. 1645-1666 ◽  
Author(s):  
Emily Oh Navarro

Learning theories describe how people learn. There is a large body of work concerning learning theories on which to draw, a valuable resource of which the domain of software engineering educational research has thus far not taken full advantage. In this chapter, we explore what role learning theories could play in software engineering education. We propose that learning theories can move the field of software engineering education forward by helping us to categorize, design, evaluate, and communicate about software engineering educational approaches. We demonstrate this by: (1) surveying a set of relevant learning theories, (2) presenting a categorization of common software engineering educational approaches in terms of learning theories, and (3) using one such approach (SimSE) as a case study to explore how learning theories can be used to improve existing approaches, design new approaches, and structure and guide the evaluation of an approach.


Sign in / Sign up

Export Citation Format

Share Document