point of sales system - konkukdslab.konkuk.ac.kr/class/2017/17se/team_project_b/tp2/... ·...

37
Point of Sales System Team presentation 2 Team 4 201211178 민경훈 201211187 배승현 201311283 송형선 201611299 정희승

Upload: others

Post on 18-Apr-2020

3 views

Category:

Documents


0 download

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

1.1 DFD Revision

System Context Diagram

POSSystem

Cashier Screen

Customer Screen

Printer

Power

Button on Screen

Scanner

Barcode Input

Display Update _ CA

Display Update _ CT

Print

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

Print

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

Print

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

Print

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

Print

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

Print

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

Print

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

Print

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를전송하는 프로세스

3.6. Over ALL

2. STD Revision

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”

Print

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”

3. Data Dictionary

Revision

DFD Level 1 (Ver 1.1)

Button,

Scanner &

Paid Money

Read

1

Screen,

Printer &

Power

Control

2

Display

Update _ CA

Display

Update _ CT

Print

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

2. Structured Chart

Structure Design

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

Print

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

Print

ReceiptRun

Update Inventory

Update

Sales

List

Reset

Sales

List

Reset

Inventory

Trigger Trigger Trigger Trigger Trigger Trigger TriggerEnable

Disable

Q & A