object oriented analysis

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

Upload: cosima

Post on 11-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Object Oriented Analysis. By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D. Sources. Object-Oriented & Classical Software Engineering by Stephen R. Schach – seventh edition Object-Oriented Analysis by David Brown http://www.wikipedia.org - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Object Oriented Analysis

Object Oriented Object Oriented AnalysisAnalysis

By: Don VillanuevaBy: Don Villanueva

CS 524 Software Engineering CS 524 Software Engineering II

Fall I 2007 – Sheldon X. Fall I 2007 – Sheldon X. Liang, Ph. DLiang, Ph. D

Page 2: Object Oriented Analysis

SourcesSources

Object-Oriented & Classical Object-Oriented & Classical Software Engineering by Stephen R. Software Engineering by Stephen R. Schach – seventh editionSchach – seventh edition

Object-Oriented Analysis by David Object-Oriented Analysis by David BrownBrown

http://www.wikipedia.orghttp://www.wikipedia.org Applying UML and Patterns by Craig Applying UML and Patterns by Craig

LarmanLarman

Page 3: Object Oriented Analysis

Object Oriented ConceptsObject Oriented ConceptsOverviewOverview

Information hiding: The ability to protect some Information hiding: The ability to protect some components of the object from external entities. This components of the object from external entities. This is realized by language keywords to enable a variable is realized by language keywords to enable a variable to be declared as to be declared as privateprivate or or protectedprotected to the owning to the owning classclass. .

Inheritance: The ability for a Inheritance: The ability for a classclass to extend or to extend or override functionality of another override functionality of another classclass. The so called . The so called sub classsub class has a whole section that is the has a whole section that is the super classsuper class and then it has its own set of functions and data. and then it has its own set of functions and data.

Interface: The ability to defer the implementation of a Interface: The ability to defer the implementation of a methodmethod. The ability to define the . The ability to define the functionsfunctions or or methodsmethods signatures without implementing them. signatures without implementing them.

Polymorphism: The ability to substitute an Polymorphism: The ability to substitute an objectobject with its with its sub objectssub objects. The ability of an . The ability of an object-variableobject-variable to contain, not only that to contain, not only that objectobject, but also all of its , but also all of its sub sub objectsobjects as well. as well.

Page 4: Object Oriented Analysis

OO Analysis & DesignOO Analysis & Design

Object-oriented analysis and designObject-oriented analysis and design (OOAD) is a (OOAD) is a software engineeringsoftware engineering methodology that models a system as a methodology that models a system as a group of interacting group of interacting objectsobjects . .

An object represents some An object represents some entityentity of of interest in the system being modeled.interest in the system being modeled.

There are a number of different There are a number of different notations for representing these notations for representing these models, including the models, including the Unified Modeling LanguageUnified Modeling Language (UML). (UML).

Page 5: Object Oriented Analysis

RelationshipRelationship

Object-oriented analysis (OOA) Object-oriented analysis (OOA) utilizes object-modeling techniques to utilizes object-modeling techniques to analyze the functional analyze the functional requirementsrequirements for a system. for a system.

Object-oriented design (OOD) builds Object-oriented design (OOD) builds on the analysis models to produce on the analysis models to produce implementation implementation specificationsspecifications. .

OOA focuses on OOA focuses on whatwhat the system does, the system does, OOD on OOD on howhow the system does it. the system does it.

Page 6: Object Oriented Analysis

OO Analysis In DetailOO Analysis In Detail Object-oriented analysisObject-oriented analysis ( (OOAOOA) looks at the problem ) looks at the problem

domain, with the aim of creating a conceptual model of the domain, with the aim of creating a conceptual model of the information that exists in the area being analyzed. information that exists in the area being analyzed.

The basis for the analysis can be a written The basis for the analysis can be a written requirements requirements statementstatement, a formal , a formal vision documentvision document, , interviewsinterviews with with stakeholders or other interested parties. A system may be stakeholders or other interested parties. A system may be divided into multiple domains, representing different divided into multiple domains, representing different business, technological, or other areas of interest, each of business, technological, or other areas of interest, each of which are examined separately.which are examined separately.

The result of object-oriented analysis is a portrayal of The result of object-oriented analysis is a portrayal of whatwhat the system is functionally required to do, in the form of a the system is functionally required to do, in the form of a conceptual model. That will usually be presented as a set conceptual model. That will usually be presented as a set of of use casesuse cases, one or more , one or more UMLUML class diagramsclass diagrams, and a , and a number of interaction diagrams. It may also include some number of interaction diagrams. It may also include some kind of kind of user interfaceuser interface mock-up. mock-up.

