Computer Science, Prifysgol Cymru Aberystwyth University of Wales
CS33210 (1995-96 session)
Advanced Software Engineering
Brief Description
This module 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
- 24
- Number of seminars/tutorials
- 4
- Number of practicals
- 0
- Coordinator
- Dr. Fred Long
- Other staff involved
- Not yet known
- Pre-requisites
-
CS21020
/C210,
CS22110
/C220,
CS22210
/C220
- Co-requisites
- None
- Incompatibilities
- None
- Assessment
- Assessed coursework - 20%
Written exam -
80%
- Timing
- This module is offered only in Semester 1
Aims
This module 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:
-
the problems of incompleteness, inconsistency and
ambiguity arising from traditional methods of software
specification;
-
the different approaches to formal specification;
-
the stages and processes involved in the development of a
software design using VDM;
-
the deficiencies of VDM and the attempts to overcome these
in some other formal specification methods;
-
the need for database support for project management and
software development;
-
the necessity for standard tool support interfaces;
-
the basic facilities of the tool support interface
PCTE;
-
the technical problems facing tool support interface
developers;
-
the current trends in software tool integration.
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).
-
Current Trends - 2 Lectures
-
A brief discussion of current trends in tool integration
and CASE.
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
-
J. Woodcock and M. Loomes.
Software Engineering Mathematics.
Pitman, 1988.
-
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, D.J. Carney, E.J. Morris, D.B. Smith, and P.F. Zarrella.
Principles of CASE Tool Integration.
Oxford University Press, 1994.
Version 4.1
Syllabus
John Hunt Departmental Advisor
jjh@aber.ac.uk
Dept of Computer Science, UW Aberystwyth (disclaimer)