Báo cáo 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 năm 2015 với phân tích chương trình theo biểu đồ use case mới nhất, phân tích chi tiết theo từng biểu đồ và có demo trong tệp đính kèm
Trang 1Đạ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
Trang 2Lờ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ềnvới những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếphay 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 đượcrấ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ếtcủ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ệpnà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 đổihọ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
Trang 3MỤC LỤC
Lời cảm ơn 2
MỤC LỤC 3
Mục lục hình ảnh 5
Mở đầu 6
Chương I.Đặt vấn đề 7
I Mục tiêu cần xây dựng 7
1 Bài toán thực tế: 7
2 Mục tiêu chi tiết: 7
II Các công nghệ khả thi 8
1 WordPress 8
2 Joomla 10
3 Drupal 12
III Lựa chọn công nghệ 14
1 Giới thiệu sơ lược về PHP 15
2 Giới thiệu sơ lược về MySQL 16
Chương II.Phân tích và thiết kế chương trình 17
I Giải quyết bài toán 17
1 Các nhóm chức năng của hệ thống 17
2 Xác định các tác nhân 17
II Xác định các UC, các gói UC và xây dựng biểu đồ UC chi tiết 18
1 Xác định các Use case 18
2 Xác định các gói UC, biểu đồ UC chi tiết 19
III Đặc tả các Use Case 22
1 Hệ thống đăng ký, đăng nhập 22
2 Hệ thống xem thông tin 24
3 Hệ thống quản lý thông tin 26
4 Hệ thống mua hàng 28
5 Hệ thống tiếp nhận và xử lý đơn hàng 32
6 Hệ thống quản lý tin tức 35
IV Xác định các lớp thực thể và các lớp biên 36
V Biểu đồ hoạt động của các Use Case 37
1 UC Đăng ký 37
2 UC Đăng nhập 37
3 UC Sửa thông tin cá nhân 37
4 UC Quản lý danh sách thành viên 38
5 UC Quản lý danh mục sản phẩm 38
6 UC Mua hàng, tiếp nhận và xử lý đơn hàng 38
7 UC quản lý tin tức: 39
VI Mô hình hoá tương tác trong các Use Case: Biểu đồ tuần tự và biểu đồ giao tiếp 39
1 Use case Đăng ký thành viên 39
2 Use case Đăng nhập 40
3 Use case Sửa thông tin cá nhân 41
Trang 45 Use case Quản lý danh mục sản phẩm 43
6 Use case Mua hàng, tiếp nhận và xử lý đơn hàng 43
7 Use case Quản lý tin tức 44
VII Cơ sở dữ liệu của trang web 45
1 Bảng loaisanpham: 45
2 Bảng nhomsanpham: 46
3 Bảng sanpham: 46
4 Bảng thanhvien: 46
5 Bảng tagboard: 47
Chương III Thiết kế website 48
I Giới thiệu chức năng các trang cơ bản 48
1 Trong tệp chính: 48
2 Trong tệp include: 48
II Giao diện chính: 50
1 Trang chủ: 50
2 Trang giới thiệu: 50
3 Trang hướng dẫn: 51
4 Trang tin tức: 51
5 Trang liên hệ: 52
6 Thông tin khi click vào 1 nhóm sản phẩm: 52
7 Thông tin khi click vào 1 sản phẩm: 53
8 Thông tin khi click vào phần xem giỏ hàng: 53
TÀI LIỆU THAM KHẢO 55
Kết luận 56
NHẬN XÉT HƯỚNG DẪN THỰC TẬP TỐT NGHIỆP 57
Trang 5Mục lục hình ảnh
Hình 1: Mối quan hệ giữa các tác nhân 19
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
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
Hình 12: Biểu đồ hoạt động của UC Đăng ký thành viên 38
Hình 13: Biểu đồ hoạt động của UC Đăng nhập 38
Hình 14: Biểu đồ hoạt động của UC Sửa thông tin cá nhân 39
Hình 15: Biểu đồ hoạt động của UC Quản lý danh sách thành viên 39
Hình 16: Biểu đồ hoạt động của UC Tiếp nhận và xử lý đơn hàng 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
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
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
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
Hình 25: Biểu đồ tuần tự của UC Mua hàng 45
Hình 26: Biểu đồ giao tiếp của UC Mua hàng 45
Hình 27: Biểu đồ tuần tự của UC Quản lý tin tức 46
Hình 28: Biểu đồ giao tiếp của UC Quản lý tin tức 46
Hình 29: Bảng loaisanpham 47
Hình 30: Bảng nhomsampham 47
Hình 31: Bảng sanpham 47
Hình 32: Bảng thành viên 48
Hình 33: Bảng tagboard 48
Hình 34: Trang chủ 51
Hình 35: Trang giới thiệu 52
Hình 36: Trang hướng dẫn 52
Hình 37: Trang tin tức 53
Hình 38: Trang liên hệ 53
Hình 39: Nhóm sản phẩm 54
Hình 40: Chi tiết sản phẩm 54
Hình 41: Giỏ hàng 55
Trang 6Mở đầu
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àycàng chiếm một vị trí quan trọng trong cuộc sống hàng ngày, trong các ngànhkhoa 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ôngnghiệ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ôngnghệ 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 đặctrư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ầnphả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ớikhá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
Xây dựng website quảng bá và quản lý sản phẩm trên mạng Internet cholàng nghề chè truyền thống Khuôn II
Trang 7Và với một làng nghề chè truyền thống cũng vậy, để bắt kịp thời đại, nắmbắ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
Xây dựng một website đơn giản nhằm giúp làng nghề chè truyền thốngKhuô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:
Trang 8 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 tinchi tiết về từng sản phẩm để khách hàng tiện theo dõi
của khách hàng: Đưa ra danh sách khách hàng, thu thập thông tin và nhucầu của khách hàng về sản phẩm
II Các công nghệ khả thi
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ọingười biết đến WordPress đơn giản là để viết Blog, để đăng tải thông tin củamình lên mạng nhưng không đơn giản như vậy, WordPress còn có chức năngnhư mọi Website khác Nó có thể làm site tin tức, đánh giá, bán hàng… thậmchí là mạng xã hội Các bạn có thể ứng dụng wordpress để tạo cho mình 1website 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 đượcviế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ạngchuẩ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ổitiếng
Hệ thống Plugin phong phú và cập nhật liên tục, bạn cũng có thể tự viếtplugin cho mình
Trang 9Hỗ 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ácphầ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ạothumbnail rất hay
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, đượcxem nhiều, được comment nhiều, Liệt kê các chuyên mục, Liệt kê cáctrang, 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
Author, Editor, Contributer, Subcriber Mỗi phân quyền sẽ có các quyềnhạ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ộtnơ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 quantrọ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
Trang 10 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:
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
Joomla! là một hệ quản trị nội dung mã nguồn mở (tiếng Anh: Open SourceContent Management Systems) Nó được viết bằng ngôn ngữ PHP và kết nốitớ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ácnộ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 tinnhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đangô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, cungcấ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 naytrên thế giới Ra đời do bất đồng quan điểm trong nội bộ Mambo – một hệ quảntrị nội dung nổi tiếng, gần như toàn bộ nhân lực chủ chốt (Core Team) củamambo đã ra đi, xây dựng nên một đế chế hùng mạnh với tên gọi Open Source
Trang 11Master, và Joomla ra đời từ đó (2005) Chỉ hơn 3 năm chào đời,Joomla đã làmnê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 –
số thành viên trên 200.000 người (tính riêng tại joomla.org) Nếu tính thêmnhữ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
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ị
Ưu điểm:
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
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:
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
Trang 12tiềm ần các lỗi bảo mật trong các extensions đó (tuy nhiên có các giảipháp firewall khắc phục các nhược điểm này, (có trả phí)) Nếu là ngườidùng mới có thể bạn sẽ bối rối trong việc chọn lựa các extensions chowebsite 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)
Drupal là một khung sườn phát triển web hướng module, một hệ thống quảntrị nội dung (CMS) miễn phí và mã nguồn mở Cũng giống như các hệ thốngquả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ácphần mô hình quản trị khác như Joomla, Greeklog, Mambo, PHP-Nuke, Post-Nuke, Siteframe, phpWCMS, Điểm khác biệt giữa mô hình Drupal so vớicá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êngbiệ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ấpcũ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ớicá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ìnhcục bộ (cục bộ bên trong module đó) riêng Hiện nay có trên cả hàng trămmodules 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
Trang 13webform - 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ệctươ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! Drupalcòn đi xa hơn nữa, là giúp các nhà phát triển và tạo trang web site chuyênnghiệp một cách nhanh chóng và rất hiệu quả.
Ưu điểm của Drupal
hoạt động giúp tiết kiệm nguyên của hệ thống Là nền tảng vững chắccho các website có lượng truy cập lớn như BBC England, MTV …Mộttrang báo công nghệ sử dụng Drupal khá thành công là trang Thông TinCô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ạnchế 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ớnkhi 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 đặtDrupal 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ácMenu 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ấpextensions 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
Trang 14Từ những đánh giá trên, ta có thể thấy không có công nghệ nào là phù hợpvớ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ộttrang 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ậptrình viên chuyên nghiệp, mọi ý tưởng của các bạnb PHP có thể đáp ứng mộtcá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ônngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP.net, bằngchứ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êucầu của người dùng thông qua trình duyệt Khi người dùng truy cập Websiteviế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 HTMLtiê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 đặttrong thẻ mở <?php và thẻ đóng ?> Khi trình duyệt truy cập vào một trangPHP, Server sẽ đọc nội dung file PHP lên và lọc ra các đoạn mã PHP và thựcthi 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ậptrì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êntham 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ệndụng, phù hợp với một làng nghề truyền thống đang từng bước phát triển
Trang 151 Giới thiệu sơ lược về PHP
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: HypertextPreprocessor”
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách đơngiản nó là một trang HTML có nhúng mà PHP, PHP có thể được rải rác trongHTML
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ộtcô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ênhầu hết các hệ điều hành như Windows, Unix và nhiều biến thể của nó Đặcbiệ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ênmá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 đượctất cả các quá trình xử lý thông tin trong web đó, sau đó đưa ra kết quả ngônngữ 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ặcchuyển tới một URL)
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiệnnay(theo www.mysql.com) và được sử dụng phối hợp với PHP Trước khi làmviệ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, chophép người sử dụng có thể thao tác các hành động liên quan đến nó Việc tìmhiể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ệctí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
Trang 164.
Trang 17Chương II Phân tích và thiết kế chương trình
I Giải quyết bài toán
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:
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 quản lý tin tức: Quảng bá và giới thiệu sản phẩm
động của hệ thống
bảo hành do người quản lý giao
hàng đã đăng ký Sau khi đăng nhập để trở thành thành viên, ngoàinhững chức năng chung của người sử dụng, còn có thêm một số chứcnă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
Trang 18Hình 1: Mối quan hệ giữa các tác nhân
II Xác định các UC, các gói UC và xây dựng biểu đồ UC chi tiết
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
Trang 19o Quản lý danh sách thành viên
o Quản lý danh mục sản phẩm
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
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 UCnhư sau:
Hình 2: 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:
Mua hàng
Quản lý DS thành viên
Quản lý tin tức
Tiếp nhận
và xử lý đơn hàng
Đăng ký, đăng nhập
Quản lý thông tin cá nhân
Quản lý danh mục sản phẩm
Trang 20uc Dang ky, dang nhap
Hình 3: Biểu đồ UC của gói UC Đăng ký, đăng nhập.
uc QL thong tin ca nhan
Xem thong tin ca nhan
Sua thong tin ca nhan
Hình 4: Biểu đồ UC của gói UC Quản lý thông tin cá nhân
uc QL thanh v ien
Them thanh v ien
Loai bot thanh v ien
Thay doi thong tin thanh v ien
Xem thong tin ca nhan Nguoi quan ly
«include»
«include»
«include»
Trang 21Hình 5: Biểu đồ UC của gói Quản lý danh sách thành viên
uc QL danh muc san pham
Them san pham
Xoa san pham
Thay doi thong tin san pham
Xem thong tin san pham Nguoi quan ly
Them v ao gio hang
Loai khoi gio hang
Thanh toan Chon hinh thuc thanh
toan Huy v iec mua hang
Xem thong tin gio hang Khach hang «include»
Trang 22Tiep nhan don hang
Giao cho NV thuc hien
Thuc hien giao hang
Bao cao ket qua
Xem thong tin don hang
«i ncl ude»
«i nclude»
Hình 8: Biểu đồ UC của gói tiếp nhận và xử lý đơn hàng
Hình 9: Biểu đồ UC của gói quản lý tin tức
III Đặ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:
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:
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ý
Trang 23o Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếuthông tin nhập không chính xác thì thực hiện luồng nhánh A1 Nếunhậ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
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ệnchí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
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
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
Trang 24 Luồng sự kiện rẽ nhánh: Luồng nhánh A1: Thành viên đăng nhập khôngthà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ệnchí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ụngcác chức năng mà hệ thống cung cấp
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:
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
Tác nhân: người quản lý, nhân viên
được lưu trữ trong hệ thống
Trang 25 Tiền điều kiện:
o Người quản lý, nhân viên chọn đơn hàng cần xem
o Form xem thông tin đơn hàng xuất hiện, hệ thống hiển thị thông tin
về đơn hàng mà người quản lý, nhân viên đã chọn
o Người quản lý, nhân viên xem thông tin chi tiết về đơn hàng đượchiển thị
o UC kết thúc
Tác nhân: người quản lý, nhân viên, khách hàng
Mô tả: cho phép người quản lý, nhân viên, khách hàng xem thông tin vềcác sản phẩm có trong cửa hàng
Tiền điều kiện:
o Người quản lý, nhân viên, khách hàng chọn sản phẩm cần xem
o Form xem thông tin sản phẩm xuất hiện, hệ thống hiển thị thông tin
về sản phẩm đã chọn
o Người quản lý, nhân viên, khách hàng xem thông tin chi tiết về sảnphẩm được hiển thị
o UC kết thúc
Tác nhân: thành viên của hệ thống, bao gồm: người quản lý, nhân viên,khách hàng đã đăng ký thành viên
Trang 26 Mô tả: UC cho phép thành viên của hệ thống xem các thông tin cá nhâncủa mình
Tiền điều kiện: thành viên đã đăng nhập vào hệ thống
o Thành viên chọn mục Xem thông tin cá nhân
o Form xem thông tin thành viên xuất hiện, hệ thống hiển thị thông tin
cá nhân của thành viên
o Hệ thống cung cấp liên kết để thành viên có thể sửa đổi thông tin cánhân
o UC kết thúc
Tác nhân: thành viên của hệ thống
Mô tả: UC cho phép thành viên thay đổi các thông tin đăng ký
Tiền điều kiện: thành viên phải đăng nhập vào hệ thống
o Thành viên chọn chức năng sửa thông tin cá nhân
o Hệ thống hiển thị form sửa thông tin với các thông tin cũ của thànhviên hiện tại
o Thành viên nhập các thông tin mới
o Nhấn nút lưu thông tin
o Nếu việc cập nhật thành công thì thực hiện bước tiếp theo Nếu saithực hiện luồng sự kiện rẽ nhánh A1
o Lưu thông tin
Trang 27o UC kết thúc
Luồng sự kiện rẽ nhánh: Luồng nhánh A1: thông tin nhập không hợp lệ
o Hệ thống thông báo việc nhập dữ liệu không hợp lệ
o Thành viên nhập lại thông tin
o Quay lại bước thứ 4 của luồng sự kiện chính
Hậu điều kiện: thông tin thành viên được lưu vào hệ thống
Tác nhân: người quản lý
Mô tả: UC cho phép người quản lý thêm, xoá, thay đổi thông tin của cácsản phẩm trong danh mục
Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống
o Người quản lý chọn kiểu tác động lên sản phẩm: thêm sản phẩm,thay đổi thông tin sản phẩm, xoá sản phẩm ra khỏi danh mục
- Hệ thống hiển thị form nhập thông tin sản phẩm
- Người quản lý nhập thông tin sản phẩm
- Nhấn nút lưu thông tin
- Nếu nhập thành công thì thực hiện bước tiếp theo Nếu saithực hiện luồng sự kiện rẽ nhánh A1
- Lưu thông tin sản phẩm
Thay đổi thông tin sản phẩm:
- Hệ thống hiển thị form sửa thông tin của sản phẩm
- Người quản lý nhập các thông tin cần thay đổi
Trang 28- Nếu việc thay đổi thành công thì thực hiện bước tiếp theo.Nếu sai thực hiện luồng sự kiện rẽ nhánh A1.
- Lưu thông tin sản phẩm
- Người quản lý chọn sản phẩm cần xoá
- Nhấn nút xoá để thực hiện loại bỏ sản phẩm
- Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu ngườiquản lý đồng ý thì thực hiện bước tiếp theo Nếu khôngđồng ý thì thực hiện bước cuối cùng
- Thông báo sản phẩm đã đươc xoá
- Hệ thống hiển thị lại danh sách sản phẩm
o Luồng sự kiện rẽ nhánh A1:
- Hệ thống thông báo việc nhập dữ liệu không hợp lệ
- Người quản lý nhập lại thông tin
- Quay lại bước thứ 3 của luồng sự kiện chính
o Hậu điều kiện: các thông tin về sản phẩm được cập nhật vào cơ sở
dữ liệu
Tương tự như UC quản lý danh mục sản phẩm