Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.

Similar presentations


Presentation on theme: "Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D."— Presentation transcript:

1 Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D

2 Sources Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented Analysis by David Brown Object-Oriented Analysis by David Brown http://www.wikipedia.org http://www.wikipedia.org Applying UML and Patterns by Craig Larman Applying UML and Patterns by Craig Larman

3 Object Oriented Concepts Overview Information hiding: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class. Information hiding: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class. Information hiding Information hiding Inheritance: The ability for a class to extend or override functionality of another class. The so called sub class has a whole section that is the super class and then it has its own set of functions and data. Inheritance: The ability for a class to extend or override functionality of another class. The so called sub class has a whole section that is the super class and then it has its own set of functions and data. Inheritance Interface: The ability to defer the implementation of a method. The ability to define the functions or methods signatures without implementing them. Interface: The ability to defer the implementation of a method. The ability to define the functions or methods signatures without implementing them. Interface Polymorphism: The ability to substitute an object with its sub objects. The ability of an object-variable to contain, not only that object, but also all of its sub objects as well. Polymorphism: The ability to substitute an object with its sub objects. The ability of an object-variable to contain, not only that object, but also all of its sub objects as well. Polymorphism

4 OO Analysis & Design Object-oriented analysis and design (OOAD) is a software engineering methodology that models a system as a group of interacting objects. Object-oriented analysis and design (OOAD) is a software engineering methodology that models a system as a group of interacting objects.software engineering objectssoftware engineering objects An object represents some entity of interest in the system being modeled. An object represents some entity of interest in the system being modeled. There are a number of different notations for representing these models, including the Unified Modeling Language (UML). There are a number of different notations for representing these models, including the Unified Modeling Language (UML).Unified Modeling LanguageUnified Modeling Language

5 Relationship Object-oriented analysis (OOA) utilizes object- modeling techniques to analyze the functional requirements for a system. Object-oriented analysis (OOA) utilizes object- modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) builds on the analysis models to produce implementation specifications. Object-oriented design (OOD) builds on the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it. OOA focuses on what the system does, OOD on how the system does it.

6 OO Analysis In Detail Object-oriented analysis (OOA) looks at the problem domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. Object-oriented analysis (OOA) looks at the problem domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. The basis for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are examined separately. The basis for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are examined separately. The result of object-oriented analysis is a portrayal of what the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up. The result of object-oriented analysis is a portrayal of what the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up.use casesUMLclass diagramsuser interfaceuse casesUMLclass diagramsuser interface

7 Focus on Analysis OO Analysis is a key component of the OO paradigm. OO Analysis is a key component of the OO paradigm. When this workflow is performed, the classes are extracted. When this workflow is performed, the classes are extracted. The use cases and the classes are the basis of the object-oriented software product to be developed. The use cases and the classes are the basis of the object-oriented software product to be developed.

8 Definitions Class - defines the conceptual characteristics of a thing (object), including the thing's characteristics (its attributes, fields or properties) and the thing's behaviors (the things it can do or methods or features). Class - defines the conceptual characteristics of a thing (object), including the thing's characteristics (its attributes, fields or properties) and the thing's behaviors (the things it can do or methods or features).fieldsmethodsfieldsmethods Use Case - is description of sequences of events that, lead to a system doing something useful. Each use case provides one or more scenarios that express how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems. Use Case - is description of sequences of events that, lead to a system doing something useful. Each use case provides one or more scenarios that express how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems.

9 Use Case Diagram Example

10 Use Case Narrative Example

11 ERD Modeling ERD stands for Entity Relationship Diagram. ERD stands for Entity Relationship Diagram. It is a way to model data in a system and then use that model as a template for database design. It is a way to model data in a system and then use that model as a template for database design.

12 4 ERD functions Allows us to understand the users’ business. Allows us to understand the users’ business. Documents the information needs for the business. Documents the information needs for the business. Provides the Data Administrator with the tool needed for understanding, documenting, and ultimately controlling the data. Provides the Data Administrator with the tool needed for understanding, documenting, and ultimately controlling the data. Forms a template, or pattern, for database design. Forms a template, or pattern, for database design.

13 ERD Example

14 Class Diagram In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the construct of a system by showing the system's classes, their attributes, and the relationships between the classes. In the Unified Modeling Language (UML), a class diagram is a type of static structure diagram that describes the construct of a system by showing the system's classes, their attributes, and the relationships between the classes.Unified Modeling LanguageclassesrelationshipsUnified Modeling Languageclassesrelationships

15 Class Diagram Example

16 CRC Cards Class-Responsibility-Collaboration cards (CRC cards) are a brainstorming tool used in the design of object-oriented software. Class-Responsibility-Collaboration cards (CRC cards) are a brainstorming tool used in the design of object-oriented software.brainstormingobject-orientedsoftwarebrainstormingobject-orientedsoftware They were proposed by Ward Cunningham. They were proposed by Ward Cunningham.Ward CunninghamWard Cunningham They are typically used when first deciding which classes are needed and how they will interact. They are typically used when first deciding which classes are needed and how they will interact.classes

17 CRC Example

18 Summary The goal of Object Oriented Analysis is to obtain a deeper understanding of the requirements to increase the success of the development. The goal of Object Oriented Analysis is to obtain a deeper understanding of the requirements to increase the success of the development. You have to know the rules of the game to play successfully. You have to know the rules of the game to play successfully.

19 Will OOA solve all of our problems? No. No. It is not simply one technology, and it may well cause more problems than it solves. It is not simply one technology, and it may well cause more problems than it solves. Key is to have knowledge of an array of tools to solve the many different problems. Key is to have knowledge of an array of tools to solve the many different problems. It’s also important to make note of today’s standards while anticipating the next new paradigm. It’s also important to make note of today’s standards while anticipating the next new paradigm.


Download ppt "Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D."

Similar presentations


Ads by Google