A Survey of Software Design Techniques

Stephen S. Yau, Jeffery J.P. Tsai

Research output: Contribution to journalArticlepeer-review

47 Scopus citations


Software design is the process which translates the requirements into a detailed design representation of a software system. Good software design is a key to produce reliable and understandable software. To support software design, many techniques and tools have been developed. In this paper, important techniques for software design, including architectural and detailed design stages, are surveyed. Recent advances in distributed software system design methodologies are also reviewed. To ensure software quality, various design verification and validation techniques are also discussed. In addition, current software metrics and error-resistant software design methodologies are considered. Future research in software design is also discussed.

Original languageEnglish (US)
Pages (from-to)713-721
Number of pages9
JournalIEEE Transactions on Software Engineering
Issue number6
StatePublished - 1986
Externally publishedYes


  • Design methodologies
  • design representation
  • design verification and validation
  • distributed software system design
  • error-resistant software design
  • software design technique
  • software metrics

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'A Survey of Software Design Techniques'. Together they form a unique fingerprint.

Cite this