|Module Name||Software Engineering Project II|
|ECTS Weighting ||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 the 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 by means of UML diagrams;
- 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 groups and apply best-practice solutions to group management issues;
- Produce a requirements document for a substantial software engineering project;
- Make project plans and presentations;
- Write a reflective essay;
- Produce a management report.
This course follows on directly from CSU33012 (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 object-oriented 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 CSU22013.
Teaching and Learning Methods
Lectures, practice-based learning.
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, LO10||45%||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|
|Presentation & demonstration of the progress & final version of the SwEng project||LO6, LO8||15%||1||TBC|
|Reflective Essay||Individual reflective essay on the experience||LO6, LO9||10%||1||12|
|Attendance & Participation||Attendance to all the meetings, presentations, demonstrations & active participation in the SwEng project development & delivery||LO6||5%||1||1 – 12|
In addition to achieving a pass mark for the module, students are also required to attend 75% of the scheduled team meetings (with the teaching staff, the demonstrators and the team itself). If a student does not satisfy this requirement he/she will be deemed to have failed the module.
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|
|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.
Prerequisite modules: N/A
Other/alternative non-module prerequisites: Programming languages.