- Với thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thểtương tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ liệu, mã hóa, thao tác file PDF, Office,
Trang 1MỤC LỤC
Chương I : Giới Thiệu 6
I Lý do chọn đề tài và giới thiệu website: 6
I.1 Lý do chọn đề tài : 6
I.2 Giới thiệu ngôn ngữ viết chương trình : 6
I.3 Giới thiệu website : 22
Chương II : Lập Kế Hoạch 23
I Khởi tạo dự án 23
I.1 Ngữ cảnh 23
I.2 Hệ thống kháo sát thực tế 23
I.3 Quản lý dự án 25
Chương 3 : Phân Tích Thiết Kế Hệ Thống 26
I Khảo sát hiện trạng 26
I.1 Giới thiệu chung 26
II Mô tả nghiệp vụ: 27
III Chức năng của hệ thống 27
III.1 Chức năng phân quyền 27
III.2 Chi Tiết 28
III.3 Chức năng quản lý danh mục sách 30
III.4 Chức năng bán hàng trực tuyến 31
III.5 Chức năng thanh toán 31
III.6 Chức năng thông tin 31
IV Mô hình hoá các yêu cầu của hệ thống : 32
IV.1 Xây dựng Biểu đồ Usecase 32
IV.2 Biểu đồ tuần tự của một số chức năng 50
IV.3 Biểu đồ lớp 54
IV.4 Biểu đồ trạng thái 55
IV.5 Biểu đồ hoạt động 57
IV.6 Biểu đồ Thành Phần của hệ thống 60
Trang 2IV.7 Biểu đồ Triển Khai của hệ thống 60
Chương 4 : Thiết Kế Cơ Sở Dữ Liệu 61
I Mô Hình quan hệ thực thể quan hệ (Entity - Relationship) tổng quát: 61
II Chi tiết các thực thể và các thuộc tính liên quan : 62
II.1 Khách Hàng 62
II.2 Nhân Viên 62
II.3 Sách 63
II.4 Thể Loại 63
II.5 Nhà Xuất Bản 64
II.6 Đơn Đặt Hàng 64
II.7 Tác Giả 65
II.8 Ngôn Ngữ 65
II.9 Phản Hồi 66
III Mối quan hệ giữa các thực thể : 66
III.1 Khách Hàng – Đơn Đặt Hàng 66
III.2 Sách – Đơn Đặt Hàng 66
III.3 Sách – Tác Giả 67
III.4 Sách – Nhà Xuất Bản 67
III.5 Sách – Thể Loại 67
III.6 Sách – Ngôn Ngữ 67
III.7 Sách – Nhân Viên 67
IV Các bảng có trong cơ sở dữ liệu : 68
IV.1 Bảng Khách Hàng 68
IV.2 Bảng Nhân Viên 68
IV.3 Bảng Sách 69
IV.4 Bảng Thể Loại 69
IV.5 Bảng Nhà Xuất Bản 69
IV.6 Bảng Đơn Đặt Hàng 70
IV.7 Bảng Ngôn Ngữ 70
IV.8 Bảng Tác Giả 70
IV.9 Bảng Đơn Hàng Chi Tiết 71
Trang 3IV.10 Bảng Phản Hồi 71
V Mô hình dữ liệu vật lý ( PDM-Physiscal Data Model ): 72
Chương 5 : Thiết kế giao diện hệ thống 73
I Trang chủ - giao diện trang khách : 73
II Đăng nhập : 74
III Đăng Ký : 74
IV Tìm Kiếm: 75
V Chi Tiết : 75
VI Giỏ Hàng: 75
VII Đặt Hàng : 76
Chương 7 : Những kết quả rút ra từ thực tế bài toán 77
Kết Luận 78
TÀI LIỆU THAM KHẢO 79
Trang 4DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH VẼ TRONG BÁO CÁO
Hình 1.1: Mô hình hoạt động của trang Web viết bằng HTML 9
Hình 1.2 : Mô hình hoạt động của trang Web viết bằng PHP 9
Hình 1.3: Mô hình quan hệ giữa Apache – PHP – MySQL 18
Hình 1.4: Hướng dẫn cài đặt Wampserver bước 1 19
Hình 1.5 : Hướng dẫn cài đặt Wampserver bước 2 19
Hình 1.6: Hướng dẫn cài đặt Wampserver bước 3 20
Hình 1.7: Hướng dẫn cài đặt Wampserver bước 4 20
Hình 1.8: Hướng dẫn chạy thử Wampserver 21
Hình 1.9 : Hướng dẫn tạo database trong phpMyAdmin 21
Hình 2.1 : Một số hình ảnh về nhà sách Nguyễn Văn Cừ 24
Hình 3.1 : Biểu đồ Usecase mức tổng quát 32
Hình 3.2 : Biểu đồ phân rã Usecase 32
Hình 3.3 : Biểu đồ phân rã Usecase chức năng quản lý sách 36
Hình 3.4 : Biểu đồ phân rã Usecase chức năng quản lý nhân viên 39
Hình 3.5 : Biểu đồ phân rã chức năng quản lý đơn đặt hàng 44
Hình 3.6 : Biểu đồ phân rã chức năng hiển thị giỏ hàng 46
Hình 3.7 : Biểu đồ tuần tự chức năng thay đổi thông tin người dùng 50
Hình 3.8 : Biểu đồ tuần tự chức năng tìm kiếm 51
Hình 3.9 : Biểu đồ tuần tự chức năng thêm sách 51
Hình 2.10 : Biểu đồ tuần tự chức năng sửa thông tin sách 52
Hình 3.11 : Biểu đồ tuần tự chức năng xóa sách 52
Hình 3.12 : Biểu đồ tuần tự chức năng xóa nhân viên 53
Hình 3.13 : Biểu đồ tuần tự chức năng đặt hàng 54
Hình 3.14 : Biểu đồ lớp hệ thống 54
Hình 3.15 : Biểu đồ trạng thái của đối tượng quản lý 55
Hình 3.16 : Biểu đồ trạng thái của đối tượng giỏ hàng 55
Hình 3.17 : Biểu đồ trạng thái của đối tượng đặt hàng 56
Hình 3.18 : Biểu đồ chức hoạt động của chức năng giỏ hàng 57
Hình 3.19 : Biểu đồ hoạt động cho chức năng đặt hàng 58
Trang 5Hình 3.20 : Biểu đồ hoạt động cho chức năng đăng nhập 59
Hình 3.21 : Biểu đồ chức thành phần của hệ thống 60
Hình 3.22 : Biểu đồ chức triển khai của hệ thống 60
Hình 4.1 : Biểu đồ chức năng thay đổi thông tin người dùng 61
Hình 4.2 : Biểu đồ chức năng thay đổi thông tin người dùng 72
Hình 5.1 : Giao diện trang chủ 73
Hình 5.2 : Đăng nhập 74
Hình 5.3 : Đăng ký 74
Hình 5.4 : Tìm kiếm 75
Hình 5.5: Giỏ Hàng 75
Trang 6Chương I : Giới Thiệu
I Lý do chọn đề tài và giới thiệu website:
I.1 Lý do chọn đề tài :
Hiện nay chúng ta đã thấy nền công nghệ thông tin ở nước ta đang phát triểnmạnh, với sự mở rộng của Internet được phổ biến rộng rãi, len lỏi vào đời sốngcũng như sinh hoạt của con người Sẽ không khó quá để mua một chiếc máy tính vàkết nối mạng Internet để sử dụng cho việc xem tin tức, nghe nhạc hoặc tham gia cáchoạt động giải trí khác Trong một thời gian ngắn ngành công nghệ thông tin đãđóng góp không nhỏ cho việc trao đổi thông tin, cuộc sống ngày càng có xu hướngnăng động, bận rộn hơn vì vậy việc tiết kiệm, hoặc tận dụng được thời gian là việckhá cần thiết, bạn hãy nghĩ rằng khi bạn muốn tìm thông tin một thứ gì đây, chúng
ta có thể dùng Internet, thì tại sao không dùng nó để trao đổi thông tin mua bán, bạnchỉ cần ở nhà hoặc ở công ty hoặc bất kỳ ở đâu, chỉ cần mở máy tính lên với một vàithao tác đơn giản bạn có thể mua được một hoặc nhiều món hàng cho mình màkhông cần phải tự đi tìm rồi trực tiếp xem nó chẳng phải là rất tốt và tiết kiệmđược vô số thời gian cho bạn ? Mô hình dịch vụ trao đổi , mua sắm hàng hóa quaInternet ra đời sẽ thay đổi cách thức cho bạn
Vì vậy, đề tài “ Xây dựng Website giới thiệu và bán sách trực tuyến ” là một
mô hình nhỏ trong rất nhiều mô hình bán hàng trực tuyến, rất thực tế , cần thiết chocuộc sống hôm nay Việc thiết lập một website bán hàng trực tuyến nhanh chóngvới nhiều dịch vụ tiện ích và hoàn toàn miễn phí (hoặc chi phí thấp ) có thể quảng
bá được hình ảnh shop bán hàng,tạo cơ hội mua sắm hoàn toàn trên mạng cho tất cảmọi người …là giải pháp tối ưu và thiết thực với các doanh nghiệp cũng như nhucầu người dùng ở nước ta
I.2 Giới thiệu ngôn ngữ viết chương trình :
Website được xây dựng bằng bởi :
Phân tích thiết kế hệ thống : UML
Ngôn ngữ soạn thảo HTML : dùng để thiết kế tạo trang web
Ngôn ngữ lập trình : PHP
Trang 7 Hệ quản trị cơ sở dữ liệu : MYSQL
Web Sever : Apache
UML
UML (Unified Modelling Language) là ngôn ngữ mô hình hóa tổng quát đượcxây dựng để đặc tả, phát triển và tiết tài liệu cho các khía cạnh trong phát triển phầnmềm hướng đuối tượng UML giúp người phát triển hiểu rõ và ra quyết định liênquan đến phần mềm cần xây dựng UML bao gồm các tập khái niệm, các ký hiệu,các biểu đồ và hướng dẫn
UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên việc nắm bắt khíacạnh cấu trúc tĩnh và các hành vi động của hệ thông
Các cấu trúc tĩnh định nghĩa các kiểu đối tượng quan trọng của hệ thống,nhằm cài đặt và chỉ ra mối quan hệ giữa các đối tượng đó
Các hành vi động (Dynamic behavior) định nghĩa các hoạt động của cácđối tượng theo thời gian và tương tác giữa các đối tượng hướng tới đích
HTML
HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) làngôn ngữ đánh dấu chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu làcác tập tin văn bản đơn giản
Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trìnhduyệt(Web browsers) cách hiển thị các thành phần của trang như text vàgraghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím vànhắp chuột Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer,FireFox Mozilla, Google Chrome, nhận biết các tag của HTML vượt xa nhữngchuẩn HTML đặt ra Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML
mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì
PHP
PHP là gì ?
PHP (Personal Home Page) là kịch bản trên Server (Server Script) được thiết
kế cho phép bạn xây dựng ứng dụng Web trên CSDL Mã PHP có thể thực thi trên
Trang 8Web Server (trình chủ Web) để tạo ra trang HTML và xuất ra trình duyệt Web theoyêu cầu người dùng.
PHP ra đời khoảng năm 1994, do một người phát minh mang tên Rasmuslerdorf, dần dần nó được phát triển bởi nhiều người khác cho đến nay
PHP là Open Source (mã nguồn mở), điều này có nghĩa là bạn có thể làmviệc trên mã nguồn, thêm, sửa, sử dụng và phân phối chúng Để tham khảo các mãnguồn của PHP bạn có thể tham khảo trên Internet tại địa chỉ http://www.php.nethay http:// www.zen.com
PHP dễ sử dụng, chi phí thấp, vì bản thân nó là mã nguồn mở nên bạn khôngphải tốn tiền mua bản quyền Ngoài ra nó còn có thể chạy trên các CSDL không yêucầu bản quyền như MySQL, PostgreSQL (tất nhiên nó vẫn có thể chạy trên cácHCSDL như SQL Server, MS Accses,…)
- Ở hầu hết các mức cơ bản nhất PHP có thể làm bất kì điều gì mà các ngônngữ khác có thể làm, ví dụ như tập hợp các dạng dữ liệu, sinh ra các trang Webđộng, gửi và nhận các cookie Đặc diểm mạnh nhất và nổi bật nhất của PHP là nó
hỗ trợ khả năng rộng lớn các CSDL (như đã nói ở trên) PHP cũng hỗ trợ việc “nóichuyện” với các dịch vụ khác sử dụng các thao tác như IMAP, SNMP, NNTP,POP3, HTTP…Ta cũng có thể mở các soket mang mới và tương tác với các giaothức khác
Để chạy được các ứng dụng của PHP bạn cần có trình chủ Web Server ỞWindows bạn phải có cấu hình PHP trên Server có cài đặt IIS (Internet InformationServer) hoặc trình chủ Web có tên Apache PHP có thể chạy trên bất cứ hệ điềuhành (Operator System hay OS) nào.Trong trường hợp sử dụng hệ điều hành Linuxbạn có thể cấu hình PHP trong trình chủ Apache như trong Windows Ngoài ra máycủa bạn buộc phải có trình duyệt Web (Internet Explorer Browser)
Trang 9 Tại sao phải dùng PHP
Như chúng ta đã biết, có rất nhiều trang web được xây dựng bởi ngôn ngữHTML Đây chỉ là những trang web tĩnh, nghĩa là chúng chỉ chứa đựng một nộidung cụ thể với những dòng văn bản đơn thuần, hình ảnh, và có thể được sự hỗ trởbởi ngôn ngữ JavaScript, hoặc Java Apple Tuy nhiên, internet và intranets đã được
sử dụng cho các ứng dụng cần tới cơ sở dữ liệu Các trang ứng dụng như vậy đượcgọi là trang web động, bởi vì nội dung của chúng luôn thay đổi tùy thuộc vào dữliệu và người sử dụng
PHP là ngôn ngữ làm được những điều như vậy Bằng cách chạy chương trìnhPHP trên máy chủ Web server, ta có thể tạo ra các ứng dụng có sự tương tác với cơ
sở dữ liệu để tạo ra những trang web và đây được gọi là trang web động
Chúng ta hãy xem xét cách hoạt động của trang web được viết bằng ngôn ngữHTML và PHP như thế nào
Trang 10 Sự phổ biến của Website & PHP
Nhưng Internet đã trở thành một phần trong cuộc sống của hầu hết chúng ta.Cùng với sự hình thành của Internet, sự ra đời và phát triển của hệ thống website đãlàm cải thiện và phong phú hơn cho xã hội hiện nay Với xu thế đó, xây dựngwebsite trở thành một hành động “cần được xem xét” đối với lập trình viên
Khác với mô hình lập trình Desktop thông thường, lập trình trên môi trườngweb chủ yếu dựa vào mô hình Client-Server và giao thức HTTP để làm việc Hiệntại, có khá nhiều ngôn ngữ cho phép chúng ta lập trình web như Java, NET, PHP,Perl, Python, Ruby on Rails…mỗi ngôn ngữ đều có những ưu và khuyết điểm riêng.Nội dung của bài viết này sẽ đi vào một số điểm nổi bật của PHP và một số nhân tốkhiến PHP ngày càng trở nên phổ biến như ngày nay
Với PHP, bạn có thể viết ra nhiều kiểu ứng dụng có mô hình tương tác khácnhau như thông qua website (HTTP Request – Response), thông qua CommandLine Interface – CLI (Shell, Batch processing…), Web Service (SOAP, REST…),thông qua ứng dụng Desktop (PHP-GTK)… Giống như các công nghệ web khác,PHP là một ngôn ngữ phía Server, có nghĩa là code của bạn sẽ được triển khai vàthực thi trên Server
Mới ra đời gần 15 năm nhưng PHP đã có sự phát triển nhanh chóng và chóngmặt Có thể chỉ ra đây một số ứng dụng nổi tiếng viết bằng PHP như: Yahoo,Facebook, Wikipedia, Digg, Joomla, WordPress…Sự phổ biến của PHP trong xâydựng web đã làm cho ngày càng nhiều website triển khai bằng PHP Một số dạngweb tiêu biểu có thể viết bằng PHP là : Social Network, Message Board (Forum,Guestbook, Blog…), CMS (Content Management System), E-Commerce,Multimedia (Image Gallery, Music, Video…), Web Mail, IM (Instant Message),Office tools…
Ưu điểm của PHP
Trang 11- Cộng đồng hỗ trợ, chia sẽ kinh nghiệm của PHP cũng rất dồi dào Với rấtnhiều diễn đàn, blog trong và ngoài nước nói về PHP đã khiến cho quá trình tiếpcận của người tìm hiểu PHP được rút ngắn nhanh chóng
Lập trình hướng đối tượng
- Ngày nay, khái niệm lập trình hướng đối tượng (OOP) đã không còn xa lạvới lập trình viên Với khả năng và lợi ích của mô hình lập trình này nên nhiều ngônngữ đã triển khai để hỗ trợ OOP
- Từ phiên bản PHP 5, PHP đã có khả năng hỗ trợ hầu hết các đặc điểm nổi bậtcủa lập trình hướng đối tượng như là Inheritance, Abstraction, Encapsulation,Polymorphism, Interface, Autoload…
- Với việc ngày càng có nhiều Framework và ứng dụng PHP viết bằng mô hìnhOOP nên lập trình viên tiếp cận và mở rộng các ứng dụng này trở nên dễ dàng vànhanh chóng
Thư viện phong phú
- Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong phú và đadạng Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP.net…) cho tớinhững cái lớn hơn như Framework (Zend, CakePHP, CogeIgniter, Symfony…) ,ứngdụng hoàn chỉnh (Joomla, WordPress, PhpBB…)
- Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễdàng và nhanh chóng Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật vàcũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triểnweb
Tính Bảo mật
- Bản thân PHP là mã nguồn mỡ và cộng đồng phát triển rất tích cực nên cóthể nói PHP khá là an toàn
Trang 12- PHP cũng cung cấp nhiều cơ chế cho phép bạn triển khai tính bảo mật choứng dụng của mình như session, các hàm filter dữ liệu, kỹ thuật ép kiểu, thư việnPDO (PHP Data Object) để tương tác với cơ sở dữ liệu an toàn hơn.
- Kết hợp với các kỹ thuật bảo mật ở các tầng khác thì ứng dụng PHP sẽ trởnên chắc chắn hơn và đảm bảo hoạt động cho website
Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu
- Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất yếu vàPHP cũng đáp ứng rất tốt nhu cầu này Với việc tích hợp sẵn nhiều Database Clienttrong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệu thôngdụng
- Việc cập nhật và nâng cấp các Database Client đơn giản chỉ là việc thay thếcác Extension của PHP để phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc
- Một số hệ cơ sở dữ liệu thông dụng mà PHP có thể làm việc là: MySQL, MSSQL, Oracle, Cassandra…
Khả năng mở rộng cho PHP
- Bằng việc xây dựng trên nền ngôn ngữ C và là mã nguồn mở nên khả năng
mở rộng cho ứng dụng PHP có thể nói là không có giới hạn
- Với thư viện phong phú và khả năng mở rộng lớn, ứng dụng PHP có thểtương tác với hầu hết các loại ứng dụng phổ biến như xử lý hình ảnh, nén dữ liệu,
mã hóa, thao tác file PDF, Office, Email, Streaming…
- Bạn hoàn toàn có thể tự xây dựng cho mình các Extension để tối ưu, bổ sungcác chức năng cho PHP cũng như tối ưu luôn Core của PHP để phục vụ cho cácmục đích mở rộng website của mình
Để học tập và nghiên cứu PHP thì triển khai môi trường để tiến hành rất dễ.Bạn có thể cài các bộ ứng dụng đầy đủ để tạo mô hình Client-Server ngay trên máycủa mình để học (AppServ, WAMP, XAMPP…)
Nếu bạn không muốn code từ đầu thì có thể nghiên cứu các Framework PHP
để phát triển ứng dụng trên đó như là Zend, CakePHP, CodeIgniter…
Nếu bạn không muốn code từ đầu thì có thể nghiên cứu các Framework PHP
để phát triển ứng dụng trên đó như là Zend, CakePHP, CodeIgniter…
Trang 13Cũng như hầu hết các ngôn ngữ lập trình hiện đại khác, bạn cũng có thể sử
dụng các IDE để phát triển ứng dụng PHP như Zend Studio,PHP Designer,
Nusphere PhpED, NetBeans, Eclipse…Với các tính năng nổi bật như là Code &
Syntax Highlighting, Auto-Complete, Project Manager, Code Navigator, Debug…thì việc code PHP sẽ trở nên dễ dàng và nhanh chóng hơn
PHP được hỗ trợ nhiều tuy nhiên cũng có nhiều điểm hạn chế ví dụ trong lậptrình hướng đối tượng (kiến trúc MVC), nhưng từ PHP5 trở đi lập trình hướng đốitượng đã được đưa vào khá đầy đủ
Nhược điểm của PHP
PHP rất thích hợp hơn cho những nhóm phát triển nhỏ, cho cách phát triểnkiểu agile, nghĩa là có thời gian phát triển và đưa vào sử dụng nhanh vì vậy việcphát triển một dự với quy mô lớn sẽ có khó khăn, nhưng với cho sinh viên muốnlàm được một dự án nhỏ cho riêng mình, nhanh chóng với thời gian của mình thì đó
là sự lựa chọn khả thi
Ưu điểm của hệ quản trị csdl MYSQL
Như chúng ta đã biết có rất nhiều dạng Database khác nhau như: Oracle,MSSQL, Access, mySQL… tùy theo các yêu cầu thực tế mà các lập trình viên sửdụng một Database hợp lý cho riêng mình trong đó mySQL được rất nhiều lập trìnhviên chú trọng mà nhất là viết ứng dụng cho Web chạy trên nền PHP,
Điểm mạnh của MySQL là chạy trên mọi ngôn ngữ như ASP, Net, PHP,JSP… khi chạy nó không đòi hỏi tài nguyên máy quá lớn như CPU, Ram chẳnghạn
Nhược điểm là độ bảo mật chưa cao bằng MSSQL hay Oracle… và quá trìnhRestore có phần chậm chạp hơn
Tuy nhiên những nhược điểm đó là không đáng kể cho các bạn viết các hệquản trị nội dung cỡ trung bình khá, vì chỉ có những hệ thống từ lớn đến rất lớn mới
có những yêu cầu phức tạp hơn
Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhấttrên thế giới vì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao và dễ sửdụng Nó được sử dụng mọi nơi – ngay cả châu Nam Cực - bởi các nhà phát triển
Trang 14Web riêng lẻ cũng như rất nhiều các tổ chức lớn nhất trên thế giới để tiết kiệm thờigian và tiền bạc cho những Web sites có dung lượng lớn, phần mềm đóng gói – baogồm cả những nhà đi đầu trong lĩnh vực công nghiệp như Yahoo!, Alcatel-Lucent,Google, Nokia, YouTube và Zappos.com.
MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới,
nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứng dụng xâydựng trên nền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy trên hơn 20flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đến chobạn tính linh hoạt trong việc sử dụng
Dù bạn mới làm quen với công nghệ cơ sở dữ liệu hay là một nhà phát triểngiàu kinh nghiệm hoặc là DBA, MySQL sẽ giúp bạn thành công
Tính linh hoạt
Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử
lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu
đồ sộ lên đến hàng terabytes thông tin Sự linh hoạt về flatform là một đặc tính lớncủa MySQL với tất cả các phiên bản củaLinux, Unix, và Windows đang được hỗtrợ Và dĩ nhiên, tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàntoàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server
và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có chocác hệ thống doanh nghiệp khó tính ngày nay
Có thể sử dụng ngay:
Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo củaMySQL MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớtốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duynhất cho server cơ sở dữ liệu MySQL
Trang 15Hỗ trợ giao dịch mạnh
MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhấttrên thị trường Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic– tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóamức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đadạng (multi-version) mà người đọc không bao giờ gây trở ngại cho người viết vàngược lại Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trìnhserver có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiệnkhóa chết ngay lập tức
Nơi lưu trữ Web và Data đáng tin cậy:
MySQL là nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó
có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnhcho các chức năng chuyên dụng của web như tìm kiếm văn bản nhanh Những tínhnăng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cườngđến hàng terabyte cho các server đơn Các tính năng khác như bảng nhớ chính, cây
B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web và các ứngdụng doanh nghiệp
Chế độ bảo mật dữ liệu mạnh
Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia
về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽđược bảo mật tuyệt đối Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cungcấp các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới cóthể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người dùngngay từ mức máy khách là điều có thể làm được SSH và SSL cũng được hỗ trợ đểchắc chắn các kết nối được an toàn và bảo mật Một đối tượng framework đặcquyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã hóa
và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật Cuối cùng, tiệních backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 chophép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thờiđiểm nào đó
Trang 16Sự phát triển ứng dụng hỗn hợp
Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mởphổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứngdụng nào cần Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các storedprocedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa Vớicác ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗtrợ trong bất kì ứng dụng nào MySQL cũng cung cấp các bộ kết nối như: ODBC,JDBC, … để cho phép tất cả các form của ứng dụng sử dụng MySQL như mộtserver quản lí dữ liệu được ưu tiên
có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việcquản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra
Mã nguồn mở tự do và hỗ trợ liên tục
Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mãnguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toànphục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn
về sự thành công toàn diện cho các ứng dụng chủ chốt của họ Những lo lắng của họ
có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL
Tổng chi phí thấp nhất
Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đangthấy rõ việc tiết kiệm chi phí Được hoàn thành thông qua sử dụng server cơ sở dữliệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạtđược ở mức ngạc nhiên về khả năng xử lý Thêm vào đó, tính tin cậy và dễ duy trì
Trang 17của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu không phải mấtnhiều thời gian sửa chữa hay vấn đề thời gian chết.
Apache hay là chương trình máy chủ HTTP là một chương trình dành chomáy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hànhtương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hànhkhác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạngweb thế giới (tiếng Anh: World Wide Web) Apache cũng là một kiểu mẫu WebServer rất phổ biến Nó 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ínhnăng của Apache
Web server (máy chủ Web): là máy tính mà trên đó cài đặt phần mềmphục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server
Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuynhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIScủa Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java SystemWeb Server của SUN dành cho *.jsp
Web browser(Trình duyệt web): Phần mền phiên dịch đánh dấu của cácfile bằng HTML, định dạng chúng sang các trang Web, và thể hiện chúng cho ngườidùng Vài browser có thể cho phép người dùng gởi nhận e-mail, đọc newsgroups, vàthực hiện các file sound hoặc video đã được nhúng và trong tài liệu Web
URL (Uniform Resource Locator): địa chỉ tới một trạm Internet haymạng nội bộ, là 1 chuỗi cung cấp địa chỉ Internet của 1 Web site tài nguyên trênWorld Wide Web, đi theo sau 1 nghi thức URL thường dùng là http://, để chỉ địnhđịa chỉ Web site trên Internet Những URL khác là gopher://, ftp://, mailto://
HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tảisiêu văn bản) Nó là giao thức cơ bản mà World Wide Web sử dụng HTTP xácđịnh cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và cácfile multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào
mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm đểđáp ứng các lệnh rất đa dạng Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào
Trang 18trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướngdẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web Nóinôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trìnhduyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.
Hình 1.3: Mô hình quan hệ giữa Apache – PHP – MySQL
I.3.Hướng dẫn cài đặt APACHE, PHP và MySQL
Một trong những khó khăn ban đầu của người mới làm Web đó là cài đặt WebServer Đa phần cảm thấy rất chật vật trong việc cài đặt Apache (Web Server) +MySQL (Database Server) + PHP và cấu hình sao cho chúng làm việc tốt với nhau.Tuy nhiên có một giải pháp khá đơn giản và tiện lợi Đó là gói cài đặt tích hợp gồmApache + MySQL + PHP + PHPMyAdmin (một công cụ quản trị CSDL) Hiện nay
có rất nhiều phần mềm miễn phí được tích hợp cả 3 phần Apache, PHP và MySQLrất tiện cho người sử dụng như Wampserver, Appserver, Xampserver, Vertrigo Mọiviệc cần làm chỉ còn là tải bản cài đặt và tiến hành cài đặt từng bước theo chỉ dẫn.Trong đồ án sử dụng phần mềm Wampserver, nên trong phần này em xin hướngdẫn cài đặt phần mềm Wampserver
- Trước tiên ta phải tải phần mềm Wampserver tại địa chỉ sau:
http://www.wampserver.com/
- Sau khi tải xong về máy tính, ta có thể cài đặt các bước như sau:
Trang 19- Trong quá trình cài đặt các ta lưu ý các bước sau:
Lựa chọn cách thức khởi động
Nếu đánh dấu vào ô kiểm: WAMP sẽ được khởi động cùng Windows như mộtdịch vụ
Hình 1.4: Hướng dẫn cài đặt Wampserver bước 1
Chọn thư mục gốc để lưu Website
Theo mặc định thư mục gốc lưu trữ Web: C:/wamp/www, tuy nhiên ta nênchọn một vị trí khác, chẳng hạn: D:/www
Hình 1.5 : Hướng dẫn cài đặt Wampserver bước 2
Trang 20Khai báo tham số hỗ trợ việc gửi mail
Hình 1.6: Hướng dẫn cài đặt Wampserver bước 3
Khai báo địa chỉ mail để người nhận biết ta là ai.
Chỉ có tác dụng nếu ta đã khai báo đúng trong bước ở trên
Hình 1.7: Hướng dẫn cài đặt Wampserver bước 4
Hoàn tất việc cài đặt và chạy thử:
Sau khi ta cài đặt thành công, ta sẽ thấy biểu tượng của WAMP ở góc mànhình như dưới đây:
Trang 21Để chạy thử Web ta làm như sau: nhấn vào mục “Localhost” của MenuWAMP hoặc mở trình duyệt và gõ “http://localhost/” để kiểm tra kết quả.
Hình 1.8: Hướng dẫn chạy thử Wampserver
Để quản lý Cơ sở dữ liệu MySQL tạo database (DB):
Ta nhấn vào dòng phpMyadmin của Menu WAMP hoặc mở trình duyệt và
gõ: “http://localhost/phpMyadmin/”
Hình 1.9 : Hướng dẫn tạo database trong phpMyAdminTạo xong DB các thông số của DB như sau:
+ host name = localhost
+ DB name = tên DB ta tạo
Trang 22+ username = root.
I.3 Giới thiệu website :
- Website được xây dựng chủ yếu bằng ngôn ngữ PHP & cơ sở dữ liệuMYSQL
- Các chức năng chính của website :
+ Trưng bày các loại sách
+ Cho phép khách hàng lựa chọn sách để đặt hàng trực tuyến
+ Tìm kiếm sản phẩm theo tên, danh mục, nhà cung cấp
+ Gửi thông tin liên hệ cho admin
+ Đăng ký thành viên
+
Trang 23Chương II : Lập Kế Hoạch
I Khởi tạo dự án
I.1 Ngữ cảnh
a/ Mô tả bài toán :
Đọc sách là một trong những hoạt động rất quan trọng nhằm nâng cao trình
độ, văn hoá, nghiệp vụ …Có thể nói hầu hết những người thành công đều là tín đồcủa sách Tuy nhiên việc chọn sách phù hợp với nhu cầu và sở thích của chúng ta làmột việc rất tốn thời gian và công sức
Trước nhu cầu thiết yếu đó chúng tôi đã xây dựng trang web nhằm quảng bágiới thiệu và bán các loại sách, giúp cho mọi người không mất nhiều thời gian màvẫn có thể lựa chọn được những sản phẩm phù hợp với nhu cầu và sở thích của mỗingười
Hy vọng với những mẫu sản phẩm trong trang web này sẽ giúp cho các bạn chọn cho mình được những sản phẩm ưng ý
a/ Tên dự án : Hệ thống website quản lý và bán sách trực tuyến
Thực tế khảo sát : Nhà sách Nguyễn Văn Cừ địa chỉ : 36 Xuân Thủy, phường Quan Hoa, Quận Cầu Giấy, Hà Nội
Phone: (84-4) 754 9099 - Fax: (84-4) 754 9098 E-mail: nguyenvancu.vn@gmail.com
Trang 24- Đưa vào trang web nhiều dạng sách
- Hiển thị thông tin chi tiết về sản phẩm như : giá cả, số lượng … để giúpkhách hàng dễ dàng chọn lựa các sản phẩm một cách chính xác
Trang 25- Xây dựng hệ thống tìm kiếm hiệu quả qua những thông tin chi tiết trên sảnphẩm Khách hàng có thể tìm kiếm theo nhiều tiêu chí khác nhau như thể loại, tênsách
- Tích hợp hệ thống quản lý khách hàng (đăng ký, đăng nhập )
I.3 Quản lý dự án
a/ Kế hoạch thực hiện và phân công nhiệm vụ :
1 Lập kế hoạch và phát triển
hệ thống
- Khởi tạo dự án
- Quản lý dự án
Tìm hiểu kế hoạch xây dựng hệ thống và
đề ra các bước xây dựng nên hệ thống
2 Phân tích
- Kế hoạch phân tích Xác định yêu cầu hệ thống
- Thu thập các yêu cầu Lập kế hoạch phỏng vấn người dùng đưa
ra các yêu cầu nghiệp vụ, yêu cầu chức năng của hệ thống
- Xác định các mô hình Xác định được những tác nhân cơ bản
của hệ thống và những hoạt động của hệ thống
Chương 3 : Phân Tích Thiết Kế Hệ Thống
Trang 26I Khảo sát hiện trạng
I.1 Giới thiệu chung
a/ Khảo sát nhà sách :
+ Địa chỉ : Book shopping, số 2 đường Xuân Thuỷ, Cầu Giấy, Hà Nội
+ Nhà sách bán sách và các vật dụng, thiết bị liên quan đến học tập
+ Sách được phân chia thành các vị trí theo danh mục, gồm các danh mục sau:
Người ThựcHiện
PhầnTrămTìm tư liệu hình ảnh
II Mô tả nghiệp vụ:
Nhà sách tiến hành nhập sách, phân loại Sau đó, người quản trị sẽ cập nhậtthông tin về sách này lên website với đầy đủ thông tin về giá cả, loại sách, giới thiệunội dung … và hình ảnh minh hoạ nếu có
Trang 27 Người dùng có thể vào xem thông tin chi tiết của từng loại sách, có thể tìmkiếm sách theo các yêu cầu cụ thể về giá cả, hoặc theo thông tin chi tiết của sách.Sau đó người dùng có thể tiến hành đặt mua sách đang xem nếu muốn Người dùngcũng có thể thông qua trang web để gửi những góp ý, yêu cầu của mình.
Các đơn đặt hàng cũng như yêu cầu, góp ý của người dùng sẽ được truyềnxuống database và người quản trị sẽ thông báo cho nhân viên nhà sách để xác nhậnviệc phản hồi và đăng ký mua sách, sau đó sách sẽ được giao đến tận nhà kháchhàng theo địa chỉ đăng ký
Người quản trị cao cấp nhất có quyền tạo lập, thêm mới các user và phânquyền
III Chức năng của hệ thống
III.1 Chức năng phân quyền
Phân quyền trong website bao gồm : admin, member, guest
Trang 28III.2 Chi Tiết
Khách :
Chức năng Mô tả chức
năng
Dữ liệu đầu vào
Chọn loại sản phẩm hay sản phẩm cần xem
Truy nhập vàoCSDL để lấy thông tin
Hiển thị thông tin cho người sủ dụng
Tìm kiếm
thông tin
Tìm kiếm hàng hoá theo
từ khoá
Nhập từ khoá cần tìm kiếm
Truy nhập vàoCSDL để tìm kiếm lấy thông tin
Hiển thị thông tin tìm kiếm được
Đăng ký làm
member nếu
có nhu cầu
Đăng ký member
Nhập thông tin cá nhân theo form
Kiểm tra tính hợp lệ của thông tin vừa nhập nếu ko
có lỗi thì lưu vào CSDL
Hiển thị đăng
ký thành công Nếu có lỗi thì báo lỗi yêu cầu nhập lại
Trang 29Nhập username vàpassword
Truy xuất CSDL tìm kiếm
và kiểm tra username và password
Hiển thị đăng nhập thành công nếu lỗi thông báolỗi và quay về trang login
Thoát khỏi
tài khoản
đăng nhập
Thoát khỏi tài khoản
Ấn nút logout
Tìm kiếm và thay đổi trong CSDL
Hiển thị logout thành công
Đặt hàng,
mua hàng
Đặt, mua sản phẩm
mà khách hàng muốn mua
Mã sản phẩm muốn mua hoặc đặt mã người sử dụng
Kiểm tra kho hàng trong CSDL, xử lý thêm, sửa, xóa giỏ hàng
Thông báo thành công hoặc xin lỗikhi hết hàng
Trang 30Quản Lý :
Chức năng Mô tả chức
năng
Dữ liệu đầu vào
Update, insert, delete sản phẩm
Lưu thay đổi vào trong CSDL
Hiển thị thay đổi thành công
Quản lý
member
Admin xem danh sách user, và có thể block user nếu cần thiết
Block user, unblock user
Lưu thông tinvào CSDL
Hiển thị thông báo thành công
Quản lý tin
tức
Admin có quyền thêm, chính sửa hayxoá các tin tức trên web
Update, insert, delete tin tức
Lưu thay đổi tin tức vào trong CSDL
Hiển thị thay đổi thành công
Quản lý, xử
lý các thông
tin liên hệ
Admin xem các thông tin liên hệ và phản hồi lại cho khách hàng
Xem các thông tin liên hệ
Truy xuất CSDL và lấy các thông tin liên hệ
Hiển thị các thông tin liên hệ
đã sắp xếp (đã xử
lý hay chưa xử lý)
III.3 Chức năng quản lý danh mục sách
Người quản trị có thể thêm, xoá, sửa, danh mục, nội dung,hìnhảnh sách
Hiển thị tất cả tên, hình ảnh và thông tin của các sách mớinhập trong tháng
Đưa ra danh sách các sách bán chạy
Trang 31III.4 Chức năng bán hàng trực tuyến
Đặt hàng : đầu vào là các mặt hàng độc giả chọn mua, thông tin
về khách hàng : họ tên, địa chỉ, số điện thoại, tài khoản ngân hàng.Đầu ra :truy cập vào cơ sở dữ liệu khách hàng đặt mua để vận chuyển hàng đến tayđộc giả
Cập nhật giỏ hàng theo số lượng, sửa-xoá giỏ hàng
III.5 Chức năng thanh toán
Khi đăng ký mua sách, ngày giờ sẽ được lưu trong cơ sở dữliệu, thông tin về khách hàng sẽ được dựa trên thông tin thành viên đăng ký,hàng sẽ được chuyển đến địa chỉ khách hàng và thanh toán tiền tại đó
Khi sản phẩm đã được bán thì số lượng sách trong csdl sẽ tựđộng giảm đi một số lượng bằng số lượng đã bán
Admin có thể xem chi tiết hoá đơn và chuyển hàng theo địa chỉ đãđược cung cấp
Khi khách hàng cần tìm một quyển sách để mua, mà chỉ cóthông tin về thể loại hoặc tên sách sẽ sử dụng chức năng này Thông tin sáchnhập vào càng đầy đủ sẽ kết quả càng chính xác Từ kết quả tìm được kháchhàng có thể mua sách
III.6 Chức năng thông tin
Cập nhật và hiển thị bình chọn của độc giả về trang web
Thống kê số sách, số thành viên và số thành viên đang online
Lưu các thông tin liên quan đến quản trị cũng như của kháchhàng
Địa chỉ liên hệ của nhà sách
Cập nhật và hiển thị ý kiến phản hồi của độc giả
Trang 32IV Mô hình hoá các yêu cầu của hệ thống :
IV.1 Xây dựng Biểu đồ Usecase
Biểu đồ usecase tổng quát
Hình 3.1 : Biểu đồ Usecase mức tổng quát
Biểu đồ usecase phân rã
Hình 3.2 : Biểu đồ phân rã Usecase
Trang 33Các chức năng chính
Chức năng đăng nhập
Chịu trách nhiệm người đăng nhập
Mô tả usecase cho phép xác thực người dùng để họ có thể truy
cập vào portal nhằm sử dụng được một số chức năng tươngứng
Điều kiện ban đầu Người sử dụng đăng nhập với tài khoản của mình
Điều kiện thành công Tài khoản đăng nhập khớp với tài khoản có trong cơ sở dữ
liệu
Kích hoạt thành công Đưa ra thông báo đăng nhập thành công hiện tên tài khoản
của người đăng nhập
Chuỗi sự kiện chính 1 Click vào form đăng nhập
2 Nhập tên tài khoản và mật khẩu → Click đăng nhập(hoặc ấn phím Enter)
3 Hệ thống kiểm tra thông tin vừa được gửi
4 Đưa ra thông báo đăng nhập thành công
5 Chuyển vào trang tài khoản người sủ dụngNgoại lệ Nếu một trong 2 thông tin là tài khoản và mật khẩu không
đúng thì đưa ra thông báo lựa chọn :
1 đăng nhập lại
2 hủy bỏ, quay về trang chủ
3 quên mật khẩu → lấy lại mật khẩu
Trang 34 Chức năng thay đổi thông tin
Chịu trách nhiệm Khách hàng đã đăng nhập hệ thống
Mô tả Usecase cho phép người dùng có thể thay đổi thông tin cá
nhân của bản thân
Điều kiện ban đầu Khách hàng đăng nhập thành công hệ thống
Điều kiện thành công Khách hàng sửa đổi thông tin của mình và kết thúc bằng
kết thúc bằng sự kiện click vào nút cập nhật thông tin
Kích hoạt thành công Hệ thống đưa ra thông báo : Thay đổi thông tin thành công.Chuỗi sự kiện chính 1 Người dùng đăng nhập hệ thống
2 Di chuyển đến mục thông tin cá nhân
3 Click sửa đổi thông tin
4 Chỉnh sửa thông tin cần thay đổi
5 Nhấn nút “lưu”
6 Xuất hiện “lưu thông tin” thành công
Ngoại lệ 1 Nếu trong quá trình thay đổi xảy ra lỗi, hệ thống thông
báo “cập nhật thông tin thất bại”
Trang 35 Chức năng tìm kiếm
Chịu trách nhiệm Tất cả người dùng
kiếm các thông tin liên quan đến các sản phẩm
về sách mà cty giới thiệu
Điều kiện ban đầu Nhập thông tin tìm kiếm
Điều kiện thành công Nhập thông tin tìm kiếm
Kích hoạt thành công Click nút “Search” trên hệ thống
Chuỗi sự kiện chính 1 Người sử dụng nhập từ khóa liên quan đồng
thời có thể lựa chọn các vị trí muốn tìm
2 Click nút “Search”
3 Hệ thống sẽ xử lý dữ liệu vừa nhập, so sánh với cơ sở dữ liệu, các từ trùng khớp hoặc gần đúng với từ khóa sẽ được liệt kê
Ngoại lệ Nếu không tìm thấy được dữ liệu liên quan, hệ
thống đưa ra thông báo : “không tìm thấy kết quảphù hợp”
Chức năng quản lý sách
Trong chức năng quản lý sách được phân rã như sau :
Bao gồm 3 Usecase nhỏ hơn :
Sửa thông tin sách
Trang 36Hình 3.3 : Biểu đồ phân rã Usecase chức năng quản lý sách
Chức năng thêm sách
Chịu trách nhiệm Nhân viên nhà sách
Mô tả Usecase với chức năng cho phép nhân viên thêm mới một
(hoặc nhiều) sản phẩm (sách) vào cơ sở dữ liệu
Điều kiện ban đầu Người đăng nhập được xác thực với “quyền quản trị”
Click vào nút “lưu” sản phẩm
Chuỗi sự kiện chính 1 Đăng nhập với quyền quản trị
2 Vào mục thêm sản phẩm, nhập thông tin vào form
3 Nhấn nút “lưu ”
4 Hệ thống xử lý tự động, thêm sản phẩm vào cơ sở dữ liệu
5 Đưa ra thông báo và hiển thị kêt quả
Ngoại lệ Nếu đăng nhập không phải quyền quản trị thì không thể
thêm sản phẩm
Chức năng sửa thông tin sách
Trang 37Mức 4
Chịu trách nhiệm Nhân viên nhà sách
Mô tả Usecase với chức năng cho phép nhân viên sửa
một (hoặc nhiều) sản phẩm (sách) trong cơ sở dữ liệu
Điều kiện ban đầu Người đăng nhập được xác thực với “quyền quản
trị”
Điều kiện thành công Chuyển vào mục sửa thông tin sản phẩm, nhập lại
thông tin cần sửa theo yêu cầu hệ thống
Kích hoạt thành công Click vào nút “lưu”
Chuỗi sự kiện chính 1 Đăng nhập với quyền quản trị
2 Vào mục sửa sản phẩm, nhập thông tin vào form
3 Nhấn nút “lưu ”
4 Hệ thống xử lý tự động, sửa thông tin phẩm trong cơ sở dữ liệu
5 Đưa ra thông báo và hiển thị kêt quả
Ngoại lệ Nếu đăng nhập không phải quyền quản trị thì
không thể thêm sản phẩm
Trang 38 Chức năng xóa sách
Chịu trách nhiệm Nhân viên nhà sách
Mô tả Usecase với chức năng cho phép nhân viên xóa
một (hoặc nhiều) sản phẩm (sách) trong cơ sở dữ liệu
Điều kiện ban đầu Người đăng nhập được xác thực với “quyền quản
trị”
Điều kiện thành công Click vào mục chọn sản phẩm cần xóa
Kích hoạt thành công Click vào mục “Hủy sản phẩm”
Chuỗi sự kiện chính 1 Đăng nhập với quyền quản trị
2 Click chọn các sản phẩm cần xóa khỏi hệ thống
3 Nhấn nút “Hủy sản phẩm”
4 Hệ thống xử lý tự động, sửa thông tin phẩm trong cơ sở dữ liệu
5 Đưa ra thông báo và hiển thị kêt quả
Ngoại lệ Nếu đăng nhập không phải quyền quản trị thì
không thể thêm sản phẩm
Chức năng quản lý nhân viên
Phân rã chức năng quản lý nhân viên thành 3 Usecase nhỏ hơn :
Thêm nhân viên
Xóa nhân viên
Sửa thông tin nhân viên
Trang 39Hình 3.4 : Biểu đồ phân rã Usecase chức năng quản lý nhân viên
Thêm nhân viên
Chịu trách nhiệm Admin
Mô tả Usecase đưa vào với mục đích cho phép quản trị hệ
thống thêm hồ sơ nhân viên
Điều kiện ban đầu Đăng nhập với quyền Admin
Điều kiện thành công Admin vào mục “thêm nhân viên” sau đó điền các thông
tin cần thiết
Kích hoạt thành công Admin kích hoạt tài hồ sơ mới với nút “lưu”
Chuỗi sự kiện chính 1 Đăng nhập hệ thống với quyền admin
2 Mở form “thêm nhân viên” và điền thông tin nhân viên mới
3 Click nút “lưu”
4 Hệ thống xử lý tự động, nạp thêm thông tin vào cơ sở
dữ liệu
5 Đưa ra thông báo và hiện thị kết quả
Ngoại lệ Chỉ tài khoản admin mới có quyền thêm hồ sơ mới Các
tài khoản còn lại không hiển thị chức năng này
Chức năng xóa nhân viên