BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
MÔN: CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI:
XÂY DỰNG PHẦN MỀM QUẢN LÝ CỬA
HÀNG ĐIỆN THOẠI DI ĐỘNG
GVHD: ThS. MAI TUẤN KHÔI
MỤC LỤC
Phân tích thiết kế hệ thống
1. Guest
-
Đăng nhập
Sơ đồ luồng dữ liệu
-
Mô tả:
D1
D2
D3
D4
D5
D6
-
Username, Password
Không có
Danh sách Username, Password trong table
Username, thời gian đăng nhập
Không có
Thông báo đăng nhập (thành công/thất bại)
Thuật toán:
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
Nhận D1 từ người dùng
Mở kết nối cơ sở dữ liệu
Lấy danh sách D3, loại user
Kiểm tra username, password có tồn tại trong danh sách
user trong D3 không:
- Nếu có : B5
- Không có: B8
Lưu username và thời gian đăng nhập Xuống bảng
Loglogin
Đăng nhập thành công, kiểm tra loại uesr của thành viên
đăng nhập, nếu là Admin màn hình chuyển tiếp là màn
hình chính của admin, nếu là nhân viên màn hình chuyển
tiếp là màn hình chính của nhân viên.
Trả D6 về cho người dùng
Trả thông báo đăng nhập không thành công, màn hình
chuyển tiếp là màn hình đăng nhập
Trả D6 về cho người dùng, xóa ô mật khẩu
Đóng kết nối
Kết thúc
P a g e 3 | 20
2. Admin/Nhân viên
2.1. Đăng xuất
- Sơ đồ luồng dữ liệu
-
Mô tả:
D1
D2
D3
D4
D5
D6
-
Không có
Không có
Không có
Không có
Không có
Thông báo kết quả sau khi đăng xuất
Thuật toán:
B1
Chuyển về màn hình chính
B2
Hiển thị thông báo đã đăng xuất khỏi hệ thống
B3
Trả D6 về cho người dùng
B4
Kết nối
2.2. Thêm hóa đơn
- Sơ đồ luồng dữ liệu
P a g e 4 | 20
-
Mô tả:
-
D1
-
Mã hóa đơn, sản phẩm, số lượng, mã khách hàng,
số điện thoại, mã nhân viên
Không có
-
D2
-
-
Danh sách: sản phẩm, số lượng, đơn giá
D3
-
D4
-
Mã hóa đơn, sản phẩm, số lượng, mã khách hàng,
số điện thoại, mã nhân viên, ngày tạo hóa đơn, tổng
tiền
Máy in
-
D5
-
-
Thông báo kết quả thêm hóa đơn (thành
công/thất bại)
-
D6
Thuật toán:
B1
B2
B3
B4
-
Kết nối cơ sở dữ liệu
-
Lấy danh sách D3
-
Nhận danh sách D1 từ người dùng
-
B5
B6
B7
B8
B9
B10
B11
B12
-
Kiểm tra kho xem còn đủ sản phẩm không
- Còn hàng B5
- Hết hàng B8
Màn hình chuyển tiếp là màn hình chi tiết hóa đơn
Tính toán tổng tiền thu được dựa trên sản phẩm và số
lượng sản phẩm bán ra
Gửi dữ liệu sang máy in để in hóa đơn (nếu có).
-
Trả D6 về cho người dùng B11
Trả thông báo thêm hóa đơn không thành công, màn
hình chuyển tiếp là màn hình lập hóa đơn.
Trả D6 về cho người dùng
-
Đóng kết nói cơ sở dữ liệu
-
Kết thúc
2.3. Sửa hóa đơn
- Sơ đồ luồng dữ liệu
P a g e 5 | 20
-
Mô tả:
-
-
Sản phẩm, số lượng, mã khách hàng, số điện thoại.
-
Không có.
D1
-
D2
-
D3
-
D4
-
Danh sách sản phẩm, danh sách hóa đơn và chi
tiết hóa đơn
Sản phẩm, số lượng, mã khách hàng, số điện thoại,
tổng tiền
Máy in
-
D5
-
-
Thông báo sửa hóa đơn (thành công, thất bại)
D6
-
P a g e 6 | 20
-
Thuật toán:
-
-
Mở kết nối cơ sở dữ liệu
-
Lấy D3 theo ngày tạo hóa đơn, mã hóa đơn
-
Kiểm tra D3:
- Nếu có vấn đề: B4
- Nếu không có vấn đề:B8
Nhận D1 từ người dùng để thay đổi dữ liệu
B1
-
B2
-
B3
-
-
B4
-
B5
-
Sửa hóa đơn thành công, màn hình chuyển tiếp là
chi tiết hóa đơn.
Tính toán lại tổng tiền hóa đơn
-
B6
-
-
Gửi dữ liệu sang máy in và in lại hóa đơn (nếu có)
-
Trả D6 về cho người dùng B11
B7
-
B8
-
B9
-
Trả thông báo không thay đổi hóa đơn, màn hình
chuyển tiếp là màn hình lập hóa đơn.
Trả D6 về cho người dùng
-
B10
-
-
Đóng kết nối cơ sở dữ liệu
-
Kết thúc.
B11
-
B12
2.4. Xóa hóa đơn
- Sơ đồ luồng dữ liệu
-
-
Mô tả:
-
Mã hóa đơn
-
Không có
-
-
Danh sách sản phẩm, hóa đơn, chi tiết hóa
D3
đơn
-
D1
-
D2
P a g e 7 | 20
Danh sách sản phẩm, hóa đơn, chi tiết hóa
-
-
D4
đơn
-
-
Máy in
-
Trả thông báo (thành công/thất bại)
D5
-
D6
-
P a g e 8 | 20
-
Thuật toán:
-
-
Mở kết nối cơ sở dữ liệu
-
Nhận D1 từ người dùng
-
Lấy danh sách D3
B1
-
B2
-
B3
Tìm kiếm hóa đơn cần xóa và các sản phẩm
cần xóa trong chi tiết hóa đơn bằng cách lọc danh sách
theo ngày lập hóa đơn và chọn D1
Tìm các mặt hàng cần xóa trong chi tiết hóa
đơn. Nếu chỉ thực hiện việc xóa sản phẩm và không
thực hiện các tùy chọn khác như thêm, sửa B8
Thực hiện các tùy chọn khác của người dùng
như: thêm, sửa sản phẩm trong chi tiết hóa đơnB8
Tiến hành xóa luôn hóa đơn nếu thấy không
cần thiếtB10
Tính toán lại tổng tiền hóa đơn
-
-
B4
-
B5
-
B6
-
B7
-
B8
Lưu lại hóa đơn và gửi dữ liệu sang máy in
để in lại hóa đơn.
Thông báo xóa hóa đơn thành công
-
-
B9
-
B10
-
-
Trả D6 về cho người dùng
-
Đóng kết nối
-
Kết thúc
B11
-
B12
-
B13
2.5. Thêm khách hàng
- Sơ đồ luồng dữ liệu
-
Mô tả:
-
D1
-
Mã khách hàng, tên khách hàng, địa chỉ, số
điện thoại, Mail.
Không có
-
D2
-
-
Danh sách: mã khách hàng, tên khách hàng,
P a g e 9 | 20
D3
-
D4
-
địa chỉ, số điện thoại, mail.
Mã khách hàng, tên khách hàng, địa chỉ, số
điện thoại, Mail.
Không có
D5
-
-
D6
-
Thất bại)
Thông báo thêm khách hàng (Thành công/
P a g e 10 | 20
-
Thuật toán:
-
-
Nhận danh sách D1 từ người dùng
-
Mở kết nối cơ sở dữ liệu
-
Lấy danh sách D3
B1
-
B2
-
B3
-
-
B4
-
-
Kiểm tra dữ liệu nhập vào từ B1
Hợp lệ B5
Không hợp lệ B8
Thông báo thêm khách hàng thành công
B5
-
Trả D6 về cho người dùng
-
Cập nhật lại danh sách khách hàng B10
-
-
Thông báo thêm khách hàng không thành
B8
công
-
-
Trả D6 về cho người dùng
-
Đóng kết nối cơ sở dữ liệu
-
B6
-
B7
B9
-
B10
Kết thúc
B11
2.6. Kiểm tra tồn kho
- Sơ đồ luồng dữ liệu
-
-
Mô tả:
-
-
Không có
-
Không có
-
Danh sách: sản phẩm, số lượng
-
Không có
-
Không có
D1
-
D2
-
D3
-
D4
-
P a g e 11 | 20
D5
-
-
-
Trả về thông báo: (còn hàng, hết hàng)
D6
Thuật toán:
-
-
Mở kết nối cơ sở dữ liệu
-
Lấy danh sách D3
B1
-
B2
-
B3
-
B4
-
Tiến hành kiểm tra xem sản phẩm khách
hàng yêu cầu có còn đủ số lượng cung cấp cho khách
hay không:
- Còn hàng B4
- Hết hàng B5
Trả D6 về cho người dùng, tiến hành lập hóa
đơn bán hàngB7
Thông báo hết hàng
-
B5
-
-
Trả D6 về cho người dùng
-
Đóng kết nối cơ sở dữ liệu
-
Kết thúc
B6
-
B7
-
B8
P a g e 12 | 20
2.7. Thêm phiếu nhập
- Sơ đồ luồng dữ liệu
2.8.
-
Mô tả:
2.11.
Mã phiếu nhập, sản phẩm, số lượng, mã nhà cung
cấp, mã nhân viên
2.12. Không có
2.13.
2.14.
2.15.
2.16.
2.9.
D1
D2
D3
Danh sách: sản phẩm, số lượng, đơn giản
2.17.
Mã phiếu nhập, sản phẩm, số lượng, mã nhà cung
cấp, mã nhân viên, ngày lập phiếu nhập, tổng tiền
2.18. Máy in
2.19.
2.20.
Thông báo thêm phiếu nhập (Thành công/Thất
2.22.
2.23.
Kết nối cơ sở dữ liệu
2.24.
2.25.
Lấy danh sách D3
2.26.
2.27.
Nhận danh sách D1 từ người dùng
2.28.
2.30.
2.29.
Kiểm tra dữ liệu nhập vào:
- Hợp lệ B5
- Không hợp lệB10
2.31. Màn hình chuyển tiếp là màn hình chi tiết phiếu
2.32.
2.33.
D4
D5
-
2.10.
D6
bại)
2.21.
Thuật toán:
B1
B2
B3
B4
B5
nhập
2.34.
Tính toán tổng tiền phiếu nhập dựa vào sản
phẩm và số lượng nhập vào
2.35. Gửi dữ liệu sang máy in để in phiếu nhập(nếu có).
2.36.
2.37.
Trả D6 về cho người dùng B11
2.38.
2.39.
Trả thông báo thêm phiếu nhập không thành
B6
B7
B8
P a g e 13 | 20
B9
2.40.
công, màn hình chuyển tiếp là màn hình lập phiếu nhập.
2.41. Trả D6 về cho người dùng
2.42.
2.43.
Đóng kết nói cơ sở dữ liệu
2.44.
2.45.
Kết thúc
B10
B11
B12
P a g e 14 | 20
2.46.
-
Sửa phiếu nhập
Sơ đồ luồng dữ liệu
2.47.
Mô tả:
2.48.
2.49.
2.50.
Sản phẩm, số lượng, mã nhà cung cấp
2.51.
2.52.
Không có.
2.53.
2.54.
Danh sách sản phẩm, phiếu nhập và chi tiết phiếu
2.55.
2.56.
Sản phẩm, số lượng, mã nhà cung cấp, tổng tiền
2.57.
2.58.
Máy in
2.59.
2.60.
Thông báo sửa phiếu nhập(thành công, thất bại)
2.62.
2.63.
Mở kết nối cơ sở dữ liệu
2.64.
2.65.
Lấy D3 theo ngày tạo phiếu nhập, mã phiếu nhập
2.66.
2.67.
2.68.
2.69.
Kiểm tra D3:
- Nếu có vấn đề: B4
- Nếu không có vấn đề:B8
Nhận D1 từ người dùng để thay đổi dữ liệu
2.70.
2.71.
D1
D2
D3
D4
D5
-
nhập
D6
2.61.
Thuật toán:
B1
B2
B3
B4
2.72.
Sửa phiếu nhập thành công, màn hình chuyển tiếp
là chi tiết phiếu nhập.
2.73. Tính toán lại tổng tiền của phiếu nhập
2.74.
2.75.
Gửi dữ liệu sang máy in và in lại phiếu nhập (nếu
2.76.
2.77.
Trả D6 về cho người dùng B11
2.78.
2.79.
B5
B6
B7
B8
có)
2.80.
Trả thông báo không thay đổi phiếu nhập, màn hình
chuyển tiếp là màn hình lập phiếu nhập.
2.81. Trả D6 về cho người dùng
2.82.
2.83.
Đóng kết nối cơ sở dữ liệu
2.84.
2.85.
Kết thúc.
B9
B10
B11
B12
P a g e 15 | 20
2.86.
-
Xóa phiếu nhập
Sơ đồ luồng dữ liệu
2.87.
-
Mô tả:
2.88.
2.89.
Mã phiếu nhập
2.90.
2.91.
Không có
2.92.
2.93.
D1
D2
2.96.
Danh sách sản phẩm, phiếu nhập và chi tiết
phiếu nhập
2.95.
Danh sách sản phẩm, phiếu nhập và chi tiết
phiếu nhập
2.97.
Máy in
2.98.
2.99.
Trả thông báo (thành công/thất bại)
2.101.
2.102.
Mở kết nối cơ sở dữ liệu
2.103.
2.104.
Nhận D1 từ người dùng
2.105.
2.106.
Lấy danh sách D3
2.107.
2.108.
D3
2.94.
D4
D5
-
D6
2.100.
Thuật toán:
B1
B2
B3
2.115.
Tìm kiếm phiếu nhập cần xóa và các sản
phẩm cần xóa trong chi tiết phiếu nhập bằng cách lọc
danh sách theo ngày lập phiếu nhập và chọn D1
2.110.
Tìm các mặt hàng cần xóa trong chi tiết
phiếu nhập. Nếu chỉ thực hiện việc xóa sản phẩm và
không thực hiện các tùy chọn khác như thêm, sửa B8
2.112.
Thực hiện các tùy chọn khác của người dùng
như: thêm, sửa sản phẩm trong chi tiết phiếu nhậpB8
2.114.
Tiến hành xóa luôn phiếu nhập nếu thấy
không cần thiếtB10
2.116.
Tính toán lại tổng tiền phiếu nhập
2.117.
2.118.
B4
2.109.
B5
2.111.
B6
2.113.
B7
B8
Lưu lại phiếu nhập và gửi dữ liệu sang máy
P a g e 16 | 20
B9
2.119.
in để in lại phiếu nhập.
2.120.
Thông báo xóa phiếu nhập thành công
2.121.
2.122.
Trả D6 về cho người dùng
2.123.
2.124.
Đóng kết nối
2.125.
2.126.
Kết thúc
B10
B11
B12
B13
P a g e 17 | 20
2.127.
Bảo hành sản phẩm
- Sơ đồ luồng dữ liệu
2.128.
-
Mô tả
2.129.
2.130. Số điện thoại khách hàng
2.131.
2.132. Không có
2.133.
2.134. Danh sách hóa đơn, danh sách sản phẩm, danh
D1
D2
D3
2.137.
sách khách hàng
2.136. Mã sản phẩm, mã khách hàng, trình trạng bảo
hành, phí bảo hành(nếu hết thời gian bảo hành)
2.138. Không có
2.139.
2.140. Trả thông báo (còn bảo hành/hết bảo hành)
2.142.
2.143. Mở kết nối cơ sở dữ liệu
2.144.
2.145. Lấy danh sách D3
2.146.
2.147. Nhận D1 từ người dùng
2.148.
2.149.
Nếu khách tới lấy hàng đã bảo hành B5
2.150.
Nếu khách tới để bảo hành sản phẩm B7
2.152. Nếu sản phẩm còn thời gian bảo hành thì xuất ra
2.135.
D4
D5
-
D6
2.141.
Thuật toán
B1
B2
B3
B4
2.151.
B5
2.154.
B6
hóa đơn bảo hành gồm: Mã khách hàng, sản phẩm, tình
trạng bảo hành, phí bảo hành bằng 0
2.153. Nếu sản phẩm hết thời gian bảo hành thì xuất ra
hóa đơn bảo hành gồm : Mã khách hàng, sản phẩm, tình
trạng bảo hành, phí bảo hành
B9
2.155. Kiểm tra sản phẩm có còn nằm trong thời gian
bảo hành không
P a g e 18 | 20
2.156.
B7
2.157. Lưu lại tên khách hàng, sản phẩm, số lượng, trình
2.158.
trạng bảo hành vào bảng bảo hành sản phẩm
2.159. Trả D6 về cho người dùng
2.160.
2.161. Đóng kết nối cơ sở dữ liệu
2.162.
2.163. Kết thúc
B8
B9
B10
2.164.
P a g e 19 | 20
3. Admin
3.1. Thêm nhân viên
- Sơ đồ luồng dữ liệu
4.
-
Mô tả:
7.
Mã nhân viên, tên nhân viên, địa chỉ, số điện
thoại, lương, hình ảnh nhân viên
8.
Không có
9.
10.
5.
D1
D2
13.
Danh sách: mã nhân viên, tên nhân viên,
địa chỉ, số điện thoại, lương, hình ảnh
12.
Mã nhân viên, tên nhân viên, địa chỉ, số điện
thoại, lương, hình ảnh
14.
Không có
15.
16.
18.
19.
Nhận D1 từ người dùng
20.
21.
Mở kết nối cơ sỡ dữ liệu
22.
23.
Lấy danh sách D3
24.
25.
D3
11.
D4
D5
-
6.
Trả thông báo thêm nhân viên(thành
công/thất bại)
D6
17.
Thuật toán:
B1
B2
B3
B4
-
Kiểm tra dữ liệu D1 nhập vào:
Hợp lệ B5
Không hợp lệ B7
Thông báo thêm nhân viên mới thành công
26.
27.
28.
29.
Trả D6 về cho người dùng
30.
31.
Cập nhật lại danh sách nhân viên B10
32.
33.
Thông báo thêm nhân viên mới không thành
B5
B6
B7
P a g e 20 | 20
B8
công
34.
35.
Trả D6 về cho người dùng
36.
37.
Đóng kết nối cơ sở dữ liệu
38.
39.
Kết thúc
B9
B10
B11
P a g e 21 | 20
39.1.
-
Sửa nhân viên
Sơ đồ luồng dữ liệu
39.2.
-
Mô tả:
39.3.
39.4.
Tên nhân viên, địa chỉ, số điện thoại, lương,
39.5.
39.6.
Không có
39.7.
39.8.
D1
D2
39.11.
Danh sách: mã nhân viên, tên nhân viên,
địa chỉ, số điện thoại, lương, hình ảnh
39.10.
Tên nhân viên, địa chỉ, số điện thoại, lương,
hình ảnh
39.12.
Không có
39.13.
39.14.
Trả thông báo (thành công/thất bại)
39.16.
39.17.
Mở kết nối cơ sở dữ liệu
39.18.
39.19.
Nhận D1 từ người dùng
39.20.
39.21.
Lấy danh sách D3
39.22.
39.23.
D3
39.9.
D4
D5
-
hình ảnh
D6
39.15.
Thuật toán:
B1
B2
B3
B4
-
Kiểm tra dữ liệu nhập vào:
Hợp lệ: B5
Không hợp lệ: B8
Thông báo sửa dữ liệu thành công
39.24.
39.25.
39.26.
39.27.
Trả D6 về cho người dùng
39.28.
39.29.
Cập nhật lại danh sách nhân viên B10
39.30.
39.31.
Thông báo sửa dữ liệu không thành công
39.32.
39.33.
Trả D6 về cho người dùng
B5
B6
B7
B8
P a g e 22 | 20
B9
39.34.
39.35.
Đóng kết nối cơ sỡ dữ liệu
39.36.
39.37.
Kết thúc
B10
B11
P a g e 23 | 20
39.38.
Xóa nhân viên
- Sơ đồ luồng dữ liệu
39.39.
-
Mô tả:
39.40.
39.41.
Mã nhân viên
39.42.
39.43.
Không có
39.44.
39.45.
D1
D2
39.46.
Danh sách: mã nhân viên, tên nhân viên,
địa chỉ, số điện thoại, lương, hình ảnh
39.47.
Danh sách nhân viên mới
39.48.
39.49.
Không có
39.50.
39.51.
Trả thông báo (thành công /thất bại)
39.53.
39.54.
Mở kết nối cơ sở dữ liệu
39.55.
39.56.
Nhận D1 từ người dùng
39.57.
39.58.
Xóa nhân viên đã chọn ở B2
39.59.
39.60.
Thông báo đã xóa nhân viên
39.61.
39.62.
Trả D6 về cho người dùng
39.63.
39.64.
Cập nhật lại danh sách nhân viên
39.65.
39.66.
Đóng kết nối cơ sở dữ liệu
39.67.
39.68.
Kết thúc
D3
D4
D5
-
D6
39.52.
Thuật toán:
B1
B2
B3
B4
B5
B6
B7
B8
39.69.
Thêm sản phẩm
P a g e 24 | 20
-
Sơ đồ luồng dữ liệu
39.70.
P a g e 25 | 20