University of Houston-Clear Lake

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Ch 3 System Development Environment
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
Ch 12: Object-Oriented Analysis
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Chapter 7: The Object-Oriented Approach to Requirements
System Analysis & Design
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
Object-Oriented Systems Analysis and Design Using UML
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
10/12/2001Data Structure1 Relationships Between The Data Flow Diagram and The Systems Design Activities Mohammad A. Rob School of Business and Public Administration.
Chapter 1: Introduction to Systems Analysis and Design
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to OOAD and the UML
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Unit-3 Identifying use cases Object Analysis Classification
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Basic Characteristics of Object-Oriented Systems
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Appendix 3 Object-Oriented Analysis and Design
Business System Development
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
TIM 58 More on Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
TIM 58: Systems Analysis and Design Winter Quarter 2017 Tuesday/Thursday 1:30 – 3:05 pm, Classroom Unit 1.
Systems Analysis and Design With UML 2
Unified Modeling Language
Rumbaugh’s Objectmodeling Technique
UML Diagrams Jung Woo.
The Process of Object Modeling
Software Architecture & Design Pattern
The Development of Information Systems Chapter 8 page 348+
Project 1 Guide System Analysis & Design
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
Appendix A Object-Oriented Analysis and Design
Analysis models and design models
Software Design Lecture : 15.
Software Design Lecture : 14.
Copyright 2007 Oxford Consulting, Ltd
Chapter 1: Introduction to Systems Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Uml diagrams In ooad.
Chapter 1: Introduction to Systems Analysis and Design
Introduction to OOAD and the UML
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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