[The University of Leicester]

Department of Mathematics & Computer Science



Next: MC111 Logic and Discrete Structures Up: Year 1 Previous: MC104 Algorithms and Data Structures

MC106 Software Engineering and Professional Practice


MC106 Software Engineering and Professional Practice

Credits: 10 Convenor: Dr S. J. Ambler Semester: 2

Prerequisites: essential: MC103
Assessment: Continual assessment: 40% Two hour exam in May/June: 60%
Lectures: 18 Problem Classes: 6
Tutorials: none Private Study: 45
Labs: none Seminars: none
Project: none Other: none
Surgeries: 6 Total: 75

Explanation of Pre-requisites

This module assumes that you have some feeling for the problems inherent in writing software and therefore some prior programming experience is required. In addition, it is beneficial if you are alert to current issues in software engineering as they occur and are reported in the news media.

Course Description

By the late 1960's it had become very clear within the software and computing industries that there were major problems inherent in the construction of large software systems. Many projects were delayed, or never completed. Those that were completed were over budget. A large proportion of systems were found to be unsatisfactory in use: they were ``buggy'' and required constant maintenance to fix problems; they did not satisfy the needs of the actual users.

In this module we will be taking an introductory look at the many approaches that have been devised and developed to try to tackle these problems in the past 30 or more years, and trying to assess how successful they have been. These techniques have generally resulted in a more structured and controlled development lifecycle for software systems, and as a result the people involved have had to adopt a more professional attitude. The module examines what it means to be a professional in the software industry.

Aims

To provide an understanding of the problems and difficulties and issues associated with specifying, designing and building high quality large software systems. To discuss the management, professional and ethical issues of software development.

Objectives

Syllabus

Software development a brief history of software development; the problems of software development; the software development crisis; a solution -- software engineering.

The system development process developing large systems; the need for abstraction; the development process.

The system development cycle managing the development process; how software is produced; frameworks for system development.

Planning a software project describing project goals; evaluating project goals; choosing solutions to meet the project goals.

Quality assurance what is quality; the development cycle and QA; documentation requirements; validation and verification; reviews and inspections; measuring the development process.

Testing and maintenance testing the result; behavioural testing techniques; testing for quality.

The professional software engineer what is software engineering; professional practice; ethics; ensuring quality; standards and procedures; standards and procedures; tools for management.

Transferable Skills

Reading list

Essential:

R. Pressman, Software Engineering -- A Practitioner's Approach, European 4th edition, McGraw Hill, 1994.

R. Ayres, The Essence of Professional Issues in Computing, Prentice Hall, 1999.

Background:

T. Gilb, Principles of Software Engineering Management, Addison-Wesley, 1988.

I. Sommerville, Software Engineering, 5th edition, Addison-Wesley, 1996.

F. Bott, A. Coleman, J. Eaton, D. Rowland, Professional Issues in Software Engineering, 2nd Edition, UCL Press, 1995.

R.G. Epstein, The Case of the Killer Robot, John Wiley and Sons, 1997.

Details of Assessment

The coursework is divided into 3 (or more) exercises spread over the teaching semester. The first exercises concentrate on practical aspects of software projects, such as: specifying a project's goals clearly and concisely; evaluating possible solutions to a problem in order to choose the most cost effective; the application of validation and verification techniques. The final exercise requires students to research a topical professional issue and write an essay on their findings.


Next: MC111 Logic and Discrete Structures Up: Year 1 Previous: MC104 Algorithms and Data Structures

[University Home] [MCS Home] [University Index A-Z] [University Search] [University Help]

Author: S. J. Ambler, tel: +44 (0)116 252 3884
Last updated: 2001-09-20
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.