Documente Academic
Documente Profesional
Documente Cultură
8/8/2017
TO
OBJECT OREINTED ANALYSIS (OOA)
1
BY:- ABDELA A.
TOPIC TO BE COVERED:
8/8/2017
OVER VIEW OF OOAD
INRODUCTION TO OOA
DOMAIN ANALYSIS
2
8/8/2017
SAD VS OOAD ?
3
OVERVIEW OF OOAD
OOAD -is popular technical approach used in
8/8/2017
analyzing and designing of an application system or
business by applying object oriented paradigm and
visual modeling throughout SDLC for better
communication and product quality.
8/8/2017
Language (e.g. C++, Java, smalltalk, etc).
It is the latest and most used way of design now.
UML (Unified Modeling Language) is a modeling
language for OOS.
The object-oriented S/W development Life Cycle (SDLC)
consists of three macro process.
Object-Oriented Analysis
Object-oriented Design and
Object-oriented Implementation 5
WHAT IS OBJECT ORIENTED DESIGN?
8/8/2017
requirements specified in the analysis.
Need to define software objects and how they collaborate to
fulfill the requirements.
Designs are implemented in a Programming Language.
Focus on how the system does it.
E.g.:-In a Library Information System, a Book object may have
a title attribute and a get Chapter method and implemented using
any OO programming language; e.g. Java. 6
WHAT IS OBJECT ORIENTED ANALYSIS?
Object-oriented analysis emphasises on finding and
8/8/2017
describing the objectsor conceptsin the problem
domain.
OOA focuses on what the system does.
Emphasizes on investigation of problem and requirement
rather than solution.
E.g. In a Library Information System, some of the
concepts include Book, Library, and Patron.
7
EXAMPLE: LIBRARY MNANAGEMENT SYSTEM
8/8/2017
8
ANALYSIS AND DESIGN ACTIVITIES
8/8/2017
9
CONVENTIONAL VS. OO APPROACHES
8/8/2017
components where as OOA combine the data and
process that acts on the data into objects .
10
CONVENTIONAL VS. OO APPROACHES
8/8/2017
11
OBJECT ORIENTED ANALYSIS?....
Its also called use case analysis
8/8/2017
Its performed by system designer/Analyst
The objective of object-oriented analysis is:-
to know what are the different relevant object
How do we relate to one another
How to specify or model a problem to create effective
design.
Examine requirement, analyze and their implication ,etc
12
THE OOA LANDSCAPE
Different Object Oriented Analysis methods:
8/8/2017
The Booch method(Produces detailed object-oriented design
methods. )
The Rumbaugh(Describing the object model or the static
structure of the system. )
The Jacobson method(Good for providing user driven analysis
models. )
The Coad and Yourdon method
The Wirfs-Brock method 13
THE BOOCH METHOD
The Booch Methodologies is a widely used object-oriented method.
8/8/2017
It covers the analysis and design phases of an object-oriented system.
Class Diagrams.
Object Diagrams.
Process Diagrams
interaction Diagrams.
8/8/2017
implementation .
8/8/2017
Object Oriented Software Engineering and
Use Case represents the interaction between the actor and the
system. 16
THE COAD AND YOURDON METHOD
The Coad and Yourdon method is often viewed as one of the
easiest OOA methods to learn and straight forward.
8/8/2017
Modelling notation is relatively simple and guidelines for
developing the analysis model are straightforward.
This method follow six steps
1. finding for class and object.
2. Define a generalization/specification structure.
3. Define a whole/part structure.
4. Identify subjects (representations of subsystem
components).
5. Define attributes.
6. Define services.
17
THE WIRFS-BROCK METHOD
8/8/2017
Wirfs-Brock, Wilkerson, and Weiner do not make
a clear distinction between analysis and design
tasks.
8/8/2017
1. Elicit customer requirements for the system.
2. Identify scenarios or use-cases.
3. Select classes and objects using basic requirements as a
guide.
4. Identify attributes and operations for each system object.
5. Define structures and hierarchies that organize classes.
6. Build an object-relationship model.
7. Build an object-behavior model.
8. Review the OO analysis model against use-cases or
scenarios
19
8/8/2017
Unified Approach to OOA
20
UNIFIED MODELLING LANGUAGE (UML)
8/8/2017
Ivar Jacobson have collaborated to combine the best features
of their individual object-oriented analysis and design
methods into a unified method.
8/8/2017
This language is used for specifying, visualizing, constructing and
documenting software systems through out the development.
(Mostly object oriented development).
22
8/8/2017
23
8/8/2017
24
VIEWS OF SYSTEMS IN UML
User model view. This view represents the system
(product) from the users (called actors in UML)
8/8/2017
Structural model view. Data and functionality are
viewed from inside the system.
Behavioural model view. This part of the analysis
model represent.
Implementation model view. The structural and
behavioural aspects of the system are represented as
they are to be built.
Environment model view. The structural and
behavioural aspects of the environment in which the
25
system is to be implemented are represented.
8/8/2017
DOMAIN ANALYSIS
26
DOMAIN ANALYSIS
The objective of domain analysis is to define a set of
8/8/2017
class or object that encountered through an
application domain.
27
DOMAIN ANALYSIS PROCESS
8/8/2017
analysis, and specification of common requirements
from a specific application domain, typically for reuse
on multiple projects within that application domain
28
INPUT AND OUTPUT FOR DOMAIN ANALYSIS
8/8/2017
29
8/8/2017
THE OOA PROCESS
30
OOA PROCESS
Technique that may used to gather basic customer
requirement and then define an analysis model for the
8/8/2017
object oriented systems are:
Use case
CRC card
Defining Structures and Hierarchies
Defining Subjects and Subsystems
31
USE CASE
A use case is a methodology used in system analysis to
identify, clarify, and organize system requirements.
8/8/2017
A use case is a written description of how users will
perform tasks on your website.
It outlines, from a users point of view, a systems
behaviour as it responds to a request.
Each use case is represented as a sequence of simple
steps, beginning with a user's goal and ending when
that goal is fulfilled
32
BENEFITS OF USE CASES
Use cases add value because they help explain how the
8/8/2017
system should behave and in the process, they also help
brainstorm what could go wrong.
33
WHEN WE???
8/8/2017
34
EXAMPLE USE CASE FOR LIS
8/8/2017
35
CONT. ..
A use case (or set of use cases) has these
characteristics:
8/8/2017
Organizes functional requirements
Models the goals of system/actor (user) interactions
Records paths (called scenarios) from trigger events to
goals
Describes one main flow of events (also called a basic
course of action), and possibly other ones,
called exceptional flows of events (also called alternate
courses of action)
36
CRC CARDS
CRC:- stands for Class, Responsibilities, Collaborations
A brainstorming tool used in the design of object-
8/8/2017
oriented software
a CRC card is an index card in a group setting used
to represent:
A class of objects
Their behavior
their interactions
37
CRC. ..
A collection of standard index cards that have been divided
into three sections
8/8/2017
1. A class represents a collection of similar objects.
2. A responsibility is something that a class knows or does.
3. A collaborator is another class that a class interacts with to
fulfill its responsibilities
38
EXAMPLE
8/8/2017
39
8/8/2017
OBJECT DESIGN PROCESS
40
OBJECT DESIGN PROCESS
Object design is concerned with the detailed design of the
objects and their interactions.
8/8/2017
It is completed within the overall architecture defined during
system design and according to agreed design guidelines and
protocols.
Object design is particularly concerned with the specification
of attribute types, how operations function, and how objects are
linked to other objects.
It is at this stage that the basic concepts and principles
associated with component level design.
41
OBJECT DESIGN PROCESS
8/8/2017
Object identification
Object representation, i.e., construction of design
models
Classification of operations
Algorithm design
Design of relationships
Implementation of control for external interactions
Package classes and associations into modules
42
8/8/2017
THANK YOU!!
43