Sie sind auf Seite 1von 142

DETAILED

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

Parts of Design Phase


Architectural Design Phase *
Detailed Design Phase *

ARCHITECTURAL DESIGN

Software
Architecture

What is Software Architecture?


*
*
*
*

ARCHITECTURAL DESIGN

Architectural
Views to
Represent the
Requirements
for a System

Four Architectural Views to Represent the


Requirements for a System based from
Kruchten (1995) *

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

Meta-Architectural Knowledge: Styles,


Patterns,
Tactics,
and
Reference
Architectures
*
*
Different Ways of Meta-Architectural
Knowledge
Architectural styles or patters.
Architectural tactics.
Reference architectures.

ARCHITECTURAL DESIGN

MetaArchitectural
Knowledge

Architectural Styles or Patters


*
*

ARCHITECTURAL DESIGN
Most common architectural styles: *

MetaArchitectural
Knowledge

Pipes and filters


Event-driven
Client-server
Model-view-controller
Layered
Database-centric
Three-tier

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

DESIGN CHARACTERISTICS AND


METRICS
Consistency Design
*
*

DESIGN CHARACTERISTICS AND


METRICS
Completeness Design
*
*
*
*

DESIGN CHARACTERISTICS AND


METRICS

Good Design
Attributes

What are the characteristics of a good


design? *

Easy to understand
Easy to change
East to reuse
Easy to test
Easy to integrate
Easy to code

DESIGN CHARACTERISTICS AND


METRICS

Good Design
Attributes

What is Cohesion?
*
*
*
*

DESIGN CHARACTERISTICS AND


METRICS

Good Design
Attributes

Seven Categories of Cohesion to Indicate


Relative Ranking from Bad to Good: *

Coincidental
Logical
Temporal
Procedural
Communicational
Sequential
Functional

DESIGN CHARACTERISTICS AND


METRICS

Good Design
Attributes

What is Coupling?
*
*

DESIGN CHARACTERISTICS AND


METRICS
Five Distinct Levels of Coupling *

Good Design
Attributes

Content coupling
Common coupling
Control coupling
Stamp coupling
Data coupling

DESIGN CHARACTERISTICS AND


METRICS

ObjectOriented
Design
Metrics

Metrics that Measure the Desirable


Attributes of a Good Object-Oriented
Design by Chidamber and Kemerer
(1994): *

DESIGN CHARACTERISTICS AND


METRICS

ObjectOriented
Design
Metrics

What is Aspect-Oriented Programming?


*
*

DESIGN CHARACTERISTICS AND


METRICS

ObjectOriented
Design
Metrics

The Law of Demeter by Lieberherr and


Holland (1989)
*
*

DESIGN CHARACTERISTICS AND


METRICS

ObjectOriented
Design
Metrics

The Law of Demeter may be stated as


follows: *

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

UNIFIED MODELING LANGUAGE (UML)


What is Unified Modeling Language (UML)?
Standard language for specifying, visualizing,
constructing, and documenting the artifacts of
software systems.
It is an object-oriented system of notation has
evolved from the work of Grady Booch, James
Rumbaugh, Ivar Jacobson, and the Rational
Software Corporation.
Created by Object Management Group (OMG)
and UML 1.0 specification draft was proposed to
the OMG in January 1997.

UNIFIED MODELING LANGUAGE (UML)


Goals of UML:
Define some general purpose modeling
language which all modelers can use and also it
needs to be made simple to understand and
use.
Not only made for developers but also for
business users, common people and anybody
interested to understand the system (software
or non-software).
UML is not a development method rather it
accompanies with processes to make a
successful system.
Can be defined as a simple modeling
mechanism to model all possible practical
systems in todays complex environment.

UNIFIED MODELING LANGUAGE (UML)


Conceptual Model of UML:
Can be defined as a model which is made of
concepts and their relationships.
First step before drawing a UML diagram.
Helps to understand the entities in the real
world and how they interact with each other.
UML can be mastered by learning the three
major elements:
UML building blocks.
Rules to connect the building blocks.
Common mechanisms of UML.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

What are UML Notations?


