Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
26 views

01object Oriented System Design and Analysis

Lfg

Uploaded by

vishals2003128
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

01object Oriented System Design and Analysis

Lfg

Uploaded by

vishals2003128
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Object-Oriented System

Design

Definition: OOSD is a methodology that focuses


on designing software systems using the principles and
concept of object-oriented programming.

Importance: Enhances software modularity,


reusability, and maintainability.
Object oriented Approach
 1.In the object-oriented approach, the focus is on capturing the structure and
behavior of information systems into small modules that combines both data and
process.
 2.Object Orientation means that we organize system as collection of discrete
 3.The main aim of Object Oriented Design (OOD) is to improve the quality and
productivity of system analysis and design by making it more usable.
 4.In analysis phase, OO models are used to fill the gap between problem and
solution.
 5.It performs well in situation where systems are undergoing continuous design,
adaption, and maintenance.
 6.It identifies the objects in problem domain, classifying them in terms of data
and behavior.
 Benefits of OOAD
 Modularity: Facilitates easier manageme nt and updates.
 Reusability: Promotes the use of existing code components.
 Scalability: Easily adapts to new requirements.
 Maintainability: Simplifies code maintenance and debugging.
3. Object-Oriented Analysis and Design
OO Analysis → OO Design → OO implementation using
OO languages

 Object-Oriented Analysis (OOA): Focuses on


understanding and modeling the problem domain.
 Object-Oriented Design (OOD): Involves creating the
structure for a solution using classes and interactions.
 purpose of OO analysis is to identify objects of a system to be designed.
 This analysis is also done for an existing system. Now an efficient analysis
is only possible when we are able to start thinking in a way where objects
can be identified.
 OOAD can be describe as
 Identifying the objects of a system.
 Identifying their relationships.
 Making a design, which can be converted to executable using OO languages.
Challenges in OOSD

 Complexity of object relationships.


 Potential performance overhead.
 Riskof overusing inheritance leading to
fragile designs.
 Balancing design flexibility and complexity.
Principles of good system design
1.Keep it as simple as possible to address today’s known problems :
 Can we make this simpler? Are we making too many assumptions about how this may
need to be extended in future?
2.Ensure that it’s legible:
 A successful system should be easy for users to understand when they
interact with the product. They will need to look at the UI (when we design it) and be
able to roughly figure out what the parts of the system are.
3.Move complexity to infrequently used parts of the system:
 We will accept less efficient workflows and higher learning curves for one-time tasks if
it means we get to make common tasks faster and simpler.
4. Don’t take on non-core problems :
 Don’t get distracted by the implementation details. Remember, you’re not designing
the entire product when you’re designing the system: you’re designing the major
interrelated parts of it. The system design needs to describe the shape of the
solution.
5. Build it to scale from simple use case to complicated use case
6. Prioritize adjacency to the existing system
Concept of Object oriented
 Class
 Object :
 Identity
 State
 Behavior

 Encapsulation: Bundling data and methods within classes, restricting access to


some components.
 Abstraction: Simplifying complex systems by modeling classes based on essential
characteristics.
 Inheritance: Allowing new classes to inherit attributes and methods from existing
classes, promoting code reuse.
 Polymorphism: Enabling objects to be treated as instances of their parent class,
allowing for method overriding.
 Generosity: It is a technique for defining software components that have more than
one interpretation depending on the data type of parameters.
Steps of object-oriented design :
 System analysis :
 i. In this stage a statement of the problem is formulated and a model is build.
This phase show the important properties associated with the situation.
 ii. The analysis model is a concise, precise abstraction and agreement on how
the desired system must be developed.
 Iii. The objective is to provide a model that can be understood by any
application experts in the area.
 2.System design :
 i. At this stage, the complete system architecture is designed.
 ii. In this stage the whole system is divided into subsystems, based on system
analysis model and the proposed architecture of the system.
 3.Object design :
 i. At this stage, a design model is developed based on the analysis model.
 ii. The object design decides the data structures and algorithms needed to
implement each of the classes in the system.
 Implementation
UML
(Unified Modelling Language.)
 UML is a standard language for
 specifying,
 visualizing,
 constructing,
 documenting the artifacts of software systems.
 created by the Object Management Group (OMG) and UML 1.0
specification draft was proposed to the OMG in January 1997.
 ****A conceptual model is the first step before drawing a UML
diagram. It helps to understand the entities in the real world and how
they interact with each other.
Deployment
Diagram
Collaboration
Diagram
Structural Diagrams
 Structure diagrams represent the structure of the elements in system.
i.e.,
 How one object relates to another. It shows the things in the system –
classes, objects, packages or modules, physical nodes, components, and
interfaces.
 The Seven UML structural diagrams are roughly organized around the
