TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Upload
independent -
Category
Documents
-
view
5 -
download
0
Transcript of TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN &TRUYỀN THÔNG
- - - - - - - - - - - - - - - -
BAO CAO BÀI TẬP LỚN Môn: Thực hành cơ sở dữ liệu
ĐỀ TÀI:
Thiết kế phần mềm quản lí bán hàng siêu thị
Giảng viên: Nguyễn Hồng Phương
Sinh viên thực hiện: Việt -Nhật 7C
Phạm Hồng Thanh – 20122404
Đặng Hoàng Linh – 20121973
Tạ Tất Đạt – 20121504
Hà Nội, 22 - 12 - 2014
Lời cảm ơn
Trong suốt quá trình thực hiện bài tập lớn, nhờ có sự giúp đỡ và chỉ bảo tận tình
của thầy Nguyễn Hồng Phương, cô Vũ Tuyết Trinh và các bạn trong khối Việt
Nhật K57 mà nhóm chúng tôi có thể hoàn thành bài tập lớn này. Chúng tôi xin
chân thành cảm ơn các thầy cô và bạn bè đã giúp đỡ trong thời gian qua.
Mặc dù đã cố gắng hết sức, nhưng do còn hạn chế về kiến thức, kỹ năng cũng như
kinh nghiệm nên sản phẩm của nhóm còn nhiều thiếu sót. Nhóm rất mong nhận
được những ý kiến đóng góp, chỉ bảo tận tình của thầy cô cùng toàn thể các bạn
trong lớp để hoàn thiện được đề tài này.
Xin chân thành cảm ơn!
Mục lục I. Vấn đề thực tế và ý tưởng
1. Vấn đề thực tế
2. Đề xuất ý tưởng
II. Phân tích
1. Đối tượng sử dụng
2. Các chức năng chính
2.1 Đối với nhân viên
2.2 Đối với quản lý
2.3 Đối với quản trị viên
III. Thiết kế
1. Thiết kế CSDL
1.1 Sơ đồ thực thể
1.2 Các bảng trên hệ quản trị CSDL
2. Thiết kế chương trình
2.1 Màn hình đăng nhập,thông tin
2.2 Khung nhìn nhân viên
2.3 Khung nhìn người quản lý
2.4 Khung nhìn quản trị viên
IV. Thực hiện
1. Ngôn ngữ
2. Hệ quản trị cơ sở dữ liệu
V. Hướng dẫn cài đặt
VI. Kiểm thử
VII. Kết luận
Tài liệu tham khảo
I. Vấn đề đặt ra và ý tưởng
1. Vấn đề thực tế
Ngày nay, công nghệ thông tin phát triển và được ứng dụng vào rất nhiều
lĩnh vực, từ khoa học kỹ thuật cho đến phát triển công nghiệp, nông nghiệp, kinh
doanh,giáo dục…Theo luồng phát triển đó, công việc kinh doanh mà cụ thể ở đây
là bán hàng siêu thị cũng cần tiếp cận và ứng dụng các công nghệ mới vào việc tổ
chức cũng như quản lý hoạt động nhằm tối ưu hóa cũng như tăng hiệu quả công
việc cho nên đòi hỏi cần có 1 phần mềm có khả năng quản lí hiệu quả công việc tổ
chức này.
2. Y tưởng
Xây dựng 1 cơ sở dữ liệu và phần mềm quản lí bán hàng siêu thị nhằm hỗ
trợ tối đa cho nhân viên bán hàng cũng như người quản lý
Ưng với mỗi đối tượng se có 1 giao diện riêng đáp ứng nhu cầu đặc trưng của họ.
- Ưu điểm: đơn giản, dễ sử dụng, dễ phổ biến.
- Nhược điểm: người dùng phải cài đặt cả hệ cơ sở dữ liệu, chưa có kết nối mạng
nên còn bất tiện với người dùng từ xa.
II. Phân tich
1. Đôi tương sử dung:
- Nhân viên siêu thị
- Người quản lý siêu thị
- Quản trị viên phần mềm
2. Cac chưc năng:
2.1 Nhân viên
-Chức năng cơ bản của một nhân viên siêu thị:
+ Thiết lập thông số giảm giá của đơn hàng
+ Quản lý nhập, xóa mặt hàng của đơn hàng
+ Hủy phiếu.
+ In hóa đơn.
+ Lưu thông tin hóa đơn vào cơ sở dữ liệu.
- Xem thông tin của nhân viên và đổi mật khẩu.
2.2 Người quản lý
- Quản lý (thêm, xóa, xửa) danh sách nhân viên.
- Quản lý (thêm, xóa, xửa) mặt hàng.
- Xem và sửa thông tin cá nhân .
- Đổi mật khẩu.
2.3 quản trị viên
- Theo dõi cơ sở dữ liệu
- Quản lý (thêm, xóa, sửa) người quản lý
2.4 Giao diện làm việc chính
- Lựa chọn kiểu đăng nhập (Nhân viên, Quản lý, Quản trị viên).
- Cài đặt cấu hình kết nối đến cơ sở dữ liệu.
- Quên mật khẩu
- Thông tin phần mềm
1.2 Các bảng theo mô hình quan hệ
Loginnhanvien
Username
password
1.3 Cac bảng trong hệ quản trị CSDL
+ NHAN VIEN: tập thực thể bao gồm các nhân viên làm việc trong siêu
thị, mỗi nhân viên có một mã nhân viên (MANV) duy nhất, mỗi MANV xác định
một tên nhân viên (TENNV), ngày sinh (NS), quê quán (QQ), số điện thoại
(SDT), lương (LUONG), mật khẩu đăng nhập (MATKHAU). STT Thuộc tính Định nghĩa
1 MANV Mã nhân viên 2 TEN Tên nhân viên 3 NGAYSINH Ngày sinh 4 QUEQUAN Quê quán 5 SDT Số điện thoại 6 LUONG Lương 7 MATKHAU Mật khẩu
+ NGUOI QUAN LY: người quản lý gồm các trưởng phòng trong siêu
thị. Mỗi người quán lý có một mã của người quán lý (MANQL) duy nhất, mỗi
MANQL xác định một tên người quản lý (TENNQL), số điện thoại (SDT), địa
chỉ (DIACHI), ), mật khẩu đăng nhập (MATKHAU). Mỗi người quản lý có thể
quản lý nhiều nhân viên STT Thuộc tính
TINH Định nghĩa
1 MANQL Mã quản lý 2 TEN Tên quản lý 3 SDT Số điện thoại
4 DIACHI Địa chỉ 5 MATKHAU Mật khẩu
Mamathang
Mamh
Tenmh
gia
Chitiethoadon
Mahd
Mamh
sl
hoadon
Mahd
Tien hang
Tienthanhthoan
manv
Nhanvien
manv
Ten
Ngaysinh
Quequan
Sdt
luong
maql
matkhau Quanly
Maql
Ten
Diachi
sdt
matkhau
+ MAT HÀNG: gồm tập thực thể các mặt hàng bán trong siêu thị. Mỗi mặt hàng
có một mã mặt hàng (Định nghĩa) duy nhất, mỗi (MAMH) xác định một tên mặt
hàng (TENMH), giá mặt hàng (GIAMH). Mỗi gian hàng thì có thể chứa nhiều
mặt hàng.
STT Thuộc tính Định nghĩa
1 MAMH Mã mặt hàng 2 TENMH Tên mặt hàng 3 GIAMH Giá mặt hàng
+ HOA DON: tập thực thế gồm các đơn đặt hàng của khách hàng. Mỗi hoá đơn có một mã
số duy nhất là (MAHD), mỗi hoá đơn bán hàng có thể gồm nhiều mặt hàng. Mỗi hoá đơn
xác định ngày lập hoá đơn (NGAY), giá mặt hàng (GIAMH). Mỗi khách hàng trong một
ngày có thể có nhiều lần mua hàng nên có nhiều hoá đon, và mỗi nhân viên có thể quản lý
thu tiền của nhiều hoá đơn.
STT Thuộc tính Định nghĩa
1 MAHD Mã hóa đơn
2 TIENHANG
Tiền đơn hàng
3 TIENTHANHTOAN
Tiền thanh toán
4 GIAMH Giá mặt hàng
+ CHITIETHOADON : tập thực thể bao gồm các mặt hàng và số lượng đặt hàng
của mỗi đơn hàng. Mỗi đơn hàng có thể có nhiều mặt hàng và mỗi mặt hàng có
thể xuất hiện ở nhiều đơn hàng. Mỗi chi tiết hóa đơn gồm mã hóa đơn (MAHD),
mã mặt hàng (MAMH) và số lượng mặt hàng tương ứng với mã mặt hàng ( SL).
STT Thuộc tính Định nghĩa
1 MAHD Mã hóa đơn
2 MAMH Mã mặt hàng
3 SL Số lượng
+LOGINQUANTRIVIEN : tập thực thể gồm tài khoản (USERNAME) và mật
khẩu (PASSWORD) để đăng nhập vào giao diện làm việc của quản trị viên.
2.5 Khung nhìn người quản lý
-giao diện sử dụng
+quản lý nhân viên: danh sáchnhân viên hiển thị trong bảng “danh sách
mã nhân viện”; nhập mã nhân viên, cùng thông tin nhân viên cần thêm,
người quản lý có thể sửa xóa nhân viên
+quản lý mặt hàng: danh sách mặt hàng hiển thị trên màn hình, người quản
lý có thể thêm, sửa hoặc xóa mặt hàng.
~thêm
-quản trị cơ sở dữ liệu: (xem thông tin cơ sở dữ liệu)
IV. Thực hiện
1. Ngôn ngữ: Ngôn ngữ được sử dụng là Java. Nhóm sử dụng ngôn ngữ này vì các lý do sau:
- Đa nền tảng, giúp triển khai dễ dàng trên số lượng máy lớn
- Ngôn ngữ lập trình mạnh me, giao tiếp tốt với các hệ quản trị CSDL, rút ngắn
thời gian thực hiện.
- Có cộng đồng hỗ trợ lớn, phát triển và hoàn thiện liên tục.
2. Hệ quản trị CSDL:
Hệ quản trị CSDL được sử dụng là PostgreSQL. Hệ QTSCDL
- Tương thích tốt với SQL chuẩn
- Mã nguồn mở, miễn phí
- Hỗ trợ đa nền tảng
V. Hướng dẫn cài đặt, sử dung chương trình
1. Cài đặt pgAdmin 3 III
2. Tạo một cơ sở dữ liệu với tên thanhpham;
3. Restore csdl thanhpham với file csdldemo.backup;
5. Chạy chương trình thiết lập cấu hình đến khi báo kết nối thành công
VI. Kiểm thử
a. Kiêm thử cơ sở dữ liệu: Đã kiểm tra cơ sở dữ liệu bao gồm:
+ Kiểm tra tính nhất quán của cơ sở dữ liệu.
+ Kiểm tra tính toàn vẹn của dữ liệu khi tạo, sửa, xóa hoặc cập nhật cơ sở dữ liệu.
+ Kiểm tra các truy vấn cơ sở dữ liệu được thực thi chính xác
b. Kiêm thử chức năng:
+ Kiểm tra các chức năng.
+ Kiểm tra các khung điền thông tin của phần mềm:
+ Kiểm tra các trường bắt buộc.
+ Kiểm gia thử cho đầu vào sai cho các trường.
d. Kiểm tra giao diện: <theo quan điểm cá nhân>
Kiểm tra giao diện của người dùng và admin:
+ Bố cục giao diện khá hợp lý.
+ Tuy nhiên khả năng tương thích với người dùng còn chưa cao, thiếu 1 số nút
bấm chức năng.
e. Kiêm thử khả năng tương thich
+ Kiểm thử tương thích với hệ điều hành.
+ Phần mềm chạy ổn định và hiển thị tốt trên cả 3 hệ điều hành
Windows XP, Windows 7, WinDowns 8.
+ Kiểm thử tương thích với host:
+ Phần mềm chạy ổn định trên host cục bộ.
f. Kiêm thử bảo mật:
Thử nhập các giá trị ID, Password không hợp lệ, chương trình đều
báo lỗi không hợp lệ và ngăn chặn đăng nhập.
VII. Kết luận
1. Đã làm được: + Phân tích và Thiết kế được CSDL
+ Truy vấn và tạo các ràng buộc lên CSDL
+ Phần mềm kết nối thành công với cơ sở dữ liệu
+ Cung cấp giao diện trực quan cho người dùng
+ Chức năng hoạt động đúng và chính xác
2. Chưa làm được: + CSDL còn mang tính Demo, quy mô nhỏ
+ Chưa tối ưu hóa được câu lệnh truy vấn, chưa ứng dụng được các triger
+ Chưa sử dụng thành thạo ngôn ngữ JAVA trên nền hướng đối tượng
3. Hướng phát triên: + Mở rộng CSDL
+ Tăng cường ràng buộc về dữ liệu -> an toàn, chính xác hơn
+ Sử dụng ngôn ngữ lập trình hiệu quả hơn
+ Xây dựng giao diện đẹp mắt hơn
+ Đưa chương trình vào ứng dụng thực tế
Tài liệu tham khảo 1. http://studyandshare.wordpress.com/link/javaswing/
2. http://alvinalexander.com/java/edu/pj/jdbc/jdbc0003
3. http://www.tutorialspoint.com/postgresql/postgresql_java.htm
4. http://quocviettt.wordpress.com/2008/10/07/connect-to-database-from-java/
Ngoài ra nhóm cũng tham khảo nhiều tài liệu, slide môn học do các
thầy cô và các bạn cùng lớp cung cấp, cũng như tham khảo các diễn
đàn về lập trình trên mạng Internet NHƯNG ĐẢM BẢO LÀ CODE 96,69% ĐƯỢC THỰC HIỆN BỞI NHÓM KHÔNG ĐI COPY CODE.
Xin chân thành cảm ơn!