Đại Học Thái Nguyên
Trường Đại Học Công Nghệ Thông Tin và Truyền Thông
Khoa Công Nghệ Thông Tin- Bộ môn Mạng Truyền Thông
……….
Đề tài thực tập tốt nghiệp
Xây dựng Website quảng bá và quản lý sản phẩm
cho làng nghề chè Khuôn II
Sinh viên thực hiện : Đôn Thành Trung
Giáo viên hướng dẫn : Nguyễn Toàn Thắng
Thái Nguyên 2015
1
Lời cảm ơn
Trên thực tế không có sự thành công nào mà không gắn liền với những sự
hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác.
Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em
đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình và bạn
bè.
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Công
Nghệ Thông Tin – Trường Đại Học Công Nghệ Thông Tin và Truyền thông đã
cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu
cho chúng em. Đặc biệt là thày Nguyễn Toàn Thắng, người đã hướng dẫn và
giúp đỡ em trong thời gian thực hiện bài thực tập tốt nghiệp này.
Em cũng xin chân thành cảm ơn đến các bạn bè đã giúp đỡ tài liệu, trao đổi
học thuật mới có thể thực hiện bài thực tập tốt nghiệp này. Xin gửi lời cảm ơn
đến các bạn Vũ Minh Tú, Ngô Sỹ Trung, Nguyễn Văn Duy, …
Thành phố Thái Nguyên
Ngày
tháng
năm 2015
Sinh viên
Đôn Thành Trung
2
MỤC LỤC
Đại
Học
Thái
Nguyên
Trường Đại Học Công Nghệ Thông Tin và Truyền Thông...........................................................................1
Thái Nguyên 2015............................................................................................................................1
Lời cảm ơn........................................................................................................................................2
MỤC LỤC..........................................................................................................................................3
Mục lục hình ảnh..............................................................................................................................5
7
Mở đầu.............................................................................................................................................8
Chương I. Đặt vấn đề........................................................................................................................9
I. Mục tiêu cần xây dựng...................................................................................................................9
1. Bài toán thực tế:......................................................................................................... 9
2. Mục tiêu chi tiết:......................................................................................................... 9
II. Các công nghệ khả thi.................................................................................................................10
1. WordPress................................................................................................................ 10
2. Joomla...................................................................................................................... 12
3. Drupal...................................................................................................................... 14
III. Lựa chọn công nghệ...................................................................................................................15
1. Giới thiệu sơ lược về PHP......................................................................................... 16
2. Giới thiệu sơ lược về MySQL.....................................................................................17
Chương II. Phân tích và thiết kế chương trình...............................................................................18
IV. Giải quyết bài toán....................................................................................................................18
1. Các nhóm chức năng của hệ thống............................................................................18
2. Xác định các tác nhân................................................................................................ 18
V. Xác định các UC, các gói UC và xây dựng biểu đồ UC chi tiết.....................................................19
1. Xác định các Use case................................................................................................ 19
2. Xác định các gói UC, biểu đồ UC chi tiết.....................................................................20
VI. Đặc tả các Use Case...................................................................................................................23
1. Hệ thống đăng ký, đăng nhập....................................................................................23
2. Hệ thống xem thông tin............................................................................................. 25
3. Hệ thống quản lý thông tin........................................................................................27
4. Hệ thống mua hàng................................................................................................... 29
5. Hệ thống tiếp nhận và xử lý đơn hàng.......................................................................33
6. Hệ thống quản lý tin tức............................................................................................ 36
VII. Xác định các lớp thực thể và các lớp biên................................................................................37
VIII. Biểu đồ hoạt động của các Use Case.......................................................................................38
1. UC Đăng ký............................................................................................................... 38
2. UC Đăng nhập........................................................................................................... 38
3. UC Sửa thông tin cá nhân.......................................................................................... 38
4. UC Quản lý danh sách thành viên..............................................................................39
5. UC Quản lý danh mục sản phẩm................................................................................39
6. UC Mua hàng, tiếp nhận và xử lý đơn hàng...............................................................39
7. UC quản lý tin tức:.................................................................................................... 40
3
IX. Mô hình hoá tương tác trong các Use Case: Biểu đồ tuần tự và biểu đồ giao tiếp..................40
1. Use case Đăng ký thành viên.....................................................................................40
2. Use case Đăng nhập.................................................................................................. 41
3. Use case Sửa thông tin cá nhân.................................................................................42
4. Use case Quản lý danh sách thành viên.....................................................................43
5. Use case Quản lý danh mục sản phẩm.......................................................................44
6. Use case Mua hàng, tiếp nhận và xử lý đơn hàng......................................................44
7. Use case Quản lý tin tức............................................................................................ 45
X. Cơ sở dữ liệu của trang web.......................................................................................................46
1. Bảng loaisanpham:.................................................................................................... 46
2. Bảng nhomsanpham:................................................................................................ 46
3. ................................................................................................................................. 46
4. Bảng sanpham:......................................................................................................... 46
5. ................................................................................................................................. 47
6. Bảng thanhvien:........................................................................................................ 47
7. Bảng tagboard:......................................................................................................... 47
Chương III. Thiết kế website...........................................................................................................49
XI. Giới thiệu chức năng các trang cơ bản......................................................................................49
1. Trong tệp chính:........................................................................................................ 49
2. Trong tệp include:..................................................................................................... 49
XII. Giao diện chính:........................................................................................................................51
1. Trang chủ: ................................................................................................................ 51
2. Trang giới thiệu:....................................................................................................... 51
3. Trang hướng dẫn:..................................................................................................... 52
4. Trang tin tức:............................................................................................................ 52
.................................................................................................................................... 53
5. Trang liên hệ:............................................................................................................ 53
6. Thông tin khi click vào 1 nhóm sản phẩm:.................................................................53
7. Thông tin khi click vào 1 sản phẩm:...........................................................................54
8. Thông tin khi click vào phần xem giỏ hàng: ...............................................................54
55
TÀI LIỆU THAM KHẢO.....................................................................................................................56
Kết luận..........................................................................................................................................57
NHẬN XÉT HƯỚNG DẪN THỰC TẬP TỐT NGHIỆP..........................................................................58
4
Mục lục hình ảnh
Chương I. Đặt vấn đề........................................................................................................................9
I. Mục tiêu cần xây dựng...................................................................................................................9
1. Bài toán thực tế:......................................................................................................... 9
2. Mục tiêu chi tiết:......................................................................................................... 9
II. Các công nghệ khả thi.................................................................................................................10
1. WordPress................................................................................................................ 10
2. Joomla...................................................................................................................... 12
3. Drupal...................................................................................................................... 14
III. Lựa chọn công nghệ...................................................................................................................15
1. Giới thiệu sơ lược về PHP......................................................................................... 16
2. Giới thiệu sơ lược về MySQL.....................................................................................17
Chương II. Phân tích và thiết kế chương trình...............................................................................18
IV. Giải quyết bài toán....................................................................................................................18
1. Các nhóm chức năng của hệ thống............................................................................18
2. Xác định các tác nhân................................................................................................ 18
Hình 1: Mối quan hệ giữa các tác nhân.........................................................................................19
V. Xác định các UC, các gói UC và xây dựng biểu đồ UC chi tiết.....................................................19
1. Xác định các Use case................................................................................................ 19
2. Xác định các gói UC, biểu đồ UC chi tiết.....................................................................20
Hình 2: Gói các Use Case................................................................................................................20
Hình 3: Biểu đồ UC của gói UC Đăng ký, đăng nhập......................................................................21
Hình 4: Biểu đồ UC của gói UC Quản lý thông tin cá nhân............................................................21
Hình 5: Biểu đồ UC của gói Quản lý danh sách thành viên............................................................22
Hình 6: Biểu đồ UC của gói Quản lý danh mục sản phẩm.............................................................22
Hình 7: Biểu đồ UC của gói Mua hàng...........................................................................................22
Hình 8: Biểu đồ UC của gói tiếp nhận và xử lý đơn hàng..............................................................23
Hình 9: Biểu đồ UC của gói quản lý tin tức....................................................................................23
VI. Đặc tả các Use Case...................................................................................................................23
1. Hệ thống đăng ký, đăng nhập....................................................................................23
2. Hệ thống xem thông tin............................................................................................. 25
3. Hệ thống quản lý thông tin........................................................................................27
4. Hệ thống mua hàng................................................................................................... 29
5. Hệ thống tiếp nhận và xử lý đơn hàng.......................................................................33
6. Hệ thống quản lý tin tức............................................................................................ 36
VII. Xác định các lớp thực thể và các lớp biên................................................................................37
Hình 10: Biểu đồ phân tích lớp thực thể.......................................................................................37
Hình 11: Các lớp biên.....................................................................................................................38
VIII. Biểu đồ hoạt động của các Use Case.......................................................................................38
1. UC Đăng ký............................................................................................................... 38
Hình 12: Biểu đồ hoạt động của UC Đăng ký thành viên...............................................................38
2. UC Đăng nhập........................................................................................................... 38
Hình 13: Biểu đồ hoạt động của UC Đăng nhập............................................................................38
3. UC Sửa thông tin cá nhân.......................................................................................... 38
Hình 14: Biểu đồ hoạt động của UC Sửa thông tin cá nhân..........................................................39
5
4. UC Quản lý danh sách thành viên..............................................................................39
Hình 15: Biểu đồ hoạt động của UC Quản lý danh sách thành viên..............................................39
5. UC Quản lý danh mục sản phẩm................................................................................39
6. UC Mua hàng, tiếp nhận và xử lý đơn hàng...............................................................39
Hình 16: Biểu đồ hoạt động của UC Mua hàng, tiếp nhận và xử lý đơn hàng..............................40
7. UC quản lý tin tức:.................................................................................................... 40
IX. Mô hình hoá tương tác trong các Use Case: Biểu đồ tuần tự và biểu đồ giao tiếp..................40
1. Use case Đăng ký thành viên.....................................................................................40
Hình 17: Biểu đồ tuần tự của UC Đăng ký thành viên...................................................................41
Hình 18: Biểu đồ giao tiếp của UC Đăng ký thành viên.................................................................41
2. Use case Đăng nhập.................................................................................................. 41
Hình 19: Biểu đồ tuần tự của UC Đăng nhập.................................................................................42
Hình 20: Biểu đồ giao tiếp của UC Đăng nhập...............................................................................42
3. Use case Sửa thông tin cá nhân.................................................................................42
Hình 21: Biểu đồ tuần tự của UC Sửa thông tin cá nhân...............................................................43
Hình 22: Biểu đồ giao tiếp của UC Sửa thông tin cá nhân.............................................................43
4. Use case Quản lý danh sách thành viên.....................................................................43
Hình 23: Biểu đồ tuần tự của UC Quản lý danh sách thành viên..................................................44
Hình 24: Biểu đồ giao tiếp của UC Quản lý danh sách thành viên................................................44
5. Use case Quản lý danh mục sản phẩm.......................................................................44
6. Use case Mua hàng, tiếp nhận và xử lý đơn hàng......................................................44
Hình 25: Biểu đồ tuần tự của UC Mua hàng..................................................................................44
Hình 26: Biểu đồ giao tiếp của UC Mua hàng................................................................................45
7. Use case Quản lý tin tức............................................................................................ 45
Hình 27: Biểu đồ tuần tự của UC Quản lý tin tức..........................................................................45
Hình 28: Biểu đồ giao tiếp của UC Quản lý tin tức........................................................................45
X. Cơ sở dữ liệu của trang web.......................................................................................................46
1. Bảng loaisanpham:.................................................................................................... 46
Hình 29: Bảng loaisanpham ..........................................................................................................46
2. Bảng nhomsanpham:................................................................................................ 46
3. ................................................................................................................................. 46
Hình 30: Bảng nhomsampham ......................................................................................................46
4. Bảng sanpham:......................................................................................................... 46
5. ................................................................................................................................. 47
Hình 31: Bảng sanpham.................................................................................................................47
6. Bảng thanhvien:........................................................................................................ 47
Hình 32: Bảng thành viên...............................................................................................................47
7. Bảng tagboard:......................................................................................................... 47
Hình 33: Bảng tagboard.................................................................................................................48
Chương III. Thiết kế website...........................................................................................................49
XI. Giới thiệu chức năng các trang cơ bản......................................................................................49
1. Trong tệp chính:........................................................................................................ 49
2. Trong tệp include:..................................................................................................... 49
XII. Giao diện chính:........................................................................................................................51
1. Trang chủ: ................................................................................................................ 51
Hình 34: Trang chủ.........................................................................................................................51
6
2. Trang giới thiệu:....................................................................................................... 51
Hình 35: Trang giới thiệu...............................................................................................................52
3. Trang hướng dẫn:..................................................................................................... 52
Hình 36: Trang hướng dẫn.............................................................................................................52
4. Trang tin tức:............................................................................................................ 52
.................................................................................................................................... 53
Hình 37: Trang tin tức....................................................................................................................53
5. Trang liên hệ:............................................................................................................ 53
Hình 38: Trang liên hệ....................................................................................................................53
6. Thông tin khi click vào 1 nhóm sản phẩm:.................................................................53
Hình 39: Nhóm sản phẩm..............................................................................................................54
7. Thông tin khi click vào 1 sản phẩm:...........................................................................54
Hình 40: Chi tiết sản phẩm.............................................................................................................54
8. Thông tin khi click vào phần xem giỏ hàng: ...............................................................54
Hình 41: Giỏ hàng..........................................................................................................................55
7
Mở đầu
Lý do chọn đề tài:
Trên thế giới hiện nay, tin học là ngành phát triển không ngừng, thời kỳ
công nghiệp hoá đòi hỏi thông tin nhanh chóng, chính xác.Tin học càng ngày
càng chiếm một vị trí quan trọng trong cuộc sống hàng ngày, trong các ngành
khoa học kỹ thuật, dịch vụ và xã hội. Đất nước ta đang có những chuyển biến
to lớn trong tất cả mọi lĩnh vực, các ngành kinh tế, các ngành khoa học kỹ thuật
và cũng như đời sống xã hội. Đảng và nhà nước ta cũng đã rất coi trọng vấn đề
áp dụng tin học vào các lĩnh vực của đời sống xã hội. Sự nghiệp hoá, công
nghiệp hoá, hiện đại hoá của đất nước cần đến sự phát triển của công nghệ
thông tin. Trong đó việc áp dụng công nghệ thông tin vào việc quản lý và
quảng bá sản phẩm là một công việc khá mới mẻ và hấp dẫn. Quản lý bán hàng
là một đề tài thực tế được ứng dụng công nghệ thông tin trong tất cả các khâu
và nếu thực hiện tốt sẽ mang lại hiệu quả cao. Vì thế việc lựa chọn một công
nghệ phù hợp không những có thể giúp cho việc quảng bá sản phẩm, quản lý
sản phẩm cho doanh nghiệp tốt hơn, mà còn có thể hiện đại hóa doanh nghiệp,
tiếp cận khách hang tốt nhất và hiệu quả nhất. Đặc biệt là với những làng nghề
truyền thống, những kỹ thuật sản xuất của họ thủ công và mang một nét đặc
trưng riêng của từng làng nghề, cần phải bảo tồn và phát huy, nhưng cũng cần
phải hiện đại hóa họ theo một hướng tích cực để có thể tiếp cận gần hơn với
khách hàng mà vẫn giữ được nét truyền thống riêng. Vì vậy trong thời gian
thực tập này em đã chọn đề tài: “Xây dựng website quảng bá và quản lý sản
phẩm cho làng nghề chè Khuôn II” làm đề tài cho bài báo cáo tốt nghiệp của
mình.
Mục đích đề tài:
Xây dựng website quảng bá và quản lý sản phẩm trên mạng Internet cho
làng nghề chè truyền thống Khuôn II
8
Chương I.Đặt vấn đề
I. Mục tiêu cần xây dựng.
1.
Bài toán thực tế:
Hiện nay, xuất phát từ nhu cầu thực tế của xã hội thì doanh nghiệp nào cũng
nên có website. Vì website thực sự là như một kênh kinh doanh mới, hiệu quả
và rất kinh tế cho các doanh nghiệp ở Việt Nam. Hiện tại nó phù hợp với nhu
cầu và thói quen của phần lớn khách hàng Việt Nam mà số lượng này đang
không ngừng gia tăng. Website giúp quảng bá về sản phẩm/doanh nghiệp, với
chi phí thấp và tiện tiện lợi (24 giờ trong ngày, 7 ngày trong tuần). Bên cạnh đó
kinh doanh qua mạng (thông qua website) còn mở rộng cơ hội tìm kiếm khách
hàng, đối tác của doanh nghiệp không chỉ trong nước mà còn trên phạm vi toàn
cầu. Nếu không có website, làm sao cung cấp cho khách hàng thông tin về
công ty, về sản phẩm một cách nhanh chóng nhất, tiện lợi nhất? Ngày nay,
khách hàng không có thời gian chờ doanh nghiệp gửi brochure hoặc fax vì
không những hình ảnh sản phẩm không thể hiện rõ ràng mà còn thể hiện tính
không chuyên nghiệp, kém hiện đại của doanh nghiệp...Những lợi ích mà
Internet mang lại cho con người là điều không thể phủ nhận được. Dân trí càng
được nâng cao, xã hội càng phát triển thì tầm ảnh hưởng của Internet càng lan
rộng và mạnh mẽ hơn. Thấu hiểu được điều đó, nhiều doanh nghiệp đã biến tận
dụng những thế mạnh của Internet, biến thế giới mạng thành công cụ kinh
doanh đắc lực cho mình thông qua website. Đó là một việc làm vô cùng khôn
ngoan và thời thượng.
Và với một làng nghề chè truyền thống cũng vậy, để bắt kịp thời đại, nắm
bắt xu thế và tiếp cận gần hơn với khách hành, việc có một website để quảng bá
và giới thiệu sản phẩm là một vấn đề rất quan trọng và cần thiết.
2.
Mục tiêu chi tiết:
Xây dựng một website đơn giản nhằm giúp làng nghề chè truyền thống
Khuôn II quản lý và quảng bá sản phẩm 1 cách tốt nhất và hiệu quả nhất. Và để
làm được điều này website cần đáp ứng được các yêu cầu như sau:
9
• Quản lý danh sách sản phẩm, cập nhật thông tin sản phẩm và quảng bá
các sản phẩm của làng nghề: Đưa ra danh sách sản phẩm và thông tin
chi tiết về từng sản phẩm để khách hàng tiện theo dõi.
• Quản lý danh sách khách hàng, nhu cầu mua bán và tìm hiểu sản phẩm
của khách hàng: Đưa ra danh sách khách hàng, thu thập thông tin và nhu
cầu của khách hàng về sản phẩm.
II. Các công nghệ khả thi
1.
WordPress
WordPress là một trong những mã nguồn được sử dụng nhiều nhất bởi khả
năng tùy biến cao, dễ sử dụng và sự phổ biến của nó. Đây là một mã nguồn mở
vô cùng mạnh mẽ để bạn có thể triển khai một website cá nhân cho bạn hoặc tổ
chức của bạn một cách nhanh chóng nhưng vẫn có được những tính năng nâng
cao và không thua bất kỳ một website chuyên nghiệp nào.
WordPress là một dạng phần mềm mã nguồn mở được Christine Selleck đề
xuất, hiện là hệ thống quản lý nội dung (CMS) phổ biến nhất hiện nay . Mọi
người biết đến WordPress đơn giản là để viết Blog, để đăng tải thông tin của
mình lên mạng nhưng không đơn giản như vậy, WordPress còn có chức năng
như mọi Website khác. Nó có thể làm site tin tức, đánh giá, bán hàng… thậm
chí là mạng xã hội. Các bạn có thể ứng dụng wordpress để tạo cho mình 1
website trên nền wordpress , 1 website được tạo ra nhanh chóng đơn giản mà
lại tiện cho việc quảng bá sản phẩm , thông tin , kiến thức... WordPress được
viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL database. WordPress là
“con” của B2 / Cafelog, được xây dựng trên sự tiện dụng, cùng các định dạng
chuẩn của web. Phiên bản mới nhất của WordPress tính đến tháng 1/2015 là
4.0.2. Rất nhiều Website nổi tiếng đang sử dụng WordPress làm nền tảng để
phát triển như CNN, ebay, bata,….
Điểm nổi bật của WordPress:
• Cài đặt đơn giản và cực kì nhanh chóng, với trình cài đặt 5 phút nổi
tiếng .
• Hệ thống Plugin phong phú và cập nhật liên tục, bạn cũng có thể tự viết
plugin cho mình.
10
Hỗ trợ nhiều ngôn ngữ ( bao gồm cả tiếng Việt )
• Được cập nhật, vá lỗi và hỗ trợ liên tục.
• Có rất nhiều Theme miễn phí, chuyên nghiệp và SEO rất tốt.
• Dễ dàng quản lý và thao tác, việc quản lý blog, bài viết giống như các
phần mềm thiết kế web chuyên nghiệp.
• Tích hợp sẵn Latex – công cụ soạn thảo công thức toán học, bạn có thể
viết công thức toán học ngay trong bài viết.
• Upload và quản lý hình ảnh một cách dễ dàng, đặc biệt là chức năng tạo
thumbnail rất hay.
• Có một hệ thống Widget đa dạng ( ứng dụng tạo thêm ) như Thống kê
số người truy cập, Danh sách các bài viết mới, các bài viết nổi bật, được
xem nhiều, được comment nhiều, Liệt kê các chuyên mục, Liệt kê các
trang, Bài viết theo ngày tháng, … có đến trên 23 Widget để bạn tha hồ
lựa chọn.
• Thống kê số truy cập từng ngày đối với mỗi bài viết của blog. Trên cơ
sở đó bạn sẽ có định hướng nên viết gì tiếp theo.
• Hệ thống quản lý và duyệt Comment rất hay, có thể chặn spam theo IP.
• Hệ thống phân quyền với nhiều cấp độ khác nhau như: Administrator,
Author, Editor, Contributer, Subcriber. Mỗi phân quyền sẽ có các quyền
hạn khác nhau như được phép đăng bài viết, sửa bài viết, xóa bài viết,
duyệt comment …
• Sao lưu dữ liệu một cách dễ dàng để backup hoặc chuyển nhà sang một
nơi khác.
• Hỗ trợ import đa năng từ các blog khác như Blogspot, Tumblr, Blogger,
LiveJournal …
• WordPress hỗ trợ 3 GB để lưu trữ hình ảnh và văn bản.
• Hàng ngày WordPress sẽ thống kê 100 bài viết trên các blog tiếng Việt
được nhiều người đọc nhất. Nhờ đó bạn biết được các thông tin quan
trọng nhất đang diễn ra.
Và đặc biệt mới đây nhất WordPress hỗ trợ việc quản lý blog qua mobile rất
thuận tiện và dễ dàng.
Ưu điểm:
• Nhiều plugin và theme.
• Dễ tùy biến.
11
• Nhiều cộng đồng hỗ trợ. (Thachpham.com, wordpress.net.vn,…).
• Dễ cài đặt, sử dụng và quản lý.
• Nhẹ và tốn ít tài nguyên.
• Nhiễu Theme Framework hỗ trợ (Genesis, Thesis, Gantry,..)
• Hỗ trợ SEO (Search Engine Optimized) rất tốt.
• Hỗ trợ tốt cho Mobile. (quản trị, giao diện responsive)
Nhược điểm:
• Nhiều hàm có sẵn khó nắm bắt.
• Theme đẹp hầu hết phải trả phí.
• Để custom WordPress đẹp thì phải biết kiến thức tốt về web.
• Mức độ an ninh chưa tốt.
2.
Joomla
Joomla! là một hệ quản trị nội dung mã nguồn mở (tiếng Anh: Open Source
Content Management Systems). Nó được viết bằng ngôn ngữ PHP và kết nối
tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các
nội dung của họ lên Internet hoặc Intranet.
Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc
độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin
nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đa
ngôn ngữ.
Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá
nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung
cấp nhiều dịch vụ và ứng dụng. Joomla có thể dễ dàng cài đặt, dễ dàng quản lý
và có độ tin cậy cao.
Joomla cũng là Một hệ quản trị nội dung mã nguồn mở mạnh nhất hiện nay
trên thế giới. Ra đời do bất đồng quan điểm trong nội bộ Mambo – một hệ quản
trị nội dung nổi tiếng, gần như toàn bộ nhân lực chủ chốt (Core Team) của
mambo đã ra đi, xây dựng nên một đế chế hùng mạnh với tên gọi Open Source
Master, và Joomla ra đời từ đó (2005). Chỉ hơn 3 năm chào đời,Joomla đã làm
nên một kỳ tích: 2 lần đạt giải nhất mã nguồn mở ứng dụng tốt nhất thế giới –
12
số thành viên trên 200.000 người (tính riêng tại joomla.org). Nếu tính thêm
những site lớn như rockettheme.com, joomlart.com, joomlashack.com,
virtuemart.net,… thì con số thành viên lên đến hàng triệu người.
Joomla đáp ứng được mô tả về 7 đặc tính của Web 2.0:
•
•
•
•
Web có vai trò nền tảng, có thể chạy mọi ứng dụng
Tập hợp trí tuệ cộng đồng
Dữ liệu có vai trò then chốt
Phần mềm được cung cấp ở dạng dịch vụ web và được cập nhật không
ngừng
• Phát triển ứng dụng dễ dàng và nhanh chóng
• Phần mềm có thể chạy trên nhiều thiết bị
• Giao diện ứng dụng phong phú
Ưu điểm:
• Hệ thống mã nguồn mở, người am hiểu code dễ dàng can thiệp vào
code để tùy chỉnh theo hướng SEO
• Nhiều phần mở rộng hỗ trợ SEO và đa số là miễn phí.
• Tốc độ load trang tạm ổn. Có thể đáp ứng để dựng các trang có số
lượng bài viết lớn.
• Có thể tùy biến theo nhiều hướng: News, E-commerce, Blog,
Movie...
• Giao diện quản trị thân thiện, chuyên nghiệp.
• Nhiều templates đẹp
• Cộng đồng hỗ trợ đông đảo, lượng người sử dụng nhiều nên support
và fix lỗi khá dễ dàng
Nhược điểm:
• Mã nguồn của Joomla tương đối lớn dẫn tới tốn nhiều tài nguyên hệ
thống hơn so với Drupal trong quá trình sử dụng .
• Việc có nhiều extensions là một lợi thế đồng thời nó cũng là một bất lợi.
Các extensions được viết bởi rất nhiều lập trình viên khác nhau dẫn tới
tiềm ần các lỗi bảo mật trong các extensions đó (tuy nhiên có các giải
pháp firewall khắc phục các nhược điểm này, (có trả phí)). Nếu là người
13
dùng mới có thể bạn sẽ bối rối trong việc chọn lựa các extensions cho
website của mình.
• Không có khả năng Multiple site như Drupal (cần mua extensions để có
được tính năng này) .
• Khả năng SEO của Joomla kém nhất trong 3 loại CMS (Drupal,
WordPress, Joomla) .
• Không chạy tốt trên máy chủ Windows (IIS) .
3.
Drupal
Drupal là một khung sườn phát triển web hướng module, một hệ thống quản
trị nội dung (CMS) miễn phí và mã nguồn mở. Cũng giống như các hệ thống
quản trị nội dung khác, Drupal cho phép người quản trị hệ thống tạo và tổ chức
dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành và quản lý
hệ thống.
Drupal được xây dựng với mục đích giúp người quản lý Web dễ quản trị hệ
thống Web trên Internet một cách hữu hiệu. Phần này thì cũng giống như các
phần mô hình quản trị khác như Joomla, Greeklog, Mambo, PHP-Nuke, PostNuke, Siteframe, phpWCMS, .... Điểm khác biệt giữa mô hình Drupal so với
các mô hình khác là Drupal phát triển dựa trên nền tảng modules (mô đun), mà
trong đó mỗi module được một người hay một nhóm người phát triển riêng
biệt, sau đó các modules này được kết nối lại thông qua các qui ước thông số
được định sẵn để hình thành một mô hình rộng lớn có nhiều chức năng hơn.
Các modules này được tháo gỡ ra khỏi phần lõi Drupal hoặc chúng nâng cấp
cũng khá dễ dàng. Chính vì Drupal phát triển dựa trên khái niệm module, mà
mô hình Drupal càng ngày càng phát triển và có nhiều chức năng hơn so với
các mô hình khác. Mỗi module có một hoặc nhiều chức năng riêng với cấu
hình cục bộ (cục bộ bên trong module đó) riêng. Hiện nay có trên cả hàng trăm
modules. Ví dụ như module có tên Search - dùng để tìm kiếm, tên Whois dùng để tìm thông tin về một tên miền (domain name), tên Image - dùng để
xem hình, tên fckeditor - dùng để viết bài (giống Microsoft Word), tên
webform - dùng để tạo các trang web có truy vấn, và vân vân. Người quản lý
hay một lập trình viên có thể kết nối những modules này lại để chúng làm việc
14
tương tác qua lại các modules liên hệ khác để hình thành một ứng dụng lớn.
Đây chính là điểm mạnh của Drupal so với các mô hình khác hiện nay! Drupal
còn đi xa hơn nữa, là giúp các nhà phát triển và tạo trang web site chuyên
nghiệp một cách nhanh chóng và rất hiệu quả.
Ưu điểm của Drupal
• Nền tảng mạnh mẽ, ổn định, mã nguồn được tối ưu nâng cao hiệu suất
hoạt động giúp tiết kiệm nguyên của hệ thống . Là nền tảng vững chắc
cho các website có lượng truy cập lớn như BBC England, MTV …Một
trang báo công nghệ sử dụng Drupal khá thành công là trang Thông Tin
Công Nghệ .
• Cấu trúc linh hoạt giúp các lập trình viên mở rộng chức năng không hạn
chế theo nhu cầu sử dụng .
• Drupal cực kỳ thân thiện với công cụ tìm kiếm, đó là một lợi thế rất lớn
khi SEO luôn là một vấn đề được quan tâm đối với bất kỳ trang web nào
.
• Tính năng Multiple giúp bạn có nhiều website với một lần cài đặt
Drupal . Giúp bạn điều khiển và quản lý dễ dàng hơn.
• Drupal chạy được cả trên server Linux và Windows trong khi Jooma chỉ
chạy tốt trên server Linux .
Nhược điểm của Drupal
• Drupal được đánh giá là khó sử dụng với người dùng mới . Việc tạo các
Menu khiến tôi cảm thấy thực sự bối rối . Có lẽ sự bối rối này chính vì
thói quen sử dụng Joomla .
• Drupal có ít các thành phần mở rộng (extensions) hơn Joomla. Mỗi khi
có phiên bản Drupal mới bạn phải chờ các nhà cung cấp nâng cấp
extensions của họ để tương thích .
• Cách bố trí của website Drupal khiến người mới sử dụng khó tìm kiếm
và đánh giá nên dùng extensions nào .
III. Lựa chọn công nghệ
Từ những đánh giá trên, ta có thể thấy không có công nghệ nào là phù hợp
với mục đích và nhu cầu bài toán đưa ra. Vì vậy em lựa chọn tự xây dựng một
15
trang web bằng PHP và MySQL để giải quyết những yêu cầu mà bài toán đưa
ra. Bởi 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à
chính vì mà nguồn mở sẵn có nên cộng đồng các nhà phát triển Wed 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. Nó
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ạnb PHP có thể đáp ứng một
cách xuất sắc. Cách đây không lâu lập web với ASP.net 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.net, bằng
chứng là nó có mặt trên 12 triệu Website. Vì PHP là ngôn ngữ của mày chủ nên
mã lệch 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. 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ã hoá. 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
nó có nhúng mã PHP và có phần mở rộng là HTML. Phần mở của PHP được
cài đặ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 dung HTML về trình duyệt. Hơn nữa, hầu hết các công ty
lập trình đều tuyển dụng nhân viên biết sử dụng ngôn ngữ lập trình PHP, vì
vậy, nếu bạn không có kiến thức về ngôn ngữ lập trình này bạn sẽ rất khó. Bạn
nên tham gia một khóa đào tạo về lập trình PHP khi bạn đã biết về một ngôn
ngữ lập trình khác. Và để tự do hơn trong việc sử dụng các module, giao diện
web, ta sử dụng PHP để tự code cho mình một sản phẩm riêng, đơn giản và tiện
dụng, phù hợp với một làng nghề truyền thống đang từng bước phát triển.
1.
Giới thiệu sơ lược về PHP
16
PHP là chữ viết tắt của “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 nó là một trang HTML có nhúng mà PHP, PHP có thể được 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- platform). Đâ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 các hệ điều hành như Windows, Unix và 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 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 sả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).
2.
Giới thiệu sơ lược về MySQL
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện
nay(theo www.mysql.com) và được sử dụng phối hợp với PHP. Trước khi làm
việc với MySQL cần xác định các nhu cầu cho ứng dụng này.
MySQL là cơ sở dữ liệu có trình giao diện trên Windows hay Linux, cho
phép người sử dụng có thể thao tác các hành động liên quan đến nó. Việc tìm
hiểu từng công nghệ trước khi bắt tay vào làm việc viết mã kịch bản PHP, việc
tích hợp 2 công nghệ PHP và MySQL là công việc cần thiết và rất quan trọng.
3.
4.
17
Chương II.
Phân tích và thiết kế chương trình
IV.Giải quyết bài toán
1.
Các nhóm chức năng của hệ thống
Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như
sau:
• Nhóm chức năng đăng ký, đăng nhập thành viên
• Nhóm chức năng xem thông tin, bao gồm xem thông tin giỏ hàng, xem
thông tin đơn hàng, xem thông tin sản phẩm, xem thông tin cá nhân
• Nhóm chức năng quản lý thông tin, bao gồm quản lý thông tin cá nhân,
quản lý danh sách thành viên, quản lý danh mục sản phẩm
• Nhóm chức năng mua hàng, tiếp nhận và xử lý đơn hàng
• Nhóm chức năng quản lý tin tức: Quảng bá và giới thiệu sản phẩm
2.
Xác định các tác nhân
Dựa vào mô tả bài toán, ta có thể xác định được các tác nhân chính của hệ
thống như sau:
• KHÁCH HÀNG: là người giao dịch với hệ thống thông qua các đơn đặt
hàng, khách hàng có thể chọn các loại sản phẩm, chọn địa điểm và thời
gian giao hàng. Khách hàng có thể đăng ký làm thành viên của hệ thống.
• NGƯỜI QUẢN LÝ: là người điều hành, quản lý và theo dõi mọi hoạt
động của hệ thống.
• NHÂN VIÊN: là người tiếp nhận và xử lý các đơn hàng, các yêu cầu
bảo hành do người quản lý giao.
• THÀNH VIÊN: bao gồm người quản lý, nhân viên và những khách
hàng đã đăng ký. Sau khi đăng nhập để trở thành thành viên, ngoài
những chức năng chung của người sử dụng, còn có thêm một số chức
năng khác phục vụ cho công việc cụ thể của từng đối tượng.
Theo tính chất của các Actor, ta có thể tổng quát hoá chúng như sau
18
uc Tong quat
Khach hang thanh v ien
Nguoi quan ly
Thanh v ien
Nhan v ien
Khach hang
Hình 1:
Mối quan hệ giữa các tác nhân
V. Xác định các UC, các gói UC và xây dựng biểu đồ UC chi tiết
1.
Xác định các Use case
• Tác nhân Khách hàng có các UC sau:
o Đăng ký làm thành viên
o Xem thông tin sản phẩm
o Xem thông tin giỏ hang
o Chọn sản phẩm cần mua
o Thêm, bớt sản phẩm trong giỏ hàng
o Thực hiện việc mua hàng
o Thanh toán
o Yêu cầu bảo hành
o Nhận lại thiết bị sau khi bảo hành
• Tác nhân Người quản lý có các UC sau:
o Tiếp nhận đơn hàng, nhận yêu cầu bảo hành
o Giao cho nhân viên thực hiện
19
o Quản lý danh sách thành viên
o Quản lý danh mục sản phẩm
• Tác nhân Nhân viên có các UC sau:
o Thực hiện việc giao hàng
o Báo cáo kết quả
Ngoài ra, các thành viên của hệ thống bao gồm người quản lý, nhân viên
và các khách hàng đã đăng ký làm thành viên còn có các UC sau:
o Đăng nhập
o Xem thông tin cá nhân
o Sửa đổi thông tin cá nhân
2.
Xác định các gói UC, biểu đồ UC chi tiết
Từ việc phân tích các UC của từng tác nhân, ta xây dựng thành các gói UC
như sau:
Đăng ký,
đăng nhập
Quản lý
thông tin cá
Quản lý DS
thành viên
Quản lý
danh mục sản
nhân
phẩm
Mua hàng
Tiếp nhận
và xử lý đơn
Hình 2:
Quản lý
tin tức
hàng
Gói các Use Case.
Từ các gói UC trên, ta xây dựng biểu đồ chi tiết cho từng gói UC:
Gói UC Đăng ký, đăng nhập
20
uc Dang ky, dang nhap
Dang nhap
Khach hang thanh
v ien
Dang ky thanh v ien
Khach hang
Hình 3:
Nhap thong tin ca
nhan
«include»
Biểu đồ UC của gói UC Đăng ký, đăng nhập.
Gói UC Quản lý thông tin cá nhân
uc QL thong tin ca nhan
Xem thong tin ca
nhan
Thanh v ien
«include»
Sua thong tin ca
nhan
Hình 4:
Dang nhap
«include»
«include»
Nhap thong tin ca
nhan
Biểu đồ UC của gói UC Quản lý thông tin cá nhân
Gói UC Quản lý danh sách thành viên
uc QL thanh v ien
Them thanh v ien
«include»
Loai bot thanh v ien
Nguoi quan ly
«include»
«include»
Thay doi thong tin
thanh v ien
21
Xem thong tin ca
nhan
Hình 5:
Biểu đồ UC của gói Quản lý danh sách thành viên
Gói UC Quản lý danh mục sản phẩm
uc QL danh muc san pham
Them san pham
«i ncl ude»
Xoa san pham
«i ncl ude»
Xem thong tin san
pham
Nguoi quan ly
«i ncl ude»
Thay doi thong tin
san pham
Hình 6:
Biểu đồ UC của gói Quản lý danh mục sản phẩm
Gói UC Mua hàng
uc Mua hang
Chon san pham can
mua
Them v ao gio hang
«include»
Xem thong tin san
pham
«include»
Xem thong tin gio
hang
«include»
Khach hang
Loai khoi gio hang
Huy v iec mua hang
«extend»
Thanh toan
«include»
Hình 7:
Chon hinh thuc thanh
toan
Biểu đồ UC của gói Mua hàng
Gói UC Xử lý đơn hàng
22
uc Tiep nhan, xu ly don hang
Tiep nhan don hang
«include»
Xem thong tin don
hang
«incl ude»
Thuc hien giao hang
Nhan v ien
Nguoi quan ly
Giao cho NV thuc
hien
Hình 8:
Bao cao ket qua
Biểu đồ UC của gói tiếp nhận và xử lý đơn hàng
Gói UC Quản lý tin tức:
Hình 9:
Biểu đồ UC của gói quản lý tin tức
VI.Đặc tả các Use Case
Ta tiến hành đặc tả các UC theo từng hệ thống con (từng nhóm chức năng)
như sau:
1.
Hệ thống đăng ký, đăng nhập
Đặc tả UC đăng ký thành viên
• Tác nhân: khách xem
• Mô tả: cho phép khách xem đăng ký làm thành viên của hệ thống.
• Tiền điều kiện:
• Luồng sự kiện chính:
o Khách xem chọn mục đăng kí thành viên
o Form đăng kí thành viên hiển thị
o Khách xem nhập thông tin cá nhân cần thiết vào form đăng kí
o Nhấn nút Đăng ký
23
o Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân. Nếu
thông tin nhập không chính xác thì thực hiện luồng nhánh A1. Nếu
nhập chính xác thì thực hiện bước tiếp theo
o Hệ thống cập nhật thông tin của khách xem vào danh sách thành viên
o UC kết thúc
• Luồng sự kiện rẽ nhánh: Luồng nhánh A1: Quá trình nhập thông tin
không chính xác
o Hệ thống thông báo thông tin nhập không chính xác
o Hệ thống yêu cầu khách xem nhập thông tin lại
o Nếu khách xem đồng ý thì quay về bước thứ 2 của luồng sự kiện
chính, nếu không đồng ý thì UC kết thúc.
• Hậu điều kiện: Khách hàng trở thành thành viên của hệ thống
Đặc tả UC đăng nhập
• Tác nhân: thành viên
• Mô tả: UC cho phép thành viên đăng nhập vào hệ thống.
• Tiền điều kiện: Thành viên chưa đăng nhập vào hệ thống
• Luồng sự kiện chính:
o Thành viên chọn chức năng đăng nhập
o Form dang nhap hien thi
o Nhập tên, mật khẩu vào form đăng nhập
o Hệ thống kiểm tra tên, mật khẩu của thành viên
o Nếu việc đăng nhập thành công thi .... Nếu thành viên nhập sai tên,
mật khẩu thì chuyển sang luồng nhánh A1
o UC kết thúc
24
• Luồng sự kiện rẽ nhánh: Luồng nhánh A1: Thành viên đăng nhập không
thành công
o Hệ thống thông báo quá trình đăng nhập không thành công
o Chọn: Đăng ký hay nhập lại. Nếu chọn đăng ký thì thực hiện rẽ
nhánh A2
o Hệ thống yêu cầu thành viên nhập lại tên và mật khẩu
o Nếu khách xem đồng ý thì quay về bước thứ 2 của luồng sự kiện
chính, nếu không đồng ý thì UC kết thúc.
• Hậu điều kiện: Thành viên đã đăng nhập thành công và có thể sử dụng
các chức năng mà hệ thống cung cấp
2.
Hệ thống xem thông tin
Đặc tả UC xem thông tin giỏ hàng
• Tác nhân: khách hàng
• Mô tả: cho phép khách hàng xem thông tin về giỏ hàng của mình.
• Tiền điều kiện:
• Luồng sự kiện chính:
o Khách hàng chọn chức năng xem giỏ hàng
o Form xem thông tin giỏ hàng xuất hiện, hệ thống hiển thị thông tin
về giỏ hàng của khách hàng hiện tại.
o Khách hàng xem thông tin chi tiết về giỏ hàng được hiển thị
o UC kết thúc.
• Hậu điều kiện:
Đặc tả UC xem thông tin đơn hàng
• Tác nhân: người quản lý, nhân viên
25