Để kiểm chứng điều đó, các bạn cần biết là: -Mô-đun và Linh Hoạt Mở Rộng: Hệ thống mô-đun của Drupal cho phép người dùng mở rộng chức năng của trang web một cách dễ dàng.. -Quản Lý N
Trang 1TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN TÊN ĐỀ TÀI: THIẾT KẾ WEBSITE DOHA BÁN MÁY LỌC NƯỚC
HỌ VÀ TÊN SINH VIÊN : Nguyễn Duy Nam
LỚP : CNTT1 K21
MÃ SỐ SINH VIÊN : 203148201140 GIẢNG VIÊN HƯỚNG DẪN : Th.S Lê Thị Phương Anh
Hải Phòng, Thứ Sáu, 24 Tháng Năm 2024
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong báo cáo là trung thực Tôi xin cam đoan rằng các thông tin trích dẫn trong báo cáo đều đã được chỉ rõ nguồn gốc
Hải Phòng, ngày tháng năm 2023
Tác giả Nguyễn Duy Nam
Trang 3Cuối cùng, em xin bày tỏ lòng biết ơn sâu đậm của mình tới gia đình, bạn bè những người luôn sát cánh bên em, tạo mọi điều kiện tốt nhất để em có thể thực hiện báo cáo thực tập tốt nghiệp của mình
Trong quá trình thực hiện báo cáo thực tập tốt nghiệp, mặc dù đã cố gắng hết sức song do thời gian và khả năng có hạn nên em không thể tránh khỏi những thiếu sót Vì vậy, em rất mong nhận được sự thông cảm, chỉ bảo và giúp đỡ của các cô giáo, cô giáo và các bạn
Một lần nữa em xin chân thành cảm ơn!
Trang 4MỤC LỤC
LỜI CẢM ƠN II MỤC LỤC IV DANH MỤC CÁC CHỮ VIẾT TẮT VI DANH MỤC BẢNG VII DANH MỤC HÌNH ẢNH VIII LỜI NÓI ĐẦU X
CHƯƠNG I: TỔNG QUAN VỀ DRUPAL VÀ MODULE DRUPAL COMMERCE 1
1.1 Giới thiệu chung về Drupal 1
1.2 Những Thành tựu của Drupal 1
1.3 Giới thiệu Drupal Commerce: 4
1.3.1 Cài đặt và thiết lập cơ bản: 5
CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 11
2.1 Phân tích và thiết kế hướng đối tượng: 11
2.1.1 Phân tích và thiết kế hướng đối tượng(OOAD) là gì? 11
2.1.2 UML là gì? 11
2.2 Biểu đồ UseCase: 13
2.2.1Biểu đồ Use-case tổng quát 13
2.2.2 UC cho khách hàng 14
2.2.3 UC cho người bán hàng 15
2.2.4 Use Case: Đăng nhập 16
2.2.5 Use Case: Đăng ký 17
2.2.6 Use Case: Tìm kiếm 18
2.2.7 Use case quản lí thông tin cá nhân 20
2.2.8 Use case quản lí giỏ hàng 23
2.2.9 Use case đặt hàng 26
2.2.10 Use case quản lý sản phẩm 27
2.2.11 Use case quản lý đơn đặt hàng 27
2.3 Biểu đồ hoạt động 31
2.3.1 Đăng nhập 31
2.3.2 Đăng ký 32
Trang 52.3.5 Thêm sản phẩm vào giỏ 35
2.3.6 Cập nhật trạng thái đơn hàng 36
2.4 Biểu đồ tuần tự 37
2.4.1 Biểu đồ tuần tự đăng nhập 37
2.4.2 Biểu đồ tuần tự đăng ký 38
2.4.3 Biểu đồ tuần tự tìm kiếm 39
2.4.4 Biểu đồ tuần tự đặt hàng 40
2.4.5 Biểu đồ tuần tự thêm sản phẩm 41
2.4.6 Biểu đồ tuần cập nhật trạng thái 42
2.4.7 Biểu đồ cộng tác đăng nhập 43
2.4.8 Biểu đồ cộng tác sửa thông tin cá nhân 44
2.4.9 Biểu đồ cộng tác tìm kiếm sản phẩm 45
2.4.10 Biểu đồ cộng tác đặt hàng 46
2.4.11 Biểu đồ lớp 47
CHƯƠNG 3: THỰC NGHIỆM XÂY DỰNG HỆ THỐNG 47
3.1 Môi trường cài đặt 47
3.2 Giới thiệu Website 48
3.2.1 Giao diện trang chủ 48
3.2.2: Phần footer 49
3.2.3 Giao diện đăng nhập, đăng ký thành viên 50
3.2.4 Giao diện tìm kiếm sản phẩm 50
3.3.5 Giao diện đặt hàng 51
3.2.6 Giao diện giỏ hàng, thanh toán 51
3.2.8 Giao diện trang quản lý tài khoản cho admin 53
3.2.9 Giao diện quản lý sản phẩm 54
KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 57
Trang 6DANH MỤC CÁC CHỮ VIẾT TẮT
Từ viết tắt Giải thích
GPL GNU General Public Licence
Trang 7DANH MỤC BẢNG
Bảng 2 1 Use Case: Đăng nhập 16
Bảng 2 2 Use Case: Đăng ký 18
Bảng 2 3 Use Case: Tìm kiếm 20
Bảng 2 4 Xem thông tin cá nhân 21
Bảng 2 5 Sửa thông tin cá nhân 22
Bảng 2 6 Use case quản lí giỏ hàng 25
Bảng 2 7 Use case đặt hàng 26
Bảng 2 8 Quản lý sản phẩm 29
Bảng 2 9 Quản lý đơn đặt hàng 31
Trang 8DANH MỤC HÌNH ẢNH
Hình 1 2 Tìm Module “Drupal Commerce” trên thư viện 6
Hình 1 3 Cài đặt bản dịch và thiết lập cho Drupal Commerce 6
Hình 1 4 Cài đặt trang cần thiết cho Drupal Commerce 7
Hình 1 5 Thiết lập vị trí và định dạng tiền tệ phù hợp với Việt Nam Error! Bookmark not defined Hình 1 6 Đã thiết lập hoàn thành Error! Bookmark not defined Hình 1 7 Các trang mặc định của Drupal Commerce Error! Bookmark not defined Hình 1 8 Thiết lập trang cửa hàng Error! Bookmark not defined Hình 1 9 Thiết lập lại các trang bị mất Error! Bookmark not defined Hình 1 10 Menu thêm sản phẩm 7
Hình 1 11 Nhập tiêu đề và mô tả chi tiết của sản phẩm 8
Hình 1 12 Khung nhập dữ liệu sản phẩm 9
Hình 2 1 Kiến trúc của một Hệ quản trị cơ sở dữ liệu Error! Bookmark not defined Hình 2 2 Biểu đồ use case tổng quát 13
Hình 2 3 UC cho khách hàng 14
Hình 2 4 Các UC cho người bán hàng 15
Hình 2 5 Use Case: Đăng nhập 16
Hình 2 6 Use Case: Đăng ký 17
Hình 2 7 Use Case: Tìm kiếm 18
Hình 2 8 Use case quản lí thông tin cá nhân 20
Hình 2 9Use case quản lí giỏ hàng 23
Hình 2 10 Use case đặt hàng 26
Hình 2 11 Use case quản lý sản phẩm 27
Hình 2 12 Use case quản lý đơn đặt hàng 27
Hình 2 13 Biểu đồ đăng nhập 31
Hình 2 14 Biểu đồ đăng ký 32
Trang 9Hình 2 17 Thêm sản phẩm vào giỏ 1 35
Hình 2 18 Thêm sản phẩm vào giỏ 2 Error! Bookmark not defined Hình 2 19 Cập nhật trạng thái đơn hàng 36
Hình 2 20 Biểu đồ tuần tự đăng nhập 37
Hình 2 21 Biểu đồ tuần tự đăng ký 38
Hình 2 22 Biểu đồ tuần tự tìm kiếm 39
Hình 2 23 Biểu đồ tuần tự đặt hàng 40
Hình 2 24 Biểu đồ tuần tự thêm sản phẩm 41
Hình 2 25 Biểu đồ tuần cập nhật trạng thái 42
Hình 2 26 Biểu đồ cộng tác đăng nhập 43
Hình 2 27 Biểu đồ cộng tác sửa thông tin cá nhân 44
Hình 2 28 Biểu đồ cộng tác tìm kiếm sản phẩm 45
Hình 2 29 Biểu đồ cộng tác đặt hàng 46
Hình 2 30 Biểu đồ lớp 47
Hình 3 1 Giao diện trang chủ 48
Hình 3 2 Phần footer 49
Hình 3 3 Giao diện trang đăng nhập 50
Hình 3 4 Giao diện trang đăng ký 50
Hình 3 5 Hiển thị kết quả tìm kiếm sản phẩm 51
Hình 3 6 Giao diện đặt hàng 51
Hình 3 7 Giao diện giỏ hàng 52
Hình 3 8 Giao diện thanh toán 52
Hình 3 9 Giao diện quản lý tài khoản cho admin 53
Hình 3 10 Giao diện quản lý sản phẩm 54
Hình 3 13 Giao diện quản lý đơn hàng 55
Trang 10LỜI NÓI ĐẦU
Xã hội phát triển về nhiều mặt, kèm theo đó là sự bùng nổ mạnh mẽ của công nghệ thông tin Nhu cầu của con người ngày càng được nâng cao Để đáp ứng cho nhu cầu con người trong việc mua hàng hóa thông minh thông qua các website bán hàng Chúng ta chỉ cần ở bất kỳ đâu chỉ cần có kết nối Internet thì có thể mua hàng ở bất kỳ nơi nào với các chế độ vận chuyển chuyên nghiệp trên toàn quốc Để đáp ứng được điều đó thì công nghệ website hiện nay có rất nhiều cách
để tạo nên một website bán hàng thông minh Trong đó chúng ta không thể không nói đến Drupal Đây là một công cụ rất phổ biến trên thế giới Trong Drupal có một Module rất nổi tiếng được viết từ các lập trình viên cộng đồng Drupal đó chính là Drupal Commerce Nó được phản hồi rất tịch cực trong ngành công nghệ website đặc biệt là website bán hàng tính đến thời điểm hiện tại Với sự hỗ trợ đặc biệt của Module Drupal Commerce trong việc tạo một website bán hàng Em
đã chọn đề tài “Xây dựng website Doha bán máy lọc nước bằng Drupal”
Mặc dù đã rất cố gắng nỗ lực để hoàn thành đề tài, bên cạnh đó không thể tránh khỏi những thiếu sót Mong rằng nhận được sự phản hồi tích cực từ phía cô cô và các bạn
Xin chân thành cảm ơn
Trang 11CHƯƠNG I: TỔNG QUAN VỀ DRUPAL VÀ MODULE DRUPAL
COMMERCE 1.1 Giới thiệu chung về Drupal
Drupal được phát triển bởi Dries Buytaert, một sinh viên người Bỉ, khi ông còn là sinh viên đại học Ban đầu, Dries bắt đầu dự án năm 2000 như là một hệ thống diễn đàn cá nhân và nhanh chóng mở rộng thành một hệ thống quản lý nội dung (CMS) Dries công bố nguồn mở cho dự án
và đặt tên là "Drupal" từ tiếng Hà Lan, có nghĩa là "đâm nhau" hay "điên đảo" Drupal 1.0 được phát hành chính thức vào tháng 1 năm 2001
Drupal từng trải qua nhiều phiên bản, với mỗi phiên bản mang lại cải tiến đáng kể về tính năng và hiệu suất Cộng đồng người dùng và phát triển của Drupal đã ngày càng lớn mạnh theo thời gian Nhưng như thế không có nghĩa là Drupal chỉ thích hợp với các dự án nhỏ, mà hiện nay
có tới khoảng 25% website trong danh sách 100 website lớn nhất thế giới sử dụng mã nguồn Drupal Ví dụ như trang tạp chí TechCrunch, Mashable, CNN, BBC America, Variety, Sony Music, MTV News, Bata, Quartz,…rất nhiều không thể kể hết được
1.2 Những Thành tựu của Drupal
Khi tìm hiểu về Drupal, bạn sẽ thật tự hào khi biết rằng mã nguồn mà các bạn đang tìm hiểu ngay sau đây có những thành tựu rất vượt bậc và là một mã nguồn CMS mở phổ biến nhất hành tinh Để kiểm chứng điều đó, các bạn cần biết là:
-Mô-đun và Linh Hoạt Mở Rộng:
Hệ thống mô-đun của Drupal cho phép người dùng mở rộng chức năng của trang web một cách
dễ dàng Cộng đồng Drupal cung cấp hàng nghìn mô-đun miễn phí và trả phí, từ quản lý nội dung đến thương mại điện tử và tích hợp các dịch vụ bên ngoài
-Quản Lý Nội Dung Hiệu Quả:
Drupal có một hệ thống quản lý nội dung mạnh mẽ, cho phép người dùng dễ dàng tạo, sửa đổi
và quản lý nội dung trên trang web của mình Nó hỗ trợ nhiều loại nội dung khác nhau như bài viết, hình ảnh, video và các loại tài liệu khác
Trang 12-Đa Ngôn Ngữ và Đa Khu Vực:
Drupal được thiết kế để hỗ trợ quản lý nội dung đa ngôn ngữ, giúp người dùng tạo ra trang web
có thể hoạt động trên nhiều khu vực và ngôn ngữ khác nhau
Thiết Kế Đáp Ứng (Responsive Design):
Drupal chú trọng vào việc cung cấp trang web có thiết kế đáp ứng, giúp nó tương thích và hiển thị tốt trên nhiều loại thiết bị, từ máy tính đến điện thoại di động
-Bảo Mật Cao:
Drupal luôn chú ý đến vấn đề bảo mật và cung cấp các bản cập nhật định kỳ để bảo vệ trang web khỏi các mối đe dọa an ninh
-Hỗ Trợ Doanh Nghiệp và Tổ Chức Lớn:
Drupal được sử dụng rộng rãi trong các doanh nghiệp và tổ chức lớn, bao gồm cả các tổ chức chính phủ Khả năng mở rộng và tính linh hoạt của nó làm cho Drupal trở thành một lựa chọn mạnh mẽ cho các dự án lớn và phức tạp
-Cộng Đồng Lớn và Hỗ Trợ:
Drupal có một cộng đồng đông đảo và tích cực, với hàng nghìn người dùng và nhà phát triển trên khắp thế giới Cộng đồng này cung cấp sự giúp đỡ, tài liệu, và nguồn lực để người dùng Drupal
có thể tận dụng tối đa từ hệ thống này.*Hoạt động của mã nguồn Drupal:
Các dữ liệu làm việc thế nào?
Trong mã nguồn Drupal, nó đã được lập trình nhiều tính năng giúp bản thân nó có thể tương tác với cơ sở dữ liệu (database) như MySQL để giúp người sử dụng có thể lưu trữ dữ liệu mềm trên website Tất cả các dữ liệu mềm được lưu trữ vào database sẽ bao gồm các nội dung văn bản được nhập vào website, các thiết lập (vì các thiết lập sẽ lưu dưới dạng một kiểu dữ liệu) và một
số dữ liệu khác
Nếu vào xem database thông qua phpMyAdmin hoặc các ứng dụng tương tự, sẽ thấy Drupal có nhiều bảng dữ liệu để chứa các dữ liệu được lưu vào
Trang 13Drupal làm gì mỗi khi có người truy cập vào website?
Khi một người truy cập vào website, Drupal sẽ tự động xử lý theo quy trình sau:
1 Xác Định Đường Dẫn (Routing):
Khi người truy cập nhập một URL, Drupal sẽ xác định đường dẫn cụ thể (routing) Cơ sở
dữ liệu định nghĩa các mô-đun, trang và chức năng nào được kết nối với đường dẫn này
2 Kiểm Tra Quyền Truy Cập (Access Control):
Hệ thống sẽ kiểm tra quyền truy cập của người dùng đối với trang hoặc nội dung được yêu cầu Điều này dựa vào quyền và vai trò của người dùng, được quản lý thông qua hệ thống phân quyền của Drupal
3 Xử Lý Yêu Cầu (Request Handling):
Sau khi xác định được đường dẫn và quyền truy cập, Drupal sẽ xử lý yêu cầu Các đun và theme được kích hoạt để xây dựng trang web và hiển thị nội dung
mô-4 Truy Cập Cơ Sở Dữ Liệu (Database Access):
Drupal sử dụng cơ sở dữ liệu để lưu trữ thông tin như nội dung, cài đặt và cấu hình Khi cần, hệ thống sẽ truy cập cơ sở dữ liệu để lấy thông tin cần thiết để hiển thị trang web
5 Xây Dựng Trang (Page Building):
Drupal sẽ xây dựng trang web dựa trên dữ liệu được lấy từ cơ sở dữ liệu và các mô-đun được kích hoạt Giao diện người dùng được tạo ra dựa trên theme đã được chọn và tùy chỉnh
Trang 146 Hiển Thị Nội Dung (Content Rendering):
Nội dung được hiển thị theo cấu trúc và giao diện đã được xác định Drupal hỗ trợ định dạng nội dung đa dạng như văn bản, hình ảnh, video và nhiều loại tài liệu khác
7 Gửi Trả Lời (Response):
Trang web được tạo ra được gửi dưới dạng response về trình duyệt của người truy cập Trình duyệt sau đó hiển thị trang web dựa trên dữ liệu nhận được
8 Theo Dõi và Thống Kê (Tracking and Logging):
Drupal có thể thực hiện theo dõi và ghi log các hoạt động của người truy cập để phân tích
và thống kê, giúp người quản trị hiểu rõ hơn về sự tương tác trên trang web
1.3 Giới thiệu Drupal Commerce:
Drupal Commerce là một Module miễn phí được sử dụng để tạo một trang thương mại điện
tử cỡ nhỏ tốt nhất hiện nay trong Drupal Nó cũng như bao Module khác là bổ sung chức năng vào website nhưng nó sẽ bổ sung gần như toàn diện các chức năng mà một trang bán hàng đơn giản cần có
Drupal Commerce sẽ có các chức năng chính như:
• Linh Hoạt và Tùy Chỉnh:
Drupal Commerce được thiết kế để linh hoạt và có khả năng tùy chỉnh cao Nó cho phép người dùng tạo ra các trang web thương mại điện tử với các chức năng độc đáo và đáp ứng đầy đủ yêu cầu cụ thể của doanh nghiệp
• Kết Hợp Sâu Sắc với Drupal:
Vì Drupal Commerce được tích hợp trực tiếp với hệ thống quản lý nội dung Drupal, người dùng có thể tận dụng các tính năng mạnh mẽ của Drupal trong quá trình xây dựng và quản
lý nội dung
• Quản Lý Sản Phẩm và Danh Mục:
Trang 15Drupal Commerce cung cấp các công cụ quản lý sản phẩm và danh mục hiệu quả Người dùng có thể tạo và quản lý các sản phẩm, xác định thuộc tính và biểu mẫu đặt hàng một cách dễ dàng
• Quản Lý Đơn Hàng và Thanh Toán:
Hệ thống quản lý đơn hàng của Drupal Commerce giúp theo dõi và quản lý quy trình đặt hàng từ đầu đến cuối Nó hỗ trợ nhiều cổng thanh toán phổ biến và có khả năng tích hợp với các dịch vụ thanh toán trực tuyến
• Tích Hợp Giao Hàng và Thuế:
Drupal Commerce hỗ trợ tích hợp với các dịch vụ vận chuyển và tính toán thuế tự động Người dùng có thể cấu hình các chi phí vận chuyển dựa trên nhiều yếu tố và quản lý các quy tắc thuế một cách linh hoạt
• Thư Viện Mô-đun Mở Rộng:
Cộng đồng Drupal Commerce cung cấp một thư viện lớn các mô-đun mở rộng, giúp người dùng mở rộng chức năng theo nhu cầu cụ thể của dự án
• Bảo Mật và Cập Nhật:
Drupal Commerce chú trọng vào bảo mật và thường xuyên cập nhật để giữ cho trang web thương mại điện tử an toàn và bảo vệ khỏi các mối đe dọa an ninh
1.3.1 Cài đặt và thiết lập cơ bản:
-Trước tiên bạn tìm Module tên Drupal Commerce trên trang chủ drupal và cài module
Trang 16Hình 1 1 Tìm Module “Drupal Commerce” trên Website Copy link tar.g,sau đó bạn tìm mục cài module,paste link vừa cop rồi tiến hành cài đặt
Hình 1 2 Cài đặt Drupal Commerce
Kế đến ta sẽ phải bật module trong phần module
Trang 17Hình 1 3 Bật module Drupal commerce 1.4 Thêm một sản phẩm đơn giản:
Trang 18Hình 1 5 Nhập mô tả sản phẩm
Ngay bên dưới nó là phần Variable, ở đây bạn sẽ được cung cấp và điền một số thông tin
cốt lõi về sản phẩm
Trang 19Hình 1 6 Khung nhập dữ liệu Variable
• Chung: Phần này sẽ nhập thông tin về mã sản phẩm và giá sản phẩm
o Mã sản phẩm: Nhập mã sản phẩm để bạn tiện quản lý trong kho hàng
o Giá bán chuẩn: Giá chuẩn của sản phẩm
o Giá khuyến mãi: Giá sản phẩm sau khi được giảm, bạn có thể lên lịch để giá khuyến mãi có hiệu lực trong thời gian nhất định
• Kiểm kê kho hàng: Phần này sẽ thiết lập số lượng sản phẩm trong kho và tình trạng hàng hóa trong kho
o Quản lý kho hàng: Bạn muốn thiết lập số lượng hàng trong kho thì đánh dấu vào
o Tình trạng kho hàng: Tình trạng của sản phẩm này là còn hàng hay hết hàng Nếu bạn bật tính năng kiểm kê kho hàng thì khi khách mua hết số lượng đã thiết lập thì nó đưa về tình trạng hết hàng
• Giao nhận: Thiết lập trọng lượng, kích thước của sản phẩm và loại hình giao hàng
Trang 20o Trọng lượng: Nhập số trọng lượng của sản phẩm, đơn vị sẽ được thiết lập ở Drupal Commerce -> Cài đặt
o Kích thước: Nhập chiều dài, chiều rộng và chiều cao của sản phẩm, đơn vị sẽ được thiết lập
ở Drupal Commerce -> Cài đặt
o Loại hình giao nhận hàng: Chọn loại hình giao nhận hàng, cái này mình sẽ nói kỹ hơn ở bài khác
• Các sản phẩm được kết nối: Kết nối các sản phẩm lại với nhau để người mua có thể dễ dàng tìm ra các sản đó và gợi ý khách hàng mua kèm thêm
o Bán thêm: Gợi ý khách hàng mua sản phẩm thay cho sản phẩm hiện tại mà họ đang xem
Ví dụ sau này bạn có một sản phẩm tốt hơn sản phẩm này thì có thể thêm nó vào phần này
• Các thuộc tính: Thiết lập thuộc tính sản phẩm như màu sắc, kích thước,…nhưng mình sẽ nói
kỹ hơn ở phần khác
• Nâng cao: Một số thiết lập thêm cho sản phẩm
o Ghi chú thanh toán: Ghi chú mà bạn muốn gửi đến khách hàng sau khi mua hàng
o Menu đơn hàng: Số thứ tự ưu tiên của sản phẩm trong giỏ hàng, số càng nhỏ thì càng ưu tiên
o Cho phép đánh giá: Đánh dấu nếu muốn cho khách hàng đánh giá sản phẩm
Trang 21CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 2.1 Phân tích và thiết kế hướng đối tượng:
2.1.1 Phân tích và thiết kế hướng đối tượng(OOAD) là gì?
Phân tích thiết kế hướng đối tượng(OOAD) là giai đọan phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và khái niệm đời thực,
dễ hiểu đối với người sử dụng
Phân tích thiết kế hướng đối tượng dựa trên nguyên tắc chung, đó là một tập hợp các hướng dẫn giúp chúng ta tránh khỏi thiết kế xấu Năm nguyên tắc trong thiết kế hướng đối tượng:
• Một lớp chỉ nên có một lý do để thay đổi, tức một lớp chỉ nên xử lý một chức năng đơn lẻ, duy nhất Nếu đặt nhiều chức năng vào một lớp sẽ dẫn đến sự phụ thuộc giữa các chức năng với nhau và mặc dù sau đó thay đổi một chức năng cũng phá vỡ các chức năng còn lại
• Các lớp, module, chức năng nên dễ dàng Mở(Open) cho việc thêm chức năng mới, và Đóng(Close) cho việc thay đổi
• Lớp dẫn xuất phải có khả năng thay thế được lớp cha
• Chương trình không nên buộc phải cài đặt một Interface mà nó không sử dụng đến
• Các module cấp cao không nên phụ thuộc vào các module cấp thấp Cả hai nên phụ thuộc thông qua lớp trừu tượng Lớp trừu tượng không nên phụ thuộc vào chi tiết Chi tiết nên phụ thuộc vào trừu tượng
2.1.2 UML là gì?
UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống Nói một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như dùng để thực thi hệ thống,…
Trang 22UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các phần tử mô hình(model elements) Tập hợp các phần tử mô hình tạo thành các sơ đồ UML (UML diagrams) Có các loại sơ đồ UMl chủ yếu:
• Sơ đồ lớp (Class Diagram)
• Sơ đồ đối tượng (Object Diagram)
• Sơ đồ tình huống sử dụng (Use Case Diagram)
• Sơ đồ trình tự (Sequence Diagram)
• Sơ đồ cộng tác (Composite Structure Diagram)
• Sơ đồ trạng thái (State machine Diagram)
• Sơ đồ thành phần (Component Diagram)
• Sơ đồ hoạt động (Activity Diagram)
• Sơ đồ triển khai (Deployment Diagram)
• Sơ đồ gói (Package Diagram)
• Sơ đồ tương tác (Interaction Overview Diagram)
Trang 232.2 Biểu đồ UseCase:
2.2.1.Biểu đồ Use-case tổng quát
Hình 2 1 Biểu đồ use case tổng quát
Trang 242.2.2 UC cho khách hàng
Hình 2 2 UC cho khách hàng
Trang 252.2.3 UC cho người bán hàng
Trang 262.2.4 Use Case: Đăng nhập
Tên UC Đăng nhập
Tác nhân Khách hàng, người quản lý
Mô tả UC cho phép khách hàng đăng nhập vào hệ thống
Tiền điều kiện Thành viên chưa đăng nhập vào hệ thống
Luồng sự kiên
chính
1 Thành viên chọn chức năng đăng nhập
2 Form đăng nhập hiển thị
3 Nhập tên, mật khẩu vào form đăng nhập
4 Nếu thành viên nhập sai mật khẩu hoặc tài khoản thì chuyển sang luồng A1
5 Đăng nhập thành công sẽ thực hiện một phiên của khách hàng
6 UC kết thúc Luồng sự kiện
rẽ nhánh
Luồng sự kiện A1 : Thành viên đăng nhập không thành công
Hệ thống thông báo quá trình đăng nhập không thành công
Hệ thống yêu cầu khách thành viên nhập lại tài khoản, mật khẩu Hậu điều kiện Khách thành viên đăng nhập thành công và có thể sử dụng những tính năng
mà hệ thống cung cấp
Hình 2 4 Use Case: Đăng nhập
Trang 272.2.5 Use Case: Đăng ký
Hình 2 5 Use Case: Đăng ký Tên UC Đăng ký
Tác nhân Khách xem
Mô tả Cho phép khách xem đăng ký thành viên của hệ thống
Tiền điều kiện
Luồng sự kiên
chính
1 Khách xem chọn mục đăng ký thành viên
2 Form đăng ký thành viên hiển thị
3 Khách xem nhập thông tin cần thiết vào form
Luồng A1 : Quá trình nhập thông tin không chính xác
1 Hệ thống báo thông tin nhập không chính xác
2 Hệ thống yêu cầu khách nhập lại thông tin
Trang 283 Nếu khách hàng đồng ý thì quay về bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc
Hậu điều kiện Khách hàng trở thành thành viên của hệ thống
Bảng 2 2 Use Case: Đăng ký 2.2.6 Use Case: Tìm kiếm
Trang 29Tên UC Tìm kiếm
Tác nhân Khách hàng
Mô tả Cho phép tìm kiếm các sản phẩm
Tiền điều kiện
Luồng sự kiên
chính
1 Người sử dụng kích vào mục tìm kiếm sản phẩm
2 Hệ thống hiển thị form tìm kiếm
3 Người sử dụng nhập thông tin cần thiết vào form tìm kiếm
4 Nhấn nút tìm kiếm
5 Hệ thống báo kết quả tìm kiếm
6 Kết thúc UC Luồng sự kiện rẽ
nhánh
Trang 30Bảng 2 3 Use Case: Tìm kiếm
2.2.7 Use case quản lí thông tin cá nhân
Tên UC Xem thông tin cá nhân
Trang 31Luồng sự
kiên chính
1 Thành viên chọn mục Xem thông tin cá nhân
2 Form xem thông tin thành viên xuất hiện, hệ thống hiển thị thông tin cá nhân của thành viên
3 Hệ thống cung cấp liên kết để thành viên có thể sửa đổi thông tin cá nhân
Bảng 2 4 Xem thông tin cá nhân
Tên UC Sửa thông tin cá nhân
1 Thành viên chọn chức năng sửa thông tin
2 Hệ thống hiển thị các thông tin hiện tại của thành viên
3 Thành viên nhập các thông tin mới
4 Nhấn nút lưa thông tin
Trang 325 Nếu cập nhật thành công thì thực hiện bước 6 Nếu sai thì thức hiện luồng rẽ nhánh A1
6 Lưu thông tin Luồng sự
kiện rẽ
nhánh
Luồng A1 : Thông tin nhập không hợp lệ
1 Hệ thống thông báo việc nhập không hợp lệ
2 Thành viên nhập lại thông tin
3 Quay lại bước 4 của luồng sự kiên chính
Hậu điều
kiện
Thông tin thành viên được lưu vào hệ thống
Bảng 2 5 Sửa thông tin cá nhân
Trang 332.2.8 Use case quản lí giỏ hàng
Tên UC Thêm sản phẩm vào giỏ
Tác nhân Khách hàng
Mô tả UC cho phép khách hàng thêm sản phẩm vào giỏ hàng của mình
Tiền điều kiện Sản phẩm đã được chọn
3 Sản phẩm được thêm vào giỏ