Module Code | CSU33013 |
Module Name | Software Engineering Project II |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 2 |
Module Coordinator/s | Prof. Inmaculada Arnedillo-Sánchez |
Module Learning Outcomes
On successful completion of this module, students will be able to further develop their skills for building large, important object-oriented software systems:
- Differentiate, apply and exploit key concepts of software lifecycle models;
- Compare and apply strategies for the gathering of software requirements and the generation of software specifications;
- Analyse and design software;
- Compare and apply concepts for software testing, software debugging and software version management;
- Compare and apply techniques for managing software projects and teams;
- Recognise the challenges and opportunities posed by working in project teams and apply best-practice solutions to group management issues;
- Produce a requirements document for a substantial software engineering project;
- Make project plans and presentations;
- Produce a management report.
Module Content
This course follows on directly from CS3012 (Software Engineering) and focuses on the practical application of the various concepts and tools related to building software systems studied in third year software engineering. This practical application takes the form of a large “hands-on” group project that covers numerous aspects of building software systems including problem analysis, usage of development environments, project management, team management, design, implementation, testing and documentation. Students will take a leadership role within these groups which are combined with students taking course CS2013
Teaching and Learning Methods
Lectures, practice-based learning.
Assessment Details
Practical Development Work Students are assessed exclusively by a series of practical development and written submissions.
Assessment Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Project Planning & Design | Iterative plan & design of the SwEng project | LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9 | 50% | 1 | 2, 4, 6, 8, 10, 12 |
Project Execution & Delivery | Iterative execution of SwEng project & delivery | LO1, LO2, LO3, LO4, LO5, LO6, LO7 | 25% | 1 | 2, 4, 6, 8, 10, 12 |
Presentations/ Demonstrations | Presentation & demonstration of the progress & final version of the SwEng project | LO6, LO8 | 15% | 1 | TBC |
Attendance & Participation | Attendance to all the meetings, presentations, demonstrations & active participation in the SwEng project development & delivery | LO6 | 10% | 1 | 1 – 12 |
In addition to achieving a pass mark for the module, students are also required to attend all the scheduled team meetings (with the company client, teaching staff, the demonstrators and the team itself). If a student does not satisfy this requirement she/he will be deemed to have failed the module.
Reassessment Details
A practical and/or written individual task will be set, with a deadline of the end of the reassessment period. There will be no written examination.
Contact Hours and Indicative Student Workload
Contact Hours (scheduled hours per student over full module), broken down by: | 22 Hours |
Lecture | 22 hours |
Independent Study (outside scheduled contact hours), broken down by: | 86 hours |
Preparation for classes and review of material (including preparation for examination, if applicable) | 6 hours |
Group meetings, meetings with clients, lecturers & demonstrators | 30 hours |
Completion of assessments (including examination, if applicable) | 50 hours |
Total Hours | 108 hours |
Recommended Reading List
- Agile Software Development with Scrum, Ken Schwaber & Mike Beedle.
- The Mythical Man Month – Essays on Software Engineering, Frederick Brooks.
- Object-Oriented Software Engineering – Practical Software Development using UML and Java, Timothy Lethbridge and Robert Laganiere.
- UML Distilled, Martin Fowler.
- Classical and Object-Oriented Software Engineering, David Schach.
- The Art of Unix Programming, Eric Raymond.
Module Pre-requisites
Prerequisite modules: N/A
Other/alternative non-module prerequisites: Programming languages.
Module Co-requisites
N/A