Tải bản đầy đủ (.doc) (21 trang)

“CoffeeShop Management”, đồ án Java

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 (483.18 KB, 21 trang )

Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Mục lục
Chương I: Giới thiệu 3
Chương II: Cơ sở lý thuyết 3
Chương III: Mô tả ứng dụng, cài đặc và kết quả thử nghiệm 10
Chương IV: Kết luận và hướng phát triển 19
TÀI LIỆU THAM KHẢO 21
Trang 1
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
LỜI NÓI ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,
cũng như của các công ty; nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước
đột phá mạnh mẽ.
Vì vậy nên một số quán Cafe đã ứng dụng Công nghệ Thông tin vào trong việc
quản lý thật là dễ dàng nhưng thường là nhưng phần mềm chỉ tính tiền và đòi hỏi quán
cần rất nhiều nhân viên phục vụ nắm bắt được những nhu cầu đó. Vì vậy chúng tôi đã
hình thành ý tưởng viết một phần mềm vừa tiện trong việc quản lý, vừa có thể không cần
nhiều nhân viên phục vụ.
Cùng với việc vừa học xong môn “Lập trình ứng dụng phân tán đối tượng” qua sự
hướng dẩn của thầy Nguyễn Bảo Ân qua đây em bày tỏ lòng biết ơn đến Thầy đã chỉ bảo
và giúp đở em thực hiện xong bài báo cáo này. Xin chân thành cám ơn.
Trang 2
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Chương I: Giới thiệu
1. Mục tiêu đề tài.
- Đối với đề tài này nhóm chúng em tạo ra được một chương trình có thể cho
khách hàng có thể gọi món trên menu.
- Tạo ra được tương tác với máy server thông qua các socket để có thể biết có
khách đến và gọi món.
- Tương tác cơ sở dữ liệu để lấy thông tin ma khách hàng goi.


- Thêm được menu các món.
2. Động cơ thực hiên.
Hiện nay quán Cafe là một nhu cầu giải trí không thể thiếu đối với mọi người
vì vậy hiện nay có rất nhiều quán Cafe mọc lên và canh tranh nhau rất quyết liệt để có
thể đứng vững trên thị trường hiện nay và bênh cạnh có một quán Café đẹp, thức uống
ngon còn một yếu tố mà không thể thiếu hiện nay cần có một chương trình quản lý
hiệu quả mà không kém phần mới lạ để có thể quản lý thật dễ dàng mà vừa thu hút
được khách hàng. Vì vậy nhóm chúng em quyết định chọn đề tài “CoffeeShop
Management” có thể đáp ứng được nhưng nhu cầu hiện nay.
3. Các khía cạnh kỹ thuật.
- Chương trình giao tiếp với nhau thông qua giao thức mạng TCP/IP.
- Cần có server và client
- Tạo ra các socket để lắng nghe từ server và client.
Chương II: Cơ sở lý thuyết
1. Sơ lược về mạng máy tính và hệ phân tán
a) Mạng máy tính.
Trang 3
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
- Một tập hợp các thiết bị liên lạc với nhau qua một giao thức chung trên một
đường truyền
- Thiết bị
o Network cards
o Routers
o Hubs - Switches
o Gateways
b) Hệ phân tán.
- Có nhiều định nghĩa về hệ phân tán, hầu hết các định nghĩa này đều không
hoàn toàn chính xác. Nói chung, 3 định nghĩa sau đây có thể thích hợp đối với
chúng ta và được sử dụng rộng rãi:
- Định nghĩa 1: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán

trên các trạm (máy tính) được kết nối với nhau thông quan một mạng máy tính.
- Đinh nghĩa 2: Hệ phân tán là một tập hợp của những máy tính tự trị được
liên kết với nhau bởi một mạng máy tính, và được cài đặt phần mềm hệ phân
tán.
- Đinh nghĩa 3: Hệ phân tán là một tập các máy tính độc lập, xuất hiện đối
với người sử dụng như một hệ thống thống nhất.
- Tóm lại, ta có thể nói: Hệ phân tán = mạng máy tính + phần mềm hệ phân
tán.
- Mục tiêu của hệ phân tán:
+ Kết nối người sử dụng và tài nguyên.
+ Giải quyết bài toán và chia sẽ thài nguyên trong hệ thống.
- Các tính chất hệ phân tán.
+ Tính minh bạch.
+ Tính mở của hệ thống.
Trang 4
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
+ Khả năng mở rộng.
+ Khả năng nâng cấp.
2. Các giao thức mạng.
a). Giao thức IP
IP là từ viết tắt của Internet Protocol, ở tầng 3, trên Internet thì địa chỉ IP của
mỗI người là duy nhất và nó sẽ đại diện cho chính người đó, địa chỉ IP được sử
dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng.
Địa chỉ IP được chia thành 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte -
> !P có kích thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B,
và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu điạ chỉ, ở lớp B có 65536 địa chỉ.
Trang 5
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
b). Giao thức UDP
- UDP bảo vệ biên thông điệp của tất cả các thông điệp được gởi.

