|
|
|
||||||
|
|
|||||||
|
|
Software Engineering || Net-Centric Computing || Postdoc & Visiting Scholars |
||||||
|
Well known for its features including inheritance, encapsulation and reusability, object-oriented software development methods emerged in recent years to foster a relatively new paradigm to help improve software quality and enhance software productivity. In such a paradigm, object-oriented analysis and design are key steps in the development process. On the other hand, structured analysis and design methods have prevailed for over two decades and are regarded as an old-fashioned but proven paradigm having conquered numerous complex applications and engineering problems. As a direct challenge to the conventional wisdom, that structured decomposition and object-oriented decomposition cannot be performed simultaneously, we propose a module-oriented approach to analysis and design based on a novel function-class decomposition technique. Such a function-class decomposition method takes functional view into account on the object-oriented basis. In other words, we engage the concepts of class decomposition in the object-oriented paradigm to derive decomposed classes and employ the traditional, structured concepts of functional grouping to group classes thus decomposed. Such a grouping mechanism supports the notion of module-oriented design and results in functional layers of modules. As a result, this approach will be more effective in supporting large and complex software development than applying object-oriented design methods alone. We illustrate the approach through exercising the function-class decomposition method over a cellular switch simulator called UICCELL, and a Web based electronic conferencing system called M-Net. Function-class decomposition also supports the partitioning configuration required in a distributed system. The partitioning of classes and the related allocation problem is simplified by identification of subsystems early in the design process. The function-class hierarchy provides a systematic approach to making partitioning decisions, which simplifies the inherently difficult task of determining how to distribute classes and modules. The integration of function-class partitioning within the SABRE model, enables the architect to consider architectural qualities in light of performance requirements early in the design process. Current work in this area focuses on applying distributed function-class decomposition to a broad spectrum of distributed projects.
|
|||||||
|
|
|
|
|||||
|
|
|
International Center for Software Engineering Iowa State Univerisity, Department of Computer Science 226 Atanasoff Hall, Ames, IA 50011 1-515-294-4377 (Office) 1-515-294-0258(Fax) E-mail: chang@cs.iastate.edu Copyright © 2002, Prof. Carl K. Chang |
|||||