Striving for coherency to mitigate the complexity of system design

  • Authors:
  • Dennis B. Mulcare

  • Affiliations:
  • SAIC, Warner Robins, GA

  • Venue:
  • ECBS'97 Proceedings of the 1997 international conference on Engineering of computer-based systems
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software system complexity needs to be viewed from the perspectives of both the design product and the design process. In typical practice, design products appear quite overly complex relative to the capabilities provided. Frequently, system designs seem to exhibit a large degree of unwarranted complexity. On the other hand, system-level design methods are usually lacking in complexity relative to the challenge of essential design tasks. In consequence, too many design commitments are made without adequate bases, out of proper order, or by default. The result of such design commitments is a combination of unwarranted complexity and compromised system capabilities. Two other distinctions that also need to be acknowledged are the differences between: functional architecture and architectural design; and system requirements and system specifications. These distinctions are usually not observed in system development processes that are dismissive of the nature and ramifications of proper system-level design. Here, the dilution of the system design effort tends to compromise the design product, because many of the major design commitments are made in the absence of a precisely defined architectural design. Whether soundly based or not, these early-on commitments continue to profoundly affect product construction and complexity throughout development. Accordingly, it is vital to invest in rigorous system-level design methods and practices. They can engender coherence, and hence mitigate complexity in design products and disorder in later stages of development.