Methodology in Software Development Capstone Projects

Capstone projects which provide the opportunity for student teams to experience ‘real-world’ software development form part of the final semester of study in many computing degrees. This paper describes a number of development methodologies that are currently used both in industry and software development capstone projects. Such projects are carried out under a unique set of constraints due to their nature as instances of experiential learning in an educational setting. These constraints are discussed and then a number of methodologies are described along with a discussion of the suitability of the methodology for capstone projects. Issues that must be addressed by instructors are considered. Finally recommendations are made and a plan for a study into capstone development methodologies is described. The goals of this paper are to provide an overview of current methodologies available for software development capstone projects, to clarify the benefits and problems encountered when using these methodologies in capstone projects, and to indicate suitable resources for those involved in these projects.

[1]  John Deacon,et al.  Object-Oriented Analysis and Design , 2004 .

[2]  T. Dean Hendrix,et al.  Software Process in the Classroom: The Capstone Project Experience , 2002, IEEE Softw..

[3]  Donald Firesmith,et al.  Object-Oriented Requirements Analysis and Logical Design , 1993, TOOLS.

[4]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[5]  Nimal Jayaratna,et al.  Understanding and Evaluating Methodologies: NIMSAD, a Systematic Framework , 1994 .

[6]  Owen Astrachan,et al.  Bringing Extreme Programming to the Classroom , 2001 .

[7]  Lindsay Groves,et al.  A survey of software development practices in the New Zealand software industry , 2000, Proceedings 2000 Australian Software Engineering Conference.

[8]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[9]  Stewart Marshall,et al.  Student Perceptions of the Suitability of Extreme and Pair Programming , 2001 .

[10]  Brian Fitzgerald,et al.  Systems development methodologies: the problem of tenses , 2000, Inf. Technol. People.

[11]  Lorraine Johnston,et al.  eXtreme programming at universities - an educational perspective , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[13]  R. L. Feldmann,et al.  Agile Methods in Software Engineering Education , 2004, XP.

[14]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[15]  W. Royce Managing the development of large software systems: concepts and techniques , 2021, ICSE '87.

[16]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[17]  Ian M. Graham Object-oriented methods , 1991 .

[18]  W. Duncan A GUIDE TO THE PROJECT MANAGEMENT BODY OF KNOWLEDGE , 1996 .

[19]  Joseph Catanio An interdisciplinary practical approach to teaching the software development life-cycle , 2006, SIGITE '06.

[20]  Coln Atkinson,et al.  Object-oriented development: The fusion method , 1996 .

[21]  Watts S. Humphrey,et al.  The Team Software Process SM (TSP SM ) , 2000 .

[22]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[23]  Paul M. Leidig,et al.  Resources for instructors of capstone courses in computing , 2001, ITiCSE-WGR '01.

[24]  John Daniels,et al.  Designing Object Systems , 1994 .

[25]  Samuel Mann Arriving at an agile framework for teaching software engineering , 2006 .

[26]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[27]  Bran Selic,et al.  Real-time object oriented modeling and design , 1994 .

[28]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[29]  Annegret Goold,et al.  Challenges in teaching capstone courses , 2003 .

[30]  Stephen Marshall,et al.  Less Extreme Programming , 2004, ACE.

[31]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[32]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[33]  Martin Dick,et al.  Using Extreme Programming in a Capstone Project , 2004, ACE.

[34]  Ian G. MacDonald,et al.  Information Engineering , 2019, Information Systems Design Methodologies: Improving the Practice.

[35]  J. Crinnion The evolutionary development of business systems , 1992 .

[36]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[37]  Kathy Schwalbe,et al.  Information Technology Project Management , 1999 .

[38]  Brent Work SSADM Version 4: A User's Guide , 1995 .

[39]  Dennis P. Groth,et al.  Designing and Developing an Informatics Capstone Project Course , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[40]  Ewan D. Tempero,et al.  Five Challenges in Teaching XP , 2003, XP.

[41]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[42]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[43]  Giancarlo Succi,et al.  Extreme Programming Perspectives , 2002 .

[44]  Laurie A. Williams,et al.  Resources for Agile Software Development in the Software Engineering Course , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[45]  Scott W. Ambler,et al.  Agile modeling: effective practices for extreme programming and the unified process , 2002 .

[46]  Meilir Page-Jones Relationship Between the Structured and Object-Oriented Worlds , 1991, TOOLS.

[47]  Peter Raynham Book Review: BookTwo of Object Oriented Knowledge: The Working Object , 1997, SOEN.

[48]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[49]  David W. Embley,et al.  Object-oriented systems analysis - a model-driven approach , 1991, Yourdon Press Computing series.

[50]  Brian Henderson-Sellers,et al.  The OPEN process specification , 1997 .

[51]  Noel LeJeune,et al.  Teaching software engineering practices with Extreme Programming , 2006 .

[52]  Charles E. McDowell,et al.  Pair programming improves student retention, confidence, and program quality , 2006, CACM.

[53]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[54]  Annegret Goold,et al.  Challenges in teaching capstone courses , 2003, ITiCSE.

[55]  Grigori Melnik,et al.  A cross-program investigation of students' perceptions of agile methods , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[56]  Robert E. Beasley Conducting a successful senior capstone course in computing , 2003 .

[57]  Adam Wojciechowski,et al.  Combining Extreme Programming with ISO 9000 , 2002, EurAsia-ICT.

[58]  Annegret Goold,et al.  Providing process for projects in capstone courses , 2003, ITiCSE '03.

[59]  Richard Conn A reusable, academic-strength, metrics-based software engineering process for capstone courses and projects , 2004 .

[60]  J. Stapleton,et al.  DSDM: Dynamic Systems Development Method , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[61]  Orit Hazzan,et al.  The role of a project-based capstone course , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[62]  Diane Strode,et al.  Agile methods : a comparative analysis , 2006 .

[63]  Robert F. Roggio A model for the software engineering capstone sequence using the Rational Unified Process® , 2006, ACM-SE 44.

[64]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .