Object-Oriented SYSTEMS ANALYSIS Review. Name & describe one Information Systems Development...

Preview:

Citation preview

Object-Oriented

SYSTEMS ANALYSIS

Review

Object-Oriented

SYSTEMS ANALYSIS

Review

Name & describe one

Information Systems

Development Methodology

(there are at least four)

1. What is abstraction?

2. How does it

contribute to software

development?

• AbstractionA mental ability that permits people to view real-world

problem domains with varying degrees of detail depending on the current context of the problem.

• Helps people to think about what they are doing• Functional and Data abstraction

1. What is encapsulation?

2. How does it contribute

to software development?

• Encapsulation (Information Hiding)

A technique in which data are packaged

together with their corresponding procedures.

cakeIngredients

Directions

2 eggs 4 cups flour1 cup milk 1 cup sugaretc.......

Pre-heat oven to 350; Putmilk, eggs, and sugarin 2 quart mixing bowl...

In Object-Oriented Technology the “package” is called an OBJECT

The interface to each object is defined in such a way as to reveal as little as

possible about its inner workings

Encapsulation allows [software] changes to be reliably made with limited effort

[Gannon, Hamlet, & Mills, 1987]

One cake please!

1. What is inheritance?

2. How does it contribute

to software development?

• InheritanceA mechanism for expressing similarity

between things thus simplifying their

definition.

• looks• behavior• attitudes• etc...

Person

Student Faculty Staff

Inheritance

Explain the purpose of

Message Communication

in object-oriented software

development.

• Message Communication

OBJECT

OBJECT

OBJECT

OBJECT

Objects communicate via messages

1. What is polymorphism?

2. How does it contribute

to software development?

• Polymorphism (“many forms”)

The ability to hide different implementations

behind a common interface.

The ability for two or more objects to respond

to the same request, each in its own way.

H O = water, ice, steam (liquid, solid, vapor)

Eating

2

versusDoor

#1Door

#2Door

#3

Door#1#2#3

• Polymorphism Two examples

PRINT0

5000

10000

15000

20000

25000

North

Sout

h

East

Wes

t

B L U E S K Y A I R L I N E SSales ReportJanuary

B L U E S K Y A I R L I N E SSales ReportFebruary

PRINT

PRINT

TEXT object

GRAPH object

IMAGE object

Object #1 PO object

Account object

Department object

Object #2

Object #3

Add

Add

Add

= add a line item to the PO

= increase $ Amount Balance

= hire a new employee

Objects and their characteristics

Wholes and Parts

Groups (Classes) and Members

* Common methods of organization

Classification Theory*

• Common Methods of Organization

People are accustomed to thinking in terms

of...

• color• price• weight• engine• options...

Objects & Attributes

• number of doors• number of wheels• number of windows• number of lights• number of bolt type 1• number of bolt type 2• etc....

Wholes and PartsGroups & Members

VANS:• light utility• utility• passenger• etc...

• Reuse

Varying Degrees of Reuse:

• complete or sharing

• copy, purchase or cloning

• partial or adjusting

• none

The ability to reuse objects

Software:• “Chips”• Components• Controls• Models

What are the three (3)

classic software

development problems?

VVVVVVVVVVVV

Colorado River

North Rim of theGrand Canyon

South Rim of theGrand Canyon

Classic Software Development Problem #1:Multiple Models

DataModels

FunctionModels

SystemSystemBehaviorBehavior

VVVVVVVVVVVV

Colorado River

North Rim of theGrand Canyon

South Rim of theGrand Canyon

Classic Software Development Problem #2:Model Transformation

DesignModels

AnalysisModels

Classic Software Development Problem #3:Maintaining Source Code

Begin “Caller” Program Init x,y,z... Open (files/database) Read... Compute...

DO “Callee” with x,y,z

Update (files/database) Close (files/database) End Main Program

Procedure Callee Parameters x,y,z Compute... End Procedure

End Program

Spaghetti?

Who wrotethis code?

SOLUTION

Colorado River

ObjectTechnology

INTEGRATED MODEL(S)(function, data, behavior)

(analysis, design and implementation)

ROUND-TRIPENGINEERING

Define an OBJECT

Define a Class and Class with Objects

Describe a Gen-Spec Class Connection

Describe a Whole-Part Obj. Connection

Describe Object Connection Constraints

Object-Oriented ANALYSIS ReviewObject-Oriented ANALYSIS Review

Define an Attribute

Name & Describe one Attribute type

What is an Event?

What is a Service?

Name & Describe a “Basic” Service

Describe a “Problem Domain” Service

Name & Describe one tool used to

express the details of a Service

Object-Oriented ANALYSIS ReviewObject-Oriented ANALYSIS Review

Coad’s Object Model Components

Problem DomainHuman Interaction

Data Management System Interaction

Information System

These four (4) components help promote the notion of Separation of Concerns in

software development.

Coad’s Object Model Notation

class-with-objects

model component

class

Coad’s Object Model Notation

MembermemberNumberfirstNamelastNametelephoneaddresscityetc...

checkOutVideocheckInVideobuyItemetc...

attributes

services

{{

Expanded view

of a class or

class-with-objects

into its three

sections:

top: Class Name

middle: Attributes

bottom: Services

Class Name

Coad’s Object Model Notation

object connection

nn

generalization-specializationconnection

whole-partobject connection

n-n

1

Inventory

StoreLocationEmployee

Member

SalesTransaction RentalTransaction Vendor

PurchaseOrder

Transaction

ConcessionItemVideo Game VCR

SaleItem RentalItem

1-n

1

1-n

1n

0-1

n n

1 n

1

11-n

POLineItem1

1

1-n

SaleRentalLineItem1

1-n 1-n

1

Video Store - Problem Domain (PD) Object Model

Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted from the figure.

PD Object Model with Attributes & Services

Inventory

ConcessionItemVideo Game

SaleItem RentalItem

1-n 1-nbarCodeNumberdescriptionqtyOnHandpricecosttaxCode

orderInventoryinquireAboutAvailableInventoryaddNewInventoryItemchangeInventoryItemInformationdelete/RemoveInventoryItemupdateQuantity-On-Order

quantitySoldqtyOnHand

updateQuantitySoldupdateInventoryQty-On-Hand

timesRenteddueDatememberNumber

updateRentalInformation

VCR

1 of 3

Member

SalesTransaction RentalTransaction

Transaction

1

1n

0-1n

n

1

PD Object Model with Attributes & Services

transactionNumberemployeeNumbertransactionDatetransactionTime

payForTransaction

quantitySoldpurchaseForSaleItems

memberNumberrentAnItemchecking-inRentalItem

memberNumber creditCardNumbermemberName creditCardExpireDatememeberAddress depositAmountmemberCity overdueAmountmemberStatememberZipcodememberPhone

acquireMembershipverifyMembershipupdateCreditCardInformationupdateMembershipInformationcancelMembershipupdateOverdueAmountdetermineIfDelinquent

EmployeeemployeeNumberemployeeNameemployeePhonepositionCode

updateEmployeeInformation

1

SaleRentalLineItemtransactionNumberbarCodeNumberpricesalesTax

1-n1-n

11

2 of 3

PD Object Model with Attributes & Services

StoreLocation

Vendor

PurchaseOrder

1

n

1

storeNumberaddresscitystatezipcodetelephone

provideStoreInformation

vendorNumbervendorNamevendorAddressvendorCityvendorStatevendorZipcodevendorPhonevendorFaxNumber

addNewVendorInformationchangeVendorInformationdeleteVendorprovideVendorInformation

purchaseOrderNumberpurchaseOrderDatepurchaseOrderDueDatepurchaseOrderCancelDatevendorNumber

createNewPurchaseOrderdeleteExistingPurchaseOrder

1-n

POLineItempurchaseOrderNumberbarCodeNumberquantityOrdereditemCost

1

1-n

3 of 3

End of

O-O Systems Analysis

Review

QUITTING TIME

Recommended