This Article 
 Bibliographic References 
 Add to: 
An Automated Software Design Assistant
February 1988 (vol. 14 no. 2)
pp. 194-210

An automated software design assistant was implemented as a part of a long-term project with the objectives of applying the computer-aided technique to the tools in a software engineering environment. A set of quantitative measures are derived based on the degree to which a particular design satisfied the attributes associated with a structured software design. The measure are then used as decision rules for a computer-aided methodology for structured design. The feasibility of the approach is also demonstrated by a case study using a small application system design problem.

[1] D. Teichroew and E. Hershey, "PSL/PSA: A computer aided technique for structured documentation and analysis of information processing systems,"IEEE Trans. Software Eng., vol. SE-3, no. 1, pp. 41-48, Jan. 1977.
[2] M. W. Alford, "Software requirements engineering methodology (SREM) at the age of two," inProc. COMPSAC 1978, IEEE, Nov. 1978, pp. 332-339.
[3] S. M. Henry, "Information flow metrics for the evaluation of operating systems' structure," Ph.D. dissertation, Iowa State Univ., 1979.
[4] J. E. Kottemann and B. R. Konsynski, "Complexity assessment: A design and management tool for information system development,"Inform. Syst., vol. 8, no. 3, pp. 195-206, Mar. 1983.
[5] L. Belady and C. Evangelisti, "System partitioning and its measure," T. J. Watson Research Center, IBM, Yorktown Heights, NY, Tech. Rep. RC 7560, Mar. 1979.
[6] J. Silverman, N. Giddings, and J. Bean, "An approach to design-for-maintenance," inProc. Software Maintenance Workshop, Monterey, CA, Dec. 1983.
[7] J. Silverman, J. Bean, and N. Giddings, "A component interconnection language for evaluating software design quality," Honeywell Rep., Mar. 1983.
[8] J. Bean, N. Giddings, and J. Silverman, "A software engineering experiment," Honeywell Rep., Apr. 1983.
[9] J. Bean, N. Giddings, and J. Silverman, "Quantifying software designs," inProc. 7th Int. Conf. Software Engineering, Orlando, FL, Mar. 1984.
[10] N. Giddings and T. Colburn, "An automated software design evaluater," inProc. Annu. Conf.--ACM 84San Francisco. CA, Oct. 1984.
[11] J. Karimi, "Computer-aided process organization," Ph.D. dissertation, Univ. Arizona, May 1983.
[12] C. Gane and T. Sarson,Structured Systems Analysis: Tools and Techniques. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[13] J. R. White and T. L. Booth, "Towards an engineering approach to software design," inProc. Second Int. Conf. Software Engineering, IEEE Catalog No. 76Ch 1125-4C, 1976.
[14] G. J. Myers,Reliable Software Through Composite Design. New York: Petro-Cell Charter, 1975.
[15] Yourdon, E., and L.L. Constantine,Structured Design: Fundamentals Discipline of Computer Programs and Systems Design, Yourdon Press, New York, 1978.
[16] W. P. Stevens, G. I. Myers, and L. L. Constantine, "Structured design,"IBM Syst. J., vol. 13, no. 2, pp. 115-139, May 1974.
[17] M. Page-Jones,The Practical Guide to Structured System Design, Yourdon Press, New York, 1980.
[18] D. Gelperin, "Testing maintainability,"Software Eng. Notes(ACM-SIGSOFT), vol. 4, pp. 7-12, Apr. 1979.
[19] R. R. Willis and E. P. Jensen, "Computer aided design of software systems," inProc. 4th Int. Conf. Software Engineering, Munich, West Germany, Sept. 1979, IEEE Catalog No. 79CH1479-SC, 1979.
[20] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[21] M. A. Jackson,Principles of Program Design. New York: Academic, 1975.
[22] J. D. Warnier,Logical Construction of Programs. New York: Van Nostrand Reinhold, 1974.
[23] E. Yourdon and L. L. Constantine,Structured Design. New York; Yourdon, 1975.
[24] G. J. Myers, "The need for software engineering,"Computer, Feb. 1978.
[25] B. Konsynski, J. Kottemann, J. Nunamaker, and J. Scott, "PLEXSYS-84: An Integrated Development Environment for Information Systems,"J. Management Inform. Syst., vol. 1, no. 3, pp. 62-104, Winter 1984-1985.
[26] J. F. Nunamaker, Jr., W. C. Nylin, Jr., and B. Konsynski, Jr., "Processing systems optimization through automatic design and reorganization of program modules," inInformation Systems, J. Ton, Ed. New York: Plenum, 1974, pp. 311-336.
[27] R. B. Marimont, "A new method of checking the consistency of precedence matrices,"J. ACM, vol. 6, no. 2, Apr. 1959.
[28] J. A. Hartigan,Clustering Algorithms, J. Wiley: Ed., 1975.
[29] C. Gottlieb and S. Kumar, "Semantic clustering of index terms,"J. ACM, vol. 15, no. 4, Oct. 1968.
[30] S. I. Huff, "Decomposition of weighted graph using the interchange partitioning algorithm," Center for Inform. Syst. Res., Sloan School of Management, M.I.T., Tech. Rep. 8, Mar. 1979.
[31] G. F. Estabrook, "A mathematical model in graph theory for biological classification,"J. Theor. Biol., vol. 12, 1966.
[32] L. Hubert, "Some applications of graph theory to clustering,"Psychometrika, vol. 39, no. 3, Sept. 1974.
[33] R. Andreu, "A systematic approach to the design and structuring of complex software systems," Ph.D. dissertation, Sloan School of Management, M.I.T., Feb. 1978.
[34] S. L. Huff and S. E. Madnick, "Analysis techniques for use with the extended SDM model," Sloan School of Management, M.I.T., Tech. Rep. 9, Feb. 1979.
[35] M. R. Anderberg,Cluster analysis for applications. New York: Academic, 1973.
[36] S. Yan, S. Yang, and S. Shatz, "An approach to distributed computing system software design,"IEEE Trans. Software Eng., vol. SE- 7, no. 4, July 1981.
[37] E. Dijkstra, "Co-Operating sequential problems," inProgramming Languages, F. Genuys, Ed. New York: Academic, 1972.
[38] C. A. R. Hoare, "Monitors: an operating system structuring concept,"Commun. ACM, vol. 17, no. 10, pp. 549-557, Oct. 1974.
[39] J. Keedy, "On structuring operating systems with monitors,"ACM Operat. Syst. Rev., vol. 13, pp. 5-9, Jan. 1979.
[40] J. F. Nunamaker, B. Konsynski, and C. Singer, "Computer-aided analysis and design of information systems,"Commun. ACM, vol. 19, no. 12, pp. 674-687, Dec. 1976.

Index Terms:
software tools; automated software design assistant; software engineering environment; quantitative measures; structured software design; automatic programming; software tools; structured programming
J. Karimi, B.R. Konsynski, "An Automated Software Design Assistant," IEEE Transactions on Software Engineering, vol. 14, no. 2, pp. 194-210, Feb. 1988, doi:10.1109/32.4638
Usage of this product signifies your acceptance of the Terms of Use.