- Trang Giới thiệu để giới thiệu về công ty - Trang Sản Phẩm để trưng bày các sản phẩm của công ty, có thể phân chiatheo danh mục, có thể xem chi tiết sản phẩm.. - Trang Báo giá để công
Trang 1CHƯƠNG I: CƠ SỞ LÝ THUYẾT 2
1.1Giới thiệu về công nghệ web 2.0 2
1.2Ngôn ngữ lập trình PHP và Cơ sở dữ liệu MySQL 3
1.2.1Ngôn ngữ lập trình PHP 3
1.2.2 Cơ sở dữ liệu MySQL 4
CHƯƠNG II: KHẢO SÁT YÊU CẦU 5
2.1 Khảo sát yêu cầu Công ty TNHH Thương Mại Nhật Thanh 5
2.2 Phân tích Thiết kế Cơ Sở Dữ Liệu: 6
2.2.1 Sơ đồ thực thể: 6
2.2.2 Thiết kế Cơ sở dữ liệu 8
2.2.3 Sơ đồ luồng dữ liệu 13
CHƯƠNG 3: THIẾT KẾ WEBSITE 16
3.1 Thiết kế website 16
3.1.1 Giao diện quản trị 16
3.1.2 Giao diện người dùng ( Trang ngoài): 19
3.2 Cài đặt website 23
KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 2CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu về công nghệ web 2.0
Mục tiêu đầu tiên của những người tiên phong xây dựng Internet là nhằm kếtnối các nhà nghiên cứu và các máy tính của họ với nhau để có thể chia sẻ thông tinhiệu quả Khi bổ sung World Wide Web (năm 1990), Tim Berners-Lee cũng nhằmmục tiêu tạo phương tiện cho phép người dùng tự do đưa thông tin lên Internet và
dễ dàng chia sẻ với mọi người (trình duyệt đầu tiên do Berner-Lee viết bao gồm cảcông cụ soạn thảo trang web) Tuy nhiên sau đó web đã phát triển theo hướng hơikhác mục tiêu ban đầu
Trong khi Web 1.0 chủ yếu là các website “đóng” của các hãng thông tấn haycông ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu quả hơn Nó chỉ cóchức năng phát tin chứ chưa phải là chia sẻ thông tin Web 2.0 hướng đến tính cộngđồng và tương tác với người dùng cao hơn Web 2.0 có 7 đặc tính nổi bật:
1 Web có vai trò nền tảng, có thể chạy mọi ứng dụng
2 Tập hợp trí tuệ cộng đồng
3 Dữ liệu có vai trò then chốt
4 Phần mềm được cung cấp ở dạng dịch vụ web và được cập nhập khôngngừng
5 Phát triển ứng dụng dễ dàng và nhanh chóng
6 Phần mềm có thể chạy trên nhiều thiết bị
7 Giao diện ứng dụng phong phú
Nói đến Web 2.0 ta có thể nói về yếu tố công nghệ và cộng đồng của nó
Có hàng loạt cộng nghệ mới được phát triển nhằm làm cho ứng dụng trên webmạnh hơn, nhanh hơn và dễ sử dụng hơn, được xem là nền tảng của Web 2.0 Kiếntrúc cơ bản bao gồm: Phần mềm máy chủ, cơ chế cung cấp nội dung, giao thứctruyền thông, trình duyệt và ứng dụng
Bước phát triển đầu tiên và quan trọng nhất hướng đến Web 2.0 đó là cơ chếcung cấp nội dung , sử dụng các giao thức chuẩn hóa để cho phép người dùng sửdụng thông tin theo cách của mình (nghĩa là có khả năng tùy biến thông tin)
Các giải pháp phát triển theo hướng Web 2.0 hiện nay có thể phân làm 2 loại:hoặc xây dựng hầu hết tính năng trên một nền tảng máy chủ duy nhất hoặc xâydựng ứng dụng “gắn thêm” cho máy chủ web, có sử dụng giao tiếp API
Công nghệ chỉ là bề nổi của Web 2.0, chính cộng đồng người dùng mới là yếu
tố nền tảng tạo nên thế hệ web mới Việc chuyển từ “duyệt và xem” sang “thamgia” là cuộc cách mạng thực sự, dĩ nhiên nhờ có sự phát triển công nghệ giúp hiệnthực khả năng này nhưng ở đây muốn nhấn mạnh đến hành vi của người dùng đốivới web
Trang 3Với sự phổ biến của các phần mềm máy chủ, trong đó có cả phần mềm miễnphí như Apache thì người dùng có thể đưa lên web bất cứ thông tin gì Tuy nhiên cónhiều yếu tố cản trở: Kỹ năng tạo website, hạn chế của nhà cung cấp dịch vụInternet, việc bảo mật và kiểm duyệt…
Về cơ bản, Web 2.0 trao quyền nhiều hơn cho người dùng và tạo nên môitrường liên kết chặt chẽ các cá nhân với nhau Giờ đây có nhiều ví dụ cho thấy cộngđồng người dùng có thể đóng góp thông tin giá trị khi họ có phương tiện thích hợp.Wikipedia có lẽ là ví dụ nổi tiếng nhất
Web 2.0 cho phép mọi người có thể đưa lên mạng bất cứ thông tin gì Với sốlượng người tham gia rất lớn, đến mức độ nào đó, qua quá trình sàng lọc, thông tin
sẽ trở nên vô cùng giá trị Ở đây có sự tương đồng với thuyết chọn lọc tự nhiên.Thật sự, Web 2.0 không phải là cái gì đó hoàn toàn mới mà là sự phát triển từweb hiện tại Nó vẫn là web như chúng ta dùng lâu nay, chỉ có điều giờ đây chúng
ta làm việc với web theo cách khác Các website không còn là những “ốc đảo” màtrở thành những nguồn thông tin và chức năng, hình thành nên môi trường điện toánphục vụ các ứng dụng web và người dùng
Không phải là viễn cảnh, Web 2.0 đã hiện hữu quanh chúng ta với hàng loạtwebsite thế hệ mới Xu hướng chuyển đổi sang Web 2.0 đang diễn ra mạnh mẽ và là
PHP được ông R.Lerdoft giới thiệu năm 1994 như một bộ sưu tập của mộtngôn ngữ lập trình chưa chặt chẽ và dựa vào Perl và các dụng cụ của trang chủ Tớinăm 1998, với việc công bố phiên bản 3 thì PHP mới chính thức phát triển theohướng tách riêng của mình Giống như C và Perl, PHP là một ngôn ngữ lập trình cócấu trúc và tính năng đa dạng Chính vì những điểm giống nhau này đã khuyếnkhích các nhà thiết kế Web chuyên nghiệp chuyển qua sử dụng PHP Với phiên bản
3 này PHP cũng được cung cấp một số lượng cơ sở dữ liệu khá đò sộ gồm cảMySQL, mSQL, OPBC và Oracle Nó cũng có thể làm việc với các hình ảnh cácfile dữ liệu, FTP, XML và host của các kỹ thuật ứng dụng khác
Cho đến nay thì PHP đã được công bố tới phiên bản 5 và ngày càng hoàn hảo
Trang 4nay được làm bằng PHP Rất ít hoặc không có một chương trình nào có thể tạo ramột tốc độ đáng kinh ngạc trong việc phát triển bành trướng như PHP Bởi vì nóđược thiết kết đặc biệt trong các ứng dụng Web, PHP xây dựng được rất nhiều tínhnăng để đáp ứng những nhu cầu chung nhất.
PHP là một mã nguồn thông tin mở, bởi vì mã nguồn của PHP sẵn có nêncộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phụccác lỗi trong chương trình này PHP rất ổn định và tương hợp, mới đây PHP đã vânhành khá ổn định trên cách hệ điều hành gồm cả Unix, Windows… Đồng thời nócũng nối với 1 số máy chủ như IIS hay Apache
1.2.2 Cơ sở dữ liệu MySQL
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trongnhóm LAMP (Linux – Apache – MySQL - PHP) MySQL là phần mềm ổn định, antoàn Hiện nay trong số các Website có lưu lượng truy cập lớn trên Internet, có rấtnhiều Website sử dụng LAMP và LAMP đang được coi là một đối trọng với các sảnphẩm mã đóng của Microsoft (Windows, IIS, SQL Server, ASP/ASP.NET)
Một số đặc điểm của MySQL:
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đươngvới SQL Server của Microsoft) MySQL quản lý dữ liệu thông qua các CSDL, mỗiCSDL có thể có nhiều bảng quan hệ chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người có thể đượcquản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập vàmật khẩu tương ứng để truy xuất đến CSDL Khi ta truy vấn tới CSDL MySQL, taphải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó
Trang 5CHƯƠNG II: KHẢO SÁT YÊU CẦU2.1 Khảo sát yêu cầu Công ty TNHH Thương Mại Nhật Thanh
Với mục đích giới thiệu, quảng bá sản phẩm của công ty đến với khách hàng.Công ty TNHH Thương Mại Nhật Thanh đã nhận thức được sự cần thiết phải có 1website cho công ty trong thời đại công nghệ thông tin phát triển nhanh chóng, qua
đó công ty có thêm 1 phương thức tiếp cận khách hàng vừa ít tốn kém về tiền của,nhân lực mà hiệu quả đạt được rất lớn
Theo yêu cầu của công ty Nhật Thanh, hệ thống website sẽ bao gồm các chứcnăng:
1 Trang giao diện người dùng (Trang ngoài)
- Yêu cầu có trang chủ thể hiện những thông tin nổi bật nhất khách hàng cầnđưa ra như 1 số sản phẩm mới nhất, sản phẩm bán chạy hay sản phẩm cao cấp củacông ty Ngoài ra có thể tùy biến các banner quảng cáo đặt trên web, các thống kêlượt truy cập, khách đang online…
- Trang Giới thiệu để giới thiệu về công ty
- Trang Sản Phẩm để trưng bày các sản phẩm của công ty, có thể phân chiatheo danh mục, có thể xem chi tiết sản phẩm Bao gồm các chức năng Xây dựng cấuhình theo các linh kiện mà khách tùy chọn và chức năng giỏ hàng Các thông tin giỏhàng sẽ gửi vào email của công ty
- Trang Báo giá để công ty cập nhập báo giá mới nhất đến khách hàng
- Trang Tin tức để đăng tải những tin tức về hoạt động của công ty, hoạt độngkhuyến mãi, các dự án của công ty …
- Trang Tuyển dụng để đăng thông tin tuyển dụng nhân lực khi công ty có nhucầu
- Trang liên hệ, là nơi khách hàng có thể gửi thư liên hệ, trao đổi với công ty
2 Trang giao diện quản trị (trang trong)
- Trang đăng nhập để giới hạn quyền đăng nhập vào trang quản trị để tùy biếnthông tin website
- Quản lý thành viên: Cập nhập (thêm, xóa, sửa) thành viên, bao gồm thànhviên có quyền quản trị thông tin website và các thành viên hỗ trợ trực tuyến
- Quản lý Giới Thiệu: Cập nhập thông tin giới thiệu của công ty để đưa ratrang ngoài
- Quản lý banner: Cập nhập banner quảng cáo đặt trên trang ngoài
- Quản lý sản phẩm và danh mục sản phẩm: Cập nhập danh mục sản phẩm vàsản phẩm của công ty
- Quản lý tin tức : Cập nhập tin tức cho trang ngoài
- Quản lý tuyển dụng: Cập nhập thông tin tuyển dụng
- Quản lý Báo giá: Cập nhập báo giá
Trang 63 Yêu cầu chung:
- Trang web hoạt động tốt trên các trình duyệt Internet Explorer, FireFox
- Giao diện dễ nhìn, dễ dùng Trang web có kích thước 1024 x 768
- Lấy màu xanh (trùng với màu trên logo công ty) làm màu chủ đạo
2.2 Phân tích Thiết kế Cơ Sở Dữ Liệu:
2.2.1 Sơ đồ thực thể:
a, Ký hiệu thực thể Tên thực thể
Thuộc tính
…Quan Hệ:
Một – Một
Một – Nhiều
b, Sơ đồ thực thể:
Trang 7c, Mô tả thực thể:
- Kiểu thực thể Giới thiệu lưu trữ thông tin giới thiệu về công ty gồm: ID, tên,
sơ lược, chi tiết, ảnh Trong đó ID là khóa chính để phân biệt từng mục giới thiệukhác nhau
- Kiểu thực thể Banner lưu trữ thông tin của các banner quảng cáo đặt trênweb Bao gồm: ID, Liên kết, Ảnh, File, Vị trí Trong đó ID là khóa chính
- Kiểu thực thể Tin tức lưu trữ thông tin của tin tức Gồm có: ID, tên, sơ lược,chi tiết , ảnh , thời gian post bài ID là khóa chính
- Kiểu thực thể Tuyển dụng Lưu trữ thông tin của tin tuyển dụng Gồm có:
ID, tên, sơ lược, chi tiết, ảnh, thời gian post tin ID là khóa chính
- Kiểu thực thể Báo giá lưu trữ thông tin báo giá của công ty Gồm có: ID,Tên, Chi tiết, File, Thời gian post báo giá Trong đó ID là khóa chính
- Kiểu thực thể Thông tin khác, lưu trữ các thông tin ngoài module như:Thông tin liên hệ, footer, tỉ giá USD… Gồm có: ID, tên, chi tiết Trong đó ID làkhóa chính
- Kiểu thực thể Thành Viên lưu trữ thông tin thành viên bao gồm: ID, Tênđăng nhập, ID nhóm, Họ tên, Email, Nickname, Ảnh, Password Trong đó ID làkhóa chính
- Kiểu thực thể Nhóm lưu trữ thông tin của nhóm thành viên Gồm có ID, tênnhóm, Super ( Có được toàn quyền quản trị không ?) ID là khóa chính
- Kiểu thực thể Phân quyền lưu trữ thông tin phân quyền quản trị tới từng chứcnăng quản trị (nhập, xóa, sửa…) module tới các nhóm Gồm có ID, ID nhóm, IDmodul, Chức năng ID là khóa chính
- Kiểu thực thể Module lưu trữ thông tin các module sẽ hiện thị trên trangquản trị và cấp bậc của các module Gồm có ID, Tên Module, Mã Modul, ID Cha
ID là khóa chính
Trang 8- Kiểu thực thể Danh mục sản phẩm lưu trữ thông tin các danh mục sản phẩmcủa công ty Bao gồm: ID, Tên Danh mục, ID Cha (Danh mục cha, mức trên), Chitiết, Ảnh Trong đó ID là khóa chính.
- Kiểu thực thể Sản Phẩm lưu trữ thông tin về sản phẩm Bao gồm : ID, IDDanh mục, Tên Sản phẩm, sơ lược, chi tiết, ảnh, TT mới (Thuộc tính – Mới), TTBán chạy (Thuộc tính – Bán chạy), TT Cao cấp (Thuộc tính – Cao cấp), giá, bảohành, khuyến mãi ID là khóa chính
- Kiểu thực thể Giỏ hàng lưu thông tin tạm về Giỏ hàng của khách (Thông tinnày sẽ gửi theo email cho công ty ) Bao gồm ID, ID Sản phẩm, Số lượng, Thờigian Trong đó ID là khóa chính
2.2.2 Thiết kế Cơ sở dữ liệu
a, Mô hình quan hệ:
Trang 9b, Mô tả bảng dữ liệu:
- Bảng aboutus (Giới thiệu):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
description Mediumtext Not null Chi tiết giới thiệu
- Bảng banner (Banner):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
Trang 10- Bảng news (Tin tức):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng job (Tuyển dụng):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
description Mediumtext Not null Chi tiết tuyển dụng
- Bảng download (Báo giá):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
Trang 11- Bảng info (Thông tin khác):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng user (Thành viên):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng group (Nhóm ):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
Trang 12- Bảng permissions (Phân quyền ):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng module (Module):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng product (Sản phẩm):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
Trang 13- Bảng category (Danh mục sản phẩm):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
- Bảng cart (Giỏ hàng):
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Mô tả
2.2.3 Sơ đồ luồng dữ liệu
a, Sơ đồ luồng dữ liệu mức khung cảnh:
Có 2 chủ thể chính sẽ làm việc với hệ thống là người quản trị web và kháchtruy cập Do trang web của công ty có ít module nên chỉ cần 1 người có quyền quảntrị để cập nhập thông tin cho website Dưới đây là sơ đồ luồng dữ liệu mức khungcảnh:
Trang 14b, sơ đồ luồng dữ liệu mức đỉnh ( Chức năng quản trị):
c, sơ đồ luồng dữ liệu mức dưới đỉnh giải thích chức năng 1 ( Thêm):
d, sơ đồ luồng dữ liệu mức dưới đỉnh giải thích chức năng 2 (Sửa):
Trang 15e, sơ đồ luồng dữ liệu mức dưới đỉnh giải thích chức năng 3 (Xóa):
f, sơ đồ luồng dữ liệu mức dưới đỉnh giải thích chức năng 4 (Tìm kiếm):
Trang 16CHƯƠNG 3: THIẾT KẾ WEBSITE
3.1 Thiết kế website
Website được xây dựng dựa trên bộ code base của công ty NSVIET Sử dụngngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu MySQL chạy trên phần mềmmáy chủ Apache (Apache HTTP Server) Trang web được nhúng thêm các công cụphụ trợ như FCKeditor – Trình soạn thảo văn bản giúp người quản trị định dạng vănbản trực tiếp trên website trong quá trình nhập hay sửa dữ liệu; Công nghệ Smartygiúp tách code ra khỏi giao diện để việc bảo trì và làm việc với code php hay htmltường minh và dễ dàng hơn
Dưới đây là giao diện 1 số chức năng chính của website
3.1.1 Giao diện quản trị
a, Đăng nhập: Người quản trị hoặc thành viên khác được cấp quyền sẽ nhậptên đăng nhập và password để vào trang quản trị
b, Trang Quản lý sản phẩm:
Trang 17Trong trang quản trị có các module để quản lý thông tin cho website VàTrang quản lý danh sách sản phẩm là 1 ví dụ Khi chọn vào module Quản lý danhsách sản phẩm, website sẽ hiển thị bảng liệt kê các sản phẩm của công ty Tại đây ta
có thể thực hiện 1 số chức năng nhanh như Cập nhập giá của nhiều sản phẩm 1 lúc
Có thể xóa, active hoặc unactive 1 hoặc nhiều sản phẩm (Chỉ những sản phẩmđược active mới hiển thị trên trang ngoài) Ta có thể chọn Thêm mới hoăc Chọn sửathông tin của 1 sản phẩm nào đó
c, Trang quản lý sản phẩm – Chức năng Thêm mới:
Trang 18Với chức năng thêm mới, ta có thể thêm thông tin của 1 sản phẩm mình muốnvào cơ sở dữ liệu Có thể tùy biến chọn hoặc bỏ chọn thuộc tính Mới, Cao cấp, Bánchạy của sản phẩm để hiển thị ra trang ngoài Mỗi sản phẩm thuộc 1 danh mục sảnphẩm nào đó nằm trong bảng danh mục Vì thế người quản trị sẽ chọn cho sảnphẩm muốn nhập 1 danh mục nào mà chứa nó.
d, Trang quản lý sản phẩm – chức năng Sửa:
Thay đổi, cập nhập các thông tin cho sản phẩm
Trang 19e, Trang Quản lý thành viên – Chức năng sửa.
Trang quản lý thành viên để thêm bớt, thay đổi thông tin thành viên Trườngpassword sẽ được mã hóa theo chuẩn MD 5 trước khi được lưu vào cơ sở dữ liệu vìthế tăng cường khả năng bảo mật ! Môi thành viên sẽ nằm trong 1 nhóm nào đó.Mỗi nhóm có quyền truy cập khác nhau
3.1.2 Giao diện người dùng ( Trang ngoài):