Most important elements in modeling.
Efficient and appropriate use of notations is
very important for making a complete and
meaningful mode.
The model is useless unless its purpose is
depicted properly.
Structural Things
Considered as the nouns of UML models and
most widely used in UML.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Class Notation
Used to represent objects.
Diagram is divided into four parts:
Top Section
o Used to name the class.
Second Section
o Used to show the attributes of the
class.
Third Section
o Used to describe the operations
performed by the class.
Fourth Section
o Optional; used to show any
additional components.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Class Notation
Class Notation Representation:

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Object Notation
Represented in the same way as the class as
well as its usage.
The only difference is the name which is
underlined as shown below.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Interface Notation
Represented by a circle and a name which is
generally written below the circle.
Used to describe functionality without
implementation.
Just like a template where you define different
functions not the implementation.
When a class implements the interface it also
implements the functionality as per the
requirement.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Interface Notation
Interface Notation Representation:

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Collaboration Notation
Represented by a dotted eclipse and it has a
name written inside the eclipse.
Represent responsibilities.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Use Case Notation
Represented as an eclipse with a name inside
it.
It may contain additional responsibilities.
Used to capture high level functionalities of a
system.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Use Case Notation
Use Case Notation Representation:

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Actor Notation
Can be defined as some internal or external
entity that interacts with the system.
Used in a use case diagram to describe the
internal or external entities.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Initial State Notation
Defined to show the start of a process.
Used in almost all diagrams.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Finite State Notation
Used to show the end of a process.
Used in almost all diagrams to describe the
end.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Active Class Notation
Looks similar to a class with a solid border.
Generally used to describe concurrent
behavior of a system.
Used to represent concurrency in a system.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Component Notation
Additional elements can be added wherever
required.
Used to represent any part of a system for
which UML diagrams are made.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

List of Structural Things Notation


Node Notation
Represented by a square box.
Represents a physical component of the
system.
Used to represent physical part of a system
like server, network etc.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Behavioural Things
Represents the dynamic part of software
and non software systems.
Includes interactions and state machines.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Behavioural Things
Interaction Notation
Used to represent communication
among the components of a system.

UNIFIED MODELING LANGUAGE


(UML)

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.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Behavioural Things
State Machine Notation

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Grouping Things
There is only one element available for
grouping and that is package.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Grouping Things
Package Notation
Used to wrap the components of a
system.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Annotational Things
Used for explanation of different elements
and their functionalities.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Annotational Things
Note Notation
Used to provide necessary information
of a system.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Relationships
Gives a proper meaning between elements.

UNIFIED MODELING LANGUAGE


(UML)

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.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Relationships
Dependency Notation

UNIFIED MODELING LANGUAGE


(UML)

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.

UNIFIED MODELING LANGUAGE


(UML)

UML
Notations

Relationships
Association Notation
Association Notation Representation:

UNIFIED MODELING LANGUAGE


(UML)

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.

UNIFIED MODELING LANGUAGE


(UML)

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).

UNIFIED MODELING LANGUAGE


(UML)

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

What is a UML Class Diagram?


Backbone of almost every object-oriented
method including UML.
Describe the static structure of a system.
Shows structure of the designed system at
the level of classes and interfaces.
Shows also features, constraints and
relationships - associations, generalizations,
dependencies, etc.

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

What is UML Package Diagram?


Organize the elements of a system into
related groups to minimize dependencies
among them.
UML Package
Notations:
Packages
Visibility
Dependency

Diagram

Symbols

and

UML DIAGRAMS
UML Package Diagram Example:

UML
Diagrams:
UML Package
Diagram

UML DIAGRAMS

UML
Diagrams:
UML Object
Diagram

UML Object Diagram


Closely linked to class diagrams.
Could be viewed as an instance of a class
diagram.
Describe the static structure of a system at
a particular time and they are used to test
the accuracy of class diagrams.

UML DIAGRAMS

UML
Diagrams:
UML Object
Diagram

Object Diagram Symbols and Notations


Object Names.
Object Attributes.
Active Object.
Multiplicity.
Links.
Self-Linked.

UML DIAGRAMS
UML Object Diagram Example

UML
Diagrams:
UML Object
Diagram

UML DIAGRAMS

UML
Diagrams:
UML
Sequence
Diagram

What is UML Sequence Diagram?


Describes interactions among classes in
terms of an exchange of messages over
time.
UML Sequence Diagram
Notations
Class Roles.
Activation.
Messages.
Lifelines.
Destroying Objects.
Loops.

Symbols

and

UML DIAGRAMS
UML Sequence Diagram Example

UML
Diagrams:
UML
Sequence
Diagram

UML DIAGRAMS

UML
Diagrams:
UML
Collaboration
Diagram

What is UML Collaboration Diagram?


Describes interactions among objects in
terms of sequenced messages.
Represent a combination of information
taken from class, sequence, and use case
diagrams describing both the static
structure and dynamic behavior of a
system.
UML Collaboration Diagram Symbols and
Notations
Class Roles.
Association Roles.
Messages.

UML DIAGRAMS
UML Collaboration Diagram Example

UML
Diagrams:
UML
Collaboration
Diagram

UML DIAGRAMS

UML
Diagrams:
UML
Statechart
Diagram

What is UML Statechart Diagram?


Shows the behavior of classes in response
to external stimuli.
Models the dynamic flow of control from
state to state within a system.
UML Statechart Diagram Symbols and
Notations
States.
Transition.
Initial State.
Final State.
Synchronization and Splitting of Control.

UML DIAGRAMS
UML Statechart Diagram Example

UML
Diagrams:
UML
Statechart
Diagram

UML DIAGRAMS

UML
Diagrams:
UML
Component
Diagram

What is UML Component Diagram?


Describes the organization of the physical
components in a system.
UML Component Diagram Symbols and
Notations
Component.
Interface.
Dependencies.

UML DIAGRAMS
UML Component Diagram Example

UML
Diagrams:
UML
Component
Diagram

UML DIAGRAMS

UML
Diagrams:
UML
Deployment
Diagram

What is UML Deployment Diagram?


Depict the physical resources in a system
including
nodes,
components,
and
connections.
UML Deployment Diagram Symbols and
Notations
Component.
Association.
Components and Nodes.

UML DIAGRAMS
UML Deployment Diagram Example

UML
Diagrams:
UML
Deployment
Diagram

UML DIAGRAMS

UML
Diagrams:
UML Activity
Diagram

What is UML Activity Diagram?


It illustrates the dynamic nature of a system
by modeling the flow of control from activity
to activity.
An activity represents an operation on some
class in the system that results in a change
in the state of the system.
Typically used to model workflow or
business processes and internal operation.

UML DIAGRAMS

UML
Diagrams:
UML Activity
Diagram

Elements of Activity Diagram


Initial Node
Indicates the first action of the activity.

Activity State
Represent the performance of a step within
the workflow.

UML DIAGRAMS

UML
Diagrams:
UML Activity
Diagram

Elements of Activity Diagram


Transitions
Shows what activity state follows after
another.

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

Elements of Activity Diagram


Synchronization Bars
Use to show parallel sub flows.

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

ENTITY RELATIONSHIP DIAGRAM (ERD)


What is an Entity Relationship Diagram?
It illustrate the logical structure of databases.
Developed by Peter Chen in 1976.
Entity Relationship Diagram Notations
Entity
It is an object or concept about which you
want to store information.

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Weak Entity
It is an entity that must defined by a foreign
key relationship with another entity as it
cannot be uniquely identified by its own
attributes alone.

Key Attribute
It is the unique, distinguishing characteristic of the
entity.

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Multivalued Attribute
Can have more than one value.

Derived Attribute
It is based on another attribute.

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Relationships
It illustrate how two entities share
information in the database structure.

Recursive Attribute
This is applicable to entities that can be self-linked.

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Cardinality and Ordinality
Cardinality
Specifies how many instances of an
entity relate to one instance of another
entity.
Specifies the maximum number of
relationships.
Ordinality
Describes the relationship as either
mandatory or optional.
specifies the absolute minimum number
of relationships.

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Cardinality and Ordinality
Cardinality Notations
Information Engineering

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Cardinality and Ordinality
Cardinality Notations
Chen Style

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Cardinality and Ordinality
Cardinality Notations
Bachman Style

ENTITY RELATIONSHIP DIAGRAM (ERD)


Entity Relationship Diagram Notations
Cardinality and Ordinality
Cardinality Notations
Martin Style

DATA FLOW DIAGRAM

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

DATA FLOW DIAGRAM


