51
2.2.5.10.2 Add:
: User
Object1 : CInputCategoryDlg
Object3 : CInputCategory
Add new
Category
1: EnterNewInfo( )
2: Add( )
3: SetInfo( )
4: Save( )
Hình 2-21 Sequence Diagram Manage Cafeteria Add
2.2.5.10.3 Edit
: User
Object1 : CInputCategoryDlg Object2 : CCategoryListFlexGrid Object3 : CInputCategory
1: ChooseCategory( )
2: Edit( )
3: UpdateInfo( )
4: Update( )
Hình 2-22 Sequence Diagram Manage Cafeteria Edit
52
2.2.5.10.4 Delete:
: User
Object1 : CInputCategoryDlg
Object2 : CCategoryListFlexGrid
Object3 : CInputCategory
1: ChooseCategory( )
2: Delete( )
3: DeleteCategory( )
4: Delete( )
Hình 2-23 Sequence Diagram Manage Cafeteria Delete
2.2.5.11 Use case Manage Debit
2.2.5.11.1 Add
53
Hình 2-24 Sequence Diagram Debit Add
Object1 : CCafeServerDlg
: User
Object2 : CDebitDlg Object3 :
CSol veDailyReport
Object4 :
CSol veDebi tLi st
Object5 :
CSol veDebi tDetail
Add new
Debit Person
3: EnterInfo( )
1: Debit( )
2: OpenForm( )
4: GetAllPersonInfo( )
5: SetBasicInfo( )
7: GetDetailInfo( )
8: SetDetailInfo( )
6: Save( )
9: save( )
54
Hình 2-25 Sequence Diagram Manage Debit Edit
: User
Object1 : CCafeServerDlg Object2 : CDebitDlg Object3 :
CSolveDailyReport
Object4 : CSolveDebitList Object5 :
CSolveDebitDetail
1: Debit( )
2: EnterBasicInfo( )
8: Edit( )
7: ShowInfo( )
3: SetBasicInfo( )
9: SetBasicInfo( )
4: GetBasicInfo( )
5: SetDetailInfo( )
11: SetDetailInfo( )
6: GetDetailInfo( )
10: Save( )
12: save( )
55
2.2.5.12 Use case Manage Kind of Food:
2.2.5.12.1 Add
: User
Object1 : CInputDishDlg Object2 : CDishListFlexGrid Object3 : CInputDish
Add new Dish
1: Dish( )
2: OpenDatabase( )
3: GetAllInfo( )
4: ShowDish( )
5: EnterNewInfo( )
7: SetInfo( )
6: Add( )
8: Save( )
Hình 2-26 Sequence Diagram Manage Kind of Food Add
2.2.5.12.2 Edit
56
: User
Object1 : CInputDishDlg Object2 : CDishListFlexGrid Object3 : CInputDish
1: Dish( )
6: Edit( )
5: ChooseDish( )
7: UpdateInfo( )
8: Update( )
2: OpenDatabase( )
3: GetAllInfo( )
4: ShowDish( )
Hình 2-27 Sequence Diagram Manage Kind of Food Edit
2.2.5.12.3 Delete
57
: User
Object1 : CInputDishDlg Object2 : CDishListFlexGrid Object3 : CInputDish
6: Delete( )
5: ChooseDish( )
7: DeleteDish( )
8: Delete( )
1: Dish( )
2: OpenDatabase( )
3: GetAllInfo( )
4: ShowDish( )
Hình 2-28 Sequence Diagram Manage Kind of Food Delete
2.2.5.13 Use case Manage Member:
2.2.5.13.1 Add
58
: User
Object1 : CInputMemberDlg Object2 : CMemberFlexGridObject3 : CSolveMember
Add Member
1: Member( )
5: EnterInformation( )
6: Add( )
4: ShowMember( )
2: OpenDatabase( )
7: SetInfo( )
3: GetInfo( )
8: Save( )
Hình 2-29 Sequence Diagram Manage Member Add
2.2.5.13.2 Edit
59
: User
Object1 : CInputMemberDlg Object2 : CMemberFlexGridObject3 : CSolveMember
1: Member( )
2: OpenDatabase( )
Edit Member
3: GetInfo( )
4: ShowMember( )
5: ChooseMember( )
7: SetInfo( )
6: Edit( )
8: Update( )
Hình 2-30 Sequence Diagram Manage Member Edit
2.2.5.13.3 Delete
60
: User
Object1 : CInputMemberDlg Object2 : CMemberFlexGridObject3 : CSolveMember
Delete Member
1: Member( )
6: Delete( )
5: ChooseMember( )
4: ShowMember( )
2: OpenDatabase( )
7: SetInfo( )
3: GetInfo( )
8: Update( )
Hình 2-31 Sequence Diagram Manage Member Delete
61
2.2.5.14 Use case Manage Price Day:
Hình 2-32 Sequence Diagram Manage Price Day
Object5 :
CSolveFeeTable
: User
Object1 : CInputPriceDayDlg
Object2 :
CPriceDayListFlexGrid
Object3 : CInputValuePriceDay Object4 :
CInputPriceDay
Object6 :
CSolveFeeDay
1: PriceDay( )
2: OpenDatabase( )
7: GetAllInfo( )
8: ShowPriceDay( )
10: Edit( )
3: SetDay( )
4: GetInfoTable( )
5: SetInfoTable( )
6: GetFeeDayFromInfoTable( )
Edit Price Of Day
11: EnterNewInfo( )
12: OpenForm( )
13: EnterValue( )
14: GetValue( )
15: ShowNewPrice( )
16: SetInfoTable( )
17: SetFeeDay( )
9: ChooseDay&Time( )
62
2.2.5.15 Use case Lock Key:
Hình 2-33 Sequence Diagram Lock Key
: User
Object1 : CCafeServerDlg
Object2(Server) :
CBlockingSocket
Object3(Client) :
CBlockingSocket
Object4 : CCafeClientDlg
Object5 : CKeyLockClient
2: StartKeyLock( )
3: SetInfo( )
4: SendMessage( )
5: GetInfo( )
6: LockKey( )
7: SetInfo( )
8: SendMessage( )
9: ShowMessage( )
Lock Successful
1: ChoosetheModeLock( )
63
2.2.5.16 Use case Log Key
Hình 2-34 Sequence Diagram Log Key
: User
Object1 : CCafeServerDlg
Object2(Server) :
CBlockingSocket
Object3(Client) :
CBlockingSocket
Object4 : CCafeClientDlg
Object5 : CKeyLogClient
Log Successful
1: StartKeyLog( )
2: SetInfo( )
3: SendMessage( )
4: GetInfo( )
5: LogKey( )
6: SetInfo( )
7: SendMessage( )
8: ShowMessage( )
64
2.2.5.17 Use case Message:
: User
Object : CMessageTab
Object : CBlockingSocket Object : CBlockingSocket
Object : CCafeClientDlg
2: EnterMesage( )
3: SetInfo( )
4: SendMessage( )
5: GetInfo( )
6: ShowMessage( )
1: ChooseComputer( )
Hình 2-35 Sequence Diagram Send Message
2.2.5.18 Use case Manage Remote Computer
: User
Object : CLoggingtab
Object(Server) :
CBlockingSocket
Object(Client) :
CBlockingSocket
Object : CCafeClientDlg
Object : CShutDownClient
1: SetOption
2: Shutdown
3: SetInfo( )
4: SendMessage( )
7: Shutdown( )
5: GetInfo( )
6: Shutdown( )
Hình 2-36 Sequence Diagram Manage Remote Computer
65
2.2.5.19 Use case Manage Application:
2.2.5.19.1 List:
: User Object1 : CAppListtab Object2(Server) :
CBlockingSocket
Object3(Client) :
CBlockingSocket
Object4 : CCafeClientDlg
Object5 : CTaskMgr
3: SetInfo( )
4: SendMessage( )
5: GetInfo( )
7: GetWindowList( )
8: SetInfo( )
9: SendMessage( )
10: GetInfo( )
1: SetComputer( )
2: ListAll( )
6: RequestList( )
Hình 2-37 Sequence Diagram Manage Application - List
2.2.5.19.2 Start:
66
Hình 2-38 Sequence Diagram Manage Application - Start
: User Object1 : CAppListtab Object2(Server) :
CBlockingSocket
Object3(Client) :
CBlockingSocket
Object4 : CCafeClientDlg
Object5 : CTaskMgr
1: SetComputer( )
2: StartApp( )
3: EnterInfo( )
4: SetInfo( )
12: ShowResult( )
5: SendMessage( )
11: SendMessage( )
6: GetInfo( )
10: SetInfo( )
7: StartApp( )
8: StartApp( )
9: GetResult( )
67
2.2.5.19.3 Stop:
: User Object1 : CAppListtab Object2(Server) :
CBlockingSocket
Object3(Client) :
CBlockingSocket
Object4 : CCafeClientDlg
Object5 : CTaskMgr
1: SetComputer( )
2: ChooseApp( )
3: StopApp( )
4: SetInfo( )
12: ShowResult( )
5: SendMessage( )
11: SendMessage( )
6: GetInfo( )
10: SetInfo( )
7: StopApp( )
8: StopApp( )
9: GetResult( )
Hình 2-39 Sequence Diagram Manage Application – Stop
2.2.5.20 Use case Manage Service:
2.2.5.20.1 Show List
68
: User
Object1 : CSrvListtab
Object4(Server) :
CBlockingSocket
Object5(Client) :
CBlockingSocket
Object6 : CCafeClientDlg
Object7 : CTaskMgr
3: SetInfo( )
4: SendMessage( )
5: GetInfo( )
7: GetServiceList( )
8: SetInfo( )
9: SendMessage( )
10: GetInfo( )
1: SetComputer( )
2: ListAll( )
11: ShowList( )
6: RequestServiceList( )
Hình 2-40 Sequence Diagram Manage Service – Show List
69
ChangeStartupService:
Hình 2-41 Sequence Diagram Manage Service – Change Startup Service
: User
Object1 : CSrvListtab Object2 : CChgSrvStartupDlg
Object4(Server) :
CBlockingSocket
Object5(Client) :
CBlockingSocket
Object6 : CCafeClientDlg
Object7 : CTaskMgr
1: SetComputer( )
2: ChooseService( )
3: ChooseStartupStyle( )
5: SetInfo( )
13: ShowResult( )
6: SendMessage( )
12: SendMessage( )
7: GetInfo( )
11: SetInfo( )
8: ChangeStartup( )
9: ChangeStartup( )
10: GetResult( )
4: GetStyle( )
70
Change Status
Hình 2-42 Sequence Diagram Manage Service – Change Status
: User
Object1 : CSrvListtab Object3 : CChgSrvStatusDlg
Object4(Server) :
CBlockingSocket
Object5(Client) :
CBlockingSocket
Object6 : CCafeClientDlg
Object7 : CTaskMgr
1: SetComputer( )
2: ChooseService( )
3: ChooseStatusStyle( )
5: SetInfo( )
13: ShowResult( )
6: SendMessage( )
12: SendMessage( )
7: GetInfo( )
11: SetInfo( )
8: ChangeStatus( )
9: ChangeStatus( )
10: GetResult( )
4: GetStyle( )
71
2.2.6 Thiết kế cơ sở dữ liệu
Hình 2-43 Cơ sở dữ liệu
Category STT Tên Thuộc tính Mô tả
1 MALOAI Số nguyên
2 TENLOAI Text tên lọai thức ăn, nước uống
Bảng 2-1 Category
DailyReport STT Tên Thuộc tính Mô tả
1 PC_NO Text
2 START_TIME Ngày giờ
Giờ lúc khách hàng bắt đầu
sử dụng máy
3 END_TIME Ngày giờ
Giờ lúc khách hàng kết thúc
sử dụng máy
4 USERNAME Text
5 ORDER_FEE số thực
tiền khi khách hàng sử dụng
các dịch vụ có liên quan
6 WS_FEE số thực tiền phí sử dụng máy
7 TOTAL_FEE số thực tổng phí
8 ID_SERVICE Text
Bảng 2-2 Daily Report
DEBIT_DETAIL STT Tên Thuộc tính Mô tả
72
1 ID_DEBIT số nguyên
2PC_NO Text
3 USERNAME Text
4START_TIMENgày giờ
Giờ lúc khách hàng bắt
đầu sử dụng máy
5 END_TIME Ngày giờ
Giờ lúc khách hàng kết
thúc sử dụng máy
6 TOTAL_FEE số thực tổng phí
Bảng 2-3 Bảng Debit_Detail
DEBIT_LIST STT Tên Thuộc tính Mô tả
1ID số nguyên
2 NAME Text Tên khách nợ
3 ADDRESS Text
4 PHONE Text
5TOTAL_FEE số thực Tổng tền phải trả
6 PREPAY số thực
Tiền khách có thể trả
trước
Bảng 2-4 Debit List
DISH STT Tên Thuộc tính Mô tả
1MA số nguyên
2 DESCRIPTION Text Tên món thức ăn
3MALOAI số nguyên
Loại thức ăn, nước
uống
4PRICE số thực giá cả
Bảng 2-5 Dish
FEE_DAY STT Tên Thuộc tính Mô tả
1 ID_TABLE Text
2 BEGIN_TIME Ngày giờ giờ bắt đầu
3 END_TIME Ngày giờ giờ kết thúc
4 FEE_HOUR số thực
Bảng 2-6 Fee-Day
73
LOGIN STT Tên Thuộc tính Mô tả
1PC_NO Text
2 USERNAME Text
3PASSWORD Text
4 START_TIME Ngày giờ
5 END_TIME Ngày giờ
6 FEE số thực
7 ID_SERVICE Text
Bảng 2-7 Login
LOGIN_SERVICE STT Tên Thuộc tính Mô tả
1ID Text
2 MA_DISH số nguyên
3 AMOUNT số nguyên
Bảng 2-8 Login Service
MEMBER STT Tên Thuộc tính Mô tả
1 USERNAME Text
2PASSWORD Text
3 ADDRESS Text
4 TELEPHONE Text
5 FEE số thực
6PRIORITY số nguyên
Bảng 2-9 Member
MONTH_REPORT STT Tên Thuộc tính Mô tả
1 DATE Ngày giờ
2 PC_NO Text
3 TOTAL_FEE số thực
Bảng 2-10 Month Report
TABLE_DAY STT Tên Thuộc tính Mô tả
1 ID_TABLE Text
2 DAY Ngày giờ
Bảng 2-11 Table Day
74
2.2.7 Thiết kế màn hình :
2.2.7.1 Thiết kế màn hình trên Client:
2.2.7.1.1 Màn hình Screen:
Hình 2-44 Màn hình Screen
2.2.7.1.2 Màn hình Chính Client
75
Hình 2-45 Màn hình chính Client
Hình 2-46 Màn hình Order phí Client
2.2.7.2 Thiết kế màn hình trên Server:
2.2.7.2.1 Tab WorkStation: