190 likes | 299 Views
CS 3050. Object-Oriented Analysis and Design. Objectives. What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented Approach Evolved? What are the Benefits of the Object-Oriented Approach?. What is “Object-Oriented?”.
E N D
CS 3050 Object-Oriented Analysis and Design
Objectives • What is “Object-Oriented?” • Object-Oriented Approach Vs. Structured Approach • How Has the Object-Oriented Approach Evolved? • What are the Benefits of the Object-Oriented Approach?
What is “Object-Oriented?” • A computer system is viewed as a collection of objects. • These objects have certain features, or attributes. • They can also exhibit certain behaviors • Similar things can be grouped and classified
What is “Object-Oriented?” • Things or objects also interact such as People or other objects can interact with one another • In building an information system, identify the objects that are needed • We need only to know what the objects do and use them. • Called this the building block approach
Object-Oriented Paradigm • Capitalize on Object Oriented Programming (OOP) • Models Real World • Development Time Reduced • Code Reuse Easier • Class is a Representation of a System • Data • Behavior • Encapsulation provides Modularity
Other Design Methodologies • Functional Decomposition • Data Decomposition • Relational DB • Artificial Intelligence/Expert Systems
Procedural vs. OOP • Algorithmic • Main Building Block: Procedure • Functional Decomposition • Difficult to Maintain • Object-Oriented • Main Building Block: Class • Object is an instance of a Class • Objects has identity, state, and behavior
Object-Oriented Approach Vs. Structured Approach • Structured Traditional approach: (See Fig 1.2) • Computer systems is viewed as a collection of computer programs • Procedural approach is usually complex. • Three logic structures characterize structured programming : - sequence of set of instructions - choice on set of instructions - repetition of a set of instructions.
Object-Oriented Approach Vs. Structured Approach • Structured methods and rules for more complex problems • Structured systems analysis - hierarchy of procedures using - process model : Data Flow Diagrams - Data model: ER Diagrams • Structured systems design – organizing smaller programs (Modular) & using a structure chart as a guideline for modular programming -hierarchy of smaller programs
Object-Oriented Approach Vs. Structured Approach • Object Oriented Approach: • New methods, rules and concepts are defined ( See Fig 1.1) • Object-Oriented Analysis : - Defines all of the types of objects that are part of the user’s work environment • Object-Oriented Design: -Defines additional types of objects, the user interface and operating environment and ways in which they interact
Object-Oriented Approach Vs. Structured Approach • Object Oriented Programming: -programs written that define all objects to include their attributes and behaviors • Structured & Object Oriented approaches are different in many ways BUT are also similar - the concept of identifying business events & defining users’ requirements - data modeling concepts & techniques - GUI & Internet Websites
How has the Object-Oriented Approach Evolved? • SIMULA was first OO programming language in mid-sixties • Smalltalk developed by Xerox in the seventies was instrumental in popularizing GUI interface • C++ & Pascal with OO features arose in the eighties • Object Oriented COBOL in the nineties • More recently - pure object Oriented Java, J++ and VB • Current OO methods use UML (Unified Modeling Language) to define constructs and models.
What are the Benefits of OO • OO approach addresses THREE pervasive problems with traditional systems development • Quality • Productivity • Flexibility • Small, small-contained manageable objects reduces the complexity of the system development • Reuse can greatly increase productivity • Adding and changing objects can be done without interfering with the rest of the system