SERL - Software Engineering Research Laboratory
Permanent link for this collection
The Software Engineering Research Lab (SERL) at AUT University undertakes world-class research directed at understanding and improving the practice of software professionals in their creation and preservation of software systems. We are interested in all models of software provision – bespoke development, package and component customisation, free/libre open source software (FLOSS) development, and delivery of software as a service (SaaS). The research we carry out may relate to just one or all of these models.
Browse
Browsing SERL - Software Engineering Research Laboratory by Author "Buchan, J"
Now showing 1 - 6 of 6
Results Per Page
Sort Options
- ItemAn empirical cognitive model of the development of shared understanding of requirements(Springer, 2014-06-01) Buchan, J; Zowghi, D; Jin, ZIt is well documented that customers and software development teams need to share and refine understanding of the requirements throughout the software development lifecycle. The development of this shared understand- ing is complex and error-prone however. Techniques and tools to support the development of a shared understanding of requirements (SUR) should be based on a clear conceptualization of the phenomenon, with a basis on relevant theory and analysis of observed practice. This study contributes to this with a detailed conceptualization of SUR development as sequence of group-level state transi- tions based on specializing the Team Mental Model construct. Furthermore it proposes a novel group-level cognitive model as the main result of an analysis of data collected from the observation of an Agile software development team over a period of several months. The initial high-level application of the model shows it has promise for providing new insights into supporting SUR development.
- ItemAn integrated tool set to support software engineering learning(Software Engineering Research Group (SERG), the University of Auckland, 2007) Philpott, A; Buchan, J; Connor, AMThis paper considers the possible benefits of an integrated Software Engineering tool set specifically tailored for novice developers, and reflects on the experience of having software engineering students produce various components of this tool set. Experiences with a single semester pilot are discussed and future directions for refining the model are presented.
- ItemBridging the research-practice gap in requirements engineering through effective teaching and peer learning(IEEE, 2009) Connor, AM; Buchan, J; Petrova, KIn this paper, we introduce the concept of the research-practice gap as it is perceived in the field of software requirements engineering. An analysis of this gap has shown that two key causes for the research-practice gap are lack of effective communication and the relatively light coverage of requirements engineering material in University programmes. We discuss the design and delivery of a masters course in software requirements engineering (SRE) that is designed to overcome some of the issues that have caused the research-practice gap. By encouraging students to share their experiences in a peer learning environment, we aim to improve shared understanding between students (many of whom are current industry practitioners) and researchers (including academic staff members) to improve the potential for effective collaborations, whilst simultaneously developing the requirements engineering skill sets of the enrolled students. Feedback from students in the course is discussed and directions for the future development of the curriculum and learning strategies are given.
- ItemCausal factors, benefits and challenges of test-driven development: practitioner perceptions(IEEE, 2011) Buchan, J; Li, L; MacDonell, SG; Thu, TD; Leung, KThis report describes the experiences of one organization's adoption of Test Driven Development (TDD) practices as part of a medium-term software project employing Extreme Programming as a methodology. Three years into this project the team's TDD experiences are compared with their non-TDD experiences on other ongoing projects. The perceptions of the benefits and challenges of using TDD in this context are gathered through five semi-structured interviews with key team members. Their experiences indicate that use of TDD has generally been positive and the reasons for this are explored to deepen the understanding of TDD practice and its effects on code quality, application quality and development productivity. Lessons learned are identified to aid others with the adoption and implementation of TDD practices, and some potential further research areas are suggested.
- ItemInsights into domain knowledge sharing in software development practice(IEEE Computer Society Press, 2009-12-01) Buchan, J; Ekadharmawan, CH; MacDonell, SGThe collaborative development of shared understanding is crucial to the success of software development projects. It is also a challenging and volatile process in practice. Small organizations may be especially vulnerable due to reliance on key individuals and insufficient resource to employ several domain specialists. There is, however, minimal empirical research on sharing domain understanding in the context of small software organizations. In this paper we present the results of a field study of commercial software development practice in which we conducted semi-structured interviews with practitioners from ten such organizations. The study provides insights into practices, perceptions, and challenges related to developing shared domain understanding. Our results show that smaller organizations place particular emphasis on the use of prototypes or existing products to refine and verify domain understanding. Furthermore they perceive the biggest challenge to developing shared understanding as the quality of the client representative(s).
- ItemTowards a metrics suite for object-relational mappings(Springer-Berlin, Germany, 2008-04-01) Holder, S; Buchan, J; MacDonell, SGObject-relational (O/R) middleware is frequently used in practice to bridge the semantic gap (the ‘impedance mismatch’) between object-oriented application systems and relational database management systems (RDBMSs). If O/R middleware is employed, the object model needs to be linked to the relational schema. Following the so-called forward engineering approach, the developer is faced with the challenge of choosing from a variety of mapping strategies for class associations and inheritance relationships. These mapping strategies have different impacts on the characteristics of application systems, such as their performance or maintainability. Quantifying these mapping impacts via metrics is considered beneficial in the context of O/R mapping tools since such metrics enable an automated and differentiated consideration of O/R mapping strategies. In this paper, the foundation of a metrics suite for objectrelational mappings and an initial set of metrics are presented.