SHU-Dev: Software Development Process for Students
A Software Development process that can be followed by students at all levels as they work on both individual and group assessments.
Software Engineering & Computer Science degrees involve many software-development projects. A Software development process is beneficial as it guides on what, when and how part of the development, including guidance on potential tools usage. Although teaching about various methods and techniques, there is no standardised method for students to follow. They are free to use as per their choice. However, in the new normal, remote team working will be very common for students and thus it will be incredibly difficult for students if they must decide on methods for each group assignment.
The aim of this project is to design a software development process that can be “instantiated” into the different levels of Software Engineering and Computer Science courses. The process will be more useful to our students if it fits into the assessment of their work. Thus, the second part of this project is to define structured ways in which students can present and submit their work.
The idea is to develop a set of guidance following a simplified software lifecycle. Our proposal structures and standardises key activities that students undertake when doing their software development coursework, including simple project management guidance that works for both individuals and small groups working remotely. Complexity can be added to a simple process according to the level of study, in which we add relevant tools and techniques as students progress through their degree and are better able to understand and apply those tools and techniques.
The SHU Development Process is based on the generic process framework by Pressman and Maxim, and comprises five methodological stages: These main stages encompass a set of support steps: analysis and design related to modelling; code and test related to construction; and delivery, support and feedback for deployment.
Each level of study has an specific set of practices (guidelines, techniques and tools) with appropriate depthness for the level.
The website has received positive feedback and we recently completed a major update to the presentation of content based on student responses in 2021/22. The largerst change is moving from separate level and process based views, to interactive DOM controls so students can filter the level of detail to only what is needed for their level of study.
The site can be found at this page. Any comments and suggestion are welcome.