| 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 Context | The 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 Architecture | Architecture Description Languages Pattern-Oriented Software Architecture Component-based Development Aspect-oriented development |
Advanced Modelling | UML 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.
|