SAD Tutorial
SAD Tutorial
SAD Tutorial
Analysis and
Design
SDLC Phases
Object Oriented Concepts
Object Oriented modeling
Tutoria principles
l System Modeling
conten Techniques
ts User requirement using
UML of OO techniques
Detail design using UML of
SDLC Phase
System analysis: understanding and
specifying in detail what the system
should do.
A process of collecting and interpreting
facts, identifying the problems, and
decomposition of a system into its
components.
Studying a system
SDLC Phase
System design: specifying in detail how the
parts of an information system should be
implemented.
A process of planning a new business
system or replacing an existing system by
defining its components or modules to
satisfy the specific requirements.
System Design focuses on how to
accomplish the objective of the system.
SDLC Phase
SAD: The complex organizational
process whereby computer-based
information systems are developed and
maintained.
SAD focus on:
Systems
Processes
Technology
SDLC Phase
SDLC: a conceptual model which includes
policies and procedures for developing or
altering systems throughout their life
cycles.
the system.
Direct Installation
Parallel Installation
SDLC Phase
Single location installation
Phase installation
SDLC Phase
Corrective maintenance: Changes made to a
system to repair flaws in its design, coding, or
implementation.
Adaptive maintenance: Changes made to a
system to evolve its functionality to changing
business needs or technologies.
Perfective maintenance: Changes made to a
system to add new features or to improve
performance.
Preventive maintenance: Changes made to a
Object
Object Oriented
Oriente
d Concepts
s Modeling Principles
2. Object oriented
Concepts
Object-oriented analysis is a method of
analysis that examines requirements from the
perspective of the classes and objects found
in the vocabulary of the problem domain.
Object-oriented design is a method of
design encompassing the process of object-
oriented decomposition and a notation for
depicting both logical and physical as well as
static and dynamic models of the system
2. Object oriented
Concepts
OOAD is often called the third approach to
systems development, after the process-
oriented and data-oriented approaches.
The object-oriented approach combines
data and processes (called methods) into
single entities called objects.
2. Object oriented
Concepts
There are three types of models in object
oriented languages.
Object model
Dynamic model
Functional model
The conceptual framework of object–
oriented systems is based upon the object
model.
3. OO Modeling
Principles
OO systems Principles:
Abstraction
It is a process of taking or selecting necessary
method and attributes to specify the object.
It focuses on essential characteristics of an object
relative to perspective of user.
An abstraction denotes the essential
characteristics of an object that distinguish it from
all other kinds of objects and thus provide crisply
defined conceptual boundaries, relative to the
3. OO Modeling
Principles
OO systems Principles:
Data Hiding
Typically, a class is designed such that its
data (attributes) can be accessed only by its
class methods and insulated from direct
outside access.
This process of insulating an object’s data is
called data hiding or information hiding.
3. OO Modeling
Principles
OO systems Principles:
Encapsulation
Encapsulation is a process of information hiding.
It is simply the combination of process and data
into a single entity.
Data of an object is hidden from the rest of the
system and available only through the services
of the class.
It allows improvement or modification of
methods used by objects without affecting other
3. OO Modeling
Principles
OO systems Principles:
Inheritance
It is a great feature that allows to create sub-classes
from an existing class by inheriting the attributes
and/or operations of existing classes.
It is a relationship among classes wherein one class
shares the structure and/or behavior defined in one
(single inheritance) or more (multiple inheritance)
other classes.
The class from which another class inherits its
3. OO Modeling
Principles
OO systems Principles:
Polymorphism
Polymorphism means "many forms" and is the
opposite of uniform.
Polymorphism refers to one name with many
forms.
It is the ability of one function to perform in
different ways. In other words, It refers to an
object’s ability to take on more than one single
3. OO Modeling
Principles
OO systems Principles:
Polymorphism
Polymorphism allows objects with different
internal structures to have a common external
interface.
Polymorphism is particularly effective while
implementing inheritance.
Example: Let us consider two classes, Circle and Square,
each with a method findArea(). Though the name and purpose
of the methods in the classes are same, the internal
implementation, i.e., the procedure of calculating area is
different for each class. When an object of class Circle invokes
3. OO Modeling
Principles
OO systems Principles:
Relationships
All the classes in the system are related with
each other.
The objects do not exist in isolation, they exist
in relationship with other objects. There are
three types of object relationships:
Aggregation: It indicates relationship between
a whole and its parts.
3. OO Modeling
Principles
OO systems Principles:
Relationships
Association: two classes are related or
connected in some way such as one class works
with another to perform a task or one class acts
upon other class. (“part of” relation)
Generalization: the child class is based on
parent class. It indicates that two classes are
similar but have some differences. (“is a”
3. OO Modeling
principles
Object-oriented modeling (OOM) is the
construction of objects using a collection of
objects that contain stored values of the
instance variables found within an object.
Unlike models that are record-oriented,
object-oriented values are solely objects.
3. OO Modeling
principles
The object-oriented modeling approach
creates the union of the application and
database development and transforms it into
a unified data model and language
environment.
Object-oriented modeling allows for object
identification and communication while
supporting data abstraction, inheritance and
4. System Modeling
Techniques
System modeling is the process of developing
abstract models of a system, with each model
presenting a different view or perspective of
that system.
System modeling has now come to mean
representing a system using some kind of
graphical notation, which is now almost always
based on notations in the Unified Modeling
Language (UML).
4. System Modeling
Techniques
System Perspective
• An external perspective, where you model the
context or environment of the system.
• An interaction perspective, where you model the
interactions between a system and its environment,
or between the components of a system.
• A structural perspective, where you model the
organization of a system or the structure of the data
that is processed by the system.
• A behavioral perspective, where you model the
4. System Modeling
Techniques
Context models: are used to illustrate the
operational context of a system. They show what
lies outside the system boundaries.
Activity Diagrams
DFD Symbol
Representation
4. System Modeling
Techniques
4. System Modeling
Techniques
Logical Structure/Conceptual Data
Modeling :
Representing the data in a system
organization, to show the overall structure of
the data.
A data model should be independent of any
DBMS and of other implementation
considerations.
Entity-Relationship diagram(ERD) data
4. System Modeling
Techniques
ER Diagram for
University
4. System Modeling
Techniques
UML
Standard language for specifying, visualizing,
constructing, and documenting the artifacts of
software systems, business modeling and other
non-software systems.
It is a graphical language for OOAD that gives a
standard way to write a software system's
blueprint.
The UML represents a collection of best
engineering practices that have proven successful
4. System Modeling
Techniques
UML
The UML is a very important part of developing
object oriented software and the software
development process.
The UML uses mostly graphical notations to
express the design of software projects.
Using the UML helps project teams
communicate, explore potential designs, and
validate the architectural design of the software.
4. System Modeling
Techniques
Structural: element Behavioral : behavioral
of spec. irrespective features of a system /
of time business process
Class Activity
Object Interaction
Composite structure
Interaction : emphasize
Package object interaction
Communication
(collaboration)
Sequence
Interaction overview
Timing
User requirement using UML of
OO techniques
• The statement of user requirements describes what
the user expects from the system.
• A requirement specifies a capability/condition that
must be satisfied. Which can define a function that a
system must perform/ performance condition a
system must achieve.
• Requirement definition:
• Capture and describe user information
requirement.
• Establish scope of the system.
User requirement using UML of
OO techniques
• Requirement diagrams are based on
the OMG’s, SysML (System Modeling
Language) standard.
User requirement using UML of
OO techniques
UML includes the following nine diagrams.
Class diagram
Object diagram
Use case diagram
Sequence diagram
Collaboration diagram
Activity diagram
State chart diagram
Deployment diagram
Component diagram
User requirement using UML of
OO techniques
Use-case Model:
Describes the proposed functionality of the new
system.
A Use Case represents a discrete unit of
interaction between a user (human or machine)
and the system.
Each Use Case has a description which describes
the functionality that will be built in the proposed
system.
User requirement using UML of
OO techniques
Use Case(s): describes a sequence of
actions that provide something of measurable
value to an actor.
Describes the typical ways (or cases) of using
the system.
Each use case expresses the goal of the
actors involved and describes the task that
the system, with the assistance of
appropriate actors, will perform.
User requirement using UML of
OO techniques
Actor(s): is a person, organization, or external
system that plays a role in one or more interactions
with your system.
Actors reflect the roles that users play in relation to
the system. Users may be people, other systems, or
even devices.
Anything or anyone that will eventually interact with
the system is considered a user.
Actors are outside the system and usually outside
the control of the system.
User requirement using UML of
OO techniques
Extend: a relationship from the extension
use case to a base use case specifying how
the behavior of extension use case can be
inserted into the behavior defined for the base
use case.
Include: a relationship from a base use
case to inclusion use case specifying how
the behavior of the inclusion use case can be
User requirement using UML of
OO techniques
(Behavior)
User requirement using UML of
OO techniques
Class Diagram
Purpose of Class Diagrams
Shows static structure of classifiers in a
system.
Diagram provides a basic notation for other
structure diagrams prescribed by UML.
Helpful for developers and other team
members too.
Business Analysts can use class diagrams to
User requirement using UML of
OO techniques
Class Notation: a class notation consists of three parts:
Class Name: the name of the class appears in the first
partition.
Class Attributes: attributes are shown in the second partition.
Attributes map onto member variables (data members) in code.
Class Operations (Methods):
• They are services the class provides.
• The return type of a method is shown after the colon at the
end of the method signature.
• The return type of method parameters is shown after the
colon following the parameter name.
• Operations map onto class methods in code.
User requirement using UML of
OO techniques
+ name : String
# address : Address
# birthdate : Date
/ age : Date
- ssn : Id
(Structure)
User requirement using UML of
OO techniques
Activity diagram
• Activity diagram is another important
diagram in UML to describe the dynamic
aspects of the system.
• Activity diagram is basically a flowchart to
represent the flow from one activity to
another activity. The activity can be
described as an operation of the system.
User requirement using UML of
OO techniques
User requirement using UML of
OO techniques
Sequence diagram
It is one of the UML Behavioral diagrams that
can be used to define the time ordered flow
of messages between elements.
They can be used by business and technical
users but are more commonly used for
technical descriptions of a system.
User requirement using UML of
OO techniques
Sequence diagram
• Purpose of Sequence Diagram
• Model high-level interaction between active objects in
a system.
• Model the interaction between object instances within
a collaboration that realizes a use case.
• Model the interaction between objects within a
collaboration that realizes an operation.
• Either model generic interactions (showing all
possible paths through the interaction) or specific
User requirement using UML of
OO techniques
Sequence diagram
User requirement using UML of
OO techniques
User requirement using UML of
OO techniques
State machine diagram
It is UML Behavioral diagrams that can be used
to model the important phases in the lifetime of
an element.
Illustration of the states an object can attain as
well as the transitions between those states in
the UML.
It defined for a selected entity in the system and
a perspective is defined that will be modeled by
User requirement using UML of
OO techniques
User requirement using UML of
OO techniques
Deployment diagram
• Shows how and where the system is to be
deployed; that is, its execution architecture.
• Hardware devices, processors and software
execution environments (system Artifacts)
are reflected as Nodes, and the internal
construction can be depicted by embedding
or nesting Nodes.
User requirement using UML of
OO techniques
Core concepts