Thủ kho sẽ kiểm tra lô hàng của từng nhà cung cấp và trong trường hợp hàng hóa giao không đúng yêu cầu đặt hàng hay kém chất lượng về hệ thống máy móc,...thì thủ kho sẽ trả lại nhà cung
Trang 2LỜI MỞ ĐẦU
Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng việc chinh phục hết đỉnh cao này thành đỉnh cao khác Mạng internet đang trở thành mạng truyền thông có sức ảnh hưởng rất lớn nhất, không thể thiếu trong tất cả các hoạt động của con người trong việc truyền tải và trao đổi dữ liêu Không như ngày xưa và ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho người sử dụng bằng việc kết nối với internet và một dòng dữ liệu truy tìm thì ngay lập tức cả kho tài nguyên không chỉ trong nước mà ngoài nước hiện ra không chỉ bằng ngôn ngữ mà cả bằng hình ảnh, âm thanh
Chính vì lợi ích internet đã thúc đẩy sự ra đời và phát triển thương mại điện tử làm biến đổi bộ mặt văn hóa cũng như nâng cao chất lượng cuộc sống của con người các hoạt động thông thường như sản xuất, kinh doanh và các doanh nghiệp cũng phát triển
Cuộc sống con người ngày càng phát triển thì nhu cầu cuộc sống của con người cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết thực Đó là nhu cầu
ăn, ở và mặc đây là một vẫn đề cũng đang là một bài toán của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con người để cải thiện đời sống ngày càng cao Chính lẽ đó đáp ứng những nhu cầu đó của con người trên cơ sở kế thừa những trang web bán hàng khác, em xây dựng nên một website bán hàng online để đáp ứng nhu cầu của người tiêu dùng, giúp họ tiết kiệm được thời gian, chi phí trong việc phải đi mua thiết bị điện tử nào
đó, tại các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm Thay vào
đó chỉ việc nghồi ở nhà với chiếc máy tính đã kết nối internet mọi người có thể thỏa sức tìm kiếm lựa chọn sản phẩm mà mình yêu thích mọi lúc mọi nơi Giúp cho người quản trị
dễ dàng trong việc phân quyền quản lý, quản lý khách hàng và các đơn đặt hàng của họ
Đó là lý do em chon đề tài “Tìm hiểu về Wordpess và xây dựng website thương mại điện tử cho trung tâm điện máy Tuệ Mai”
Trang 31.1.1 Client
Các ứng dụng phát triển trên nền My SQL và PHP sử dụng tính năng single client đó
là trình truyệt web.Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất để phát triển ứng dụng Web.Ngôn ngữ khởi thuỷ cho việc duyệt Web là HTML HTML cung cấp những thẻ lệnh (Tag) cho phép thể hiện trang Web theo nhiều kiểu cách khác nhau Ngoài HTML ra các trình duyệt Web còn cho phép các add-in hỗ trợ nhiều thứ khác như RealPlayer, Flash, Shockwave, hoặc hỗ trợ về Javascript hoặc XML
1.1.2 Server
Hầu hết các ứng dụng Web đều hoạt động tập trung trên Server.Một số ứng dụng đặc trưng gọi là Web Server sẽ đảm trách việc giao tiếp với các trình duyệt Một cơ sở dữ liệu trên Server sẽ lưu trữ tất cả những thông tin đáp ứng yêu cầu cho công việc của ứng dụng Web.Web Server, Ngôn ngữ lập trình, CSDL phải hoạt động tốt trên một Hệ Điều Hành nào đó
Trang 4Hình 1.1 Sơ đồ hoạt động ứng dụng web trên server
nó là một dự án nguồn mở APACHE tận dụng được tính năng của third-party Bởi vì đây
là nguồn mở nên bất kỳ ai có khả năng đều có thể viết chương trình mở rộng tính năng của Apache PHP hoạt động với tư cách là một phần mở rộng của Apache, và người ta gọi là một module của Apache Apache có tính ổn định và tốc độ đáng phải nói
Trang 51.2 Tìm hiểu cơ bản về PHP
1.2.1 Khái niệm PHP
PHP (Personal Home Page) do Rasmus Lerdorf tạo ra năm 1994 Vì tính hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơn giản
đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải rác trong HTML
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường (cross- platiorm) Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên hầu hết trên các hệ điều hành như Windows, Unixvà nhiều biến thể của nó Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML
Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì đó sau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc chuyển tới một URL)
1.2.2 Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc
dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP, PHP,Java, Perl và một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lí do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác
PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và
Trang 6chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này
PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tưởng của các bạn PHP có thể đáp ứng một cách xuất sắc
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy
mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website
1.2.3 Hoạt động của PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ
để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt
Hình 1.1: Sơ đồ hoạt động của PHP
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử
lý chúng theo các hướng dẫn được mã hóa Mã lệnh PHP yêu cầu máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Trình duyệt xem nó như là một trang HTML tiêu chuẩn Như ta đã nói, PHP cũng chính là một trang HTML nhưng có nhúng mã PHP và có phần mở rộng là HTML Phần mở của PHP được đặt trong thẻ mở<?php và thẻ đóng ?> Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng Server trả về kết quả cuối cùng là một trang nội duns HTML về cho trình duyệt
Trang 71.2.4 Các loại thẻ PHP
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
Kiểu Short:Thẻ mặc định mà các nhà lập trình PHP thường sử dụng
Ví dụ: <? Echo “Well come to PHP ” ;?>
Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản đinh dạng XML
Ví dụ: <? Php echo “Well come to PHP withXML”;>?
Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khai báo JavaScipt hay VBScript:
hiện dưới dạng một khoảng trắng đơn)
1.3 Tìm Hiểu Về Wordpress
1.3.1 Giới thiệu về mã nguồn mở wordpress
WordPress là một phần mềm miễn phí cho việc quản lý nội dung web(văn bản và hình ảnh) Nó đặc biệt hữu ích cho việc xây dựng và duy trì một weblog trên, vì nó cho phép mỗi bài cho một hoặc nhiều mẫu hệ thống chỉ định, và tự động tạo ra các chuyển hướng thích hợp
Tiếp theo, các hệ thống ý kiến độc giả có cơ hội để xem xét nó trước khi phát hành, cũng như quản lý các liên kết, quản lý một vai trò người sử dụng, quyền và khả năng bên ngoài các plug-in, làm cho WordPress hướng tới một “hệ thống quản lý nội dung ” đầy đủ và có thể được mở rộng hơn
WordPress được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL Database(cơ sở dữ liệu database) WordPress là hậu duệ chính thức của b2/cafelog, được
Trang 8phát triển bởi Michel Valdrighi.Cái tên WordPress được đề xuất bởi Chritine Selleck, một người bạn của nhà phát triển Matt Mullenweg
Lịch sử phát triển
Trong những năm 2001/2002 Michel Valdrighi phát triển một chương trình bằng văn bản trong hệ thống PHP Weblog gọi là b2/Cafelog, phát hành bởi GPL.B2/Cafelog thường được biết đến cái tên đơn giản hơn là b2 hay cafelog là tiền thân của WordPress B2/cafelog đã ước lượng được khoảng 2000 blog được sử dụng trong tháng 5 năm 2003
Nó cũng được viết bằng ngôn ngữ lập trình PHP để dùng với MySQL bởi Michel Valdrighi, người đã trở thành nhà phát triển chính của WordPress hiện nay
Phiên bản ổn định đầu tiên của WordPress được phát hành vào ngày 3 tháng 1 năm
2004 Kể từ phiên bản 1.5 WordPress hỗ trợ quản lý các trang tĩnh, vì vậy nền tảng đã được tạo ra để sử dụng WordPress không như là một phần mềm viết blog tinh khiết, mà còn là một hệ thống quản lý nội dung đơn giản
Năm 2007, WordPress đã giành giải thưởng Packt Open Source CMS.Năm 2009, WordPress dẫn đầu về mã nguồn CMS tốt nhất
Có hệ thống Theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO tốt
Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần mềm thiết kế website chuyên nghiệp
Thể hiện các tệp PDF, DOC, Powerpoint ngay trên nội dung bài viết Đặc biệt tích hợp sẵn Latex - công cụ soạn thảo công thức toán học, giúp người sử dụng có thể viết công thức toán học ngay trên blog
Trang 9 WordPress có 23 Widget (ứng dụng tạo thêm) như Thống kê số truy nhập blog, Các bài mới nhất, Các bài viết nổi bật nhất, Các comment mới nhất, Liệt kê các chuyên mục, Liệt kê các Trang, Danh sách các liên kết, Liệt kê số bài viết trong từng tháng Có
79 theme để người dùng lựa chọn
Ngoài thống kê số truy nhập của từng ngày cho blog, Wordpress còn thống kê số truy nhập của từng ngày đối với mỗi bài viết của blog Trên cơ sở đó chủ blog sẽ có định hướng nên viết vấn đề gì tiếp theo
Các comment có thể duyệt rồi mới cho đăng, comment nào có nội dung không phù hợp có thể xóa, nếu cho là spam thì sau này IP đó không có thể gửi comment vào blog được nữa
Admin (chủ blog) có thể cho 35 cộng tác viên gửi bài vào blog, có thể phân quyền cho các cộng tác viên theo các cấp độ khác nhau Lưu giữ danh sách thành viên đã ghé thăm trang blog Admin cũng có thể cho bất kỳ ai đăng bài qua email vào blog miễn là admin cho họ một địa chỉ email bí mật của blog (địa chỉ này có thể thay đổi bất kỳ lúc nào)
Sao lưu dữ liệu nhằm khôi phục nội dung blog một cách dễ dàng nếu chẳng may blog bị hack, và cung cấp công cụ chuyển nhà từ các blog khác sang blog WordPress
WordPress hỗ trợ 3 GB để lưu trữ các tệp hình ảnh và văn bản
Hàng ngày WordPress có thống kê 100 bài trên các blog tiếng Việt của WordPress được nhiều người đọc nhất trong vòng 48 tiếng Nhờ đó bạn biết được các thông tin quan trọng nhất đang diễn ra
1.3.2.Cấu trúc thư mục trong wordpress
Thư mục chủ của wordpress
Thư mục chủ chính là thư mục chứa toàn bộ dữ liệu về website của bạn, nó bao gồm toàn bộ mã nguồn lõi (core) của WordPress và các tập tin hình ảnh, text, … thuộc bài viết của bạn
Trang 10Trong demo thực hiện demo của mình thì thư mục boutique chính là thư mục chủ của trang web wordpress
Thư mục admin
Đây là thư mục chứa toàn bộ code hiển thị trang quản trị (dành cho admin) bao gồm các tập tin JS, CSS và các tập tin PHP chứa các function dành cho admin
Trang 11Thông thường thì chúng ta rất ít can thiệp vào các file trong thư mục này của WP, nếu bạn là một người am hiểu về code PHP thì bạn có thể mở từng file và xem nội dung mã nguồn
Thư mục content
Thư mục này chứa các plugin, theme, hình ảnh upload trong bài viết,…; nó là thư mục chứa nội dung web của bạn tức là chứa các bài viết, hình ảnh, video,… trên trang web của bạn
Trang 12Thông thường đây là thư mục thường bị hacker tấn công vào nhất, thông qua việc chèn các mã độc và upload những script trái phép thông qua các plugin ở trong thư mục này Khi chúng ta chỉnh sửa các plugin hay theme thì chúng ta sẽ vào thao tác trong thư mục này của WP
Thư mục includes
Thư mục này cũng giống thư mục admin ở chỗ chúng ta sẽ hầu như không thao tác
gì trên thư mục này cả vì thư mục này chứa các file PHP class cho WP, các file JS
và CSS
Trang 13 Các tập tin trong core WP
WP chỉ tồn tại 3 thư mục lớn trong mã nguồn của nó còn lại là tập tin, các tập tin này cùng cấp (level) với 3 thư mục vừa nêu ở trên
Trang 14 htaccess: đây là tập tin phát sinh của Apache, có quy định các chính sách sẽ áp dụng lên trên WP
wp-config.php: tập tin cấu hình cho WP, chứa thông tin kết nối đến database của trang web Tập tin này cực kì quan trọng và cần được bảo mật tốt
wp-login.php: tập tin chứa mã dành cho trang đăng nhập WP
wp-signup: tập tin mã PHP cho trang đăng kí thành viên
1.3.3 Các lí do khiến chúng ta phải chọn WordPress
Trang 15 Có thể làm nhiều lọa website
Bảo mật dễ dàng
Tối ưa hóa Seo
1.4 Ngôn ngữ mô hình hóa hướng đối tượng UML
UML là một ngôn ngữ dùng để:
-Trực quan hóa
-Cụ thể hóa
-Sinh mã ở dạng nguyên mẫu
-Lập và cung cấp tài liệu
UML là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc để kết hợp các từ vựng đó phục vụ cho mục đích giao tiếp Một ngôn ngữ dùng cho việc lập mô hình là ngôn ngữ mà bảng từ vựng( các ký hiệu) và các quy tắc của nó tập trung vào việc thể hiện về mặt khái niệm cũng như vật lý của một hệ thống
Mô hình hóa mang lại sự hiểu biết về một hệ thống Một mô hình không thể giúp chúng ta hiểu rõ một hệ thống, thường là phải xây dựng một số mô hình xét từ những góc
độ khác nhau Các mô hình này có quan hệ với nhau
UML sẽ cho ta biết cách tạo ra và đọc hiểu được một mô hình đươc cấu trúc tốt, nhưng nó không cho ta biết những mô hình nào nên tạo ra và khi nào tạo ra chúng Đó là
nhiệm vụ của quy trình phát triển phần mềm
1.4.1 UML là ngôn ngữ dùng để trực quan hóa
Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng để giải quyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã Họ nghĩ ra và họ viết mã Trên thực tế, điều này gặp một số vấn đề Thứ nhất, việc trao đổi về các ý tưởng giữa những người lập trình sẽ gặp khó khăn, trừ khi tất cả đều nói cùng một ngôn ngữ Thậm chí ngay cả khi không gặp trở ngại về ngôn ngữ thì đối với từng công ty, từng nhóm cũng
có những “ngôn ngữ” riêng của họ Điều này gây trở ngại cho một người mới vào để có thể hiểu được những việc đang được tiến hành Hơn nữa, trong lĩnh vực phần mềm, nhiều khi khó có thể hiểu được nếu chỉ xem xét các đoạn mã lệnh Ví dụ như sự phân cấp của các lớp, ta có thể phải duyệt rất nhiều đoạn lệnh để hiểu được sự phân cấp của các lớp
Trang 16Và nếu như người lập trình không mô tả các ý tưởng mà anh ta đã xây dựng thành mã lệnh thì nhiều khi cách tốt nhất là xây dựng lại trong trường hợp một người khác đảm nhận tiếp nhiệm vụ khi anh ta rời khỏi nhóm
Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó khăn trên.Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang một ý nghĩa rõ ràng và duy nhất, một nhà phát triển có thể đọc được mô hình xây dựng bằng UML do một người khác viết
Những cấu trúc mà việc nắm bắt thông qua đọc mã lệnh là khó khăn nay đã được thể hiện trực quan Một mô hình rõ ràng, sáng sủa làm tăng khả năng giao tiếp, trao đổi giữa các nhà phát triển
1.4.2 UML là ngôn ngữ dùng để chi tiết hóa
Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các mức độ chi tiết khác nhau Đặc biệt là UML thực hiện việc chi tiết hoá tất cả các quyết định quan trọng trong phân tích, thiết kế và thực thi một hệ thống phần mềm
1.4.3 UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu
Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập trình cụ thể như : Java, C++ thậm chí cả các bảng trong một CSDL quan hệ hay CSDL hướng đối tượng
Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình phát triển hệ thống dẫn đến việc các cấu trúc và hành vi của hệ thống được xây dựng có thể khác mô hình mà ta đã xây dựng Điều này có thể làm cho một mô hình tốt trở nên vô nghĩa vì nó không còn phản ánh đúng hệ thống nữa Cho nên phải có một cơ chế để đồng bộ hóa giữa
mô hình và mã lệnh
UML cho phép cập nhật một mô hình từ các mã thực thi.( ánh xạ ngược) Điều này tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn mã thực thi mà ta xây dựng cho hệ thống đó
1.4.4 UML là ngôn ngữ dùng để lập và cung cấp tài liệu
Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh( thực thi) thì còn tạo ra các tài liệu sau:
Trang 17 Ghi chép về các yêu cầu của hệ thống
Mục đích chính của UML là để xây dựng mô hình cho các hệ thống phần mềm, nó
có thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực như:
Hệ thống thông tin doanh nghiệp (enterprise)
Các ứng dụng phân tán dựa trên Web
UML không chỉ giới hạn trong lĩnh vực phần mềm Nó còn có thể dùng để lập mô hình cho các hệ thống không phải là phần mềm như hệ thống pháp luật (luồng công việc - workflow), thiết kế phần cứng,
Trang 18+Hợp tác (Collaboration)
Thể hiện một giải pháp thi hành bên trong hệ thống, bao gồm các lớp/ đối tượng mối quan hệ và sự tương tác giữa chúng để đạt được một chức năng mong đợi của Use case
+Giao diện (Interface)
Là một tập hợp các phương thức (operation) tạo nên dịch vụ của một lớp hoặc một thành phần (component) Nó chỉ ra một tập các operation ở mức khai báo chứ không phải
Trang 19+Lớp tích cực (Acitive class)
là một lớp mà các đối tượng của nó thực hiện các hoạt động điều khiển Lớp tích cực cũng giống như lớp bình thường ngoại trừ việc các đối tượng của nó thể hiện các phần tử mà ứng xử của chúng có thể thực hiện đồng thời với các phần từ khác Lớp này thường dùng để biểu diễn tiến trình(process) và luồng(thread)
+Thành phần (Component)
là biểu diễn vật lý của mã nguồn Trong hệ thống ta sẽ thấy các kiểu khác nhau của component như các thành phần COM+ hay JavaBeans cũng như là các thành phần như các file mã nguồn, các file nhị phân tạo ra trong quá trình phát triển hệ thống
Nodes
là thể hiện một thành phần vật lý như là một máy tính hay một thiết bị phần cứng
Trang 20b.Các phần tử thể hiện hành vi
+Tương tác (Interaction)
bao gồm một tập các thông báo(message) trao đổi giữa các đối tượng trong một ngữ cảnh cụ thể nào đó để thực hiện một chức năng nào đó
+Máy chuyển trạng (States machine)
thể hiện các trạng thái của một đối tượng trong thời gian sống của nó nhằm đáp ứng các sự kiện, các tác động từ bên ngoài
c.Phần tử mang tính nhóm (Group)
+Gói (Package)
Dùng để nhóm các phần tử có một ý nghĩa chung nào đó vào thành nhóm Không giống như các thành phần (component - tồn tại trong lúc thực thi), một package chỉ mang tính trừu tượng Package dùng để nhìn hệ thống ở một mức độ tổng quát hơn so với việc xem xét từng phần tử trong package
+Annotational (mang tính chất giải thích):
là các chú thích dùng để mô tả, làm sáng tỏ và ghi chú về bất cứ phần tử nào trong
mô hình Thường dùng nhất là Note gồm các ràng buộc hoặc ghi chú, được gắn với một phần tử hoặc một tập hợp các phần tử
Trang 211 Các mối quan hệ (Relationships)
+Quan hệ Phụ thuộc (Dependency)
Thể hiện mối quan hệ mà : nếu có một sự thay đổi ở đối tượng độc lập sẽ ảnh hưởng tới đối tượng phụ thuộc Kí hiệu:
+Quan hệ Kết hợp ( Association)
Là mối quan hệ liên kết giữa 2 lớp Nói một cách đơn giản, khi một đối tượng của lớp này gửi thông điệp tới hoặc nhận thông điệp từ một đối tượng của lớp kia thì ta nói giữa 2 lớp có mối quan hệ association
Trang 22là mối quan hệ tổng quát hóa/ cụ thể hóa trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương thức( behavior) của đối tượng tổng quát
+Quan hệ Hiện thực hóa (Realization)
Mối quan hệ giữa interface và class hay component hiện thực hoá nó hoặc mối quan hệ giữa Use case và Collaboration hiện thực hóa Use case đó
2 Các biểu đồ (Diagrams)
+Biểu đồ lớp (Class Diagram)
Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối quan hệ giữa chúng Nó thể hiện mặt tĩnh của hệ thống
+Biểu đồ đối tượng (Object Diagram)
Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng Đối tượng là một thể hiện của lớp, biểu đồ đối tượng là một thể hiện của biều đồ lớp
+Biểu đồ Use case (Use Case Diagram)
Khái niệm actor: là những người, hệ thống khác ở bên ngoài phạm vi của hệ thống
mà có tương tác với hệ thống
Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống
+Biểu đồ trình tự (Sequence Diagram) là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng đó để thực hiện một chức năng nào đó của hệ thống
+Biểu đồ hợp tác (Collaboration)
Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống Nhưng nó tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của
Trang 23các thông báo đó Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng
cụ thể nào đó có trao đổi những thông báo gì cho nhau
+Biểu đồ chuyển trạng thái (Statechart)
Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước chuyển trạng và các hoạt động Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện(interface class) hay collaboration và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive)
+Biểu đồ hoạt động (Activity)
Là một dạng đặc biệt của biểu đồ chuyển trạng Nó chỉ ra luồng đi từ hoạt động này sang hoạt động khác trong một hệ thống Nó đặc biệt quan trọng trong việc xây dựng
mô hình chức năng của hệ thống và nhấn mạnh tới việc chuyển đổi quyền kiểm soát giữa các đối tượng
+Biểu đồ thành phần (Component)
chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component) Nó liên quan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một hay nhiều lớp, giao diện , collaboration
+Quan hệ Thừa kế (Generalization)
chỉ ra cấu hình của hệ thống khi thực thi
1.4.7 Các quy tắc của UML
Các thành phần của UML (“Unified Modeling language”) không thể ngẫu nhiên đặt cạnh nhau Như bất cứ một ngôn ngữ nào, UML có những quy tắc chỉ ra rằng một mô hình tốt sẽ như thế nào Một mô hình tốt là mô hình mang tính nhất quán và có sự kết hợp hài hòa giữa các mô hình có liên quan của nó
UML có một số quy tắc dành cho việc:
Đặt tên: để có thể truy xuất các phần tử của mô hình thì phải đặt tên cho chúng
như tên của các quan hệ, biểu đồ
Xác định phạm vi: ngữ cảnh mang lại một ý nghĩa cụ thể cho một cái tên
Trang 24 Tính nhìn thấy được: để có được sự đơn giản và dễ kiểm soát thì ở những ngữ
cảnh khác nhau cần chỉ ra rằng một cái tên là hiện hữu và được sử dụng bởi những đối tượng khác như thế nào
Tính toàn vẹn: mọi thứ quan hệ một cách đúng đắn và nhất quán với nhau như
thế nào
Trang 25CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hiện trạng
2.1.1 Giới thiệu về đơn vị khảo sát
Tên đơn vị : Trung tâm điện máy Tuệ Mai
Địa chỉ: Phố chợ 1 - TT Hùng Sơn – Đại Từ - Thái Nguyên
Điện Thoại: 0208.3824.315 & 0912 000 515
Lĩnh vực chuyên hoạt động buôn bán các mặt hàng: Đồ điện tử - điện lạnh – đồ gia dụng
Cơ cấu tổ chức của công ty:
- Giám đốc trung tâm: Điều hành, quản lý các bộ phận bên dưới, định hướng cho trung tâm phát triển vững mạnh
- Bộ phận kinh doanh: Tiến hành định giá, tìm nguồn hàng, liên hệ với nhà sản xuất…
- Bộ phận kho: Nhập, xuất hàng cho bộ phận bán hàng
Giám đốc trung tâm
Bộ phận kinh doanh
Bộ phận bán hàng
Bộ phận kỹ thuật
Bộ phận kho
Bộ phận kế toán
Trang 26- Bộ phận bán hàng: Gồm những nhân viên đứng tại bàn tư vấn mua hàng, từng quầy trưng bày sản phẩm, và các nhân viên thu ngân và giao hàng cho khách
- Bộ phận kỹ thuật: Tìm hiểu các thông số của sản phẩm, hỗ trợ kỹ thuật bảo hành sản phẩm cho khách hàng
- Bộ phận kế toán: Thu thập các hóa đơn bán hàng, nhận hàng để tiến hành báo cáo tổng kết tình hình tài chính của công ty
2.1.2 Khảo sát thực tế bài toán bán hàng tại trung tâm
- Cửa hàng còn nhận đặt hàng với số lượng lớn
- Hàng tháng khi có yêu cầu của ban giám đốc, các bộ phận sẽ tổng hợp đánh giá
kết quả kinh doanh của cơ sở báo cáo lên ban giám đốc
Về phía khách hàng:
- Trực tiếp đến cửa hàng tìm hiểu, giao dịch với cửa hàng Sau khi đặt hàng thì sẽ được tư vấn thiết kế các mẫu có sẵn hoặc theo ý tưởng của khách hàng
- Nếu khách hàng có đổi hàng hay trả lại hàng thì phải đến cửa hàng trao đổi trực
tiếp với nhân viên của cửa hàng
- Khách hàng đến với cửa hàng sẽ được phục vụ nhiệt tình chu đáo Tại cửa hàng
Nếu là khách quen của cửa hàng hoặc khách hàng mua với số lượng lớn thì sẽ được ưu đãi hơn về giá cả và dịch vụ chăm sóc khách hàng của cửa hàng
Quản lý khách hàng: mỗi khách hàng được quản lý các thông tin sau đây: Họ, tên, địa chỉ, email, số điện thoại, tên đăng nhập, mật khẩu
Quản lý mặt hàng: mỗi mặt hàng được quản lý những thông tin: Tên mặt hàng, đơn giá, số lượng, thời gian bảo hành, hình ảnh, mô tả
- Quy trình quy trình quản lý, nhập và, bán hàng của công ty
Trang 27Quá trình đặt hàng của khách hàng: Khách hàng xem và lựa chọn mặt hàng cần mua Trong quá trình lựa chọn, bộ phận bán hàng sẽ trực tiếp trao đổi thông tin cùng khách hàng, chịu trách nhiệm hướng dẫn Sau khi lựa chọn xong, bộ phận bán hàng sẽ tiến hành lập đơn đặt hàng của khách.Sau khi tiếp nhận yêu cầu trên, bộ phận này sẽ làm hóa đơn và thanh toán tiền
Trong trường hợp nhiều công ty, trường học, các doanh nghiệp, .có yêu cầu đặt hàng, mua với số lượng lớn thì cửa hàng nhanh chóng làm phiếu đặt hàng, phiếu thu có ghi thuế cho từng loại mặt hàng và giao hàng hàng theo yêu cầu
Quá trình đặt hàng với nhà cung cấp: Hàng ngày nhân viên kho sẽ kiểm tra hàng hóa trong kho và đề xuất lên ban điều hành cần xử lý về việc những mặt hàng cần nhập Trong quá trình đặt hàng thì ban điều hành sẽ có trách nhiệm xem xét các đề xuất về những mặt hàng yêu cầu và quyết định loại hàng, số lượng hàng cần đặt và phương thức đặt hàng với nhà cung cấp Việc đặt hàng với nhà cung cấp được thực hiện thông qua địa chỉ trên mạng hay qua điện thoại, fax
Quá trình nhập hàng: Sau khi nhận yêu cầu đặt hàng từ công ty, nhà cung cấp sẽ giao hàng cho công ty có kèm theo hóa đơn hay bảng kê chi tiết các loại mặt hàng Thủ kho sẽ kiểm tra lô hàng của từng nhà cung cấp và trong trường hợp hàng hóa giao không đúng yêu cầu đặt hàng hay kém chất lượng về hệ thống máy móc, thì thủ kho sẽ trả lại nhà cung cấp và yêu cầu giao lại những mặt hàng bị trả đó.Tiếp theo thủ kho sẽ kiểm tra chứng từ giao hàng để gán giá trị thành tiền cho từng loại sản phẩm Những loại hàng hóa này sẽ được cung cấp một mã số và được cập nhật ngay vào giá bán.Sau khi nhập xong chứng từ giao hàng, nhân viên nhập kho sẽ in một phiếu nhập để lưu trữ trong hồ sơ
2.1.3 Các bước cơ bản để mua hàng và thanh toán trực tuyến
Bước 1: Chọn lựa hàng hóa
Truy cập website của nhà cung cấp dịch vụ, và chọn lựa hàng hóa, dịch vụ
Trang 28-Phương thức, thời gian giao hàng
-Phương thức, thời gian thanh toán
Bước 3: Kiểm tra thông tin hóa đơn
Hệ thống website sẽ hiển thị hóa đơn mua hàng để người mua kiểm tra thông tin trên hóa đơn Nếu thông tin chính xác, người mua sẽ tiến hành xác nhận để chuyển sang bước thanh toán
Bước 4: Thanh toán
Người mua có thể hoàn thành việc thanh toán ngay trên website với điều kiện người mua sở hữu các loại thẻ mà nhà cung cấp chấp nhận Hầu hết website thương mại điện tử chấp nhận các loại thẻ tín dụng và ghi nợ mang thương hiệu Visa, MasterCard, Bảo Kim, Ngân Lượng Người mua điền thông tin thẻ để hoàn thành thanh toán:
-Số thẻ
-Ngày hết hạn
-CVV ( mã kiểm chứng thẻ giá trị)
-Thông tin khác tùy theo yêu cầu của ngân hàng phát hành
Lưu ý: Giao dịch thanh toán chỉ thành công khi thẻ thanh toán đã được đăng ký chức năng thanh toán online, thông tin thẻ điền đúng và thẻ còn khả năng chi trả
Trang 29hàng đó sẽ hiển thị lên màn hình như: hình ảnh, đơn giá, mô tả, và bên cạnh là trang liên kết để thêm hàng hóa vào giỏ hàng Đây là giỏ hàng điện tử mà trong đó chứa các thông tin về hàng hóa lẫn số lượng khách mua và hoàn toàn được cập nhật trong giỏ
Khi khách hàng muốn đặt hàng thì hệ thống hiển thị trang xác lập đơn đặt hàng cùng thông tin về khách hàng và hàng hóa Cuối cùng là do khách hàng tùy chọn đặt hay không
Nhà quản lý: Là người làm chủ hệ thống, có quyền kiểm soát mọi hoạt động của
hệ thống Nhà quản lý được cấp một username và password để đăng nhập vào hệ thống thực hiện những chức năng của mình
Nếu như quá trình đăng nhập thàng công thì nhà quản lý có thể thực hiện những công việc: Quản lý cập nhật thông tin các mặt hàng, tiếp nhận đơn đặt hàng, kiểm tra đơn đặt hàng và xử lý đơn đặt hàng Thống kê các mặt hàng bán trong tháng, năm, thống kê khách hàng, nhà cung cấp, thống kê tồn kho, thống kê doanh thu Khi có nhu cầu nhập hàng hóa từ nhà cung cấp thì tiến hành liên lạc với nhà cung cấp để đặt hàng và cập nhật các mặt hàng này vào cơ sở dữ liệu,
Ban lãnh đạo công ty cũng bày tỏ nhu cầu quảng bá sản phẩm và mong muốn sản các sản phẩm đến với khách hàng một cách nhanh chóng, có cái nhìn trực quan, giới thiệu quy mô Hệ thống website bán hàng trực tuyến sẽ đáp ứng tốt mong muốn này Giúp cho công việc quảng cáo, giới thiệu sản phẩm đến với khách hàng một cách tốt nhất, tạo đà cho việc kinh doanh của công ty Đây cũng chính là động lực thúc đẩy em trong quá trình xây dựng website quảng bá sản phẩm, đặt hàng cho công ty
Trang 30- Bên cạnh đó phương tiện để quản lý là giấy tờ sổ sách nên có thể lấy và xem, tra cứu sửa chữa được tiến hành không cần những điều kiện cầu kỳ như máy móc, trang thiết bị hiện đại…
Nhược điểm:
- Việc lưu trữ thông tin thiết bị cũng như các thông tin khác trong việc quản lý hệ thống đều được tiến hành thủ công bằng sổ sách và các chứng từ với một số lượng lớn, chính vì vậy gây ra nhiều khó khăn cho công tác quản lý, tốn nhiều thời gian và công sức cho nhân viên quản lý với những công việc kiểm tra, tra cứu, kiểm kê phức tạp
- Khi lưu trữ thông tin bằng phương pháp này nếu có sai sót thì việc sửa đổi gặp nhiều khó khăn.Chẳng hạn muốn sửa thông tin trong hồ sơ thiết bị thì phải gạch đi rồi sửa lại bên cạnh, sẽ rất không hay nếu phải sửa đổi nhiều lần
- Việc thống kê tình hình bán thiết bị cũng phức tạp
Vậy từ đây ta có thể nhận ra con đường kinh doanh trực tuyến thông qua website
sẽ là giải pháp tối ưu cho việc phát triển công ty vì nó giải quyết hầu hết các tồn đọng các vấn đề về lưu trữ thông tin Việc quản lý thông tin hàng hóa, tin tức được cập nhật nhanh chóng hơn hỗ trợ tối đa cho khách hàng
2.1.5 Xác định các yêu cầu chức năng của website
Đặc tả các Use Case
Use Case Đăng ký:
Use Case này mô tả cách thức khách hàng đăng ký trở thành thành viên chính thức của website
Luồng sự kiện chính:
- Use Case này bắt đầu khi khách hàng chọn chức năng đăng ký
- Hệ thống hiển thị trang đăng ký
- Khách hàng nhập các thông tin tài khoản bao gồm: email, mật khẩu (không phải mật khẩu thực sự của email), họ tên
- Khách hàng nhấn vào nút đăng ký
- Hệ thống lưu thông tin vào cơ sở dữ liệu và hiển thị thông báo đăng ký thành công
Trang 31 Use Case Đăng nhập:
Use Case này mô tả cách thức khách hàng là thành viên đăng nhập vào website
Luồng sự kiện chính:
- Từ trang web, khách hàng nhập email và mật khẩu và nhấn nút đăng nhập
- Hệ thống kiểm tra việc đăng nhập và hiển thị ra trang khách hàng đã đăng nhập thành công vào hệ thống
Luồng sự kiện phụ:
- Nếu khách hàng nhập sai email hoặc mật khẩu, hệ thống sẽ hiển thị một thông báo lỗi Khách hàng có thể chọn trở về đầu của dòng sự kiện chính hay hủy bỏ việc đăng nhập, lúc này Use Case kết thúc
Trang 32 Use Case Cập nhật tài khoản:
Use Case này mô tả khách hàng thành viên của website cập nhật lại thông tin cá nhân đã đăng ký
Luồng sự kiện chính:
- Từ trang khách hàng đã đăng nhập Khách hàng nhấn vào nút cập nhật thông tin
cá nhân
- Hệ thống hiện thị trang thông tin cá nhân của khách hàng
- Khách hàng nhập thông tin mới cần cập nhật và nhấn nút cập nhật
- Hệ thống sẽ kiểm tra thông tin nhập vào và thực hiện cập nhật
- Hệ thống sẽ hiển thị thông báo cập nhật thành công
Luồng sự kiện phụ:
- Nếu khách hàng nhập thông tin cập nhật không đúng thì hệ thống sẽ hiển thị thông báo lỗi Người dùng có thể chọn trở về đầu của dòng sự kiện chính hay hủy bỏ việc cập nhật thông tin, lúc này Use Case kết thúc
Tiền điều kiện: khách hàng phải đăng nhập thành công vào hệ thống
Use Case khôi phục mật khẩu:
Use Case này mô tả khách hàng thành viên của website lấy khôi phục mật khẩu khi quên
Luồng sự kiện chính:
- Từ trang web khách hàng nhấn vào nút quên mật khẩu
- Hệ thống sẽ hiển thị trang quên mật khẩu
- Khách hàng nhập vào địa chỉ email và nhấn nút gửi
- Hệ thống truy vấn thông tin khách hàng tin và gửi đến địa chỉ email của khách hàng Sau đó hiển thị thông báo thành công
Luồng sự kiện phụ:
Nếu khách hàng nhập email không đúng hoặc lỗi trong quá trình gửi mail thì hệ thống sẽ hiển thị một thông báo lỗi Khách hàng có thể chọn trở về dòng sự kiện chính hoặc hủy bỏ lấy lại mật khẩu, lúc này Use Case kết thúc
Use Case Tìm kiếm theo tên sản phẩm:
Trang 33Use Case này mô tả cách thức khách hàng tìm kiếm theo tên sản phẩm
Luồng sự kiện phụ: không có
Use Case xem chi tiết sản phẩm:
Use Case này mô tả cách thức khách hàng xem thông tin chi tiết về mỗi sản phẩm
Luồng sự kiện chính:
- Từ trang liệt kê danh sản phẩm các sản phẩm, khách hàng nhấn vào nút "chi tiết"
- Hệ thống hiển thị trang thông tin chi tiết về sản phẩm đó
Luồng sự kiện phụ: không có
Use Case thêm sản phẩm vào giỏ hàng:
Use Case này mô tả cách thức khách hàng thêm 1 sản phẩm vào giỏ mua hàng
Use Case xóa sản phẩm khỏi giỏ hàng:
Use Case này mô tả cách thức khách hàng bỏ 1 sản phẩm đã chọn ra khỏi giỏ hàng
Luồng sự kiện chính:
- Từ trang giỏ hàng khách hàng chọn sản phẩm và nhấn nút xóa
Trang 34- Hệ thống cập nhật lại giỏ hàng
Luồng sự kiện phụ: không có
Use Case cập nhật số lượng sản phẩm trong giỏ hàng:
Use Case này mô tả khách hàng cập nhật số lượng 1 sản phẩm trong giỏ hàng
Use Case xem giỏ hảng:
Use Case này mô tả cách thức người mua xem giỏ hàng của mình mỗi khi cần
Luồng sự kiện chính:
- Từ trang web khách hàng nhấn vào nút giỏ hàng
- Hệ thống hiển thị giỏ hàng của khách hàng
Luồng sự kiện phụ: không có
Use Case đơn hàng:
Use Case này mô tả cách thức khách hàng đặt mua hàng sau khi đã tìm được những sản phẩm mình cần và thêm chúng vào giỏ hàng
Luồng sự kiện chính:
- Từ trang thông tin về giỏ hàng khách hàng nhấn vào nút thanh toán
- Hệ thống hiển thị trang đơn hàng yêu cầu khách hàng nhập vào địa chỉ giao hàng và chọn phương thức thanh toán
- Hệ thống hiển thị thông tin hướng dẫn về phương thức thanh toán mà khách hàng lựa chọn
- Khách hàng nhấn nút đồng ý thanh toán
- Hệ thống sẽ hiển thị trang thông báo đặt hàng thành công
Trang 35 Luồng sự kiện phụ:
- Nếu trong dòng sự kiện chính, khách hàng chưa đăng nhập thì khi nhấn nút thanh toán, hệ thống sẽ hiển thị trang đăng ký làm thành viên
- Khách hàng đăng ký làm thành viên
- Hệ thống hiển thị trang đơn hàng
Tiền điều kiện: Khách hàng phải đăng nhập thành công vào hệ thống
Use Case quản lý danh mục:
Use Case này mô tả cách thức người quản trị quản lý danh mục loại sản phẩm như: thêm, xóa, cập nhật danh mục
Luồng sự kiện chính:
- Từ trang admin, quản trị viên nhấn nút quản lý danh mục sản phẩm
- Hệ thống hiển thị trang quản lý loại sản phẩm Quản trị viên chọn chức năng phù hợp
+ Chọn chức năng thêm loại sản phẩm: quản trị viên phải nhập mã và tên loại sản phẩm và nhấn nút thêm
+ Chọn chức năng xóa loại sản phẩm: quản trị viên chọn loại sản phẩm cần xóa và nhấn nút xóa
+ Chọn chức năng cập nhật loại sản phẩm: quản trị viên cập nhật thông tin của một loại sản phẩm và nhấn nút cập nhật
- Hệ thống hiển thị thông báo thành công tương ứng
Luồng sự kiện phụ:
Nếu người quản trị đưa thông tin vào không đúng thì hệ thống sẽ thông báo lỗi tương ứng Người quản trị có thể trở về bước 2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, cập nhật danh mục, lúc này Use Case kết thúc
Tiền điều kiện: Quản trị viên phải đăng nhập thành công vào hệ thống
Use Case quản lý sản phẩm:
Use Case này mô tả cách thức người quản trị quản lý sản phẩm như: thêm, xóa, cập nhật thông tin về sản phẩm
Luồng sự kiện chính:
Trang 36- Từ trang admin, quản trị viên nhấn vào nút quản lý sản phẩm
- Hệ thống hiển thị trang quản lý sản phẩm Quản trị viên chọn chức năng phù hợp
+ Chọn chức năng thêm sản phẩm: quản trị viên phải nhập đầy đủ thông tin về sản phẩm và nhấn nút thêm
+ Chọn chức năng xóa 1 sản phẩm: quản trị viên chọn sản phẩm cần xóa và nhấn nút xóa
+ Chọn chức năng cập nhật thông tin sản phẩm: quản trị viên sửa thông tin về sản phẩm và nhấn nút cập nhật
- Hệ thống hiển thị thông báo thành công tương ứng
Luồng sự kiện phụ:
Nếu người quản trị đưa thông tin vào không đúng thì hệ thống sẽ thông báo lỗi tương ứng Người quản trị có thể trở về bước 2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, cập nhật thông tin sản phẩm, lúc này Use Case kết thúc
Tiền điều kiện: Quản trị viên phải đăng nhập thành công vào hệ thống
Use Case quản lý người sử dụng:
Use Case này mô tả cách thức người quản trị quản lý người sử dụng như: thêm, xóa, cập nhật thông tin User
Luồng sự kiện chính:
- Từ trang admin, quản trị viên nhấn vào nút quản lý User
- Hệ thống hiển thị trang quản lý User Quản trị viên chọn chức năng phù hợp
+ Chọn chức năng thêm User: quản trị viên phải nhập các thông tin về người sử dụng và nhấn nút thêm
+ Chọn chức năng xóa User: quản trị viên chọn User cần xóa và nhấn nút xóa
+ Chọn chức năng cập nhật User: quản trị viên sửa thông tin về User và nhấn nút cập nhật
-Hệ thống hiển thị thông báo thành công tương ứng
Trang 37 Luồng sự kiện phụ:
Nếu người quản trị đưa thông tin vào không đúng thì hệ thống sẽ thông báo lỗi tương ứng Người quản trị có thể trở về bước 2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, cập nhật User, lúc này Use Case kết thúc
Tiền điều kiện: Quản trị viên phải đăng nhập thành công vào hệ thống
Use Case quản lý đơn hàng:
Use Case này mô tả cách thức người quản trị quản lý đơn hàng như: theo dõi và cập nhật tình trạng đơn hàng
Luồng sự kiện chính:
- Từ trang admin, quản trị viên nhấn vào nút quản lý Order
- Hệ thống hiển thị trang quản lý Order liêt kê danh sản phẩm các đơn đặt hàng của khách hàng
- Quản trị viên chọn đơn hàng và cập nhật tình trạng đơn hàng sau đó nhấn nút cập nhật
- Hệ thống hiển thị kết quả cập nhật
Luồng sự kiện phụ: không có
Tiền điều kiện: Quản trị viên phải đăng nhập thành công vào hệ thống
Use Case quản lý yêu cầu:
Use Case này mô tả cách thức người quản trị quản lý các yêu cầu của khách hàng như: xem và trả lời yêu cầu
Luồng sự kiện chính:
- Từ trang admin, quản trị viên nhấn vào nút quản lý Request
- Hệ thống hiển thị trang quản lý Request liệt kê danh sản phẩm các yêu cầu của khách hàng
- Quản trị viên đọc yêu cầu, nhập vào thông tin trả lời và nhấn nút Send để gửi câu trả lời tới email của khách hàng
- Hệ thống hiển thị thông báo thành công
Luồng sự kiện phụ:
Trang 38Nếu người quản trị đưa thông tin vào không đúng hoặc lỗi trong quá trình gửi mail thì hệ thống sẽ thông báo lỗi tương ứng
Tiền điều kiện: Quản trị viên phải đăng nhập thành công vào hệ thống
Use Case quản lý khách hàng:
Use Case này mô tả cách thức người quản trị quản lý khách hàng của hệ thông như: theo dõi và xóa Customer khi cần thiết
Dòng sự kiện chính:
- Từ trang admin, quản trị viên nhấn vào nút quản lý Customer
- Hệ thống hiển thị trang quản lý Customer Quản trị viên chọn chức năng phù hợp
+ Chọn chức năng theo dõi khách hàng: quản trị viên tìm kiếm khách hàng theo dõi thông tin
+ Chọn chức năng xóa khách hàng: quản trị viên chọn khách hàng cần xóa và nhấn nút xóa
- Hệ thống hiển thị thông báo thành công tương ứng
2.2.1 Xác định các thông tin vào/ra của hệ thống
Thông tin vào :
- Thông tin khách hàng
- Thông tin sản phẩm
- Thông tin bảo hành
Thông tin ra:
- Thông tin tra cứu, tìm kiếm
- Báo cáo tổng hợp
- Xem đơn đặt hàng
Trang 392.2.2 Phân tích các chức năng của hệ thống
Tác nhân tương tác với hệ thống Tác nhân có thể là con người cũng có thể là thiết
bị phần cứng hay hệ thống khác có trao đổi thông tin với hệ thống Đối với bài toán này
ta xác định các tác nhân như sau:
Khách hàng: tác nhân này tham gia vào hệ thống chủ yếu là xem thông tin mặt hàng, thực hiện chức năng mua hàng và thanh toán nếu có nhu cầu Ngoài ra hệ thống còn cung cấp cho tác nhân các chức năng khác như đăng ký thành viên, đăng nhập hệ thống, mua hàng, thanh toán…
Sơ đồ Use Case mức tổng thể:
Hình 2.5 Sơ đồ Use Case mức tổng thể
Các tác nhân của hệ thống gồm có:
Administrator(người quản trị): Là thành viên quản trị của hệ thống, có các
quyền và chức năng như: tạo các tài khoản, quản lý sản phẩm, quản trị người dùng, quản
lý hoá đơn…
Member(thành viên):Là hệ thống thành viên có chức năng: Đăng kí, đăng nhập,
tìm kiếm, xem, sửa thông tin cá nhân, xem giỏ hàng, đặt hàng, xem thông tin về các hóa đơn đã lập
Trang 40Customer(khách hàng): Là khách vãng lai có chức năng: Đăng kí, tìm kiếm, xem
thông tin sản phẩm, xem giỏ hàng, đặt hàng
Trong phần dành cho khách hàng gồm có Tác nhân Customer(khách hàng) và Bank System, 2 Tác nhân này sẽ tham gia vào các Use Case sau :
Hình 2.6 Biểu đồ Use Case cho Tác nhân Customer
Trong phần dành cho nhân viên quản trị có Tác nhân Adminitrator, Tác nhân này
sẽ tham gia vào các Use Case sau: