Beruflich Dokumente
Kultur Dokumente
SOFTWARE DESIGN
PHASE
Marvin
Marvin V.
V. Lee, (MCSE,
(MCSE, MCSD,
MCSD, MCSA,
MCSA, MS,
MS, MCPS)
MCPS)
B.S.
B.S. CoE
CoE
TOPICS
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
OBJECT-ORIENTED
DESIGN
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
OBJECT-ORIENTED DESIGN
What is Object-Oriented Design?
Looks for logical solutions to solve a problem,
using objects.
Takes the conceptual model from ObjectOriented Analysis (OOA) result, and adds
implementation constraints imposed by the
environment, programming language and
architectural assumptions chosen as basis of
design.
OBJECT-ORIENTED DESIGN
What are the Principles
Oriented Design?
Single Responsibility
Open/Closed
Interface Segregation
Dependency Inversion
Reuse/Release Equivalency
Common Closure
Common Reuse
Acyclic Dependencies
Stable Dependencies
Stable Abstractions
behind
Object-
ARCHITECTURAL
DESIGN
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
ARCHITECTURAL DESIGN
What is Architectural Design?
*
*
ARCHITECTURAL DESIGN
Parts of
Design Phase
ARCHITECTURAL DESIGN
Software
Architecture
ARCHITECTURAL DESIGN
Architectural
Views to
Represent the
Requirements
for a System
Logical View
Process View
Subsystem decomposition view
Physical architecture view
ARCHITECTURAL DESIGN
Architectural
Views to
Represent the
Requirements
for a System
Three
Architectural
Categories
to
Represent the Requirements for a System
based from Bass, Clements, Kazman
(2003) *
Module views
Run-time views
Allocation views
ARCHITECTURAL DESIGN
MetaArchitectural
Knowledge
ARCHITECTURAL DESIGN
MetaArchitectural
Knowledge
ARCHITECTURAL DESIGN
Most common architectural styles: *
MetaArchitectural
Knowledge
ARCHITECTURAL DESIGN
Architectural Tactics *
MetaArchitectural
Knowledge
Reference Architectures *
DETAILED DESIGN
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
DETAILED DESIGN
Functional Decompostion *
Functional
Decompositio
n
DETAILED DESIGN
Rational Database Design *
Rational
Database
Design
DETAILED DESIGN
Rational
Database
Design
Four
Phases
of
Representation *
Database
Design
DESIGN
CHARACTERISTICS
AND METRICS
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
Good Design
Attributes
Easy to understand
Easy to change
East to reuse
Easy to test
Easy to integrate
Easy to code
Good Design
Attributes
What is Cohesion?
*
*
*
*
Good Design
Attributes
Coincidental
Logical
Temporal
Procedural
Communicational
Sequential
Functional
Good Design
Attributes
What is Coupling?
*
*
Good Design
Attributes
Content coupling
Common coupling
Control coupling
Stamp coupling
Data coupling
ObjectOriented
Design
Metrics
ObjectOriented
Design
Metrics
ObjectOriented
Design
Metrics
ObjectOriented
Design
Metrics
UNIFIED MODELING
LANGUAGE (UML)
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
UML
Notations
Behavioural Things
Represents the dynamic part of software
and non software systems.
Includes interactions and state machines.
UML
Notations
Behavioural Things
Interaction Notation
Used to represent communication
among the components of a system.
UML
Notations
Behavioural Things
State Machine Notation
Describes the different states of a
component in its life cycle.
Used to describe different states of a
system component. The state can be
active, idle or any other depending upon
the situation.
UML
Notations
Behavioural Things
State Machine Notation
UML
Notations
Grouping Things
There is only one element available for
grouping and that is package.
UML
Notations
Grouping Things
Package Notation
Used to wrap the components of a
system.
UML
Notations
Annotational Things
Used for explanation of different elements
and their functionalities.
UML
Notations
Annotational Things
Note Notation
Used to provide necessary information
of a system.
UML
Notations
Relationships
Gives a proper meaning between elements.
UML
Notations
Relationships
Dependency Notation
It describes the dependent elements
and the direction of dependency.
Represented by a dotted arrow.
The
arrow
head
represents
the
independent element and the other end
the dependent element.
Used to represent dependency between
two elements of a system.
UML
Notations
Relationships
Dependency Notation
UML
Notations
Relationships
Association Notation
Describes how the elements in an UML
diagram are associated.
Represented by a dotted line with
(without) arrows on both sides.
The multiplicity is also mentioned at the
ends (1, * etc) to show how many
objects are associated.
Used to represent the relationship
between two elements of a system.
UML
Notations
Relationships
Association Notation
Association Notation Representation:
UML
Notations
Relationships
Generalization Notation
Describes the inheritance relationship of
the object oriented world.
Represented by an arrow with hollow
arrow head.
One end represents the parent element
and the other end child element.
Used
to
describe
parent-child
relationship of two elements of a
system.
UML
Notations
Relationships
Extensibility Notation
Used to enhance the power of the
language.
Used to represent some extra behaviour
of the system.
Extensibility Notation Mechanisms that
provide extensibility features:
Stereotypes
(Represents
new
elements).
Tagged values (Represents new
attributes).
Constraints
(Represents
the
boundaries).
UML
Notations
Relationships
Extensibility Notation
Extensibility Notation Representation:
UML DIAGRAMS
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
UML DIAGRAMS
UML
Diagrams:
UML Class
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Class
Diagram
UML
Class
Diagram
Symbols
Notations
Active Class.
Visibility.
Associations.
Multiplicity (Cardinality).
Constraint.
Composition and Aggregation.
Generalization.
and
UML DIAGRAMS
UML Class Diagram Example:
UML
Diagrams:
UML Class
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Package
Diagram
Diagram
Symbols
and
UML DIAGRAMS
UML Package Diagram Example:
UML
Diagrams:
UML Package
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Object
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Object
Diagram
UML DIAGRAMS
UML Object Diagram Example
UML
Diagrams:
UML Object
Diagram
UML DIAGRAMS
UML
Diagrams:
UML
Sequence
Diagram
Symbols
and
UML DIAGRAMS
UML Sequence Diagram Example
UML
Diagrams:
UML
Sequence
Diagram
UML DIAGRAMS
UML
Diagrams:
UML
Collaboration
Diagram
UML DIAGRAMS
UML Collaboration Diagram Example
UML
Diagrams:
UML
Collaboration
Diagram
UML DIAGRAMS
UML
Diagrams:
UML
Statechart
Diagram
UML DIAGRAMS
UML Statechart Diagram Example
UML
Diagrams:
UML
Statechart
Diagram
UML DIAGRAMS
UML
Diagrams:
UML
Component
Diagram
UML DIAGRAMS
UML Component Diagram Example
UML
Diagrams:
UML
Component
Diagram
UML DIAGRAMS
UML
Diagrams:
UML
Deployment
Diagram
UML DIAGRAMS
UML Deployment Diagram Example
UML
Diagrams:
UML
Deployment
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Activity
Diagram
UML DIAGRAMS
UML
Diagrams:
UML Activity
Diagram
Activity State
Represent the performance of a step within
the workflow.
UML DIAGRAMS
UML
Diagrams:
UML Activity
Diagram
Decisions
It is a control which transition of a set of
alternative transitions that follows once the
activity has been completed.
UML DIAGRAMS
UML
Diagrams:
UML Activity
Diagram
Final Node
Activity's concurrent actions and sub-activities
terminates when reaches this stage.
UML DIAGRAMS
UML Activity Diagram Examples
UML
Diagrams:
UML Activity
Diagram
UML DIAGRAMS
UML Activity Diagram Examples
UML
Diagrams:
UML Activity
Diagram
ENTITY
RELATIONSHIP
DIAGRAM (ERD)
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
Key Attribute
It is the unique, distinguishing characteristic of the
entity.
Derived Attribute
It is based on another attribute.
Recursive Attribute
This is applicable to entities that can be self-linked.
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
Withdraw
Funds
Query
Account
ATM
Customer
Transfer
Funds
Use Case
Diagram
Relationships
Use Case
Diagram
Relationships
Use Case
Diagram
Relationships
Use Case
Diagram
Relationships
Use Case
Diagram
Relationships
Use Case
Diagram
Relationships
USE CASE
SPECIFICATION
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
CLASS DEFINITION
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
CLASS DEFINITION
What is Class Definition?
Provides detailed description of classes as well
its methods and operations.
PROGRAM DESIGN
LANGUAGE
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
1
2
3
On Load
Add value in Student Name label (1)
Add value in Announcement list view (2)
Add value in Remarks list view (3)
GRAPHICAL USER
INTERFACE
Object-Oriented Design
Architectural Design
Detailed Design
Design Characteristics and Metrics
Unified Modeling Language (UML)
UML Diagrams
Entity Relationship Diagram (ERD)
Data Flow Diagram
Use Case Diagram
Use Case Specification
Class Definition
Program Design Language
Graphical User Interface
REFERENCES
REFERENCES
Textbook
References
REFERENCES
Textbook
References
&
Design;
REFERENCES
SE, Modeling, Hans van Vliet, 2008.
Power Point
References
REFERENCES
Activity (Schd)
http://creately.com/jupiter/diagram/image/gtn25g1v
Website and
Related
Links
References
REFERENCES
Website and
Related
Links
References
REFERENCES
Website and
Related
Links
References