COMPGC22 - Software Engineering
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).- Code
- COMPGC22
- Year
- MSc
- Prerequisites
- Successful completion of the following course
GC02 - Term
- 2
- Taught By
- Graham Roberts (100%)
- Aims
- This course is an advanced course in software engineering. Software engineering is an inherently practical subject and experimental learning is a vital component of developing expertise in this area. Consequently, the major aim of this course is practical learning, via a substantial group project, to put the ideas presented in lectures into practice. Students will be supervised, but will be expected to largely organize themselves and their work, learning key transferable skills in management and presentation.
- Learning Outcomes
- After completing the course attendees will be able to:
- appreciate the wider engineering issues that form the background to developing complex, evolving (software-intensive) systems;
- plan a software engineering process to account for quality issues and non-functional requirements;
- employ a selection of concepts and techniques to complete a small-scale analysis and design project.
- Interact with a client to elicit input, and communicate progress.
- Employ group working skills - including general organization, planning and time management, inter-group negotiation, etc.
- Translate a specification into a design, and then realize that design practically, all using an appropriate software engineering methodology.
- Reflect on the appropriateness of different software engineering methodologies in different circumstances.
- Demonstrate knowledge of the wider software engineering context, software engineering processes and their applicability.
Content:
- Lectures
- Lectures are given during the first half of term to cover the following:
Group formation: Students are split into project groups with 4-7 members, each group having a supervisor who also acts as the client. The supervisor provides support and guidance. Project groups are selected by the course organiser, with students having no choice. The project idea is chosen from a list published by the course organiser. The project runs continuously during the term, with the group responsible for organising themselves, with advice from their supervisor. Groups are expected to meet with their supervisor regularly. A series of deliverable deadlines are set and must be met by the project groups. A group diary needs to be kept to record the progress of the group, including the minutes of meetings held. - Software Engineering Principles
- Software Life Cycle
Review of object-oriented principles
Project management and the Unified Process (UP) - Requirements
Engineering - Use Cases and Scenarios
- Analysis
- Use Case realisation
Class Responsibility Collaboration (CRC)
Introduction to the Unified Modelling Language (UML)
UML Class Diagrams
UML Sequence and Activity Diagrams
UML State Diagrams - Design
- Refinement of Class Diagrams
UML Component Diagrams - Unified Modeling Language (UML)
- UML Deplyoment Diagrams
- Project work
- Group documentation: The main report documents the results of the project, focusing on requirements and design. A short Executive Summary provides a concise description of the project and its results. The group diary, including meeting minutes are also included. A mock-up of the application is included.
Presentation: Each group is required to give a 15 minute formal presentation of their work, making use of suitable AV equipment. The presentation should explain what the project is about, what were the challenges and give an overview of the design and implementation approach. The mock-up should be used to illustrate what the application should look like
Individual report Each student is required to submit an individual report giving a) an assessment of the structure, organisation and progress of the project group, b) an assessment of the project results and the effectiveness of the group as a whole, c) an assessment of each group member, d) an assessment of their own role, including a summary of what they contributed.
Method of Instruction:
Lecture presentations and associated group tutorials and practical sessions. Group working.
Assessment:
The course has the following assessment components:
- Group_Project_Report (50 hours, 50%)
- Individual_Project_Report (50 hours, 40%)
- Group_Project_Presentation (20 hours, 10%)
To pass this course, students must:
- Pass the coursework section
- Pass the Coursework (40% or more)
Resources:
UML and the Unified Process - Jim Arlow, Ila Neustadt. Addison Wesley. 2nd Edition, 2005