What is Data Flow Diagram (DFD)?
Used to illustrate how data is processed by a
system in terms of inputs and outputs.

DATA FLOW DIAGRAM


Data Flow Notations
Process
Transforms incoming data flow into outgoing
data flow.

DATA FLOW DIAGRAM


Data Flow Notations
Datastore Notation
Serve as repositories of data in the system.
Sometimes these notations are referred to
as files.

DATA FLOW DIAGRAM


Data Flow Notations
Dataflow Notation
These are pipelines through which packets
of information flow.
Label the arrows with the name of the data
that moves through it.

DATA FLOW DIAGRAM


Data Flow Notations
External Entity Notation
Objects outside the system, with which the
system communicates.
These are sources and destinations of the
system's inputs and outputs.

DATA FLOW DIAGRAM


Context Diagrams
It is a top level (also known as Level 0) data
flow diagram.
It only contains one process node (process 0)
that generalizes the function of the entire
system in relationship to external entities.

DATA FLOW DIAGRAM


Data Flow Diagram Layers
A representation of DFD in several nested
layers.
A single process node on a high level diagram
can be expanded to show a more detailed data
flow diagram.

DATA FLOW DIAGRAM


Data Flow Diagram Examples

DATA FLOW DIAGRAM


Data Flow Diagram Examples

USE CASE DIAGRAM

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

USE CASE DIAGRAM


What is Use Case Diagram?
Description of specific interaction that a user
may have with the software.
Defines a sequence of interactions between the
actor and the system.
An actor initiates a use case.
Scenario Each sequence through the use case.

USE CASE DIAGRAM


Use Case Diagram Example:

Withdraw
Funds
Query
Account
ATM
Customer

Transfer
Funds

USE CASE DIAGRAM

Use Case
Diagram
Relationships

Use Case Include


Directed relationship between two use
cases which is used to show that behavior
of the included use case (the addition) is
inserted into the behavior of the including
(the base) use case.

USE CASE DIAGRAM


Use Case Include Examples:

Use Case
Diagram
Relationships

USE CASE DIAGRAM

Use Case
Diagram
Relationships

Use Case Extends


Directed relationship that specifies how and
when the behavior defined in usually
supplementary (optional) extending use
case can be inserted into the behavior
defined in the extended use case.
Use Case Extends Condition
Extend relationship as well as the
references to the extension points are
optionally shown in a comment note
attached to the corresponding extend
relationship.

USE CASE DIAGRAM


Use Case Extends Examples:

Use Case
Diagram
Relationships

USE CASE DIAGRAM


Use Case Examples:

Use Case
Diagram
Relationships

USE CASE DIAGRAM


Use Case Examples:

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

USE CASE SPECIFICATION


What Includes in Use Case Description?
Use Case Name
Summary
Actors
Preconditions
Main Sequence
Alternative Sequence (if any)
Postcondition

USE CASE SPECIFICATION


Use Case Description Example by Parts:
Use Case Name: Make Order Request
Summary: Customer enters an order request
to purchase items from the online shopping
system. The customers credit card is checked
for sufficient credit to pay for the requested
catalog items.
Actor: Customer
Precondition: The customer has selected one
or more catalog items.

USE CASE SPECIFICATION


Use Case Description Example by Parts:
Main Sequence:
1. Customer provides order request and
customer account Id to pay for purchase.
2. System retrieves customer account
information, including the customers credit
card details.
3. System checks the customers credit card
for the purchase amount and, if approved,
creates a credit card purchase authorization
number.
4. System creates a delivery order
containing order details, customer Id, and
credit card authorization number.
5. System confirms approval of purchase
and displays order information to customer.

USE CASE SPECIFICATION


Use Case Description Example by Parts:
Alternative Sequence:
Step 2: If customer does not have account,
the system creates an account.
Step 3: If the customers credit card request
is denied, the system prompts the customer
to enter a different credit card number. The
customer can either enter a different credit
card number or cancel the order.
Post Condition
System has created a delivery order for the
customer.

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

PROGRAM DESIGN LANGUAGE


What is Program Design Language?
Free-format English-like text which describes
the flow of control in a program.
Examples of Program Design Language
On Load
Add value in Student Name label (1)
Add value in Announcement list view (2)
Add value in Remarks list view (3)
On Click Profile Button (4)
Display My Contact Info link button (5)
Display My Grades link button (6)