Page 7: Object Oriented Analysis

Focus on AnalysisFocus on Analysis

OO Analysis is a key component of OO Analysis is a key component of the OO paradigm. the OO paradigm.

When this workflow is performed, When this workflow is performed, the the classesclasses are extracted. are extracted.

The The use casesuse cases and the classes are and the classes are the basis of the object-oriented the basis of the object-oriented software product to be developed.software product to be developed.

Page 8: Object Oriented Analysis

DefinitionsDefinitions ClassClass - defines the conceptual characteristics - defines the conceptual characteristics

of a thing (object), including the thing's of a thing (object), including the thing's characteristics (its characteristics (its attributesattributes, , fieldsfields or or propertiesproperties) and the thing's behaviors (the ) and the thing's behaviors (the things it can dothings it can do or or methodsmethods or or featuresfeatures). ).

Use CaseUse Case - is description of - is description of sequencessequences of of events that, lead to a system doing something events that, lead to a system doing something useful. Each use case provides one or more useful. Each use case provides one or more scenariosscenarios that express how the system that express how the system should interact with the users called should interact with the users called actorsactors to achieve a to achieve a specificspecific business goal or business goal or functionfunction. Use case actors may be end users . Use case actors may be end users or or other systemsother systems. .

Page 9: Object Oriented Analysis

Use Case Diagram Use Case Diagram ExampleExample

Page 10: Object Oriented Analysis

Use Case Narrative Use Case Narrative ExampleExample

Page 11: Object Oriented Analysis

ERD ModelingERD Modeling

ERD stands for Entity Relationship ERD stands for Entity Relationship Diagram.Diagram.

It is a way to model data in a system It is a way to model data in a system and then use that model as a and then use that model as a template for database design.template for database design.

Page 12: Object Oriented Analysis

4 ERD functions4 ERD functions

Allows us to understand the users’ Allows us to understand the users’ business.business.

Documents the information needs for the Documents the information needs for the business.business.

Provides the Data Administrator with the Provides the Data Administrator with the tool needed for understanding, tool needed for understanding, documenting, and ultimately controlling documenting, and ultimately controlling the data.the data.

Forms a template, or pattern, for Forms a template, or pattern, for database design.database design.

Page 13: Object Oriented Analysis

ERD ExampleERD Example

Page 14: Object Oriented Analysis

Class DiagramClass Diagram

In the In the Unified Modeling LanguageUnified Modeling Language (UML), a (UML), a class diagramclass diagram is a type of is a type of static structure diagramstatic structure diagram that that describes the construct of a system describes the construct of a system by showing the system's by showing the system's classesclasses, , their attributes, and the their attributes, and the relationships between the classes. relationships between the classes.

Page 15: Object Oriented Analysis

Class Diagram ExampleClass Diagram Example

Page 16: Object Oriented Analysis

CRC CardsCRC Cards

Class-Responsibility-Class-Responsibility-Collaboration cardsCollaboration cards ( (CRC cardsCRC cards) ) are a are a brainstormingbrainstorming tool used in the tool used in the design of design of object-orientedobject-oriented softwaresoftware. .

They were proposed by They were proposed by Ward CunninghamWard Cunningham. .

They are typically used when first They are typically used when first deciding which deciding which classesclasses are needed are needed and how they will interact.and how they will interact.

Page 17: Object Oriented Analysis

CRC ExampleCRC Example

Page 18: Object Oriented Analysis

SummarySummary

The goal of Object Oriented Analysis The goal of Object Oriented Analysis is to obtain a deeper understanding is to obtain a deeper understanding of the requirements to increase the of the requirements to increase the success of the development.success of the development.

You have to know the rules of the You have to know the rules of the game to play successfully. game to play successfully.

Page 19: Object Oriented Analysis

Will OOA solve all of our Will OOA solve all of our problems?problems?

No. No. It is not simply one technology, and it It is not simply one technology, and it

may well cause more problems than it may well cause more problems than it solves. solves.

Key is to have knowledge of an array of Key is to have knowledge of an array of tools to solve the many different tools to solve the many different problems. problems.

It’s also important to make note of It’s also important to make note of today’s standards while anticipating the today’s standards while anticipating the next new paradigm. next new paradigm.