The University of Sheffield
School of Computer Science

COM213 Software Hut

Summary

The Software Hut (a microcosm of a real Software House) gives students an opportunity to experience the processes of engineering a real software system for a real client in a competitive environment. The taught element covers the tools and technologies needed to manage software development projects successfully and to deliver software products that meet both client expectations and quality standards. Topics that are put into practice include: the requirements engineering process; software modelling and testing; using specific software development framework(s); group project management; quality assurance; testing. Tutorials take the form of project meetings, and so are concerned with team management, conduct of meetings and action minutes.

This module has no summer resit. Failure in this module will normally require students to repeat it the following year with attendance.

This module has the explicit objective of developing group teamwork skills. Participation in teamwork is mandatory and failure to participate will result in deduction of marks and eventually loss of credits. Passing this module is essential for being awarded a degree accredited by the British Computer Society (BCS). 

Session Spring 2025/26
Credits 20
Assessment
  • Individual Critical Reflection
  • Software Engineering Project 

 

Lecturer(s) Mr Andrew Charlesworth & epiGenesys 
Resources
Aims

The aims of this module are:

  • to gain experience in dealing with clients, particularly in understanding and managing clients expectations
  • to enhance team working skills
  • to experience, in a competitive environment, the practical problems of constructing, managing, testing and deploying a medium-sized software project, producing the associated user documentation and providing training and online support
  • to examine professional issues, including security, privacy, and ethics, in a realistic context
Learning Outcomes  By the end of this course the students will be able to:
  • Analyse a client’s business needs to agree on a software requirements specification.
  • Apply an agile methodology, working in a team to develop a solution to their client’s requirements.
  • Demonstrate ability to work with a team and contribute to team processes.  
  • Critically reflect upon individual and team activity in the software project, highlighting professional issues and personal growth.
Content

TBC - the below content is copied from COM3420 - will these be the same for this module? Or will they need revising?

Teamworking:

  • group project vs individual project
  • roles in a team
  • documents used by the team
  • team meetings and communication
Requirements Engineering (classic OO vs XP):
  • Requirements Capture and Analysis
  • Functional versus non-functional requirements
  • Managing changing requirements
Managing Software Development Projects:
  • Project management strategies
  • Risk analysis and management
  • Quality management strategies
  • Reviews and inspections
  • Testing strategies and test plans
Use of Prototypes:
  • Reasons for prototyping
  • Characteristics of prototypes
  • Use of prototypes for requirements elicitation and validation
Software Documentation:
  • Usable Requirements Specification documents
  • User manuals and on-line user support
Restriction

Students must have passed COM1001 Introduction to Software Engineering in the first year. Module cannot be taken with COM3420 Software Hut or COM21002 AI Group Project 

Teaching Method
  • The course is centred around the project, which involves the students working in teams to develop an application for a client.
  • There is a short set of lectures on project management, delivered in the earlier weeks (approx. 5 hours).
  • There will be worksheets covering the technology training that must be completed in the early weeks (approx 20 hours). These worksheets introduce specific technologies that the teams will be expected to use in the development of their client's solution. These are supported by weekly drop-in support sessions.
  • There will be a monitoring meeting each week, looking at team interactions and project progress.
Feedback

Feedback is provided on a weekly basis at the monitoring meetings. There will also be feedback from both client and staff at the end of the module.