Object Oriented SAD-2 Part I
Object Oriented SAD-2 Part I
Object Oriented SAD-2 Part I
Design
Chapter II- Modeling using
UML
Understanding modeling tools
in system/software
development
Chapter Objective
To
12/06/15
The UML
Functional Model
Use Case Diagram (essential and system)
Structural
Model
Models
12/06/15
OO METHODOLOGIES
During the early 90s, there were around 50 O-O
methodologies among them:
Shlaer-Mellor
(OOA/D),
Wirfs-Brock
(Responsibility-Driven
Design/Class/Responsibility/Collaboration)
RDD/CRC,
(Object-Oriented
Analysis/Design
Object
Jacobson Object-Oriented
(OOSE) Use case driven
Software
Engineering
PROBLEMS
The existence of different OO
methodologies resulted in the
following problems:
Resulted in multitude
interpretation of same concepts
Encouraged confusion
Limited the progress of methods
Methods influenced one another
Existing
THE UNIFICATION
Based
THE UNIFICATION
A year later they were joined by
Ivar Jacobson
UML
It
Visualizing
Specifying building models that are
precise, unambiguous, and complete
Constructing possible to map from
a model in the UML to a
programming language
Documenting
Intended
systems
for software-intensive
is
not
a
method
or
methodology (Method = Notation
(e.g.,UML) + Process)
UML does not dictate a particular
process
UML can be used to record the
resulting
domain
and
design
models, independent of the process
Choose an appropriate process for a
particular project, independent of
the modeling language
UML STRUCTURE
UML
Common
mechanisms
Building
blocks
Building
blocks
things
relationships
Diagrams
Common
mechanisms
specifications
Adornments/ dicoration
common divisions
extensibility mechanisms
Architecture
Architecture
usecaseview
logicalview
processview
implementationview
deploymentview
UNDERSTANDING UML
2.
3.
4.
BUILDING BLOCKS OF
UML
employee
name
a
specialization/generalization relationship in
which objects of the specialized element
(the child) are substitutable for objects of
the generalized element (the parent)
BUILDING BLOCKS OF
UML
3. Diagram
UML DIAGRAMS
Diagrams used to describe structure
Class diagram
Object diagram
Component diagram
Deployment diagram
Sequence diagram
Activity diagram
Collaboration diagrams
Statechart diagram
Activity diagram.
Each use case may create one activity
diagram.
Statechart diagram.
Each class may create a statechart
diagram, useful for determining
class methods.
Overview of UML
Diagrams
RULES OF UML
UMLs
COMMON MECHANISMS IN
UML
Systems development using UML can be made simpler
by the presence of common mechanisms:
1.
2.
4. Extensibility mechanisms
UML can be extended using the following mechanisms
ARCHITECTURE
Architecture is the set of significant decisions
about
The organization of a software system
The selection of the structural elements and their
interfaces by which the system is composed
Their behavior, as specified in the collaborations
among those elements
The composition of these structural and behavioral
elements into progressively larger subsystems
The architectural style that guide this organization:
the static and dynamic elements and their
interfaces,
their
collaborations,
and
their
composition.
ARCHITECTURE
Software
Views of a system
Systems
UML
system assembly
configuration mangmt
vocabulary
functionality
Designview
behavior
Processview
performance
scalability
throughput
Implementationview
Deploymentview
system topology
distribution
delivery
installation
Eachviewfocusedonaparticularaspectofthesystem,arestand
aloneandinteractwitheachother
Use
case view
Design
views
Process
view
Implementation
view
view
Functional Model
Use Case Diagram
Essential
System
12/06/15
37
Cont
Represents
the
functional
requirements of a system under
development
Captures the business processes
carried out in the system
A use case model may consists of
Single use case diagram
Further (nested) packages of use case
diagrams
The
Cont..
Use
Essential
Used at requirement elicitation stage
Technology free
Just to understand what users need to
see on the system from functions point of
view
System
Is a continuation of essential use case
Adding implementation related details
12/06/15
40
Components
Diagram
Documentation
On-line Bookstore
System
Register
Custome
r
Order
books
Sell used
books
Use Case
Functional
Requirements
Diagram
Review
books
44
Reorder
Sales Clerk
<
<
In
cl
u
de
s>
>
<<Includes>>
Login
Add to Stock
<<Includes>>
<<Includes>>
Generate
Report
Manager
Cont
The
The
SellItem
UC008
Sellavailableitemsinastoretoacustomer
SalesClerk
none
Thesalesclerkwillselltheitemifavailableinstore
none
Extends
UC001
Includes
BasicCourseofAction
1.TheSalesClerkwanttosellanitem
2.TheSalesClerklogsintothesystemusingUC001:Login
3.ThesystemdisplaysthemainWindowUI002:MainMenu
4.TheSalesClerkselectsSellfromtheMainMenu
5.ThesystemdisplaystheSellinterfaceUI006:SellItem
6.TheSalesClerkselectstheitemsandquantityhewanttosell
7.ThesystemchecktheavailabilityoftheitemsaccordingtothebusinessruleBR012:checkavailabilityofitem
8.ThesystemdisplaysthetotalamountofmoneytobepaidwiththeitemlistviaUI013:PaymentVoucher
9.TheSalesClerkindicateshewanttoprintthepaymentvoucher.
10.Thesystemprintsthepaymentvoucher
11.TheusecaseendswhentheSalesclerkreceivethemoneyandgivethepaymentvouchertocustomer.
AlternativeCourseofActionA:Theitemisnotavailableinstore
8.Thesystemdeterminesthattheitemisnotavailable.
9.ThesysteminformstheSalesClerkthatthetransactioncannotbecompletedviaUI014:ItemQuantitynotAvailable
10.Theusecasesresumesatstep6ofthebasiccourseofaction
Cont
Note
49
Actor
An
Actor
Actors
51
USE CASES
A
USE CASES
Ausecaseisshownasanellipseinausecasediagram
Use cases
A
Be written so as to be as independent
as possible from any particular user
interface design.
Only include actions in which the actor
interacts with the computer.
12/06/15
55
Scenarios
A
12/06/15
56
RELATIONSHIPS
Relationships
use cases
are represented by directional or
nondirectional edges
May be annotated by stereotypes
RELATIONSHIPS
Association
RELATIONSHIPS
Extends
RELATIONSHIPS
Generalization
From specialization to generalized use case
RELATIONSHIPS
<<includes>
>
<<includes>
>
61
System Boundary
The
SYSTEM BOUNDARY
A use case diagram depicting the system
boundary of a clinic application
63
RELATIONSHIPS
64
Good Practice
Develop
System level
Module level
Class
Interface
etc
65
FLOW OF EVENTS
Specify
66
FLOW OF EVENTS(major
elements)
68
Example:
On-line Bookstore is a web application that can be
<<extend>>
(CustID)
Customer
Check out
Order books
<<include>>
<<include>>
Log-in
Sell used
books
<<include>>
Review books
72
Use
1. The CUSTOMER clicks the Sell Used Books button on the Home
Page.
2. The system displays the sell used books web page.
3. The CUSTOMER enters the required information on the used
books
that he/she wants to sell.
4. The CUSTOMER clicks the SEND button on the webpage.
5. The system displays a confirmation page listing the
information that
the CUSTOMER has entered.
6. The CUSTOMER checks that the information displayed are
accurate.
If yes, the CUSTOMER clicks the OK button on the web page.
7. The system updates the USED BOOKS table in the database.
73
74
12/06/15
75
TO BE CONTINUED
12/06/15
76
Exercise-one
77
Exercise-two
78
Guide Lines
79