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.

General view of the SHU Development Process.
General view of the SHU Development Process.

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 largest 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.

A screenshot of the website as it appeared in 2022, with separate level and process based views.
A screenshot of the website as it appeared in 2022, with separate level and process based views.
A screenshot of the website as it appears in 2023, with an updated interface and introduction.
A screenshot of the website as it appears in 2023, with an updated interface and introduction.
Carlos Eduardo da Silva
Carlos Eduardo da Silva
Senior Lecturer in Software Engineering and leader of ASERG

Leader of ASERG with research interests exploring the interplay between software engineering and cybersecurity.

Soumya Sankar Basu
Soumya Sankar Basu
Senior Lecturer in Software Engineering

Experienced software engineer and academic lead in knowledge transfer projects

Essam ELiwa
Essam ELiwa
Senior Lecturer in Software Engineering and member of ASERG

Member of ASERG with research interests exploring the interplay between software engineering and pedagogy.

Jack Carey
Student researcher, MSc in Software Engineering

Student research and alumni on MSc in Software Engineering

James Harmson
Student researcher and alumni on BSc in Computer Science

Student research and alumni on BSc in Computer Science

Brian Davis
Student researcher and alumni on MSc in Big Data Analytics

Student research and alumni on MSc in Big Data Analytics