Software Engineering


AIMS

The course is intended to develop an understanding of the problems associated with the development of significant computing systems (that is, systems that are too large to be designed and developed by a single person, and are designed to be used by many users) and to appreciate the techniques and tools necessary to develop such systems efficiently, in a cost-effective manner.

LEARNING OUTCOMES

At the end of the course, the student is expected to realise the problems involved in designing and building significant computer systems; understand the need to design systems that fully meet the requirements of the intended users; appreciate the need to ensure that the implementation of a design is adequately tested to ensure that the completed system meets the specifications; be fully aware of the principles and practice of an O-O approach to the design and development of computer systems; be able to apply these principles in practice.

OUTLINE SYLLABUS

Part 1: The Software Lifecycle (3 weeks)

Part 2: Formal Speciification (4 weeks) Part 3: UML (3 weeks)

COURSEWORK

Deadline: Monday 4 December 2000.

A description of the assessment is available in postscript or pdf format.

EXERCISE SHEETS

A number of exercise sheets have been prepared in order to help you understand the course. You should ensure that you are able to successfully carry out all these:

WWW RESOURCES

Z:

UML:

RECOMMENDED TEXTS

The recommended course text is:

If you plan a career as a programmer of software developer, then this text is worth its weight in gold! Another good general text on software engineering is:

For the Z part of the course, the best general text is:

For the UML part of the course, the best general text is:

If you plan to take up object-oriented development se4riously, then this book is well worth having.

ASSESSMENT WEIGHTINGS

LECTURE SLIDES

Lecture slides are provided in two formats: PDF and PostScript, with PDDF listed first, then PostScript.

PDF Format (for Adobe Acrobat)

PostScript Format