Object-Ori and Design
Object-Ori and Design
Object-Oriented Analysis and Design (OOAD) is a way to analyze and design a system
by thinking of it as a collection of interacting objects. Each object represents a
specific part of the system. OOAD has two main phases:
Design: Planning how the system will work, focusing on how the objects will
interact with each other to perform the required tasks.
Identifies the key objects (entities) in the system and their relationships.
Models these objects using concepts like classes, attributes, methods, and
interactions.
UML
Modeling Behavior:
UML diagrams also represent how the system behaves, including use cases,
interactions, and changes over time.
Documenting Design:
UML helps document design choices clearly, making it easier for everyone involved
to understand.
Guiding Implementation:
The design in UML diagrams helps developers build the system correctly and
consistently.
Facilitating Communication:
UML provides a common language for both technical and non-technical people,
improving how they discuss and understand the system.
USE CASE
Use Case Diagrams in UML show how users interact with a system to achieve their
goals. They visually represent the system's functional requirements from the user's
point of view.
Actors:
External entities (like users or other systems) that interact with the system,
shown as stick figures or icons.
Use Cases:
Specific functions or services the system offers, depicted as ovals or ellipses.
Relationships:
Include Relationships: A dashed arrow showing that one use case includes the
behavior of another.
System Boundaries:
A rectangle around use cases that shows what is within the system’s scope.
Class diagram ?
Class Diagrams in OOAD show the static structure of a system by illustrating its
classes, their attributes, methods, and relationships. Here’s a summary:
Classes:
Represent objects in the system, shown as rectangles divided into three parts:
Attributes:
Properties or data held by a class, listed in the middle section.
Methods:
Functions or operations a class can perform, listed in the bottom section.
Relationships:
Dependency: Shows that one class depends on another (dashed line with an arrow).
Sequence Diagrams ?
Sequence Diagrams in OOAD show how objects interact in a specific order, focusing
on the sequence of messages exchanged. Here’s a quick overview:
Objects:
Entities involved in the interaction, shown as rectangles at the top with names.
Lifelines:
Vertical dashed lines from objects, showing their presence over time.
Activation Bars:
Rectangles on lifelines indicating when an object is active or processing a
message.
System Sequence Diagram (SSD) in OOAD focuses on how a system interacts with
external actors (like users or other systems) and responds to their inputs. Here’s
a summary:
Actors:
External entities interacting with the system, shown as stick figures or rectangles
on the left.
System:
The system being modeled, typically shown as a single object or rectangle at the
top.
Messages:
Horizontal arrows showing interactions between actors and the system.
Synchronous Messages: Requests where the system is expected to respond (solid line
with filled arrowhead).
Asynchronous Messages: Requests where the system does not wait for a response
(solid line with open arrowhead).
Lifelines:
Vertical dashed lines from both actors and the system, showing their presence over
time.
Activation Bars:
Rectangles on the system’s lifeline, indicating when the system is active or
processing a message.
Return Messages:
Dashed lines with open arrowheads showing responses from the system to the actor.
Defining System Behavior: Capturing how the system responds to external inputs and
events.
Communication Diagrams ?
Communication Diagrams in OOAD show how objects interact within a system, focusing
on their relationships and the messages they exchange. Here’s a simplified
overview:
Objects:
Entities involved in interactions, shown as labeled rectangles.
Links:
Lines connecting objects, representing their relationships.
Messages:
Arrows along the links that show interactions between objects, labeled with
sequence numbers to indicate the order.
Sequence Numbers:
Numbers that show the order of messages to illustrate the flow of communication.
Communication Paths:
Show the route of messages between objects, demonstrating how components work
together to achieve a goal.
Designing System Architecture: Offering insights into how different parts of the
system work together.
Inception phase ?
The Inception phase in Object-Oriented Analysis and Design (OOAD) is the initial
stage of a project where the foundation for the system is established. This phase
focuses on understanding the scope, objectives, and feasibility of the project. Key
activities in the Inception phase include:
Defining the System's Vision: Clarifying the purpose of the system, its goals, and
the key features that need to be developed.
Risk Assessment: Identifying potential risks and challenges that could impact the
project's success and developing initial strategies to mitigate them.
Cost and Schedule Estimation: Providing rough estimates of the project's cost and
timeline based on the initial understanding.
The Inception phase is crucial as it sets the direction for the entire project,
ensuring that all stakeholders have a clear understanding of what the system will
accomplish and how it will be developed.