+ Chọn sản phẩm cho vào giỏ hàng, cập nhật, xóa thông tin giỏ hàng, gửi thông tin giỏ hàng cùng thông tin cá nhân đến người quản trị để đặt hàng.+ Gửi ý kiến đóng góp, liên hệ đến người
Trang 1
Giảng viên hướng dẫn:
Nguyễn Ngọc Khương
Sinh viên thực hiện:
Phạm Văn Dũng Nguyễn Đức Bẩy
Đỗ Thị Quỳnh
Vũ Đình Hiến Nguyễn Cao Thắng
Nguyễn Tố Dung
Chuyên Đề: Lập Trình Trực Quan
Đề tài: Quản lý xây dựng Website bán hàng linh kiện máy tính
TRƯỜNG ĐẠI HỌC HẢI PHÒNG
KHOA CNTT
Lớp ĐHTLT K1
Trang 2NHẬN XÉT CỦA GIÁO VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
ĐÁNH GIÁ VÀ CHO ĐIỂM ………
………
………
………
………
………
………
………
………
………
………
………
Trang 3DANH MỤC CÁC HÌNH VẼ
Hinh 2.1: Biểu đồ Use case tổng quát của hệ thống 10
Hình 2.2: Phân rã Use case Cập nhật 10
Hình 2.3: Phân rã Use case Cập nhật sản phẩm 11
Hình 2.4: Phân rã Use case Đặt hàng 16
Hình 2.5: Biểu đồ lớp phân tích của Hệ thống 20
Hình 2.6: Biểu đồ trạng thái lớp Đơn hàng – Chức năng Đặt hàng 21
Hình 2.7: Biểu đồ trạng thái lớp Đơn hàng – Chức năng Quản lý đơn hàng 22
Hình 2.8: Biểu đồ tuần tự cho chức năng Đăng nhập 23
Hình 2.9: Biểu đồ tuần tự cho chức năng Thêm sản phẩm 24
Hình 2.10: Biểu đồ tuần tự cho chức năng sửa sản phẩm 24
Hình 2.11: Biểu đồ tuần tự cho chức năng Tìm kiếm sản phẩm 25
Hình 2.12: Biểu đồ tuần tự cho chức năng Đặt hàng 26
Hình 2.13: Biểu đồ lớp thiết kế 27
Hình 2.14: Biểu đồ hoạt động cho chức năng Thêm sản phẩm 33
Hình 2.15: Biểu đồ hoạt động cho chức năng Đặt hàng 34
Hình 2.16: Biểu đồ thành phần 35
Hình 2.17: Biểu đồ triển khai 36
Hình 2.19: Phân rã Use case cập nhật danh mục sản phẩm 49
Hình 2.20: Phân rã Use case quản lý đơn hàng 52
Hình 3.1: Giao diện trang chủ 37
Hình 3.2: Giao diện chi tiết sản phẩm 38
Hình 3.3: Giao diện chi tiết giỏ hàng 39
Hình 3.4: Giao diện đặt hàng 40
Hình 3.5: Giao diện liên hệ 41
Hình 3.6: Giao diện đăng nhập 42
Hình 3.7: Giao diện trang chủ quản trị 42
Hình 3.8 Giao diện quản lý danh sách sản phẩm 43
Hình 3.9 Giao diện sửa sản phẩm 43
Hình 3.10: Giao diện thêm danh mục sản phẩm 44
Hình 3.11 Giao diện quản lý đơn hàng 44
Hình 3.12 Giao diện chi tiết đơn hàng 45
Hình 3.13 Báo lỗi thông tin giỏ hàng 54
Hình 3.14 Báo lỗi thông tin liên hệ 55
Hình 3.15 Báo gửi giỏ hàng thành công 55
Trang 4DANH MỤC CÁC BẢNG
Bảng 1: Lớp nguoiquantri 28
Bảng 2: Lớp danhmuc 29
Bảng 3: Lớp sanpham 30
Bảng 4: Lớp donhang 31
Bảng 5: Lớp hangban 32
Trang 5MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ của khoa học công nghệ, Công nghệ Thông tin là một trong những ngành có vị thế dẫn đầu và có vai trò rất lớn trong sự phát triển chung đó Các ứng dụng của công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học cũng như trong mọi lĩnh vực của đời sống Là một phần của Công nghệ thông tin, Công nghệ web đang có được sự phát triển và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn.
Bằng việc lựa chọn và thực hiện đề tài “Xây dựng website bán hàng linh kiện máy tính”,
em muốn tìm hiểu và đưa ra một giải pháp tốt nhằm cho các doanh nghiệp bán linh kiện máy tính Website mang lại cho các doanh nghiệp nói chung và doanh nghiệp bán linh kiện máy tính nói riêng rất nhiều lợi ích như: Khả năng quảng cáo, phổ biến tên tuổi công ty rất nhanh trên môi trường mạng toàn cầu; Việc kinh doanh sẽ mở cửa 24 tiếng / 1 ngày; giảm thiểu chi phí nhân viên cho tiếp thị, quảng cáo; dễ dàng nhận phản hồi từ phía khách hàng;
cơ hội mở rộng liên kết và hợp tác ở phạm vi quốc tế…v v.
Website bán hàng linh kiện máy tính giúp doanh nghiệp cung cấp cho khách hàng những lựa chọn linh hoạt và tiện lợi trong việc tìm mua sản phẩm thông qua chức năng giỏ hàng Các thông tin linh kiện máy tính của doanh nghiệp được hiển thị chi tiết và rõ ràng với giá niêm yết trên từng sản phẩm, từ đó khách hàng dễ dàng nhận biết và lựa chọn được thứ mình cần.
Về phía doanh nghiệp, hệ thống cũng mang lại sự tiện dụng trong việc cập nhật và quản lý các thông tin cho website Tạo khả năng liên lạc nhanh và dễ dàng với khách hàng.
Nội dung của đề tài gồm các Chương:
Chương 1: Tổng quan Giới thiệu tổng quan về đề tài và các công nghệ liên quan
Chương 2: Phân tích thiết kế hệ thống website Sử dụng ngôn ngữ UML và công cụ
Rational Rose
Chương 3: Thiết kế giao diện và cài đặt website
Trang 6PH N 1 B NG PHÂN CÔNG CÔNG VI C ẦN 1 BẢNG PHÂN CÔNG CÔNG VIỆC ẢNG PHÂN CÔNG CÔNG VIỆC ỆC
Phạm Văn Dũng - Use case cập nhật, cập nhật
Đỗ Thị Quỳnh - Use case tìm kiếm sp, đặt
hàng.
- Xd lớp sản phẩm, cài đặt lớp cập nhật khách hàng.
hàng
- Xd lớp đơn hàng, cài đặt lớp cập nhật nhà cung cấp.
Nguyễn Cao Thắng - Use case gửi đơn hàng, xây
dựng biểu đồ tuần tự
- Xd lớp hàng hóa, cài đặt lớp danh sách hàng hóa.
Nguyễn Tố Dung - Xây dựng biểu đồ lớp phân
tích, biểu đồ trạng thái
- Cài đặt lớp thêm mới.
PHẦN 2 MÔ TẢ BÀI TOÁN
Trang 7Chương này trình bày tổng quan về đề tài và các công nghệ sử dụng trong quá trình xây dựng hệ thống Nội dung cụ thể bao gồm:
- Tổng quan đề tài
- Các công nghệ sử dụng.
1.1 TỔNG QUAN ĐỀ TÀI
Hoạt động bán hàng của một công ty buôn bán linh kiện máy tính có thể tóm tắt như sau:
mục hàng của công ty dưới dạng 1 quyển báo giá để khách hàng có thể so sánh và lựa chọn sản phẩm cần mua.
- Khi khách hàng đã lựa chọn được 1 hoặc nhiều sản phẩm Thì khách hàng sẽ thông báo với nhân viên bán hàng của công ty về thông tin của sản phẩm đó và số lượng sản phẩm muốn mua để nhân viên bán hàng viết hóa đơn thanh toán.
Khách hàng trả tiền và nhận sản phẩm của mình.
Hệ thống website bán hàng linh kiện điện tử được xây dựng nhằm giải quyết các vấn đề sau:
mới, hàng bán chạy, cao cấp …) ngay trên máy trạm của mình mà không cần phải tới cửa hàng.
- Giúp khách hàng tạo giỏ hàng trong đó chứa thông tin về các linh kiện và số lượng linh kiện cần mua, tổng tiền mặt khách hàng phải trả để có được các linh kiện đó.
Hệ thống sẽ gửi thông tin giỏ hàng cho người quản trị website xem và thực hiện đơn hàng.
- Hỗ trợ cho nhân viên công ty (với vai tròn là người quản trị website) quản lý, cập nhật các thông tin về sản phẩm đưa lên website.
Các yêu cầu phi chức năng:
- Chỉ có việc tạo và gửi giỏ hàng có thể làm thông qua website, còn việc thanh toán và giao hàng vẫn phải làm trực tiếp ở công ty hoặc giao tận nhà.
Giao diện thân thiện, dễ sử dung cho khách hàng.
Chức năng chính của hệ thống:
Chức năng dành cho khách hàng:
+ Xem các thông tin linh kiện trên website, xem theo danh mục hoặc xem tất cả Xem chi tiết từng sản phẩm
Trang 8+ Chọn sản phẩm cho vào giỏ hàng, cập nhật, xóa thông tin giỏ hàng, gửi thông tin giỏ hàng cùng thông tin cá nhân đến người quản trị để đặt hàng.
+ Gửi ý kiến đóng góp, liên hệ đến người quản trị
+ Download báo giá.
Chức năng dành cho người quản trị website:
+ Cập nhật thông tin sản phẩm cho website Bao gồm thêm mới, sửa thông tin, xóa thông tin sản phẩm, danh mục sản phẩm và các thông tin khác.
+ Quản lý các giỏ hàng mà khách hàng đã gửi Tiếp nhận và trả lời thông tin liên hệ từ khách hàng thông qua email.
+ Thay đổi các thông tin đăng nhập của mình (username, password,…).
PHẦN 3 ĐỀ XUẤT CA SỬ DỤNG CỦA HỆ THỐNG PHẦN MỀM
Trang 9Chương này trình bày quá trình phân tích, thiết kế hệ thống website Nội dung cụ thể gồm:
- Thực hiện pha phân tích
- Thực hiện pha thiết kế
2.1 PHA PHÂN TÍCH
Trong pha phân tích, em sẽ xây dựng các biểu đồ bao gồm:
- Biểu đồ Use case
- Biểu đồ lớp phân tích
- Biểu đồ trạng thái
2.1.1 Xây dựng biểu đồ Use case
Trong mục này em trình bày các biểu đồ và kịch bản của Use case:
- Use case tổng quát.
- Use case đăng nhập/đăng xuất (*)
Trang 10Từ các yêu cầu về chức năng của hệ thống, ta có thể mô hình hóa các chức năng của hệ thống bởi biểu đồ Use case tổng quát sau:
Hinh 2.1: Biểu đồ Use case tổng quát của hệ thống
- Mô tả Usecase tổng quát: Ở mức tổng quát, Hệ thống có những chức năng như hình 2.1.
Người quản trị có thể thực hiện đăng nhập, đăng xuất hệ thống (trang Quản trị) để quản lý thông tin cho hệ thống Gồm có Cập nhật các thông tin và thực hiện chức năng quản lý đơn hàng Còn khách hàng thì có thể truy cập hệ thống , thực hiện tìm kiếm sản phẩm, tạo và gửi giỏ hàng ( Chức năng đặt hàng)
b, Phân rã biểu đồ Use case và kịch bản (scenario):
Phân rã Use case Cập nhật:
Hình 2.2: Phân rã Use case Cập nhật
- Mô tả Use case Cập nhật: Chức năng cập nhật bao gồm Cập nhật danh mục sản phẩm và
cập nhật sản phẩm Gồm các thao tác thêm, xóa, sửa thông tin danh mục (hoặc sản phẩm) Với sản phẩm thi người quản trị có thể tìm kiếm sản phẩm.
Trang 11 Phân rã Use case Cập nhật sản phẩm
Hình 2.3: Phân rã Use case cập nhật sản phẩm
Mô tả Use case Cập nhật sản phẩm:
Người quản trị thực hiện chức chăng cập nhật sản phẩm trong trang quản trị Bao gồm các
chức năng con là Thêm hàng, Sửa thông tin sản phẩm, Xóa sản phẩm Các thông tin
của sản phẩm sẽ được hiển thị trên trang người dùng cho khách hàng xem Trong quá trình
cập nhật sản phẩm, chức năng Tìm kiếm sản phẩm được sử dụng trong quá trình thực
hiện các chức năng trên.
Chuỗi sự kiện chính:
1 Hệ thống hiển thị form thêm Sản phẩm và yêu cầu người quản trị đưa vào thông tin Sản phẩm.
2 Người quản trị nhập thông tin về Sản phẩm mới và nhấn “Lưu”
3 Hệ thống kiểm tra thông tin Sản phẩm và xác nhận thông tin hợp lệ
Trang 124 Hệ thống nhập thông tin Sản phẩm mới vào CSDL
5 Hệ thống thông báo đã nhập thành công
6 Người quản trị thoát khỏi chức năng thêm Sản phẩm
Ngoại lệ:
3.a Hệ thống thông báo Sản phẩm đã có trong CSDL
3.a.1 Hệ thống yêu cầu người quản trị nhập lại thông tin
3.a.2 Người quản trị nhập lại thông tin Sản phẩm
3.b Hệ thống thông báo thông tin Sản phẩm không hợp lệ
3.b.1 Hệ thống yêu cầu người quản trị nhập lại thông tin
3.b.2 Người quản trị nhập lại thông tin Sản phẩm
o Kịch bản Use case Sửa sản phẩm
Chuỗi sự kiện chính:
1 Hệ thống hiển thị form sửa Sản phẩm và yêu cầu người quản trị đưa vào thông tin Sản phẩm.
2 Người quản trị nhập thông tin về Sản phẩm cần thay đổi và nhấn “Lưu”
3 Hệ thống kiểm tra thông tin Sản phẩm và xác nhận thông tin hợp lệ
4 Hệ thống nhập thông tin Sản phẩm mới vào CSDL
5 Hệ thống thông báo đã cập nhật thành công
6 Người quản trị thoát khỏi chức năng sửa Sản phẩm
Ngoại lệ:
3.a Hệ thống thông báo Sản phẩm đã có trong CSDL
3.a.1 Hệ thống yêu cầu người quản trị nhập lại thông tin
3.a.2 Người quản trị nhập lại thông tin Sản phẩm
3.b Hệ thống thông báo thông tin Sản phẩm không hợp lệ
3.b.1 Hệ thống yêu cầu người quản trị nhập lại thông tin
Trang 133.b.2 Người quản trị nhập lại thông tin Sản phẩm
o Kịch bản Use case Xóa sản phẩm
2.a Người quản trị nhấn vào nút “No”
2.a.1 Hệ thống tiếp tục phiên làm việc hiện tại
Người chịu trách
nhiệm
Người quản trị
Tiền điều kiện Tác nhân đang trong phiên làm việc của mình, đang ở trang
Quản lý Sản phẩm hoặc khách hàng đang ở giao diện người dùng
Đảm bảo tối thiểu Hệ thống loại bỏ thông tin tìm kiếm và quay lui lại bước trước Đảm bảo thành công Các sản phẩm được tìm kiếm tương ứng được hiển thị ra màn
hình
Chuỗi sự kiện chính:
Trang 141 Hệ thống thực hiện truy vấn tìm kiếm trong CSDL những sản phẩm phù hợp với từ khóa truyền vào
2 Hệ thống hiển thị kết quả sản phẩm được tìm thấy ra form kết quả tìm kiếm
Ngoại lệ:
2.a Hệ thống không tìm thấy kết quả nào phù hợp
2.a.1 Hệ thống đưa ra thông báo tìm kiếm thất bại
Hình 2.4: Phân rã Use case Đặt hàng
Mô tả Use case Đặt hàng: Khách hàng truy cập trang web thực hiện chức năng đặt hàng Quá trình tìm sản phẩm để thêm vào giỏ, khách hàng có thể sử dụng chức năng Tìm kiếm
hàng Sau khi chọn được sản phẩm muốn mua, khách hàng sẽ thực hiện Thêm hàng Sau
khi thêm hàng thì sản phẩm được câp nhật và hiển thị trong giỏ hàng Khi chọn xong
những sản phẩm muốn mua, khách hàng có thể thực hiện Cập nhật giỏ hàng để cập nhật
số lượng hàng của mỗi sản phẩm Nếu khách hàng không muốn mua sản phẩm nào thì có
thể Xóa hàng Cuối cùng, khách hàng sẽ thực hiện Gửi đơn hàng Trong đó khách hàng
sẽ điền thêm các thông tin các nhân của mình để người quản trị hệ thống có thể liên lạc lại Thông tin giỏ hàng được gửi vào email của người quản trị và được lưu lại vào cơ sở dữ liệu Sau đó hệ thống sẽ tạo đơn hàng mới trong trường hợp khách tiếp tục đặt hàng.
o Kịch bản cho Use case Thêm h ng àng
Trang 15Đảm bảo tối thiểu Hệ thống giữ nguyên thông tin giỏ hàng và chuyển tới trang chi
tiết giỏ hàng
Chuỗi sự kiện chính:
1 Hệ thống kiểm tra Thông tin sản phẩm và xác nhận có sản phẩm trong CSDL
2 Hệ thống kiểm tra Sản phẩm trong giỏ hàng
3 Nếu sản phẩm chưa có trong giỏ hàng thì Thêm sản phẩm vào giỏ hàng với số lượng
1.a Hệ thống kiểm tra không có sản phẩm trong CSDL
1.a.1 Hệ thống đưa thông báo sản phẩm không có, không thể thêm vào giỏ hàng
1.a.2 Hệ thống quay lui lại trang trước
o Kịch bản Use case Xóa hàng
Đảm bảo tối thiểu Thông tin giỏ hàng được giữ nguyên
Đảm bảo thành công Sản phẩm được chọn xóa sẽ bị xóa khỏi giỏ hàng hiện tại trong
Trang 162.a Người quản trị nhấn vào nút “No”
2.a.1 Hệ thống tiếp tục phiên làm việc hiện tại
o Kịch bản Use case Gửi đơn hàng
Đảm bảo tối thiểu Thông tin giỏ hàng được giữ nguyên
Đảm bảo thành công Đơn hàng được gửi đi, hệ thống khởi tạo 1 phiên làm việc mới.
Chuỗi sự kiện chính:
1 Hệ thống chuyển về form Gửi giỏ hàng với thông tin giỏ hàng hiện có.
2 Khách hàng nhập các thông tin liên hệ của mình và nhấn nút “Gửi giỏ hàng”
3 Hệ thống kiểm tra thông tin giỏ hàng, xác nhận thông tin hợp lệ
4 Hệ thống gửi thông tin giỏ hàng vào email của người quản trị
5 Hệ thống thông báo giỏ hàng đã gửi thành công
6 Hệ thống khởi tạo phiên làm việc mới ứng với giỏ hàng mới cho khách hàng
Ngoại lệ:
3.a Hệ thống thông báo thông tin giỏ hàng không hơp lệ
2.a.1 Hệ thống yêu cầu nhập lại thông tin giỏ hàng
2.a.2 Khách hàng nhập lại thông tin giỏ hàng.
2.1.2 Xây dựng biểu đồ lớp phân tích
Biểu đồ lớp thể hiện các lớp đối tượng cần có đại diện cho các nhóm đối tượng khác nhau cấu thành nên hệ thống Hoạt động của hệ thống được biểu hiện qua trạng thái và sự tương tác giữa các nhóm đối tượng này.
Trang 17Hình 2.5: Biểu đồ lớp phân tích của hệ thống Biểu đồ lớp trên hình 2.6 thể hiện thuộc tính và phương thức của các lớp chính trong hệ thống và mối quan hệ giữa chúng Biểu đồ lớp thể hiện gồm 5 lớp chính:
Chi tiết của các thuộc tính, phương thức và mối quan hệ giữa các lớp được trình bày chi
tiết trong mục: 2.2.2 Biểu đồ lớp chi tiết (trang 26 ).
2.1.3 Biểu đồ trạng thái
Dưới đây là 2 biểu đồ trạng thái tiêu biểu:
- Biểu đồ trạng thái lớp Đơn hàng trong chức năng đặt hàng
- Biểu đồ trạng thái lớp Đơn hàng trong chức năng quản lý đơn hàng.
a, Biểu đồ trạng thái lớp Đơn hàng trong chức năng đặt hàng.
Trang 18Khong co hang,chua gui
Khoi tao
Co hang,chua gui Them hang
Xoa hang - con hang
Co hang,
da gui
Xoa hang - het hang
Cap nhat gio hang - het hang
Cap nhat gio hang - con hang Gui don hang
Hình 2.6: Biểu đồ trạng thái lớp Đơn hàng – Chức năng Đặt hàng
Hình 2.6 thể hiện biểu đồ trạng thái của lớp Đơn hàng xét riêng trong chức năng đặt hàng.
Trong biểu đồ này ta có các trạng thái không có hàng - chưa gửi, có hàng - chưa gửi, có hàng – đã gửi
b, Biểu đồ trạng thái lớp Đơn hàng trong chức năng quản lý đơn hàng
Trang 19Cho xu ly
Dang xu lyCap nhat trang thai - Dang xu ly
Da xu ly Cap nhat trang thai - Da xu ly
Hình 2.7: Biểu đồ trạng thái lớp Đơn hàng – Chức năng Quản lý đơn hàng
Hình 2.7 thể hiện biểu đồ trạng thái của lớp Đơn hàng xét riêng trong chức năng quản lý
đơn hàng Trong biểu đồ này ta có các trạng thái chờ xử lý, đang xử lý, đã xử lý
2.2 PHA THIẾT KẾ
2.2.1 Các biểu đồ tuần tự
Các biểu đồ tuần tự nhằm mô tả lại các scenario (kịch bản) của các Use case tương ứng dựa trên các lớp đã được xác định trong pha phân tích Ngoài ra với mỗi chức năng còn có thêm một hoặc nhiều lớp giao diện và lớp điều khiển cho chức năng đó.
Mục này sẽ trình bày các biểu đồ tuần tự gồm:
- Biểu đồ tuần tự cho chức năng Đăng nhập
- Biểu đồ tuần tự cho chức năng Thêm sản phẩm
- Biểu đồ tuần tự cho chức năng Sửa sản phẩm
- Biểu đồ tuần tự cho chức năng Tìm kiếm sản phẩm
- Biểu đồ tuần tự cho chức năng Đặt hàng.
a, Biểu đồ tuần tự cho chức năng Đăng nhập
Các đối tượng tham gia gồm: Người quản trị, Form đăng nhập, Đối tượng điều khiển đăng nhập và đối tượng Nguoiquantri
Trang 20Hình 2.8: Biểu đồ tuần tự cho chức năng Đăng nhập
b, Biểu đồ tuần tự cho chức năng Thêm sản phẩm
Các đối tượng tham gia gồm: Người quản trị, Form quản lý sản phẩm, Form Thêm sản phẩm, đối tượng điều khiển thêm sản phẩm, đối tượng sản phẩm.
Hình 2.9: Biểu đồ tuần tự cho chức năng Thêm sản phẩm
c, Biểu đồ tuần tự cho chức năng Sửa sản phẩm
Các đối tượng tham gia gồm: Người quản trị, Form Quản lý sản phẩm, Form sửa sản phẩm, đối tượng điều khiển sửa sản phẩm, đối tượng sản phẩm.
Trang 21Hình 2.10: Biểu đồ tuần tự cho chức năng Sửa sản phẩm
d, Biểu đồ tuần tự cho chức năng tìm kiếm sản phẩm (Trang quản trị và trang người dùngi)
Các đối tượng tham gia gồm: Người quản trị (hoặc Khách hàng), Form tìm kiếm, Form kết quả tìm kiếm, đối tượng điều khiển tìm kiếm, đối tượng sản phẩm.
Hình 2.11: Biểu đồ tuần tự cho chức năng Tìm kiếm sản phẩm
e, Biểu đồ tuần tự cho chức năng Đặt hàng
Các đối tượng tham gia gồm: Khách hàng, Người quản trị, Form chi tiết giỏ hàng, Form gửi đơn hàng, đối tượng điều khiển khách hàng, đối tượng sản phẩm, đối tượng đơn hàng, đối tượng hàng bán.
Trang 22Hình 2.12: Biểu đồ tuần tự cho chức năng Đặt hàng
Trang 232.2.2 Biểu đồ lớp chi tiết
Hình 2.13: Biểu đồ lớp thiết kế Biểu đồ lớp trên hình 2.14thể hiện thuộc tính và phương thức của các lớp chính trong hệ thống và mối quan hệ giữa chúng So với biểu đồ lớp phân tích (xem trang 19), biểu đồ lớp thiết kế bổ xung thêm một số thuộc tính và phương thức chi tiết hơn tạo tiền đề để xây dựng hệ thống Biểu đồ lớp thể hiện gồm 5 lớp chính:
Chi tiết của các lớp được trình bày dưới đây:
Ghi chú: (PK) : Primary Key – Khóa chính của lớp
Trang 24getnqttheoemail() Lấy ra thông tin người quản trị
Tên Phương thức Mô tả Giá trị trả về Phạm vi
Bảng 2: Lớp danhmuc
c, L p Sanpham ớp Sanpham
Trang 25soluoc Thông tin sơ lược về sản
Trang 26guidonhang() Gửi đơn hàng null public
Bảng 4: Lớp donhang
e, L p Hangban ớp Sanpham
gethbtheomadonhang() Lấy thông tin hàng bán theo mã
Trang 27Hình 2.14: Biểu đồ hoạt động cho chức năng Thêm sản phẩm.
* Giải thuật của chức năng Thêm sản phẩm:
- Bước 1: Người quản trị nhập thông tin sản phẩm vào form thêm sản phẩm
- Bước 2: Hệ thống kiểm tra thông tin vừa nhập vào Nếu không hợp lệ thì quay lại Bước
1 Nếu thông tin hợp lệ thì tiếp tục Bước 3.
- Bước 3: Hệ thống lưu thông tin sản phẩm vào cơ sở dữ liệu.
b, Biểu đồ hoạt động cho chức năng Đặt hàng
Trang 28Hình 2.15 Biểu đồ hoạt động cho chức năng Đặt hàng
* Giải thuật cho chức năng Đặt hàng:
- Bước 1: Khách hàng chọn sản phẩm vào giỏ hàng
- Bước 2: Hệ thống kiểm tra trong cơ sở dữ liệu xem sản phẩm được chọn có tồn tại hay không Nếu không tồn tại thì quay lại Bước 1 Nếu tồn tại xuống Bước 3.
- Bước 3: Khách hàng cập nhật số lượng sản phẩm đã chọn trong giỏ hàng.
- Bước 4: Khách hàng yêu cầu gửi giỏ hàng (Chọn nút Đặt hàng)
- Bước 5: Hệ thống kiểm tra xem trong giỏ hàng có hàng hay không Nếu không có thì quay lại Bước 1 Nếu có thì chuyển tiếp đến Bước 6.
- Bước 6: Khách hàng nhập thông tin cá nhân của mình đi kèm với Giỏ hàng và chọn nút Send (Gửi giỏ hàng).
- Bước 7: Hệ thống kiểm tra thông tin cá nhân của khách hàng Nếu thông không hợp lệ thì quay lại Bước 6 Nếu thông tin hợp lệ thì chuyển sang Bước 8.
Trang 29- Bước 8: Hệ thống gửi thông tin giỏ hàng vào email của người quản trị đồng thời lưu thông tin và Cơ sở dữ liệu của hệ thống.
diện khách hàng được hiển thị trên các máy Client Dưới đây là biểu đồ thành phần của
hệ thống:
Hình 2.16 Biểu đồ thành phần
2.2.5 Biểu đồ triển khai
Hình 2.17 biểu diễn biểu đồ triển khai của hệ thống Hệ thống sẽ được triển khai trên ba dạng máy tính khác nhau Các máy Client dành cho người quản trị và cho khách hàng cơ bản là giống nhau, chỉ có mục đích sử dụng thì khác nhau Người quản trị có thể truy cập phần quản trị và trang người dùng Còn khách hàng chỉ truy cập được trang người dùng.
Cơ sở dữ liệu được cài đặt trên Server.
Trang 30May nguoi quan tri
Trang 31PHẦN 4 CÀI ĐẶT LỚP TRÊN VB.NET
1 CLASS CẬP NHẬT HÀNG HÓA
Public Class FormcapnhatHH
Public dsCtiet As New DataSet
Public daCtiet As New SqlDataAdapter
Public cmCtiet As New SqlCommandBuilder
Public conn As SqlConnection
Public conn4 As SqlConnection
Public dahh As SqlDataAdapter
Public damyNewData As SqlDataAdapter
Public dshh As DataSet
Public myNewData As DataSet
Public cmhh As SqlCommandBuilder
Public cmmyNewData As SqlCommandBuilder
Public CONSTR As String = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
Dim sql As String
Private Sub Buttonxem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttonxem.Click
conn = New SqlConnection
Me.conn.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn.Open()
sql = "Select * from HANGHOA"
dshh = New DataSet
dahh = New SqlDataAdapter(sql, conn)
cmhh = New SqlCommandBuilder(dahh)
Private Sub Buttoncnhat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttoncnhat.Click
Dim kq As Integer
Dim sql4 As String
' conn4 = New SqlConnection
' Me.conn4.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
Dim conn4 As SqlConnection = New SqlConnection(CONSTR)
conn4.Open()
Dim k1 As SqlCommand = New SqlCommand()
Dim k2 As SqlParameter = New SqlParameter()
'cap nhat bang hoa hon
sql4 = "Update HANGHOA set TENHANG='" & TXTTH.Text & "' , DGIAI='" &
TXTDG.Text & "' , MALOAI='" & TXTML.Text & "' , DVT='" & TXTDVT.Text & "', TGIANBH='"
& TXTTGBH.Text & "' WHERE MAHANG='" & ComboBox1.Text & "'"
k1.Connection = conn4
Trang 32k1.CommandType = CommandType.Text
Private Sub Buttonthoat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttonthoat.Click
If MsgBox("Bạn có chắGc muốGn thoát", MsgBoxStyle.YesNo, "Thoát") =
MsgBoxResult.Yes Then
Private Sub FormcapnhatHH_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
fillHH()
getcb()
FillDataGridView1()
End Sub
Public Sub FillDataGridView1()
conn4 = New SqlConnection
Me.conn4.ConnectionString = "data Source=PHONGLANPC;Initial
dsCtiet = New DataSet
daCtiet = New SqlDataAdapter(sql4, conn4)
cmCtiet = New SqlCommandBuilder(daCtiet)
Trang 33conn4 = New SqlConnection
Me.conn4.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn4.Open()
dshh = New DataSet()
dahh = New SqlDataAdapter(sql4, conn4)
cmhh = New SqlCommandBuilder(dahh)
dahh.Fill(dshh, "HANGHOA")
Dim dv As DataView = New DataView(dshh.Tables("HANGHOA"))
Dim ObjCurrentManager As CurrencyManager =
CType(Me.BindingContext(dv), CurrencyManager)
sql4 = "select MAHANG from HANGHOA "
conn4 = New SqlConnection
Me.conn4.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
' Dim conn4 As SqlConnection = New SqlConnection(CONSTR)
conn4.Open()
Dim dakh As New SqlDataAdapter(sql4, conn4)
Dim dskh As New DataSet
dakh.Fill(dskh, "HANGHOA")
Dim datable As New DataTable()
Trang 34datable.Columns.Add("MAHANG", GetType(System.String))
Dim droldRow As DataRow
Dim drnewRow As DataRow
For Each droldRow In dskh.Tables("HANGHOA").Rows()
Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TXTTGBH.TextChanged
End Sub
Private Sub TXTTH_TextChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TXTTH.TextChanged
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim MOI As New FormMOI()
MOI.ShowDialog()
fillcapnhat()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ButtonXOA.Click
Dim DialogResult_dre As DialogResult
DialogResult_dre = MessageBox.Show(" Bạn có chắGc muốGn xóa hàng này?", "Xác nhận", MessageBoxButtons.YesNo)
Trang 35If DialogResult_dre = Windows.Forms.DialogResult.Yes Then
conn4 = New SqlConnection
Me.conn4.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn4.Open()
Dim k1 As SqlCommand = New SqlCommand()
Dim k2 As SqlParameter = New SqlParameter()
'cap nhat bang hoa hon
sql4 = "DELETE FROM HANGHOA WHERE MAHANG='" & ComboBox1.Text & "'"
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
FormDSHH.Show()
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellContentClick
End Sub
End Class
2 CLASS CẬP NHẬT KHÁCH HÀNG
Public Class FormcapnhatKH
Public dsCtiet As New DataSet
Public daCtiet As New SqlDataAdapter
Public cmCtiet As New SqlCommandBuilder
Public conn2 As SqlConnection
Public dakh As SqlDataAdapter
Public damyNewData2 As SqlDataAdapter
Public dskh As DataSet
Trang 36Public myNewData2 As DataSet
Public cmkh As SqlCommandBuilder
Public cmmyNewData2 As SqlCommandBuilder
Dim sql2 As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttonxem3.Click
conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn2.Open()
sql2 = "Select * from KHACHHANG"
dskh = New DataSet
dakh = New SqlDataAdapter(sql2, conn2)
cmkh = New SqlCommandBuilder(dakh)
Private Sub Buttoncn3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttoncn3.Click
Dim kq As Integer
Dim sql4 As String
conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn2.Open()
Dim k1 As SqlCommand = New SqlCommand()
Dim k2 As SqlParameter = New SqlParameter()
'cap nhat bang hoa hon
sql4 = "Update KHACHHANG set TENKH='" & TXTTKH.Text & "' , DCHI='" & TXTDC.Text & "' , SDT='" & TXTSDT.Text & "' , MASOTHUE='" & TXTSTHUE.Text & "', SOTK='" & TXTTK.Text & "' WHERE MAKH='" & ComboBox1.Text & "'"
Private Sub Buttonthoat3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Buttonthoat3.Click
If MsgBox("Bạn có chắGc muốGn thoát khống?", MsgBoxStyle.YesNo, "Thoát") =
MsgBoxResult.Yes Then
Me.Close()
Else
Exit Sub
Trang 37End If
End Sub
Private Sub FormcapnhatKH_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Load
getcb1()
fillKH1()
FillDataGridViewkh1()
End Sub
Public Sub FillDataGridViewkh1()
conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
dsCtiet = New DataSet
daCtiet = New SqlDataAdapter(sql4, conn2)
cmCtiet = New SqlCommandBuilder(daCtiet)
Trang 38conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn2.Open()
dskh = New DataSet()
dakh = New SqlDataAdapter(sql4, conn2)
cmkh = New SqlCommandBuilder(dakh)
dakh.Fill(dskh, "KHACHHANG")
Dim dv As DataView = New DataView(dskh.Tables("KHACHHANG"))
Dim ObjCurrentManager As CurrencyManager =
CType(Me.BindingContext(dv), CurrencyManager)
sql4 = "select MAKH from KHACHHANG "
conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
' Dim conn4 As SqlConnection = New SqlConnection(CONSTR)
conn2.Open()
Dim dakh As New SqlDataAdapter(sql4, conn2)
Dim dskh As New DataSet
dakh.Fill(dskh, "KHACHHANG")
Dim datable As New DataTable()
datable.Columns.Add("MAKH", GetType(System.String))
Dim droldRow As DataRow
Dim drnewRow As DataRow
For Each droldRow In dskh.Tables("KHACHHANG").Rows()
Trang 39End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Private Sub ButtonMOI_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ButtonMOI.Click
Private Sub ButtonXOA_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ButtonXOA.Click
Dim DialogResult_dre As DialogResult
DialogResult_dre = MessageBox.Show(" Bạn có chắGc muốGn xóa khách hàng này?",
conn2 = New SqlConnection
Me.conn2.ConnectionString = "data Source=PHONGLANPC;Initial
Catalog=MUABANMAYTINH;Integrated Security=True"
conn2.Open()
Dim k1 As SqlCommand = New SqlCommand()
Dim k2 As SqlParameter = New SqlParameter()
'cap nhat bang hoa hon
sql4 = "DELETE FROM KHACHHANG WHERE MAKH='" & ComboBox1.Text & "'"