Computer Science, Prifysgol Cymru Aberystwyth University of Wales


C332(h)* - Advanced Software Engineering


Brief Description

The half unit introduces students to some advanced aspects of software engineering, specifically formal methods and software engineering environments

Aims, Objectives, Syllabus, Booklist


Further Details

Number of lectures
22
Number of seminars/tutorials
4
Number of practicals
0
Coordinator
Dr. Fred Long
Other staff involved
Not yet known
Pre-requisites
C210, C220
Co-requisites
None
Incompatibilities
None
Assessment
Assessed coursework - 20%
Written exam - 80%
Timing
This half module is offered only in Term 1

Aims

This half unit aims to introduce students to two advanced aspects of software engineering: the use of formal methods in software specification (with an emphasis on the ideas involved, rather than the formality); and software engineering environments and tool support interfaces.

Objectives

On successful completion of this course students should understand:

Syllabus

The Traditional Approach to Specification - 1 Lecture
Problems of incompleteness, inconsistency and ambiguity. Practical problems (volume of paperwork, etc.).
Formal Specifications - 1 Lecture
The advantages and disadvantages of formal specification. Algebraic and operational specifications.
VDM as a Specification Language - 5 Lectures
Introduction and history. The VDM specification language. Data types in VDM. An example specification.
VDM as a Formal Development Method - 4 Lectures
Stages and processes in the development of a software design using VDM. Data reification and operation decomposition.
Outstanding Problems and Other Methods - 1 Lecture
Formal specification of systems with concurrency. Modularisation of formal specifications. Safety and reliability issues. Other specification languages, Z and GYPSY (briefly). ANNA and SPARK.
Integration of Software Tools - 2 Lectures
Why integration is important. The dimensions of integration. Why traditional operating systems are not good enough.
Integrated Project Support Environments - 4 Lectures
Database support for project management and software development. Typical tools. Use of a database as a means of integration. Other aspects of integration (e.g., the user interface). Structure of an IPSE; Tool Builder as an example.
Tool Support Interfaces - 4 Lectures
The need for standard tool support interfaces. The issues which such interfaces should address. Current standards (PCTE and CAIS). Technical problems (granularity, wide area distribution).

Booklist

It is considered essential to purchase the following

C.B. Jones. Systematic Software Development Using VDM. International Series in Computer Science. Prentice-Hall, 2nd. edition, 1990.

The following should be consulted for different approaches or for further information

I. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice-Hall, 2nd. edition, 1993.

J.M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice-Hall, 2nd. edition, 1992.

A.W. Brown, A.N. Earl, and J.A McDermid. Software Engineering Environments: Automated Support for Software Engineering. The McGraw-Hill International Series in Software Engineering. McGraw-Hill, 1992.

Version 2.1

Syllabus Syllabus

Nigel Hardy Departmental Advisor

nwh@aber.ac.uk

Dept of Computer Science, UW Aberystwyth (disclaimer)