major groups of things you’ll find when modeling a system.
 Since structure diagrams represent the structure, they are used
extensively in documenting the software architecture of software
systems.
 For example, the component diagram describes how a software system is
split up into components and shows the dependencies among these
components.
Behavioural Diagram Brief Description

It is a graphical representations of workflows of stepwise activities and


Activity Diagram
actions with support for choice, iteration and concurrency

It describes a system’s functional requirements in terms of use cases


Use Case Diagram that enable you to relate what you need from a system to how
the system delivers on those needs.

It shows the discrete behavior of a part of a designed system through


State Machine Diagram
finite state transitions.

It shows the sequence of messages exchanged between the objects


Sequence Diagram
needed to carry out the functionality of the scenario.

It shows interactions between objects and/or parts (represented as


Communication Diagram
lifelines) using sequenced messages in a free-form arrangement.

Interaction Overview It depicts a control flow with nodes that can contain other
Diagram interaction diagrams.

It shows interactions when the primary purpose of the diagram is to


Timing Diagram reason about time by focusing on conditions changing within and
among lifelines along a linear time axis.
Behavior Diagram
 Behavioral (or Dynamic) view: emphasizes the dynamic behavior
of the system by showing collaborations among objects and
changes to the internal states of objects. This view includes
sequence diagrams, activity diagrams, and state machine diagrams.
 UML’s five behavioral diagrams are used to visualize, specify,
construct, and document the dynamic aspects of a system. It shows
how the system behaves and interacts with itself and other entities
(users, other systems). They show how data moves through the
system, how objects communicate with each other, how the
passage of time affects the system, or what events cause the
system to change internal states. Since behavior diagrams illustrate
the behavior of a system.
 In other words, a behavioral diagram shows how the system works
‘in motion’, that is how the system interacts with external entities
and users, how it responds to input or event and what constraints it
operates under.
Structural Diagram Brief Description

It shows the internal structure of a classifier, classifier


Composite Structure
interactions with the environment through ports, or behavior
Diagram
of a collaboration.

It shows a set of nodes and their relationships that illustrates


Deployment Diagram
the static deployment view of an architecture.

It groups related UML elements into a collection of logically


Package Diagram
related UML structure.
Profile Diagram
It shows a set of classes, interfaces, and collaborations and
Class Diagram their relationships, typically, found in modeling object-
oriented systems.
It shows a set of objects and their relationships, which is the
Object Diagram static snapshots of instances of the things found in class
diagrams.

It shows a set of components and their relationships that


Component Diagram
illustrates the static implementation view of a system.
UML Diagram Symbols
Use case diagrams

 Use case diagrams present an outside view of the manner the


elements in a system behave and how they can be used in the
context.
 Use case diagrams are used −
 To model the context of a system by enclosing all the activities
of a system within a rectangle and focusing on the actors
outside the system by interacting with it.
 To model the requirements of a system from the outside point
of view.
Use Case Model
 Use case diagrams comprise of −
 Use cases
 Actors
 Relationships like dependency,
generalization, and association
 Actor
 An actor represents the roles that
the users of the use cases play. An
actor may be a person (e.g. student,
customer), a device (e.g.
workstation), or another system (e.g.
bank, institution).
 The following figure shows the
notations of an actor named Student
and a use case called Generate
Performance Report.
Example of Use-case

 Let us consider an Automated Trading House


System. We assume the following features of the
system −
 The trading house has transactions with two
types of customers, individual customers and
corporate customers.
 Once the customer places an order, it is
processed by the sales department and the
customer is given the bill.
 The system allows the manager to manage
customer accounts and answer any queries
posted by the customer.
Activity Diagram

 Activity diagrams illustrate the  Activity diagrams comprise of −


dynamic nature of a system by  Activity states and action states
modeling the flow of control from
activity to activity. An activity  Transitions
represents an operation on some  Objects
class in the system that results in a
change in the state of the system.  Activity diagrams are used for modeling
Typically, activity diagrams are −
used to model workflow or business  workflows as viewed by actors,
processes and internal operation. interacting with the system.
 details of operations or computations
using flowcharts.
Example :
State Diagram
 State chart diagrams, now known as state
machine diagrams and state diagrams
describe the dynamic behavior of a system in
response to external stimuli. State diagrams
are especially useful in modeling reactive
objects whose states are triggered by specific
events.
 State Diagram Comprise of
 States: Simple or Composite
 Transitions between states
 Events causing transitions
 Actions due to the events
Example:
In the Automated Trading House System, let us
model Order as an object and trace its sequence.
The following figure shows the corresponding
state–chart diagram.
State diagram for vending machine
Interaction Diagrams

 Interaction diagrams depict interactions of objects and


their relationships. They also include the messages
passed between them. There are two types of
interaction diagrams −
 Sequence Diagrams
 Collaboration Diagrams/ communication diuagram
 Timing Diagram
 Interaction diagrams are used for modeling −
 the control flow by time ordering using sequence diagrams.
 the control flow of organization using collaboration diagrams.
Sequence Diagrams

 Sequence diagrams are interaction diagrams that


illustrate the ordering of messages according to time.
 Notations − These diagrams are in the form of two-
dimensional charts. The objects that initiate the
interaction are placed on the x–axis. The messages
that these objects send and receive are placed along
the y–axis, in the order of increasing time from top to
bottom.
 Example − A sequence diagram for the Automated Trading House System is shown in the
following figure.
Collaboration Diagrams
 Collaboration diagrams are interaction diagrams that illustrate the
structure of the objects that send and receive messages. A
collaboration diagram, also known as a communication diagram
 Notations − In these diagrams, the objects that participate in the
interaction are shown using vertices. The links that connect the
objects are used to send and receive messages. The message is
shown as a labeled arrow.

 Example − Collaboration diagram for the Automated Trading House


System is illustrated in the figure below.
Notations of a collaboration diagram
A collaboration diagram resembles a flowchart that portrays the roles, functionality and
behavior of individual objects as well as the overall operation of the system in real time.
The four major components of a collaboration diagram include the following:
1.Objects. These are shown as rectangles with naming labels inside. The naming label
follows the convention of object name: class name. If an object has a property or state that
specifically influences the collaboration, this should also be noted.
2.Links. These connect objects with actors and are depicted using a solid line between
two elements. Each link is an instance where messages can be sent.
3.Messages between objects. These are shown as a labeled arrow placed near a link.
These messages are communications between objects that convey information about the
activity and can include the sequence number
4.Actors. These are instances that invoke the interaction in the diagram. Each actor has a
name and a role, with one actor initiating the entire use case.
 Interaction Overview Diagram
Interaction overview diagrams are a combination of activity and
sequence diagrams. They model a sequence of actions and let you
deconstruct more complex interactions into manageable occurrences.
You should use the same notation on interaction overview diagrams
that you would see on an activity diagram.
 Timing Diagram
A timing diagram is a type of behavioral or interaction UML diagram
that focuses on processes that take place during a specific period of
time. They're a special instance of a sequence diagram, except time
is shown to increase from left to right instead of top down.
 Communication Diagram
Communication diagrams model the interactions between objects in
sequence. They describe both the static structure and the dynamic
behavior of a system. In many ways, a communication diagram is a
simplified version of a collaboration diagram introduced in UML 2.0.
Structural UML diagrams

 Class diagram
 Package diagram
 Object diagram
 Component diagram
 Composite structure diagram
 Deployment diagram
 Profile diagram
Class Diagram : represent the structure and
relationships of classes within a system i.e. used
to construct and visualize object-oriented
systems.
UML Diagram Symbols
 Class diagrams provide a high-level overview of a system’s design, helping to
communicate and document the structure of the software. They are a fundamental
tool in object-oriented design and play a crucial role in the software development
lifecycle.
Object Diagram
Object Diagram Example of Deriving an
Object Structure Similar to Communication
Diagram
Package
Deployment Diagram
 A Deployment Diagram illustrates how software architecture,
designed on a conceptual level, translates into the physical
system architecture where the software will run as nodes. It
maps out the deployment of software components onto
hardware nodes and depicts their relationships through
communication paths, enabling a visual representation of the
software’s execution environment across multiple nodes.
 Key elements of a Deployment Diagram
 1. Nodes : These represent the physical hardware entities
where software components are deployed, such as servers,
workstations, routers, etc.
 2. Components :Represent software modules or artifacts that
are deployed onto nodes, including executable files, libraries,
databases, and configuration files.
Deployment Diagram
 3. Artifacts : Physical files deployed onto nodes, embodying the
actual implementation of software components, such as executable,
scripts, databases, etc.
 4. Dependencies : Reflect relationships or connections between
nodes and components, indicating communication paths,
deployment constraints, or other dependencies.
 5. Associations : Show relationships between nodes and
components, signifying that a component is deployed on a particular
node, thus mapping software components to physical nodes.
 6. Deployment Specification : Describes the configuration and
properties of nodes and components, encompassing hardware
specifications, software configurations, communication protocols,
etc.
 7. Communication Paths : Represent channels or connections
facilitating communication between nodes and components,
The online exam registration process simplify the
registration experience for users. After logging in or
registering for an account, users can browse and select
their desired exam from a list of available options
Components of deployment diagram
Example of deployment diagram
Uml diagrams

http://www.programsformca.com/2012/03/uml-diagrams-for-library-
management.html

You might also like