Unit-1(OOAD)
-
Upload
karthikeyanbe442 -
Category
Documents
-
view
6.134 -
download
1
Transcript of Unit-1(OOAD)
1
Unit – 1 (Introduction to OOAD)
• An overview of object oriented systems development.
• Object basics
• object oriented systems development life cycle
2
Important Programming Models
• Procedure Oriented Algorithms
• Object Oriented Classes & Objects
3
1.Space efficiency
2.Time efficiency
2.1 Worst case efficiency
2.2 Best case efficiency
2.3 Average case efficiency
Algorithm Analysis
4
Algorithm analysis (Continued…)
1. Worst case efficiency
It is the efficiency for worst case input ( worst case input is the one for which the algorithm runs longest).
2. Best case efficiency
It is the efficiency for best case input ( best case input is the one for which the algorithm runs fastest).
3. Average case efficiency
It is the efficiency for Average case input
5
Algorithm analysis (Continued…)
Case 1:
If the algorithm is depending only on the input size , we need not to find best,worst and average case efficiencies separately.
Case 2:
If the algorithm is depending not only on the input size ,bust also some factors then find we have to fine worst,best and average case efficiencies separately.
6
• Differentiate OOP, OOA & OOD.
7
Object Oriented Programming
• A language is object oriented if and only if it satisfies the following requirements:1.Supports objects
2.Objects have a class
3.Class may inherit attributes from super class.
8
Object Oriented Analysis
• It is a method of analysis that examines requirements from the users.
….contd
9
Object Oriented Design
• It leads to an object –oriented decomposition.
• Uses different notations to express different models.
10
Introduction
• System development refers to all activities that produces the solution.
• System development activities consists of analysis, modeling, design, implementation, testing & maintenance.
• A software development methodology is a series of processes that, if followed , can lead to the development of an application.
11
Object Model
• The main principles of object model are a) abstraction b) encapsulation c) modularity d) hierarchy e) typing f) concurrency g) persistence
12
Major Elements of Object Model
a) abstraction
b) encapsulation
c) modularity
d) hierarchy
13
Minor Elements of Object Model
a) typing
b) concurrency
c) persistence
14
• It focuses upon the essential characteristics of objects.
• (e.g.) Project Abstract
a) What is Abstraction?
15
b) What is Encapsulation?
• Hides the details of the implementation (data & procedure) of an object
(e.g.) Hides the details of the implementation from clients.
- Provides the interface.
16
c) What is Modularity?
• The breaking up of something complex into manageable pieces
Effective Modular design
1.Cohesion
2.Coupling
17
• Ranking or Ordering of abstraction
d-1) What is Hierarchy?
Decreasing abstraction
Increasing abstraction Vehicle
Elements at the same level of the hierarchy should be at the same level of abstraction
Car
Ford
Mustang Taurus Thunderbird
18
d-2) What is Hierarchy?
• At the top of the hierarchy are the most general classes.
• At the bottom are the most specific.
• A subclass inherits all of the properties & methods from the superclass.
19
e) Typing
• It is the enforcement of the class of an object, such that objects different types may not be interchanged, or at the most , they may be interchange only in very restricted ways.
• Strong typing prevents mixing abstractions.
20
f) Concurrency
• It allows different objects to act at the same time.
• It’s the property that distinguishes an active object from one that is not active.
21
g) Persistence
• It is the property of an object through which the object continues exists after its creator ceases to exists and / or the objects location moves from the address phase in which it was created.
22
Basic Concepts of Object Orientation
• Object
• Class
• Attribute (Property)
• Method (Procedure)
• Inheritance
• Interface (Polymorphism)
• Relationships
23
1a) What is an Object?
• It is a combination of data & logic that represents some real world entity, either physical, conceptual, or software
– Physical entity (e.g.) car
– Conceptual entity (e.g.) chemical process
Software entity (e.g.) linked list
24
• An object is represented as rectangles with underlined names
1b) Representing Objects
: Professor
Professor Nandhini
ProfessorNandhini: Professor
ProfessorNandhini
Object Name Only
Class and Object Name
Class Name Only
25
2a) What is a Class?
• A class is a set of objects with common properties (attributes), behavior (operations), and relationships
- An object is an instance of a class
26
• A class is represented using a compartmented rectangle
2b) Representing Classes
Professor
Professor Rani
a + b = 10
27
2c) Class Compartments• A class is comprised of three sections
– The first section contains the class name– The second section shows the structure
(attributes)– The third section shows the behavior
(operations)ProfessornameempID
create( )save( )delete( )change( )
Class Name
Attributes
Operations
28
• Objects are grouped into classes
2d)The Relationship Between Classes and Objects
Objects
Professor Smith
Professor Jones
Professor Mellon
Class
Professor
29
3 What is an Attribute?
Class
• Example
Attributes
Car
Cost
Color
Manufacturer
Model
• Another name – properties
• It describe the state (data) of an object.
30
• Define its behavior (what an object is capable of doing).
CourseOffering
addStudent deleteStudentgetStartTimegetEndTime
Class
Operation
4) What is method (or) procedure?
31
5a) Inheritance
• It allows objects to be built from other objects.
• It is a relational ship between classes. (one class is the parent of other (derived) class.
• The parent class is also known as the base class (or) super class.
32
Accountbalancenamenumber
Withdraw()CreateStatement()
Checking
Withdraw()
Savings
GetInterest()Withdraw()
Superclass (parent)
Subclasses
Generalization Relationship
Ancestor
Descendents
5b) Example: Single Inheritance• One class inherits from another
33
5c) Multiple Inheritance• Some OO systems permit a class to inherit its
state (attributes) and behaviors from more than one super class.
Vehicle
Car BusTruck
Utility Vehicle
34
Airplane Helicopter Wolf Horse
FlyingThing Animal
Bird
multipleinheritance
Use multiple inheritance only when needed, and always with caution !
5d) Example: Multiple Inheritance• A class can inherit from several other
classes
35
• Poly means “many”• Morph means “form”• Polymorphism the same operation may
behave differently on different classes.• Booch defines Polymorphism as the
relationship of objects of many different classes by some common super class.
6) What is Polymorphism ?
36
• Association– Aggregation
• Dependency
• Generalization
• Realization
7a) Relationships
37
Professor UniversityWorks for
Class
Association
Association Name
Professor University
EmployerEmployee
Role Names
7b)Relationships: Association• It represents the relationships between objects &
classes.
38
EmployerEmployee
7c)Relationships: Association• It is rendered as a solid line.• It has a name & a role.
Person Company
Person Company
Works for
Association
ROLES
ASSOCIATION NAMES Name Direction
Name
Association Role Name
39
7d)Relationships: Aggregation
• A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts
40
College Department
Whole
Aggregation
Part
7e) Relationships: Aggregation
• (e.g.)
41
Engine wheel
7f) Relationships: Aggregation• (e.g.) a car object of other objects such as
engine, seat and wheel objects.
Car
Seat
42
Client SupplierClass
Dependency relationship
7g) Relationships: Dependency
• A relationship between two model elements where a change in one may cause a change in the other
• Non-structural, “using” relationship
43
7h) Relationships: Generalization
• It is a relationship between a general thing (called the super class or parent) & a more specific kind of that thing (called the subclass or child)
• Generalization is an “is-a-kind of” relationship
44
7j) Relationships: GeneralizationShape
origin
move( )
resize( )
display( )
Rectangle
Corner : Point
Circle
Corner : Point
Polygon
Points : List
Display
Square Leaf class
Generalization
Base class
45
Use Case Use-Case Realization
Canonical form
7k) Relationships: Realization
b) It is used for tracebility
46
(continued)
8) Review: Introduction to Object Orientation
• What are the four basic principles of object orientation? Provide a brief description of each.
• What is an Object and what is a Class? What is the difference between them?
• What is an Attribute?• What is an Operation?• What is an Interface? What is Polymorphism?• Name the 4 basic UML relationships and describe each.• Describe the strengths of object orientation.
47
Software Development Life Cycle
• System development refers to all activities that produces the solution.
• System development activities consists of analysis, modeling, design, implementation, testing & maintenance.
• A software development methodology is a series of processes that, if followed , can lead to the development of an application.
48
– Linear Sequential Model (Or) Waterfall model
– Prototyping model
– Evolutionary Model• Incremental model• Spiral model• WIN - WIN model
– Object oriented model
2e) Software Development Process
49
analysis design code test
System/informationengineering
Linear Sequential Model
50
(e.g.) The waterfall software development process
What
How
Do It
Test
Use
51
Prototyping Model
CustomerCommunication Quick Design
Build Prototype
Customer evaluation of
Prototype
52
analysis design code test
analysis design code test
analysis design code test
analysis design code test
increment 2
increment 3
increment 4
increment 1
delivery of1st increment
delivery of2nd increment
delivery of3rd increment
delivery of4th increment
calendar time
Incremental Model
53
Spiral Model
CustomerCommunication
Planning
Construction & ReleaseCustomerEvaluation
Engineering
Risk Analysis
54
3a) OO System Development : A Usecase Driven Approach
Using CASE Tools and/or
OO programming languages
Build a Use-Cases model
Object analysis
Validate test
Design classes, define attributes and methods
Build object model
Build User Interface & Prototype
User satisfaction & Quality test
User satisfaction & Quality test
55
3b) OO System Development : A Usecase Driven Approach
• OO System Development includes the following activities:– OO Analysis– OO Design– Prototyping – Component based development– Testing
56
4c) OO Analysis
• OO analysis includes the following activities:– Determining the system requirements.– Identifying classes and their relationship to
other class in the problem domain.
57
4d) OO Design
• OO Design includes the following activities:– Design the classes.– Design the user interface
58
4e) OO Design - Guidelines
– Reuse rather than build a new class.– Design a large no. of simple classes rather
than a small no. of complex classes.– Design methods.– Critique what you have proposed. If
possible, go back & refine the classes.
59
4f) Prototyping
• A version of a software product developed in the early stage of the products life cycle for specific, experimental purposes.
• Easy to understand• Types of Prototyping
1.Close ended (or) Throwaway2.Open ended (or) Evolutionary
60
4g) Testing
1.White box testing
2.Black box Testing
61
THANK YOU!