Tác nhân và use case trong hệ thống Tác nhân - Khách hàng: là người có nhu cầu mua hàng - Người quản trị Admin: là người điều hành, trực tiếp quản lý hệ thống Use case - Quản lý khác
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN PHẦN MỀM MÃ NGUỒN MỞ
ĐỀ TÀI:
XÂY DỰNG TRANG WEB BÁN MÁY TÍNH
BẰNG WORDPRESS
Sinh viên thực hiện : NGUYỄN TIẾN ĐẠT
Giảng viên hướng dẫn : NGUYỄN ĐỨC TOÀN
Hà Nội, năm 2021
Trang 2Giảng viên chấm thi:
Giảng viên chấm 1:
Giảng viên chấm 2:
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 2
CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ ĐỀ TÀI VÀ TỔNG QUÁT VỀ MÃ NGUỒN MỞ.3 1.1 Mục tiêu 3
1.2 Tổng quan về phần mềm mã nguồn mở 3
1.2.1 Phần mềm mã nguồn mở là gì? 3
1.2.2 Ưu nhược điểm mã nguồn mở 4
1.2.3 Các loại mã nguồn mở thường được sử dụng trong thiết kế website 7
1.2.4 Cấu trúc cơ bản của một trang WordPress 10
1.2.5 Những lý do nên chọn Wordpress thiết kế website 11
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE BÁN HÀNG 13
2.1 Tác nhân và use case trong hệ thống 13
2.2 Biểu đồ use case 14
2.2.1 Biểu đồ use case tổng quát 14
2.2.2 Biểu đồ use case mức phân rã cho tác nhân Admin và khách hàng 15
2.3 Kịch bản cho từng use case 15
2.4 Biểu đồ lớp phân tích 27
2.5 Biểu đồ trình tự 27
2.5.1 Biểu đồ trình tự cho chức năng : Đăng nhập 27
2.5.2 Biểu đồ trình tự cho chức năng :Tìm kiếm 28
2.5.3 Biểu đồ tuần tự cho chức năng thêm sản phẩm 29
2.5.4 Biểu đồ tuần tự cho chức năng sửa thông tin sản phẩm 30
2.5.5 Biểu đồ tuần tự cho chức năng xóa sản phẩm 30
2.5.6 Biểu đồ tuần tự cho chức năng mua hàng 31
2.5.7 Biểu đồ tuần tự cho chức năng thanh toán 32
2.5.8 Biểu đồ tuần tự cho chức năng bình luận, đánh giá 33
2.6 Biểu đồ hoạt động 34
2.6.1 Biểu đồ hoạt động cho chức năng đăng nhập 34
2.6.2 Biểu đồ hoạt động cho chức năng quản lý khách hàng 34
2.6.3 Biểu đồ hoạt động cho chức năng quản lý sản phẩm 35
2.6.4 Biểu đồ hoạt động cho chức năng mua hàng 36
2.6.5 Biểu đồ hoạt động cho chức năng thanh toán 36
2.6.6 Biểu đồ hoạt động cho chức năng bình luận đánh giá 37
Trang 4CHƯƠNG 3: CƠ SỞ DỮ LIỆU VÀ WEBSITE 38
3.1 Cơ sở dữ liệu 38
3.2 Demo Sản Phẩm 39
CHƯƠNG 4: HƯỚNG DẪN CÀI ĐẶT 45
4.1 Cài đặt phần mềm hỗ trợ Server ảo (Xampp/Lampp) 45
4.2 Cài đặt Wordpress 46
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 59
Trang 5DANH MỤC HÌNH ẢNH
Hình 2.1.Biểu đồ use case tổng quát 14
Hình 2.2.Biểu đồ use case mức phân rã cho tác nhân Admin và khách hàng 15
Hình 2.3 Biểu đồ lớp phân tích 27
Hình 2.4.Biểu đồ trình tự cho chức năng : Đăng nhập 27
Hình 2.5.Biểu đồ trình tự cho chức năng :Tìm kiếm 28
Hình 2.6 Biểu đồ tuần tự cho chức năng thêm sản phẩm 29
Hình 2.7 Biểu đồ tuần tự cho chức năng sửa thông tin sản phẩm 30
Hình 2.8 Biểu đồ tuần tự cho chức năng xóa sản phẩm 30
Hình 2.9 Biểu đồ tuần tự cho chức năng mua hàng 31
Hình 2.10 Biểu đồ tuần tự cho chức năng thanh toán 32
Hình 2.11 Biểu đồ tuần tự cho chức năng bình luận, đánh giá 33
Hình 2.12.Biểu đồ hoạt động cho chức năng đăng nhập 34
Hình 2.13 Biểu đồ hoạt động cho chức năng quản lý khách hàng 35
Hình 2.14 Biểu đồ hoạt động cho chức năng quản lý sản phẩm 35
Hình 2.15 Biểu đồ hoạt động cho chức năng mua hàng 36
Hình 2.16 Biểu đồ hoạt động cho chức năng thanh toán 36
Hình 2.17 Biểu đồ hoạt động cho chức năng bình luận đánh giá 37
Hình 3 1.Cơ sở dữ liệu 39
Hình 3 2.Trang Chủ 39
Hình 3 3.Trang Khuyến Mãi 40
Hình 3 4.Trang Liên Hệ 40
Hình 3 5.Trang Tác Giả 41
Hình 3 6.Trang Cửa Hàng 41
Hình 3 7.Trang Laptop 42
Hình 3 8.Trang Màn Hình 42
Hình 3 9.Trang PC 43
Hình 3 10.Trang tìm kiếm với từ khóa "MSI" 43
Hình 3 11.Trang phản hồi và bình luận về một bài viết 44
Hình 3 12.Trang thanh toán 44
Trang 6LỜI CẢM ƠN
Trong thời gian làm báo cáo môn học, em đã nhận được nhiều sự giúp đỡ,đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè Em xin gửilời cảm ơn chân thành đến giảng viên Nguyễn Đức Toàn, giảng viên môn Phầnmềm mã nguồn mở - Trường Đại học Điện Lực người đã tận tình hướng dẫn, chỉbảo em trong suốt quá trình học tập, nghiên cứu Em cũng xin chân thành cảm ơncác thầy cô giáo trong trường Đại học Điện Lực nói chung, các thầy cô trong khoacông nghệ thông tin nói riêng đã dạy dỗ cho em kiến thức về các môn đại cươngcũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng vàtạo điều kiện giúp đỡ em trong suốt quá trình học tập Cuối cùng, em xin chânthành cảm ơn!
Hà Nội, Năm 2021
Sinh viên thực hiện
Nguyễn Tiến Đạt
Trang 7LỜI MỞ ĐẦU
Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay, Internet ngàycàng giữ vai trò quan trọng trong các lĩnh vực khoa học kĩ thuật và đời sống, nóimột cách đơn giản, Internet là một tập hợp máy tính kết nối với nhau, là một mạngmáy tính toàn cầu mà bát kì ai cũng có thể kết nối bằng máy PC của họ
Trong thời đại mà sức mạnh của internet bùng nổ thì việc tra cứu thông tin,đọc báo, tìm kiếm tài liệu trên mạng không còn là điều gì đó quá xa lạ Thông quainternet mọi người có thể tra cứu thông tin, tìm tài liệu hay đơn giản là đọc báotrong nước và quốc tế một cách nhanh chóng và hiệu quả nhất
Với công nghệ Word Wide Web, hay còn gọi là Website sẽ giúp bạn đưanhững thông tin mong muốn của mình lên mạng Internet cho mọi người dung xemmột cách dễ dàng với các công cụ và những ngôn ngữ lập trình khác nhau Sự rađời của Open Source cho phép chúng ta xây dựng các trang Web đáp ứng được cácyêu cầu người sử dụng một cách nhanh chóng WordPress là một phần mềm nguồn
mở ( Open Source Software) được viết bằng ngôn ngữ lập trình websitePHP(Hypertext Preprocessor) và sử dụng hệ quản trị cơ sở dữ liệu MySQL, chophép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet
Với lí do đó, được sự hướng dẫn và giúp đỡ của thầy Nguyễn Đức Toàn, em
đã chọn đề tài: “Xây dựng trang web bán máy tính bằng Wordpress” làm đề tài
cho bài tập lớn của mình
Tuy nhiên, do mới làm quen với Wordpress, mặc dù đã cố gắng tìm hiểu sửdụng thành thạo nhưng chắc rằng khó tránh khỏi thiếu sót Em rất mong nhạn được
sự thông cảm ,những lời góp ý và chỉ bảo tận tình của quý Thầy/Cô và các bạn
Em xin chân thành cảm ơn!
Trang 8CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ ĐỀ TÀI VÀ TỔNG
QUÁT VỀ MÃ NGUỒN MỞ1.1 Mục tiêu
- Tìm hiểu phần mềm mã nguồn mở và cài đặt thành công
- Làm chủ được phần mềm nguồn mở
- Được trải nghiệm và rút kinh nghiệm qua dự án thực tế
- Xây dựng các tài liệu cho dự án một cách tường minh và đầy đủ
- Kiểm soát được các vấn đề xảy ra
- Hoàn thiện sản phẩm, kết thúc bài tập lớn thành công
1.2 Tổng quan về phần mềm mã nguồn mở
1.2.1 Khái niệm về mã nguồn mở
Mã nguồn mở là những phần mềm được cung cấp dưới cả dạng mã vànguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bảnquyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một
số nguyên tắc chung qui định trong giấy phép PMNM (ví dụ General PublicLicence – GPL) mà không cần xin phép ai, điều mà họ không được phép làmđối với các phần mềm nguồn đóng (tức là phần mềm thương mại) Nhìnchung, thuật ngữ “Open source” được dùng để lôi cuốn các nhà kinh doanh,một điều thuận lợi chính là sự miễn phí và cho phép người dùng có quyền
“sở hữu hệ thống”
Trang 9Nhà cung cấp mã nguồn mở có quyền yêu cầu người dùng trả một số chiphí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv… tức là nhữngdịch vụ thực sự đã thực hiện để phục vụ người dùng, nhưng không được báncác sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sảnriêng của một nhà cung cấp nào.
Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chươngtrình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình,chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phốilại các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và pháthành những bản cải tiến vì mục đích công cộng
1.2.2 Ưu nhược điểm mã nguồn mở
Ưu điểm của mã nguồn mở
Những phầm mềm mã nguồn mở mang lại nhiều lợi ích cho người sử dụng
và nhiều trong số chúng lại khiến chúng ta sử dụng mã nguồn mở thường xuyênhơn
Miễn phí và sẽ luôn như vậy: Các phần mềm mã nguồn mở là miễn phí hay
có chăng chỉ là những quyên góp nhỏ ủng hộ cho tổ chức (cá nhân) đứng ra pháthành các bản phần mềm đó trên tinh thần tự nguyện Chắc chắn đây là một yếu tốquan trọng giúp người dùng đến gần hơn với phần mềm nguồn mở
Dễ dàng chia sẻ: Phần mềm nguồn mở cho phép chúng ta chia sẻ với
Trang 10bạn bè, người thân hay bất kỳ ai mà không sợ vi phạm bản quyền.
Bảo mật: Với sự tham gia của cả cộng đồng thì việc tìm ra lỗ hổng bảomật dễ dàng hơn bao giờ hết, đó cũng là lý do mà các phần mềm nguồn mởthường sẽ có bản cập nhật nhanh chóng và kịp thời hơn so với phần mềm bảnquyền
Tính năng phù hợp: Các phần mềm mã nguồn mở thường sẽ có các tínhnăng rất phù hợp với nhu cầu của người dùng vì chính họ đang đóng góp mộtphần vào việc phát triển phần mềm, đó cũng là lý do mà các phần mềm mãnguồn mở thường rất nhẹ nhàng
Đối với cá nhân thì lợi ích của phần mềm nguồn mở là không có gì đểbàn cãi, vậy còn đối với các tổ chức, doanh nghiệp thì sao? Họ được lợi gì khi
sử dụng phần mềm mã nguồn mở?
Chi phí: Những phần mềm mã nguồn mở thường miễn phí hoặc chi phírất thấp Những phần mềm này thường được các doanh nghiệp săn đón hơn cácphần mềm bản quyền khi mà họ sẽ cắt giảm bớt chi phí bản quyền, phí nângcấp, phí phát triển phần mềm Đồng thời các phần mềm mã nguồn mở thường
sẽ tận dụng được tối đa phần cứng (phần mềm mới nhất vẫn có thể chạy tốttrên các đời máy tính cũ), giúp cho các doanh nghiệp có thể tiết kiệm tối đa chiphí Chi phí mà họ bỏ ra chỉ để phát triển phần mềm cho phù hợp với từng giaiđoạn phát triển mà thôi
Tính tùy biến: Việc phải chờ đợi vào một số nhà phát triển phần mềm cóthể gây thiệt hại cho doanh nghiệp, thay vào đó, nếu sử dụng phần mềm nguồn
Trang 11mở, họ có thể tự phát triển dựa trên mã nguồn có sẵn để phù hợp hơn với tìnhhình doanh nghiệp của họ.
Bản quyền: Với việc sử dụng phần mềm nguồn mở, tổ chức, doanhnghiệp sẽ tránh được việc vi phạm bản quyền hoặc tranh chấp về bản quyềnphần mềm
An toàn, bảo mật: Việc nhiều người cùng phát triển giúp dễ dàng kiểmsoát các lỗ hổng bảo mật, điều này thực sự quan trọng với các doanh nghiệp,giúp họ tránh được những rủi ro nhất định
Tăng tính thương hiệu: Đối với các doanh nghiệp, việc có thể tự hàotuyên bố chuyển đổi công nghệ thành công và hoàn toàn không vi phạm bảnquyền là một điểm cộng trong mắt đối tác của họ
Nhược điểm của mã nguồn mở
Nói đi cũng phải nói lại, đúng với câu “Trên đời không có gì là hoànhảo”, phần mềm mã nguồn mở cũng vậy, dù có rất nhiều ưu điểm những bêncạnh đó vẫn còn tồn tại những nhược điểm
Ít có bản cập nhật tính năng mới: Thông thường, những bản cập nhật củaphần mềm mã nguồn mở chỉ là những bản vá bảo mật và những sửa đổi nhonhỏ, ít khi tung ra những tính năng mới vì ban đầu nó đã được tạo ra để đáp
Trang 12ứng các nhu cầu nhất định và không phải ai cũng có đủ nhiệt huyết để duy trì
hỗ trợ một dự án suốt đời
Phân nhánh: Vì là những dự án mã nguồn mở làm cho cộng đồng, mà
“chín người mười ý”, nên để thỏa mãn nhu cầu của những nhóm người nhấtđịnh, các dự án sẽ dần tách thành các nhánh phát triển khác nhau, đó cũng lànguyên nhân làm cho người dùng ái ngại khi phải sử dụng phần mềm mãnguồn mở vì có quá nhiều sự lựa chọn!
Thiếu nhân lực, kinh phí duy trì: Vì là phần mềm miễn phí, ai cũng cóthể sử dụng nên chẳng mấy ai đóng góp, ủng hộ để những nhà phát triển tiếptục duy trì cập nhật những dự án mã nguồn mở nữa Nhiều dự án lớn muốn tồntại và phát triển phải được duy trì bởi quỹ của một công ty hay tổ chức nào đó.Với những dự án phát triển nhỏ lẻ thì chẳng khác nào những nhà phát triểnphần mềm đang đi làm từ thiện vì đam mê cả!
1.2.3 Các loại mã nguồn mở thường được sử dụng trong thiết kế website
Hiện nay một số loại mã nguồn mở thường xuyên được sử dụng trongthiết kế website như:
- NukeViet
Mã nguồn mở Nukeviet là sản phẩm “made in Việt Nam” có khả năngtích hợp nhiều ứng dụng trên nền Web NukeViet được viết bằng ngôn ngữPHP và chủ yếu sử dụng cơ sở dữ liệu MySQL,cho phép người sử dụng có thể
dễ dàng xuất bản và quản trị các nội dung của họ lên Internet hoặc Intranet
Trang 13NukeViet được sử dụng ở nhiều website, từ những website cá nhân chotới những hệ thống website doanh nghiệp, nó cung cấp nhiều dịch vụ và ứngdụng nhờ khả năng tăng cường tính năng bằng cách cài thêm các module,block NukeViet có thể dễ dàng cài đặt, dễ dàng quản lý kể cả với nhữngngười mới sử dụng.
Hiện nay ở Việt Nam, TDFOSS là một trong những đơn vị nổi bật nhất
trong việc ứng dụng mã nguồn mở NukeViet vào thiết kế website, đem đếnnhững website có giao diện đẹp cùng tính năng phong phú Hiện đã có rấtnhiều khách hàng cá nhân và doanh nghiệp tại Việt Nam tin dùng sản phẩmcủa TDFOSS
- WordPress
Một trong những mã nguồn mở được nhiều người lựa chọn sử dụng hiệnnay chính là WordPress Với nền tảng mã nguồn mở này sẽ giúp thiết kếwebsite nhanh chóng, giao diện quản trị dễ dùng phù hợp với mọi đối tượngkhách hàng Ngoài ra hệ thống còn hỗ trợ tối ưu hóa SEO hiệu quả
- Joomla
Đây là mã nguồn mở xuất hiện đầu tiên trên internet vào năm 2005 và đếnnay vẫn đang được sử dụng, đặc biệt là trong các website thương mại điện tử.Các lập trình viên có thể thêm các module để tùy chỉnh website bán hàng.Joomla còn được viết bằng PHP và có thể được sử dụng trong môi trường PHP
& Mysql
- Megento
Trang 14Đây là mã nguồn mở xuất hiện đầu tiên trên internet vào năm 2005 và đếnnay vẫn đang được sử dụng, đặc biệt là trong các website thương mại điện tử.Các lập trình viên có thể thêm các module để tùy chỉnh website bán hàng.Joomla còn được viết bằng PHP và có thể được sử dụng trong môi trường PHP
& Mysql
- OpenCart
Thiết kế gần gũi và phù hợp với với phong cách thương mại điện tử củaViệt Nam chính là ưu điểm của mã nguồn mở OpenCart OpenCart sử dụngngôn ngữ PHP nhằm cung cấp cho người dùng các giải pháp thương mại điện
tử mạnh mẽ với khả năng mua bán trực tuyến
- CMS Made Simple
Made Simple ra đời vào năm 2009 và cung cấp cho người dùng mộtphương pháp phát triển và tùy chỉnh website theo cách thật đơn giản mà khôngcần phải đối diện với những dòng lệnh phức tạp.
kế uy tín, chất lượng để có được một website hoạt động hiệu quả, được tối ưuhóa
Trang 15- Mã nguồn mở wordpress
Wordpress là một mã nguồn mở bằng ngôn ngữ PHP để hỗ trợ tạo blog cánhân, và nó được rất nhiều người sử dụng ủng hộ về tính dễ sử dụng, nhiều tínhnăng hữu ích Qua thời gian, số lượng người sử dụng càng ngày càng tăng lên,những lập trình viên cũng tham gia đông đảo để phát triển mã nguồn WordPress
để xây dựng, phát triển thêm những tính năng tốt Và cho đến thời điểm viết bàinày là 2016, WP đã được xem như là một hệ quản trị nội dung (CMS – ContentManagement System) vượt trội để hỗ trợ người dùng tạo ra nhiều thể loạiwebsite khác nhau như blog cá nhân, website tin tức/tạp chí, web quảng bádoanh nghiệp, web bán hàng – thương mại điện tử, thậm chí với các loại website
có độ phức tạp cao như đặt phòng khách sạn, thuê xe, đăng dự án bất động sản,
… Hầu như mọi hình thức website với quy mô nhỏ và vừa đều có thể triển khaitrên nền tảng WordPress.
Tuy nhiên, như thế không đồng nghĩa với việc WordPress chỉ thích hợpvới các dự án quy mô nhỏ mà vừa, hiện nay, có tới khoảng 28% website trongdanh sách 100 website lớp nhất thế giới chọn sử dụng mã nguồn wordpressnày Như tạp chí TechCrunch, MTV News, Bata, Quartz, CNN, BBC America,Sony Music, … và rất nhiều website khác
1.2.4 Cấu trúc cơ bản của một trang WordPress
Bộ quản trị WP gồm các phần sau:
Dashboard: Tổng quan về quản trị wordpress, bao gồm thông tin tóm tắt
Trang 16về website wordpress, viết blog nhanh, một số bình luận mới nhất, bài từwordpress.org blog, plugin mới và phổ biến nhất, và link đến website của bạn.Updates: Hiển thị tất cả các theme và plugin có bản mới.
- Posts:Quản lý bài viết, tag và danh mục (category)
- All posts: Quản lý tất cả các bài viết
- Add new: Đăng bài viết mới
- Categories: Quản lý tất cả các danh mục
- Tags:Quản lý tất cả các Post Tag
- Appearance: Quản lý giao diện
- Plugins: Quản lý các thành phần mở rộng
- Settings: Thiết lập các tùy chọn
1.2.5 Những lý do nên chọn Wordpress thiết kế website
Templates rẻ
WordPress có rất nhiều templates và themes (giao diện) giá rẻ, dễ tích hợp và cóthể giúp bạn tiết kiệm khá nhiều tiền nếu bạn thuê người làm Chỉ với dưới 20$,bạn đã có thể sở hữu những templates và themes giá rẻ nhưng lại cực kỳ đẹp trênThemeForest rồi đó
Vì vậy, nếu bạn là người mới không có kinh nhiệm về thiết kế website, bạn có thểmua themes với giá 30$, thay đổi một số nội dung và bạn đã có một trang web sẵnsàng hoạt động mà không cần code hoặc có kiến thức gì về web cả
Thân thiện với người mới
Một trong những ưu điểm lớn nhất của WordPress là hầu như bất kỳ ai cũng có thểhọc cách sử dụng chỉ bằng việc xem một vài video trên YouTube, và có thể mất vàitháng để học viết code
Trang 17WordPress có giao diện người dùng thân thiện, cho phép bạn nhanh chóng thay đổinội dung, cài đặt hoặc cập nhật plugin, thêm hình ảnh hoặc bất cứ thứ gì bạn muốn,giúp giảm thời gian cần thiết để tạo ra một trang web Vì vậy, nếu bạn là một nhàlập trình web giỏi, nhưng bạn cần xây dựng một số trang web cơ bản, như blog, thìviệc sử dụng WordPress có thể nhanh hơn nhiều khi tự code.
Plugin
Plugin là thứ đôi khi có thể rất tốt và cũng rất tệ Nó tốt vì tất cả các tính năng màbạn có thể nhận được, nhưng nó cũng rất tệ vì chúng cần được cập nhật thườngxuyên, điều này có thể rất khó chịu nếu bạn cài đặt khoảng 20 plugin
Plugin có thể được sử dụng để thêm những thứ như biểu mẫu đăng nhập, biểu mẫuđăng ký, công cụ phân tích và một số công cụ SEO có thể cải thiện đáng kể thứhạng của trang web trên Google Mặt khác, nếu bạn tạo trang web bằng code, bạn
sẽ không nhận được các tính năng như thế này, cũng có mặt lợi và mặt hại của nóthôi
Nhưng Wordpress cũng có những nhược điểm đáng nói
Chủ yếu dành cho các blogger
WordPress là phần mềm ban đầu được xây dựng để tạo ra các blog và đó lànhững gì nó làm tốt nhất Các loại trang web khác, năng động hơn như một sốtrang web được sử dụng để cung cấp một số dịch vụ phần mềm, các trang web lưutrữ, chỉnh sửa ảnh,….Nếu bạn muốn tạo các trang web như vậy, bạn không nêndùng WordPress Tốt hơn là tự viết code hoặc thuê ai đó làm cho bạn
Mặt khác, nếu bạn muốn xây dựng các trang web tĩnh, như blog hoặc một số trangweb cho công ty chỉ giới thiệu các dịch vụ của họ, như web của nhà hàng Đối vớinhững loại web đó, dùng WordPress sẽ tốt hơn Những người thuê bạn viết web sẽ
Trang 18không quan tâm bạn đã tạo ra trang web đó như thế nào, cái họ quan tâm là trangweb của họ có hoạt động tốt không.
Themes
Ở phần trên, mình đã nói rằng các themes của WordPress rất rẻ và đó là một điểmcộng, nhưng những themes này rất giống nhau và hầu hết mọi người muốn trangweb của họ trông phải khác biệt và phải thật độc đáo, điều đó có nghĩa là bạn sẽcần phải sửa đổi themes hoặc họ sẽ tìm ai đó khác để làm việc này
Trang 19CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
WEBSITE BÁN HÀNG
2.1 Tác nhân và use case trong hệ thống
Tác nhân
- Khách hàng: là người có nhu cầu mua hàng
- Người quản trị (Admin): là người điều hành, trực tiếp quản lý hệ
thống
Use case
- Quản lý khách hàng (thêm, sửa, xóa khách hàng)
- Quản lý sản phẩm (thêm, sửa, xóa sản phẩm)
- Đăng nhập, đăng kí thành viên
- Tìm kiếm sản phẩm
- Mua hàng, thanh toán
- Bình luận, đánh giá
Trang 202.2 Biểu đồ use case
2.2.1 Biểu đồ use case tổng quát
Hình 2.1.Biểu đồ use case tổng quát
Trang 212.2.2 Biểu đồ use case mức phân rã cho tác nhân Admin và khách hàng
Hình 2.2.Biểu đồ use case mức phân rã cho tác nhân Admin và khách hàng
2.3 Kịch bản cho từng use case
a) Kịch bản cho use case: Đăng ký thành viên
Tên use case Đăng ký thành viên
Tác nhân chính khách hàng
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đăng ký và quay lại bước trước
Đảm bảo thành công Khách hàng đăng ký thành thành viên và hệ thống thông báo
đăng ký thành công Kích hoạt Tác nhân chọn chức năng đăng ký trong menu
Chuỗi sự kiện chính:
1 Khách hàng chọn chức năng đăng ký
2 Hệ thống hiển thị form đăng ký và yêu cầu khách hàng điền thông tin
3 Khách hàng nhập thông tin theo form sau đó nhấn đăng ký
4 Hệ thống kiểm tra thông tin vừa nhập và xác nhận tính hợp lệ
5 Hệ thống thông báo đăng ký thành công
6 Khách hàng thoát khỏi chức năng đăng ký
Ngoại lệ:
4.a Hệ thống thông báo nhập sai thông tin đăng ký
Trang 224.a.1 Hệ thống yêu cầu nhập lại thông tin
4.a.2 Khách hàng nhập lại thông tin
4.a.3 Hệ thống thông báo đăng ký thành công
4.b Hệ thống thông báo chưa nhập thông tin
4.b.1 Hệ thống yêu cầu khách hàng nhập thông tin
4.b.2 Khách hàng nhập thông tin
b) Kịch bản cho use case: Đăng nhập
c) Kịch bản cho use case:Thêm sản phẩm
Tên use case Thêm sản phẩm
Tên use case Đăng nhập
Tác nhân chính khách hàng, admin
Tiền điều kiện Mỗi tác nhân được cấp một password và username riêng
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đăng nhập và quay lại bướctrước Đảm bảo thành công Tác nhân đăng nhập được vào hệ thống và hệ thống thông báo
đăng nhập thành công Kích hoạt Tác nhân chọn chức năng đăng nhập trong menu
Chuỗi sự kiện chính:
1 Tác nhân chọn chức năng đăng nhập
2 Hệ thống hiển thị form đăng nhập và yêu cầu tác nhân điền username và password
3 Tác nhân nhập username và password sau đó nhấn đăng nhập
4 Hệ thống kiểm tra thông tin vừa nhập và xác nhận tính hợp lệ
5 Hệ thống thông báo đăng nhập thành công
6 Tác nhân thoát khỏi chức năng đăng nhập
Ngoại lệ:
4.a Hệ thống thông báo nhập sai username và password
4.a.1 Hệ thống yêu cầu nhập lại username và password
4.a.2 Tác nhân nhập lại username và password
4.a.3 Hệ thống thông báo đăng nhập thành công
4.b Hệ thống thông báo chưa nhập username và password
4.b.1 Hệ thống yêu cầu tác nhân nhập lại username và password
4.b.2 Tác nhân nhập username và password
Trang 23Tác nhân chính Admin
Tiền điều kiện Admin đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đã thêm và quay lại bước trước Đảm bảo thành côngThông tin về sản phẩm mới thêm được bổ sung trong csdl
Kích hoạt Admin chọn chức năng thêm sản phẩm trong menu
Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu thêm sản phẩm
2 Hệ thống hiển thị form thêm sản phẩm và yêu cầu Admin điền thông tin hàng
3 Admin nhập thông tin sản phẩm mới sau đó nhấn thêm
4 Hệ thống kiểm tra thông tin sản phẩm mới và xác nhận tính hợp lệ
5 Nhân viên nhập thông tin sản phẩm mới vào csdl
6 Hệ thống thông báo thêm sản phẩm thành công
7 Admin thoát khỏi chức năng thêm sản phẩm
Ngoại lệ:
4.a.Hệ thống thông báo sản phẩm đã có trong csdl
4.a.1 Hệ thống hỏi Admin có thêm số lượng sản phẩm mới không
4.a.2 Admin thêm số lượng sản phẩm
4.a.3 Hệ thống thêm số lượng sản phẩm đã có
4.a.4 Hệ thống thông báo thêm thành công
4.b.Hệ thống thông báo thông tin sản phẩm không hợp lệ
4.b.1 Hệ thống yêu cầu nhập lại thông tin sản phẩm
4.b.2 Nhân viên nhập lại thông tin sản phẩm
4.c.Hệ thống thông báo bộ nhớ đầy và yêu cầu Admin xử lý
d) Kịch bản cho use case:Sửa thông tin sản phẩm
Tên use case Sửa thông tin sản phẩm
Tác nhân chính Admin
Tiền điều kiện Admin đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đã sửa và quay lại bước trước
Đảm bảo thành côngThông tin về sản phẩm mới sửa được bổ sung trong csdl
Kích hoạt Admin chọn chức năng sửa sản phẩm trong menu
Trang 24Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu sửa sản phẩm
2 Hệ thống hiển thị form sửa sản phẩm và yêu cầu Admin tên sản phẩm cần sửa
3 Admin nhập tên sản phẩm cần sửa
4 Hệ thống kiểm tra tên sản phẩm muốn sửa và hiển thị thông tin sản phẩm
5 Admin sửa thông tin sản phẩm sau đó nhấn sửa
6 Hệ thống kiểm tra thông tin sản phẩm được sửa và xác nhận tính hợp lệ
7 Admin lưu thông tin sản phẩm mới sửa vào csdl
8 Hệ thống thông báo sửa sản phẩm thành công
9 Admin thoát khỏi chức năng sửa sản phẩm
Ngoại lệ:
4.a.Hệ thống thông báo không có tên sản phẩm mà Admin đã nhập
4.a.1 Hệ thống hỏi nhân viên tên sản phẩm khác hay không
4.a.2 Admin tên sản phẩm khác
4.a.3 Hệ thống hiển thị thông tin của sản phẩm
4.a.4 Hệ thống thông báo sửa thành công
6.a.Hệ thống thông báo thông tin sản phẩm được sửa không hợp lệ
6.a.1 Hệ thống yêu cầu nhập lại thông tin sản phẩm
6.a.2 Admin nhập lại thông tin sản phẩm
e) Kịch bản cho use case:Xóa sản phẩm
Tên use case Xóa sản phẩm
Tác nhân chính Admin
Tiền điều kiện Nhân viên đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ yêu cầu xóa và quay lại bước trước
Đảm bảo thành côngThông tin về hàng được xóa khỏi csdl
Kích hoạt Admin chọn chức năng xóa sản phẩm trong menu
Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu xóa sản phẩm
2 Hệ thống hiển thị form xóa sản phẩm và yêu cầu Admin nhập tên sản phẩm cần xóa
3 Nhân viên nhập tên sản phẩm muốn xóa và nhấn chấp nhận
4 Hệ thống kiểm tra tên sản phẩm muốn xóa và xác nhận tính hợp lệ
5 Hệ thống hỏi Admin chắc chắn muốn xóa hay không, hiển thị lựa chọn yes hoặc no
Trang 256 Admin chọn yes
7 Hệ thống thông báo xóa sản phẩm thành công
8 Admin thoát khỏi chức năng xóa sản phẩm
Ngoại lệ:
4.a.Hệ thống thông báo không có tên sản phẩm mà Admin đã nhập
4.a.1 Hệ thống hỏi Admin tên sản phẩm khác hay không
4.a.2 Admin tên sản phẩm khác
4.a.3 Hệ thống thông báo xóa thành công
4.b.Hệ thống thông báo tên sản phẩm muốn xóa không hợp lệ
4.b.1 Hệ thống yêu cầu nhập lại tên sản phẩm
4.b.2 Admin nhập lại tên sản phẩm
6.a.Admin chọn no
6.a.1 Hệ thống quay lại trang trước
g) Kịch bản cho use case:Thêm khách hàng
Tên use case Thêm khách hàng
Tác nhân chính Admin
Tiền điều kiện Admin đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đã thêm và quay lại bước trướcĐảm bảo thành côngThông tin về khách hàng mới được thêm bổ sung trong csdl
Kích hoạt Admin chọn chức năng thêm khách hàng trong menu
Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu thêm khách hàng
2 Hệ thống hiển thị form thêm khách hàng và yêu cầu Admin điền thông tin khách hàng
3 Admin nhập thông tin khách hàng mới sau đó nhấn thêm
4 Hệ thống kiểm tra thông tin khách hàng mới và xác nhận tính hợp lệ
5 Admin nhập thông tin khách hàng mới vào csdl
6 Hệ thống thông báo thêm khách hàng thành công
7 Admin thoát khỏi chức năng thêm khách hàng
Ngoại lệ:
4.a.Hệ thống thông báo khách hàng đã có trong csdl
4.a.1 Hệ thống hỏi nhân viên có thêm nữa không
4.a.2 Admin không thêm khách hàng nữa
4.a.3 Hệ thống thông báo thêm không thàng công
4.b.Hệ thống thông báo thông tin khách hàng không hợp lệ
Trang 264.b.1 Hệ thống yêu cầu nhập lại thông tin khách hàng
4.b.2 Admin nhập lại thông tin khách hàng
4.c.Hệ thống thông báo bộ nhớ đầy và yêu cầu nhân viên xử lý
h) Kịch bản cho use case:Sửa thông tin khách hàng
Tên use case Sửa thông tin khách hàng
Tác nhân chính Admin
Tiền điều kiện Admin đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ các thông tin đã sửa và quay lại bước trước
Đảm bảo thành côngThông tin về khách hàng mới sửa được bổ sung trong csdl
Kích hoạt Admin chọn chức năng sửa khách hàng trong menu
Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu sửa thông tin khách hàng
2 Hệ thống hiển thị form sửa hàng và yêu cầu Admin tên khách hàng cần sửa thông tin
3 Admin nhập tên khách hàng cần sửa
4 Hệ thống kiểm tra tên khách hàng muốn sửa và hiển thị thông tin khách hàng
5 Admin sửa thông tin khách hàng sau đó nhấn sửa
6 Hệ thống kiểm tra thông tin khách hàng được sửa và xác nhận tính hợp lệ
7 Admin lưu thông tin khách hàng mới sửa vào csdl
8 Hệ thống thông báo sửa khách hàng thành công
9 Admin thoát khỏi chức năng sửa khách hàng
Ngoại lệ:
4.a.Hệ thống thông báo không có tên khách hàng mà Admin đã nhập
4.a.1 Hệ thống hỏi nhân viên tên hàng khác hay không
4.a.2 Admin tên khách hàng
4.b.Hệ thống thông báo có nhiều tên khách hàng giống nhau
4.a.1 Hệ thống yêu cầu nhân viên nhập mã khách hàng
4.a.2 Admin nhập mã khách hàng
6.a.Hệ thống thông báo thông tin khách hàng được sửa không hợp lệ
6.a.1 Hệ thống yêu cầu nhập lại thông tin khách hàng
6.a.2 Admin nhập lại thông tin khách hàng
6.a.3 Hệ thống thông báo sửa thành công
i) Kịch bản cho use case:Xóa khách hàng
Tên use case Xóa khách hàng
Trang 27Tác nhân chính Admin
Tiền điều kiện Admin đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ yêu cầu xóa và quay lại bước trước
Đảm bảo thành công Thông tin về khách hàng được xóa khỏi csdl
Kích hoạt Admin chọn chức năng xóa khách hàng trong menu
Chuỗi sự kiện chính:
1 Admin kích hoạt yêu cầu xóa khách hàng
2 Hệ thống hiển thị form xóa khách hàng và yêu cầu Admin tên khách hàng cần xóa
3 Admin nhập tên khách hàng muốn xóa và nhấn chấp nhận
4 Hệ thống kiểm tra tên khách hàng muốn xóa và xác nhận tính hợp lệ
5 Hệ thống hỏi nhân viên chắc chắn muốn xóa hay không, hiển thị lựa chọn yes hoặc no
6 Admin chọn yes
7 Hệ thống thông báo xóa khách hàng thành công
8 Admin thoát khỏi chức năng xóa khách hàng
Ngoại lệ:
4.a.Hệ thống thông báo không có tên khách hàng mà nhân viên đã nhập
4.a.1 Hệ thống hỏi nhân viên tên khách hàng khác hay không
4.a.2 Admin tên khách hàng khác
4.a.3 Hệ thống thông báo xóa thành công
4.b.Hệ thống thông báo tên khách hàng muốn xóa không hợp lệ
4.b.1 Hệ thống yêu cầu nhập lại tên khách hàng
4.b.2 Admin nhập lại tên khách hàng
4.c.Hệ thống thông báo có nhiều tên khách hàng giống nhau
4.c.1 Hệ thống yêu cầu nhân viên nhập mã khách hàng
4.c.2 Admin nhập mã khách hàng
6.a Admin chọn no
6.a.1 Hệ thống quay lại trang trước
j) Kịch bản cho use case:Tìm kiếm sản phẩm
Tên use case Tìm kiếm sản phẩm
Tác nhân chính Admin, khách hàng
Tiền điều kiện Tác nhân đăng nhập vào hệ thống
Trang 28Đảm bảo tối thiếu Hệ thống loại bỏ yêu cầu tìm kiếm và quay lại bước trước
Đảm bảo thành
công
Hiển thị thông tin cần tìm kiếm
Kích hoạt Tác nhân chọn chức năng tìm kiếm trong menu
Chuỗi sự kiện chính:
1 Tác nhân kích hoạt yêu cầu tìm kiếm
2 Hệ thống hiển thị form tìm kiếm và yêu cầu tác nhân nhập từ khóa cần tìm kiếm
3 Tác nhân nhập từ khóa cần tìm kiếm và nhấn chấp nhận
4 Hệ thống kiểm tra từ khóa cần tìm kiếm và xác nhận tính hợp lệ
5 Hệ thống hiển thị kết quả tìm được
6 Tác nhân thoát khỏi chức năng tìm kiếm
Ngoại lệ:
4.a.Hệ thống thông báo không có thông tin cần tìm trong csdl
4.a.1 Hệ thống hỏi tác nhân muốn tìm kiếm thông tin khác hay không
4.a.2 Tác nhân nhập thông tin khác
4.a.3 Hệ thống hiển thị kết quả tìm được
4.b.Hệ thống thông báo từ khóa cần tìm không hợp lệ
4.b.1 Hệ thống yêu cầu nhập lại từ khóa cần tìm
4.b.2 Tác nhân nhập lại từ khóa cần tìm
k) Kịch bản cho use case: Thanh toán
Tên use case Thanh toán
Tác nhân chính Khách hàng
Tiền điều kiện Khách hàng đăng nhập vào hệ thống
Đảm bảo tối thiếu Hệ thống loại bỏ yêu cầu và quay lại bước trước
Đảm bảo thành công Khách hàng nhận được hóa đơn thanh toán đầy đủ và đúng mặt hàng
đã mua
Kích hoạt Nhân viên chọn chức năng thanh toán trong menu
Chuỗi sự kiện chính:
1 Khách hàng kích hoạt yêu cầu thanh toán
2 Hệ thống hiển thị form thanh toán và yêu cầu khách hàng nhập tên, địa chỉ khách hàng và hình thức thanh toán…
3 Nhân viên nhập đầy đủ thông tin và nhấn chấp nhận
4 Hệ thống kiểm tra thông tin
5 Hệ thống tự động kiểm tra mã của từng sản phẩm và tính tổng số tiền khách hàng phải trả dựa trên số lượng, giá tiền của từng mặt hàng và thuế gía trị gia tăng lưu trong hệ thống
Trang 296 Khách hàng thoát khỏi chức năng thanh toán
Ngoại lệ:
4.a Hệ thống thông báo 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ập lại thông tin
4.a.2 Khách hàng nhập lại thông tin
4.a.3 Hệ thống thông báo nhập đúng và yêu cầu thực hiện công việc tiếp
l) Kịch bản cho use case:Mua hàng
Tên use case Mua hàng
Tác nhân chính Khách hàng
Đảm bảo tối thiếu Hệ thống loại bỏ yêu cầu và quay lại bước trước
Đảm bảo thành công Mua được sản phẩm thành công
Kích hoạt Khách hàng chọn chức năng mua hàng
Chuỗi sự kiện chính:
1 Khách hàng kích hoạt yêu cầu mua hàng
2 Hệ thống hiển thị form mua hàng và yêu cầu nhân viên nhập viên nhập số lượng sản phẩm muốn mua
4.a.Hệ thống thông báo số lượng hàng cần bán vượt số lượng trong kho
4.a.1 Khách hàng hủy quá trình mua hàng
Trang 302.4 Biểu đồ lớp phân tích
Hình 2 3 Biểu đồ lớp phân tích
2.5 Biểu đồ trình tự
2.5.1 Biểu đồ trình tự cho chức năng : Đăng nhập
Hình 2.4.Biểu đồ trình tự cho chức năng : Đăng nhập
Trang 312.5.2 Biểu đồ trình tự cho chức năng :Tìm kiếm
Hình 2.5.Biểu đồ trình tự cho chức năng :Tìm kiếm
Trang 322.5.3 Biểu đồ tuần tự cho chức năng thêm sản phẩm
Hình 2.6 Biểu đồ tuần tự cho chức năng thêm sản phẩm