Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction...
-
date post
19-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction...
![Page 1: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/1.jpg)
Slide 3.1
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
An Introduction toObject-Oriented
Systems Analysis and Design with UML and
the Unified Process McGraw-Hill, 2004
Stephen R. Schach
![Page 2: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/2.jpg)
Slide 3.2
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
CHAPTER 3
THE OBJECT-ORIENTED PARADIGM, UML, AND THE UNIFIED PROCESS
![Page 3: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/3.jpg)
Slide 3.3
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter Overview
The Traditional Paradigm versus the Object-Oriented Paradigm
Objects and Classes Inheritance Generalization, Aggregation, and Association Examples of UML Class Modeling Information Hiding The Unified Process Iteration and Incrementation within the Unified
Process
![Page 4: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/4.jpg)
Slide 3.4
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Operations and Data
All programming languages perform operations on data
Example 1: Banking information system– Data: accountBalance
– Operations: depositwithdraw
![Page 5: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/5.jpg)
Slide 3.5
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Operations and Data (contd)
Example 2: Hospital information system– Data: patientName
patientDateOfBirth
patientGender
– Operations: admitPatientdischargePatient
updatePatientMedicalRecord
![Page 6: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/6.jpg)
Slide 3.6
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Traditional versus Object-Oriented Paradigm
In the past, systems analysis was a creative skill– Individuality was highly prized
Around 1970, large computers became affordable– Information systems began to be developed by teams– A systematic approach was needed
The traditional methodology or traditional paradigm was developed– Also known as the structured methodology or structured
paradigm
![Page 7: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/7.jpg)
Slide 3.7
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Traditional v. Object-Oriented Paradigm (contd)
Initially, the traditional paradigm was successful– Any approach is better than no approach at all
During the 1980s– Larger computers became affordable– Information systems grew in size
But the larger the information system, the less successful the traditional paradigm was
What had gone wrong?
![Page 8: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/8.jpg)
Slide 3.8
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Traditional v. Object-Oriented Paradigm (contd)
The traditional paradigm worked well with small-scale information systems– About 5,000 lines of code
But not with medium-scale information systems– About 50,000 lines of code
Or with large-scale information systems– At least 500,000 lines of code
Why?
![Page 9: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/9.jpg)
Slide 3.9
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Traditional v. Object-Oriented Paradigm (contd)
Recall: The two basic building blocks of information systems are– Operations; and– Data
The traditional paradigm – Concentrates on operations; and– Largely ignores data
The object-oriented paradigm gives equal weight to operations and data
![Page 10: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/10.jpg)
Slide 3.10
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Current Situation
Just how serious is the current situation? Do we really need to adopt the object-oriented
paradigm?
![Page 11: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/11.jpg)
Slide 3.11
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Current Situation (contd)
Study of 280,000 projects completed in 2000– Only about 1 in 4 was a success
![Page 12: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/12.jpg)
Slide 3.12
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Legal Implications of the Current Situation
2002 survey of information technology organizations– 78% have been involved in disputes that ended in litigation
For the organizations that entered into litigation:– In 67% of the disputes, the functionality of the information
system as delivered did not meet not up to the claims of the developers
– In 56% of the disputes, the promised delivery date slipped several times
– In 45% of the disputes, the defects were so severe that the information system was unusable
![Page 13: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/13.jpg)
Slide 3.13
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Objects and Classes
Kings have something in common
![Page 14: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/14.jpg)
Slide 3.14
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
King Class
Let the set of all kings be called King Class
![Page 15: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/15.jpg)
Slide 3.15
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Classes and Objects
King George III is an instance of King Class, and so is King Louis XVI
A class is a set of related objects– Example: King Class is a set of kings
Conversely, an object is an instance of a class– Example: King George III is an instance of King Class
![Page 16: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/16.jpg)
Slide 3.16
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Shoes
A shoe has a – Color (black, brown); – Size (3, 8 ½ , 9½ , 14);– Width (AAA, C, E); – Style (stiletto heel, wingtip, moccasin, penny loafer); and – Material (leather, plastic)
Color, size, width, style, and material are attributes of shoes
![Page 17: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/17.jpg)
Slide 3.17
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Shoe Class
Shoe Class is the name of the set of all shoes
![Page 18: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/18.jpg)
Slide 3.18
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Notation for Classes
There are three boxes– Top box: Class name
» Boldface With the Words in the Name Starting with Uppercase Letters
– Middle box: Attributes– Lowest box: Operations
All the boxes are optional—see next slide
![Page 19: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/19.jpg)
Slide 3.19
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Valid UML Representations of a Class
![Page 20: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/20.jpg)
Slide 3.20
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Convention for Objects
The name of an object is written in – boldface underlined but all in lowercase letters
Examples:– A king is an instance of King Class– A shoe is an instance of Shoe Class
![Page 21: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/21.jpg)
Slide 3.21
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance
Example: Cardholder Clothing Company– The e-commerce company allows customers to
purchase clothes using a credit card
![Page 22: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/22.jpg)
Slide 3.22
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
The information system must be extended to allow purchasers to charge purchases to a debit card
Credit and debit cards have many features in common, including attributes:– cardNumber; – nameOfCardholder; and– expirationDate
The major difference:– A credit card has a credit limit– A debit card has a current balance
![Page 23: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/23.jpg)
Slide 3.23
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
Make Debit Card Class and Credit Card Class special cases of a more general class, Bank Card Class
![Page 24: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/24.jpg)
Slide 3.24
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
The figure on the previous slide shows that:– Bank Card Class is a class– Credit Card Class is a subclass of Bank Card Class
The open triangle below Bank Card Class indicates that Credit Card Class inherits from Bank Card Class. This means that– Credit Card Class has all the features of Bank Card
Class (the derived part)– It also has features of its own that are specific to Credit
Card Class (the incremental part), such as a creditLimit
![Page 25: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/25.jpg)
Slide 3.25
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Cardholder Clothing Company (contd)
The following statements are equivalent:– Credit Card Class is a subclass of Bank Card Class– Bank Card Class is a superclass of Credit Card Class– Credit Card Class is a specialization of Bank Card Class– Bank Card Class is a generalization of Credit Card Class– Credit Card Class is a Bank Card Class– Bank Card Class is the base class, Credit Card Class is
the derived class– Bank Card Class is the parent class, Credit Card Class
is the child class– Credit Card Class inherits from Bank Card Class
![Page 26: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/26.jpg)
Slide 3.26
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
Credit Card Class and Debit Card Class are both subclasses of class Bank Card Class
![Page 27: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/27.jpg)
Slide 3.27
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
The figure on the previous slides shows that:– Credit Card Class and Debit Card Class both inherit
all the attributes and operations of Bank Card Class, such as
» nameOfCardholder
» validateTransaction
In addition, Credit Card Class and Debit Card Class can have attributes and operations of their own– For example:
» Credit Card Class has attribute creditLimit
» Debit Card Class has operation determineAccountBalance
![Page 28: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/28.jpg)
Slide 3.28
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance (contd)
Inheritance is a required feature of object orientation– Therefore, every object-oriented programming language
supports inheritance, including» Smalltalk» C++» Ada 95» Java
![Page 29: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/29.jpg)
Slide 3.29
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Inheritance Hierarchy
Inheritance can involve more than two classes
![Page 30: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/30.jpg)
Slide 3.30
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Relationships between Classes
Inheritance is an implementation of the generalization relationship
Other possible relationships between classes include – Aggregation – Association
These two relationships are now described
![Page 31: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/31.jpg)
Slide 3.31
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Aggregation
Example: A car is constructed from a chassis, engine, wheels, and seats
![Page 32: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/32.jpg)
Slide 3.32
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Aggregation (contd)
The aggregation relationship is appropriate when class X “consists of” classes Y and Z
In UML, aggregation is represented by an open diamond– See the figure in the previous slide
![Page 33: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/33.jpg)
Slide 3.33
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Association
Association is an arbitrary relationship between two classes
Example: A radiologist may consult a lawyer regarding the interpretation of a contract
– The solid triangle points from the radiologist to the lawyer
![Page 34: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/34.jpg)
Slide 3.34
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Association
Example: A lawyer with a broken leg consults a radiologist– The solid triangle points in the other direction
Using the solid triangle in this way is called navigation in UML
![Page 35: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/35.jpg)
Slide 3.35
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Modeling Example: Ice-Cream Factories
Three equally valid UML class diagrams
Ice Cream Factory Class
![Page 36: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/36.jpg)
Slide 3.36
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Modeling Example: Human Beings. 1
![Page 37: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/37.jpg)
Slide 3.37
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Modeling Example: Human Beings. 2
![Page 38: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/38.jpg)
Slide 3.38
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
UML Modeling Example: Human Beings. 3
![Page 39: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/39.jpg)
Slide 3.39
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Alternative Models
How can all three models all be correct? – Each model highlights different aspects
Information systems can be modeled in a number of different but equally correct ways– The systems analyst must decide which model is the
most appropriate
![Page 40: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/40.jpg)
Slide 3.40
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Systems Analysts Listening to the Radio
At first sight there is no connection between systems analysts and radios– Model using association
– The black triangle is superfluous but is good UML practice
![Page 41: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/41.jpg)
Slide 3.41
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Information Hiding
Information hiding enhances maintainability– Implementation details are invisible outside an object
Example: Bank Account Class – Attribute accountBalance can be implemented in many
different ways:» As an integer (the total amount in cents); or» As a dollar amount with two decimal places for the cents
– With information hiding, these details are invisible
Object-oriented languages allow an attribute to be described as private (invisible outside the object)
![Page 42: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/42.jpg)
Slide 3.42
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Information Hiding (contd)
For example, suppose that the two operations of Bank Account Class are deposit and withdraw
The only way of changing the accountBalance of a bank account object is – To send a message to deposit or withdraw
![Page 43: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/43.jpg)
Slide 3.43
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Information Hiding (contd)
Why do we do this?– Surely it is easier to modify accountBalance directly?
When we change the way accountBalance is implemented– If we have information hiding, this change cannot affect any
other part of the information system
When there is information hiding, there cannot be regression faults – A regression fault is a fault in one part of the code caused by
a change in an apparently unrelated part of the code
![Page 44: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/44.jpg)
Slide 3.44
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Information Hiding (contd)
With information hiding– A system consists of essentially independent classes – They communicate by sending messages
A private attribute– Can be accessed only from inside the class in which is
declared A public attribute
– Can be accessed from anywhere inside the information system
The same rules apply to operations
![Page 45: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/45.jpg)
Slide 3.45
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Example: Bank Account Class
public operations deposit and withdraw can be invoked from anywhere in the information system
The only way to change the value of private attribute accountBalance is to invoke those two operations
![Page 46: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/46.jpg)
Slide 3.46
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Responsibility-Driven Design
Responsibility-driven design goes beyond information hiding– Total responsibility for carrying out all aspects of the
message rests with the object receiving the message
Example: 1–800–flowers.com– It is irrelevant where 1–800–flowers.com is located– It is irrelevant which florist will be given your order to
deliver– The company will not divulge that information
(information hiding)
![Page 47: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/47.jpg)
Slide 3.47
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process
As pointed out earlier in this chapter:– There are problems when the traditional paradigm is
used with medium- and large-scale information systems– The object-oriented paradigm solved these problems
Between 1985 and 1995, over 50 different object-oriented methodologies were published– Three of the most successful were
» Booch’s method» Jacobson’s Objectory» Rumbaugh’s OMT
![Page 48: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/48.jpg)
Slide 3.48
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process (contd)
Booch, Jacobson, and Rumbaugh published a complete object-oriented analysis and design methodology that unified their three separate methodologies– Original name: Rational Unified Process (RUP)– Next name: Unified Software Development Process (USDP) – Name used today: Unified Process (for brevity)
![Page 49: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/49.jpg)
Slide 3.49
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process (contd)
The Unified Process is not a series of steps for constructing an information system– No such single “one size fits all” methodology could
exist– There is such a wide variety of different types of
information systems
The Unified Process is an adaptable methodology– It has to be modified for the specific information system
to be developed
![Page 50: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/50.jpg)
Slide 3.50
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process (contd)
The version of the Unified Process in this book is for – Information systems small enough to be developed by a
team of three students during the semester or quarter
However, the modifications for developing a large information system are also discussed
The goals of this book:– A thorough understanding of how to develop smaller
information systems– An appreciation of the issues that need to be addressed
when larger information systems are constructed
![Page 51: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/51.jpg)
Slide 3.51
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process (contd)
The Unified Process is a modeling technique– A model is a set of UML diagrams that represent
various aspects of the information system we want to develop
UML stands for unified modeling language– UML is the tool that we use to represent (model) the
target information system
![Page 52: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/52.jpg)
Slide 3.52
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Unified Process (contd)
UML is graphical– A picture is worth a thousand words
UML diagrams enable information technology professionals to communicate quickly and accurately
![Page 53: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/53.jpg)
Slide 3.53
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
Iteration and Incrementation
The Unified Process is iterative and incremental – This is a consequence of Miller’s Law (see Chapter 2)
Each workflow consists of a number of steps– The steps are repeated until the UML model is accurate
We can never get the object-oriented analysis and design right the first time
![Page 54: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/54.jpg)
Slide 3.54
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Complete Unified Process
We cannot learn the complete Unified Process in one semester or quarter – Extensive study and unending practice are needed– The Unified Process has too many features– A case study of a large-scale information system is
huge
![Page 55: Slide 3.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.](https://reader035.fdocuments.net/reader035/viewer/2022062714/56649d3e5503460f94a1743e/html5/thumbnails/55.jpg)
Slide 3.55
Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved.
The Complete Unified Process (contd)
In this book, we therefore cover most, but not all, of the Unified Process– The topics covered are adequate for smaller systems
To work on larger systems, experience is needed – This must be followed by training in the more
complicated aspects of the Unified Process