Computer Science, Prifysgol Cymru Aberystwyth University of Wales


CS22110 (1995-96 session)
The Software Development Lifecycle


Brief Description

The objectives of the lecture course are first to introduce students to the best traditional practices for the specification, design, implementation, testing and operation of large software systems; and second to provide a framework for the more detailed material on design which is taught in other courses. The practical work is a group project.

Long thin module. No lectures in Semester 2

Aims, Objectives, Syllabus, Booklist


Further Details

Number of lectures
18
Number of seminars/tutorials
4
Number of practicals
0
Coordinator
Dr. Fred Long
Other staff involved
Not yet known
Pre-requisites
Pass or exemption in Computer Science at Level 1 or CS10310 by arrangement with the department
Co-requisites
None
Incompatibilities
None
Assessment
Assessed coursework - 100%
Timing
This module extends over both Semester 1 and Semester 2

Aims

This module aims to introduce students to the basic principles of software engineering and to give them experience of developing a software system in a team. Specifically, it aims to:

Objectives

On successful completion of this module students should:

Syllabus

Introduction - 1 Lecture
The approach and the obligations of the professional engineer. Software as an engineering artifact. Analogies between software and other branches of engineering.
The Software Life Cycle - 2 Lectures
Description of the phases of the software life cycle and the major deliverables and activities associated with each phase.
Project Management - 2 Lectures
Planning and cost estimation. Progress monitoring. Team structure and team management.
Quality Management - 3 Lectures
Validation, verification and testing. Quality plans. Walkthroughs, code inspections and other types of review. Role of the quality assurance group. Standards (international, national and local).
Configuration Management - 2 Lectures
Baselines. Change control procedures. Version control. Software tools to support configuration management: `sccs' and `make'.
Requirements Specification - 2 Lectures
The IEEE standard for requirements specifications. Validation of requirement by e.g., prototyping. Deficiencies in the traditional approach to requirements.
Design - 2 Lectures
Outline (architectural) design and detailed design. Use of abstraction, information hiding, functional and hierarchical decomposition at levels higher then the individual program. Contents of design documentation. [Note that both CS23110 and CS27220 contain more detailed coverage of design methods.]
Implementation and Testing - 2 Lectures
Importance of suitable programming languages and a good support environment. Testing strategies. Testing tools: static and dynamic analysers, test harnesses and test data generators, simulators. Performance testing. Regression testing. User documentation and training. Cutover. Post-implementation reviews.
Tools - 2 Lectures
How CASE tools can aid the software engineer. Upper and lower CASE. Meta CASE tools. The capability maturity model.

Booklist

It is considered essential to purchase the following

Ian Sommerville. Software Engineering. Addison Wesley, 4th edition, 1992.

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

H. van Vliet. Software Engineering: Principles and Practice. John Wiley and Sons, 1993.

S.L. Pfleeger. Software Engineering. Macmillan, 2nd edition, 1991.

V. Berzins and Luqi. Software Engineering with Abstractions. Addison Wesley, 1991.

Ian Sommerville and R. Morrison. Software Development with Ada. Addison Wesley, 1987. This book includes material which students will find useful in connection with the design phase of the group project.

Version 4.2

Syllabus Syllabus

John Hunt Departmental Advisor

jjh@aber.ac.uk

Dept of Computer Science, UW Aberystwyth (disclaimer)