Unit-1(OOAD)
-
Upload
karthikeyanbe442 -
Category
Documents
-
view
6.134 -
download
1
Transcript of Unit-1(OOAD)
![Page 1: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/1.jpg)
1
Unit – 1 (Introduction to OOAD)
• An overview of object oriented systems development.
• Object basics
• object oriented systems development life cycle
![Page 2: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/2.jpg)
2
Important Programming Models
• Procedure Oriented Algorithms
• Object Oriented Classes & Objects
![Page 3: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/3.jpg)
3
1.Space efficiency
2.Time efficiency
2.1 Worst case efficiency
2.2 Best case efficiency
2.3 Average case efficiency
Algorithm Analysis
![Page 4: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/4.jpg)
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
![Page 5: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/5.jpg)
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.
![Page 6: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/6.jpg)
6
• Differentiate OOP, OOA & OOD.
![Page 7: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/7.jpg)
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.
![Page 8: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/8.jpg)
8
Object Oriented Analysis
• It is a method of analysis that examines requirements from the users.
….contd
![Page 9: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/9.jpg)
9
Object Oriented Design
• It leads to an object –oriented decomposition.
• Uses different notations to express different models.
![Page 10: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/10.jpg)
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.
![Page 11: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/11.jpg)
11
Object Model
• The main principles of object model are a) abstraction b) encapsulation c) modularity d) hierarchy e) typing f) concurrency g) persistence
![Page 12: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/12.jpg)
12
Major Elements of Object Model
a) abstraction
b) encapsulation
c) modularity
d) hierarchy
![Page 13: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/13.jpg)
13
Minor Elements of Object Model
a) typing
b) concurrency
c) persistence
![Page 14: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/14.jpg)
14
• It focuses upon the essential characteristics of objects.
• (e.g.) Project Abstract
a) What is Abstraction?
![Page 15: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/15.jpg)
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.
![Page 16: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/16.jpg)
16
c) What is Modularity?
• The breaking up of something complex into manageable pieces
Effective Modular design
1.Cohesion
2.Coupling
![Page 17: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/17.jpg)
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
![Page 18: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/18.jpg)
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.
![Page 19: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/19.jpg)
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.
![Page 20: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/20.jpg)
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.
![Page 21: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/21.jpg)
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.
![Page 22: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/22.jpg)
22
Basic Concepts of Object Orientation
• Object
• Class
• Attribute (Property)
• Method (Procedure)
• Inheritance
• Interface (Polymorphism)
• Relationships
![Page 23: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/23.jpg)
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
![Page 24: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/24.jpg)
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
![Page 25: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/25.jpg)
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
![Page 26: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/26.jpg)
26
• A class is represented using a compartmented rectangle
2b) Representing Classes
Professor
Professor Rani
a + b = 10
![Page 27: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/27.jpg)
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
![Page 28: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/28.jpg)
28
• Objects are grouped into classes
2d)The Relationship Between Classes and Objects
Objects
Professor Smith
Professor Jones
Professor Mellon
Class
Professor
![Page 29: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/29.jpg)
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.
![Page 30: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/30.jpg)
30
• Define its behavior (what an object is capable of doing).
CourseOffering
addStudent deleteStudentgetStartTimegetEndTime
Class
Operation
4) What is method (or) procedure?
![Page 31: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/31.jpg)
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.
![Page 32: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/32.jpg)
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
![Page 33: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/33.jpg)
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
![Page 34: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/34.jpg)
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
![Page 35: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/35.jpg)
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 ?
![Page 36: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/36.jpg)
36
• Association– Aggregation
• Dependency
• Generalization
• Realization
7a) Relationships
![Page 37: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/37.jpg)
37
Professor UniversityWorks for
Class
Association
Association Name
Professor University
EmployerEmployee
Role Names
7b)Relationships: Association• It represents the relationships between objects &
classes.
![Page 38: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/38.jpg)
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
![Page 39: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/39.jpg)
39
7d)Relationships: Aggregation
• A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts
![Page 40: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/40.jpg)
40
College Department
Whole
Aggregation
Part
7e) Relationships: Aggregation
• (e.g.)
![Page 41: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/41.jpg)
41
Engine wheel
7f) Relationships: Aggregation• (e.g.) a car object of other objects such as
engine, seat and wheel objects.
Car
Seat
![Page 42: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/42.jpg)
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
![Page 43: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/43.jpg)
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
![Page 44: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/44.jpg)
44
7j) Relationships: GeneralizationShape
origin
move( )
resize( )
display( )
Rectangle
Corner : Point
Circle
Corner : Point
Polygon
Points : List
Display
Square Leaf class
Generalization
Base class
![Page 45: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/45.jpg)
45
Use Case Use-Case Realization
Canonical form
7k) Relationships: Realization
b) It is used for tracebility
![Page 46: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/46.jpg)
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.
![Page 47: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/47.jpg)
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.
![Page 48: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/48.jpg)
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
![Page 49: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/49.jpg)
49
analysis design code test
System/informationengineering
Linear Sequential Model
![Page 50: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/50.jpg)
50
(e.g.) The waterfall software development process
What
How
Do It
Test
Use
![Page 51: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/51.jpg)
51
Prototyping Model
CustomerCommunication Quick Design
Build Prototype
Customer evaluation of
Prototype
![Page 52: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/52.jpg)
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
![Page 53: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/53.jpg)
53
Spiral Model
CustomerCommunication
Planning
Construction & ReleaseCustomerEvaluation
Engineering
Risk Analysis
![Page 54: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/54.jpg)
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
![Page 55: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/55.jpg)
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
![Page 56: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/56.jpg)
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.
![Page 57: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/57.jpg)
57
4d) OO Design
• OO Design includes the following activities:– Design the classes.– Design the user interface
![Page 58: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/58.jpg)
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.
![Page 59: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/59.jpg)
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
![Page 60: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/60.jpg)
60
4g) Testing
1.White box testing
2.Black box Testing
![Page 61: Unit-1(OOAD)](https://reader035.fdocuments.in/reader035/viewer/2022062623/552887cd49795912048b495f/html5/thumbnails/61.jpg)
61
THANK YOU!