Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Houston-Clear Lake

Similar presentations


Presentation on theme: "University of Houston-Clear Lake"— Presentation transcript:

1 University of Houston-Clear Lake
Practical Complexity in Adapting Object-Oriented Approach of Systems Analysis and Design Mohammad A. Rob School of Business University of Houston-Clear Lake Houston, Texas 77058 11/29/2018 Complexity of OO Concepts

2 Complexity of OO Concepts
Introduction Recently, there has been a push of teaching object-oriented (OO) approach of systems analysis and design (SAD). However, there is a question of how to teach the OO concepts as compared to the traditional approach. Research shows that most instructors teach only a part of the OO models included in the Unified Modeling Language or UML. 11/29/2018 Complexity of OO Concepts

3 Complexity of OO Concepts
Introduction Existing SAD texts organize their chapters sequentially according to the phases and activities of the traditional Waterfall model. This is not possible with the Unified Process model, which requires that the activities should be visited iteratively. Thus mixing up the traditional approach with the OO approach causes some complexity in teaching as well as learning complete life cycle activities. 11/29/2018 Complexity of OO Concepts

4 Complexity of OO Concepts
Introduction We also contend that the complexity of understanding the complete life cycle activities of UML concepts is hindrance to teaching and adapting OO approach as the primary method of systems analysis and design. We present some of the complexity factors of OO/UML concepts in designing system components as compared to the traditional approach. 11/29/2018 Complexity of OO Concepts

5 The Traditional Approach of Systems Analysis and Design
In the traditional approach, data-flow diagramming (DFD) technique is used to understand the flow of data from an external entity to a process, from a process to a data store, and then from a data store to an external entity. A data dictionary describes all DFD components, as well as process details, data structures, and data elements. 11/29/2018 Complexity of OO Concepts

6 Complexity of OO Concepts
11/29/2018 Complexity of OO Concepts

7 Complexity of OO Concepts
Relationships Between The Data Flow Diagram and the Systems Design Activities The data flow diagrams also contain information on the four essential components of a system, namely the input, output, program modules, and data storage. 11/29/2018 Complexity of OO Concepts

8 Complexity of OO Concepts
Relationships Between the Data Flow Diagram and the System Design Activities 11/29/2018 Complexity of OO Concepts

9 Complexity of OO Concepts
Relationships Between the Data Flow Diagram and the Systems Design Activities The goal of a systems analyst is to extract necessary information for the input, program modules, data storage, and output components of a system from the data flow diagrams and then design these components. 11/29/2018 Complexity of OO Concepts

10 Complexity of OO Concepts
The System Model: The system components are within the dotted-line boundary and the external entities interact with the system through the input and output components. 11/29/2018 Complexity of OO Concepts

11 Complexity of OO Concepts
Output Information Input Information 11/29/2018 Complexity of OO Concepts

12 Designing System Components in the Traditional Approach
Thus moving from analysis models (DFDs) to designing system components is simple: All data stores in the DFDs participate in the data storage design. All data flows from the external entities to the processes participate in the input design. All data flows from the processes to the external entities participate in the output design. All processes and associated data flows participate in the program design. 11/29/2018 Complexity of OO Concepts

13 Traditional versus Object-Oriented Approach
In the traditional approach, we are limited mainly to three models: data-flow diagram, entity-relationship diagram, and structure chart. In the OO approach, we have to deal with three system views, many models, a large vocabulary, and a complex life cycle model. 11/29/2018 Complexity of OO Concepts

14 The Object-Oriented Approach to Analysis
In analyzing a system, UML focuses on three architectural views of a system: functional, static, and dynamic. Functional view is described by use cases and use-case diagrams. Static view is described by class diagrams and object diagrams. Dynamic view is described by sequence diagrams, collaboration diagrams, and statecharts. We need to comprehend a large vocabulary and understand the relationships between these diagrams in order to draw these diagrams. 11/29/2018 Complexity of OO Concepts