PROGRAM DESIGN LANGUAGE


Examples of Program Design Language with
User Interface
4
5
6

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)

PROGRAM DESIGN LANGUAGE


Examples of Program Design Language with
User Interface
On Click Profile Button (4)
Display My Contact Info link button (5)
Display My Grades link button (6)
On Click My Contact Info Link Button (5)
Proceed to My Contact Info page
On Click My Grades Link Button (6)
Proceed to My Grades page

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

GRAPHICAL USER INTERFACE


What is a Graphical User Interface?
Affects the usability and acceptance of the
software.
Considered as the economic bottom line for
profitability and productivity.
Criteria for Graphical User Interface Design
Consistency
Most important criteria that provides
uniform design within the application.
Consistency
Designers should aim at reusing GUI artifacts and
elements from existing and proven interface.

GRAPHICAL USER INTERFACE


Criteria for Graphical User Interface Design
Flexibility
Allows the novice and expert users to use
different paths to navigate the interface.
Tolerance
The interface should correct trivial user input
errors and continue operation normally thereafter.
Readability
Must provide appropriate colors, font sizes and
styles that is convenient for the target users.

GRAPHICAL USER INTERFACE


Criteria for Graphical User Interface Design
Clarity
Display messages must be clear, concise,
and as elementary as possible to assist the
user in properly choosing the next action.
User-Friendliness
Provides helpful, courteous, and non-offending
messages.
Visibility
Interface should not include any hidden artifacts.

REFERENCES

REFERENCES

Textbook
References

Essentials of Software Engineering, 3rd


Ed.; Tsui, F., Karam, O., Bernal, B.; Jones &
Bartlett Learning; 2013.
Software Engineering Princicples and
Practice, 2nd Ed.; Van Vliet, Hans; John
Wiley & Sons, Inc.; 2007.
Software Engineering A Practitioners
Approach, 7th Ed.; Pressman, Roger S.;
McGraw-Hill, Inc.; 2010.
Software Modeling & Design; Gomaa,
Hassan; Cambridge University Press;
2011.

REFERENCES

Textbook
References

Software Engineering Philippine Edition;


Saleh, Kassem A.; Cengage Learning Asia;
2011.
Object-Oriented
Analysis
Grasso, Michael A.

&

Design;

REFERENCES
SE, Modeling, Hans van Vliet, 2008.
Power Point
References

Activity Diagrams by Maria Ericsson.


Advanced PIC Microcontroller Projects in
C: From USB to RTOS with the PIC18F
Series by Dogan Ibrahim.
OO Design Methods by Kenneth M.
Anderson, 2001.
OOAD Using the Unified Modeling
Language (UML) by TrainingEtc, 2007.

REFERENCES
Activity (Schd)
http://creately.com/jupiter/diagram/image/gtn25g1v
Website and
Related
Links
References

Business Process Diagrams


http://www.conceptdraw.com/samples/business-processdiagrams
DFD Example General Model of Publishers
Present Ordering System
http://nikitabansal23.blog.com/2011/04/28/dfd-examplegeneral-model-of-publishers-present-ordering-system/
Example of DFD for Online Store (Data Flow
Diagram). DFD Example
http://www.conceptdraw.com/examples/dfd-diagram

REFERENCES

Website and
Related
Links
References

IDEF0: Practical Variations


http://www.syque.com/quality_tools/toolbook/IDEF
0/vary.htm
Object-Oriented Analysis and Design
http://www.codeproject.com/KB/architecture/OOA
DTutorial/OOAD.pdf
Software Design Tools
http://www.smartdraw.com/resources/tutorials/obje
ct-oriented-design/

REFERENCES

Website and
Related
Links
References

The Unified Modeling Language


http://www.uml-diagrams.org/
UML: ACTIVITY DIAGRAM
http://www.mahmouda.com/course_files/swe/UML
%20-%20activity%20diagrams.pdf
UML Basic Notations
http://www.tutorialspoint.com/uml/uml_basic_notat
ions.htm
UML Overview
http://www.tutorialspoint.com/uml/uml_overview.ht
m

Das könnte Ihnen auch gefallen