This Article 
 Bibliographic References 
 Add to: 
Control and Definition Modularization: an Improved Software Design Technique for Organizing Programs
January 1990 (vol. 16 no. 1)
pp. 92-99

The author proposes a technique called control and definition modularization (CDM), which derives a systematic program layout from a given structure chart using the concepts of 'control' and 'definition' modules. A control module includes processes for handling a conceptual data object not directly implementable. A definition module defines operations associated with a concrete data object implementable using a primitive or derived data type of a programming language. Grouping the operations available for each concrete data object, and keeping them separated from execution flow, improves programs maintainability. This technique extends the structured design methodology and provides designers with a systematic way of deriving informational strength modules as well as a structured physical layout from the structure chart. A program based on the CDM technique is easier to understand and maintain. This research makes a significant contribution toward bridging the gap between structured design and object-oriented concepts.

[1] R. J. Abbott, "Program description by informal English description,"Commun. ACM, Nov. 1983.
[2] G. Booch, "Object-oriented development,"IEEE Trans. Software Eng., vol. SE-12, pp. 211-221, Feb. 1986.
[3] O. J. Dahl, E. W. Dijkstra, and C. A. R. Hoare,Structured Programming. London: Academic, 1972.
[4] J. C. Enos and R. L. V. Tilburg, "Software Design," inSoftware Engineering, W. Jensen and C. C. Tonies, Ed. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[5] C. Gane and T. Sarson,Structured Systems Analysis: Tools and Techniques. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[6] L. Gugerty and G. M. Olson, "Comprehension differences in debugging by skilled and novice programmers," inEmpirical Studies of Programmers, E. Soloway and S. Iyengar, Eds. Norwood, NJ: Ablex, 1986.
[7] T. Guimaraes, "Managing application program maintenance expenditures,"Commun. ACM, vol. 26, no. 10, pp. 739-746, Oct. 1983.
[8] J. Guttag, "Abstract data types and the development of data structures," inProc. SIGPLAN/SIGMOD, Mar. 1976.
[9] P. Henderson, "Functional programming, formal specifications, and rapid prototyping,"IEEE Trans. Software Eng., vol. SE-12, pp. 241-250, Feb. 1986.
[10] T. Kesler, R. B. Uram, F. Magareh-Abed, A. Fritzsche, C. Amport. and H. E. Dunsmore, "The effect of indentation on program comprehension,"Int. J. Man-Machine Studies, vol. 21, pp. 415-428, 1984.
[11] B. P. Lientz and E. B. Swanson,Software Maintenance Management. Reading, MA: Addison-Wesley, 1980.
[12] B. H. Liskov and S. N. Zilles, "Specification techniques for data abstractions,"IEEE Trans. Software Eng., vol. SE-1, no. 1. pp. 7- 19, Mar. 1975.
[13] S. Letovsky and E. Soloway, "Delocalized plans and program compreshension,"IEEE Software, pp. 41-48, May 1986.
[14] G. J. Myers,Software Reliability: Principles and Practices. New York: Wiley, 1976.
[15] K. T. Orr,Structured Requirements Definition. Topeka, KS: Ken Orr, 1981.
[16] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[17] A. S. Philippakis and L. J. Kazmier,Program Design Concepts with Applications in COBOL. New York: McGraw-Hill, 1983.
[18] D. T. Ross, J. B. Goodenough, and C. A. Irvine, "Software engineering: Process, principles, and goals,"Computer, vol. 8, May 1975.
[19] S. B. Yadav, "A methodology for modeling an organization to determine and derive information systems requirement." Ph.D. dissertation. Ann Arbor, MI: University Microfilm International, 1981.
[20] Yau, S.S., and J.J.P. Tsai, "A Survey of Software Design Techniques,"IEEE Trans. Software Eng., No. 12, 1986, pp. 713-721. (SD, SA, W-O, JSP, JSD, HIPO, OOD, PDL, Petri Nets)
[21] S. S. Yau, and J. S. Collofello, "Design stability measures for software maintenance,"IEEE Trans. Software Eng., vol. SE-11. no. 9, pp. 849-856, Sept. 1985.
[22] Yourdon, E., and L.L. Constantine,Structured Design: Fundamentals Discipline of Computer Programs and Systems Design, Yourdon Press, New York, 1978.

Index Terms:
definition modularization; software design technique; organizing programs; control and definition modularization; systematic program layout; conceptual data object; execution flow; programs maintainability; structured design methodology; software engineering.
S.B. Yadav, "Control and Definition Modularization: an Improved Software Design Technique for Organizing Programs," IEEE Transactions on Software Engineering, vol. 16, no. 1, pp. 92-99, Jan. 1990, doi:10.1109/32.44367
Usage of this product signifies your acceptance of the Terms of Use.