Issue No. 06 - June (1986 vol. 12)
Stephen S. Yau , Department of Electrical Engineering and Computer Science, Northwestern University, Evanston, IL 60201
Jeffery J.-P. Tsai , Department of Electrical Engineering and Computer Science, University of Illinois at Chicago, Chicago, IL 60680
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.
Software systems, Software design, Design methodology, Programming, Data structures, Formal specifications, software metrics, Design methodologies, design representation, design verification and validation, distributed software system design, error-resistant software design, software design technique
S. S. Yau and J. J. Tsai, "A survey of software design techniques," in IEEE Transactions on Software Engineering, vol. 12, no. , pp. 713-721, 1986.