Để xây dựng lên phần mềm hoànchỉnh nhóm chúng em nhận thấy không chỉ mỗi kỹ năng lập trình mà chúng em cònphải học hỏi nhiều kỹ năng khác như kỹ năng làm việc nhóm, kỹ năng quản lý phânt
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN
Kĩ thuật phần mềm ứng dụng
Đề tài: Website quản lý cửa hàng bán tạp hóa
***
Giảng viên bộ môn: Thầy Vũ Hải
Nhóm sinh viên thực hiện
Hoàng Vũ An - 20192674
Nguyễn Nam Khánh - 20192935
Vũ Tùng Hiếu - 20192854
Lê Hùng Anh - 20192683
Trang 2Hà Nội, 2-2022
Trang 3LỜI NÓI ĐẦU
Ngày nay, CNTT đã và đang đóng vai trò quan trọng trong đời sống kinh tế, xã hộicủa nhiều quốc gia trên thế giới, là một phần không thể thiếu trong xã hội năng động,ngày càng hiện đại hoá Vì vậy, việc tin học hoá vào một số lĩnh vực là hoàn toàn cóthể và phù hợp với xu hướng hiện nay
Xuất phát từ nhu cầu đó, trong công việc quản lý hàng hóa, quản lý nhân sự, kháchhàng là không thể thiếu Nhằm công nghệ hóa những công việc đó mà trước đây phảiquản lý thao tác trên giấy tờ không đạt hiệu quả cao và dễ nhầm lẫn, mất nhiều thờigian, dựa trên tinh thần đó thì nhóm chúng em muốn thực hiện đề tài “Website quản lýcửa hàng bán tạp hóa”
Trong quá trình học tập trên lớp và tìm hiểu thực tế, thì chúng em thấy những khókhăn khi xây dựng và phát lên phần mềm của nhóm Để xây dựng lên phần mềm hoànchỉnh nhóm chúng em nhận thấy không chỉ mỗi kỹ năng lập trình mà chúng em cònphải học hỏi nhiều kỹ năng khác như kỹ năng làm việc nhóm, kỹ năng quản lý phântích thiết kế hệ thống,…
Đây là lần đầu chúng em được tiếp cận và tự xây dựng lên được một hệ thống phầnmềm nên không thể tránh được những thiếu sót và chưa thể hoàn chỉnh tất cả các chứcnăng mà nhóm đặt ra Tuy nhiên chúng em sẽ cố gắng hoàn thiện một phần mềm hoànchỉnh sau khi chúng em học xong học phần này
Chúng em xin chân thành cảm ơn thầy!
Trang 4MỤC LỤ
CHƯƠNG 1 GIỚI THIỆU DỰ ÁN VÀ KẾ HOẠCH THỰC HIỆN 1
1.1 Giới thiệu dự án 1
1.1.1 Lý do chọn đề tài 1
1.1.2 Mục tiêu dự án 1
1.2 Kế hoạch thực hiện 1
1.2.1 Mô hình phát triển 1
1.2.2 Nhiệm vụ của thành viên 2
1.2.3 Công cụ xây dựng dự án 2
1.2.4 Công cụ quản lý và trao đổi 3
1.2.5 Các khó khăn 3
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM ỨNG 4
2.1 Phân tích chức năng 4
2.1.1 Mục đích 4
2.1.2 Biểu đồ phân tích chức năng 4
2.2 Phân tích dữ liệu 5
2.2.1 Mục đích 5
2.2.2 Biểu đồ luồng dữ liệu 5
2.2.3 Biểu đồ cấu trúc chương trình 6
2.3 Phân tích hành vi 8
2.3.1 Mục đích 8
2.3.2 Biểu đồ phân tích hành vi 8
CHƯƠNG 3 TRIỂN KHAI DỰ ÁN 9
3.1 Thiết kế cơ sở dữ liệu 9
3.1.1 Thực thể và các thuộc tính 9
3.1.2 Các phụ thuộc hàm 10
3.1.3 Chuẩn hóa cơ sở dữ liệu 10
3.2 Xây dựng giao diện người dùng 11
Trang 53.2.1 Giao diện khách hàng 11
3.2.2 Giao diện dành cho admin 13
3.3 Debug, kiểm thử, bẫy lỗi 15
3.3.1 Bẫy lỗi chức năng đăng ký 15
3.3.2 Bẫy lỗi chức năng đăng nhập 15
3.3.3 Kiểm thử và debug 16
CHƯƠNG 4 Kết luận 16
Trang 6CHƯƠNG 1 GIỚI THIỆU DỰ ÁN VÀ KẾ HOẠCH THỰC
Vì vậy, Nhóm muốn xây dựng phần mềm quản lý bán hàng đơn giản, dễ sửdụng nhằm phổ cập người dùng, tiếp cận được nhiều đối tượng trong xã hội
1.1.2 Mục tiêu dự án
Xây dựng phần mềm quản lý cửa hàng
Trước hết phần mềm đạt các chức năng cơ bản: quản lý kho hàng hóa, quản lýnhân viên, quản lý khách hàng Sau đó nếu hoàn thành trước tiến độ thì nhóm sẽ cốgắng xây dựng và hoàn thiện thêm các chức năng khác như đặt mua hàng cho kháchhàng
Giúp các thành viên trong nhóm rèn luyện và phát triển được các kỹ năng phântích, thực hiện vấn đề và nâng cao kỹ năng lập trình cũng như các kỹ năng mềm khác
1.2 Kế hoạch thực hiện
1.2.1 Mô hình phát triển
Trong dự án này chúng em chọn mô hình tăng dần để phát triển dự án
Trang 7Hình 1.1 Mô hình tăng dần
Lý do là vì nhóm đã tìm được chức năng chính của phần mềm, những chứcnăng đó sẽ được thực hiện trước, sản phẩm phần mềm sẽ được hoàn thành phần cơ bảnsớm hơn
1.2.2 Nhiệm vụ của thành viên
slide
trình, thiết kế slide
hỗ trợ thuyết trìnhBảng 4.1 Bảng phân chia công việc từng thành viên
1.2.3 Công cụ xây dựng dự án
Ngôn ngữ lập trình java
2
Trang 8Môi trường phát triển tích hợp (IDE) Eclipse
Hệ quản trị cơ sở dữ liệu MySQL
Front-end: HTML và CSS
1.2.4 Công cụ quản lý và trao đổi
Do tình hình dịch bệnh nên các thành viên trong nhóm không cùng nhau
và làm việc một cách trực tiếp với nhau nên nhóm em sẽ họp và làm việc vớinhau thông qua:
- Teams để họp với nhau 1-2 buổi mỗi tuần
- Messenger trao đổi những vấn đề nhỏ của dự án
- Github nơi quản lý code cho dự án
1.2.5 Các khó khăn
Tất cả các thành viên trong nhóm đều là sinh viên năm 3 và chưa từngtham gia phát triển bất kì dự án nào, nên chưa có kinh nghiệm
Trang 9Vì chúng em không sử dụng các framework nên việc phát triển phầnmềm khó khăn, tuy nhiên cũng từ việc này nên giúp em hiểu thêm được bảnchất
Thời gian học của các thành viên trong nhóm khác nhau nên khó có thểthống nhất được lịch họp chung cho nhóm
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM ỨNG
2.1 Phân tích chức năng
2.1.1 Mục đích
+ Làm rõ các thành phần chức năng của hệ thống mới và các thành phầnliên quan như đối tượng sử dụng, dữ liệu trao đổi, trong đó chức năng đóng vaitrò trung tâm
+ Làm rõ mối quan hệ giữa các chức năng với nhau và với các thànhphần khác
2.1.2 Biểu đồ phân tích chức năng
4
Trang 10Hình 2.1 Biểu đồ phân tích chức năng
2.2 Phân tích dữ liệu
2.2.1 Mục đích
+ Xác định rõ những đối tượng mà hệ thống mới sẽ phục vụ (ngườidùng, tác nhân ngoài)
+ Làm rõ các thành phần chức năng của hệ thống mới
+ Xác định rõ mối quan hệ giữa các đối tượng và các chức năng: đốitượng nào dùng chức năng nào và dùng như thế nào -> các luồng dữ liệu vào/ra
hệ thống
+ Xác định mối quan hệ giữa các chức năng như: thứ tự thực hiện, đồng
bộ, thông tin trao đổi -> các luồng thông tin nội bộ
2.2.2 Biểu đồ luồng dữ liệu
Trang 11Hình 2.2 Biểu đồ luồng dữ liệu mức 0
Hình 2.3 Biểu đồ luồng dữ liệu mức 1
6
Trang 122.2.3 Biểu đồ cấu trúc chương trình
- Biểu đồ cấu trúc chương trình đối với khách hàng:
Hình 2.4 Biểu đồ cấu trúc chương trình đối với khách hàng
- Biểu đồ cấu trúc chương trình đối với admin:
Trang 13Hình 2.5 Biểu đồ cấu trúc chương trình đối với admin
- Biểu đồ cấu trúc chương trình đối với nhân viên:
Hình 2.6 Biểu đồ cấu trúc chương trình đối với nhân viên
2.3 Phân tích hành vi
2.3.1 Mục đích
+ Hiểu rõ được các chức năng hoạt động thế nào
+ Mô tả các bước của chức năng
8
Trang 142.3.2 Biểu đồ phân tích hành vi
Hình 2.7 Biểu đồ phân tích hành vi đăng nhập
Hình 2.8 Biểu đồ phân tích hành vi tìm kiếm nhân viên
Trang 15CHƯƠNG 3 TRIỂN KHAI DỰ ÁN
3.1 Thiết kế cơ sở dữ liệu
3.1.1 Thực thể và các thuộc tính
Bảng 3.1 Các thực thể và thuộc tính của hệ thống phần mềm(1NF)Tên thực thể Tên sử dụng Tên các thuộc tính
Sản phẩm sanpham (PK)Id sản phẩm(id_sanpham), id danh mục
(id_danhmuc), tên danh mục(tendanhmuc), tên sảnphẩm (ten), giá sản phẩm(gia), số lượng (soluong),
mô tả(mota), hình ảnh(hinhanh)Khách khach (PK)Id khách(id_khach),hòm thư (email), mật
khẩu(password), tên khách (username), số điện thoại(phonenumber)
Nhân viên nhanvien (PK)Id nhân viên (id_nhanvien), tên nhân
viên(name) ,giới tính(gioitinh), ngày sinh(ngaysinh, số chứng minh hoặc số căn cước(CMND), số điện thoại(phonenumber), hòm thư(email), giờ làm việc(giolamviec), mật khẩu(password), id vị trí(id_vitri),tên vị trí(tenvitri)
Admin admin (PK)Tài khoản(username), mật khẩu(password)3.1.2 Các phụ thuộc hàm
+ Trong bảng sản phẩm:
id_sanpham -> id_danhmuc, ten, gia, soluong, mota, hinhanh
id_danhmuc -> tendanhmuc
+ Trong bảng nhân viên
id_nhanvien -> name, gioitinh, ngaysinh, CMND, phonenumber, email,giolamviec, password,, id_vitri
id_vitri -> tenvitri
10
Trang 16+ Các bảng còn lại thì các thuộc tính đều phụ thuộc hàm đầy đủ và trực tiếp vàokhóa chính
Nhận xét: các bảng trên đều là chuẩn 1NF
3.1.3 Chuẩn hóa cơ sở dữ liệu
Đây là các bảng sau khi chuẩn hóa thành chuẩn 3NF:
Tên thực thể Tên sử dụng Tên các thuộc tính
Sản phẩm sanpham (PK)Id sản phẩm(id_sanpham), ()id danh mục
(id_danhmuc), tên sản phẩm (ten), giá sản phẩm(gia), số lượng (soluong), mô tả(mota), hình ảnh(hinhanh)
Danh mục sản phẩm danhmuc (PK)id danh mục (id_danhmuc), tên danh
mục(tendanhmuc)Khách khach (PK)Id khách(id_khach),hòm thư (email), mật
khẩu(password), tên khách (username), số điện thoại(phonenumber)
Nhân viên nhanvien (PK)Id nhân viên (id_nhanvien), tên nhân
viên(name) ,giới tính(gioitinh), ngày sinh(ngaysinh, số chứng minh hoặc số căn cước(CMND), số điện thoại(phonenumber), hòm thư(email), giờ làm việc(giolamviec), mật khẩu(password), (FK)id vị trí(id_vitri)(PK)id vị trí(id_vitri), tên vị trí(tenvitri)
khẩu(password)Bảng 3.2 Các thực thể và thuộc tính của hệ thống phần mềm(3NF)Sau đây là sơ đồ thực thể liên kết của chuẩn 3NF
Trang 17Hình 3.1 Sơ đồ thực thể liên kết của chuẩn 3NF
3.2 Xây dựng giao diện người dùng
3.2.1 Giao diện khách hàng
+ Giao diện đăng nhập
12
Trang 18Hình 3.2 Giao diện đăng nhập của khách hàng+ Giao diện đăng ký
Trang 19Hình 3.3 Giao diện đăng ký của khách hàng
+ Trang chủ
Hình 3.4 Giao diện trang chủ của khách hàng
14
Trang 203.2.2 Giao diện dành cho admin
+ Giao diện đăng nhập
Hình 3.5 Giao diện đăng nhập của admin+ Trang chủ admin
Hình 3.6 Giao diện trang chủ của admin
Trang 213.3 Debug, kiểm thử, bẫy lỗi
3.3.1 Bẫy lỗi chức năng đăng ký
Hình 3.7 Bẫy lỗi chức năng đăng kýKhi người dùng ở trang đăng ký, họ phải nhập đầy đủ các thông tin cótrong form nếu không thì hệ thống sẽ thông báo người dùng phải nhập đủ thôngtin, họ cũng phải nhập lại password 2 lần giống nhau nếu không hệ thống cũng
sẽ thông báo người dùng nhập mật khẩu không trùng khớp, và một số điện thoạichỉ đăng ký được một tài khoản nếu số điện thoại đã có thì hệ thống cũng sẽthông báo lại người dùng
3.3.2 Bẫy lỗi chức năng đăng nhập
Khi người dùng ở trang đăng nhập họ phải nhập số điện thoại và mậtkhẩu mà họ đã đăng ký để đăng nhập, nếu nhập sai thì sẽ thông báo sai mậtkhẩu
Hình 3.7 Bẫy lỗi chức năng đăng nhập
16
Trang 22Nhóm em sẽ cố gắng hoàn thành và phát triển thêm hệ thống này đểhoàn thiện và đáp ứng đủ các chức năng của người dùng.
Xin cảm ơn thầy đã hướng dẫn nhóm em hoàn thành đề tài dự án tronghọc phần này Em xin cảm ơn!