Upload
getachewaw5201
View
231
Download
0
Embed Size (px)
Citation preview
8/6/2019 Process Modeling Overview
1/56
Process Modeling Outline
1
8/6/2019 Process Modeling Overview
2/56
Information Systems Purpose The overriding purpose of any information
system is to support the mission of the
enterprise Every information system has a [specific]
purpose or mission
No matter how trivial the purpose may seem,do not skip documenting it
8/6/2019 Process Modeling Overview
3/56
Information System Purpose
Examples A Convenience Store: The purpose of the information
system is "To help each cashier work more effectivelyduring checkout, to keep good records of each sale, andto support more efficient store operations."
A Warehouse: The purpose of the information system is"To improve warehouse profitability by helping teammembers put away and pick items more efficientlyby
keeping more accurate inventory counts, and byincreasing fill rate."
8/6/2019 Process Modeling Overview
4/56
Information Systems Purpose
GuidelinesPurpose Statements should be:
Kept short 25 words or less if possible
Proactive in form
Supportive the mission of the enterprise
Broad in scope, yet specific to the problem
Void of technology jargon
8/6/2019 Process Modeling Overview
5/56
Context Diagram Level 0 - Video Operation
VideoRental/ReturnSystem
Customer
Accounting Manager
Vendor
Credit CardCompany
Member Card Data
Customer Data
Video Requestand Member Data
Receipt Data
Video ID Data
Invoice DataReportData
Vendor Rental Data
Confirm Data
Charge Data
Overdue Charge
EmployeesExternalData store
VendorsExternalData store
EmployeeData
Vendor Data
0
8/6/2019 Process Modeling Overview
6/56
Process ModelingModeling/Describing
Your Lowest-Level Processes
6
Process 3.2.3Give a
Discounton the
Purchase
We drill down from Context Diagrams, toLevel-1 DFDs, to Level-2 DFDs, eachshowing progressively greater levels of detail about our system processes. Once
weve got to the lowest-level processes, weneed to specify the lowest-level processesin detail using other techniques. zooming in on each of our lowest-level DFDprocesses and describing each low-levelprocess using:
Flow Charts, or Business Process Diagrams, or Plain English, or Structured English (Pseudocode), or Decision Tables / Trees
8/6/2019 Process Modeling Overview
7/56
Metadata (I) for the Video Current Operation
DFDs Level 1 DiagramExternals
Accounting the person who keeps the financial andaccounting data at Video.
Credit Card Company the company that processes creditcard transactions for Video.
Customer people who wish to rent videos at a store. Acustomer must become a member to rent a video.
Manager Video store manager(s) and Mr. Cosier Vendor companies that sell videos to .
8/6/2019 Process Modeling Overview
8/56
Metadata (II) for the Video
Current Operation DFDsData Flows (Partial list)
Charge Data credit card number, expire date and transaction amount
Confirm Data either an approval or a reject message Customer data name, address, telephone and credit card info for a potential member supplied by a customer to become a member or to updatehis/her record
Employee Data the employees number Member Card Data name and member number printed on a member card Member Data customer data plus a member number Overdue Charge credit card number, expire date and transaction amount
8/6/2019 Process Modeling Overview
9/56
Metadata (III) for the Video
Current Operation DFDsData Stores
Employees contains personal and payroll data for employees at Video.Each employee has an employee number.
Customers contains customer data on paper forms arrangedalphabetically. A copy of the form appears in Exhibit 1.
Invoices contains rental, customer, employee and video data on paper forms, one for each rental arranged by rental date. A copy of the formappears in Exhibit 2.
Video Rentals contains video and rental data on index cards, one for eachrental video arranged by alphabetically by title and then by video number within a title. A copy of the card appears in Exhibit 3.
Vendors contains in a notebook an alphabetical list of names withaddresses for vendors.
8/6/2019 Process Modeling Overview
10/56
Customer Data
Video Request andMember Data
Video ID Data
Confirm Data
Member Card Data
Receipt Data
Invoice Data
Report Data
Video Data
Charge Data
1Enroll a newmember or update record
2Rentvideo(s) tomember
3Recordreturn of video(s)
4
Prepare a weeklyreport and send data toaccounting
5Prepare amonthlyvendor report
Member Data
Member Data
Status Data
Rental Data
Manager
Vendor VendorsExternalDatastore
Return Date
Return Data
Invoice Data
Employee Data
Vendor Data
Vendor Rental Data
Customer
Credit CardCompany
Customer
Accounting
Customers
Video Rentals
Invoices
Video Rentals
EmployeesExternalDatastore
Overdue Charge
First Explosion DFD for Video Current Operation (Figure 7.3)
8/6/2019 Process Modeling Overview
11/56
Metadata for the Video Current
Operation DFDProcesses (partial list)
C3.0 Record return of video(s). When a video is returned,a back office clerk retrieves the card for the video rentaland the invoice, records the return date on the invoice andthe video rental card, calculates overdue charges if any and
processes the credit card transaction. The credit cardnumber is obtained by retrieving the customer form fromthe customer file. The overdue charges are noted on theinvoice. The videos from a rental may be returned ondifferent dates.
8/6/2019 Process Modeling Overview
12/56
Guidelines for Creating the Current
Operation First Level Explosion DFD Match the narrative Provide clear detail on what happens Show data stores owned or maintained by other
systems as externals Provide clear metadata on all DFD components
Insure that DFD and narrative models areconsistent
8/6/2019 Process Modeling Overview
13/56
Process Modeling
Flow Charts
Notation
ANALYSISPHASE
Lecture9:Process
Modeling1b
Systems Analysis,Design,andImplementation
13Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
8/6/2019 Process Modeling Overview
14/56
Process Modeling
Flow Charts: Example
14Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Flow Chart for Process 3.2.3:Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
15/56
Process ModelingBusiness Process Diagrams
Notation
15
8/6/2019 Process Modeling Overview
16/56
Process ModelingBusiness Process Diagrams
Example
16
Fill outform onweb site
Start
Press'Submit '
Read Pricing andPayment Time Data
Calculate Discount
End
Product
Payment
Business Process Diagram for Process 3.2.3:
Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
17/56
8/6/2019 Process Modeling Overview
18/56
Process Modeling
Plain English Base Descriptions
18Source: Adapted from http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Problems: what discount do we give if a purchase of 120 is paid within7 days? Probably 9% we need to be explicit about which rule takesprecedence across various different scenarios.
Process 3.2.3 Purchase Discounting ProcedureIf the purchase is less than 100 then the discount given is 5%, unless
the product is on special offer in which case the discount is 7.5% (witha minimum of 2 discount on special offer purchases). If the purchaseis greater than 100 then the discount given is 8%. If the payment wasmade within 7 days then the discount is 7.5%. If the after-discount-price is greater than 45, then the discount is increased by 1% point(e.g. from 5% to 6%, or from 7.5% to 8.5%, or from 8% to 9%).
Plain English Base Description for Process 3.2.3:Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
19/56
Process Modeling
Structured English BaseDescriptions
(Pseudocode)
19Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Note: Rather than hard-codethese rules in program code(e.g. C++, Java, etc.) itwould be best to provide apricing configuration enginethat allowed the marketer to
adjust the pricing rulesdynamically at run-time.(i.e. store the rules as data,rather than create them inprogram code).
Pseudocode for Process 3.2.3:Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
20/56
Process Modeling
Decision Tables/Matrices
20Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Simple Decision Table for Process 3.2.3:Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
21/56
Process Modeling
Simplified Decision Tables/Matrices
21Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Decision Table for Process 3.2.3: Give a Discount on the Purchase
8/6/2019 Process Modeling Overview
22/56
Process Modeling
Decision Trees(Vertical Layout)
22Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Decision Tree for Process 3.2.3: Give a Discount on the Purcha
8/6/2019 Process Modeling Overview
23/56
Process Modeling
Decision Trees(Horizontal Layout)
23Source: http://www.cems.uwe.ac.uk/~tdrewry/procdefs.htm
Decision Tree for Process 3.2.3: Give a Discount on the Purcha
8/6/2019 Process Modeling Overview
24/56
UML
24
The UML (Unified Modeling Language) is themost commonly used analysis notation for object-oriented systems.
Originally developed by Rational Corporation (Booch, Rumbaugh,and Jacobson The Th ee Amigos), it is now maintained by the
Object Management Gr oup (OMG) an industry standardsorganization for the OO community.
Rational is now part of IBM. Rational Roseis the CASE tool produced by Rational for UML modeling.
Find out more about UML at: http://www.omg.org/uml/or http://www.uml.org/
http://www.uml.org/http://www.uml.org/http://www.uml.org/http://www-306.ibm.com/software/rational/index.htmlhttp://www.uml.org/http://www.uml.org/http://www.uml.org/8/6/2019 Process Modeling Overview
25/56
Process Modeling
UML Use Case Diagrams:
Notation
25
Actor / External Agent Participates-In /Takes-part-in
Use Case / Process
< < i n c l u d e > >
Indicates that a processis included in (i.e. is acomponent in) more
than one other process.< < e x t e n d > >
Indicates that aprocess is a specialcase (e.g. an error or exception case ) of another process.
External System
[system name]
[processname]
[role name]
8/6/2019 Process Modeling Overview
26/56
Figure 4.4 UML Use Case Diagram Notation(adapted from The Unified Modeling Language Reference Manual , p. 65)
Actor A role played by a person, other system or other objects
Use caseA start-to-finish feature of the system
Association The communication path between an actor anda use case that it participates in
Extend The insertion of additional behavior into a baseuse case that does not know about it
Use caserealization
A relationship between a general use case anda more specific use case that inherits and addsfeatures to it
Include The insertion of additional behavior into a baseuse case that explicitly describes the insertion
Boundary The boundary of the information system
Type Brief Description Notation
8/6/2019 Process Modeling Overview
27/56
ActorsActor definitions:
An abstraction for entities outside a system, subsystem,or class that interact directly with the system. An actor
participates in a use case or coherent set of use cases to
accomplish an overall purpose. [UML] A coherent set of roles that users of use cases play
when interacting with the use cases. [Booch,Rumbaugh and Jacobson]
Roles people or other information systems playwhen interacting through a use case with thisinformation system. [Norman]
8/6/2019 Process Modeling Overview
28/56
Actors Actors are not part of the systemthey representanyone or anything [another system] that must
interact with the system
Actors input to and/or receive output from theinformation system
Actors are often identified via conversations withsubject domain [matter] experts
8/6/2019 Process Modeling Overview
29/56
Actor Examples Customer Student
Employee
Faculty
Member
Credit Card Validation System
Mary
Tom
Jack
Dino
8/6/2019 Process Modeling Overview
30/56
Process Modeling
UML Use Case Diagrams:
Example 1
30Source: http://www.modelingstyle.info/useCaseDiagram.html
Use Case Diagram for Consumer Banking System
8/6/2019 Process Modeling Overview
31/56
Features A prominent or significant functional, behavioral ordescriptive part of an information system Broad in scope; apply to whole system
Narrow in scope; apply to one part of the system
An end-to-end (start-to-finish) significant process of the information system
Synonymous with the UMLs Use Case Granularity is arbitrary
8/6/2019 Process Modeling Overview
32/56
Feature Examples(note the start-to-finish characteristic)
Course Registration or Add a course
Drop a course Check seat availability
Membership Maintenance or Add a members information Change a members information Delete a membership Print/Display membership information
page 1 of 3
8/6/2019 Process Modeling Overview
33/56
Log Information Conduct Business
Analyze results Interact withother systems
Types of Information System Features
(needed information)Business Problem
Reference Data (Master,Foundational data)
Business ProblemTransaction Data
Business Problem Results Business Problem Integration
A feature is a tangible, measurable, desired outcome
that an information system could produce.
page 1 of 3
page 2 of 3
8/6/2019 Process Modeling Overview
34/56
Features Examplesx
Log Information: Maintain membership information Maintain product information Maintain vendor (supplier) information
Maintain employee security information etc
x Conduct Business:
Rental transaction Sales transaction Order products transaction etc...
page 2 of 3
(Maintain = adding, changing, deleting, & viewing)
page 3 of 3
8/6/2019 Process Modeling Overview
35/56
Features Examples
x Analyze results: Produce Periodic Sales Report s by:
Product
Employee Fastest-moving rentals Fastest-moving sales
Produce On-Order Report sorted by Vendor
Produce On-Order Report sorted by Product etc
x Interact with other systems: Validation of Credit Cards
etc...
page 3 of 3
8/6/2019 Process Modeling Overview
36/56
Documenting Actors and
Features Actor #1 Feature #1 Feature #2
Feature #3 Actor #2
Feature #1 Feature #2 Feature #3
Actor #3 Feature #1 Feature #2
Feature #3 Actor #4
Feature #1 Feature #2
Feature #3
8/6/2019 Process Modeling Overview
37/56
Process Modeling
UML Use Case Diagrams:
Example 2
37Source: http://www.modelingstyle.info/useCaseDiagram.html
Use Case Diagram for Online Shopping System (Example 1)
8/6/2019 Process Modeling Overview
38/56
8/6/2019 Process Modeling Overview
39/56
Components of the Use CaseActor (stick figure)
a role that a user (e.g., people, other systems, and objects) plays with
respect to the systemUse case (oval)
significant end-to-end processStereotypes (>) [guillemets] - provides the capability to extend the basicmodeling elements of the UML to create new elements
- a similar chunk of behavior across more than one use case(artifact reuse)
- indicates that one use case is similar to another but it doesmore
Scenario (documented via an interaction diagram) documented step-by-step instantiation of an actual use case
Valuation
8/6/2019 Process Modeling Overview
40/56
Process Modeling
UML Use Case Diagrams:
Example 3
40Source: http://www.modelingstyle.info/useCaseDiagram.html
Use Case Diagram for Student Registration System
(Closed head arrow indicates that the Enroll Family Member process is a type of Enroll Studentprocess, and International Student is a type of Student. indicates that the Enroll in
Seminar process is used by the Enroll Student process and other processes. indicatesthat Enroll International Student is a special case of Enroll Student: i.e. it contains some additional
processing steps to cater for the special case when the student is a foreigner.)
8/6/2019 Process Modeling Overview
41/56
Process Modeling
UML Use Case Diagrams:
Example 4
41Source: Adapted from http://etna.int-evry.fr/COURS/UML/notation/notation6.html
Use Case Diagram for Online Shopping System (Example 2)
Multiple actorsmay participatein a single use-
case (i.e.process) andmultiple use-
cases may beassociated witha single actor.
8/6/2019 Process Modeling Overview
42/56
Use Case Diagram Example #1
8/6/2019 Process Modeling Overview
43/56
Use Case Diagram Example #2
8/6/2019 Process Modeling Overview
44/56
Figure 4.5 UML Use Case Relationships(adapted from The Unified Modeling Language Reference Manual , p. 66)
Place Order Request
Catalog
SupplyCustomer Data
Order Product ArrangePayment
Pay Cash ArrangeCredit
base use caseextensionuse case
parentuse case
childuse caseinclusion use cases
8/6/2019 Process Modeling Overview
45/56
Process ModelingUML Use Case Diagrams:
Tips
45
Begin use-case (process) names with a strong, imperative verb :e.g. Withdraw Funds , Register Student in Seminar , or
Deliver Shipment . Stack use-cases (processes) to imply timing :
Processes completed first should be higher up in the diagram Name actors with business-relevant nouns (role names) :e.g. Grade Administrat or , Custom er , Payment Process or
Associate each actor with one or more use-cases (processes) The following types of process usually participate in
relationships as they are typically used by other processes : Lookup/Search-for , Sort , Process Payment
Use to indicate actors that are computer systems Use an actor called Time to indicate scheduled events Indicate different system releases with a boundary boxes :
e.g. Release 1 , Release 2 .Source: Adapted from http://www.modelingstyle.info/useCaseDiagram.html
8/6/2019 Process Modeling Overview
46/56
Process ModelingUsing Microsoft Visio to Create
UML Use Case Diagrams
46
Step 1:Choose File | New | Software | UML Model Diagram
8/6/2019 Process Modeling Overview
47/56
Process ModelingUsing Microsoft Visio to Create
UML Use Case Diagrams
47
Step 2:Choose UML Use Case from the
categorized list of shapes
on the left.Try Help | Microsoft Office Visio
Help and type use case diagrams in the Search For box of the
Assistance bar for more
information.
8/6/2019 Process Modeling Overview
48/56
Process ModelingUsing Rational Rose to Create
UML Use Case Diagrams
48Source: Sample Order System model (ordersys.mdl file), packaged with Rational Rose.
8/6/2019 Process Modeling Overview
49/56
Process ModelingUML Use Case Descriptions:
Template
49
Use-Case/Process ID: Priority:Actors:
Goal:Preconditions:1.2.
Flow of Events:1.2.
Post-conditions:1.2.
Alternative Flow:1.2.
Alternative Flow Post-conditions:1.
2.
[Project Name] Use Cases[Date]
[Use Case Name]
One of these
Use CaseDescriptionforms is filledout for each use case (i.e.
process) inthe system.
8/6/2019 Process Modeling Overview
50/56
Process ModelingUML Use Case Descriptions:
Example
50
Use-Case/Process ID: UC1 Priority : HighActors: Hotel GuestGoal: To place a room reservation.Preconditions:1. The guest has logged inFlow of Events:
1. The guest specifies their desired dates and location.2. The guest is presented with available rooms.
3. The guest selects a room to book.Post-conditions:
1. The room has been booked exclusively for the guest.Alternative Flow 1:1. Another guest books the room in the time between
Guest A viewing the room and Guest A booking. 2. Guest A is presented with alternative rooms,
or told that no rooms are available anymore.Alternative Flow 1 Post-conditions:
1. Guest A has booked an alternate room or Guest Ahas exited without booking.
Hotel Reservation Use Cases4 Feb 2004
Reserve Room
Again, oneof these
Use CaseDescription
forms isfilled outfor each use case
(i.e.process) inthe system.
8/6/2019 Process Modeling Overview
51/56
Process Modeling
UML Activity Diagrams:Notation
51Source: http://www.dotnetcoders.com/web/learning/uml/diagrams/activity.aspx
Action /Activity Start State
Swimlane: indicating Actor participates in all actions /
activities in that lane.
End State
Synchronization Bar:indicates merging of parallel activities, or splitting into parallel
activities.
TransitionbetweenActivities
8/6/2019 Process Modeling Overview
52/56
Process ModelingUML Activity
Diagrams:Example
52
Source:http://www.dotnetcoders.com/
web/learning/uml/diagrams/activity.aspxOriginal Source: OMG UML 1.4 Specification
8/6/2019 Process Modeling Overview
53/56
Process ModelingUsing Microsoft Visio to Create
UML Activity Diagrams
53
Step 1:Choose File | New |
Software | UML Model Diagram
Step 2:Choose UML Activity from the
categorized list of shapes on the left.
Try Help | Microsoft Office Visio Help and typeactivity diagrams in the Search For box of the
Assistance bar for more information.
8/6/2019 Process Modeling Overview
54/56
Process ModelingUsing Rational Rose to Create
UML Activity Diagrams
54Source:http://www.iqsoft.hu/termekek/rational/images/Image38.gif
Notice how each ActivityDiagram is associatedwith one use-case (i.e.
one high-level process).
8/6/2019 Process Modeling Overview
55/56
8/6/2019 Process Modeling Overview
56/56
EDM Metadata
Customer . A customer is a person who rents videotapes fromVideo. Before a customer can rent a video, the customer
must become a member. A customer may make multiplerentals.
Rental . A rental is the set of transactions for a customer torent and return multiple video.
Video . A video is a tape or CD that may be rented tomultiple customers.
Employee . An employee is a clerk, manager or other personemployed by Video who may handle multiple rentals.
Vendor . A vendor is a firm that may sell multiplevideotapes to Video