Professional Documents
Culture Documents
BaoCaoPTTKHDT Final
BaoCaoPTTKHDT Final
MỤC LỤC
LỜI MỞ ĐẦU .............................................................................................................8
Chương I: Lập Kế Hoạch ..........................................................................................9
I. Khỏi tạo dự án.........................................................................................................9
1. Nhận biết dự án. .....................................................................................................9
2. Phân tích khả thi. .................................................................................................10
2.1. Khả thi về mặt kĩ thuật. .....................................................................................10
2.2. Khả thi về mặt kinh tế. ......................................................................................10
2.3. Khả thi về mặt tổ chức. .....................................................................................12
3. Yêu cầu hệ thống. .................................................................................................13
3.1. Yêu cầu chức năng. ...........................................................................................13
3.2. Yêu cầu phi chức năng. ....................................................................................13
II. Quản trị dự án. ....................................................................................................14
1. Lập bản kế hoạch. ................................................................................................14
2. Sơ đồ Gain. ...........................................................................................................15
3. Sơ đồ Pert..............................................................................................................16
Chương II: Phân tích...............................................................................................16
I. Xác định rõ yêu cầu. .............................................................................................17
1. Mô tả yêu cầu nghiệp vụ hệ thống. .....................................................................17
2. Yêu cầu chức năng. ..............................................................................................17
3. Yêu cầu phi chức năng. ......................................................................................17
II. Mô hình hóa chức năng. ....................................................................................18
1. Sơ đồ hoạt động hiện tại của hệ thống. ...............................................................18
2. Sơ đồ use case và mô tả use case. ........................................................................18
2.1. Xác định các actor. ............................................................................................18
2.2. Xác định các use case........................................................................................18
2.3. Sơ đồ Use case. ..................................................................................................19
2.4. Mô tả các Use case. ...........................................................................................20
3. Sơ đồ hoạt động hệ thống mới. ............................................................................27
III. Mô hình hóa cấu trúc. .......................................................................................29
1. Thẻ CRC. ..............................................................................................................29
2. Sơ đồ lớp. ..............................................................................................................37
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 9. Biểu đồ tuần tự của hoạt động tìm kiếm sách. .....................................................40
Hình 10. Biểu đồ tuần tự cho hoạt động thêm sách. .........................................................41
Hình 11. Biểu đồ tuần tự cho hoạt động chỉnh sửa thông tin sách ....................................42
Hình 13. Biểu đồ tuần tự cho hoạt động lập hóa đơn. .......................................................44
Hình 14. Biểu đồ tuần tư cho hoạt động Lập phiếu nhập sách..........................................45
Hình 15. Biểu đồ tuần tự cho hoạt động Thống kê doanh thu. .........................................46
Hình 16. Biểu đồ tuần tự cho hoạt động Thêm khách hàng thân thiết. .............................47
Hình 17. Biểu đồ tuần tự cho hoạt động Chỉnh sửa thông tin khách hàng thân thiết. .......48
Hình 18. Biểu đồ tuần tự cho hoạt động Xóa khách hàng thân thiết.................................49
Hình 19. Biểu đồ trình tự cho hoạt động Đăng nhập theo mô hình MVC. .......................52
Hình 20. Biểu đồ trình tự cho hoạt động Hiển thị danh mục sách MVC. .........................53
Hình 21. Biểu đồ trình tư cho hoạt động Thêm sách theo mô hình MVC. .......................54
Hình 22. Biểu đồ trình tự cho hoạt động Chỉnh sửa sách theo mô hình MVC. ................55
Hình 23. Biểu đồ trình tự cho hoạt động Xóa Sách theo mô hình MVC. .........................56
Hình 24. Biểu đồ trình tự cho hoạt động lập hóa đơn theo mô hình MVC. ......................58
Hình 25. Biểu đồ trình tự cho hoạt động Lập phiếu nhập theo mô hình MVC. ................60
Hình 26. Biểu đồ trình tự cho hoạt động Thống kê doanh thu theo mô hình MVC..........62
Hình 27. Biểu đồ trình tự cho hoạt động Hiển thị danh sách KHTT theo MVC. .............63
Hình 28. Biểu đồ trình tự cho hoạt động Thêm khách hàng thân thiết theo MVC. ..........64
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 29. Biểu đồ trình tự cho hoạt động chỉnh sửa Khách hàng thân thiết theo MVC. ...65
Hình 30. Biểu đồ trình tự cho hoạt động Xóa sách theo MVC. ........................................66
Hình 36. Giao diện màn hình chính cho Nhân Viên. ........................................................92
Hình 37. Giao diện màn hình chính cho Quản lý. .............................................................92
Hình 40. Giao diện quản lý Khách hàng thân thiết. ..........................................................95
Hình 41. Giao diện cập nhật Khách hàng thân thiết..........................................................97
Hình 42. Giao diện hiển thị thông tin Người dung. ..........................................................98
LỜI MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin, khoa học kĩ thuật vào các lĩnh vực
hoạt động của đời sống đã trở thành một trong những vấn đề quan trọng giúp tăng
hiệu quả công việc, giảm thiểu công việc giúp tự động hóa các quá trình, giảm thiểu
các chi phí về tài nguyên sử dụng. Áp dụng công nghệ thông tin cho hoạt động của
các cơ quan, tổ chức giúp tạo ra những đột phá mạnh mẽ. Xây dựng những hệ thống
quản lý tự động các tổ chức hoặc của hàng là một trong những việc giúp đẩy mạnh
việc áp dụng công nghệ vào đời sống.
Trong nội dung môn học Phân tích thiết kế hướng đối tượng, chúng em lựa
chọn việc tìm hiểu, phân tích và thiết kế một Hệ thống quản lý cửa hàng bán sách.
Tìm hiểu các yêu cầu nghiệp vụ cơ bản của Cửa hàng bán sách, nhu cầu về một hệ
thống quản lý giúp tăng hiệu năng các hoạt động của Cửa hàng bán sách. Từ đó,
phân tích các yêu cầu và đưa ra những đặc tả ban đầu cho hệ thống, sau đó thực
hiện những thiết kế cần thiết để có thể cài đặt hệ thống.
Trong quá trình tìm hiểu và thực hiện bài tập lớn môn học chúng em nhận
được sự hướng dẫn tâm huyết từ Thầy Nguyễn Thanh Bình, giảng viên giảng dạy
chúng em môn Phân tích thiết kế hướng đối tượng. Chúng em đã thực sự học được
nhiều thứ mới và bổ ích từ Thầy.
- Tên dự án: Thiết kế hệ thống quản lý cửa hàng bán sách Long Tấm.
+ Địa chỉ: Số 3 Nguyễn Thanh Hải, thị trấn Thanh Hà, huyện Thanh Hà, tỉnh
Hải Dương.
- Mục tiêu hệ thống mới: xây dựng một phần mềm quản lý được thiết kế dựa trên
thực tế nghiệp vụ của cửa hàng để có khả năng đáp ứng và hỗ trợ tốt cho công việc
quản lý và kinh doanh của cửa hàng, tránh nhầm lẫn sai sót, giảm chi phí quản lý,
đồng thời hỗ trợ truy cập tìm kiếm thông tin nhanh chóng và chính xác và tập trung
phục vụ Người quản lý trong việc thống kê doanh thu.
Cung cấp cho nhân viên bán hàng những thông tin về sách, giúp nhân viên
bán hàng có thể tìm kiếm sách theo yêu cầu của khách hàng.
Hỗ trợ cho nhân viên bán hàng trong việc cập nhật thông tin sách mới khi có
sách được nhập vào cửa hàng.
Giúp người quản lý trong việc thống kê doanh thu của cửa hàng theo từng
tháng và từng năm.
Dựa vào những thông tin đầy đủ trong hệ thống hỗ trợ người quản lý trong
việc quản lý cửa hàng sách, quản lý doanh thu, quản lý khách hàng thân
thiết.
+ Các thông tin cơ bản về hệ thống :
Danh mục sách: tên, tác giả, giá, nhà xuất bản, vị trí sách trong cửa hàng.
Hệ thống được triển khai dưới dạng ứng dụng phần mềm.
Phân tích và thiết kế hướng đối tượng nhóm 2
Giảm bớt chi phí trong việc thuê nhân viên quản lý cửa hàng: 6.000.000
VND/năm.
Tổng: 2.500.000 VND/tháng.
Lợi nhuận:
• Nhập thêm thông tin sách mới lên hệ thống, chỉnh sửa thông tin sách (giá cả
…) khi có yêu cầu của quản lý.
Người quản lý.
• Thống kê doanh thu bán hàng hàng tháng, hàng quý.
• Quản lý việc nhập sách.
• Quản lý khách hàng thân thiết (khi họ mua nhiều, hoặc mua số lượng lớn)
Hình 1. Sơ đồ Gain
Phân tích và thiết kế hướng đối tượng nhóm 2
3. Sơ đồ Pert.
Đưa ra đề xuất
Hệ thống
1 3 ngày
28/08/17 30/08/17
Xác định các bước có vấn Xác định những người dùng
Xây dựng các CRC đề trong chu trình trên hay hệ thống ngoài cần tương
tác với hệ thống hiện tại
7 4 ngày 8 7 ngày 9 4 ngày
02/10/17 05/10/17 14/09/17 20/09/17 14/09/17 17/09/17
14 4 ngày 15 3 ngày
09/10/17 12/10/17 16/10/17 18/10/17
19 7 ngày
30/10/17 5/11/2017
Hình 2. Sơ đồ Pert
Nhân viên bán hàng: Đứng ở quầy thu ngân và lập hóa đơn cho khách hàng, tìm
kiếm sách mà khách hàng yêu cầu đang ở đâu và còn không để chỉ họ đến đó.
Khách Hàng: Không đăng nhập được vào hệ thống, có thể hỏi nhân viên bán hàng
về quyền sách mình cần mua có bán ở đây không, có còn không và nó đang ở đâu
trong cửa hàng
2.2. Xác định các use case.
Phân tích và thiết kế hướng đối tượng nhóm 2
a. Nhân viên.
- Đăng nhập.
- Tìm kiếm thông tin sách theo yêu cầu.
- Lập hóa đơn.
- Cập nhật thông tin sách.
- Đăng xuất
b. Người quản lý.
- Đăng nhập.
- Kiểm tra doanh thu, thống kê.
- Quản lý nhập sách.
- Quản lý khách hàng thân thiện.
- Đăng xuất
Mô tả:
Đăng nhập vào hệ thống với tư cách khác nhau
Trigger:
Nhân viên, thu kho, quản lí
Quan hệ:
- Association: Nhân viên, thu kho, quản lí
- Bao gồm:
- Mở rộng:
- Tổng quát:
Dòng sự kiện chính
1. Actor chọn chức năng đăng nhập tương ứng với chức vụ
2. Hệ thống hiển thị form đăng nhập và yêu cầu nhập username và password
3. Actor nhập usename và password.
4. Hệ thống kiểm tra thông tin và xác nhận thông tin hợp lệ
5. Hệ thống báo đăng nhập thành công
6. Actor đăng xuất
Dòng sự kiện con:
Ngoại lệ:
4.a. Hệ thống báo nhập sai usename hoặc password
4.a.1. Hệ thống yêu cầu nhập lại
4.a.2. Actor nhập lại usename và password
4.a.3. Hệ thống báo đăng nhập thành công
Tên Use Case: Tìm kiếm sách ID: 2 Mức quan trọng:
Cao
Actor chính: Nhân viên Loại Use Case: Chi tiết
Mô tả:
Tìm kiếm sách theo tiêu chí nào đó: tên, tác giả…
Phân tích và thiết kế hướng đối tượng nhóm 2
Quan hệ:
- Association: Nhân viên
- Bao gồm: Kiểm tra, hiển thị
- Mở rộng:
- Generalization:
Nhân viên:
Nhân viên
Dòng sự kiện chính
1. Nhận viện kích hoạt chức năng tìm kiếm sách
2. Hệ thống hiện khung tìm kiếm và yêu cầu nhân viên nhập từ khóa
3. Nhận viện nhập từ khóa và xác nhận
4. Hệ thống kiểm tra từ khóa và xác nhận từ khóa hợp lệ
5. Hệ thống hiển thị kết quả
6. Nhân viên thoát khỏi tìm kiếm sách
Dòng sự kiện con:
Ngoại lệ:
4.a. Hệ thống báo không tìm thấy sách trong dữ liệu cửa hàng
4.a.1. Hệ thống hỏi nhân viên yêu tìm sách khác hay sử đổi từ khóa
4.a.2. Nhân viên nhập từ khóa khác
4.a.3. Hệ thống hiển thị kết quả
Tên Use Case: Lập hóa đơn ID: 3 Mức quan trọng:
Cao
Actor chính: Nhân viên Loại Use Case: Chi tiết
Mô tả:
Lập hóa đơn bán hàng
Quan hệ:
- Association: Nhân viên
- Bao gồm:
- Mở rộng:
- Generalization:
Dòng sự kiện chính
1.Nhận viên bán hàng kích hoạt chức năng Lập hóa đơn
2. Hệ thống hiện form hóa đơn yêu cầu nhân viên điền thông tin khách hàng
3.Nhận viện nhập thông tin và xác nhận
Phân tích và thiết kế hướng đối tượng nhóm 2
4.Hệ thống kiểm tra thông tin đã nhập và yêu cầu nhân viên quét mã vạch từng
sách
5.Nhân viên tìm kiếm sách theo mã trên sách
6.Hệ thống kiểm tra thông tin và tính tổng số tiền
7.Hệ thống lưu thông tin hóa đơn , nhân viên in hóa đơn cho khách hàng
8.Nhân viên thoát chức năng lập hóa đơn
Dòng sự kiện con:
Ngoại lệ:
4.a. Hệ thống thông tin khách hàng nhập không hợp lệ
4.a.1. Hệ thống yêu cầu nhân viên nhập lại thông tin khách hàng
4.a.2. Nhân viên nhập lại thông tin
4.a.3. Hệ thống nhập đúng và yêu cầu tiếp tục công việc
4.b. Hệ thống báo đây là khách hàng thân thiết.
4.b.1 Hệ thống yêu cầu nhân viên xác nhận thông tin khách hàng( thẻ)
4.b.2 Tính điểm cho khách hàng
4.b.3 Đủ điểm thì giảm giá trong hóa đơn.
Tên Use Case: Cập nhật thông ID: 4 Mức quan trọng:
tin sách. Cao
Mô tả: Use case cho phép nhân viên bán hàng thay đổi chỉnh sửa thông tin sách
trong cửa hàng khi có yêu cầu từ người quản lý.
Quan hệ:
- Association: Nhân viên
- Bao gồm:
- Mở rộng:
- Generalization:
Dòng sự kiện chính
1. Nhân viên bán hàng yêu cầu tìm kiếm sách cần thay đổi thông tin.
2. Hệ thống tìm sách trong dữ liệu cửa hàng.
3. Hệ thống hiển thị các kết quả sách.
4. Nhân viên bán hàng chọn sách cần thay đổi thông tin.
5. Nhân viên bán hàng thực hiện việc chỉnh sửa thông tin hay xóa sách.
6. Hệ thống lưu lại những thay đổi.
Dòng sự kiện con:
Phân tích và thiết kế hướng đối tượng nhóm 2
Ngoại lệ:
A1- Sách cần thay đổi thông tin không có trong hệ thống.
Chuỗi A1 xảy ra ở bước 3 của sự kiện chính.
4. Nhân viên không thực hiện gì thêm
Kết thúc use case.
Trigger:
Người quản lý
Quan hệ:
- Association: Người quản lý
- Bao gồm: Xem thông tin doanh thu, sách bán được.
- Mở rộng:
- Generalization:
Dòng sự kiện chính:
1. Người quản lý chọn chức năng thống kê.
2. Hệ thống yêu cầu chọn hình thức thống kê.
3. Người quản lý chọn hình thức thống kê.
4. Hệ thống hiển thị bảng thống kê, doanh thu…
5. Hệ thống hỏi người quản lý có muốn in bản thống kê hay không.
6. Người quản lý yêu cầu in bảng thống kê.
7. Hệ thống in bảng thống kê cho người quản lý.
Dòng sự kiện con:
Ngoại lệ:
A1- người quản lý không in bảng thống kê.
Chuỗi A1 bắt đầu từ bước 5 của kịch bản chính.
6. Người quản lý không yêu cầu in bảng thống kê.
7. Use case kết thúc.
Phân tích và thiết kế hướng đối tượng nhóm 2
Quan hệ:
- Association: Người quản lý
- Bao gồm:
- Mở rộng:
- Generalization:
Dòng sự kiện chính:
1. Người quản lý chọn chức năng Quản lý nhập hàng của hệ thống.
2. Hệ thống yêu cầu nhập tên sách và số lượng.
3. Người quản lý nhập tên sách và số lượng.
4. Hệ thống yêu cầu nhập mã cho sách tương ứng.
5. Người quản lý nhập mã cho sách tương ứng.
6. Hệ thống yêu cầu nhập tên nhà xuất bản và mã nhà xuất bản.
7. Người quản lý nhập tên nhà xuất bản và mã tương ứng.
8. Hệ thống hỏi người quản lý có lập phiếu nhập sách không.
9. Người quản lý lập phiếu nhập sách.
10. Hệ thống in phiếu nhập sách cho người quản lý.
Dòng sự kiện con:
Ngoại lệ:
A1 - Người quản lý nhập mã trùng với sách có trong hệ thống.
Chuỗi A1 bắt đầu từ bước 5 của kịch bản chính.
Quay trở lại bước 4.
A2 - Người quản lý không lập phiếu nhập sách.
Chuỗi A2 bắt đầu từ bước 8.
9. Người quản lý không lập phiếu nhập sách.
Kết thúc use case.
Phân tích và thiết kế hướng đối tượng nhóm 2
Điều kiện: Khách hàng có hóa đơn lớn hơn 500.000VND cho một lần mua sách
hoặc là khách hàng thường xuyên của cửa hàng.
Trigger:
Người quản lý
Quan hệ:
- Association: Người quản lý
- Bao gồm:
- Mở rộng:
- Generalization:
Dòng sự kiện chính:
1. Người quản lý chọn chức năng them Khách hàng thân thiện của hệ thống.
2. Hệ thống yêu cầu người quản lý nhập tên khách hàng.
3. Người quản lý nhập tên khách hàng vào.
4. Hệ thống yêu cầu nhập ngày sinh khách hàng.
5. Người quản lý nhập ngày sinh.
6. Hê thống kiểm tra tính hợp lệ của ngày sinh và yêu cầu nhập địa chỉ.
7. Người quản lý nhập địa chỉ.
8. Hệ thống kiể tra toàn bộ thông tin vừa nhập.
9. Hệ thống tự động cập nhật nhày tạo thẻ, cấp mã số khách hàng và lưu
thông tin.
Dòng sự kiện con:
A_Tìm kiếm khách hàng:
1. Người quản lý yêu cầu tìm một khách hàng thân thiết.
2. Hệ thống yêu cầu nhập khách hàng thân thiết.
3. Người quản lý nhập tên khách hàng cần tìm kiếm.
4. Hệ thống hiển thị kết quả khách hàng tìm kiếm.
B_Chỉnh sửa thông tin khách hàng thân thiết.
1. Người quản lý chọn một khách hàng thân thiết.
2. Hệ thống hiển thị thông tin khách hàng.
3. Người quản lý chỉnh sửa thông tin khách hàng.
4. Hệ thống lưu lại thông tin sau chỉnh sửa.
C_ Xóa khách hàng thông tin.
1. Người quản lý yêu cầu xóa khách hàng thân thiết.
2. Hệ thống xóa khách hàng thân thiết.
Phân tích và thiết kế hướng đối tượng nhóm 2
Ngoại lệ:
A1 – Ngày sinh không hợp lệ.
Chuỗi A1 bắt đầu từ bước 6 của kịch bản thường.
7. Thông báo ngày nhập vào không chính xác.
Trở lại bước 4 của kịch bản thường.
A2 – Thông tin khách hàng vừa nhập đã có trong hệ thống.
Chuỗi A2 bắt đầu từ bước 8 của kịch bản thường.
9. Thông báo đã có khách hàng này trong hệ thống Khách hàng thân thiện.
10. Hệ thống hủy toàn bộ thông tin vừa nhập.
Use case kết thúc.
Quan hệ:
- Association: Người quản lý, nhân viên bán hàng
- Bao gồm:
- Mở rộng:
- Generalization:
Dòng sự kiện chính:
1. Actor chọn chức năng đăng xuất
2. Hệ thống hiển thị thông báo xác nhận đăng xuất
3. Actor xác nhận đăng xuất
4. Hệ thống báo đăng xuất thành công, trở về giao diện chung
Dòng sự kiện con:
Ngoại lệ:
3.a. Actor xác nhận không muốn đăng xuất
3.a.1. Hệ thống làm việc như cũ
Kết thúc use case.
Description: Là người quản lý việc nhập sách vào cửa Associated Use Cases:
hàng, quản lý khách hàng thân thiết của cửa hàng.
Responsibilities Collaborators
Đăng nhập Account
Chỉnh sửa khách hàng thân thiết Khách hàng thân thiết
Attributes
Relationships
Generalization : Người
Aggregation :
Description: Là người thực hiện việc tìm kiếm sách, lập Associated Use Cases:
hóa đơn mua sách cho khách hàng, cập nhật thông tin
sách.
Responsibilities Collaborators
Đăng nhập Account
Attributes
Relationships
Generalization : Người
Aggregation :
3. Class Sách
Class name: Sách ID: 3 Type: Concrete
Attributes
Mã sách : string
Relationships
Generalization :
Aggregation :
Description: mô tả thông tin đợt nhập sách vào cửa Associated Use Cases:
hàng.
Attributes
Relationships
Generalization :
Aggregation : Sách
Description: mô tả thông tin mua sách của khách hàng Associated Use Cases:
bao gồm các tựa sách được mua, tổng giá tiền…
Phân tích và thiết kế hướng đối tượng nhóm 2
Attributes
Relationships
Generalization :
Aggregation : Sách
Description: Là những người có hóa đơn mua sách lớn Associated Use Cases:
hơn 500K một lần hoặc mua sách thường xuyên tại cửa
hàng
Attributes
Mã khách hàng : string
Relationships
Generalization :
Aggregation :
7. Class người
Class name: Người ID: 7 Type: Abstract
Description: Là class lưu thông tin về một người. Associated Use Cases:
Attributes
Tên Người : string
Relationships
Generalization :
Aggregation :
Other Associations :
8. Class Account
Description: Là class lưu thông tin về tài khoản và mật Associated Use Cases:
khẩu để đăng nhập hệ thống
Attributes
Username : string
Password : string
Relationships
Generalization :
Other Associations :
Description: Là class thống kê doanh thu từng tháng. Associated Use Cases:
Attributes
Tháng : int
Năm : int
Relationships
Generalization :
Other Associations :
Phân tích và thiết kế hướng đối tượng nhóm 2
Phân tích và thiết kế hướng đối tượng nhóm 2
2. Sơ đồ lớp.
Hình 6: Sơ đồ lớp
Phân tích và thiết kế hướng đối tượng nhóm 2
3. Sơ đồ đối tượng.
Người dùng
:Account
YeuCauDangNhap()
DangNhap(taiKhoan, matKhau)
KiemTra(taiKhoan, matKhau)
YeuCauTimKiem()
XuLyTuKhoaTimKiem(tuKhóa)
HienThiThongTinSách(sach)
Giao diện tương ứng
Nhân viên
:DanhMucSach :Sach
bán hàng
YeuCauThemSach()
TaoDoiTuongSachMoi()
NhapThongTinSach(thongtinsach)
Thông tin sách
KiemTraThôngTinSach
(thongtinSach)
[Thông tin hợp lệ]: ThemVaoDanhMucSach(Sach)
ThongBao(): thêm thành công
4. Biểu đồ tuần tự của hoạt động Chỉnh sửa thông tin sách
Phân tích và thiết kế hướng đối tượng nhóm 2
YeuCuaTimKiem()
NhapTuKhoaTimKiem(tuKhóa)
TimKiem(tuKhoa)
NhapThôngTinMoiChoSach(sach, thongtin)
KiemTra(thongtin)
Hình 11. Biểu đồ tuần tự cho hoạt động chỉnh sửa thông tin sách
YeuCuaTimKiem()
NhapTuKhoaTimKiem(tuKhóa)
TimKiem(tuKhoa)
XoaKhoiDanhMucSach()
:DanhSach
Nhân viên :DanhMuc :Hoa
:Sach KhachHang
bán hàng Sach Don
ThanThiet
TimKiemSach(tuKhoa)
GoiCacThuocTinh
Sach(Sach)
TinhTongTien()
NhapThongTinKhachHang(thongTinKhachHang)
KiemTraKhachHang
ThanThiet(thongTinKH)
trả về kết quả
[True] TinhLaiTien
(phanTramKhuyenMai)
NhapThongTinNhanViênBanHang(thongTinNhanVien)
TaoHoaDon()
ThongBao(): lập hóa đơn thành công
Hình 13. Biểu đồ tuần tự cho hoạt động lập hóa đơn.
Người PhieuNhap
quản lý Sach
YeuCauLapPhieuNhapSach()
NhapThongTinSach(thongTinSach)
NhapNgayNhap(ngay)
KiemTraThongTin(thongTinSach)
TaoPhieuNhap()
Hình 14. Biểu đồ tuần tư cho hoạt động Lập phiếu nhập sách
LayGiaTriDoanhThu()
TinhTongChiTongThu()
YeuCauThongKeDoanhThu()
TinhTiLeThuChiHienTai()
HienThiThongKeHienTai()
: Giao diện tương ứng
Hình 15. Biểu đồ tuần tự cho hoạt động Thống kê doanh thu.
9. Biểu đồ tuần tự cho hoạt động Thêm khách hàng thân thiết.
Phân tích và thiết kế hướng đối tượng nhóm 2
YeuCauThemKhachHangThanThiet()
TaoDoiTuongKHTT()
NhapThongTinKhachHangThanThiet(thongTinKHTT)
KiemTraThongTinKHTT(thongTinKHTT)
[Thông tin không hợp lệ] ThongBao(): Thông tin không hợp lệ
Hình 16. Biểu đồ tuần tự cho hoạt động Thêm khách hàng thân thiết.
10. Biểu đồ tuần tự cho hoạt động Chỉnh sử thông tin khách hàng thân thiết.
Phân tích và thiết kế hướng đối tượng nhóm 2
:DanhSach :Khach
Người quản
KhacHang HangThan
lý
ThanThiet Thiet
YeuCuaTimKiem()
NhapTuKhoaTimKiem(tuKhóa)
TimKiem(tuKhoa)
NhapThôngTinMoiKHTT(KHTT, thongtin)
KiemTra(thongtin)
Hình 17. Biểu đồ tuần tự cho hoạt động Chỉnh sửa thông tin khách hàng thân thiết.
11. Biểu đồ tuần tự cho hoạt động Xóa khách hàng thân thiết.
Phân tích và thiết kế hướng đối tượng nhóm 2
:DanhSach :Khach
Người quản
KhachHang Hang
lý
ThanThiet ThanThiet
YeuCuaTimKiem()
NhapTuKhoaTimKiem(tuKhóa)
TimKiem(tuKhoa)
XoaKhoiDanhMucSach(KHTT)
Hình 18. Biểu đồ tuần tự cho hoạt động Xóa khách hàng thân thiết.
Phân tích và thiết kế hướng đối tượng nhóm 2
Controller View
1.1. Account.
Phân tích và thiết kế hướng đối tượng nhóm 2
- Ngoài class Account được mô tả trong Sơ đồ lớp, cần thêm một lớp
GiaoDienDangNhap để tương tác với người dung và một class
DangNhapController để xử lý hoạt động đăng nhập của người dung và tương
tác với cơ sở dữ liệu.
- Biểu đồ trình tự cho hoạt động Đăng nhập theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 19. Biểu đồ trình tự cho hoạt động Đăng nhập theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
1.2. Sach.
- Ngoài class Sach đã được mô tả trong Sơ đồ lớp trước đó để mô hình hóa đối
tượng Sach. Cần thêm:
- Class GiaoDienQuanLySach để tương tác với người dùng.
- Class SachController để xử lý các thông tin người dùng nhập vào, tương tác
với cơ sở dữ liệu và trả về kết quả giao diện tương ứng.
- Biểu đồ trình tự cho hoạt động Hiển thị danh mục sách theo mô hình MVC.
Hình 20. Biểu đồ trình tự cho hoạt động Hiển thị danh mục sách MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
- Biểu đồ trình tư cho hoạt động Thêm sách theo mô hình MVC.
Hình 21. Biểu đồ trình tư cho hoạt động Thêm sách theo mô hình MVC.
- Biểu đồ trình tự cho hoạt động Chỉnh sửa sách theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 22. Biểu đồ trình tự cho hoạt động Chỉnh sửa sách theo mô hình MVC.
- Biểu đồ trình tự cho hoạt động Xóa sách theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 23. Biểu đồ trình tự cho hoạt động Xóa Sách theo mô hình MVC.
1.3. HoaDon.
Phân tích và thiết kế hướng đối tượng nhóm 2
- Biểu đồ trình tự cho hoạt động Lập hóa đơn theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 24. Biểu đồ trình tự cho hoạt động lập hóa đơn theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
1.4. PhieuNhapSach.
- Biểu đồ trình tự cho hoạt động Lập phiếu nhập theo mô hình MVC.
Hình 25. Biểu đồ trình tự cho hoạt động Lập phiếu nhập theo mô hình MVC.
1.5. DoanhThu.
Phân tích và thiết kế hướng đối tượng nhóm 2
- Biểu đồ trình tự cho hoạt động Thống kê doanh thu theo mô hình MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 26. Biểu đồ trình tự cho hoạt động Thống kê doanh thu theo mô hình MVC.
1.6. KhachHangThanThiet.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 27. Biểu đồ trình tự cho hoạt động Hiển thị danh sách KHTT theo MVC.
- Biểu đồ trình tự cho hoạt động Thêm khách hàng thân thiết theo MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 28. Biểu đồ trình tự cho hoạt động Thêm khách hàng thân thiết theo MVC.
- Biểu đồ trình tự cho hoạt động Chỉnh sửa khách hàng thân thiết theo MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 29. Biểu đồ trình tự cho hoạt động chỉnh sửa Khách hàng thân thiết theo
MVC.
- Biểu đồ trình tự cho hoạt động Xóa khách hàng thân thiết theo MVC.
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 30. Biểu đồ trình tự cho hoạt động Xóa sách theo MVC.
1.7. NhanVien, QuanLy.
- Thêm các class NhanVienDB, QuanLyDB để tương tác với cơ sở dữ liệu
NhanVien và QuanLy.
- Thêm class hiển thị thông tin người dung.
2. Sơ đồ Package.
Phân tích và thiết kế hướng đối tượng nhóm 2
2.2. Package Controller: Bao gồm các class tiếp nhận yêu cầu từ người dùng và
xử lý để trả lại kết quả giao diện cho người dùng.
2.3. Package View: Bao gồm các lớp giao diện tương tác với người dùng.
Description of Responsibilities: Thực hiện việc chỉnh sửa lại thông tin cho Nhân
viên, Khách hàng thân thiết và Quản Lý
Arguments Received: Đối tượng cần chỉnh sửa, Đối tượng chứa thông tin mới.
Type of Value Return: bool, trả về true nếu thay đổi thành công và ngược lại.
Pre-Conditions: Đối tượng chứa thông tin mới phải tồn tại giá trị.
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
- LoaiTaiKhoan: nếu là true thì tài khoản là của Người quản lý, false thì là của
Nhân viên bán hàng.
Method Name: thayDoiTaiKhoan() Class Name: Account
Consumer: Người quản lý
Description of Responsibilities: Thực hiện việc chỉnh sửa lại thông tin tài khooản
cho Người quản lý và Nhân viên
Arguments Received: Thông tin mới và đổi tượng Account cần thay đổi.
Type of Value Return: bool, trả về true nếu thay đổi thành công và ngược lại.
Post-Conditions:
.
Phân tích và thiết kế hướng đối tượng nhóm 2
- Class Sach.
Description of Responsibilities: Thực hiện việc chỉnh sửa lại thông tin sách.
Arguments Received: Thông tin mới và đổi tượng Sach cần thay đổi
Type of Value Return: bool, trả về true nếu thay đổi thành công và ngược lại.
Post-Conditions:
Description of Responsibilities: Thực hiện việc tìm kiếm sách trong danh mục
sách.
Type of Value Return: đối tượng sách cần tìm kiếm hoặc danh sách đối tượng
sách có cùng tác giả.
Pre-Conditions: Tên sách hoặc tên tác giả tồn tại.
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities: Thực hiện việc thêm sách trong danh mục sách.
Post-Conditions: Danh mục sách có thêm một đối tượng, số lượng phần tử tang
thêm 1.
Description of Responsibilities: Thực hiện việc xóa sách trong danh mục sách.
Arguments Received: đối tượng sách cần xóa.
Post-Conditions: Danh mục sách mất đi một đối tượng, số lượng phần tử giảm đi
1.
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities: Thực hiện việc chỉnh sửa thông tin cho khách
hàng thân thiết.
Arguments Received: Thông tin KHTT mới và đối tượng KHTT cần chỉnh sửa.
Description of Responsibilities: Thực hiện việc thêm khách hàng thân thiết vào
danh sách KHTT.
Arguments Received: Đối tượng KHTT cần được thêm.
Description of Responsibilities: Thực hiện việc tìm kiếm khách hàng thân thiết
trong danh sách KHTT.
Arguments Received: tên và ngày sinh KHTT
Post-Conditions:
Description of Responsibilities: Thực hiện việc xóa khách hàng thân thiết khỏi
danh sách khách hàng thân thiết.
Arguments Received: Đối tượng KHTT cần xóa
Post-Conditions: Danh sách khách hàng thân thiết mất đi một đối tượng, số lượng
phần tử giảm đi 1
Phân tích và thiết kế hướng đối tượng nhóm 2
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Nhận thông tin người dung nhập vào trên giao
diện Đăng nhập, thực hiện việc lấy cơ sở dữ liệu xử lý và trả về kết quả giao diện
cho người dung.
Arguments Received:
Pre-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities: Nhận thông tin người dung nhập vào, thực hiện
việc xử lý và trả về kết quả giao diện cho người dung đồng thời lưu thay đổi vào
cơ sở dữ liệu.
Arguments Received:
Pre-Conditions:
Post-Conditions:
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Thực hiện việc lấy ra tất cả các Account được lưu
trong cơ sở dữ liệu.
Arguments Received:
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Thực hiện việc lưu thay đổi tài khoản vào cơ sở
dữ liệu.
Arguments Received: Tài khoản cũ, tài khoản mới
Pre-Conditions:
Post-Conditions:
Consumer:
Description of Responsibilities: Thực hiện việc tìm kiếm sách và hiển thị lên giao
diện cho người dùng.
Post-Conditions:
Pre-Conditions:
Post-Conditions:
Pre-Conditions:
Description of Responsibilities: Thực hiện việc chỉnh sửa thông tin Sách lưu lại
vào DanhMucSach và cơ sở dữ liệu.
Arguments Received: Đối tượng Sách cũ, đối tượng Sách mới.
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities:
Thực hiện việc tìm kiếm khách hàng thân thiết và hiển thị lên giao diện cho người
dùng.
Pre-Conditions:
Post-Conditions:
Description of Responsibilities:
Thực hiện việc thêm Khách hàng thân thiết vao DanhSachKhachHangThanThiet
và cơ sở dữ liệu đồng thời hiển thị giao diện kết quả cho người dùng.
Pre-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities:
Thực hiện việc xóa Khách hàng thân thiết khỏi DanhSachKhachHangThanThiet
và cơ sở dữ liệu đồng thời hiển thị giao diện kết quả cho người dùng.
Pre-Conditions:
Description of Responsibilities: Thực hiện việc cập nhật lại giao diện trang quản
lý sau mỗi thao tác xử lý
Arguments Received:
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Consumer:
Description of Responsibilities: Thực hiện việc lấy toàn bộ khách hàng thân thiết
trong cơ sở dữ liệu.
Arguments Received:
Post-Conditions:
Description of Responsibilities: Thực hiện việc tiếp nhận thao tác từ người dung,
nhận thông tin người dung nhập vào và thực hiện xử lý kiểm tra và lưu vào cơ sở
dữ liệu đồng thời trả về kết quả cho người dung.
Arguments Received:
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Mỗi khi một phiếu nhập được tạo ra, sẽ thực hiện
việc cộng tổng giá trị phiếu nhập vào giá trị TongChi và ChiTheoThang của class
DoanhThu đồng thời lưu vào cơ sở dữ liệu.
Arguments Received: giá trị tổng phiếu nhập.
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: thực hiện việc lấy ra danh sách các phiếu nhập
trong tháng.
Arguments Received: Tháng
Type of Value Return: danh sách đối tượng PhieuNhap trong tháng.
Pre-Conditions:
Post-Conditions:
Type of Value Return: Danh sách đối tượng PhieuNhap nếu có nhiều phiếu nhập
trong ngày, hoặc một đối tượng PhieuNhap và trả về NULL nếu lấy giá trị thất
bại.
Post-Conditions:
Description of Responsibilities: Thực hiện việc tiếp nhận thao tác từ người dung,
nhận thông tin người dung nhập vào và thực hiện xử lý kiểm tra và lưu vào cơ sở
dữ liệu đồng thời trả về kết quả cho người dung.
Arguments Received:
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Mỗi khi một hoa don được tạo ra, sẽ thực hiện
việc cộng tổng giá trị phiếu nhập vào giá trị TongThu và ThuTheoThang của
class DoanhThu đồng thời lưu vào cơ sở dữ liệu.
Arguments Received: giá trị tổng hóa đơn
Type of Value Return: void
Pre-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Post-Conditions:
Description of Responsibilities: thực hiện việc lấy ra danh sách hóa đơn theo ngày
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: thực hiện việc tính toán tỉ lệ tổng thu tổng chi và
thực hiện việc trả về kết quả trên giao diện cho người sử dụng.
Arguments Received:
Pre-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Description of Responsibilities: thực hiện việc thêm dữ liệu về doanh thu vào
trong cơ sở dữ liệu.
Pre-Conditions:
Arguments Received:
Pre-Conditions:
Post-Conditions:
Consumer:
Description of Responsibilities: thực hiện việc lưu thông tin quản lý sau khi thay
đổi vào cơ sở dữ liệu
Arguments Received: Đối tượng QuanLy cũ, đối tượng QuanLy mới
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: thực hiện việc lưu thông tin nhân viên sau khi
thay đổi vào cơ sở dữ liệu
Arguments Received: Đối tượng NhanVien cũ, đối tượng NhanVien mới
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: thực hiện việc them nhân viên vào cơ sở dữ liệu.
Arguments Received: Đối tượng NhanVien
Phân tích và thiết kế hướng đối tượng nhóm 2
Pre-Conditions:
Hình 36. Giao diện màn hình chính cho Nhân Viên.
Hình 37. Giao diện màn hình chính cho Quản lý.
Phân tích và thiết kế hướng đối tượng nhóm 2
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Thực hiện việc cập nhật lại giao diện trang quản
lý sau mỗi thao tác xử lý
Arguments Received:
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Kiểm tra tính hợp lệ các thông tin mà người dung
nhập vào và trả về giao diện kết quả tương ứng.
Arguments Received:
Type of Value Return: Sach, nếu không hợp lý trả về NULL
Pre-Conditions:
Post-Conditions:
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Thực hiện việc cập nhật lại giao diện trang quản
lý sau mỗi thao tác xử lý
Arguments Received:
Type of Value Return: void
Pre-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 41. Giao diện cập nhật Khách hàng thân thiết.
Method Name: kiemTraThongTin() Class Name: GiaoDienCapNhatSach
Consumer:
Description of Responsibilities: Kiểm tra tính hợp lệ các thông tin mà người dung
nhập vào và trả về giao diện kết quả tương ứng.
Arguments Received:
Type of Value Return: KhachHangThanThiet, nếu không hợp lý trả về NULL
Pre-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Hình 42. Giao diện hiển thị thông tin Người dung.
Description of Responsibilities: Kiểm tra tính hợp lệ các thông tin mà người dung
nhập vào và trả về giao diện kết quả tương ứng.
Arguments Received:
Type of Value Return: PhieuNhapSach, nếu không hợp lý trả về NULL
Pre-Conditions:
Post-Conditions:
Description of Responsibilities: Kiểm tra tính hợp lệ các thông tin mà người dung
nhập vào và trả về giao diện kết quả tương ứng.
Arguments Received:
Type of Value Return: HoaDon, nếu không hợp lý trả về NULL
Pre-Conditions:
Post-Conditions:
Phân tích và thiết kế hướng đối tượng nhóm 2
Phiếu nhập sách
Mã phiếu nhập
Sách nhập Có Doanh thu
Có
Sách Số lượng sách Mã doanh thu
Tên sách Giá nhập Tháng
Mã sách Ngày nhập Phiếu nhập
Tên tác giả Hóa đơn
Có Thu
Giá nhập Hóa đơn
Giá bán Chi
Số lượng Có Mã hóa đơn
Tên khách hàng
Khu vực bày bán
Sách bán
Số lượng sách
Giá bán
Ngày bán
Mã KHTT
Mã nhân viên lập
Khách hàng thân thiết
Nhân viên Lập Tên khách hàng
Có
Tên nhân viên Mã khác hàng
Chức vụ Ngày sinh
Mã nhân viên Số điện thoại
Ngày sinh Account Phần trăm khuyến mãi
Có
Số điện thoại Username
Password
Loại tài khoản
Mã nhân viên
4. Chuẩn hóa.
4.1. Chuẩn hóa.
Bảng sách
Thuộc tính Tên sách, Mã sách, Tên tác giả, Giá nhập , Giá bán, Số lượng,
Khu vực bày bán
Ràng buộc & quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một tựa sách có một mã sách duy nhất Mã sách→Tên sách
Mỗi tựa sách có thể có một hoặc nhiều tác Mã sách→Giá bán
giả Mã sách→Số lượng
Giá nhập của mỗi tựa sách thay đổi theo Mã sách→Khu vực bày bán
từng đợt nhập về
Chuẩn hóa
Khóa duy nhất : K= (Mã sách , Tác giả, Giá nhập)
Vi phạm chuẩn 2,3
→ Tách thành 3 quan hệ :
Sách (Mã sách, Tên sách, Giá nhập ,Giá bán, Số lượng, Khu vực bày bán);
Chi tiết tác giả (Mã CTTG, Mã sách, Tác giả);
Chi tiết giá nhập(Mã CTGN,Mã sách,Giá nhập,Số lượng);
Chuẩn hóa
Khóa duy nhất : K= (Mã phiếu nhập,Sách nhập)
Vi phạm chuẩn 2,3
→ Tách thành 2 quan hệ :
Phiếu nhập sách(Mã phiếu nhập , Ngày nhập);
Chi tiết phiếu nhập(Mã CTPN,Mã phiếu nhập,Mã sách,Số lượng,Giá nhập);
Mỗi đầu sách có số lượng khác nhau (Mã hóa đơn ,Sách bán)→Số
lượng
(Mã hóa đơn ,Sách bán)→Giá
bán
Chuẩn hóa
Khóa duy nhất : K= (Mã hóa đơn,Sách bán)
Vi phạm chuẩn 2,3
→ Tách thành 2 quan hệ :
Phiếu nhập sách(Mã hóa đơn,Tên khách hàng,Mã KHTT, Ngày bán,Mã nhân
viên lập);
Chi tiết Hóa đơn(Mã CTHD,Mã hóa đơn,Mã sách,Số lượng,Giá bán);
Chuẩn hóa
Khóa duy nhất : K= (Mã doanh thu,Phiếu nhập sách,Hóa đơn)
Vi phạm chuẩn 2,3
→ Tách thành 3 quan hệ :
Doanh thu (Mã doanh thu ,Tháng);
Chi tiết thu(Mã CTT,Mã doanh thu, Mã hóa đơn, Tổng tiền);
Chi tiết chi(Mã CTC,Mã doanh thu, Mã phiếu nhập sách, Tổng tiền);
Thuộc tính Tên khách hàng, Mã khách hàng, Ngày sinh, Số điện
thoại,Phần trăm khuyến mại
Ràng buộc & quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một khách hàng có một mã khách Mã khách hàng → Tên khách
hàng duy nhất hàng
Mã khách hàng → Phần trăm
khuyến mại
Mã khách hàng → Ngày sinh
Mã khách hàng → Số điện thoại
Chuẩn hóa
Khóa duy nhất : K= Mã khách hàng
Không vi phạm chuẩn 1, 2 và 3
Bảng Account
Thuộc tính Username,Password, Loại tài khoản, Mã nhân viên
Ràng buộc & quy tắc nghiệp vụ Phụ thuộc hàm
Mỗi một account có một username duy Username → Password
nhất Username → Loại tài khoản
Username →Mã nhân viên
Chuẩn hóa
Khóa duy nhất : K= Username
Không vi phạm chuẩn 1, 2 và 3
ChiTietTacGia
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTTG Varchar(10) PK
MaSach Varchar(10) FK to Sach(MaSach )
TenTacGia Nvarchar(30) Not null
ChiTietGiaNhap
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTGN Varchar(10) PK
MaSach Varchar(10) FK to Sach(MaSach )
GiaNhap Money Not null
SoLuong int Not null , >0
PhieuNhapSach
Thuộc tính Kiểu dữ liệu Ràng buộc
MaPhieuNhap Varchar(10) PK
TongTien Money Not null
NgayNhap Datetime Notnull
ChiTietPhieuNhap
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTPN Varchar(10) PK
MaPhieuNhap Varchar(10) FK to PhieuNhapSach
(MaPhieuNhap)
MaSach Varchar(10) FK to Sach(MaSach)
SoLuong int Not null , >0
GiaNhap Money Not null
HoaDon
Thuộc tính Kiểu dữ liệu Ràng buộc
MaHoaDon Varchar(10) PK
TenKhachHang Nvarchar(30) Not null
Phân tích và thiết kế hướng đối tượng nhóm 2
MaKHTT Varchar(10) FK to
KhachHangThanThiet(MaKH)
TongTien Money Not null
NgayLap Datetime Notnull
MaNhanVienLap Varchar(10) FK to NhanVien(MaNV)
ChiTietHoaDon
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTHD Varchar(10) PK
MaHoaDon Varchar(10) FK to HoaDon(MaHoaDon)
MaSach Varchar(10) FK to Sach(MaSach)
SoLuong int Not null , >0
ThanhTien Money Not null
DoanhThu
Thuộc tính Kiểu dữ liệu Ràng buộc
MaDoanhThu Varchar(10) PK
Thang int Not null, giá trị 1→12
TongThu Money Not null
TongChi Money Not null
ChiTietThu
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTT Varchar(10) PK
MaDoanhThu Varchar(10) FK to
DoanhThu(MaDoanhThu)
MaHoaDon Varchar(10) FK to HoaDon(MaHoaDon)
TongTien Money Not null
ChiTietChi
Thuộc tính Kiểu dữ liệu Ràng buộc
MaCTC Varchar(10) PK
MaDoanhThu Varchar(10) FK to
DoanhThu(MaDoanhThu)
MaPhieuNhap Varchar(10) FK to
PhieuNhapSach(MaPhieuNhap)
TongTien Money Not null
Phân tích và thiết kế hướng đối tượng nhóm 2
NhanVien
Thuộc tính Kiểu dữ liệu Ràng buộc
MaNV Varchar(10) PK
Ten Nvarchar(30) Not null
NgaySinh Date Not null
SDT varchar Dãy các chữ số liên
tiếp
ChucVu Nvarchar(20) Not null
KhachHangThanThiet
Thuộc tính Kiểu dữ liệu Ràng buộc
MaKH Varchar(10) PK
TenKhachHang Nvarchar(30) Not null
NgaySinh Date Not null
SDT varchar Dãy các chữ số liên
tiếp
PhanTramKhuyenMai int Not null, giá trị
1→100
Account
Thuộc tính Kiểu dữ liệu Ràng buộc
Username varchar(20) PK
Pasword varchar(8) Not null
LoaiTaiKhoan Nvarchar(30) Not null
MaNhanVien varchar(30) FK to
NhanVien(MaNV)
Phân tích và thiết kế hướng đối tượng nhóm 2
ThanhTien MaKHTT
ChiTietTacGia TongTien
MaCTTG
NgayLap
MaSach
MaNhanVienLap
TacGia NhanVien KHTT
Ten TenKhachHang
NgaySinh
NgaySinh
SDT
Account SDT
ChucVu Username MaKH
MaNV Password
MaNhanVien
LoaiTaiKhoan
KẾT LUẬN
Trong quá trình thực hiện Bài tập lớn môn học Phân tích và thiết kế hướng
đối tượng, chúng em đã học được nhiểu thứ mới, hiểu được cách thức một hệ thống
hoạt động ra sao, các bước trong việc xây dựng một phần mềm, thực hiện việc phân
tích và thiết kế hệ thống như thế nào. Đây sẽ là hành trang kiến thức quan trọng, để
chúng em có thể thực hiện việc xây dựng những phần mềm sau này.
Trong quá trình học tập, chúng em nhận được sự hướng dẫn nhiệt tình từ
Thầy Nguyễn Thanh Bình, chúng em có thể hoàn thành được nội dung bài tập lớn
và hiểu về việc phân tích thiết kế hệ thống là nhờ sự giúp đỡ của Thầy.