STATE UNIVERSITY OF NEW YORK AT OSWEGO
Computer Science Department
I. COURSE NUMBER AND CREDIT:
CSC 480 - 3 S.H.
II. COURSE TITLE:
Software Design
III. COURSE DESCRIPTION:
This course extends and integrates design techniques
commonly encountered in core CSC courses and
electives, while also focusing on the engineering
challenges of constructing complex software systems
that graduates are likely to encounter in practice.
IV. PREREQUISITES:
CSC 344, CSC 380
V. JUSTIFICATION:
A substantial group-based semester project is an
integral part of this course. It allows students to
bridge abstract design principles with the realities
of contemporary software development. Approximately
one-third of class time should be devoted to
background tutorials, design presentations and
reviews, and group discussions relevant to the
construction of assigned projects.
This course will be offered at least once every two
years to Classes of size thirty-two. This course is
an elective course for CS majors.
VI. COURSE OBJECTIVES:
As a result of this course, students will be able to:
1. Understand and apply best-known software design
methods.
2. Understand and apply best-known software
development practices.
3. Implement and evaluate designs.
4. Work with others in developing large systems.
VII. COURSE OUTLINE:
A. Review
1. Software development practices
2. Characteristics of application systems
3. Programming in-the-small
B. Specification and Modeling
1. Overview of methods and paradigms
2. Decomposition and classification
3. Static models
4. Dynamic models
5. Examples and case studies
C. Computational Design
1. Correctness, testability
2. Design patterns and architectures
3. Building software components
4. Design criteria and evaluation
5. Software reuse and evolution
D. Physical System Design
1. Distribution
2. Resource management
3. Performance
4. Reliability
E. Implementing Designs
1. Using software tools, services, and
2 languages
3. Testing and monitoring
4. Managing the development process
VIII. METHODS OF INSTRUCTION:
1. Lectures
2. Semester project
IX. COURSE REQUIREMENTS:
1. Readings from a main text and current and
classical papers
2. Design and programming exercises
3. Semester project, including class
presentations
X. MEANS OF EVALUATION:
1. Assignments
2. Examinations
3. Project participation
XI. RESOURCES:
No additional resources are required.
XII. BIBLIOGRAPHY:
Booch, G. (1990). Object Oriented Design with
Applications. Benjamin/Cummings.
DeChampeaux, D., Lea, D., & Faure, P. (1993).
Object Oriented System Development, Addison-
Wesley.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F.,
& Lorensen, W. (1991). Object Oriented
Modeling and Design. Prentice Hall.
Ward, P. T. & Mellor, S. (1985). Structured
Development for Real-Time Systems. Prentice
Hall.
Document:
URL:
Last Update: