SAD_CHAPTER4
SAD_CHAPTER4
SAD_CHAPTER4
design
Major principles
Functional view of the system
Modularization
Divide large, complex problems into smaller, more
easily handled ones
Hierarchy
Top-down approach
Define all the tasks or processes in a system from
top to bottom in increasing levels of detail
Structured Analysis and Design
Analysis Phase
Model of the problem domain is developed showing
its important properties
Develop an object model of the application domain
Object models represent data and behavior, and
show how objects affect other objects
Model specifies the functional behavior of the
system independent of implementation details
Use-case, Class, Sequence, & Activity diagrams
Object Oriented Analysis and Design
Design Phase
Analysis model is refined and adapted to the
environment
Class Modeling, State & Collaboration diagrams
Can be separated into two stages
System design
Concerned with overall system architecture
Object design
Implementation details are added to system design
Component diagram, Deployment diagram
Object Oriented Analysis and Design
Summary
Object Oriented Analysis and Design
Inception
Defining the scope, determining the feasibility,
understanding user requirements, preparing a
software development plan
Relatively short, low resource requirements
Focus on planning and analysis
Elaboration
Detailed user requirements and baseline
architecture is established
Fairly long, but not high in resource demand
Focus on analysis and design
Our Approach to Systems Development
Construction
Coding, testing, and documenting code
Longest and most resource-intensive
Focus is on implementation tasks
Transition
System is deployed and users are trained and
supported
Short-term, but resource-intensive
Focus is on installation, training, and support
Our Approach to Systems Development
OO Principales
1: Abstraction
A process allowing to focus on most important aspects
while ignoring less important details.
Abstraction allows us to manage complexity by
concentrating on essential aspects making an entity
different from others
2: Encapsulation
Encapsulation separates implementation from
users/clients.
A client depends on the interface
3: Modularity
Modularity breaks up complex systems into small, self-
contained pieces that can be managed independently.
OO Principles
4.Hierarchy
Inheritance
What is an object?
1) Any abstraction that models a single thing
2)A representation of a specific entity in the real
world
3) May be tangible (physical entity) or intangible
Examples: specific citizen, agency, Job, location, order,
etc.
Basic concepts of an object
Object Definition
Two aspects:
Information:
1) has a unique identity
2) has a description of its structure
3) has a state representing its current condition
Behaviors:
1) what can an object do?
2) what can be done to it?
Object Definition
Class
What is a class?
1) Any uniquely identified abstraction of a set of
logically related instances that share similar
characteristics
3) A definition or template that describes how to build
an accurate representation of a specific type of objects
Examples: agency, citizen, car, etc.
Objects are created using class definitions as
templates
Class
Attribute