A Systematic Methodology for Designing the Architecture of Complex Software Systems.

Abstract

Designers of complex software systems, finding the scope of the problem beyond their cognitive abilities to grasp all at once, often attempt to cope by decomposing the original design problem into more manageable sub-problems. In software design, this decomposition is usually carried out in an ad hoc, intuitive fashion by the system architect. Software research has shown that poor decisions during this preliminary design state can lead to serious problems, difficult to correct during later stages of the system development cycle. The aim of the present research is to help develop a new software design method--the Systematic Design Methodology, or SDM. SDM is intended to aid the software architect in carrying out preliminary design activities, and in synthesizing a design problem structure for the system under consideration. Using SDM involves developing a graph model of a system's functional requirements and their implementation interdependencies, then decomposing the graph using heuristic techniques such as cluster analysis or graph partitioning algorithms. A quantified objective function posessing high strength, with low coupling between subproblems, is used to locate the best graph decomposition.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1979
Accession Number
ADA074911

Entities

People

  • S. E. Madnick
  • S. L. Huff

Tags

Communities of Interest

  • Biomedical
  • C4I
  • Ground and Sea Platforms
  • Human Systems
  • Space

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Business Administration
  • Computer Programming
  • Computer Programs
  • Computers
  • Control Systems
  • Database Management Systems
  • Databases
  • Debugging
  • Information Systems
  • Language
  • Management Personnel
  • Organizational Structure
  • Software Design
  • Software Development
  • Systems Engineering

Fields of Study

  • Computer science
  • Engineering

Readers

  • Distributed Systems and Data Platform Development
  • Graph Algorithms and Convex Optimization.
  • Software Engineering.