point of sales system - konkukdslab.konkuk.ac.kr/class/2017/17se/team_project_b/tp2/... ·...
TRANSCRIPT
Point of Sales System
Team presentation 2
Team 4201211178 민경훈201211187 배승현201311283 송형선201611299 정희승
INDEX
1. Revision
1.1 DFD Revision (Server)
1.2 STD Revision
1.3 Data Dictionary Revision
2. Structured Chart
System Context Diagram
POSSystem
Cashier Screen
Customer Screen
Printer
Power
Button on Screen
Scanner
Barcode Input
Display Update _ CA
Display Update _ CT
Turn On/ Off
Power Button
Sales Button InputCount up Button InputCount down Button InputDelete list Button InputSales Confirm Button InputRefund Button InputRefund Confirm Button InputInventory Check Button Input
Power Button Input
ServerSales list
ServerInventory
ServerSales list
ServerInventory
Server Sales list Data Input
Server Inventory Data Input
Update _ SSL
Update _ SI
DFD Level 0 (ver 1.0)
POS
Control
0
Cashier Screen
Customer Screen
Receipt Printer
Power
Sales Button
Count up Button
Display _ A
Display _ B
System Power
Refund Button
Inventory Check Button
Power Button
Barcode
Sales Button Input
Count up
Button Input
Barcode Input
Digital Clock
Tick
Count down Button
Sales Confirm Button
Refund Confirm Button
Count down
Button Input
Sales Confirm
Button Input
Refund Button Input
Server Sales List
Server Inventory
Refund Confirm
Button Input
Inventory Check
Button Input
Power Button Input
Server Sales
List Data Input
Server Inventory
Data Input
Server Sales List
Server Inventory
Update
Update
DFD Level 0 (Ver 1.1)
POS
System
0
Cashier Screen
Customer Screen
Printer
Power
Sales Button
Count up Button
Display Update_ CA
Display Update _ CT
Turn On/ Off
Refund Button
Inventory Check Button
Power Button
Barcode
Sales Button Input
Count up
Button Input
Barcode Input
Digital Clock
TickCount down Button
Sales Confirm Button
Refund Confirm Button
Count down
Button Input
Sales Confirm
Button Input
Refund Button Input
Refund Confirm
Button Input
Inventory Check
Button Input
Power Button
Input
Server Sales
List Data InputServer Inventory
Data Input
Update _ SSL
Update _ SI
Delete list Button Delete list
Button Input
Paid Money
Paid Money
Input
Server
Sales list
Server
Inventory
Server Sales List
Server Inventory
Button &
Scanner Read
1
Sales Button Input
Sales Count Button Input
Refund Button Input
Inventory Check Button
Input
Power Button Input
Product Barcode
Input
Receipt Barcode
Input
Tick
Screen,
Printer & Power
Control
2
Display _ A
Display _ B
On/ Off
Sales, Refund,
Inventory Check&
Power Data
DFD Level 1 (ver 1.0)
DFD Level 1 (Ver 1.1)
Button,
Scanner &
Paid Money
Read
1
Screen,
Printer &
Power
Control
2
Display
Update _ CA
Display
Update _ CT
Turn On/ Off
Data used for
all processes
Sales Button Input
Count up
Button Input
Barcode Input
Count down
Button Input
Sales Confirm
Button Input
Refund Button Input
Refund Confirm
Button Input
Inventory Check
Button Input
Power Button
Input
Server Sales
List Data Input
Delete list
Button Input
Server Inventory
Data Input
Update _ SSL
Update _ SI
Tick
Paid Money
Input
3. Data Flow Diagram _ Level 2
Sales Data
Refund Data
Inventory
Check Data
Power Data
Sales
Button
IF
1.1
Sales Button Input
Sales Count
Button Input
Product Barcode Input
Refund Button Input
Receipt Barcode Input
Inventory Check
Button Input
Power Button Input
Sales
Proces
s
1.8
Refund
Proces
s
1.9
Inventory
Check
Proces
s
1.10
Power
Proces
s 1.11
Sales
Count
IF
1.2Product
Barcode
IF
1.3
Refund
Button
IF
1.4
Receipt
Barcode
IF
1.5Inventory
Check
IF
1.6
Power
Button
IF
1.7
Selected Sales Button Data
Selected Refund Button Data
Selected Count Button Data
Selected Inventory
Check Button Data
Selected Power Button Data
Product Barcode Data
Receipt Barcode Data
Cashier
Screen
IF
2.2
Main
Control
2.1
Display _ A
Display _ B
On/ Off
Sales Data
Refund Data
Inventory
Check Data
Power Data
Customer
Screen
IF
2.3
Inventory
Check
IF
2.4
Power
IF
2.5
Server
Sales list
Server
Inventory
Update
Command
Screen Command _ ATick
Update
Command
Screen Command _ B
Receipt Command
Power Command
DFD Level 2 (ver 1.0)
DFD Level 2 (Ver 1.1)
Sales Data
Refund Data
Inventory
Check Data
Power Data
Sales
Process
1.1
Refund
Process
1.2
Inventory
Check
Process
1.3
Power
Process
1.4
Sales Button Input
Count Up Button Input
Delete list Button Input
Count Down Button Input
Sales Confirm Button Input
Barcode Input
Refund Button Input
Refund Confirm Button Input
Inventory Check Button Input
Power Button Input
Barcode Input
Paid Money Input
Server
Process
1.5
Server Inventory Data Input
Server Sales list Data Input
Server
Inventory Data
Server Sales
List Data
DFD Level 2 (Ver 1.1)
Main
Control
2.1
Display
Update _ CA
Display
Update _ CT
Turn On/ Off
Sales Data
Refund Data
Inventory
Check Data
Power Data
Cashier
Screen
IF
2.2
Customer
Screen
IF
2.3
PrintIF
2.4
Power
IF
2.5
Screen Command _ CATick
Screen Command _ CT
Print Command
Power Command
Server
Inventory Data
Server Sales
List DataUpdate _ SI Update _ SSL
DFD Level2 (Ver 1.1)
Process Specification
Reference No
1.5
Name Server Process
Input Server Inventory Data Input,Server SalesList Data Input
Output Server Inventory Data, Server Sales Data
Process Description
재고의 수량과 판매 목록에 대한 정보를 입력받아가공하여 Server inventory data와 Server SalesListdata에 전달하는 프로세스
DFD Level 3 (ver 1.0)
Sales Data
Refund Data
Inventory
Check Data
Power Data
Sales
IF
1.1.2Sales
Process
1.1.1
Refund
Process
1.2.1
Inventory
Check
Process
1.3.1
Power
Process
1.4.1
Count
up
IF
1.1.3Count
dow n
IF
1.1.4
Delete
list
IF
1.1.5
Sales Confirm
IF
1.1.6
Inventory
Check
IF
1.3.2
Refund
IF
1.2.2
Refund Confirm
IF
1.2.3
Pow er
Butto n
IF
1.4.2
Barcode
IF
1.1.8
Sales ButtonData
Count up Button Data
Count down Button Data
Delete list Button Data
Sales Confirm
Button Data
Barcode Data _ S
Barcode Data _ R
Refund ButtonData
Refund Confirm Button Data
Inventory Check
Button Data
Power Button Data
Sales ButtonInput
Delete list
Button Input
Count up Button Input
Count Down
Button Input
Sales Confirm
Button Input
Barcode Input
Refund ButtonInputRefund Confirm
Button Input
Inventory Check
Button Input
Power Button Input
Paid
Money
IF
1.1.7
Paid Money Input
Paid Money Data
DFD Level 3 (ver 1.1)
Sales Data
Refund Data
Inventory
Check Data
Power Data
Sales
IF
1.1.2
Sales
Process
merging
1.1.1
Refund
Process
merging
1.2.1
Count
up
IF
1.1.3
Count
down
IF
1.1.4
Delete
List
IF
1.1.5
Sales
Confirm
IF
1.1.6
Inventory
Check
IF
1.3.2
Refund
IF
1.2.2
Refund
Confirm
IF
1.2.3
Power
Button
IF
1.4.2
Barcod
e
IF
1.1.8
Paid
Money
IF
1.1.7
Server
Sales list
Server
Inventory
Sales Button Data
Count Up Button Data
Count Down Button Data
Delete List Button Data
Sales Confirm Button Data
Paid Money Data
Barcode Data _ S
Barcode Data _ R
Refund Confirm
Button DataRefund
Button Data
Inventory
Check
Process
merging
1.3.1Inventory Check
Button Data
Power
Process
merging
1.4.1Power Button
Data Inventory
server
Merging
1.5.2
Saleslist
server
Merging
1.5.1
Server Inventory
Data Input
Server Sales List
Data Input
Sales Button Input
Count Up Button Input
Count Down Button Input
Delete List Button Input
Sales Confirm Button Input
Paid Money Input
Barcode Input
Refund Button Input
Refund Confirm Button Input
Inventory Check Button Input
Power Button Input
DFD Level 3 (Ver 1.0)
Main Cont roller
2.1.1
Sales Data
Refund Data
Inventory
Check Data
Power Data
Tick Update Cashier Screen
2.1.3Update
Customer
Screen
2.1.4
Receipt
2.1.5
ON
2.1.6
OFF
2.1.7UpdateInventory
2.1.8Update Sales List 2.1.9
PrintSett lement2.1.10
T rigger
T rigger
Tick
Tick
Server Sales list
Server Inventory
Screen Command _ CA
Screen Command _ CT
Print Command
Power Command
Power Command
Print Command
Server
Sales list
Server
Inventory
Update _ SI
Update _ SSL
Periodic
Set t lement
Controller
2.1.2
Reset Sales
list 2.1.11
ResetInventory
2.1.12
Server Sales list
Server Inventory
Update _ SI
Update _ SSL
Trigger
Tick
Enable
Disable
Enable
Disable
Trigger
Trigger
Tick
Tick
T rigger
T rigger
T rigger
Tick
TickTick
Periodic
Set t lement
Command
Tick
DFD Level3 (Ver 1.1)
Main
Controller
2.1.1
Sales Data
Refund Data
Inventory
Check Data
Power Data
Tick
Update
Cashier
Screen
2.1.2Update
Customer
Screen
2.1.3 Print
Receipt
2.1.4
Run
2.1.5
UpdateInventory
2.1.6
Update
Sales
List
2.1.7
Screen Command _ CA
Screen Command _ CT
Print Command
Power Command
Server
Sales list
Server
Inventory
Update _ SI
Update _ SSL
Reset
Sales
list
2.1.8
ResetInventory
2.1.9 Update _ SI
Update _ SSL
Trigger
Tick
Trigger
Trigger
Trigger
Trigger
TriggerTrigger
Enable
Disable
Tick
Tick
Tick
Tick
Tick
Tick
DFD Level3 (Ver 1.1)
Process SpecificationReference No
1.5.1
Name Saleslist server Merging
Input Server Sales List Data Input
Output Server Sales List
Process Description Server에서 받은 판매 목록들의 정보를 저장
소에 저장하는 Process
Reference No
1.5.2
Name inventory server merging
Input sales inventory input
Output server inventory
Process Description
Server에서 받은 재고 목록의 정보를 저장소에 저장하는 Process
DFD level3 (Ver 1.1)
Process Specification
Reference No 2.1.6
Name Update Inventory
Input Trigger, Tick
Output Update_SI
Process Description
POS Main Controller로부터 재고를 업데이트하는Trigger를 입력받아 POS System 재고 서버를 업데이트하기 위한 Update_SI를 전송하는 프로세스
Reference No 2.1.7
Name Update Sales List
Input Trigger, Tick
Output Update_SSL
Process Description
POS Main Controller로부터 재고를 업데이트하는Trigger를 입력받아 POS System 판매 서버를 업데이트하기 위한 Update_SSI를 전송하는 프로세스
DFD Level3 (Ver 1.1)
Process Specification
Reference No 2.1.8
Name Reset Saleslist
Input Trigger, Tick
Output Update_SSL
Process Description
POS Main Controller로부터 정산을 하기위해 매일자정에 판매 목록을 초기화하는 Trigger를 입력받아POS System 판매목록을 초기화 하기 위한Update_SSL을 전송하는 프로세스
Reference No 2.1.9
Name Reset Inventory
Input Trigger, Tick
Output Update_SI
Process Description
POS Main Controller로부터 정산을 하기위해 매일자정에 재고를을 초기화하는 Trigger를 입력받아 POS System 재고를 초기화 하기 위한 Update_SI를전송하는 프로세스
State Transition Diagram (ver 1.0)
ON
OFF
Update
Cashier Screen
Update
Inventory
Update
Sales List
Update
Customer Screen
Print Receipt
Enable “ON”,
Periodic Settle Command(on)
/Tick [Inventory Check Data]
Trigger “Update Cashier Screen”
/Tick [Sales Data ||Refund Data]
Trigger “Update Cashier
Screen”
/Tick
Trigger “Update Sales Screen”
/TickTrigger “Update Cashier Screen”
/Tick [PowerData=OFF]
Trigger “OFF”
/Tick
Trigger “Update Customer Screen”
/Tick
Trigger “Print
Receipt”
/T ick
State Transition Diagram
(Main Controller)
Init Server
State Transition Diagram
(Periodic Settlement Controller)
Wai t
Tick
/Trigger “Reset Inventory”
Tick
/Trigger “Reset Sale list”
Settlement
Tick [isDayChanged]
/Trigger “Print Settlement”
Reset
Sales List
Reset
Inventory
Tick
/Trigger “Reset Sale list”
Tick
/Trigger “Reset Inventory”
Tick
State Transition Diagram (ver 1.0)
State Transition Diagram (ver 1.1)
RUN
TURN OFF
SALE &
REFUNDCHECK
INVENTORY
Enable “Run”
Tick [ !POWER_OFF || SALE || REFUND ]
/ Trigger “Update Cashier Screen”
Trigger “Update Customer Screen”
Trigger “Update Inventory”
Trigger “Update Sales List”
Trigger “Print Receipt”
Tick [ Power_OFF ]
/ Disable “Run”
Tick [ Power_OFF ]
/ Disable “Run”
Tick [ !POWER_OFF ]
/
Tick [ Power_OFF ]
/ Disable “Run”
Tick [ !POWER_OFF ]
/ Tick [ !POWER_OFF || CHECK ]
/ Trigger “Update Cashier Screen”
Trigger “Print Receipt”
Tick [ !POWER_OFF || SETTLE ]
/ Trigger “Print Receipt”
Trigger “Reset Inventory”
Trigger “Reset Sales List”
DFD Level 1 (Ver 1.1)
Button,
Scanner &
Paid Money
Read
1
Screen,
Printer &
Power
Control
2
Display
Update _ CA
Display
Update _ CT
Turn On/ Off
Data used for
all processes
Sales Button Input
Count up
Button Input
Barcode Input
Count down
Button Input
Sales Confirm
Button Input
Refund Button Input
Refund Confirm
Button Input
Inventory Check
Button Input
Power Button
Input
Server Sales
List Data Input
Delete list
Button Input
Server Inventory
Data Input
Update _ SSL
Update _ SI
Tick
Paid Money
Input
Data Dictionary Level1 (Ver 1.1)
Input/Output Description Format/Type
Sales button input 판매상태 화면으로 넘어가는명령을 수행한다.
True / False
a.k.a SALE
Count up button
input
판매 상태에서 상품의 수량을증가시킨다.
True / False
Count down button
input
판매상태에서 상품의 수량을감소시킨다.
True / False
Delete list button
input
판매 상태에서 상품의 목록을제거한다.
char / d (d: delete)
Sales confirm button
input
판매를 확정 짓는다. char / f (f: confirm)
Refund button input 환불 상태 화면으로 넘어가는명령을 수행한다.
char / r (r: 환불)
a.k.a REFUND
Refund confirm
button input
환불을 확정짓는다. char / y , n (yes/no)
Inventory check
button input
재고를 확인하는 화면으로 넘어가는 명령을 수행한다.
char / i (i: 재고확인)
a.k.a CHECK
Barcode input 영수증의 바코드를 인식한다. char * / 000, 001, 010, 011,
100, 101, 110, 111 ,
YYYY.MM.DD.hh.mm
Paid Money Input Customer가지불한 돈을 입력받는다.
int / pm(pm : Payed money)
is_Day_Changed 하루가 지나서 정산을 해줘야하는지에 대한 값으로 날짜가바뀌면 자동으로 update된다
고 가정한다.
True / False
a.k.a SETTLE
Input/Output Description Format/Type
Power button input POS기의 전원을 키고 끄는 명령을 인식한다.
True / False
Server sales data input 판매 목록으로 부터 오는 데이터를 인식한다.
char * / “판매서버 데이터”
Server inventory data input 재고 확인으로부터 오는 데이터를 인식한다.
char * / “재고서버 데이터”
Display Update_CA 캐셔화면에 입력된 명령을 출력한다.
char * / “캐셔화면 양식”
Display Update_CT 고객화면에 입력된 명령을 출력한다.
char * / “고객화면 양식”
Print 입력된 명령에 따라 영수증을 출력하거나 정산서를 출력한다.
char * / “영수증 양식”
Turn On/ Off 전원을 끄거나 켜는 명령을 수행한다.
on / off
a.k.a POWER_ON /
POWER_OFF
Update _ SSL 판매 또는 환불로 인한 판매목록데이터를 업데이트한다.
Structure {char * 상품, int 수량,
int 단가, int 가격}
Update _ SI 판매, 환불 또는 Digital clock에의해 재고 목록을 update한다.
Structure {char * 삼품, int 가격,
char * 바코드, int 재고}
Data Used for all process 입력받은 input data를 일시적으로 보관하는 data store
DFD Level 2 (Ver 1.1)
Sales Data
Refund Data
Inventory
Check Data
Power Data
Sales
Process
1.1
Refund
Process
1.2
Inventory
Check
Process
1.3
Power
Process
1.4
Sales Button Input
Count Up Button Input
Delete list Button Input
Count Down Button Input
Sales Confirm Button Input
Barcode Input
Refund Button Input
Refund Confirm Button Input
Inventory Check Button Input
Power Button Input
Barcode Input
Paid Money Input
Server
Process
1.5
Server Inventory Data Input
Server Sales list Data Input
Server
Inventory Data
Server Sales
List Data
Data Dictionary Level2
Input/Output Description Format/Type
Sales button input 판매상태 화면으로 넘어가는명령을 수행한다.
True / False
Count up button
input
판매 상태에서 상품의 수량을증가시킨다.
True / False
Count down button
input
판매상태에서 상품의 수량을감소시킨다.
True / False
Delete list button
input
판매 상태에서 상품의 목록을제거한다.
char / d (d: delete)
Sales confirm button
input
판매를 확정 짓는다. char / f (f: confirm)
Refund button input 환불 상태 화면으로 넘어가는명령을 수행한다.
char / r (r: 환불)
Refund confirm
button input
환불을 확정짓는다. char / y , n (yes/no)
Inventory check
button input
재고를 확인하는 화면으로 넘어가는 명령을 수행한다.
char / i (i: 재고확인)
Barcode input 영수증의 바코드를 인식한다. char * / 000, 001, 010, 011,
100, 101, 110, 111 ,
YYYY.MM.DD.hh.mm
Paid Money Input Customer가지불한 돈을 입력받는다.
int / pm(pm : Payed money)
Input/Output Description Format/Type
Power button input POS기의 전원을 키고 끄는 명령을 인식한다.
True / False
Server sales data input 판매 목록으로 부터 오는 데이터를 인식한다.
char * / “판매서버 데이터”
Server inventory data input 재고 확인으로부터 오는 데이터를 인식한다.
char * / “재고서버 데이터”
Display Update _ CA 캐셔화면에 입력된 명령을 출력한다.
char * / “캐셔화면 양식”
Display Update _ CT 고객화면에 입력된 명령을 출력한다.
char * / “고객화면 양식”
Print 입력된 명령에 따라 영수증을 출력하거나 정산서를 출력한다.
char * / “영수증 양식”
Turn On/ Off 전원을 끄거나 켜는 명령을 수행한다.
on / off
Update _ SSL 판매 또는 환불로 인한 판매목록데이터를 업데이트한다.
Structure {char * 상품, int 수량,
int 단가, int 가격}
Update _ SI 판매, 환불 또는 Digital clock에의해 재고 목록을 update한다.
Structure {char * 삼품, int 가격,
char * 바코드, int 재고}
Data Dictionary Level2 –For Data Store
Input/Output Description Format/Type
sales data sales process에필요한 input data들을 임시적으로 보관하는 data store receiptList[salesData]
typedef struct _SalesData {
char bar_code[4];
int choiceNum;
int confimed;
}salesData;
refund data refund processs에필요한 input data들을 임시적으로 보관하는 data
store
typedef struct refundData {
char receipt_code[20];
int confimed;
}
inventory check data inventory check process에필요한 input data들을 임시적으로 보관하는data store
int haveToCheckInventory;
power data power data process에필요한 input data들을 임시적으로 보관하는 data
store
int power;
server inventory data server inventory에서 불러온 데이터를 임시적으로 보관하는 data store typedef struct _ItemData {
char item[50];
int money;
char bar_code[4];
int stock;
}ItemData;
server saleslist data server saleslis 에서 불러온 데이터를 임시적으로 보관하는 data store typedef struct _SoldData {
char item[50];
int quantity;
int money;
int pay;
}SoldData;
Data Dictionary Level2
power command controller에서 인터페이스로 power 에 대한 데이터를 전달 Interrupt / True, False
print command controller에서 인터페이스로 print에 대한 데이터를 전달 char * / “영수증 양식”
screen command _CA controller에서 캐셔 화면 인터페이스로 screen command에대한 데이터전달
typedef struct _ScreenCA {
int pm;
int 거스름돈;
char * 상품;
int 수량;
int 단가;
int 가격;
}ScreenCA
Screen command_CT controller에서 고객화면 인터페이스로 screen command에대한 데이터전달
typedef struct _ScreenCT {
int pm;
int 가격;
int 거스름돈;
}ScreenCT
Structured Chart (Basic)
Sales
Process
Merging
Sales IF Count up IFCount down
IF
Delete List
IF
Sales
Confirm IF
Paid Money
IFBarcode IF
Main
Controller
Sales Data
Count up
Data
Count down
Data
Delete List
Button Data
Sales Confirm
ButtonData
Paid Money
DataBarcode
Data_SSales Button
Data
Refund
Process
Merging
Inventory
Check
Process
Merging
Power
Process
Merging
Saleslist
Server
Merging
Refund IFRefund
Confirm IFBarcode IF
Inventory
Check IFPower IF
Inventory
server
Merging
Refund Button
Data
Refund
Confirm
Button Data
Barcode
Data_R
Inventory
Check
Button Data
Power
Button Data
Refund DataInventory Check
Data Power Data
Server
Inventory Data
Server Sales
List Data
Update
Cashier
Screen
Update Customer
Screen
ReceiptRun
Update Inventory
Update
Sales
List
Reset
Sales
List
Reset
Inventory
Trigger Trigger Trigger Trigger Trigger Trigger TriggerEnable
Disable
Structured Chart (Advanced)
Sales
Process
Merging
Sales IF Count up IFCount down
IF
Delete List
IF
Sales
Confirm IF
Paid Money
IFBarcode IF
Main
Controller
Sales Data
Count up
Data
Count down
Data
Delete List
Button Data
Sales Confirm
ButtonData
Paid Money
DataBarcode
Data_SSales Button
Data
Refund
Process
Merging
Inventory
Check
Process
Merging
Power
Process
Merging
Saleslist
Server
Merging
Refund IFRefund
Confirm IFBarcode IF
Inventory
Check IFPower IF
Inventory
server
Merging
Refund Button
Data
Refund
Confirm
Button Data
Barcode
Data_R
Inventory
Check
Button Data
Power
Button Data
Refund DataInventory Check
Data Power Data
Server
Inventory Data
Server Sales
List Data
Update
Cashier
Screen
Update Customer
Screen
ReceiptRun
Update Inventory
Update
Sales
List
Reset
Sales
List
Reset
Inventory
Trigger Trigger Trigger Trigger Trigger Trigger TriggerEnable
Disable