- Mỗi phương thức ReceiveFrom() chỉ đọc dữ liệu được gởi từ một phương
thức SendTo().
- Khi UDP Socket có thể nhận thông điệp từ bất kỳ Client nào.
- Để UDP Socket phân biệt được Client gởi dữ liệu thì mỗi thông điệp phải
được chứa trong một gói tin riêng và được đánh dấu bởi thông tin IP của thiết
bi gửi.
c). Giao thức TCP
- Hệ điều hành Windows dùng bộ đệm TCP để gởi và nhận dữ liệu.
- TCP có thể gởi lại dữ liệu bất cứ lúc nào cần thiết.
Trang 6
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
- Khi dữ liệu đã được hồi báo nhận thành công thì mới được xóa khỏi bộ
đệm.
- Dữ liệu đến sẽ ở lại trong bộ đệm cho đến khi phương thức Receive() được
dùng để đọc.
- Nếu phương thức Receive() không đọc toàn bộ dữ liệu ở trong bộ đệm,
phần còn lại vẫn được nằm ở đó và chờ phương thức Receive() tiếp theo được
đọc.
- Dữ liệu không bị mất nhưng không lấy được các dữ liệu mong muốn.
- Giao thức TCP chuyển dữ liệu nhưng không quan tâm đến biên của dữ liệu.
3. Mô hình client/server
Trang 7
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
4. Lập trình socket.
- Socket có 2 phương thức truyền tin chính là : Truyền có kết
nối(Connection-Oriented)và truyền không có kết nối(Connectionless)
- Truyền có kết nối cung cấp phương thức truyền tin như điện thoại,phải thiết
lập kết nối trước khi truyền và hủy bỏ sau khi sử dụng xong.Mọi dữ liệu được
nhận đúng thứ tự mà nó được gửi.
- Truyền không kết nối cung cấp phương thức truyền giống việc phân phát

thư không đảm bảo vì nhiều gói dữ liệu được nhận khác với thứ tự mà chúng
được gửi đi.
- Các Socket cung cấp 1 giao diện để đọc ghi dữ liệu thông qua 1 luồng.Khi
kết nối đã được thiết lập 2 máy tính có thể trao đổi dữ liệu thông qua các đối
tượng:
BufferedReaderin=newBufferedReader(new
InputStreamReader(client.getInputStream()));
Trang 8
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
PrintWriter out=PrintWriter(client.getOutputStream(),true);
- Khi thực hiện xong cần hủy bỏ các liên kết để trả lại tài nguyên cho hệ
thống,chúng ta sử dụng phương thức:
In.close();
Out.close();
Client.close();
Trang 9
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Chương III: Mô tả ứng dụng, cài đặc và kết quả thử
nghiệm
1. Giới thiệu ứng dụng.
Chương trình bao gồm một client và một server có kết nối cơ sở dữ liệu có thể
truyền thông điệp cho nhau.
- Đối với client xẻ mở ra một giao diện trong đó gồm: số bàn, tên món, số lượng
món, ghi chu nếu có.
- Đối với server thì nhân thông điệp từ client gửi xuống xẻ mở ra một bản các
món mà khách hàng đã chọn và tương ứng số bàn của khách gọi.
2. Kịch bản sử dụng ứng dụng.
Đây là một chương trình đầu tiên bạn phải chạy server (phòng pha
chế)trước là máy ở phòng pha chế rồi sau đó tiếp tục bạn chạy máy ở client(quay)
khi đó bạn xẻ bắt gặp một giao diện dành cho khách hàng tương tác có thể chon

món, chọn bàn, số lượng món đó và có thể có ghi chú sau đó nhấn vào nút OK để
kết thúc món đó và mọi thông tin khách hàng chon món xẻ được hiển thị sang bản
kế bên và khách hàng có thể gọi thêm món khác tùy ý sau khi hoàn tất việc chọn
món khách hàng nhấn vào nút gọi món lúc này màng hình bênh server(phòng pha
chế) xẻ xuất hiện câu thông báo là “có món mới”. Khi đó ở quầy pha chế có thể bắt
đầu pha chế các món mà khách hàng đã gọi và sau khi pha xong ở quầy pha chế xẻ
chọn vào nút “xong” khi đó các món được pha xong xẻ chuyển xuông một bản
cạnh dưới sau khi hoàn tất việc pha chế thì nhấn vào nút “pha xong” để hoàn tất.
Trang 10
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
3. Kiến trúc ứng dụng.
a). Mô hình tổng thể.
b). Gói server.
Chương trình phía Server tạo ra một socket, socket này được gắn với một
cổng (ứng dụng) trên Server. Socket Server sẽ chờ nghe yêu cầu từ phía
Client chương trinh phía Server sẻ trao đổi với nhau bằng cách đọc từ Socket
hoặc ghi vào Socket của mình.
Trang 11
SQL Server
Listen
client
Socke
t
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
c). Gói client.
Khi chương trình phía Client cần kết nối với một Server, nó cũng tạo ra
một socket được hệ điều hành gắn với một cổng. Chương trình Client sẽ cung
cấp cho socket của nó (Socket Client) địa chỉ mạng.
4. Mô hình truyền thông điệp giữa Client và Server.
Trang 12

