CO7208 Software Process Engineering


CO 7208 Software Process Engineering

Credits: 10 Convenor: Dr. M. El-Ramly Semester: 2

Prerequisites:
Assessment: Coursework: 60% Two hours exam in January: 40%
Lectures: 18 Problem Classes: none
Tutorials: none Private Study: 45
Labs: 12 Seminars: none
Project: none Other: none
Surgeries: none Total: 75

Subject Knowledge

Aims

To understand the importance of process awareness and improvement in software development and to understand some of the currently popular and successful software process models.

Learning Outcomes

By the end of this module, students will: 1) Understand the nature of software development processes and process improvement. 2) Understand that software development processes can be managed and controlled.3) Understand some of the successful software development processes.

Methods

Class sessions together with course notes. Selected readings. Lab work and assignments. Software development project(s).

Assessment

Marked coursework (Assignments - Project). Written examination.

Subject Skills

Aims

To develop analytical skills for choosing a software process model for a software development project and to develop on-hands experience in developing software using some of the popular software process models.

Learning Outcomes

By the end of the module, Students will be able to apply software development process concepts and tools to effectively manage the production process, reduce risk and produce quality software.

Methods

Class sessions together with course notes. Selected readings. Lab work and assignments. Software development project(s).

Assessment

Marked coursework (Assignments - Projects). Written examination.

Explanation of Pre-requisites

This module requires the student to have reasonable experience in programming with a high level language and in using Unified Modelling Language (UML) for system analysis and design.

Course Description

Every engineering discipline has well-defined processes for developing products, whether they are buildings, cars, or vacuum cleaners. Software engineering is no exception. Developing software products is now considered an engineering activity, despite the wide room for talent and craftsmanship. Hence, successful software development organizations follow well-defined repeatable processes and work on improving these processes.

A Software Process is the set of activities, methods, and practices that are used in the production and evolution of software. This module is concerned with improving the processes used to develop and maintain high-quality software systems in a timely and economical manner. It covers the evolution of different software development models and the currently popular and successful process model, e.g., iterative software development and agile software development.

Students will complete one or more software development projects using the processes learned in the module to gain experience in the practical application and value of these processes.

Syllabus

This module will cover the following topics as time permits.

History and evolution of software development processes.
Iterative software development.
Agile software development.
Software maturity frameworks.
Software process improvement.

Reading list

Background:

Ivar Jacobson, Grady Booch and James Rumbaugh, The Unified Software Development Process, Addison Wesley Professional.

Kent Beck, Extreme Programming Explained: Embrace Change, Addison Wesley Professional.

Resources

Module Evaluation

Course questionnaires, course review.


[University Home] [Faculty of Science] [MCS Home] [CS Home] CS Home Page [University Index A-Z] [University Search] [University Help]

Author: N. Rahman, tel: +44 (0)116 252 2593
Last updated: 2004-09-29
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.