Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis –...
-
Upload
arnold-norris -
Category
Documents
-
view
222 -
download
0
Transcript of Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis –...
![Page 1: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/1.jpg)
Objectives: 1. Classes and Objects
2. Attributes
3. Services
4. Subjects
Object-Oriented Analysis –
Finding Class-&-Obects
![Page 2: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/2.jpg)
Finding Class-&-Objects
Object:
An abstraction of an entity in the problem domain.
Class:
A description of one or more Objects with a uniform set of Attributes and Services
Class-&-Object:
A Class and the Objects that make up the Class.
![Page 3: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/3.jpg)
Finding Class-&-Objects
Bring the technical representation of a system as close as possible to the real world situation you are working with.
Create a stable foundation for analysis and specifications now and in the future.
Provides stability when moving from systems analysis to design.
![Page 4: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/4.jpg)
Finding Class-&-Objects
The investigative process consists of:
First-hand observation
Listening actively to the experts
Reviewing any previous OOA results
![Page 5: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/5.jpg)
Finding Class-&-Objects
Checking other systems
Reading carefully all documentation from the client
Building a prototype
Summarizing
![Page 6: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/6.jpg)
Classes vs. Objects
Object is an instance of some class
Classes have zero or more instances
Classes are static
Objects are created and destroyed
Air Traffic Control System
Abstractions (Classes) Objects
planes New runways
flight plans New flight plans
runways New planes enter
air spaces an airspace
![Page 7: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/7.jpg)
Requirements
Product DescriptionBusiness Solution Description
Goal: Concrete Description understandable to the user
Domain AnalysisProblem Analysis
Applied only to new, difficult, or unsolved problems
Goal: Complete understanding of the solution and constraints on business solutions
![Page 8: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/8.jpg)
Problem Analysis
Developers acquire knowledge of the system
Identify possible constraints on business solution
Interview business domain experts
Issues to be addressed:
find a way to trade off constraints
find ways to organize the information
![Page 9: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/9.jpg)
Business Solution Description
Describe the external behavior of the product to be built
Issues to be addressed:
ideals are organized
conflicting views are resolved
inconsistencies and ambiguities are eliminated
![Page 10: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/10.jpg)
Business Solution Description & Problem Analysis should produce a model that: Organizes the data into objects and
classes, and gives the data a structure via relationships of inheritance, aggregation, and association.
Specifies local functional behaviors and defines their external interfaces (service prototypes)
Captures control or global behavior
Captures constraints (limits and rules)
![Page 11: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/11.jpg)
Suggested Approach for Finding Objects - Step 1
Use Nouns
Pioneered by Abbott and popularized by Booch
Obtain an informal requirements document
Use nouns, pronouns, and noun phrases to identify objects and classes
![Page 12: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/12.jpg)
Suggested Approach for Finding Objects - Step 1
Identify Objects
Singular proper nounsJim, he, she, employee number 5, my
workstation, my home
Nouns of direct referenceThe sixth player, the one-millionth
purchase
![Page 13: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/13.jpg)
Suggested Approach for Finding Objects - Step 1
Identify classes
Plural nounsPeople, customers, vendors, users,
employees
Common nounsEveryone, a player, a customer, an
employee, a workstation
![Page 14: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/14.jpg)
Suggested Approach for Finding Objects - Step 1
Identify Operations
VerbsPay, collect, read, request
Predicate phrasesAre all paid, have simultaneously changed
Identify Attributes
Nouns related to the class nounsName, height, weight
![Page 15: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/15.jpg)
Suggested Approach for Finding Objects - Step 1
Indirect approach to finding objects and classes
Nouns are not always classes or objects in the problem domain
Used to find potential objects and will not find all the objects
![Page 16: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/16.jpg)
Suggested Approach for Finding Objects - Step 2
Interactive dialog with the domain expert
Domain experts commonly make mental models and work with abstractions to deal with complexity of their respective business
See dialog on p. 40-41 of Teach Yourself UML
Identify all the objects that the domain experts identify
![Page 17: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/17.jpg)
Suggested Approach for Finding Objects - Step 3
Identify the Things to be Modeled in the Application domain
Persons, roles, organizations, locations, logs, reports, forms, concepts, events
This helps to trigger our recognition of potential objects
![Page 18: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/18.jpg)
“Things to be Modeled”
Coad and Yourden
Categories Explanation
Structure “Kind-of” & “Part-of”Other Systems External SystemsDevicesEvents Remembered A historical eventRoles Played Roles user playLocationOrganization Units Groups to which the user
belongs
![Page 19: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/19.jpg)
“Things to be Modeled”
Shlaer and Mellor
Categories Explanation
Tangibles Cars, telemetry data, sensorsRoles Mother, teacher, programmerIncidents Landing, interrupt, collisionInteractions Loan, meeting, marriageSpecification Product spec, standards
![Page 20: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/20.jpg)
“Things to be Modeled”
Ross
Categories Explanation
People Humans who perform somefunction
Places Areas set aside for people orthings
Things Physical ObjectsOrganizations Collections of people having
a defined missionConcepts Non tangible ideasEvents Things that happen
![Page 21: Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.](https://reader030.fdocuments.us/reader030/viewer/2022033106/56649efd5503460f94c11e0e/html5/thumbnails/21.jpg)
Suggested Approach for Finding Objects - Step 4
Eliminate false problem domain objects
Is it a real world entity?
Is it important to the discussion of the requirements?
Does it have a crisply defined boundary?