Object Oriented Analysis and Design
Object Oriented Analysis and Design
Object Oriented Analysis and Design
Analysis and
Design
Object Oriented Analysis :
Object oriented analysis is a method that examines
requirements from the perspective of the classes and
objects found in the vocabulary of the problem domain.
Abstraction :
An abstraction denotes the essential characteristics of an
object that distinguishes it from all other kinds of objects
and thus provide crisply defined conceptual boundaries,
relative to the perspective of the viewer.
Object Oriented Design :
Object Oriented Design is a methods of design
encompassing the process of object - oriented
decomposition and a notation for depicting both logical
and physical as well as static and dynamic models of the
system under design.
Testing Requirement
specification
Design
Implementation
Implementation
Design
Components
Frameworks
Applications
Project Life Cycle :
1. Requirements Specification.
2. Design.
3. Implementation
4. Testing.
==> Maintenance
Refinement and Extension
Requirements Capture :
Current System
New Requirements
Investigating Current System :
•Some of the functionality of the existing system will be
required in the new system.
•Some of the data in the existing system is of value and must
be migrated into the new system.
•Technical Documentation of the existing computer systems
may provide details of processing that will be needed in the
new system.
•The existing system may have defects which we should
avoid in the new system.
•Studying the existing system will help us understand the
organization in genera
•Parts of existing system may be retained.
• To Understand how people do their jobs at present in order to
characterize people who will be the users of the new system.
•Functional Requirements
•Usability Requirements
Functional Requirements :
•Sampling
•Questionnaires
•Interviewing
•Reading
•Observation
Analysis Design
•Project Management
•Staff Skills and Experience
•Client Decisions
•Choice of Development
Environment
Project Management (Task by Project Manager)
- Budget in terms of Money and Staff.
Logical Physical
(Implementation (Implementation
Independent) Dependent)
In Object -Oriented methodology, the development of a
system is viewed from three perspectives
Transfer Funds
Manager
Customer
Make Payment
Withdraw Money Credit
System
View Balance
Sequence Diagrams :
3:Initialize Screen
4:Open Account
5:Prompt for pin no
6:Enter Pin no
7:Verify Pin no
8:Prompt for Transaction
9:Select Transaction(Withdraw)
10:Prompt for Amount
11:Enter Amount
12:Withdraw Funds
13:Verify Funds
14:Deduct Funds
15:Provide Cash
16:Provide Receipt
17:Eject Card
Collaboration Diagrams :
Cash Dispenser
Class Diagrams :
Some Class
Class Some Class
Attributes
Operations
ATM Screen
Card Reader
- Card Number + Prompt ()
+Accepting()
+Accept Card()
+Eject Card()
+Read Card()
Account
-Account Number Cash Dispenser
Overdrawn
Open
Do:Send notice to Customer
Customer Request
Closure
Deposit [Balance < 0]
Closed
Component Diagrams :
Component Diagrams show a physical view of the model .It
shows the software components in the system and the
relationships between them . There are two types of
components on the diagram :
1.Executable Components.
2.Code Libraries.
Component diagrams are used by an individual who is
responsible for compiling the system , so as to know in what
order the components need to be compiled.The diagrams also
show runtime components created as a result of
compilation .Component diagrams show mapping of classes to
implementation components . This is a point where code
generation is initiated.
Shaded Component : Package Specification ATM.exe
I.e. program file(.cpp, .java) Task Specification ,represents
Unshaded Component : Package Specification thread of processing
Card Reader
ATM Screen
ATM Screen
Deployment Diagrams :
<<LAN>>
Regional ATM
ATM Server.exe Server
Printer
Three Phases:
•Analysis
•System Design
•Object Design
(Implementation is regarded out of scope)
Methodology Step Comment
1. Write or obtain an initial A major task
description of the
problem(Problem Statement)
2.Build an Object Model : A major task
Identify Object Classes. broken down
Begin an data dictionary into several
containing descriptions of more detailed
classes and associations. tasks.
Add associations between
classes .
Add attributes for objects and
links.
Organize and simplify object
classes using inheritance.
Test access paths using
scenarios and iterate the
above steps as necessary.
Group classes into modules ,
based on close coupling and
related function.
=>Object Model Object model An end-of-
diagram + data dictionary phase product
OPEN :(Object - oriented Process, Environment and Notation)
(Tailorable life cycle model)
Components