OOAD 1st Unit Complete Notes
OOAD 1st Unit Complete Notes
OOAD 1st Unit Complete Notes
INTRODUCTION: Object-Oriented Analysis and Design (OOAD) is a methodology for analyzing and
designing a system by visualizing it as a group of interacting, self-contained entities called
objects.(Question no. 1)
JUST FOR INFO: The goal of Object-Oriented Analysis and Design is to improve the quality of the
software system by making it more modular, scalable, and maintainable. OOAD is a crucial step in the
software development life cycle, often performed before the actual coding begins.
Object : In Object-Oriented Analysis and Design (OOAD), an "object" is a fundamental concept that
represents a real-world entity with both data (attributes or properties) and behaviors (methods or
functions).
UML: UML stands for Unified Modeling Language, and it is a standardized visual modeling
language used to represent and design software systems. (Question no. 2)
Actors (Question no. 7, 10, 26): An "actor" is an external entity that interacts with a system.
Actors are not part of the system itself but rather represent roles played by external entities,
such as users, other systems, or even hardware devices.
Type of Actors:
Primary Actors : are the main external entities that directly interact with the system
to achieve a specific goal or execute a use case.
Secondary Actors: are entities that provide services or support to the system but are
not the primary users of the system.
Tertiary Actors: are entities that provide services or support to the system but are
not the primary users of the system
Scenario:
…….. [Note: Explain (a) Actors (b) Scenarios (c) Use cases] (Question no. 25)…….
for info: The inception phase is part of the larger software development life cycle and
represents the starting point where the project is initiated, and the initial requirements and
scope are defined.
Unified Process (Question no. 20, 29, 31): Unified Process (UP) in OOAD is a software
development methodology that provides a framework for iterative and incremental
development. It is an adaptable process that emphasizes flexibility, collaboration, and the
iterative refinement of a software system throughout its development life cycle.
1) Inception: During the inception phase, the primary goal is to establish the project's
vision, scope, and feasibility. This phase involves understanding the high-level
requirements, defining the initial use cases, identifying major risks, and creating a
preliminary project plan.
2) Elaboration: The elaboration phase is focused on refining the project vision and
establishing a solid architecture for the system. It involves a more detailed analysis of
the requirements, further risk assessment, and the development of a stable
architecture that can serve as a foundation for subsequent development.
3) Construction: The construction phase is where the actual coding and
implementation of the system occur. It involves building, integrating, and testing the
system incrementally. The emphasis is on delivering functionality in successive
iterations.
4) Transition: The transition phase focuses on deploying the system to end-users or
customers. It involves user training, final testing, and the transition of the system
from development to production
In OOAD, several types of diagrams are used to model different aspects of software system.
How to draw it :
Example:
2) Class Diagram:
Class diagrams represent the static structure of the system by illustrating classes,
their attributes, methods, and relationships. They provide a blueprint for designing
the data and object-oriented structure of the system.
o The name of the class diagram should be meaningful to describe the aspect
of the system.
o Use notes whenever required to describe some aspect of the diagram. At the
end of the drawing it should be understandable to the developer/coder.
o Finally, before making the final version, the diagram should be drawn on plain
paper and reworked as many times as possible to make it correct.
Example:
3) Activity Diagram:
Activity diagrams represent workflows and business processes within the system.
They illustrate the flow of activities and decision points, helping to model the
dynamic aspects of the system.
How to draw:
o Identify the initial state and the final terminating states.
o Identify the possible states in which the object can exist (boundary values
corresponding to different attributes guide us in identifying different states).
o Label the events which trigger these transitions.
Example:
5) Component Diagram:
Component diagrams depict the physical structure of the system by illustrating the
software components and their relationships. They help visualize how the software is
organized at a high level.
Example:
Object oriented software development life cycle (Question no. 36)
Object-Oriented Programming (OOP) is a programming paradigm that uses objects, which are
instances of classes, to design and organize code. The development life cycle in an Object-Oriented
approach typically involves the following stages:
Analysis:
Design:
• Create a conceptual model of the system using tools like UML (Unified Modeling Language).
• Define classes and their attributes (data members) and behaviors (methods/functions).
• Establish relationships between classes (e.g., inheritance, composition).
• Create diagrams such as class diagrams, sequence diagrams, and use case diagrams.
Implementation:
Testing:
• Conduct unit testing to verify the functionality of individual classes and methods.
• Perform integration testing to ensure that components work together as expected.
• Validate that the system meets the specified requirements.
Deployment:
Throughout the development life cycle, OOP principles such as encapsulation, inheritance, and
polymorphism guide the organization and structure of the code. These principles contribute to
creating code that is modular, extensible, and easier to maintain over time. The iterative and
incremental nature of the OOP development life cycle allows for flexibility and adaptation to
changing requirements.