This Article 
 Bibliographic References 
 Add to: 
Systematic Transformation of Functional Analysis Model into OO Design and Implementation
February 2006 (vol. 32 no. 2)
pp. 111-135
Functional refinement is beneficial to Object-Oriented (OO) software development, especially for problems with more complex functions. However, the use of functional refinement in OO software development has not received much attention. This paper proposes an enhanced data flow diagram (DFD), called data flow net (DF net), for specifying use-cases through functional decomposition. It proposes a novel approach to complement existing OO software development methods with functional decomposition for realizing use-cases, especially those with more complex functions. In the requirements analysis stage, the proposed approach realizes use-cases through functional refinement and specifies them in DF nets. In the design and implementation stages, it transforms the DF nets systematically and precisely into OO design and implementation. The approach is amenable to automation and a prototype has been developed to support the transformation process. In the development of an OO system, it is seamless to realize some of the use-cases using the proposed approach and the remaining use-cases in the same target system using any existing OO software development methods.

[1] T. Demarco, Structured Analysis and System Specification. Yourdon Press/Prentice-Hall. 1978.
[2] R.S. Pressman, Software Engineering: A Practitioner's Approach, sixth ed. McGraw-Hill, 2005.
[3] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley, 1999.
[4] M. Priestley, Practical Object-Oriented Design with UML, second ed. McGraw-Hill, 2004.
[5] D. Wolber, “Reviving Functional Decomposition in Object-Oriented Design,” J. Object-Oriented Programming, vol. 10, no. 6, pp. 31-38, Oct. 1997.
[6] P. Jalote, “Functional Refinement and Nested Objects for Object-Oriented Design,” IEEE Trans. Software Eng., vol. 15, no. 3, pp. 264-270, Mar. 1989.
[7] B. Alabiso, “Transforming of Data Flow Analysis Models to Object Oriented Design,” Proc. OOPSLA Conf., pp. 335-353, 1988.
[8] L. Gray, “Transitioning from Structured Analysis to Object-Oriented Design,” Proc. Fifth Washington Symp. Ada, pp. 151-162, 1988.
[9] J. Rumbaugh et al., Object-Oriented Modeling and Design. Prentice-Hall, 1991.
[10] E.Y. Wang and B.H. C. Cheng, “Formalizing the Functional Model within Object-Oriented Design,” Int'l J. Software Eng. and Knowledge Eng., vol. 10, no. 1, pp. 5-30, 2000.
[11] E.Y. Wang and B.H. C. Cheng, “Formalizing and Integrating the Functional Model into Object-Oriented Design,” Proc. 10th Int'l Conf. Software Eng. and Knowledge Eng., 1998.
[12] M.G. Morris et al., “The Impact of Experience on Individual Performance and Workload Differences Using OO and Process-Oriented Systems Analysis Techniques,” Proc. 29th Hawaii Int'l Conf. Systems Sciences, pp. 232-241, 1996.
[13] D.J. Hatley and I.A. Pirbhai, Strategies for Real-Time System Specification. Dorset House Publishing, 1988.
[14] P.T. Ward, “The Transformation Schema: An Extension of the Data Flow Diagram to Represent Control and Timing,” IEEE Trans. Software Eng., vol. 12, no. 2, pp. 198-210, Feb. 1986.
[15] R.B. France, “Semantically Extended Data Flow Diagrams: A Formal Specification Tool,” IEEE Trans. Software Eng., vol. 18, no. 4, pp. 329-346, Feb. 1992.
[16] K. Rizman and I. Rozman, “Making Data Flow Diagrams Executable by Adding the Transformation Logic,” Computer and Information Sciences VI, pp. 359-368, 1991.
[17] D.L. Parnas, “On the Criteria to Be Used in Decomposing Systems into Modules,” Comm. ACM, vol. 15, no. 12, pp. 1053-1058, Dec. 1972.
[18] S.R. Chidamber and C.F. Kemerer, “A Metrics Suite for Object-Oriented Design,” IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[19] Composable Systems Group, Carnegie Mellon Univ., “Calendar Scheduler,” 1995, CS.html.
[20] B.H.C. Cheng and E.Y. Wang, “Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling,” IEEE Trans. Software Eng., vol. 28, no. 8, pp. 747-762, Aug. 2002.
[21] R. Wieringa, “A Survey of Structured and Object-Oriented Software Specification Methods and Techniques,” ACM Computing Surveys, vol. 30, no. 4, pp. 459-527, Dec. 1998.
[22] R. Wieringa, “Postmodern Software Design with NYAM: Not Yet Another Method,” Requirement Targeting Software and Systems Eng., pp. 69-94, 1998.
[23] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Apr. 1996.
[24] P. Grunbacher, A. Egyed, and N. Medvidovic, “Reconciling Software Requirements and Architectures: The CBSP Approach,” Proc. Fifth Int'l Symp. Requirements Eng., pp. 202-211, 2001.
[25] B. Nuseibeh, “Weaving Together Requirements and Architectures,” Computer, vol. 34, no. 3, pp. 115-117, Mar. 2001.
[26] B. Rumpe, M. Schoenmakers, A. Radermacher, and A. Schurr, “UML + ROOM as a Standard ADL?” Proc. Fifth IEEE Int'l Conf. Eng. Complex Computer Systems, pp. 43-53, 1999.

Index Terms:
Functional model, object-oriented model, functional decomposition, requirements analysis, design, model transformation.
Hee Beng Kuan Tan, Yong Yang, Lei Bian, "Systematic Transformation of Functional Analysis Model into OO Design and Implementation," IEEE Transactions on Software Engineering, vol. 32, no. 2, pp. 111-135, Feb. 2006, doi:10.1109/TSE.2006.20
Usage of this product signifies your acceptance of the Terms of Use.