Beruflich Dokumente
Kultur Dokumente
by
Digmabar Powar
SS ZG514 Object Oriented Analysis and Design
6/24/2013
Text Books:
1 Larman, Craig, Applying UML and Patterns: An Introduction to Object-Oriented Analysis, Pearson Education, 3nd Ed., 2008. 2 Grady Booch et al., Unified Modeling Language User Guide, Pearson Education, 2009. 3 Ali Bahrami, Object Oriented Systems Development using Unified Modeling Language, McGraw Hill, 2010
SS ZG514 Object Oriented Analysis and Design
6/24/2013
Evaluation Components
EC No. Evaluation Component & Type of Examination EC-1 Assignment/Quiz Duration Weightage 10% Day, Date, Session,Time
EC-2 EC-3
30% 60%
6/24/2013
Course Review
Concepts of Object Orientation UML notations Design Patterns Object Oriented Analysis and Design using UML and Patterns Case Studies
6/24/2013
6/24/2013
OO technique provides a more consistent approach to system modelling. OO view more closely reflects the real world where humans are used to think in terms of things which possess both attributes and behaviours. OO provides reuse possibility from the class hierarchy views of the system. OO analysis centers on objects which combines data and methods. Software extensibility is easy.
SS ZG514 Object Oriented Analysis and Design
6/24/2013
6/24/2013
Abstraction
An abstraction denotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crisply defined conceptual boundaries, relative to the perspective of the viewer. [Boo94] Key concepts: Concentrating only on essential characteristics
Abstraction is relative to the perspective of the viewer
Many different views of the same object are possible.
Allows complexity to be more easily managed
6/24/2013
Example: Abstraction
6/24/2013
Encapsulation
Encapsulation is the practice of including in an object everything it needs hidden from other objects. The internal state is usually not accessible by other objects.
Objects exhibit an interface through which others can interact with it Hides complexity from an objects clients
6/24/2013 SS ZG514 Object Oriented Analysis and Design 10
Modularity
Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules. Module: a collection of related classes of objects
6/24/2013
11
Example: Modularity
6/24/2013
12
Hierarchy
Hierarchy is a ranking or ordering of abstractions OR Organizing things into different levels of abstraction Types of hierarchies: Class Aggregation Containment Inheritance Partition Specialization
SS ZG514 Object Oriented Analysis and Design
6/24/2013
13
Example: Hierarchy
6/24/2013
14
6/24/2013
15
Object An object represents an individual, identifiable item, unit, or entity, either real or abstract, with a well-defined role in the problem domain. Or An "object" is anything to which a concept applies. Also, object is an instance of a class
6/24/2013 SS ZG514 Object Oriented Analysis and Design 16
An object can be A physical entity (car, fan, man, etc) A conceptual entity (A chemical process) A software entity (stack, queue, linked list)
6/24/2013
17
Objects have the following qualities: Identity: Objects are distinguishable from one another Behavior: Objects can perform tasks State: Objects store information that can vary over time
6/24/2013
18
Class
A class is a blueprint that describes an object and defines attributes and operations for the object Classes use abstraction to make available only the elements essential to defining the object Classes use encapsulation to enforce an abstraction Simple terms: It is a collection of objects
6/24/2013
19
It defines the structure and behavior of each object in the class It serves as a template for creating the objects
6/24/2013
20
Classes
- do Do not support inheritance Default access type is private
The convention is to use Use classes when we require data structure when the purpose is to abstraction and, perhaps group data inheritance.
6/24/2013
21
Attributes: It describes the state (data) of an object Operation: Define its behavior
6/24/2013
22
Component:
A non-trivial, nearly independent and replaceable part of a system that fulfills a clear function in the context of a well defined architecture. A component may be
6/24/2013
23
Package:
A package is a general purpose mechanism for organizing elements into groups. A model element which can contain other model elements.
A component may be
6/24/2013
24
Strengths of Object Orientation: Facilitates architectural and code reuse Models more closely reflect the real world
More accurately describe corporate data and processes Decomposed based on natural partitioning Easier to understand and maintain
Stability
A small change in requirements does not mean massive changes in the system under development
SS ZG514 Object Oriented Analysis and Design 25
6/24/2013
Summary:
The basic principles of object orientation The basic concepts of object orientation The strengths of object orientation.
6/24/2013
26