Connect()
Socket()
Bind()
Các chức năng
nhận và gửi
Close()
Client
Socket()
Bind()
Listen()
Accept()
Các chức năng
nhận và gửi
Close()
Server
Connect()
Socket()
Bind()
Các chức năng
nhận và gửi
Close()
Client
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
5. Cài đặt.
Chương trình được thưc hiện dựa trên ngôn ngữ lập trình Java .
- Java là ngôn ngữ lập trình hướng đối tượng, do vậy không thể dùng
Java để viết một chương trình hướng chức năng. Java có thể giải quyết hầu hết
các công việc mà các ngôn ngữ khác có thể làm được.
- Java là ngôn ngữ vừa biên dịch vừa thông dịch. Đầu tiên mã nguồn
được biên dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode. Sau đó

được thực thi trên từng loại máy cụ thể nhờ chương trình thông dịch. Mục tiêu
của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần
nhưng có thể chạy trên bất cứ phần cứng cụ thể.
- Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên
Internet. Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ
thuộc vào hệ điều hành. Nó không chỉ dùng để viết các ứng dụng chạy đơn lẻ
hay trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại
di động, PDA, …
- Các đặc trưng của Java:
• Đơn giản
• Hướng đối tượng
• Độc lập phần cứng và hệ điều hành
• Mạnh
• Bảo mật
• Phân tán
• Đa luồng
• Động
- Công cụ lập trình:
• NetBeans IDE 7.0.1
• Microsoft SQL Server 2000.
6. Kết quả thử nghiệm.
a). Giao diện chính chương trình.
Trang 13
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Đây là giao diện giới thiệu được bắt gập đầu tiên khi khởi động chương
trình
c). Màng hình tương tác với khách hàng.
Từ thanh menu màng hình chính vào chương trình chọn vào máy quầy khi
đó màng hình chọn món bắt đầu từ đây ta chọn vào bàn và có thể chọn thức uống
Trang 14

Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
từ menu, số lượng và ghi chú sau đó nhấn vào Ok và để kết thúc việc gọi món ta
nhấn vào nút gọi món để hoàn tất công việc.
d). Màng hình phòng pha chế.
- Ở màng hình này người pha chế xẻ nhận được tính hiệu từ máy quầy
gửi xuống khi đó có thể bắt đầu pha chế.
Trang 15
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
- Sau khi pha xong món người pha chế chỉ cần click vào món đã pha
xong thì xẻ chuyển xuống bản phí dưới và sau khi hoàn tất ta nhấn vào nút xong
Trang 16
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Trang 17
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
e). Màng hình thêm menu và giới thiệu phiên bản.
- Người quản lý có thể thêm món mới tùy ý với giao diện thêm menu.
- Từ menu ta chọn giới thiệu chọn vào phiên bản.
Trang 18
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
Chương IV: Kết luận và hướng phát triển
1. Các kiến thức đạc được.
 Thông qua đề tài này nhóm chúng em đã được và làm quen với một ngôn ngữ
mới là Java.
 Hiểu được lập trình Socket, tương tác với cơ sở dữ liệu.
 Hiểu lập trình Client/Server.
2. Kết luận.
Tạo ra được một chương trình có thể quản lý quán Café tương đối hữu hiệu cho
người sử dụng. Chương trình không đòi hỏi cần có một cấu hình máy tương đối
lớn .
Tạo ra được một giao diện người dùng cũng khá là thân thiện không cầu kì trong

quá trình sử dụng
Kết quả của đề tài.
 Đề tài cũng đạt được nhưng yêu cầu cần thiết của một chương trình
quản lý quán Café.
 Tạo ra một giao diện tương tác với cơ sở dữ liệu.
 Người sử dụng khong cần có một kiến thức tin học quá cao.
3. Ưu khuyết điểm.
- Ưu điểm.
 Dể sử dụng.
 Giao diện khá bắt mắt.
 Không tốn kém dung lượng bộ nhớ nhiều.
 Truyền dữ liệu khá nhanh.
- Khuyết điểm.
 Là một chương trình nhỏ.
 Ứng dụng chưa nhiều.
 Khuyết điểm lớn của đề tài là chưa tính tiền và xuất hóa đơn.
Trang 19
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
 Chưa ứng dụng vào thực tế được
4. Hướng phát triển trong tương lai.
- Tạo ra một chương trình lớn hơn nhiều chức năng.
- Có thể lập trình để tính tiền và xuất hóa đơn cho khách hàng.
- Có thể cải tiến để trở thành một chương trình ứng dụng trên thực tế.
Trang 20
Lập trình ứng dụng phân tán đối tượng GVHD: Nguyễn Bảo Ân
TÀI LIỆU THAM KHẢO
- Tài liệu về lập trình phân tán đối tượng.





http://www. diendan tinhoc.vn/ forum display.php?49- Java

/> />Trang 21

×