Introduction to Software Design

Abstract

This curriculum module provides an introduction to the principles and concepts relevant to the design of large programs and systems. It examines the role and context of the design activity as a form of problem solving process, describes how this is supported by current design methods, and considers the strategies, strengths, limitations, and main domains of application of these methods. Design is an important activity for all except the most trivial of systems. It exerts a major influence upon the other phases of the development process, as well as upon system maintenance. An understanding of design issues and of the techniques available to assist in producing a design is essential background for the software engineer. This module provides an introduction to the topic of software design, including the following major elements: (1) And explanation of the role of the design activity in producing large software-based systems, together with an introduction to the principles that are used to assess the quality of design; (2) An introduction to a range of design representation, together with a description of their uses and limitations; (3) An explanation of the role of a design method in the production of a design and of the design strategies used in software design methods; and (4) An introduction to several examples of design methods and an assessment of their strengths and limitations with respect to different classes of problems.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1989
Accession Number
ADA236118

Entities

People

  • David Budgen

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Human Systems

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computers
  • Department Of Defense
  • Engineers
  • High Level Languages
  • Information Systems
  • Instructors
  • Language
  • Materials
  • Parallel Computing
  • Programming Languages
  • Software Design
  • Software Development
  • Software Metrics
  • Students
  • Systems Engineering

Fields of Study

  • Computer science
  • Engineering

Readers

  • Software Engineering
  • Systems Analysis and Design