Box-Structured Methods for Systems-Development with Objects
Total Page:16
File Type:pdf, Size:1020Kb
University of Tennessee, Knoxville TRACE: Tennessee Research and Creative Exchange The Harlan D. Mills Collection Science Alliance 1993 Box-Structured Methods for Systems-Development with Objects Hevner A. R Harlan D. Mills Follow this and additional works at: https://trace.tennessee.edu/utk_harlan Part of the Software Engineering Commons Recommended Citation R, Hevner A. and Mills, Harlan D., "Box-Structured Methods for Systems-Development with Objects" (1993). The Harlan D. Mills Collection. https://trace.tennessee.edu/utk_harlan/452 This Article is brought to you for free and open access by the Science Alliance at TRACE: Tennessee Research and Creative Exchange. It has been accepted for inclusion in The Harlan D. Mills Collection by an authorized administrator of TRACE: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. Box-structured methods for systems development with objects by A. R. Hevner H. D. Mills Box structures provide a rigorous and systematic velopment and objects can be integrated into a process for performing systems development formal development methodology. In this paper, with objects. Box structures represent data abstractions as objects in three system views we discuss the use of box structures as a bridge to and combine the advantages of structured support the integration of structured concepts development with the advantages of object and object-oriented concepts. orientation. As data abstractions become more complex, the box structure usage hierarchy Object orientation (i.e., the object-oriented ap allows stepwise refinement of the system design with referential transparency and verification proach) is receiving a great deal of attention as a at every step. An integrated development promising approach for the analysis and design of environment based on box structures supports complex information systems. For many system flexible object-based systems development applications, it is very natural to view the system patterns. We present a classic example of object based systems development using box environment as a collection of identifiable objects structures. that collaborate to achieve a desired behavior. Recent research and development in object ori entation has led to a number of methods and tech niques to support object-oriented systems devel opment. Three principal areas have been studied: object-oriented analysis, object-oriented design, ystem and software development organiza and object-oriented programming. Stions face difficult decisions when selecting development methodologies. Complex develop Object-oriented analysis (OOA) applies object ori ment projects require formal methods for the in entation to the initial stages of the systems de tellectual control of the process and the resulting velopment process, specifically the analysis of system product. After many years of striving to desired or existing system behavior. Prominent achieve the proven benefits of structured analysis works in this area include Bailin's use of objects and design methods (e.g., Structured Analysis for requirements specification, 4 Ward's exten and Structured Design, 1 Jackson System Devel sion of structured analysis to support objects, 5 2 3 opment, and Information Engineering ), devel Coad and Yourdon's comprehensive framework opment organizations must now consider the important advantages of object-oriented develop ©Copyright 1993 by International Business Machines Corpo ration. Copying in printed form for private use is permitted ment methods. without payment of royalty provided that (1) each reproduc tion is done without alteration and (2) the Journal reference We propose that the decision between structured and IBM copyright notice are included on the first page. The development methods and object-oriented meth title and abstract, but no other portions, of this paper may be copied or distributed royalty free without further permission ods is not a choice of one or the other. With the by computer-based and other information-service systems. right conceptual representations and develop Permission to republish any other portion of this paper must ment processes, the advantages of structured de- be obtained from the Editor. 232 HEVNER AND MILLS IBM SYSTEMS JOURNAL, VOL 32, NO 2, 1993 for understanding object-oriented analysis, 6 and summarize separate transactions that need to be Shlaer and Mellor's text on data modeling in ob identified in good object-oriented designs. 16 jects. 7 Second, there is no systematic means of intellec Object-oriented design (OOD) produces a formal tual control over the hierarchical growth of a com specification of the desired system behavior in plex system. There is little clear discipline or or terms of objects and their interactions. Various der to the discovery, design, and implementation graphical and syntactic representations have of objects. In particular, the discovery of embed been proposed to support an OOD system speci ded objects (i.e., objects within objects) and of fication. In addition, processes for developing inheritance opportunities is not addressed. and evolving the object-oriented designs have been defined. The best known OOD methods in Third, the approach depends on the heuristic in clude Booch's design method, 8 Seidewitz and vention of objects from a data flow perspective. Stark's method, 9 Meyer's approach for software There is no formal, mathematical basis for eval construction as defined in the Eiffel programming qating the correctness or quality of design deci system, 10 and Coad and Yourdon's methods. 11 sions. Object-oriented designs are often pre sented as faits accomplis from data flow diagrams Object-oriented programming (OOP) languages, skipping important analytic steps. In small prob such as Small talk, Object Pascal, C++, and CLOS lems, this may be possible. But in larger ones, it directly support the implementation of an object becomes difficult to determine if the leap was in oriented design. Other languages, such as Ada, spired or flawed. As complex as large problems provide limited support for certain object-ori are, and as numerous the design alternatives, it is ented features such as inheritance and are collec risky business to accept the discontinuity be tively named "object-based" languages. 12 tween data flows and object stimuli and responses without a lot of engineering analysis. A systematic process for object-oriented devel opment should provide a seamless development Finally, the design and implementation of the environment that supports the complete systems transformational functions that tie together ob development process. Recent research projects jects are left as exercises for the programmer have defined object-oriented system develop once the objects are completed. Programmers ment life-cycle processes, 13 including the object who are not involved in the design process may modeling technique from General Electric Co. 14 not understand the intentions of the design and and the responsibility driven design from Tek may produce an incorrect system implementa tronix, Inc. 15 tion. In recent years development organizations have Many of these problems arise because of the made large investments in areas such as training widely held misconception that top-down func experience, and computer-aided software engi tional decomposition found in structured meth neering (CASE) tools for the support of structured ods is inappropriate and even contradictory to an development methods. The question arises as to object-oriented development process. Instead, it whether there is a way to integrate the advantages is our premise that, with the correct representa of object orientation in this existing development tions and techniques, the advantages of both sys infrastructure. Several proposals have been made tem decomposition and object composition can to use the structured analysis results from data be combined into a rigorous systems develop flow diagrams as a basis for object-oriented de- ment with object orientation. ign (e.g., see Reference 5). A number of prob lems exist with these proposals. What is needed is a comprehensive process framework and integrated environment to sup First, there is a serious gap between data flow port systems development with objects from ini ·agrams and object-oriented designs. Block di tial requirements analysis through system imple arns coalesce separate uses of system objects mentation. The objective of this paper is to · -o single nodes and coalesce the separate usage present box structures as integrating components :--"lations among the objects into single arcs be for object-based structured systems develop . ·een nodes. Thus, such diagrams irreversibly ment. Box structures support a rigorous, yet - SYSTEMS JOURNAL, VOL 32, NO 2, 1993 HEVNER AND MILLS 233 practical, set of methods for the development of black boxes are expanded at the next level of the 1 18 systems. 6- Box structure methods have been system box structure usage hierarchy into state used successfully on numerous systems develop box and clear box forms. ment projects both internal and external to IBM. (See Reference 19 for examples.) This paper pre Box structures have underlying mathematical sents an overview of the box structure theory, foundations that permit the analysis and design to shows that box structures are, in fact, formal rep be applied to larger systems of arbitrary size. resentations of objects by demonstrating that box These foundations