| Module Code | CSU33D06 |
| Module Name | Software Design Analysis |
| ECTS Weighting [1] | 5 ECTS |
| Semester Taught | Semester 2 |
| Module Coordinator/s | Thomas Laurent |
Module Learning Outcomes
On successful completion of this module, students should be able to:
- Analyse software domain, properties and context
- Understand software design principles, quality assurance, architectural styles
- Evaluate human aspects of software engineering
Module Content
The module covers real world software challenges, their architecture and design solutions, the human factors that influence them. It introduces techniques to recognise these solutions in pre-existing software in order to better read and understand so-called legacy systems. These are essential skills to maintain and extend existing software.
Teaching and Learning Methods
Lectures, practical examples, continuous assessement
Assessment Details
| Assessment Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
| Coursework | Weekly online quizzes | LO1, LO2, LO3 | 10% | 1-12 | 1-12 |
| Coursework | In-class test | LO1, LO2, LO3 | 40% | 8 | 8 |
| Coursework | Project | LO1, LO2, LO3 | 50% | 6 | 12 |
Reassessment Details
Reassessment project (100%).
Contact Hours and Indicative Student Workload
| Contact Hours (scheduled hours per student over full module), broken down by: | 11 hours |
| Lecture | 10 hours |
| In-class test | 1 hours |
| Independent Study (outside scheduled contact hours), broken down by: | 104 hours |
| Preparation for classes and review of material (including preparation for examination, if applicable | 36 hours |
| Completion of assessments (including examination, if applicable) | 68 hours |
| Total Hours | 116 hours |
Recommended Reading List
Relevant material will be introduced from the Internet. References will be provided
as the module proceeds.
Module Pre-requisites
Prerequisite modules: N/A
Other/alternative non-module prerequisites: Students should have programming experience in one or more modern languages and should have completed a personal or class programming project of reasonable scale (eg. Module programming assignment).
Module Co-requisites
N/A