This Article 
 Bibliographic References 
 Add to: 
Functional Refinement and Nested Objects for Object-Oriented Design
March 1989 (vol. 15 no. 3)
pp. 264-270

An extended object-oriented design methodology is proposed which incorporates a top-down, stepwise refinement approach in a coherent fashion. The extended object-oriented design methodology also includes a phase of progressive object refinement to support the nesting of objects, which would allow entities in real life that are composed of subentities to be modeled. A design example is included, and experiences encountered using this methodology in a course are described.

[1] R. J. Abbott, "Program description by informal English description,"Commun. ACM, Nov. 1983.
[2] G. Booch,Software Engineering with Ada. Menlo Park, CA: Benjamin/Cummings, 1983.
[3] G. Booch, "Object-oriented development,"IEEE Trans. Software Eng., vol. SE-12, pp. 211-221, Feb. 1986.
[4] G. Booch, "Object-oriented design," inTutorial on Software Design Techniques, P. Freeman and A. I. Wasserman, Eds. Washington, DC: IEEE Computer Society Press, 1983.
[5] E. Chang and S. N. Zilles, "Abstract data types in Euclid," inNotes on Euclid, W. D. Elliot and D. T. Barnard, Eds., Comput. Syst. Res. Group, Dep. Comput. Sci., Univ. of Toronto, Ont., Canada, Tech. Rep. 82.
[6] O. J. Dahl, B. Myhrhaug, and K. Nygaard,The SIMULA 67 Common Base Language, Norwegian Computing Center, Oslo, Pub. S-22, 1970.
[7] J. V. Guttag, E. Horowitz, and D. R. Musser, "Abstract data types and software validation,"Commun. ACM, vol. 21, pp. 1048-1064, Dec. 1978.
[8] J. Guttag, "Abstract data types and the development of data structures,"Commun. ACM, vol. 20, pp. 396-404, June 1977.
[9] 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.
[10] B. Liskovet al., "Abstraction mechanisms in CLU,"Commun. ACM, vol. 20, pp. 564-576, Aug. 1977.
[11] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[12] V. Rajlich, "Paradigms for design and implementation in Ada,"Commun. ACM, vol. 28, no. 7, pp. 718-727, July 1985.
[13] Reference Manual for Ada Programming Language. New York: Springer-Verlag, 1984.
[14] W. P. Stevens, G. J. Myers, and L. Constantine, "Structured design,"IBM Syst. J., vol. 13, no. 2, 1974.
[15] N. Wirth, "Program development by stepwise refinement,"Commun. ACM, vol. 14, no. 4, pp. 221-227, Apr. 1971.
[16] E. Yourdon and L. Constantine,Structured Design. Englewood Cliffs, NY: Prentice-Hall, 1979.

Index Terms:
Ada; nested objects; object-oriented design; stepwise refinement; progressive object refinement; nesting; Ada; object-oriented programming; software engineering.
P. Jalote, "Functional Refinement and Nested Objects for Object-Oriented Design," IEEE Transactions on Software Engineering, vol. 15, no. 3, pp. 264-270, March 1989, doi:10.1109/32.21754
Usage of this product signifies your acceptance of the Terms of Use.