Section 0: Module Objectives or Competencies
Course Objective or Competency | Module Objectives or Competency |
---|---|
The student will be able to assess and apply Object-Oriented analysis and design methods like use cases to express user requirements, UML modeling, and other OO approaches. | The student will work through an example that applies the concepts of Object-Oriented design. |
Section 1: Overview
Quick Review
Video: OO Recap
An object-oriented model consists of
- objects
- attributes of objects
- behaviors
Object-oriented design is an iterative process
- begins with some form of requirements specification of organization's components, operations, and procedures
- basic OO model is graphically depicted and presented for review
- additional objects, attributes, and behaviors will be added during review
- OO model will be modified to include new additions
- review process begins again...
- process terminates only when end users and designers agree that the diagram correctly models the organization's actors and behaviors
Section 2: Approach
Video Overview
- Begin by identifying the major functions and activities to be performed, and determining the objects needed to support their execution.
- Identify all object types that are input to the business activity.
- Identify all object types that are modified by the activity.
- Identify all object types that are produced by the business activity.
- Identify all relationships that are established between participating object types by the business activity.
- Identify all object types or relationships that are used but not changed by the business activity (ex. government regulations).
- Identify all object types that control or implement the business activity (ex. policies, government regulations).
- Identify all operations performed on the object types and relationships by the business activity. Examples of operations on objects: DISPLAY, CREATE. Examples of operations on relationships: MODIFY TREATMENT, PRINT TREATMENT LIST.
Section 3: Example
Analyze the activities of a bank teller as a system. A teller can process deposits and withdrawals as well as cash checks. The teller can also provide information about account status. While processing these transactions, the teller must maintain an accurate balance of their cash drawer so that they can reconcile transactions at the end of their shift.
Attempt to solve the problem. When you are done, move your cursor to any of the blank areas and click to reveal a possible solution.
List business functions:
- accept customer deposit
- handle customer withdrawal
- cash check
- check account status
- maintain cash drawer
- reconcile transactions
List the objects under each, if necessary:
Accept customer deposit
- customer
- deposit slip
- teller
- account number
- cash drawer
- receipt
Handle customer withdrawal
- customer
- withdrawal slip
- teller
- account number
- cash drawer
- receipt
Cash check
- customer
- check
- teller
- cash drawer
Check account status
- teller
- computer
- account number
Maintain cash drawer
- supervisor
- teller
- cash drawer
Reconcile transactions
- teller
- cash drawer
- deposit slip
- withdrawal slip
- check
- report
List of Objects:
teller | cash drawer | deposit slip |
computer | customer | withdrawal slip |
account | report | check |
supervisor | receipt |
Evaluation of Objects:
teller | cash drawer | deposit slip |
computer | customer | withdrawal slip |
account | report | check |
supervisor | receipt |
Section 4: Steps in Developing an OO Model
Steps:
- select relevant objects
- define an initial set of relations
- identify attributes of the objects
- identify behaviors of the objects
Start by choosing some object – maybe the most independent or dominant object.
Example: customer – most independent, least number of cross-referenced attributes.
Section 5: Class Diagram for Banking System
