 |
| STUDENTS
> Practical Software Engineering
|
Practical Software Engineering
Note:
Whilst every effort is made to keep the syllabus and assessment records correct
for this course, the precise details must be checked with the lecturer(s).
Code: | 3093 |
Year: | 3 |
Prerequisites: | Successful completion of years 1 and 2 of the Computer Science programme |
Term: | 1 and 2 |
Taught By: | Graham Roberts (lectures); Licia Capra (project co-ordination) (100%)
|
Aims: | This is an advanced course in software engineering. Software engineering is an inherently
practical subject and experiential learning is a vital component of developing expertise in this
area. Consequently, the major aim of this course is practical learning, supported by background lectures
and workshops both to describe a range of generic techniques and to put into the context of industrial
practice what can only be a relatively limited practical experience. The work will be conducted
largely in groups, to mirror widespread industrial practice, and will, wherever possible, involve
external customers that will determine the precise nature of the work performed. Students will be
supervised, but will be expected largely to 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 which 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 study into one of the advanced topic areas.
Interaction with a client to elicit input, and communicate progress. Group working skills - including general organization, planning and time management, inter-group negotiation, etc. Use of programming tools. Program design, testing, and debugging. Ability to communicate design and programming issues to other programmers. Demand-driven requirements to learn new programming languages, tools, methodologies. Ability
to take, understand, and modify existing code where necessary.
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. Knowledge of the wider software engineering context,
software engineering processes and their applicability, software architectures, and modelling. |
Content:
Course Introduction - Stipulation of Contract (Week 3 - Term 1) | Group formation: Students are split into project groups with 6-8 members, each group having a supervisor who is a member of academic
staff. The supervisor provides support and guidance. Project groups are selected by the course organiser, with students having no
choice. Supervisors, in conjunction with external customers where possible, select the project ideas. The project runs continuously
through both teaching terms with the groups responsible for organising themselves, with advice from their supervisor. Groups are expected to
meet with their supervisor once per week. 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. Project Management - First output: agreed and signed contract. |
Lecture course | Please see syllabus for COMP3015 at http://www.cs.ucl.ac.uk/teaching/syllabus/ug/3015.htm" |
Past project assessment | One of the first activities of the group is to perform a critical assessment of the reports delivered by
a group from a previous year. This starts the development of critical assessment skills and also provides an indication of what is expected. |
Software engineering process | Unified Software Development Process Software Process Improvement Software Quality Requirements Management Configuration Management Risk Management Testing Reviews and Inspections |
Advanced Modelling | UML Extension Mechanisms Object Constraint Language Model Checking |
Project work | Interim report (due Week 7 - Term 1). The first stage of a project, during term 1, is to complete Inception and Elaboration of the project. The Interim report documents the requirements, analysis, architecture and provides a plan for completing the project. Project work: The end of term 1 and up until week 8 of term 2 are devoted to Construction and Transition phases, with the aim of producing a working system. Final and individual report (both due Week 9 - Term 2). The main report documents the results of the project, focusing on design, implementation and testing. A user manual should be included. A 1 page is required (Executive Summary) to provide a concise description of the project and its results. The group diary, including meeting minutes is also included. At the same time, each student is required to submit a personal 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. Presentation (Week 7- Term 2). 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. A demonstration of the working prototype should be included. Weekly reports. Each student is required to email their supervisor once per week reporting on the work done towards the project. Supervisors
keep the reports to help keep a record of individual progress. |
Method of Instruction:
Lecture presentations and group working with support from tutorials held by the group supervisor. Students registered for this module attend COMP3015 (Advanced Software Engineering) lectures. Two workshops are organised in collaboration with Goldman Sachs that focus on: 'team building' (week 3 - Term 1) and 'presentation skills' (week 1 - Term 2).
Assessment:
The course has the following assessment components:
- Reports
(300 hours, 100%)
To pass this course, students must:
- Pass the Coursework (40% or more)
Resources:
Books, papers, manuals etc. relevant to the project.
Course homepage
|
 |