Unit-3
Basic structure Modeling
Class :
A class is a fundamental concept in
object-oriented software engineering that represents a real-world entity. It
defines the structure
(attributes/data members) and behavior
(methods/functions) that the objects of that class will have. Objects are instances of a class and share the same
properties and operations defined by the class.
A class is a blueprint that defines an object’s attributes and operations.
Relationship :
A relationship shows how classes are connected.
Types of relationships:
·
Association – general link
·
Aggregation – weak has-a
·
Composition – strong has-a
·
Inheritance – is-a
·
Dependency – uses
Common Mechanisms:
Standard rules used to organize and explain
models clearly, such as specifications,
adornments, common divisions, and extensibility mechanisms.
Specifications – detailed description of model elements
Common Divisions – class vs object,
interface vs implementation
Extensibility Mechanisms – tagged values, constraint
Unit
-4 Advance Structural Modeling
Advanced class (higher-level classes)
- Is
highly cohesive
- Has
low coupling
- Follows
SOLID principles
- Uses
abstraction, inheritance, polymorphism, and encapsulation
- Often
participates in design patterns
Advanced
relationships in OOSE
describe complex interactions between classes beyond simple association. They
include inheritance (IS-A), aggregation (weak HAS-A),
composition (strong HAS-A), and dependency (uses-A),
helping model real-world systems effectively.
Interface (OOSE):
An interface defines a contract that
specifies what methods a class must implement, without
providing their implementation. It supports abstraction, multiple
inheritance, and loose coupling in object-oriented
design.
Types of Interfaces
1. Marker Interface – Has no methods; used to
mark a class (e.g., Serializable).
2. Functional Interface – Has only one abstract
method.
3. Multiple Inheritance
Interface –
Allows a class to implement multiple interfaces.
4. API Interface – Defines communication
between system components.
Roles of Interfaces
- Provides
abstraction
- Supports
multiple inheritance
- Enables
loose coupling
A package is a collection of related classes,
interfaces, and sub-packages grouped together to organize code and manage
complexity.
Roles of Packages
1. Organize classes logically – Easier to manage
large projects.
2. Avoid name conflicts – Classes with the
same name can exist in different packages.
3. Control access – Public vs. private
classes and members.
4. Reusability – Packages can be
reused across projects.
Object Diagram (OOSE)
An Object Diagram shows a snapshot of objects and their
relationships at a particular moment in time, unlike class
diagrams, which show structure in general.
0 comments:
Post a Comment