0% found this document useful (0 votes)
16 views6 pages

Object-Ori and Design

Uploaded by

jokari3705
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views6 pages

Object-Ori and Design

Uploaded by

jokari3705
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

OOAD

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:

Analysis: Understanding and defining what the system should do.

Design: Planning how the system will work, focusing on how the objects will
interact with each other to perform the required tasks.

Object-Oriented Analysis (OOA):

Focuses on understanding the system's functional requirements.

Identifies the key objects (entities) in the system and their relationships.

Models these objects using concepts like classes, attributes, methods, and
interactions.

Object-Oriented Design (OOD):

Refines the analysis model into a detailed design.


Defines the system's architecture, including how objects will interact, their
interfaces, and the overall structure.
Ensures that the design is modular, scalable, and maintainable.

UML

Unified Modeling Language (UML) is a visual language used in Object-Oriented


Analysis and Design (OOAD) to create and document the structure, design, and
behavior of a system. It includes a set of diagrams and symbols to represent
different parts of a software system.

Visualizing System Architecture:


UML diagrams show the system's structure, including its parts, classes, and how
they interact.

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:

Associations: Lines connecting actors to use cases, showing interaction.

Include Relationships: A dashed arrow showing that one use case includes the
behavior of another.

Extend Relationships: A dashed arrow indicating optional or conditional behavior


extending a base use case.

Generalization: A solid arrow with a hollow triangle showing inheritance between


actors or use cases.

System Boundaries:
A rectangle around use cases that shows what is within the system’s scope.

Use Case Diagrams are useful for:

Understanding and defining the functional requirements.

Communicating system functionality to stakeholders.

Identifying and documenting interactions between users and the system.

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:

Top: Class name


Middle: Attributes (e.g., attributeName: type)
Bottom: Methods (e.g., methodName(parameterList): returnType)

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:

Associations: Lines connecting classes to show how they interact.

Multiplicity: Indicates how many instances are involved (e.g., one-to-many).

Inheritance (Generalization): Shows that a subclass inherits from a superclass


(solid line with a hollow triangle).

Aggregation: A whole-part relationship where the parts can exist independently


(line with a hollow diamond).

Composition: A stronger whole-part relationship where parts cannot exist


independently (line with a filled diamond).

Dependency: Shows that one class depends on another (dashed line with an arrow).

Class diagrams are crucial for:

Designing and visualizing the system’s structure.

Defining classes, their properties, and their interactions.

Providing a blueprint for system implementation and maintenance.

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.

Conditions and Loops:

Conditions: Brackets showing decision points.


Loops: Frames with a loop label showing repeated actions.

Sequence diagrams are useful for:

Detailing Interactions: Capturing the sequence of messages exchanged between


objects.

Understanding Behavior: Clarifying how a particular use case or functionality is


executed.

Visualizing Workflow: Providing a clear picture of the workflow for a specific


scenario.

System Sequence Diagram ?

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.

Conditions and Iterations:

Conditions: Brackets for decision points.


Iterations: Frames labeled "loop" for repeated actions.

System Sequence Diagrams are useful for:

Defining System Behavior: Capturing how the system responds to external inputs and
events.

Identifying System Requirements: Clarifying functional requirements and


interactions between the system and external actors.

Designing Scenarios: Providing a clear view of the flow of events in various


scenarios.

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.

Communication diagrams are useful for:

Visualizing Interactions: Providing a high-level view of how objects communicate


with one another.

Understanding Object Relationships: Highlighting the relationships and message


exchanges between objects.

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.

Identifying Key Requirements: Gathering and documenting the high-level functional


and non-functional requirements of the system.

Stakeholder Identification: Recognizing all stakeholders, including users,


developers, and business owners, and understanding their needs and expectations.

Risk Assessment: Identifying potential risks and challenges that could impact the
project's success and developing initial strategies to mitigate them.

High-Level Architecture: Outlining the system's overall architecture, including


major components and their interactions.

Feasibility Analysis: Evaluating the technical, operational, and economic


feasibility of the project to ensure it can be successfully developed within the
constraints of time, budget, and resources.

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.

You might also like