COMPUTER SCIENCE 340

SOFTWARE ENGINEERING

I. Introduction

A. Catalog Description

The study of the design and implementation of large software systems. Topics include design methodologies, programming team organization and management, program verification and maintenance, human engineering, and CASE tools. A team project is an integral part of the course. Prerequisites: one of CSci 281, CSci 361, or CSci 455 with a grade of C- or better. Satisfies a writing requirement in major contracts.

B. Objective

1. Provide tools necessary to develop a system from requirements to operation.

2. Provide experience in working with a group on a medium sized project.

C. Prerequisites

Students must have completed one of CSci 281, CSci 361, CSci 455 with a grade of C- or better. There will be exams, individual and group projects.

II. Required Topics

1. Design techniques: Top-down design, object-oriented design, information hiding, iterative enhancement, program verification.

2. Organization and Management: Milestones and estimating, chief programmer teams, program libraries, walk-throughs

3. Team project: Organization, management, and development of a large scale group project.

4. Program testing and maintenance, planning for change.

5. Human engineering, taking into account user needs

6. CASE tools.

III. Bibliography

Bruce I. Blum, Software Engineering A Holistic View

Frederick Brooks, The Mythical Man-Month

E. W. Dijkstra, A Discipline of Programming

Dahl, Dijkstra, & Hoare, Structured Programming

David Gries (ed.) Programming Methodology

Watts S. Humphrey, A discipijne for Software Engineering

M. Jackson, Principles of Program Design

G. Meyers, Composite/Structured Design

Stephan R. Schach, Software Engineering

Matin L. Shooman, Software Engineering Design, Reliability, and Management

Ian Sommerville, Software Engineering

Edward Yourdon, Techniques of Program Structure and Design

E. Yourdon & L. Constantine, Structured Design: Fundamentals of Computer and System Design

C. Gain & T. Sarsen, Structured Systems Analysis: Tools and Techniques


Return to CS 340 home page