* CHƯƠNG 2: KẾ HOẠCH TRIỂN KHAI DỰ ÁN * CHƯƠNG 3: CỞ SỞ LÝ THUYẾT CỦA ĐỀ TÀI * CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ LẬP TRÌNHỨNG DỤNG Với khả năng hiểu biết còn hạn chế, do đó bài bá
Trang 1LỜI MỞ ĐẦU
Trong thời gian học tập tại Trung tâm Công nghệ thông tin và Truyền thông
Đà Nẵng (DNICT) Được sự quan tâm, giúp đỡ của Ban Lãnh đạo, sự tận tình chỉbảo của các thầy cô ở Trung tâm Công nghệ Thông tin và Truyền thông Đà Nẵng vàđặc biệt là thầy giáo hướng dẫn Nguyễn Hữu Thanh, đã giúp cho em nắm nhữngkiến thức mới Với những kết quả thu được trong thời gian học tập em xin hệ thốngthành báo cáo gồm những phần sau:
* CHƯƠNG 1: GIỚI THIỆU VỀ TÀI
* CHƯƠNG 2: KẾ HOẠCH TRIỂN KHAI DỰ ÁN
* CHƯƠNG 3: CỞ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
* CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ LẬP TRÌNHỨNG DỤNG
Với khả năng hiểu biết còn hạn chế, do đó bài báo cáo không tránh khỏinhững sai sót Rất mong quý thầy cô ở DNICT cũng như Ban Lãnh đạo tận tình chỉbảo
Xin phép được gửi lời chân thành cảm ơn sâu sắc nhất đối với sự quan tâmcủa Lãnh đạo, các thầy cô giáo tại Trung tâm Công nghệ thông tin và Truyền thông
Đà Nẵng đã chỉ dẫn em nhiệt tình trong thời gian học tập tại đơn vị
Cuối cùng em xin chúc tất cả mọi người với lời chúc tràn đầy sức khoẻ, hạnhphúc và gặp nhiều may mắn trong cuộc sống
Trang 2PHỤ LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 4
CHƯƠNG 2: KẾ HOẠCH TRIỄN KHAI DỰ ÁN 5
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI 6
I Giới thiệu về ngôn ngữ lập trình PHP 6
1 Giới thiệu về PHP 6
2 Cấu trúc 6
3 Xuất giá trị ra trình duyệt 7
4 Khái niệm biến, hằng, chuổi và các kiểu dữ liệu 7
5 Môi trường cài đặt 8
II Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL 9
1 Giới thiệu về cơ sở dữ liệu MySQL 9
2 Một số đặc điểm của MySQL 9
3 Các bước xây dựng chương trình có kết nối tới CSDL: 9
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ LẬP TRÌNH ỨNG DỤNG 10
I Phân tích và thiết kế hệ thống 1 Mô tả thệ thống 10
2 Mô tả một số chức năng của các trang chính 10
3 Phân tích yêu cầu người dùng 11
4 Thiết kế hệ thống 11
5 Sơ đồ Usercase 14
II Thiết kế cơ sở dữ liệu: 15
1 Bảng admin: 15
2 Bảng theloai 15
3 Bảng chungloai 16
4 Bảng baiviet……… 16
5 Bảng user 17
6 Bảng thongbao 18
7 Bảng bieumau 19
8 Bảng lienhe 19
III Lập trình ứng dụng 20
1 Các giao diện chính cho người dùng 20
Trang 32 Giao diện một số chức năng chính của trang admin 25 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 29 TÀI LIỆU THAM KHẢO 30
Trang 4CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI
Cùng với sự phát triển của xã hội, theo đó là sự phát triển không ngừng củacông nghệ, nên từ lâu việc áp dụng công nghệ thông tin vào nhiều lĩnh vực khácnhau đã mạng lại được nhiều thành quả bất ngờ Vì vậy, việc áp dụng công nghệthông tin vào việc học tập của sinh viên của các trường đã được chú trọng trong thờigian gần đây Nhưng việc tạo ra một website chuyên cung cấp giáo trình và đồ áncho sinh viên của một khoa thì không được áp dụng nhiều trong các trường
Đó chính là lý do em chọn đề tài: “Xây dựng website thư viện tin học trựctuyến” thể đáp ứng cho sinh viên chuyên ngành công nghệ thông tin về nhu cầu họctập của mình Với website này người dùng có thể tìm cho mình những tài liệu cầnthiết chỉ thông qua chiếc máy tính cá nhân Với một cú click chuột bạn có thể tải về
bộ giáo trình hay đồ án đã được người quản trị đưa lên Nhưng những tài liệu đóphải được người quản trị đảm bảo về mặt bản quyền Ngoài ra, những thông báođược khoa và trường được xuống cũng được người quản trị cung cấp một cách đầy
đủ và nhanh nhất
Do còn hạn hẹp về kiến thức và thời gian, nên website “Xây dựng websitethư viện tin học trực tuyến” chắc hẳn sẽ tồn tại nhiều thiếu sót Mong thầy và cácbạn góp ý để website được hoàn thiện hơn
Trang 5CHƯƠNG 2: KẾ HOẠCH TRIỄN KHAI DỰ ÁN
Tất cả thànhviên
Ngoài ra,các chứcnăng còn
có sự giúp
đỡ của cácthành viênvới nhau
2 Thiết kế
giao diện
- Thiết kế các giao diện trangchủ, xem theo thể loại, chủngloại, chi tiết bài viết
14/06/2015 đến21/06/2015
Minh Nhật
- Thiết kế giao diện trang xemchi tiết thông báo, các fromđăng nhập, đăng ký
14/06/2015 đến21/06/2015
Đức Anh
- Thiết kế giao diện trangquản trị viên
14/06/2015 đến21/06/2015
Hữu Quý, ĐứcAnh
Xử lý các trang chủ, trangxem theo thể loại, chủng loại,bài viết, biểu mẫu
22/06/2015 đến10/07/2015
Minh Nhật
Xử lý xem chi tiết thông báo,chức năng tìm kiếm bài viết
22/06/2015 đến10/07/2015
Hoàn thiện Website 12/07/2015 Tất cả thành viên
Viết báo cáo, slide 12/07/2015 Minh Nhật
Trang 6CHƯƠNG 3: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
1 Giới thiệu về PHP
PHP (Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để
dễ dàng xây dựng các trang Web động Mã PHP có thể thực thi trên Webserver đểtạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng Ngônngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển bởi nhiều ngườitrải qua nhiều phiên bản Phiên bản hiện tại là PHP 5 đã được công bố 7/2004
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra
đây một số lý do cơ bản: - Mã nguồn mở (open source code) - Miễn phí, download
dễ dàng từ Internet - Ngôn ngữ rất dễ học, dễ viết - Mã nguồn không phải sửa lạinhiều khi viết chạy cho các hệ điều hành từ Windows, Linux, Unix - Rất đơn giảntrong việc kết nối với nhiều nguồn DBMS
Ví dụ như: MySQL, Microsoft SQL Server 2000, Oracle, PostgreSQL,Adabas, dBase, Empress, FilePro, Informix, InterBase, mSQL, Solid, Sybase,Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất
cứ DBMS nào có sự hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ nhưDB2 của IBM
Trang 7<script language =php>
………
</script>
- Mặc dù có 4 cách thể hiện Nhưng đối với 1 lập trình viên có kinh nghiệm thì việc
sử dụng cách 1 vẫn là lựa chon tối ưu
Trong PHP để kết thúc 1 dòng lệnh chúng ta sử dụng dấu ";"
3 Xuất giá trị ra trình duyệt
- Để xuất dữ liệu ra trình duyệt chúng ta có những dòng cú pháp sau:
+ Echo "Thông tin";
+ Printf "Thông tin";
Thông tin bao gồm: biến, chuỗi, hoặc lệnh HTML …
- Nếu giữa hai chuỗi muốn liên kết với nhau ta sử dụng dấu "
4 Khái niệm biến, hằng, chuổi và các kiểu dữ liệu
- Biến trong PHP Biến được xem là vùng nhớ dữ liệu tạm thời Và giá trị có thể
thay đổi được Biến được bắt đầu bằng ký hiệu "$" Và theo sau chúng là 1 từ, 1cụm từ nhưng phải viết liền hoặc có gạch dưới
1 biến được xem là hợp lệ khi nó thỏa các yếu tố:
+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấugạch dưới
+ Tên của biến không được phép trùng với các từ khóa của PHP
- Trong PHP để sử dụng 1 biến chúng ta thường phải khai báo trước, tuy nhiên đốivới các lập trình viên khi sử dụng họ thường xử lý cùng một lúc các công việc,nghĩa là vừa khái báo vừa gán dữ liệu cho biến
- Khái niệm về hằng trong PHP Nếu biến là cái có thể thay đổi được thì ngược lại
hằng là cái chúng ta không thể thay đổi được Hằng trong PHP được định nghĩa bởihàm define theo cú pháp: define (string tên_hằng, giá_trị_hằng)
Cũng giống với biến hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố: + Hằng không có dấu "$" ở trước tên
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần
+ Hằng thường viết bằng chữ in để phân biệt với biến
Trang 8- Khái niệm về chuỗi Chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt
được đặt trong các dấu nháy
- Kiểu dữ liệu trong PHP Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ
khác nhau và có thể được xử lý theo cách khác nhau khi chúng được theo tác trong
1 script
5 Môi trường cài đặt
Để có thể lập trình được một website hoàn chỉnh với PHP thì việc trước tiên chúng
ta cần phải cài đặt môi trường lập trình php ( apache ) để các đoạn mã php
chúng ta viết ra có thể chạy được, song song đó ta cần tích hợp hệ quản trị cơ sở
dữ liệu MySQL (phpmyadmin) để có thể quản lý và lưu trữ dữ liệu Việc cài đặt này
có thể cài riêng lẻ từng thành phần như là cài apche trước, sau đó cài tiếp phpmyadmin,…hoặc các phần mềm đã tích hợp sẵn “cặp anh em sinh đôi” này và những thư viện hỗ trợ khác.
Hiện nay đã có nhiều gói phần mềm hỗ trợ việc cài đặt như đã nói ở trên chỉ cầnbạn download và với vài cú click chuột là bạn đã có thể bắt tay lập trình được rồi.Bạn có thể một trong những phần mềm mình liệt kê dưới đây :
Bước 1 : Các bạn truy cập vào link http://www.wampserver.com/en/ , bấm sang tab
“Download”, tùy vào máy 64bit hay 32bit bạn chọn gói cài đặt cho phù hợp Ở đâymình chọn gói 32 bit (p/s : cấu hình máy mình là celeron
Bước 2 : Khi download về bạn nhấn đúp lên phần mềm, click next liên hoàn chưởng
để tiến hành qua trình cài đặt (mình nghĩ bước này không cần nói nhiều thì bạncũng đã biết hết rồi, y chang như cài các phần mềm khác ý mà )
Bước 3 : Sau khi cài đặt xong bạn sẽ có biểu tượng của “Wamp” hiện ngoài mànghình deskop hoặc trong thanh menu
Trang 9II Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL
1 Giới thiệu về 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
cá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
2 Một số đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần tương
- MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có
- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể đượcquản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một tên truycập (username) và mật khẩu(password) tương ứng để truy xuất đến cơ sở dữ liệu.Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tàikhỏan có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng ta sẽ không làm được
gì cả
3 Các bước xây dựng chương trình có kết nối tới CSDL:
Thông thường, trong một ứng dụng có giao tiếp với CSDL, ta phải làm theo bốn
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có
Nếu như trong lập trình thông thường trên Windows sử dụng các chương trình điềukhiển trung gian (ADO, ODBC ) để thực hiện kết nối và truy vấn, thì trong PHP,khi lập trình tương tác với CSDL, chúng ta thường sử dụng thông qua các hàm
Trang 10CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ LẬP TRÌNH ỨNG DỤNG
- Thể loại Mỗi thể loại ID thể loại, tên thể loại và trạng thái (hiển thị hoặc không
hiển thị) Bên trong mỗi thể loại còn có nhiều chủng loại và bài viết riêng
Thể loại gồm có:
o Đồ án
o Giáo trình
- Chủng loại Mỗi thể loại ID chủng loại, tên chủng loại, id_thể loại và thứ tự (thứ
tự hiển thị trong website) Bên trong mỗi chủng loại còn có nhiều bài viết riêng
Đồ án thiết kế Web Giáo trình thiết kế Web
- Bài viết Bài viết có id bài viết, tên bài viết, id thể loại, id chủng loại, ngày đăng,
ảnh minh họa, file, nội dung, tác giả, trạng thái, thứ tự
- Biểu mẫu Biểu mẫu sẽ có id biểu mẫu tên biểu mẫu, nội dung, file, ảnh minh
họa
- Thông báo Thông báo sẽ có id thông báo, tên thông báo, nội dung, file, ngày
đăng thông báo
2 Mô tả một số chức năng của các trang chính
Những bài thông báo được admin sắp xếp theo thứ tự về thời gian đăng bài,những bài viết đăng lên sau sẽ được hiện lên phía trên để người dùng dể dàng xemcác thông báo mới
Trang 11 Trên trang Index có form hiển thị những tài liệu mới được cập nhật theo thứ tự
về thời gian đăng bài của admin, giúp thành viên có thể kịp thời tham khảo nhữngtài liệu mới được cập nhật một cách nhanh nhất
Ngoài ra trên trang Index có hiển thị các thông báo và top 3 tài liệu đượcdownload nhiều
Đối với trang chi tiết Khi click chuột vào mỗi vào viết người dùng sẽ đượcchuyển đến một trang web khác Với chức năng xem chi tiết về bài viết đó, họ hoàntoàn có khả năng down về hoặc chỉ xem thôi, ngoài ra có chức năng bình luận saumỗi bài viết Bên phải màn hình còn liệt kê các bài việt được xem nhiều
Đối với trang “giáo trình “và “đồ án” thì người dùng sẽ được thấy những bài viếtsắp theo mỗi thể loại khác nhau
Ví dụ: Trang “giáo trình” sẽ có: Giáo trình thiết kế Web, giáo trình Java v.v…
Đối với trang xem thông báo Khi người dùng truy cấp đến họ sẽ được xem nộidung thông báo và ngày đăng thông báo Những thông báo nào có file kèm theo thìngười dùng đều có khả năng down về
Đối với chức năng tải tài liệu, người dung phải đăng nhập để có thể tải được tàiliệu, nếu chưa đăng nhập thì khi click vào chữ “download ” thì hệ thống sẽ tự động
3 Phân tích yêu cầu người dùng
Kiểu người dùng là thành viên
* Đối với kiểu người dùng là khách họ có những chức năng như tìm kiếm,bình luận, và tải tài liệu
Kiểu người dùng là quản trị
* Quản trị sẽ có quyền như thêm, sửa, xóa bỏ tài liệu
4 Thiết kế hệ thống
4.1 Biểu đồ ngữ cảnh hệ thống
Trang 12Hình 1: Biểu đồ ngữ cảnh hệ thống
4.2 Biểu đồ phân rã chức năng
Hình 2: Biểu đồ phân rã chức năng
* Biểu đồ phân rã chức năng yêu cầu từ người dùng đến hệ thống.
Trang 13Hình 3: Biểu đồ phân rã chức năng yêu cầu
* Biểu đồ phân rã chức năng tìm kiếm
Hình 4: Biểu đồ phân rã chức năng tìm kiếm
* Biểu đồ phân rã chức năng tải tài liệu
Trang 14
Hình 5: Biểu đồ phân rã chức năng tải tài liệu
* Biểu đồ phân rã chức năng xem nội dung tài liệu
Hình 6: Biểu đồ phân rã chức năng xem nội dung
Trang 15Hình 8 Bảng admin
2 Bảng theloai
Trang 16Bảng thể loại giúp lưu trữ thông tin về: tên thể loại, mô tả và thứ tự hiển thị.
Hình 9 Bảng thể loại
3 Bảng chungloai
Bảng chủng loại giúp lưu trữ thông tin về: tên chủng loại, chủng loại đó
Hình 10 Bảng chủng loại
Bảng bài viết giúp lưu trữ thông tin về: tên bài viết, bài viết đó thuộc thể loại nào, bài viết đó thuộc chủng loại nào, ngày đăng, nội dụng, ảnh minh họa, đường dẫn của thư mục chứa bài viết đó, tác giả và dung lượng của bài viết.
Trang 17Tenbaiviet Varchar(200) No Tên bài viết
Hình 11 Bảng bài viết
Bảng user có chức năng lưu trữ thông tin về thành viên
Trang 18Birth_mon Int(11) No Tháng sinh
Hình 12 Bảng user
Bảng thông báo với chức năng lưu trữ thông tin về: tên thông báo, nội dung,
trạng thái hiển thị hoặc không hiển thị, thứ tự hiển thị, ngày đăng và đường dẫn fileđối với những thông báo có file kèm theo
Hình 13 Bảng thông báo
Trang 197 Bảng bieumau Bảng biểu mẫu với chức năng lưu trữ thông tin về: tên biểu mẫu, ảnh minh họa, đường dẫn chứa file, trạng thái hiện thị hoặc không hiển thị và thứ
Hình 14 Bảng biểu mẫu
8 Bảng lienhe:
Bảng liên hệ có chức năng giúp thành viên góp ý với ban quản trị mọi thắc mắc và
có thể yêu cầu tài liệu
Sơ đồ quan hệ: