Tải bản đầy đủ (.docx) (22 trang)

TrungThanh(33) dattuan baibaocaocuoiki

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (605.13 KB, 22 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHAN THIẾT
KHOA CÔNG NGHỆ THÔNG TIN
----------

ĐỒ ÁN KẾT THÚC HỌC PHẦN
LẬP TRÌNH WINDOWS

PHẦN MỀM QUẢN LÝ QUÁN CAFE
Giảng viên hướng dẫn: TH.S. Lê Thị Ngọc Hạnh
Sinh viên thực hiện:
Lê Trung Thành
MSSV: 1451010033
Nguyễn Đạt Tuấn
MSSV: 1451010046
Lớp: DH14TH

Tháng 11/2016


LỜI MỞ ĐẦU
Từ xưa đến nay, nhu cầu được giao tiếp, kết bạn đã tồn tại và ngày càng có xu
hướng mở rộng. Ngày nay, với mức sống của con người ngày một cải thiện, những đáp
ứng nhu cầu về mặt tinh thần ngày càng tốt hơn, được trú trọng hơn.
Trên thế giới và ngay cả ở Việt Nam, uống Cafe không còn đơn thuần là một nhu
cầu giải khát mà người ta còn mong muốn tìm kiếm một cái gì đó xa hơn thế.
Trên thị trường cả nước nói chung và Phan Thiết nói riêng, các loại hình và số
lượng quán Cafe ngày càng trở nên đa dạng, phong phú và linh hoạt, đáp ứng nhu cầu
ngày càng cao của khách hàng. Vì vậy, để lựa chọn cho mình một hướng đi riêng và để
thành công được không phải là vấn đề đơn giản.
Vì chúng tôi nhận ra rằng bước đầu tiên là bước quan trọng nhất trong sự thành


công khi triển khai bất kỳ một kế hoạch kinh doanh nào, vì thế phải thành công, không
thể đánh đổi hoan phí sức người sức của được. Do đó chúng tôi đã hội về, vẽ ra một kế
hoạch kinh doanh quản lý quán Cafe cụ thể chi tiết nhằm dùng nó làm kim chỉ nam để
xuyên suốt quá trình hoạt động của quán, ngoài ra nó sẽ là cơ sở để chúng tôi huy động
vốn từ các nhà đầu tư và nó sẽ là cơ sỡ vững tin cho các nhà cung cấp của chúng tôi.
Chúng tôi tin rằng với phần mềm quản lý quán Cafe chi tiết của ý tưởng sẽ được
quan tâm và triển khai thành công.

Mục Lục


CHƯƠNG 1. GIỚI THIỆU VỀ C#, VISUAL STUDIO 2012 VÀ
MÔ HÌNH LẬP TRÌNH SONG SONG
1.1.Giới thiệu về C#


1.1.1. Sơ lược về C#
C# (đọc là "C thăng" hay "C sharp") là một ngôn ngữ lập trình hướng đối
tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của
họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là
C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java.
C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic,
Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng
với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

1.1.2. Đặc điểm ngôn ngữ
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất
đến.NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc
mạnh mẽ vào Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát

và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng
khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng
những đặc trưng của.NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc
điểm nào đó, nhưng không bao gồm các giới hạn sau đây:


Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn. Hầu hết
các đối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra
tràn bộ đệm. Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn
những đối tượng thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng
cách tham chiếu.



Các đối tượng không thể được giải phóng tường minh.



Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract
interfaces). Chức năng này làm đơn giản hóa sự thực thi của thời gian thực
thi.



C# thì an-toàn-kiểu (typesafe) hơn C++.



Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]").




Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).



C# không có tiêu bản.



Có thêm Properties, các phương pháp có thể gọi các Properties để truy cập
dữ liệu.



Có reflection.


1.2. Giới thiệu về Microsoft Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft.
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng
như các trang web, các ứng dụng web và các dịch vụ web. Visual Studio sử dụng nền
tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows
Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả
hai ngôn ngữ máy và mã số quản lý.
Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến
mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi
mức độ máy. Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng
giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu. Nó chấp

nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho
các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như
biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho
các khía cạnh khác trong quy trình phát triển phần mềm.
Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập
mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình. Các ngôn
ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua
Visual Basic.NET), C thăng (thông qua Visual C#) và F thăng (như của Visual Studio
2010). Hỗ trợ cho các ngôn ngữ khác như J++/J thăng, Python và Ruby thông qua dịch
vụ cài đặt riêng rẽ. Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Microsoft cung cấp phiên bản "Express" là phiên bản miễn phí của Visual Studio

1.3. Mô Hình Lập Trình Song Song
1.3.1. Giới thiệu về mô hình lập trình song song
- Mô hình chia sẽ bộ nhớ
CP

CP

CP

CP


MEMORY
- Mô hình bộ nhớ phân tán

-

CPU


CPU

MEMORY

MEMORY

Các công cụ lập trình
Bộ nhớ chung
Công cụ hệ thống
Công cụ chuyên biệt

-

Mô hình trao đổi dữ liệu

Theards (ptheards)
OpenMP
Ptheards

Bộ nhớ phân tán
Sockets
MPI
PVM
Globus Toolkit 4(GT4)


1.3.2. Lập trình chia sẻ bộ nhớ
- Giả thiết rằng chúng ta có một hệ thống đa bộ xử lý đối xứng SMP. Đó là hệ
thống trong đó tất cả các bộ xử lý là như nhau, không có những bộ xử lý đặc biệt

để xử lý vào/ra, cũng không có bộ xử lý được gán cho nhiệm vụ đặc biệt nào
khác. Đây là mô hình chung cho các hệ thống đa xử lý.
- Để nghiên cứu về song song, chúng ta không nhất thiết phải có hệ đa bộ xử lý
mức vật lý. Trong môi trường UNIX, WINDOWS chúng ta có thể tạo ra nhiều
tiến trình khác nhau trong hệ thống và chúng được sử dụng để mô phỏng lập
trình đa bộ xử lý.
- Trong lập trình thủ tục tuần tự (như với C, C++, Pascal, Fortran), ta có thể mô tả
bài toán một cách độc lập với các ngôn ngữ lập trình. Khi đã có mô tả về thuật
toán ta dễ dàng cài đặt trên các ngôn ngữ lập trình tuần tự khác nhau bởi vì hầu
hết các ngôn ngữ lập trình thủ tục đều sử dụng các lệnh và cấu trúc điều khiển
chuẩn như: tuần tự, rẽ nhánh if-then, các cấu trúc lặp (for, while, repeat), v.v.
- Tương tự như vậy, trong môi trường lập trình chia sẻ bộ nhớ có hai ràng buộc
quan trọng mà chúng ta phải chú ý:
• Một tiến trình có thể chờ một khoảng thời gian bất kỳ giữa hai câu lệnh cần
thực hiện. Giả sử bộ xử lý P thực hiện một chương trình có một 100 câu lệnh,
bộ xử lý Q thực hiện chương trình có 10 câu lệnh và cùng bắt đầu thực hiện.


Thậm chí, tất các câu lệnh có tốc độ thực hiện như nhau thì cũng không thể
nói rằng Q sẽ kết thúc trước P.
• Không thể xem các lệnh thực hiện là đơn thể ở mức các ngôn ngữ lập trình. Ví
dụ, một lệnh đơn giản như: a = a + b sẽ là một dãy các lệnh trong ngôn ngữ
máy. Mà ta cũng biết rằng, các tiến trình và hệ điều hành chỉ nhận biết được
các câu lệnh của ngôn ngữ máy


CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Khảo sát thực trạng
Hiện nay, việc quản lý các quán café vừa và nhỏ thường dung các thủ công. Gây
nhiều khó khăn trong việc quản lý, kiểm tra và thống kê. Với lượng khách càng ngày

càng tăng, để phục vụ khách được tốt hơn, chính xác hơn và nhanh chóng hơn thì chủ
quán đang từng bước tin học hoá các khâu quản lí. Đặc biệt là trong công tác kế toán và
quản lí hàng hoá,đồ uống.Bởi vì với công tác thủ công trước đó mà cửa hàng thực hiện
đã bộc lộ nhiều hạn chế như sau:
-

Tra cứu thông tin về hàng hoá, các đại lí cung cấp hàng và khách hàng mất
nhiều thời gian và nhiều khi không chính xác.

-

Lưu trữ thông tin về nhập xuất hàng hoá, về thu chi cần nhiều loại giấy tờ nên
cồng kềnh và không đạt hiệu quả.

-

Cập nhật các thông tin hằng ngày tốn nhiều thời gian và khó khăn trong việc
thực hiện báo cáo thống kê, nhất là khi có sự việc đột xuất.

-

Trước tình hình đó vấn đề đặt ra là xây dựng một hệ thống thông tin mới hoàn
thiện hơn đáp ứng được các yêu cầu cơ bản sau:

-

Giảm khối lượng ghi chép nhằm lưu trữ thông tin.

-


Cập nhật dữ liệu nhanh chóng, chính xác và kịp thời.

-

Thống kê được số lượng hàng hoá nhập xuất,thu chi và tình hình doanh thu của
cửa hàng.

-

Tự động in các hoá đơn cần thiết như: phiếu yêu cầu nhập hàng, hoá đơn nhập
hàng, phiếu thu, phiếu chi.

-

Có khả năng lưu trữ thông tin lâu dài, đảm bảo truy vấn nhanh khi cần thiết

2.2. Mô tả hệ thống
Trong quản lý quán Cafe, nhân viên phụ trách sẽ nhập thông tin của từng món mà
đã được khách gọi trên từng mã bàn vào cơ sở dữ liệu. Qua đó, khi có khách nào muốn
chuyển qua một bàn khác, sẽ để lại thông tin của bàn hiện tại qua hết bên bàn cần
chuyển, rất tiện lợi và dễ dàng. Thông tin của từng bàn sẽ được máy chủ tiếp nhận, lưu
trữ lại và quản lý.


2.3. Đặt tả hệ thống
2.3.1. Đặt tả dữ liệu
- Quản lý bàn bao gồm những thông tin liên quan đến từng bàn đảm bảo cho việc
quản lý, kiểm tra dễ dàng hơn. Các thông tin bao gồm: Mã bàn, Khu vực hiện
có.
- Quản lý gọi món bao gồm thông tin liên quan đến từng bàn và các món trong

bàn, cụ thể là: Mã bàn, Tên món, Số lượng, Đơn giá.
- Quản lý nhân viên bao gồm thông tin từng nhân viên trong quán cụ thể nhân
viên bao gồm các thông tin sau: Mã nhân viên, Họ và tên, Ngày sinh, Địa chỉ,
Số điện thoại, Giới tính và Chức vụ của từng nhân viên.
- Quản lý menu bao gồm thông tin liên quan đến từng món có trong quán cụ thể
là: Tên món, Đơn giá.
- Quản lý chi tiết hóa đơn bán bao gồm thông tin liên quan đến từng bàn và các
món trong bàn, cụ thể là: Mã hóa đơn, Mã bàn, Tên món, Số lượng, Đơn giá và
Tổng tiền của hóa đơn đó.

2.3.2. Đặt tả xử lý
-

Thêm, sửa, xóa và cập nhật dữ liệu trong form Gọi món.
Thêm, sửa, xóa và cập nhật dữ liệu trong form Menu.
Thêm, sửa, xóa và cập nhật thông tin và dữ liệu trong form Nhân viên.
In hóa đơn và hủy bàn trong form Hóa đơn thanh toán.
Chuyển thông tin mã bàn trong form Chuyển bàn.
Thêm và cập nhật bàn mới trong form Bàn.

2.4. Mô hình tổ chức dữ liệu
- Menu(TenMon, DonGia)
- Ban(MaBan, KhuVuc)
- GoiMon(MaBan, TenMon, SoLuong, DonGia)
- CTHD(MaHD, MaBan, TenMon, DonGia, Soluong, TongTien)
- NhanVien(MaNV, HoVaTen, NgaySinh, DiaChi, SoDienThoai, GioiTinh,
ChucVu)

2.5. Mô hình vật lý dữ liệu
Menu(TenMon, DonGia)

Stt

Tên thuộc tính

Mô tả

Kiểu dữ liệu

1

TenMon

Tên món

Nvarchar(50)

2

DonGia

Đơn giá

Int

Khóa
Primary key


Ban(MaBan, KhuVuc)
Stt


Tên thuộc tính

Mô tả

Kiểu dữ liệu

Khóa

1

MaBan

Mã bàn

Nvarchar(50)

Primary key

2

KhuVuc

Khu vực

Nvarchar(50)

GoiMon(MaBan, TenMon, SoLuong, DonGia)
Stt


Tên thuộc tính

Mô tả

Kiểu dữ liệu

Khóa

1

MaBan

Mã bàn

Nvarchar(50)

Foreign key

2

TenMon

Tên món

Nvarchar(50)

Foreign key

3


SoLuong

Số lượng

Int

4

DonGia

Đơn giá

Int

CTHD(MaHD, MaBan, TenMon, DonGia, Soluong, TongTien)
Stt

Tên thuộc tính

Mô tả

Kiểu dữ liệu

Khóa

1

MaHD

Mã hóa đơn


Nvarchar(50)

Primary key

2

MaBan

Mã bán

Nvarchar(50)

Foreign key

3

TenMon

Tên món

Nvarchar(50)

Foreign key

4

DonGia

Đơn giá


Int

5

SoLuong

Số lượng

Int

6

TongTien

Tổng tiền

Int


NhanVien(MaNV, HoVaTen, NgaySinh, DiaChi, SoDienThoai, GioiTinh, ChucVu)

7

Stt

Tên thuộc tính

1


MaNV

Mã nhân viên

Nvarchar(50)

2

HoVaTen

Họ và tên

Nvarchar(50)

3

NgaySinh

Ngày sinh

Smalldatetime

4

Diachi

Địa chỉ

Nvarchar(50)


5

SoDienThoai

Số diện thoại

Nvarchar(50)

6

GioiTinh

Giới tính

Nvarchar(50)

ChucVu

Chức vụ

Nvarchar(50)

2.6. Sơ đồ quan hệ

Mô tả

Kiểu dữ liệu

Khóa
Primary key



CHƯƠNG 3. XÂY DỰNG PHẦN MỀN QUẢN LÝ QUÁN CAFÉ
3.1. Giới thiệu chương trình
3.1.1. Giao diện chính

3.1.2. Giới thiệu giao diện
-

Giao diện đơn giản, thân thiện với người dùng.
Phần mềm rất đơn giản, thích hợp cho mọi đối tượng. Đặc biệt là các đối
tượng không chuyên công nghệ thông tin.
Các chức năng cho phép người dùng thêm, xóa, sửa dễ dàng nhưng phải đảm
bảo các quy tắc về cơ sở dữ liệu.
Các button, bảng hiện thị được sắp xếp, chỉnh sửa sao cho cân đối.


3.2. Giới thiệu các chức năng
3.2.1. Đăng nhập

Form đăng nhập dành riêng cho quyền Admin.

3.2.2. Trang chủ


Sau khi đăng nhập thành công, người dùng sẽ được đưa vào Main là giao diện
chính của phần mềm. Ở đây, ta thấy giao diện được chia ra làm 3 phần bao gồm:
-

Phần phân khu bàn gồm khu A và khu B, ở đây các bàn đã có khách ngồi hay


-

chưa có khách sẽ được thể hiện rõ qua cách đổi màu của icon trên giao diện.
Phía bên dưới là bảng thông tin, nhằm hiện thông tin mã bàn, tên món, số
lượng món và đơn giá của các món đó để người dùng có thể quản lý dễ dàng

-

hơn với phần mềm này.
Và 1 phần nữa đó là các button tính tiền, thêm bàn, cập nhật, gọi món, chuyển
bàn, menu nằm ở góc cuối phía bên phải giao diện. Đó chính là các nút nhấp
chuột để hiện thị và chuyển đổi qua các giao diện khác.

3.2.3. Quản lý bàn

Để đi tới giao diện quản lý bàn. Người dùng click vào nút Thêm Bàn trên giao
diện chính.
Ở đây, người dung có thể thêm thông tin mã bàn mới vào từng khu vực, dễ dàng
quản lý từng mã bàn (MaBan) thuộc từng khu vực (KhuVuc).


3.2.4. Quản lí thông tin các món

Để đi tới giao diện quản lý Menu. Người dùng click vào nút Menu trên giao
diện chính.
Ở đây, người dùng dễ dàng quản lý toàn bộ Menu (Menu) hiện có. Người
dùng có thể cập nhật thêm sửa xóa thông tin các món (TenMon) và giá tiền
(DonGia).


3.2.5. Quản lý gọi món


Để đi tới giao diện quản lý gọi món. Người dùng click vào nút Gọi Món trên
giao diện chính.
Ở đây, người dung có quyền là Admin có thể thêm sửa xóa tên món(Tên Món),
số lượng (Số Lượng) các món theo mã bàn mà người dùng đã chọn trước đó.

3.2.6 Quản lý chuyển bàn

Để đi tới giao diện quản lý chuyển bàn. Người dùng click vào nút Chuyển Bàn
trên giao diện chính.
Ở đây, người dung có thể chọn mã bàn(Mã Bàn) các bàn đã được khách chọn
trước đó và chuyển qua theo mã bàn (Mã Bàn) của các bàn chưa có khách.


3.2.7 In ra hóa đơn thanh toán

Để đi tới giao diện quản lý hoa đơn thanh toán. Người dùng click vào nút Tính
Tiền trên giao diện chính.
Ở đây, người dùng có thể thanh toán hóa đơn bằng cách chọn mã bàn(MaBan)
và tự them vào mã hóa đơn (MaDH), bấm thanh toán thì ngay có thể thanh toán
được ngay .khách hàng có thể hủy bàn ngay tại form thanh toán này.


3.2.8 Quản lý thông tin nhân viên

Để đi tới giao diện quản lý nhân viên. Người dùng click vào nút Nhân Viên ở
thanh công cụ trên giao diện chính.
Ở đây, người dùng có thể quản lý được thông tin của từng nhận viên trong quán

của mình, và có thể thêm sửa xóa mọi thông tin của nhân viên đó.


3.2.9 Thông tin chi tiết

Để đi tới giao diện thông tin. Người dùng click vào nút Thông Tin ở thanh công
cụ trên giao diện chính.
Ở đây, form hiển thị thông tin chi tiết liên quan đến bài project và sinh viên thực
hiện, các trang website tham khảo.


CHƯƠNG 4. KẾT LUẬN VÀ HƯƠNG PHÁT TRIỂN
4.1. Kết luận
Phần mềm đáp ứng được nhu cầu quản lý bàn và nhân viên cho các quán Cafe.
Tuy nhiên, vẫn còn nhiều nhược điểm cần được khắc phục:
-

Cơ sở dữ liệu còn nhiều thiếu sót.
Xây dựng hệ thống vẫn chưa đạt hiệu suất tốt nhất.
Còn nhiều lỗi nhỏ ở phần lập trình.
Chức năng vẫn còn hạn chế.

4.2. Hướng phát triển
Hướng phát triển: Tôi muốn phát triển ứng dụng này thành một ứng dụng Quản lý
quán Cafe hoàn chỉnh. Hay ít nhất là hoàn thiện cơ sở dữ liệu để ứng dụng có thể đưa
vào thực tế và hoạt động có hiệu quả, cạnh tranh cùng các quán khác, đáp ứng được nhu
cầu ngày càng cao của khách hàng.

4.3. Những thiếu xót
- Nhiều chức năng của ứng dụng chưa được áp dụng

- Cơ sở dữ liệu còn khá đơn giản và gặp rất nhiều lỗi

Tài Liệu Tham Khảo:


/> /> />%9Dng_ph%C3%A1t_tri%E1%BB%83n_t%C3%ADch_h%E1%BB
%A3p
/> />


×