object-oriented systems analysis review. name & describe one information systems development...
Post on 31-Mar-2015
218 Views
Preview:
TRANSCRIPT
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
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
top related