15 Object-Oriented Vocabulary
Actors (specialized and generalized), use cases, use-case descriptions, use-case scenarios, use-case diagrams, and use-case relationships (association, extend, include, and generalization). CRC cards, classes (abstract, concrete), attributes relationships, class diagrams, object diagrams, associations, generalization, aggregation, superclass, subclass, inheritance, objects, operations, methods, messages and lifeline. States, events, transitions, actions, and activities 11/29/2018 Complexity of OO Concepts

16 Relationships Between Major UML Diagrams
Adapted from System Analysis and Design , By Dennis et. al. 11/29/2018 Complexity of OO Concepts

17 Models in the OO/UML Approach
There are many diagrams or models in the UML: Use case diagrams, collaboration diagrams, class diagrams, object diagrams, activity diagrams, sequence diagrams, state chart diagrams, package diagrams, component diagrams, windows navigation diagrams, deployment diagrams, and so on. Development of these diagrams in a systematic way may not be easily graspable. 11/29/2018 Complexity of OO Concepts

18 Development of the OO/UML Models
11/29/2018 Complexity of OO Concepts

19 Moving from Analysis to Design in the OO/UML Approach
Steps of moving from analysis to design are not clear. All models are refined as one moves from analysis to design. Too many new models to deal with as one moves from analysis to design. All textbook authors spend considerable amount of time discussing the analysis models, but fail to address how these models contribute to the design of the system components. 11/29/2018 Complexity of OO Concepts

20 Designing System Components in the OO/UML Approach
The ultimate goal is to design the user interface, programs, and database/file of a system from the analysis or design models. 11/29/2018 Complexity of OO Concepts

21 Designing the System Components in the OO Approach
11/29/2018 Complexity of OO Concepts

22 Relationships Between the Phases in the Unified Process Model
In the traditional approach, activities are divided into phases – thus one moves sequentially from analysis to design activities. The Unified Process is iterative and incremental – activities are visited repeatedly – blurring the gap between the analysis and design activities. Thus, mixing up the traditional approach with the OO approach in the traditional text (that is divided into phases) is confusing. 11/29/2018 Complexity of OO Concepts

23 The Unified Process Model
11/29/2018 Complexity of OO Concepts

24 Complexity of OO Concepts
Comparison Between the Structured and OO Approaches to Systems Development Logical steps of SDLC – Analysis, Design, and Implementation No logical steps of SDLC – repeating all phases in each iteration There is a single data repository and clear-cut documentation at the end of each phase There are no documents per see; all information is contained within the model descriptions Easy for project management and outsourcing Not easy for project management and outsourcing, as implementation starts almost at the beginning A small and consistent vocabulary to follow throughout the life cycle A large and changing vocabulary in each phase of the life cycle Easy to extract design information for systems components such as user-interface, application programs, and database or files Very complex to extract design information for systems components 11/29/2018 Complexity of OO Concepts

25 Complexity of OO Concepts
Conclusion In the structured approach, design of system components such as input, output, program modules, files and database evolve logically from the DFDs. In the OO approach, there are many models to deal with, and most authors fail to clarify the steps of designing the systems components from the analysis models. The systems analyst is bogged down in drawing diagrams or models, and may never see the implementation of the models. 11/29/2018 Complexity of OO Concepts

26 Complexity of OO Concepts
Conclusion The structured approach and the Unified Process are two completely different paradigms of systems development. The phases of the structured approach do not match with those of the Unified Process. Thus, mixing up the structured methodology and the OO methodology- with a large number of models in a single text - not only confuses the students, but the authors and teachers as well. 11/29/2018 Complexity of OO Concepts

27 Complexity of OO Concepts
Conclusion If we are to teach the object-oriented approach, we should have a separate text for it and it should not present various OO models according to the phases of the traditional structured approach, rather it should focus on the evolution of the models leading to the design of the system components. Furthermore, there should be a standard set of models for the OO methodology as well as a clear definition of steps as an analyst moves from one set of models to the next. 11/29/2018 Complexity of OO Concepts


Download ppt "University of Houston-Clear Lake"

Similar presentations


Ads by Google