CS/SS G514
Object Oriented Analysis and
Design
9-Aug-17 OOAD 2
Todays Agenda
Introduction
Course Administration
OO Analysis and Design
9-Aug-17 OOAD 3
Course Administration
Instructor Incharge: Dr. Yashvardhan Sharma
Email : yash@pilani.bits-pilani.ac.in
Chamber : 6120-I (Visit any time after dropping an email)
Chamber consultation Hour :Thursday 4:00-5:00pm
Course website : http://nalanda.bits-pilani.ac.in
Text Book: Blah, Michael & James Rambaugh,Object Orientd Modeling
and Design with UML,Pearson Education, 2nd e., 2005
Evaluation Components
Mid Sem Test (25%) TBA Closed Book
Assignments(35%)
Research Paper (G) (15%)
Problems/Exercises (I) (10%)
Project (G) (10%)
Comprehensive Exam (40%) 05/12(AN) Partly Open
9-Aug-17 OOAD 4
What is Analysis and Design?
Analysis - investigation of the problem (what);
What does the system do?
Investigation of the problem.
Design - conceptual solution to fulfill the requirements
(how); how will the system do what it is intended to do.
What (conceptual) solution will full the requirements
9-Aug-17 OOAD 5
What is OO analysis and design?
Essence of OO analysis - consider a problem domain from the
perspective of objects (real world things, concepts)
Essence of OO design - define the solution as a collection of
software objects (allocating responsibilities to objects)
9-Aug-17 OOAD 6
Examples
OO Analysis - in the case of library information systems, one
would find concepts like book, library, patron
OO Design - emphasis on defining the software objects;
ultimately these objects are implemented in some programming
language; Book may have a method named print.
9-Aug-17 OOAD 7
Example - contd.
Representation in
Domain concept analysis of concepts
Book
______
title
print()
public class Book
{
Representation in OO public void print();
programming language private string title;
}
9-Aug-17 OOAD 8
Digression: OO Concepts-Objects
http://java.sun.com/docs/books/tutorial/java/concepts/
Objects: Anything that has a state and exhibits behavior.
Real world objects: Bicycle, student, course, dog, university,.
Software objects: Model real-world or abstract objects (e.g. a
list).
Methods: Procedures through which objects communicate
amongst themselves. Example: Bicycle: brake, park. Dog: bark,
eat. Student: register, study.
Attributes: Variables that hold state information. Bicycle: speed,
color, owner. Dog:name, breed. Student: name, ID.
9-Aug-17 OOAD 9
Digression: OO Concepts-Class
Class: Prototype for all objects of a certain kind. Student,
animal, university, shape, etc.
Objects: Created from a class. For example: s1, s2 are objects
from class Student.
BITS and Purdue are objects from class University. myCircle
and mySquare are objects from class Shape.
Inheritence: A class inherits attributes and methods from its
super class. This allows hierarchical organization of classes.
Interface: A contract between a class and its users. A class
implements an interface (methods and attributes).
9-Aug-17 OOAD 10
Object-oriented Design
With traditional analysis methods, we
model the world using functions or
behaviors as our building blocks
With object-oriented analysis, we model
reality with objects as our building
blocks.
9-Aug-17 OOAD 11
Why we use objects ?
We deal with objects in everyday life the
world is full of objects
With object-oriented programming, data and
the methods that act on the data are nicely
packaged together (encapsulation)
Commonalties between objects can be
captured with a common base class
(inheritance), while their differences can be
preserved (polymorphism)
9-Aug-17 OOAD 12
The problem: How do we find
objects ?
This is a necessary step between
requirements/specifications and the
actual implementation of the solution.
9-Aug-17 OOAD 13
What are business processes?
First step - consider what the business must do; in the case of a
library - lending books, keeping track of due dates, buying new
books.
In OO terms - requirements analysis; represent the business
processes in textual narration (Use Cases).
9-Aug-17 OOAD 14
Roles in the organization
Identify the roles of people who will be involved in the
business processes.
In OO terms - this is known as domain analysis
Examples - customer, library assistant, programmer, navigator,
sensor, etc.
9-Aug-17 OOAD 15
Who does what? Collaboration
Business processes and people identified; time to
determine how to fulfill the processes and who executes
these processes.
In OO terms - object oriented design; assigning
responsibilities to the various software objects.
Often expressed in class diagrams.
9-Aug-17 OOAD 16
In Summary...
Business OO Analysis Associated
Analogy and Design Documents
What are the Requirements Use cases
business analysis
processes?
What are Domain analysis Conceptual
employee roles? model
Who is Responsibility Design class
responsible for assignment; diagrams
what?
9-Aug-17 OOAD 17