Object oriented analysis and design
Object oriented analysis and design
Object oriented concepts have become quiet popular in the area of computer programming with the
promise of
Interchangeable
Reusable
Easily updateable
Easily interconnected
software parts.
OOAD – BASIC CONCEPTS
Whereas in a object oriented language each step might be a whole box full of instructions.
OOAD – BASIC CONCEPTS
Object–Oriented Analysis (OOA) is the procedure of identifying software engineering requirements and
developing software specifications in terms of a software system’s object model, which comprises of
interacting objects.
Requirements Gathering:
Identify the system's functional and non-functional requirements.
Understand the user's needs and expectations.
Object-Oriented Analysis:
Identify the objects and their relationships in the system.
Create a conceptual model of the system using UML diagrams (e.g., use case diagrams, class diagrams).
Define the attributes and methods of each object.
OBJECT-ORIENTED ANALYSIS
Object–Oriented Design (OOD) involves implementation of the conceptual model produced during
object-oriented analysis. In OOD, concepts in the analysis model, which are technology−independent,
are mapped onto implementing classes, constraints are identified and interfaces are designed, resulting
in a model for the solution domain, i.e., a detailed description of how the system is to be built on
concrete technologies.
Design the system's architecture, including the overall structure and components.
Design the classes and their relationships, focusing on modularity and reusability.
Create detailed design diagrams (e.g., class diagrams, sequence diagrams).
OBJECT-ORIENTED DESIGN
Enable the modeling of systems (not just software) using object-oriented concepts
Establish an explicit coupling to conceptual as well as executable artifacts
Address the issues of scale inherent in complex, mission-critical systems
Create a modeling language usable by both humans and machines
UML USAGE: OVERVIEW
Provides a uniform modeling formalism and a set of (object-oriented) constructs (notation) for
representing the elements of a domain of interest as well as their relationships in a Static Structural
Model
By effectively using UML for informational modeling, software developers and analysts can:
Improve Communication: Clearly communicate the information structure of a system to stakeholders.
Enhance Design Quality: Create well-structured and maintainable data models.
Facilitate Database Design: Generate database schemas directly from UML models.
Support Code Generation: Automate the generation of code from UML models.
BASIC MODELING ELEMENTS
Structural elements
Class – Attributes – Operations - Interface –Object
Behavioral elements
Use Case – Activity Diagram – Sequence Diagram – State chart Diagram
Grouping elements
package, subsystem
BASIC MODELING ELEMENTS
To generate code
MODELS AND DIAGRAMS State
State
Diagrams
Class
Diagrams
Use Case Diagrams
A model is a Use Case
Diagrams State
complete Use Case Use Case
Diagrams State
Diagrams
Use Case Diagrams Object
Diagrams
description of a Diagrams
Sequence Diagrams
Diagrams
system Diagrams
from a particular
perspective
Scenario State
Scenario
Diagrams State
Diagrams
Collaboration
Diagrams Component
Diagrams
Diagrams Diagrams
Models
Scenario Component
Scenario
Diagrams
Component
Diagrams
Deployment
Statechart
Diagrams Diagrams
Diagrams Diagrams
Activity
Diagrams
UML MODEL VIEWS