Home Admissions Students Careers Research Business People Help
Text size A A A A A

| STUDENTS > Advanced Software Engineering |

Advanced 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: 3015
Year:3
Prerequisites:Successful completion of years 1 and 2 of the Computer Science programme
Term: 1
Taught By: Graham Roberts (100%)
Aims:The course aims to develop the broad understanding of the discipline of software engineering (gained in the earlier Software Engineering course) by considering the wider systems engineering context in which software plays a role. It aims to examine the concepts and techniques associated with a number of advanced and industrially relevant topics, relating to both the product and processes of software engineering. It seeks to complement this with an account of the associated practical and professional issues in software engineering. The course will also provide an on-going support to the group project work.
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; embark on more in-depth research or practice in software engineering.

Content:

Introduction
The Wider Software Engineering ContextThe Software Lifecycle
Software and systems engineering: overview, examples and industrial realities
Project Management - Project Planning and Scheduling
Team organisation
Case studies
Software Engineering Process Unified Software Development Process
Software Process Improvement
Software Economics
Software Quality and standards
Software Metrics - Measurement, Estimation and Prediction
Requirements Management
Configuration Management
Risk Management
Testing and Inspection
Agile methods
Tools
Software ArchitectureArchitecture Description Languages
Pattern-Oriented Software Architecture
Component-based Development
Aspect-oriented development
Advanced ModellingUML Extension Mechanisms
Object Constraint Language
Model Checking
Model Driven Architecture

Method of Instruction:

Lecture presentations with associated tutorials and practical sessions.

Assessment:

The course has the following assessment components:

  • Written Examination (2.5 hours, 90%)
  • Coursework Section (2 pieces, 10%)
To pass this course, students must:
  • Obtain an overall pass mark of 40% for all sections combined
The examination rubric is:
Answer Question I and TWO further questions (Three questions in total)

Resources:

K. Lano: Model-Driven Software Development with UML and Java. Engage. 2009

I. Sommerville: Software Engineering 8th Edition. Addison Wesley. 2006

R. Pressman: Software Engineering: A Practitioners Approach. McGraw Hill, 2004

I. Jacobson, J. Rumbaugh, G. Booch: The Unified Software Development Process. Addison Wesley. 1999

F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal: Pattern-Oriented Software Architecture. John Wiley. 1996

G. Booch, I. Jacobson, J. Rumbaugh: The Unified Modeling Language User Guide. Addison Wesley. 1999

J. B. Warmer, A. G. Kleppe: The Object Constraint Language: Precise Modeling With UML Addison Wesley. 1997

E. M. Clarke, O. Grumberg, D. Peled: Model Checking. MIT Press. 2000

A. Finkelstein (ed): The Future of Software Engineering. ACM Press. 2000

Reading material (papers, articles etc) supplied via the module website on Moodle.

This page last modified: 26 May, 2010 by Nicola Alexander

Computer Science Department - University College London - Gower Street - London - WC1E 6BT - Telephone: +44 (0)20 7679 7214 - Copyright © 1999-2007 UCL


Search by Google
Link to UCL home page