1.1 Introduction To OOAD
1.1 Introduction To OOAD
1.1 Introduction To OOAD
1. Introduction to OOAD
2. Object Oriented Basics
3. Unified Process
4. Classes and Objects: Object and Class Relationships
5. Building Quality Classes and Objects: Measuring Quality, Choosing Operations
6. Classification: Importance and Challenges - Incremental and Iterative Classification
7. Approaches for Identifying Classes and Objects: Classical and Modern
8. Key Abstractions and Mechanisms
9. Complexity - Structure and Attributes of Complex System
10. Designing Complex Systems
11. Application case study : Inventory Management in visual Paradigm and Enterprise
Architect.
CO1 Describe the structure & attributes for designing complex systems
23CS202-Object Oriented Analysis and Design
Introduction to OOAD
Topics to be Covered
Object-Oriented Analysis
Object-Oriented Design
• Subsystem Partitioning
• Object Encapsulation
23CS202-Object Oriented Analysis and Design
1.The Subsystem Layer: It represents the subsystem that enables software to achieve user
requirements and implement technical frameworks that meet user needs.
2.The Class and Object Layer: It represents the class hierarchies that enable the system to
develop using generalization and specialization. This layer also represents each object.
3.The Message Layer: This layer deals with how objects interact with each other. It
includes messages sent between objects, method calls, and the flow of control within the
system.
4.The Responsibilities Layer: It focuses on the responsibilities of individual objects. This
includes defining the behavior of each class, specifying what each object is responsible for,
and how it responds to messages.
23CS202-Object Oriented Analysis and Design
Object Modeling
Object Modeling is a method used in computer programming and system design to create a
clear and structured representation of real-world entities or concepts as Objects. These
objects have specific attributes (characteristics) and behaviors (actions), allowing us to
better understand and plan how they interact with a software system.
•Attributes: You’d list the things that make the bicycle unique, like its color, size,
brand, and the number of wheels. For example, My bicycle is blue, medium-sized, a
Mountain Rider and has two wheels.
•Behaviors: You’d also note what the bicycle can do, like to move forward, brake,
turn left, and turn right. For instance, My bicycle can go forward when I pedal, and
it stops when I squeeze the brakes.
23CS202-Object Oriented Analysis and Design
•Problem Domain Understanding: During OOA, the software engineer works closely
with domain experts and stakeholders to understand the problem that the software it
intended to solve. This involves gathering requirements, identifying stakeholder’s
needs, and understanding the business processes.
•Use Case Modeling: Use cases are used to define the interactions between various
actors (people, others systems, etc.) and the system. Use case diagrams are a common
tool to represent these interactions, helping to capture the system’s external behavior.
•Domain Modeling: Domain modeling involves identifying and defining the core
concepts, objects, and entities in the problem domain. It typically results in the creation
of class diagrams, which represent the relationship and attributes of these entities.
23CS202-Object Oriented Analysis and Design
•Analysis of Behavior: OOA also considers the behavior of the system, often
through activity diagrams, sequence diagrams, and state diagrams. These diagrams
help depict how objects interact and the flow of information and control in the
system.
•Identifying Constraints: Constraints, both technical and non-technical, are
important to consider during OOA. These may include performance constraints,
regulatory requirements, and technology limitations.
•Non-Functional Requirements: During OOA, non-functional requirements such
as performance, scalability, security, and maintainability are identified and
documented.
•Documentation: All the analysis work is documented, which may include various
UML diagrams, use cases, textual descriptions, and other artifacts to ensure that the
system’s requirements are well-understood.
23CS202-Object Oriented Analysis and Design
•Design Patterns: OOD often involves the use of design patterns, which are proven
solutions to common design problems. These patterns help ensure the design is more
efficient and maintainable.
•Identifying Interfaces: Interfaces are defined to specify the contracts that classes must
adhere to. This enforces a level of abstraction and modularity in the design.
•Data Structures and Algorithms: OOD includes designing data structures and algorithms
necessary for implementing the software. This involves decisions regarding data storage,
retrieval, and processing.
•Testing Strategies: The design phase also encompasses planning for testing, including unit
testing, integration testing, and system testing. Test cases and testing environments are
considered.
•Documentation: Comprehensive design documentation is crucial for communication with
developers and stakeholders, ensuring that the design is well-documented and
understandable.
23CS202-Object Oriented Analysis and Design
Involves gathering and defining what the Involves how the software will do what is needed.
software should do.
Emphasizes capturing real-world concepts Emphasizes translating the captured model into a technical solution.
into a software model.
Provides the foundation for creating a Provides the foundation for the implementation and coding of the solution.
model of the problem domain.
23CS202-Object Oriented Analysis and Design
Introduction to OOAD
Summary
Introduction to OOAD
Try Yourself
• In a company, there are different sections like the finance section, sales section etc…
The finance section handles all the financial transactions and keeps records of all the
data related to finance. Similarly, the sales section handles all the sales-related
activities and keeps records of all the sales. Now there may arise a situation when for
some reason an official from the finance section needs all the data about sales in a
particular month. In this case, he is not allowed to directly access the data of the
sales section. He will first have to contact some other officer in the sales section and
then request him to give the particular data. Identify the object-oriented concept
required for this scenario.
23CS202-Object Oriented Analysis and Design
Introduction to OOAD
Try Yourself
• Consider the Class of Cars. There may be many cars with different names
and brand but all of them will share some common properties like all of
them will have four wheels, speed limit, mileage range etc. Identify the
class and the properties in this case.