Thực Tập Tốt Nghiệp : XÂY DỰNG WEBSITE BÁN MÁY TÍNH
Trang 1Lời đầu tiên em xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ thông tin - Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã tận tình giúp đỡ và giảng dạy cho chúng em trong những năm học vừa qua
Đặc biệt, em xin gửi lời cảm ơn chân thành nhất tới cô Hà Thị Thanh cùng các thầy cô giáo trong bộ môn Công nghệ phần mềm đã tận tình hướng dẫn, giúp đỡ em hoàn thành đề tài thực tập tốt nghiệp này.
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng đồ án khó tránh khỏi thiếu sót, em rất mong nhận được sự thông cảm 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!
Thái Nguyên, 22 tháng 10 năm 2012
Ký tên
Đặng Tiến Tùng
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3
CHƯƠNG I: TỔNG QUAN VỀ CÔNG CỤ VÀ NGÔN NGỮ SỬ DỤNG 4
1 Giới thiệu về JOOMLA! 4
2 JOOMLA 7
3 Giới thiệu về ngôn ngữ lập trình 14
3.1 Ngôn ngữ lập trình mạng PHP 14
3.2 Hệ quản trị cơ sở dữ liệu MYSQL 15
3.3 Giới thiệu về cổng thông tin điện tử 16
3.3.1 Khái niệm cổng thông tin điện tử 16
3.3.2 Các tính năng của portal 17
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19
1 Khảo sát hệ thống 19
2 Phân tích thiết kế hệ thống 21
2.1 Biểu đồ USER CASE 21
2.2 Đặc tả chi tiết từng ca sử dụng 21
2.2.1 Ca sử dụng UC người duyệt web thông thường 22
2.2.2 Ca sử dụng UC người quản trị web 25
2.3 Biểu đồ lớp 40
3 Kiến trúc website 40
CHƯƠNG III: XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG 44
1 Mục tiêu 44
2 Kết quả 44
2.1 Phần giao diện trang web 44
2.2 Khu vực quản trị hệ thống 45
KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 49
Trang 4LỜI MỞ ĐẦU
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinhphục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là một trong những sảnphẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, lànền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sửdụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thìgần như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy
đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần…Trong những năm gần đây các công ty hay cửa hàng hình thành lên ngàycàng nhiều, sự cạnh tranh ngày càng quyết liệt Để mọi người biết đến sản phẩmcủa hãng mình các công ty, cửa hàng đang tìm mọi cách để quảng bá sản phẩm,hình thức quảng bá ra thị trường có rất nhiều cách như phát tờ rơi, dán Appich,quảng cáo trên truyền hình, trên báo chí, hay chính xác hơn là những phương tiệnthông tin liên lạc và qua Website Hình thức quảng cáo trên Website ngày càngđược ưa chuộng Với xã hội ngày càng phát triển, nhất là về lĩnh vực công nghệthông tin, mọi người đều có khả năng sử dụng Internet Quảng cáo sản phẩmbằng Website có những ưu điểm mạnh là có thể tìm kiếm thông tin một cách dễdàng và nhanh chóng, thông tin luôn được cập nhật hàng ngày, bạnđọc có thể ởbất cứ nơi đâu trên thế giới biết được thông tin về mặt hàng cần tìm Thông quaWebsite bạn đọc có thể tìm mua trực tiếp mặt hàng mà không cần tốn thời gian đilại, mặ hàng được mô tả hết sức chi tiết về giá cả, hình thức, bảo hành, khuyếnmại Bán hàng qua mạng là một khía cạnh của thương mại điện tử Một số ngànhkinh tế trọng yếu như ngân hàng, tài chính, bảo hiểm, du lịch, viễn thông, hàngkhông đã có nhiều thành công do ứng dụng CNTT-TT Khoảng 50% doanhnghiệp đã ứng dụng CNTT vào quản lý sản xuất kinh doanh và dịch vụ Trên30% doanh nghiệp có kết nối Internet, 10% có trang Web để phục vụ kinh doanh,tiếp thị trong nước và quốc tế Nhờ có sự phát triển của công nghệ Web đã giúpcho dịch vụ này đã thể hiện được rõ những ưu điểm vượt trội của nó so với hìnhthức kinh doanh thông thường Người quản lý sẽ được hỗ trợ tới mức tối đa bởicác công dụng của ứng dụng Mặt khác nó còn đem lại sự tiện lợi và nhanh chóngcho khách hàng Khách hàng có thể thoải mái lựa chọn hàng hóa, có thể mua
Trang 5hàng ở bất cứ nơi đâu, làm cho khách hàng cảm thấy như đang trong siêu thị thực
sự Một lợi điểm không thể không nói của ứng dụng bán hàng qua mạng là đápứng được số lượng khách, giảm các chi phí dịch vụ đi nhiều so với bán hàngtruyền thống
Do vậy, việc xây dựng ứng dụng bán hàng qua mạng là rất cần thiết Quathực tế cho thấy quảng cáo sản phẩm trên Website và bán hàng qua mạng là lựachọn đúng đắn mang lại nhiều lợi ích và không quá tốn kém so với những hìnhthức quảng cáo khác
Bắt nguồn với ý tưởng này, cùng với những gợi ý của cô giáo Hà ThịThanh, em đã thực hiện đồ án “XÂY DỰNG WEBSITE BÁN MÁY TÍNH CỦACÔNG TY THƯƠNG MẠI VÀ QUỐC TẾ HOÀNG GIA” với các mặt hàng làmáy tính và linh kiện của máy tính Nội dung đồ án được chia làm 3 chương:Chương 1: Tổng quan về công cụ và ngôn ngữ sử dụng
Chương 2: Khảo sát, phân tích và thiết kế hệ thống website
Chương 3: Xây dựng và phát triển hệ thống
Trang 6CHƯƠNG I: TỔNG QUAN VỀ CÔNG CỤ VÀ NGÔN NGỮ SỬ DỤNG
1 Giới thiệu về JOOMLA!
Joomla! là sản phẩm anh em với Mambo giữa tập đoàn Miro của Úc (hãngđang nắm giữ Mambo), với phần đông những người phát triển nòng cốt Mambothực chất cũng là một CMS dựa trên nền web nhưng là sản phẩm nguồn đóng.Ban đầu công ty “Các giải pháp phần mềm Miro” của Úc (Miro SoftwareSolutions) đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng Đến tháng
4 năm 2001, công ty đã thông qua một chính sách bản quyền kép, nghĩa là pháthành Mambo theo cả giấy phép GPL Nhờ sự trợ giúp của Trung tâm Luật Tự doPhần mềm, 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức philợi nhuận khác lấy tên là: Những vấn đề Mã nguồn mở (Open Source Matters),
để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án Mã nguồn mở còn chưađược đặt tên của họ Cùng lúc đó, nhóm Phát triển cũng lập một Website lấy tên
Open Source Matters để phân phối thông tin tới những người sử dụng, nhữngngười phát triển, những người thiết kế và cộng đồng Joomla! nói chung Ngườiđứng đầu dự án chính là Andrew Eddie, còn được biết đến với tên gọi "Sếptrưởng".Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn Open SourceMatters, hầu hết các bài viết cho diễn đàn đều khuyến khích và đồng tình vớihành động của nhóm Phát triển Tin trên đã nhanh chóng được đăng tải trên cáctạp chí newsforge.com, eweek.com và ZDnet.com Trong một thông báo củaEddie 2 tuần sau đó, các nhóm đã được tổ chức lại và cộng đồng Joomla! tiếp tụctăng trưởng Tới ngày 1/9/2005 tên mới của dự án đã được thông báo cho khoảng
3000 người theo dõi đội Phát triển và đến ngày 16/9 thì họ cho ra đời Joomla!1.0
Trang 7- Sửa lỗi Joomla 1.0.x
Hình 1-6 Lịch sử hình thành phát triển Joomla! ứng với các phiên bản
Các phiên bản của JOOMLA
Hiện Joomla! có 3 dòng phiên bản chính
Joomla! 1.0.x: Phiên bản phát hành (ổn định)
Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (ngày 15 tháng 9 năm 2005).Phiên bản phát hành mới nhất: Joomla! 1.0.12 (ngày 25 tháng 12 năm2006)
Joomla! 1.5.x: Phiên bản phát triển (ổn định)
Phiên bản phát hành mới nhất: Joomla! 1.5.11 (ngày 03 tháng 06 năm2009)
Điểm mạnh của Joomla! 1.5: Phần quản trị Website có sử dụng công nghệ
Web 2.0, một số tính năng được cải tiến hơn so với Joomla! 1.0.x
Hiện nay có cac phiên bàn joomla 1.6, joomla 1.7, joomla2.5, nhưng chỉ là thử nghiệm chưa ổn định, chỉ là phiên bản thử nghiệm
Đặc điểm của JOOMLA
Là một CMS dựa trên nền web, Joomla! có rất nhiều đặc điểm nổi bật, giúp
nó chiếm được sự quan tâm đặc biệt của nhiều người sử dụng trên toàn thế giới,phân biệt nó với các CMS dựa trên nền web khác (ví dụ như Mambo)
Trước tiên, Joomla! được thiết kế sao cho đơn giản, dễ cài đặt, dễ sử dụng.Thậm chí một người là lập trình viên cũng có thể dễ dàng cài đặt Joomla! Phần
Trang 8hỗ trợ cho Joomla! cũng rất tốt Các trợ giúp về quá trình cài đặt và sử dụngJoomla! đều có trong trang http://forum.joomla.org.
Joomla! dễ sử dụng tới mức, một khi đã được cài đặt và vận hành thànhcông, thì một người (không nhất thiết phải hiểu biết về CMS, về lập trình…) vẫn
có thể thêm và chỉnh sửa nội dung, tải và thêm vào các hình ảnh, và quản trịnhững dữ liệu quan trọng Thậm chí, các nhà phát triển Joomla! đã tuyên bố rằng
“bất kỳ ai chỉ cần với kỹ năng xử lý văn bản cơ bản cũng đều có thể quản trịđược một Website Joomla!” Và điều này đã được kiểm chứng với việc Joomla!chiếm giữ vị trí số một trong số các CMS nguồn mở hiện nay
Tất cả các công việc quản trị, tạo mới thông tin… đều được thực hiện quagiao diện trình duyệt đơn giản Người sử dụng có thể tạo nhiều khoản mục thôngtin với số lượng không hạn chế Với Joomla!, người sử dụng có thể cập nhậtthông tin ở bất cứ nơi nào có kết nối Internet
Không những thế, với nhiều người, sự hấp dẫn và sức mạnh thực sự củaJoomla! không chỉ nằm ở tính dễ dàng và tiện dụng khi quản lý thông tin; mà cònnằm ở khả năng mở rộng gần như vô hạn của Joomla! Tất cả đều có thể được tải
về và cài đặt tích hợp vào hệ thống tại địa chỉ http://extensions.joomla.org/ Sauđây là một số thành phần mở rộng tiêu biểu:
Bộ xây dựng form hiển thị động – Dynamic form builder
Trình quản lý tài liệu – Document Management: quản lý các tài liệu điện tử.Trình quản lý đa phương tiện: quản lý ảnh, video, …
Những mô tơ giỏ hàng xây dựng sẵn: phục vụ cho Website thương mại điệntử
Trình quản lý hệ thống các banner quảng cáo trên Website
Chương trình lịch làm việc: theo dõi lịch công tác trực tiếp trên web
Hệ thống viết Blog trên Website…
Cũng do đặc điểm là mã nguồn mở nên Joomla! cho phép các nhà phát triểnứng dụng dễ dàng xây dựng các phần mở rộng của riêng mình, theo nhu cầu củamình, sau đó tích hợp vào CMS Joomla!
Các hệ thống thương mại điện tử tích hợp
Các hệ điều khiển xuất nhập kho hàng
Các công cụ làm báo cáo dữ liệu
Trang 9Tóm lại, nếu so sánh giữa các CMS dựa trên nền web hiện nay, thì Joomla!đang được sử dụng rộng rãi nhất nhờ những ưu điểm nổi trội của nó Tất nhiênJoomla! không thể đáp ứng được hết mọi nhu cầu đặt ra, nhưng có thể nói,Joomla! là giải pháp hoàn hảo cho mọi ứng dụng web hiện nay!
Thành phần của JOOMLA
JOOMLA gồm phần chính:
Thành phần lưu trữ nội dung
Ứng dụng quản trị nội dụng CMA
Ứng dụng quản trị siêu dữ liệu MMA
Ứng dụng phân phối dữ liệu CDATuy nhiên, các đặc tả kiến trúc chi tiết, cụ thể không được công bố rộng rãiđối với các phiên bản 1.0.x Chỉ đến phiên bản Joomla! 1.5.x, các nhà phát triểnmới mô tả Joomla! là hệ thống bao gồm ba tầng như sau:
Tầng dưới cùng là mức nền tảng, chứa các thư viện và các plugin (còn đượcbiết với tên gọi mambot)
Tầng thứ hai là mức ứng dụng và chứa lớp JApplication Hiện tại tầng nàygồm 3 lớp con: JInstallation, JAdministrator và JSite
Tầng thứ ba là mức mở rộng Tại tầng này có các thành phần (component),
mô đun (module) và giao diện (template) được thực thi và thể hiện
Phần tiếp theo sẽ tìm hiểu sâu về CMS Joomla! theo cách hai tiếp cận:
Cách thứ nhất: mô tả Joomla! dưới cái nhìn của người phát triển hệthống, phần này sẽ trình bày một số gói thư viện chuẩn của Joomla!
Cách thứ hai: mô tả Joomla! dưới góc độ của người sử dụng hệthống.Các thư viện chuẩn của Joomla!
2 JOOMLA!
Các nhóm người sử dụng và quyền truy cập, Joomla! có thể được chia thànhhai loại:
- Khách – Guest
Trang 10Khách chỉ đơn giản là những người ghé thăm Website Joomla! qua trình duyệt Những người sử dụng có đăng ký là những người có tương tác với Website,thực hiện quá trình đăng ký để có được tên truy cập (user name) và mật khẩu(password) Hai thông số này cho phép người sử dụng đăng nhập vào Website, vàđược cấp những quyền mà khách không có Những người sử dụng có đăng kýđược chia thành hai nhóm:
- Người sử dụng phía Front-end (front-end users)
- Người sử dụng phía Back-end (back-end users)
- Người sử dụng phía front-endNgười sử dụng phía front-end có một số quyền thêm so với khách Đó cóthể là khả năng tạo và xuất bản nội dung lên Website Có thể hiểu nhóm ngườinày mục đích chính của họ là cung cấp nội dung cho Website, chứ không phải làquản trị Website hoặc thay đổi thiết kế của chúng Nhóm người này có thể tạo ranội dung mới thông qua giao diện web, sử dụng các trình soạn thảo WYSIWYG
mà không cần phải có hiểu biết về mã HTML Với nhóm người này, nhà quản trịWebsite có thể phân làm bốn mức:
Author
Author có thể tạo ra nội dung của riêng họ, đặc tảmột vài khía cạnh nào đó về cách thức hiển thị thôngtin, chỉ ra ngày mà nội dung của họ sẽ được xuất bảnEditor Editor (biên tập) cũng có các khả năng như Author,
ngoài ra, họ còn có khả năng chỉnh sửa nội dung của
Trang 11các tác giả khác.
Publisher
Publisher có các khả năng của Author và Editor,thêm vào đó, họ còn có khả năng xuất bản thông tin
Bảng 1-1 Các mức sử dụng của front-end user
Người sử dụng phía Back-end
Những người sử dụng phía back-end bao gồm các mức sau:
Manager: nhà quản lý
Administrator: người quản trị
Super Administrator: người “siêu quản trị”
Các mức này được gọi chung là những nhà quản trị Website, tuy nhiên, họvẫn có thể truy cập vào hệ thống qua giao diện phía front-end Cũng giống nhưvới người sử dụng phía front-end, người sử dụng phía back-end cũng có nhữngquyền khác nhau
Bảng sau sẽ mô tả rõ các đặc điểm này:
Thay đổi templalateSửa đổi cách bố trí trang web (layout)Thêm hoặc gỡ bỡ các mở rộng cho hệ thốngAdministrat
Trang 12Thay đổi templateThay đổi layoutThay đổi thông tin người sử dụng (user profile) có mứcbằng họ hoặc dưới họ.
Những điều mà Administrator không làm được là chỉnhsửa thông tin của Super Administrator hoặc thay đổi thôngtin cấu hình (global characteristic) của hệ thống
Thông tin về các “Super Administrator” không hiển thị
ra trong màn hình “User Manager” khi người sử dụng đăngnhập vào dưới vai trò Administrator
Super
Administrator
Super Administrator có sức mạnh tương tự như người
sử dụng “root” trong hệ thống Linux, và có khả năng vô hạntrong việc thực hiện tất cả các chức năng quản trị trongJoomla! Chỉ có Super Administrator mới có quyền tạo rauser mới với mức sử dụng cũng là Super Administrator,hoặc gán quyền Super Administrator cho người sử dụng sẵn
có
Bảng 1-2 Các mức sử dụng của back-end users
Chỉ có một người sử dụng tồn tại sẵn ngay sau khi cài đặt Joomla!, đó làmột Super Administrator với tên truy cập là ‘admin’ Có để tạo thêm người sửdụng với các vai trò khác nhau, gồm:
Đăng ký người sử dụng mới qua form đăng ký phía front-end (Login-form)của hệ thống
Super Administrator (hoặc Administrator) tạo ra người sử dụng mới tronggiao diện User Manager phía back-end
Các chức năng cơ bản của Joomla! truy xuất qua front-end
Khi một người sử dụng đăng nhập vào hệ thống Website thành công, một hệthống menu có tên là User Menu sẽ hiện ra Dù cho mức sử dụng như thế nào(registered, author, publisher, hoặc editor) thì chỉ có cùng một menu hiện ra Tuy
Trang 13Trong Joomla!, việc quản trị nội dung có ba công việc chính:
Tạo, gửi (Submission) nội dung mới tới hệ thống
Chỉnh sửa nội dung nếu cần thiết
Xuất bản nội dung
Thường thì Author đảm nhiệm việc tạo ra nội dung, editor thực hiện việcchỉnh sửa nội dung, còn Publisher sẽ xuất bản nội dung Một cách mặc định, khiđăng ký người sử dụng qua front-end, vai trò Registered User sẽ được gán Để cóthể thay đổi sang các vai trò khác, administrator (hoặc super administrator) phảisửa đổi mức sử dụng này
Gửi nội dung mới
Có ba khu vực chính trong giao diện này:
Phần 1: Là tiêu đề của bản tin, và thể loại của bản tin
Phần 2: Là bộ soạn thảo WYSIWYG để Author nhập thông tin Bộ soạn thảonày có tên là TinyMCE, gồm rất nhiều các đặc tính của một chương trình soạnthảo HTML Với công cụ này, người sử dụng có thể:
Chỉnh sửa nội dung
Trong Joomla!, Author có thể chỉnh sửa nội dung của mình sau khi nó đãđược xuất bản Thêm vào đó, Editor và Publisher cũng có thể chỉnh sửa nội dungcủa bất kỳ author nào Quá trình chỉnh sửa cũng được thực hiện thông qua giaodiện giống như quá trình tạo mới nội dung
Xuất bản nội dung
Publisher ngoài các quyền của Author và Editor còn có thêm quyền nữa đó
là xuất bản thông tin lên Website Quá trình xuất bản bao gồm hai việc:
Trang 14Thay đổi trạng thái của nội dung (chuyển từ unpublished published) Chỉ
có những nội dung có trạng thái published mới có thể được truy cập qua phíafront-end
Ấn định thời gian (từ khi bắt đầu đến khi kết thúc) mà một bản tin có thểtruy cập được qua phía front-end Nếu nằm ngoài khoảng thời gian này, thì mặc
dù trạng thái của bản tin vẫn là published (được xuất bản), nhưng tin sẽ khôngthể được nhìn thấy trên Website Tham số quyết định điều này có tên là StartPublishing và Finish Publishing
Các chức năng cơ bản của Joomla! truy xuất qua back-end
Để truy cập vào phần back-end, người sử dụng một trình duyệt web và truycập qua địa chỉ http://tênwebsiteJoomla/administrator Sau đó nhập tên và mậtkhẩu truy cập Nếu đăng nhập thành công thì giao diện quản trị sẽ hiện ra
Giao diện này cung cấp rất nhiều chức năng cho việc quản trị thông tin củaWebsite Các vai trò khác nhau (Manager, Administrator, Super Administrator)
sẽ thực hiện các chức năng khác nhau
Chức năng của Manager
Manager có quyền ngang với Publisher khi truy cập vào phía front-end,ngoài ra còn có thể làm các công việc sau ở phía back-end:
Quản lý media: quản trị tất cả các hình ảnh, âm thanh, video trong hệ thống.Quản lý thông tin thống kê: số lượng các tin bài, số lần truy cập vào một nộidung, những tin được nhiều người truy cập nhật…
Quản lý các khoản mục trong hệ thống menu của Website
Trang 15Quản trị nội dung.
Quản trị trang chủ (front page manager): quyết định xem cái gì được hiển thịtại trang chủ
Quản lý lưu trữ (Archive Manager): quyết định nén, lưu các tin bài cũ vàofile nén…
Ở đây, xin được đi chi tiết vào phần quản trị nội dung, bởi vì nội dung chính
là phần quan trọng nhất của hệ thống CMS Để xây dựng và quản lý nội dungmột cách chặt chẽ, Joomla! tổ chức nội dung theo cấu trúc hình cây như sau:
Hình 1-1 Mô hình thông tin được quản lý bởi Joomla!
Nội dung thông tin trong Joomla! được phân thành nội dung tĩnh (StaticContent) và nội dung động (Lưu trong các Section)
Nội dung tĩnh: là loại nội dung được tạo ra và tồn tại trong một khoảng thờigian dài, nó hiếm khi thay đổi, nên được lưu trữ trực tiếp trên site, tương tự nhưcác trang HTML Nội dung tĩnh được đặt riêng trong phần Static ContentManager và được truy cập trực tiếp không cần thông qua Section và Category.Nội dung động: là loại nội dung được lưu trong CSDL hoặc ứng dụng nào
đó, khi cần hiển thị lên site thì hệ thống phải kết nối tới CSDL để tải các nộidung này về thông qua trình duyệt
Chức năng của Administrator
Trang 16Adminstrator có các khả năng của một Manager, ngoài ra, họ còn có quyềnthực hiện các công việc sau:
Trash Manager – quản lý việc xóa bỏ các khoản mục nội dung: những khoảnmục nội dung đã quá cũ có thể bị xóa đi Việc xóa bỏ này được thực hiện qua haigiai đoạn
Giai đoạn thứ nhất – xóa tạm thời: nội dung được đưa vào Trash Ở giaiđoạn này, nội dung vẫn có thể được phục hồi nếu cần thiết
Giai đoạn hai – xóa vĩnh viễn: nội dung bị xóa hẳn khỏi CSDL hoặc hệ thốnglưu trữ, không có khả năng phục hồi
Quản lý người sử dụng: người quản trị có thể tạo mới, thêm, xóa, sửa thôngtin về những người sử dụng dưới quyền họ
Quản lý hệ thống menu, component, module và mambot Đây được xemnhư những đơn vị cơ bản (core element) tạo nên hoạt động của hệ thống
Chức năng của của Super Administrator
Super Adminstrator có tất cả các quyền của Adminstrator Ngoài ra, họ còn
có thêm các quyền sau:
Cấu hình hệ thống – Global Configuration: tại đây, Super Adminstrator cóthể thay đổi một thông tin tiêu biểu như sau:
Các thông tin liên quan đến Website: tên Website, trạng thái hoạt động,thông báo lỗi hệ thống, biểu tượng của Website…
Các thông tin địa lý (locale): múi giờ, ngôn ngữ hiển thị…
Cách thức hiển thị thông tin: hiển thị thông tin như thế nào, template nào.Các thông tin về CSDL: tên host; tên CSDL, tên người sử dụng CSDL
Quản lý ngôn ngữ - Language Manager: tại đây, Super Administrator có thểcài đặt thêm gói ngôn ngữ mới hoặc lựa chọn ngôn ngữ hiển thị của hệ thống Quản lý template – Template Manager: chức năng này giúp SuperAdminstrator thay đổi template của Website một cách dễ dàng và thuận tiện Xem các thông tin chung về hệ thống – System Information
3 Giới thiệu về ngôn ngữ lập trình
3.1 Ngôn ngữ lập trình mạng PHP
Trang 17PHP là viết tắt của "Personal Home Page" Đây là một ngôn ngữ lập trìnhweb mã nguồn mở đang rất phổ biến hiện nay Kịch bản PHP được thiết kế chocác trang web "động" Khi chạy trên máy chủ, chúng sẽ được dịch ra mã HTMLcho người dùng xem trên trình duyệt Như vậy, người dùng chỉ thấy cách thứclàm việc của web động trên trình duyệt mà không thể biết làm cách nào chúngđược tạo ra (với HTML bạn có thể viewsourse để xem mã nguồn của trang webnhưng không thể xem mã nguồn PHP).
Ngôn ngữ PHP cũng giống như các ngôn ngữ lập trình khác như C hayPearl, với các hàm, các cấu trúc Tuy nhiên, PHP đã được bổ sung khá nhiềuhàm rất hữu ích
Một trong những tính năng ưu việt của PHP là khả năng kết nối tới cơ sở dữliệu rất nhanh PHP hỗ trợ rất nhiều chuẩn cơ sở dữ liệu PHP cũng có thể chạytrên nhiều hệ điều hành, cả Window lẫn Unix
Một lý do khác làm PHP khá phổ biến là vì nó rất dễ học, lại có sẵn nhiềucác chương trình ứng dụng dễ sửa chữa "thành của mình"
Dù sao PHP cũng không phải hoàn toàn là một "ông thần vạn năng" Nhiềuhàm của PHP vẫn chưa tương thích với tiếng Việt, như định dạng chuỗi chẳnghạn Tuy nhiên, những sai sót đó không đáng kể so với những hữu ích mà nómang lại
3.2 Hệ quản trị cơ sở dữ liệu MYSQL
MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa
và nhỏ Tuy không phải là một cơ sở dữ liệu lớn nhưng chúng cũng có trình giao
diện trên Windows hay Linux, cho phép người dùng có thể thao tác các hành động
liên quan đến cơ sở dữ liệu
Cũng giống như các cơ sở dữ liệu, khi làm việc với cơ sở dữ liệu MySQL,
bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phần quyền sử dụng,
thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu
Tuy nhiên, trong bất kỳ ứng dụng cơ sở dữ liệu nào cũng vậy, nếu bản thânchúng có hỗ trợ một trình giao diện đồ hoạ, bạn có thể sử dụng chúng tiện lợi hơn
Trang 18các sử dụng Command line Bởi vì, cho dù bạn điều khiển MySQL dưới bất kỳ
hình thức nào, mục đích cũng quản lý và thao tác cơ sở dữ liệu
Tạo CSDL người dùng
Trong trường hợp bạn sử dụng giao diện đồ hoạ thì dùng hệ quản trị cơ sở
dữ liệu MySQL, bạn có thể chạy tập tin mysqlfront.exe trong thư mục MySQL Control, bằng cách chạy tập tin Nếu lần đầu tiên tạo kết nối cơ sở dữ liệu, bạn cần phải tạo một Connection, cung cấp tên Server hay IP của máy chứa MySQL Tuy nhiên, trong trường hợp máy chứa cơ sở dữ liệu MySQL là máy đang sử dụng, bạn có thể sử dụng localhost Ngài ra, cũng giống như các cơ sở dữ liệu khác, Username mặc định của cơ sở dữ liệu MySQl là root và Password là rỗng
Nếu bạn đã có cơ sở dữ liệu đang tồn tại, bạn có thể gõ tên cơ sở dữ liệu
trong phần Databases ( nếu muốn mở nhiều database, bạn có thể dùng dấu ; để
phân cách)
Kiểu dữ liệu của MySql
Trước khi thiết kế cơ sở dữ liệu trên MySQL, bạn cần phải tham khảo một số kiểu dữ liệu thường dùng, chúng bao gồm các nhóm như: numeric, date and time
và string
Đều cần lưu ý trong khi thiết kế cơ sở dữ liệu, bạn cần phải xem xét kiểu dữliệu cho một cột trong Table sao cho phù hợp với dữ liệu của thế
Giới thiệu ngôn ngữ UML
Ngôn ngữ mô hình hợp nhất UML (Unified Modeling Language) là mộtngôn ngữ trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống hướngđối tượng một cách hình dung ra các hệ thống phần mềm, mô hình hóa các tổchức nghiệp vụ và sử dụng hệ thống phần mềm này, UML được sử dụng để hiểnthị, đặc tả, tổ chức, xây dựng và làm tài liệu, các kết quả của các quá trình pháttriển phần mềm hướng đối tượng, đặc biệt là phân tích, thiết kế dưới dạng cácbáo cáo, biểu đồ, bản mẫu các trang web v.v UML đang tiến triển như là chuẩn
và trở thành một chuẩn quốc tế được tổ chức tiêu chuẩn ISO (InternationalStandard Organization) chấp nhận
3.3 Giới thiệu về cổng thông tin điện tử
Trang 193.3.1 Khái niệm cổng thông tin điện tử
Có nhiều khái niệm/định nghĩa về cổng thông tin điện tử tích hợp khácnhau, và cho đến nay chưa có khái niệm/định nghĩa nào được coi là chuẩn xác.Trong phạm vi này, chúng ta tạm sử dụng khái niệm sau cho cổng thông tin điện
tử tích hợp (portal):
“Cổng thông tin điện tử tích hợp là điểm truy cập tập trung và duy nhất, tích hợp các kênh thông tin, các dịch vụ và ứng dụng, phân phối tới người sử dụng thông qua một phương thức thống nhất và đơn giản trên nền tảng Web”
3.3.2 Các tính năng của portal
Khả năng cá nhân hoá (Customization hay Personalization): cho phép
thiết đặt các thông tin khác nhau cho các loại đối tượng sử dụng khác nhau theoyêu cầu Tính năng này dựa trên hoạt động thu thập thông tin về người dùng vàcộng đồng người dùng, từ đó cung cấp các thông tin chính xác tại thời điểm đượcyêu cầu
Tích hợp nhiều loại thông tin (Content aggregation): cho phép xây dựng
nội dung thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng Sựkhác biệt giữa các nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạtđộng của người dùng (user-specific context), ví dụ như đối với từng đối tượng sửdụng sau khi thông qua quá trình xác thực thì sẽ được cung cấp các thông tinkhác nhau, hoặc nội dung thông tin sẽ được cung cấp khác nhau trong quá trình
cá nhân hoá thông tin
Xuất bản thông tin (Content syndication): thu thập thông tin từ nhiều
nguồn khác nhau, cung cấp cho người dùng thông qua các phương pháp hoặcgiao thức (protocol) một cách thích hợp Một hệ thống xuất bản thông tin chuyênnghiệp phải có khả năng xuất bản thông tin với các định dạng đã được quychuẩn, ví dụ như RDF (Resource Description Format), RSS (Realy SimpleSyndication), NITF (News Industry Text Format) và NewsXML Ngoài ra, cáctiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị và hiển thị nộidung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông tin Cáctiêu chuẩn dựa trên XML này cho phép đưa ra giải pháp nhanh nhất để khai thác
Trang 20và sử dụng thông tin trên các Web site khác nhau thông qua quá trình thu thập vàbóc tách thông tin với các định dạng đã được quy chuẩn.
Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): cho
phép hiển thị cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như:màn hình máy tính (PC), thiết bị di động (Mobile phone, Wireless phone, PDA),
sử dụng để in hay cho bản fax… một cách tự động bằng cách xác định thiết bịhiển thị thông qua các thuộc tính khác nhau Ví dụ: cùng một nội dung đó, khihiển thị trên màn hình máy tính thì sử dụng HTML, nhưng khi hệ thống xác địnhđược thiết hiển thị là PDA hay mobile phone, hệ thống sẽ loại bỏ các ảnh có trongnội dung và tự động chuyển nội dung đó sang định dạng WML (Wireless MarkupLanguage) để phù hợp cho việc hiển thị trên màn hình của thiết bị di động
Khả năng đăng nhập một lần (Single Sign On - SSO): cho phép dịch vụ
xuất bản thông tin hoặc các dịch vụ khác của portal lấy thông tin về người dùngkhi hoạt động mà không phải yêu cầu người dùng phải đăng nhập lại mỗi khi cóyêu cầu Đây là một tính năng rất quan trọng vì các ứng dụng và dịch vụ trongportal sẽ phát triển một cách nhanh chóng khi xuất hiện nhu cầu, mà các ứngdụng và dịch vụ này tất yếu sẽ có các nhu cầu về xác thực hoặc truy xuất thôngtin người dùng
Quản trị portal (Portal administration): xác định cách thức hiển thị thông
tin cho người dùng cuối Tính năng này không chỉ đơn giản là thiết lập các giaodiện người dùng với các chi tiết đồ hoạ (look-and-feel), với tính năng này, ngườiquản trị phải định nghĩa được các thành phần thông tin, các kênh tương tác vớingười sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và
sử dụng thông tin khác nhau
Quản trị người dùng (Portal user management): cung cấp các khả năng
quản trị người dùng cuối, tuỳ thuộc vào đối tượng sử dụng của portal Tại đây,người sử dụng có thể tự đăng ký trở thành thành viên tại một công thông tin côngcộng (như Yahoo, MSN…) hoặc được người quản trị tạo lập và gán quyền sửdụng tương ứng đối với các công thông tin doanh nghiệp Mặt khác, tuỳ vào từngkiểu portal mà số lượngthành viên có thể từ vài nghìn tới hàngtriệu
Trang 21Hiện tại phương pháp phân quyền sử dụng dựa trên vai trò (Role-basedsecurity) được sử dụng như một tiêu chuẩn để cung cấp thông tin phân quyền sửdụng cho các đối tượng khác nhau trong các portal cũng như các ứng dụng Web.
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Khảo sát hệ thống
1.1 Khảo sát hiện trạng tổ chức
Công ty Thương mại Quốc tế(TMQT) Hoàng Gia được thành lập vào ngày13/4/2010 có trụ sở tại 223 Lương Ngọc Quyến, TP Thái Nguyên Trải qua banăm hoạt động trong lĩnh vực kinh doanh các mặt hàng về máy tính, linh kiệnmáy tính và máy văn phòng công ty đã gặt hái được nhiều thành công và cónhững bước phát triển mạnh mẽ Bằng sự tận tụy, luôn đặt khách hàng là trọngtâm, công ty TMQT đã tạo được niềm tin thông qua sự hài lòng của khách hàng
Uy tín của công ty cũng dần được nâng tầm bằng việc cung cấp thiết bị, sảnphẩm chính hãng, công nghệ tiên tiến nhất, giải pháp hiệu quả nhất tới kháchhàng
Ngay từ ban đầu, công ty TMQT Hoàng Gia đã xác định sứ mệnh của mình
là trở thành người bạn đồng hành tin cậy nâng bước thành công của khách hàng,
là nền tảng vững vàng để phát triển nghề nghiệp và mang lại cuộc sống phongphú về tinh thần và vật chất cho toàn thể cán bộ, nhân viên trong công ty
*Sơ đồ tổ chức nhân sự
Trang 22Chức năng nhiệm vụ của từng bộ phận:
Ban giám đốc: Theo dõi và quản lý mọi hoạt động của cửa hàng
Phòng nhân sự: Tuyển dụng, huấn luyện và sắp xếp nhân sự cho nhân viên.Phòng tài chính: Quản lý, thanh toán, chi trả các khoản tài chính cho cửahàng
Phòng kinh doanh: Quản lý hoạt động kinh doanh của cửa hàng
Bộ phận tiếp thị: Xây dựng và thực thi những kế hoạch đưa hàng hóa tiếpcận với khách hàng
Bộ phận bán hàng:
+ Bộ phận tiếp nhận đơn đặt hàng: Tổ chức tiếp nhận đơn đặt hàng củakhách hàng
+ Bộ phận bán hàng tại quầy: Bán hàng và trực tiếp thu tiền tại quầy
Bộ phận giao hàng: Giao hàng cho khách hàng
Bộ phận chăm sóc khách hàng: Tực tiếp giải quyết những đề nghị, thắc mắccủa khách hàng
Bộ phận giao hàng
Bộ phận bán hàng
Bộ phận nhận đơn hàng
Bộ phận bán hàng tại quầy
Trang 23Bộ phận kho: Quản ly nhập xuất hàng hóa Thống kê tình hình hàng hóahiện tại của kho.
Phòng công nghệ thông tin: Đảm bảo hệ thống máy tính của cửa hàng hoạtđộng tốt
1.2 Các hoạt động kinh doanh của cửa hàng
Về phía cửa hàng:
Hàng ngày cửa hàng phải tiếp nhận một số lượng tương đối lớn điện thoạicùng các phụ kiện từ nhà cung cấp
Liên tục và nhanh chóng cập nhật những mặt hàng mới
In catalog để giới thiệu các sản phẩm mới cũng như các đợt khuyến mại củacửa hàng
Thực hiện giới thiệu và bán hàng cho khách hàng có nhu cầu, lưu hóa đơnthanh toán để tổng kết báo cáo
Tiến hành bảo hành điện thoại khi khách hàng có nhu cầu
Cửa hàng không chỉ bán lẻ mà 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 đánhgiá kết quả kinh doanh của cơ sở báo cáo lên ban giám đốc
Nếu là khách quen của cửa hàng hoặc mua với số lượng lớn thì sẽ ưu đãihơn về giá cả và dịch vụ chăm sóc khách hàng của cửa hàng
*Phân tích bài toán
Với tiêu chí đặt chữ tín hàng đầu và mong muốn đem lại cho khách hàng sự
Trang 24việc có một website để trưng bày các mặt hàng đồng thời là một kênh phân phốisản phẩm cho công ty là thực sự cần thiết Chính vì những yêu cầu trên em đãxây dựng website “BÁN MÁY TÍNH CỦA CÔNG TY TMQT HOÀNG GIA”
Yêu cầu hệ thống
Về nội dung
Nội dung của website thể hiện được những nội dung sau:
Giới thiệu, cơ sở vật chất, cơ cấu tổ chức
Tin tức, sự kiện
Thông tin về tuyển dụng
Liên hệ
Về chức năng
Hệ thống chia ra làm 3 đối tượng chính :
Người duyệt web thông thường
Thành viên
Người quản trị web
Người duyệt web thông thường
- Xem thông tin về các mặt hàng của công ty hiện có, cấu hình vàthông tin sản phẩn, giới thiệu công ty, thông tin tuyển dụng
Thành viên:
- Xem thông tin: giống người duyệt web thông thường
- Cập nhật thông tin, mua sản phẩm online và liên hệ với công ty
Người quản trị web:
Sau khi đã đăng nhập sẽ được sử dụng giao diện quản trị riêng của mình baogồm các chức năng đã được phân quyền: Quản lý tin tức ,quản lý thành viên, quản
lý liên kết, xem thông tin, tìm kiềm thông tin, Cập nhật thông tin
Hệ thống cần cung cấp cho người quản trị khả năng tổ chức, đăng tải, xuất bảncác bản tin một cách dễ dàng, khả năng chỉnh sửa, cập nhật, thêm, bớt các bản tin
Hệ thống cần cung cấp cho người sử dụng thông thường một giao diện thânthiện để truy cập dễ dàng đến các nội dung thông tin được đăng tải Hệ thống cần
Trang 25có các chức năng như xem những thông tin được đăng tải gần đây nhất, nhữngthông tin được truy cập nhiều nhất; và tìm kiếm thông tin theo từ khóa.
Hệ thống cung cấp cho thành viên nơi cập nhật thông tin một cách nhanhchóng ,nơi giao lưu với các thành viên khác
Yêu cầu về trang web
Nhiệm vụ đặt ra của bài toán là xây dựng được website:
Giao diện đơn giản, dễ sử dụng
Thông tin được cập nhật nhanh chóng, chính xác
Đối với bộ phận quản lý website phải kiểm soát được thông tin vàcập nhật các thông tin một các an toàn và nhanh chóng
2 Phân tích thiết kế hệ thống
2.1 Biểu đồ USER CASE
Mô tả các tình huống sử dụng :
Tác nhân: Người duyệt web thông thường
Người duyệt web có chức năng xem thông tin, liên hệ
Tác nhân người quản trị web(admin)
Quản trị viên có chức năng quản lý tin tức, đăng nhập, tìm kiếm, quản lýliên kết, thêm bài viết, đăng thông tin tuyển dụng, thông tin bản đồ
Trang 262.2 Đặc tả chi tiết từng ca sử dụng
2.2.1 Ca sử dụng UC người duyệt web thông thường
Xem chi tiết tin tức
Mục đích: mô tả cách thức người duyệt web xem thông tin chi tiết về tin tức.Tác nhân: người duyệt web
Mô tả chung: người duyệt web chọn tin tức cần xem Hệ thống hiển thị chitiết tin tức mà người duyệt web cần xem
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn mục tin tức cần xem
3 Chọn tin tức cần xem chi tiết
2 Hiển thị form tin tức theo từngmục
4 Hiển thị form chi tiết tin tứccần xem
Luồng sự kiện phụ: không có
Thông tin đầu vào: tin tức cần xem
Thông tin đâu ra: Chi tiết tin tức cần xem
Biểu đồ trình tự
Trang 27Biểu đồ tương tác