Behavioural modelling

Slides:



Advertisements
Similar presentations
Siebel 1D – New Service Sales Order. Fill out the fields Remember: You can use the applet on the top and bottom interchangeably. You are modifying the.
Advertisements

Credit Card Processing
 After the 7 transactions, the ledger looks like Page 105 Figure 4.5. (Show On the White board)  There are 10 accounts in the ledger.  How do you calculate.
Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
Prepare a deposit slip Record entries in a check register
Thredz Thredz is a successful costume hire business. Its customers range from theatre companies, who hire large numbers of outfits for periods of several.
Navigate to the Service Request Orders View. Fill out the fields The Order Number will be blank until the record is saved. The Order Type should be Service.
ROSI Express Report Training: Scheduled Courses with Instructor/Coordinator Diagnostics.
Time & Labor & Absence Management Entering Time Worked Classified Employee Timesheet.
Microsoft Project – Tutorial 2 Project Goal network company computers to easily share resources within a time frame of three months and within a budget.
SUBSCRIPTION TUTORIAL. PeriodJuneJulyAugustSeptemberOctober June-AugustManual Manual/Free Product July-September-Manual Manual/Free Product August – October--Subscription.
Spreadsheets in Finance and Forecasting Presentation 8: Problem Solving.
Examining data using Microsoft Access Queries Using Criteria and Calculations SESSION 3.2 This section covers specifying an exact match condition in a.
PestPac Software. Overview: Effective with the release of Version 1.38, all payment entry will be done through the QuickPayment Entry screen. The design.
Checking & Savings Accounts Economics What is a Checking Account?  Common financial service used by many consumers (a place to keep money)  Funds.
Using Workflow With Dataforms Tim Borntreger, Director of Client Services.
Company File Setup and Maintenance Chapter 6. PAGE REF #CHAPTER 6: Company Setup SLIDE # 2 2 Objectives Use the EasyStep Interview to setup your company.
Understanding Credit Cards Learning about the little piece of plastic with a big responsibility Comparecards.com.
1 Terminal Management System Usage Overview Document Version 1.1.
Configuring your Customer’s Invoices
LECTURE 4 types of costs.
Credit & Debit Cards: Advantages and Disadvantages
Overview Rental Quote Overview
Financial Planning: Credit Cards
Personal Finance Credit.
Documentation for Pay and Calculations
Who cares….is there really that much to know about them???
Lecture 1 Learning Objective
Inspecting Software Requirement Document
MS EXCEL PART 4.
Inventory Levels.
Submitting an invoice with the Tungsten Portal
How To Improve Your Credit Score
Homework 1 Hints.
Real Estate Finance, Spring, 2017
Identify Key Information from a Graph
CS3035 Beacon Module 8 Credit/Collections
House Bill 2610 – 75,600 Minute School year
LimeLight Training.
Understanding Credit Cards
Online Ordering Module
Understanding Credit Cards
Health Savings Account (HSA) Funding & Invoicing
Financial Planning: Credit Cards
Financial Accounting Lecture 02.
Understanding Credit Cards
Cost Collections Using DOS CC Interface
Paper vs. E-Invoicing November, 2015
FINANCIAL STATEMENTS: PERSONAL ACCOUNTING
NextGen Purchasing Calendar Year End 1099 Process
TransCAD Vehicle Routing 2018/11/29.
Whiteboardmaths.com © 2007 All rights reserved
Financial Literacy: Credit Cards
Marija Rakic Greg Gao Roshanak Roshandel
Flexible Spending City of Bowling Green.
Fundamentals of Data Representation
April 4-5, 2018 The Four Seasons Baltimore
Connecting with your future: retirement planning “when to hang up my skates” Clarence Potvin.
THE BENEFITS OF HRS INSURANCE PROCESSING
Cash and Cash Management
Add a dues payment to the Dues manager module for the Grand Lodge of Nebraska LSI Lodge Secretary Interface online Membership Database.
MAINTAINING SERVER AVAILIBILITY
3-6 Credit Card Statements
H&R Block Budget Challenge Mini Lesson
Paper vs. E-Invoicing November, 2015
Point of Rental Training
© 2008 Pearson Addison-Wesley. All rights reserved
and Forecasting Resources
Dates to remember Family access both new and existing will stop August 31 All event registrations end August 31 County Dues information to state office.
Presentation transcript:

Behavioural modelling Gas Station Behavioural modelling

Gas Stations An oil company possesses a number of gas stations spread across the country. Customers can pay their refuel turn in cash at the counter or by using their fuel card. At the end of each month, the holder of a fuel card receives a monthly invoice with the amounts of all the refuel turns paid with the fuel card. On the monthly invoice, discounts are given depending on the turnover of the customer during the invoiced month. Invoicing and paying occurs in any order: one can already receive a second invoice before having paid the first one. But obviously, each invoice must first have been sent before a payment can be received. Each refuel turn only appears on the invoice of the month of the refuel turn. If a customer doesn't pay the invoice, the unpaid refuel turns are not added to the next month’s invoice. Instead, the invoice is simply sent again to the customer to remind him/her of the payment due. If a customer repeatedly doesn't pay the invoices (e.g. two months in a row), then the customer is blacklisted and his/her card is blocked until the bills have been paid. The exact threshold to block a customer is not 100% fixed: very good customers are given a bit more slack than new customers. If the bills are settled, a customer may return to the normal state.

