Object-Oriented System
Development (OOSD) is
a software development approach that models a system as a collection of objects.
Each object contains data (attributes) and behavior
(methods).
It uses core concepts like encapsulation,
inheritance, polymorphism, and abstraction and follows phases such as analysis,
design, implementation, and maintenance. OOSD helps create reusable,
flexible, and easy-to-maintain systems.
What
is Object-Oriented System Development?
OOSD is a software development
methodology that applies object-oriented principles throughout the
entire system development life cycle—from analysis and design to implementation
and maintenance.
Instead of focusing only on
functions or procedures, it focuses on objects that combine:
- Data (attributes)
- Behavior (methods)
Object-Oriented
Concepts
a)
Object
An object is a real-world entity
with:
- State (data)
- Behavior (actions)
📌 Example:
A Student object
- Attributes: name, rollNumber
- Methods: enroll (),
displayDetails()
b)
Class
A class is a blueprint for
creating objects.
Example:
Car is a class, and myCar is an object of that class.
c)
Encapsulation
Bundling data and methods together
and hiding internal details.
Benefit: Improves security and
control.
d)
Inheritance
One class inherits properties
and methods from another class.
Example:
Teacher and Student inherit from Person
e)
Polymorphism
One method can have different
behaviors depending on the object.
Example:
draw() method for different shapes (Circle, Square)
f)
Abstraction
Showing only essential features
and hiding unnecessary details.
Object-Oriented Implementation (OOI)
- Write code using OOP languages
like:
- Java
- Python
- C++
- C#
Advantages
of OOSD
Reusable code
Easier maintenance
Better system modeling
Scalable and flexible design
Object-Oriented Analysis (OOA) is
the first phase of object-oriented system development. It focuses on understanding
system requirements and identifying objects, classes, and
their relationships based on real-world entities.
Object-Oriented Construction (OOC) is
the phase of object-oriented development where the system is implemented
in code. It involves creating classes and objects,
writing methods, and integrating components using object-oriented
programming languages.
The elements of the Object Model
are the fundamental concepts used in object-oriented systems. They are:
1.
Abstraction – Focuses on essential features
while hiding unnecessary details.
2.
Encapsulation – Bundles data and methods together
and restricts direct access.
3.
Modularity – Divides the system into
independent, manageable components (classes).
4.
Hierarchy
(Inheritance) –
Organizes classes into parent–child relationships for reuse.
5.
Polymorphism – Allows the same operation to
behave differently for different objects.
Classes are general
blueprints that represent real-world entities (usually identified from nouns),
such as Student or Book.
Objects are specific instances of those classes, such as student1
or bookA.
Specifying
attributes with visibility
means defining class data members along with access control to show who can
access them.
Common visibility types (UML / OOP):
- Public (+) – Accessible from anywhere
- Private (−) – Accessible only within the
class
- Protected (#) – Accessible within the class
and its subclasses
An operation is a
function or method defined in a class that represents the behavior
of an object.
It specifies what an object can do and operates on the
object’s data.
·
Example:
For a Student class, operations
can be enroll(), displayDetails().
Finalizing
object definition
is the process of clearly defining each object by specifying its class name,
attributes, operations, and relationships after analysis.
It ensures that every object has:
- Clearly identified attributes
- Defined operations (methods)
- Proper visibility
- Clear relationships with
other objects
Assignment
Questions–
1) What is object orientation?
2) Define class and object
3) What is polymorphism with examples?
4) What is inheritance?
5) What is OOSD?
6) Explain OOA?
7) What are elements of object model?
8) What is specifying attributes?
9) What is function and data method?
10)
Explain
object oriented construction
0 comments:
Post a Comment