320 likes | 448 Views
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?. Abstraction.
E N D
Name & describe one Information Systems Development Methodology (there are at least four)
1. What is abstraction? 2. How does it contribute to software development?
Abstraction A 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?
cake • Encapsulation (Information Hiding) A technique in which data are packaged together with their corresponding procedures. • 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! Ingredients 2 eggs 4 cups flour 1 cup milk 1 cup sugar etc....... Directions Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl...
1. What is inheritance? 2. How does it contribute to software development?
Inheritance A mechanism for expressing similarity between things thus simplifying their definition. Inheritance Person Student Faculty Staff • looks • behavior • attitudes • etc...
Explain the purpose of Message Communication in object-oriented software development.
Message Communication Objects communicate via messages OBJECT OBJECT OBJECT OBJECT
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 Door #1 #2 #3 Door #1 Door #3 Door #2 versus
Polymorphism • Two examples PRINT TEXT object PRINT GRAPH object PRINT IMAGE object PO object = add a line item to the PO Add Object #1 = increase $ Amount Balance Account object Object #2 Add Department object = hire a new employee Object #3 Add
Classification Theory* • Objects and their characteristics • Wholes and Parts • Groups (Classes) and Members * Common methods of organization
Common Methods of Organization People are accustomed to thinking in terms of... Objects & Attributes • color • price • weight • engine • options... Wholes and Parts Groups & Members • number of doors • number of wheels • number of windows • number of lights • number of bolt type 1 • number of bolt type 2 • etc.... • VANS: • light utility • utility • passenger • etc...
Reuse The ability to reuse objects • Varying Degrees of Reuse: • complete or sharing • copy, purchase or cloning • partial or adjusting • none • Software: • “Chips” • Components • Controls • Models
What are the three (3) classic software development problems?
System Behavior Data Models Function Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVVVVVVVV Classic Software Development Problem #1: Multiple Models
Design Models Analysis Models North Rim of the Grand Canyon South Rim of the Grand Canyon Colorado River VVVVVVVVVVVV Classic Software Development Problem #2: Model Transformation
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 Who wrote this code? Spaghetti? Classic Software Development Problem #3: Maintaining Source Code
SOLUTION INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING Object Technology Colorado River
Object-Oriented ANALYSIS Review • 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 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
Information System Human Interaction Problem Domain Data Management System Interaction These four (4) components help promote the notion of Separation of Concerns in software development. Coad’s Object Model Components
Coad’s Object Model Notation model component class-with-objects class
Coad’s Object Model Notation Expanded view of a class or class-with-objects into its three sections: top: Class Name middle: Attributes bottom: Services Class Name Member { memberNumber firstName lastName telephone address city etc... attributes { checkOutVideo checkInVideo buyItem etc... services
Coad’s Object Model Notation whole-part object connection generalization-specialization connection n-n 1 object connection n n
Video Store - Problem Domain (PD) Object Model 1-n 1-n Inventory SaleItem RentalItem VCR ConcessionItem Video Game 1 1 Transaction StoreLocation Employee 1-n n RentalTransaction SalesTransaction Vendor 1 0-1 1-n 1-n n 1 n n Member PurchaseOrder 1-n 1 1 SaleRentalLineItem 1 1 POLineItem 1 Note: For simplification purposes, the attribute and service sections of classes and class-with-objects have been omitted from the figure.
Inventory barCodeNumber description qtyOnHand price cost taxCode 1-n 1-n orderInventory inquireAboutAvailableInventory addNewInventoryItem changeInventoryItemInformation delete/RemoveInventoryItem updateQuantity-On-Order RentalItem SaleItem quantitySold qtyOnHand timesRented dueDate memberNumber updateQuantitySold updateInventoryQty-On-Hand updateRentalInformation ConcessionItem VCR Game Video PD Object Model with Attributes & Services 1 of 3
PD Object Model with Attributes & Services Transaction Employee transactionNumber employeeNumber transactionDate transactionTime employeeNumber employeeName employeePhone positionCode 1 1 n updateEmployeeInformation payForTransaction SalesTransaction RentalTransaction quantitySold memberNumber purchaseForSaleItems rentAnItem checking-inRentalItem 0-1 1-n 1 n 1-n Member memberNumber creditCardNumber memberName creditCardExpireDate memeberAddress depositAmount memberCity overdueAmount memberState memberZipcode memberPhone n 1 1 SaleRentalLineItem transactionNumber barCodeNumber price salesTax acquireMembership verifyMembership updateCreditCardInformation updateMembershipInformation cancelMembership updateOverdueAmount determineIfDelinquent 1 2 of 3
Vendor vendorNumber vendorName vendorAddress vendorCity vendorState vendorZipcode vendorPhone vendorFaxNumber StoreLocation addNewVendorInformation changeVendorInformation deleteVendor provideVendorInformation storeNumber address city state zipcode telephone 1-n n provideStoreInformation 1 PurchaseOrder purchaseOrderNumber purchaseOrderDate purchaseOrderDueDate purchaseOrderCancelDate vendorNumber 1-n 1 createNewPurchaseOrder deleteExistingPurchaseOrder POLineItem purchaseOrderNumber barCodeNumber quantityOrdered itemCost 1 PD Object Model with Attributes & Services 3 of 3
End ofO-O Systems Analysis Review TIME QUITTING