Gas Stations Each gas station has a number of pumps that each contain a particular type of gasoline. Obviously only one customer can refuelling his/her car at a time at a given pump. When the gauge is taken, the refuelling can start. When the gauge is put back the refuelling is stopped. Between those two moment, no other customer can use this pump. As soon as the gauge is put back, the pump becomes available for the next customer. Each pump has a separate reservoir that must be refilled when the quantity of gasoline drops below a certain pre-set reordering level. Refilling can occur at any time. The system should produce a daily report indicating which pump needs to be refilled and for each pump the current level of gasoline and the quantity to order. As the bottom of a tank can contain dirt, when the fuel drops below a critical level, the pump is automatically blocked so that no refuelling can occur with this pump. For the same reason, when refilling a tank that was still above the critical level, the pump is temporarily blocked by the gas station responsible for approximatively an hour, so that dirt can sink to the bottom. The pump is released when the gas station responsible deems that refuelling with this pump is safe again.

EDG Model Solution We start from this EDG Numbers indicate "Bottom-Up-Level" 3 2 2 1 1

Life cycle modelling Order for modelling is bottom up Invoice Line and Cash Turn Refuel Turn and Invoice Customer and Pump Gas Station

Invoice line Default life cycle is fine

Cash Turn Imagine how you take fuel when paying cash You take the gauge out of the pump. This resets the counters to 0 (So you can already keep in mind that starting a cash refuel turn will affect the state of the pump as well). You fill the tank of your car. This has a duration, so this is not an event. When the tank is full, you put the gauge back. This stops the counter. The pump will be free for the next customer, because according to the specifications: "As soon as the gauge is put back, the pump becomes available for the next customer." You go to the counter and pay your refuel turn (= happy path) OR you drive away without paying (= unhappy path, at least from the point of view of the Gas Stations owner)

Cash Turn Resulting FSM Taking the gauge without first inserting a card for paying means that a cash turn is started.

Refuel Turn with card When taking fuel with a card, first the card is identified (by putting it in a machine and validating it with a code) as well as the pump where the refuelling will occur. Then you take the gauge, refuel your tank and put the gauge back. At this point in time, it is known how much fuel you have taken. So only from this point onwards, invoicing is possible.

RefuelTurn A RefuelTurn has optional-one InvoiceLine Potentially the Refuel Turn could be invoiced several times consecutively. This should not be allowed to happen life cycle of Refuel Turn sample life cycles of InvoiceLines for this Refuel Turn Use the FSM to enforce the invoicing at some point and to prevent the creation of a second invoice.

RefuelTurn

Invoice At the end of each month, the holder of a fuel card receives a monthly invoice with the amounts of all the refuel turns paid with the fuel card. The invoice is "filled" by adding invoice lines for all the turns taken during the past month. On the monthly invoice, discounts are given depending on the turnover of the customer during the invoiced month. This is a calculation rule that can be part of the internal behaviour of the invoice. A business event is not really required for this. Invoicing and paying occurs in any order: one can already receive a second invoice before having paid the first one. This is behaviour from the perspective of the customer, not of the invoice. But obviously, each invoice must first have been sent before a payment can be received. This is behaviour of the invoice: it is sent, and then hopefully paid.

Invoice Think of unhappy paths "Reminding" can be a different business event than "send" or can be the same Add ending events to allow for (manual) cascading delete

Card Holder/Customer "Blacklisted" is a state of the customer. If a customer repeatedly doesn't pay the invoices (e.g. two months in a row), then the customer is blacklisted and his/her card is blocked until the bills have been paid. The exact threshold to block a customer is not 100% fixed: very good customers are given a bit more slack than new customers. If the bills are settled, a customer may return to the normal state. "Blacklisted" is a state of the customer. The card being blocked means that the card holder cannot take fuel with the card any more. But the card holder should be able to still pay the bills when in the blocked state. Creating invoices for not yet invoiced refuel turns should be possible as well.

Card Holder/Customer The cardholder being blacklisted means that the card holder cannot take fuel with the card any more. But the card holder should be able to still pay the bills when in the blocked state. Creating invoices for not yet invoiced refuel turns should be possible as well.

Pump Obviously only one customer can refuelling his/her car at a time at a given pump. When the gauge is taken, the refuelling can start. When the gauge is put back the refuelling is stopped. Between those two moment, no other customer can use this pump. As soon as the gauge is put back, the pump becomes available for the next customer. As indicated before, taking and putting back the gauge changes the state of the pump from free to in use and back to free. In case of a refuel turn paid with the card, the pump is already reserved at the moment the pump is chosen when checking the card.

Pump

Pump Each pump has a separate reservoir that must be refilled when the quantity of gasoline drops below a certain pre-set reordering level. Refilling can occur at any time. .... As the bottom of a tank can contain dirt, when the fuel drops below a critical level, the pump is automatically blocked so that no refuelling can occur with this pump. For the same reason, when refilling a tank that was still above the critical level, the pump is temporarily blocked by the gas station responsible for approximatively an hour, so that dirt can sink to the bottom. The pump is released when the gas station responsible deems that refuelling with this pump is safe again. The requirements indicate an extra state "blocked" you can go to from the different states. In the state "blocked" you have to ensure that all events required to end ongoing refuel turns can happen. Again: refilling the reservoir has a duration, so 'refill' is not a business event but a task.

Pump

The system should produce a daily report indicating which pump needs to be refilled and for each pump the current level of gasoline and the quantity to order. This is an IS Service.

Gas Station Default life cycle

Scoring Maximal score = 10pts per FSM ==> 50 points for this exercise Score per state chart: 10 points Basic states and transitions are OK ==> 5 pts earned All events on the right place ==> additionally +5 pts. Basic states and transitions not OK ==> score between 0 and 4,5/10 Missing state chart: loss of 10 points Overall coordination problematic ==> loss of points on the total earned so far. This can result from assigning events to wrong owner Additional state chart: If defendable ==> no loss of points If this ruins the working of the system ==> loss of points

Tips Name your events with a verb Always have your FSMs checked by the tool !! Always run "Check Model" before finalising your solution ALWAYS GENERATE PROTOTYPE AND TEST !!