1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website quản lý thư viện cho một khoa ở một trường Đại Học hoặc Cao Đẳng.DOC

69 888 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 0,99 MB

Nội dung

Nó cũng chỉ là các tài liệu văn bản bình thườngnhưng có chứa các thành phần đặc biệt gọi là các thẻ hoặc các cặp thẻ đánh dấu.Dựa theo các cặp thẻ này mà trình duyệt có thể biết được nó

Trang 1

MỤC LỤC

MỤC LỤC 1

HÌNH ẢNH 2

TÓM TẮT 4

TÓM TẮT 4

ABSTRACT 4

KÍ HIỆU VÀ VIẾT TẮT 5

CHƯƠNG 1: TỔNG QUAN 6

1.1 ĐẶT VẤN ĐỀ : 6

1.2 LỊCH SỬ GIẢI QUYẾT ĐỀ TÀI : 6

1.3 PHẠM VI ĐỀ TÀI : 7

1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ : 7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8

2.1 TỔNG QUAN VỀ HTML : 8

2.1.1 Giới thiệu: 8

2.1.2 Cấu trúc của một trang HTML: 8

2.1.3 Các thẻ trong HTML: 9

2.1.4 Soạn thảo và định dạng: 12

2.2 SƠ LƯỢC VỀ XHTML: 13

2.2.1 Khái niệm về XHTML: 13

2.2.2 So sánh giữa HTML và XHTML: 13

2.3 SƠ LƯỢC VỀ CSS: 14

2.3.1 Khái niệm về CSS: 14

2.3.2 Sự ra đời của CSS: 14

2.3.3 Thứ tự áp dụng các định dạng: 15

2.3.4 Cú pháp của CSS: 15

2.3.5 Chèn CSS vào HTML: 18

2.4 SƠ LƯỢC VỀ XML: 19

2.4.1 Giới thiệu: 19

2.4.2 Cấu trúc của một tài liệu XML: 19

2.5 TÌM HIỂU VỀ PHP: 20

2.5.1 Giới thiệu: 20

2.5.2 Lịch sử phát triển PHP: 21

2.5.3 Các thành phần cơ bản của PHP: 21

2.5.4 PHP và Form: 23

2.5.5 Điều hướng Menu: 25

Trang 2

2.5.6 Thao tác CSDL trong PHP: 25

2.5.7 Session trong PHP: 27

2.6 GIỚI THIỆU MYSQL SERVER: 28

2.6.1 Khái niệm: 28

2.6.2 phpMyAdmin - công cụ quản trị MySQL: 29

CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 30

3.1 KẾT QUẢ TÌM HIỂU THỰC TẾ: 30

3.2 KẾT QUẢ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG: 31

3.2.1 Mô hình dữ liệu quan niệm (CDM): 32

3.2.2 Sơ đồ dòng dữ liệu ( DFD ): 33

3.2.3 Cơ sở dữ liệu: 35

3.3 CÁC THÀNH PHẦN CHÍNH CỦA WEBSITE: 38

3.3.1 Trang điều khiển cho quản trị viên (admin control panel): 38

3.3.2 Giao diện người dùng cuối: 47

3.3.3 Lưu đồ một số chức năng: 56

TỔNG KẾT 58

KẾT LUẬN 58

HẠN CHẾ: 58

HƯỚNG PHÁT TRIỂN WEBSITE 58

PHỤ LỤC 59

TÀI LIỆU THAM KHẢO 69

Trang 3

HÌNH ẢNH

Hình 2.1 Cấu trúc một phần tử XML 20

Hình 3.1 Mô hình dữ liệu quan niệm (CDM) 32

Hình 3.2 DFD mức 0 33

Hình 3.3 DFD mức 1 33

Hình 3.4 DFD tiến trình “xử lý mượn trả sách” 34

Hình 3.5 Sơ đồ cơ sở dữ liệu 35

Hình 3.6 Trang đăng nhập admin 38

Hình 3.7 Menu điều khiển 39

Hình 3.8 Trang quản lý thông tin sách 43

Hình 3.9 Ảnh bìa mặc định 44

Hình 3.10 Form tạo tài khoản 44

Hình 3.11 Yêu cầu mượn sách 45

Hình 3.12 Xác nhận trả sách 46

Hình 3.13 Danh mục phiếu cũ 47

Hình 3.14 Giao diện trang chủ 48

Hình 3.15 Module thông tin đăng nhập 51

Hình 3.16 Chức năng đặt mượn được mở 51

Hình 3.17 Chức năng tra cứu 52

Hình 3.18 Chức năng kiểm tra sách đã đặt 53

Hình 3.19 Module sách mượn nhiều nhất 55

Trang 4

TÓM TẮT

Thư viện trong một trường Đại Học là nơi các sinh viên dành nhiều thời gian

để thực hiện việc nghiên cứu, học tập, cũng như tìm thấy những quyển sách hay đểtrau dồi kiến thức của mình Do đó việc phát triển và quản lý tốt thư viện là hết sứccần thiết cho việc tự học của sinh viên

Từ lâu, việc ứng dụng công nghệ thông tin trong quản lý đã trở thành xu hướngbởi nó không chỉ mang lại hiệu quả vượt trội mà còn tiết kiệm nhân lực, tiền bạc vàthời gian hơn hẳn Nhưng đối với một thư viện điện tử, nếu chỉ dừng lại ở quản lýsách trong thư viện thì vẫn còn chưa đủ Trong thời đại internet bùng nổ như hiện nay,việc tích hợp tính năng tra cứu và đặt mượn sách trực tuyến hứa hẹn khả năng phục vụsinh viên mọi lúc, mọi nơi, và cũng tối ưu hóa vai trò của một thư viện điện tử

Đề tài : “Xây dựng website quản lý thư viện cho một khoa ở một trường ĐạiHọc hoặc Cao Đẳng” được đề ra nhằm mục đích trên Dựa trên ngôn ngữ mã nguồn

mở PHP cùng với hệ quản trị cơ sở dữ liệu MySQL, sinh viên thực hiện đề tài đã hoànthành website trên, với thư viện Khoa Kỹ Thuật Công Nghệ trường Đại Học Tây Đô

là hình mẫu cho dự án

ABSTRACT

A library in an university is the place where students spend most of their timefor researching, as well as finding good books to enrich their knowledge For thatreason, the development and management of a library is very important to students’self-studying

For a long time, applying information technology into management hasbecome quite a tendency because it brings not only outstanding effeciency but alsosaves a great deal of manpower, money and time But, to an electronic library, itwouldn’t be called a success if we stop at management only These days, wheninternet usage has become a blast, the integration of books searching and bookingfeature promises the ability of serving students everytime, everywhere, as well asoptimizes the role of an electronic library

The project : “Develop a library management website for a department in anuniversity or a college” is then proposed for that purpose Basing on the open-sourcelanguage PHP and the database management system MySQL, the developer hascompleted the mentioned website, with the library of Tay Do University’sTechnology Department as a sample for this project

Trang 5

KÍ HIỆU VÀ VIẾT TẮT

PHP PHP Hypertext Preprocessor

SGML Standard Generalized Markup Language

SQL Structure Query Language

WYSIWYG What You See Is What You Get

XHTML eXtensible Hyper Text Markup Language

Trang 6

Chính những lý do trên đã khiến cho việc tin học hóa các công tác văn phòng,thủ tục hành chính trở thành một xu thế tất yếu Những thiết bị lưu trữ, hệ thống thôngtin đang dần thay thế những tủ hồ sơ khổng lồ Trước những lợi ích mà công nghệthông tin mang lại, việc thay đổi cách thức quản lý thư viện đã trở thành một nhu cầuthực tiễn và hoàn toàn nằm trong tầm tay.

2 LỊCH SỬ GIẢI QUYẾT ĐỀ TÀI :

Việc xây dựng hệ thống thông tin và ứng dụng phục vụ quản lý thư viện đãđược nhiều sinh viên nghiên cứu, thực hiện trước đây Những dự án đó gần như đãhoàn thiện các nhu cầu về quản lý sách thư viện, chỉ còn tồn tại duy nhất một vấn đề

Đó là tính cục bộ, vốn là đặc điểm của các phần mềm Chúng khó có thể phục vụ rộngrãi cho nhiều loại đối tượng

Một số dự án đã được nâng cao hơn, với hướng phát triển theo mô hình server client, nhằm bổ sung khả năng phục vụ độc giả của thư viện thông qua mạng máytính Các phần mềm dạng này gồm ứng dụng phía người quản lý (server) để quản lýthông tin sách và giải quyết mượn sách, cùng với ứng dụng phía người dùng (client)cho phép độc giả tham khảo và đặt mượn sách Mặc dù vậy, các bộ ứng dụng trên vẫnchưa tạo nên sự tiện lợi cho người sử dụng, do các khách hàng phải trải qua quá trìnhcài đặt, cũng như có các đòi hỏi về cấu hình máy tính

-Những lí do trên thúc đẩy một cách tiếp cận mới đối với đề tài quản lý thưviện, đó là xây dựng ứng dụng trên nền web Dự án này cũng bao gồm một websiteAdmin Control Panel thực hiện các chức năng của người quản lý, và một websitephục vụ độc giả của thư viện Lợi thế khi phát triển đề tài trên nền web là người sử

Trang 7

dụng có thể truy cập mọi lúc mọi nơi, chỉ cần ít nhất một trình duyệt web (ví dụ : trìnhduyệt Internet Explorer đi kèm với hệ điều hành Microsoft Windows) và một đườngtruyền internet Hơn thế nữa, với khả năng sử dụng đa dạng các nội dung media (ví dụ

âm thanh, phim ảnh v.v…) để xây dựng giao diện, một website đảm bảo sự hấp dẫnđối với người sử dụng hơn hẳn

3 PHẠM VI ĐỀ TÀI :

Phạm vi đề tài sẽ bao gồm các nội dung sau đây :

- Xây dựng chức năng quản lý, cập nhật thông tin sách trong thư viện

- Xây dựng chức năng quản lý, cập nhật tài khoản và thông tin độc giả

- Xây dựng chức năng quản lý việc mượn trả sách, tự động kiểm tra việc đặt mượn sách và phiếu mượn sách

- Xây dựng chức năng đăng mới và quản lý các thông báo của thư viện

- Xây dựng hộp tin nhắn để tiếp nhận các liên hệ của độc giả

- Xây dựng chức năng tra cứu thông tin sách, xem các thông báo, giới thiệu dành cho độc giả

- Xây dựng chức năng đặt mượn sách và hủy đặt mượn sách

- Xây dựng chức năng cho phép độc giả xem và thay đổi thông tin cá nhân, xem các sách đang mượn và các phiếu mượn sách

- Xây dựng chức năng liên hệ người quản trị

4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ :

Xuất phát từ các yêu cầu trên, đề tài sẽ được giải quyết theo hướng sau:

- Tìm hiểu cách tổ chức thông tin sách của thư viện

- Tìm hiểu cách tổ chức các nhóm độc giả và quy định về mượn trả sách

- Phân tính quy trình đặt mượn, lập phiếu mượn và trả sách

- Dựa trên kết quả phân tích, thiết kế hệ thống thông tin phù hợp với nhu cầu thự tiễn

- Lựa chọn các ngôn ngữ, công nghệ để xây dựng website: ngôn ngữ lập trình :HTML, PHP; CSDL : MySQL; công nghệ hỗ trợ : CSS, XML

Trang 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

5 TỔNG QUAN VỀ HTML :

5.1 Giới thiệu:

HTML: HyperText Markup Language Đây là một ngôn ngữ đơn giản được sửdụng trong các tài liệu siêu văn bản Nó cũng chỉ là các tài liệu văn bản bình thườngnhưng có chứa các thành phần đặc biệt gọi là các thẻ (hoặc các cặp thẻ) đánh dấu.Dựa theo các cặp thẻ này mà trình duyệt có thể biết được nó phải thể hiện nội dung gì.Bản chất của HTML không phải là một ngôn ngữ lập trình nên cũng không chứanhững thuật toán lằng nhằng Nó chỉ là một "ngôn ngữ" để đánh dấu văn bản thôi

HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide WebConsortium (W3C) duy trì Phiên bản mới nhất của nó hiện là HTML 4.01 Tuynhiên, HTML hiện không còn được phát triển tiếp Người ta đã thay thế nó bằngXHTML

5.2 Cấu trúc của một trang HTML:

Cấu trúc của một file HTML có dạng:

Cặp thẻ <HTML></HTML> đánh dấu vị trí bắt đầu và kết thúc của một đoạn

mã HTML Các khai báo về định dạng, tiêu đề, đính kèm … sẽ được đặt trong cặp thẻ

<HEAD></HEAD>.Toàn bộ nội dung hiển thị sẽ được đặt trong cặp thẻ <BODY></BODY>

Trang 9

5.3 Các thẻ trong HTML:

Cấu trúc của 1 thẻ trong HTML bao gồm: dấu "<" ( nếu là thẻ đóng thì sẽ bắt đầu bằng "</"), tên thẻ, các tham số khác nếu có (nếu là thẻ đóng thì không cần tham số), dấu ">" Ví dụ : cặp thẻ <font>…</font>

Có rất nhiều các cặp thẻ , hay gọi chung là phần tử đánh dấu, được sử dụngtrong HTML, nhưng có thể chia làm bốn loại phần tử đánh dấu sau:

- Đánh dấu Có cấu trúc miêu tả mục đích của phần văn bản (ví dụ:

<h1>Golf</h1> sẽ điều khiển phần mềm đọc hiển thị "Golf" là đề mục cấp một)

- Đánh dấu trình bày miêu tả phần hiện hình trực quan của phần văn bản bất

kể chức năng của nó là gì (ví dụ, <b>bold</b> sẽ hiển thị đoạn văn bản bold) (Chú ý

là cách dùng đánh dấu trình bày này bây giờ không còn được khuyên dùng mà nóđược thay thế bằng cách dùng CSS),

- Đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia (ví dụ,

<a href="http://www.tdu.edu.vn/">Trường Đại Học Tây Đô</a> sẽ hiển thị từ TrườngĐại Học Tây Đô như là một liên kết ngoài đến URL của website trường Đại Học TâyĐô)

- Các phần tử thành phần điều khiển giúp tạo ra các đối tượng (ví dụ, các nút

và các danh sách)

Trong thiết kế một trang web HTML kết hợp với PHP thì vấn đề giao tiếp dữliệu giữa hai ngôn ngữ này là quan trọng nhất Do đó, chúng ta sẽ đi sâu nghiên cứucác thẻ thực hiện vấn đề này, đó là các thẻ thuộc nhóm thứ tư trong danh sách nêutrên

Cách sử dụng mẫu biểu trong HTML:

Một mẫu biểu (form) trong HTML bao gồm nhiều thành phần khác nhau Cácthành phần có thể là ô văn bản, ô kéo thả, ô danh sách, nút bấm, hay các ô check

Biểu mẫu được bắt đầu bằng thẻ <form> và kết thúc bởi thẻ </form> Giữa 2cặp thẻ này, các bạn có thể sử dụng các cặp thẻ HTML khác

Thẻ form có một số thuộc tính sau:

- method: Thuộc tính này có 2 giá trị POST hoặc GET, để xác định dữ liệu gửilên theo kiểu POST hay GET

Kiểu GET chính là kiểu mà khi nhập dữ liệu lên máy chủ, các dữ liệu này sẽđược hiển thị trên ô Address dưới dạng các căp tên=giá_trị Nhược điểm của kiểu này

là toàn bộ URL và chuỗi tên=giá_trị kia sẽ bị giới hạn dưới 255 ký tự (do đặc điểmcủa trình duyệt) Vì vậy để có thể gửi nhiều dữ liệu hơn, người ta đã sinh ra kiểu

Trang 10

POST Với kiểu này, dữ liệu sẽ không bị giới hạn chiều dài 255 ký tự của chuỗi địachỉ do không bị gộp vào chuỗi địa chỉ mà được đóng thành dữ liệu gói và gửi đếnserver Kiểu POST cũng thường dùng để truyền các dữ liệu nhạy cảm mà người sửdụng không muốn hiển thị trên ô address (password chẳng hạn).

- value: Xác định giá trị đặt trước cho thẻ

- type: Thuộc tính này có một số giá trị sau:

 submit: Sẽ xác định một nút bấm (submit) mà khi kích chuột vào đó, form

sẽ tự động kích hoạt và gửi dữ liệu đi

 text: Hiển thị một ô văn bản cho phép người sử dụng nhập văn bản

 password: Hiển thị ô văn bản để nhập password

 hidden: Tạo một biến ẩn, ta có thể dùng nó để lưu trữ các dữ liệu "ẩn" khỏingười dùng, tất nhiên nếu họ biết View source lên thì chịu

Ví dụ: đoạn mã sau sinh ra một form có 1 ô văn bản, một ô nhập mật khẩu và 1nút bấm:

<form method="POST">

<p>

Trang 11

User Name:<input type="text" name="T1" size="20"> </p>

<Select name =abc>

<option value = gia_trí1>nội dung 1</option>

<option value = gia_trí2>nội dung 2</option>

<option value = gia_trí3>nội dung 3</option>

<p>Sex: <Select name ="sex">

<option value =1>Male </option>

<option value =0>Female </option>

</select>

Trang 12

<input type="radio" value="" name="R1">

Ví dụ dưới đây mô phỏng dòng chọn kiểu gõ (telex, VNI) trên diễn đàn:

<input type=radio name="switcher" value="OFF" >Tắt

<input type=radio name="switcher" checked value="TELEX" >Telex

<input type=radio name="switcher" value="VNI"> VNI

Thẻ nhập khối văn bản:

Thẻ input với thuộc tính type = text chỉ cho phép ta hiển thị ra một ô văn bảnnhỏ (hiện được 1 dòng) Để hiện ra một ô soạn thảo lớn, có thể hiển thị nhiều dòngđồng thời, ta phải dùng thẻ textarea:

<textarea name =xxx>Giá trị mặc định của khối văn bản </textarea>

Trên đây là một vài thẻ cơ bản dùng để xây dựng các biểu mẫu nhập liệu Vềvấn đề các đoạn mã PHP sẽ nhận các dữ liệu truyền đi như thế nào, xin được phéptrình bày sau trong phần Tìm hiểu về PHP Mục giới thiệu các thẻ HTML cũng xinđược kết thúc tại đây

5.4 Soạn thảo và định dạng:

HTML có thể được tạo ra và xử lý bởi rất nhiều công cụ khác nhau, từ nhữngchương trình soạn thảo văn bản đơn giản như Notepad, Wordpad v.v… cho đếnnhững công cụ soạn thảo trực quan theo dạng WYSIWYG

Trang 13

Tất cả các trang HTML nên bắt đầu với một khai báo định nghĩa kiểu tài liệu(DTD) Ví dụ:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dtd">

Ở đây, nó định nghĩa một tài liệu tuân thủ Strict DTD của HTML 4.01, màthuần túy là cấu trúc, nhường phần định dạng cho CSS Các chuẩn DTD khác, baogồm Loose, Transitional, và Frameset, định nghĩa các quy tắc khác cho việc sử dụngngôn ngữ

Nỗ lực tách phần nội dung ra khỏi phần hình thức trình bày của trang HTML

đã đưa đến sự xuất hiện của các chuẩn mới như XHTML Các chuẩn này nhấn mạnhvào việc sử dụng thẻ đánh dấu vào việc xác định cấu trúc tài liệu như phần đề mục,đoạn văn, khối văn bản trích dẫn và các bảng, chứ không khuyên dùng các thẻ đánhdấu mang tính chất trình bày trực quan, như <font>, <b> (in đậm), và <i> (innghiêng) Những mã mang tính chất trình bày đó đã được loại bỏ khỏi HTML 4.01Strict và các đặc tả XHTML nhằm tạo điều kiện cho CSS CSS cung cấp một giảipháp giúp tách cấu trúc HTML ra khỏi phần trình bày của nội dung của nó

6 SƠ LƯỢC VỀ XHTML:

6.1 Khái niệm về XHTML:

XHTML (Extensible HyperText Markup Language, "Ngôn ngữ Đánh dấu Siêuvăn bản Mở rộng") là một ngôn ngữ đánh dấu có cùng các khả năng như HTML,nhưng có cú pháp chặt chẽ hơn XHTML 1.0 đã trở thành dạng chuẩn được khuyêndùng bởi World Wide Web Consortium (W3C) vào ngày 26 tháng 2, năm 2000

- Với HTML thì các thẻ như <br> và <BR> là hiểu là giống nhau nhưng mộtkhi bạn đã xác định trang web của bạn là XHTML thì trình duyệt sẽ dịch hai thẻ này

là khác nhau

Trang 14

- Việc tối giản thuộc tính là bị nghiêm cấm, chẳng hạn HTML chấp nhận cáchviết như sau : <input checked> , trong khi XHTML đòi hỏi chúng phải đúng quycách : <input checked="checked" />.

Có thể thấy XHTML yêu cầu cú pháp chặt chẽ hơn HTML nhiều Nhưng tạisao XHTML lại trở thành dạng chuẩn được khuyến khích và ưa chuộng Cũng chínhnhờ vào cú pháp chặt chẽ đó, XHTML có thể hỗ trợ rất tốt các đoạn mã và tiện íchđính kèm (applets) cho trang web XHTML cũng được thiết kế phù hợp hơn với xuhướng module hóa của các trang web hiện nay

- Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet)

- Định nghĩa trong 1 trang web (Internal Style Sheet)

- Định nghĩa thành 1 file CSS riêng (External Style Sheet)

- Đến các trình duyệt thế hệ sau đặc biệt là Nescape và Internet Explorer tiếptục đưa thêm vào các thẻ HTML mới cùng các thuộc tính định dạng riêng của mình(như các thẻ <FONT> và thuộc tính Color ) Do đó ngày càng khó để tạo ra đượcmột website khi mà nội dung của nó bị tách rời khỏi cách bố trí

- Để giải quyết vấn đề này World Wide Web Consortium (W3C) đã tạo raSTYLE để đưa thêm vào trong HTML 4.0

- Style trong phiên bản HTML 4.0 qui định cách thức thể hiện các thẻ HTMLtương tự như thẻ <FONT> hay thuộc tính COLOR trong HTML 3.2 Style thườngđược lưu trong các file nằm ngoài trang web Chúng giúp bạn có thể thay đổi cách

Trang 15

thức định dạng và cách bố trí các trang web chỉ bằng cách thay đổi riêng file CSS Chỉkhi bạn muốn thay đổi lại toàn bộ màu sắc, cách định dạng của các tiêu đề, nội dungbạn mới hiểu rõ tác dụng thực sự của CSS.

- CSS cho phép chúng ta điều khiển cách định dạng và cách bố trí của cùng lúcnhiều trang web với chỉ duy nhất 1 lần thay đổi tại một vị trí Là một người thiết kếweb, bạn có thể định nghĩa 1 file CSS cho các thẻ HTML và áp dụng nó vào nhiềutrang web mà bạn muốn Để thay đổi tổng thể các trang web này bạn chỉ đơn giản làthay đổi file CSS và tất cả các trang đã áp dụng sẽ được thay đổi một cách tự động

7.3 Thứ tự áp dụng các định dạng:

Như trên đã nói, ta có thể sử dụng nhiều cách khác nhau để làm CSS Điều gì

sẽ xảy ra nếu bạn áp dụng nhiều cách định dạng cho 1 thẻ HTML?

Theo một cách chung nhất ra có thể nói các style của bạn sẽ được "xếp tầng"(cascade) Việc xếp tầng này tuân theo thứ tự sau:

- Inline Style (Style được qui định trong 1 thẻ HTML cụ thể)

- Internal Style (Style được qui định trong phần <HEAD> của 1 trang HTML)

- External Style (style được qui định trong file CSS ngoài)

- Browser Default (thiết lập mặc định của trình duyệt)

Như vậy ta thấy các thiết lập trong 1 thẻ HTML có mức ưu tiên cao nhất,Những gì được định nghĩa ở đây sẽ bị bỏ qua tất cả các định nghĩa khác (như trongthẻ <HEAD>, File CSS ngoài, )

7.4 Cú pháp của CSS:

Cú pháp của CSS được tạo nên bởi 3 thành phần:

- Thành phần lựa chọn (thường là một thẻ HTML) (Selector)

Trang 16

Selector thường là các thẻ HTML mà bạn muốn định nghĩa thêm Property là thuộc tính mà bạn muốn thay đổi, mỗi một thuộc tính cần phải có một giá trị Một thuộc tính và giá trị của nó được phân cách bởi dấu hai chấm Hai cặp thuộc tính-giá trị được phân cách nhau bởi dấu chấm phảy Toàn bộ các cặp thuộc tính-giá trị của một thẻ HTML được đặt trong cặp dấu ngoặc nhọn ({}).

p.trai {text-align: left}

p.phai {text-align: right}

p.giua {text-align: center}

Trang 17

Tiếp theo, trong trang HTML bạn sử dụng như sau:

<p class="trai">Đoạn văn này được canh lề trái.</p>

<p class="phai">Đoạn văn này được canh lề phải.</p>

<p class="giua">Đoạn văn này được canh lề giữa.</p>

Ví dụ : Các lớp không gắn với một thẻ cụ thể (có thể gắn với hầu như tất cả cácthẻ):

Rất đơn giản, bạn có thể tạo ra một lớp mà lớp đó có thể gắn vào hầu như bất

cứ thẻ nào trên trang web bằng cách bỏ tên thẻ ở đầu đi nhưng nhớ giữ lại dấu chấm(.)

Định nghĩa một lớp "giua" có thể gắn với bất cứ thẻ nào

.giua{text-align="center"}

và trong trang HTML ta sử dụng như sau:

<p class="giua">Đoạn văn này được canh lề giữa.</p>

<td class="giua">Câu này được canh lề giữa.</p>

Tạo các định danh (ID)

Tương tự như các lớp, các định danh cũng cho phép chúng ta chia các thẻthành nhiều loại khác nhau Tuy nhiên trên thực tế thì Định danh khác với lớp!!! Mộtlớp có thể áp dụng nhiều lần ở nhiều vị trí trên trang web, tuy nhiên 1 định danh chỉ

có thể áp dụng được duy nhất cho 1 thẻ và tên của định danh phải là duy nhất trên 1trang web

Ví dụ:

Trang 18

Đoạn mã dưới đây có thể áp dụng cho thẻ <P> có ID là para1

- Với External Style ( Sử dụng file CSS được định nghĩa thành 1 file riêng):

- Với Inline Style (style được qui định ngay trong mỗi thẻ HTML):

<p style="color: sienna; margin-left: 20px">

This is a paragraph

</p>

Trang 19

8 SƠ LƯỢC VỀ XML:

8.1 Giới thiệu:

XML (Extensible Markup Language) là ngôn ngữ đánh dấu mở rộng được pháttriển dựa trên tính đơn giản, dễ dùng của HTML và tính phức tạp nhưng đa chức năngcủa SGML XML được thiết kế để cho phép máy tính có thể trao đổi tài liệu với nhauthông qua Web mà không làm mất đi ý nghĩa của dữ liệu

Một tài liệu XML bao gồm một tập các cặp thẻ được lồng vào nhau Mỗi thẻ cómột cặp các thuộc tính và giá trị Việc ghi các thông tin truy vấn từ CSDL vào tài liệuXML cho phép người lập trình sử dụng nhiều lần các thông tin đó mà không làm lãngphí tài nguyên của server, cũng như không lẫn lộn cấu trúc của dữ liệu

8.2 Cấu trúc của một tài liệu XML:

Một tài liệu XML có thể được chia thành hai phần chính, mỗi phần có thể cócác thành phần theo quy định khác nhau:

- Phần Prolog: Chứa các khai báo cho tài liệu XML Phần này có thể chứa cácđịnh đạng như: các chỉ thị xử lý, định nghĩa kiểu cho tài liệu, chú thích, phiên bảnđang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng

- Phần thân chứa nội dung dữ liệu, bao gồm một hay nhiều phần tử, mỗi phần

tử được chứa trong một cặp thẻ Phần tử đầu tiên của tài liệu được gọi là phần tử gốc(root element)

Một ví dụ về phần tử trong tài liệu XML :

< sach masach ="4" matheloai ="4" matacgia ="3" manxb ="6">

< tensach >Thiết lập Firewall với ISA Server 2006</ tensach >

< tentheloai >Mạng máy tính</ tentheloai >

< tentacgia >Khương Anh</ tentacgia >

< tennxb >Nhà xuất bản Lao động - Xã hội</ tennxb >

Trang 20

Cấu trúc của phần tử trên thể hiện theo dạng cây:

Hình 2.1 Cấu trúc một phần tử XML

Các thẻ thuộc tính và giá trị của nó được hiểu như một node con của phần tửsach Do đó, khi đọc tài liệu XML, ta có 2 cách để lấy giá trị của các thẻ Đó là gọi tênthẻ để lấy giá trị, và gọi thứ tự node con của phần tử để lấy giá trị

9 TÌM HIỂU VỀ PHP:

9.1 Giới thiệu:

PHP : viết tắt của PHP Hypertext Preprocessor, một định nghĩa mang tính đệquy khá khó hiểu, là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếuđược dùng để phát triển các ứng dụng viết cho máy chủ Nó rất thích hợp với web và

có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web,tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sảnphẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trởthành một ngôn ngữ lập trình web phổ biến nhất thế giới Hơn thế nữa, với ưu thế mãnguồn mở, PHP thích hợp với mục đích học tập, nghiên cứu nhưng cũng đang ngàycàng được ưa chuộng trong giới doanh nghiệp vì tính đa môi trường của nó PHP cóthể được cài đặt trên nhiều web server như Apache, Microsoft IIS, … cũng như nhiều

hệ điều hành như Unix, Mac OS, Windows

Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và

có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP

Trang 21

lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy môdoanh nghiệp.

9.2 Lịch sử phát triển PHP:

Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào trangWeb để theo dõi xem ai đang đọc tài liệu của ông ta Dần dần, người ta bắt đầu thíchcác đoạn Script này và sau đó đã xuất bản một gói công cụ có tên là "Personal HomePages" (nghĩa đầu tiên của PHP) Ông ta đã viết một cơ chế nhúng và kết hợp với một

số công cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, tức FormInterpreter hay Phiên dịch biểu mẫu, được đặt tên là PHP/FI hay PHP2 Nó được hoànthành vào khoảng giữa năm 1995

Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắcrối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm cácnhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá Đó là sự bắt đầu củaPHP3 Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski,Stig Bakken, Shane Caraveo và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng

và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổsung nhiều tính năng vào ngôn ngữ bằng cách viết các module cho nó Cấu trúc củangôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từcác ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục Nếu bạn đã biết mộtvài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm thấy khó khăn.Hiện nay, phiên bản PHP mới nhất là 5.3.6

Trong đề tài này, sinh viên thực hiện quyết định sử dụng các kỹ thuật lập trìnhPHP phổ thông để có thể tương thích với phần lớn các máy chủ trên nền Unix/Linux.Tuy nhiên, điều này không ảnh hưởng đến khả năng giải quyết các yêu cầu mà đề tàiđặt ra

Trang 22

Ngôn ngữ PHP hỗ trợ đầy đủ các kiểu dữ liệu giống các ngôn ngữ lập trìnhkhác như C++ hay Java, nhưng khác biệt ở chỗ khi khai báo ta không cần phải chỉđịnh kiểu dữ liệu của biến Một biến có thể được sử dụng để lưu bất kỳ kiểu dữ liệunào, và khi một biến được đặt giá trị thì kiểu có biến mới được tự động xác định.

$a=1 // $a là kiểu integer

$a=1.2 // Bây giờ, nó là kiểu double

$a="1" // Và bây giờ nó là kiểu string

Các cấu trúc điều khiển như cấu trúc điều kiện if … else…, switch, vòng lặpfor, while, v.v… được sử dụng hoàn toàn giống với ngôn ngữ C+ Điều này khiếnviệc làm quen với PHP trở nên cực kỳ dễ dàng cho những người đã quen với lập trìnhtrước đó, và cũng dễ dàng cho những người mới học lập trình do họ không cần phảitập cách phân biệt giữa ngôn ngữ này hay ngôn ngữ khác

echo “$x không lớn hơn 4”;

Trong ví dụ trên, ta còn thấy sự xuất hiện của hàm được sử dụng nhiều nhấttrong lập trình PHP: echo Sau khi thực hiện các xử lý ở server, hàm này sẽ xuất ratrình duyệt các kết quả người lập trình mong muốn dưới dạng nội dung HTML Ngoài

ra, ta cũng có thể tự tạo các hàm xử lý để mã nguồn của mình trở nên gọn gàng hơn

Trang 23

function nhandoi(& $var) {

$var = $var*2;

}

Hai hàm thường được sử dụng khác là include và require, với mục đích chépđoạn code đã được định nghĩa trước ở một trang khác vào trang hiện tại Nhưng chúngcòn được tận dụng để tạo liên kết giữa các trang web đơn lẻ và điều hướng website

Cú pháp:

include (“đường dẫn/tên file.php”);

require (“đường dẫn/tên file.php”);

9.4 PHP và Form:

Như đã từng đề cập trong phần Tổng quan về HTML, biểu mẫu (form) HTML

sử dụng hai cách truyền dữ liệu, đó là “GET” và “POST” Cũng có nghĩa là, PHP sẽdùng tương ứng hai phương thức đó để nhận dữ liệu Ngoài ra, PHP còn hỗ trợ conđường thứ ba, đó là COOKIES

Dữ liệu gửi từ trình duyệt lên qua phương thức “GET” là phần dữ liệu đượcnhập trực tiếp theo sau địa chỉ URL do trình duyệt gửi lên, hoặc các form HTML cómethod = “GET” tự gán dữ liệu theo sau URL, được phân biệt với tên file script bằngdấu hỏi chấm (?) Ví dụ, ta thường thấy các URL có dạng sau:

http://www.abc.xyz/article.php?artID=161

Khi đó, trình duyệt sẽ gửi theo địa chỉ trên một cặp biến = giá_trị, trong đóbiến có tên là artID và giá trị là 161 (artID=161) Chúng ta cũng có thể đưa lên nhiềucặp biến=giá_trị bằng cách phân cách chúng bởi dấu &

Khi trình duyệt gửi các thông tin này lên máy chủ, PHP sẽ tự động sinh ra mộtmảng có tên là $_GET[] để nắm giữ tất cả các cặp biến và giá trị đó, trong đó, chỉ sốcủa mảng chính là một chuỗi mang tên của tên biến và giá trị của chỉ số đó chính làgiá trị của biến do trình duyệt gửi lên Ví dụ, với địa chỉ URL trên thì PHP sẽ tự độngsinh ra một mảng $_GET có nội dung sau: $_GET["artID"] = 161 Như vậy PHP đãnhận thành công dữ liệu truyền bằng phương thức “GET”

“POST” là phần dữ liệu được gửi qua các form HTML có method ="POST"

Để lấy các biến theo kiểu “POST”, PHP sẽ tự động sinh ra mảng có tên là $_POST[].Mảng này có chỉ số chính là tên của các phần tử trong form (các thẻ input, select có

Trang 24

thuộc tính name) và giá trị là nội dung giá trị do người sử dụng nhập vào các phần tử

có tên tương ứng Ví dụ trong một form HTML có dòng input như sau:

<input type=”text” name=”t1” />

Nếu ta nhập nội dung dòng đó là “ok” và gửi dữ liệu đi (submit) thì mảng

$_POST sẽ có phần tử sau: $_POST["t1"] = ”ok”

Cookies là một phần dữ liệu được lưu trên máy khách Mỗi khi máy khách gửimột yêu cầu tới máy chủ nào đó, thì nó sẽ gửi phần dữ liệu được lưu trong cookietương ứng với máy chủ đó Người ta thường dùng cookies để lưu trữ các thông tin cóliên quan đến nhiều "phiên" làm việc khác nhau Vi giao thức HTTP là giao thứckhông lưu trạng thái, nên cookies được sinh ra để làm nhiệm vụ lưu trữ một số biếntrạng thái để khắc phục nhược điểm này

Khác với dữ liệu gửi từ form (“POST” hay “GET”) thì cookies sẽ được trìnhduyệt tự động gửi đi theo mỗi lần truy cập lên máy chủ Trong quá trình làm việc,cookie có thể bị thay đổi giá trị Cookie sẽ bị vô hiệu hoá nếu cửa sổ trình duyệt điềukhiển cookie đóng lại và cookie hết thời gian có hiệu lực Theo mặc định, thời gian

"sống" của cookies là tồn tại cho đến khi cửa sổ trình duyệt sử dụng cookies bị đóng.Tuy nhiên người ta có thể thiết lập tham số thời gian để cookie có thể sống lâu hơn (6tháng chẳng hạn) Ví dụ như chế độ Remember ID & Password của 1 số trang web

Trong PHP, để gửi cookie xuống trình duyệt, ta có thể sử dụng hàm setcookie:setcookie ( string name [, string value [, int expire [, string path [, stringdomain [, int secure]]]]]

Trong đó:

- string name: Chuỗi mang tên của cookie

- string value: Chuỗi mang giá trị của cookie tương ứng với tên đã cho

- int expire: Thời gian hết hạn của cookie

- string path: Đường dẫn của cookie (đến 1 thư mục nào đó trên máy chủ.Tham số này cho biết cookie sẽ chỉ được truyền đi nếu như trang web mà trình duyệtyêu cầu nằm trên thư mục đó, thay vì lúc nào cũng phải gửi đi tới bất kỳ khu vựcnào)

- string domain: cookie này sẽ được gửi tới domain nào?

- int secure: Chế độ bảo mật

Các tham số trong cặp dấu ngoặc vuông là tuỳ chọn

Trang 25

9.5 Điều hướng Menu:

Bố cục của một trang web được chia thành nhiều phần, nhiều module và nộidung chính thường nằm ở giữa trang Vậy làm thế nào để có thể điều hướng menu màkhông cần phải sao chép lại các thành phần giống nhau ở các trang? Để thực hiện điềunày, ta sẽ sử dụng phương thức $_GET và hàm include của PHP

Giả sử ta đã có một trang web với đầy đủ các thành phần, chỉ còn nội dungchính nằm trong thẻ <div></div> được để trống, cùng với các file php chứa nội dung

ta cần hiển thị trong thẻ <div></div> đó

Trên menu ta sẽ đặt một liên kết như sau:

<a href=”index.php?content=thuvien”>Thư viện</a>

Trong thẻ <div></div>, ta sẽ dùng $_GET để lấy giá trị của biến content Nếubiến này rỗng thì $content sẽ có giá trị là “home” và file home.php sẽ được includevào trang hiện tại Nếu ta click vào liên kết trên, giá trị “thuvien” được gửi đi và

$content lúc này có giá trị là “thuvien” Khi đó file thuvien.php sẽ được include vàotrang hiện hành

Trang 26

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ều khiển trung gian (ADO, ODBC ) để thực hiện kết nối và truy vấn, thì trongPHP, 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.

Trong đề tài này, sinh viên thực hiện sử dụng DBMS MySQL với lí do đây là

hệ quản trị được sử dụng rộng rãi và luôn được tích hợp sẵn trên các máy chủ hỗ trợPHP Khả năng tổ chức, tra cứu dữ liệu và tính bảo mật của hệ quản trị này cũng đảmbảo các nhu cầu của đề tài

Trước khi kết nối tới CSDL, trước hết ta cần tạo một CSDL bằng cách sử dụngcông cụ phpmyadmin Công cụ này được cài đặt sẵn trên các máy chủ hỗ trợ MySQL

và có thể truy cập theo đường dẫn: tên host/phpmyadmin/

Cú pháp kết nối tới CSDL như sau :

- Tạo một biến với giá trị là câu truy vấn Ví dụ : $query = “(câu truy vấn)”;

- Nếu là một câu truy vấn xử lý (INSERT, UPDATE, DELETE) gọi hàmmysql_query($query) Truy vấn kết thúc tại đây

- Nếu là một câu truy vấn tra cứu (SELECT) ta phải lấy giá trị trả về vào mộtbiến Ví dụ: $result = mysql_query($query) Sau đó ta sẽ cho hiển thị kết quả trả vềbằng cách chuyển các dữ liệu trả về thành dạng mảng với hàm mysql_fetch_array() :

$row = mysql_fetch_array($result) Mỗi lần gọi thì hàm này sẽ xuất 1 hàng vào mảng

$row Ta có thể truy cập đến từng ô dữ liệu bằng cách gọi $row[“tên cột”] hoặc

$row[“thứ tự cột”]

Đóng kết nối : mysql_close($connection);

Trang 27

9.7 Session trong PHP:

Trang web HTML thông thường sẽ ko thể truyền dữ liệu từ trang này sangtrang khác Nói một cách khác là : tất cả thông tin sẽ được reset khi một trang webmới được tải Điều này gây khó khăn cho một số công việc như là mua hàng( shopping carts) - những thứ cần thiết dữ liệu ( sản phẩm người dùng đã chọn) ghinhớ từ trang này sang trang khác

PHP session giải quyết vấn đề này bằng cách cho phép lưu trữ dữ liệu củangười dùng trên server để sử dụng về sau ( như username, món hàng ), hay kiểm traviệc đăng nhập của các thành viên Tuy nhiên những thông tin session này chỉ là tạmthời và thường bị xoá đi ngay khi người dùng rời khỏi trang web đã dùng session

Việc đầu tiên trước khi ta làm bất cứ việc gì với session là phải chạy nó trước,

và nó được đặt ngay trên đầu trong đoạn code ,trước khi HTML được xuất ra Dướiđây là 1 ví dụ đơn giản về việc tạo session trong PHP:

$_SESSION['views'] = 1; // lưu views

echo "Pageviews = " $_SESSION['views']; //lấy views và hiển thị

?>

Cũng với session, nếu ta áp dụng hàm kiểm tra isset(), ta có thể kiếm tra trạngthái đăng nhập của khách hàng chẳng hạn, nếu session của khách hàng chưa đượckhởi tạo thì sẽ tự động chuyển họ về trang dangnhap.php :

<?php

session_start();

if(!isset($_SESSION['user'])){

if(!headers_sent()){

Trang 28

Hãy tưởng tượng bạn đang điều hành một doanh nghiệp online, và một thànhviên đang dùng website của bạn mua một món hàng Thành viên đó đã hoàn tất việcmua hàng (phiên giao dịch) trên website, do đó, bạn phải xóa mọi thứ trong sessionsau khi việc này hoàn tất.

Trang 29

là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trênnhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ

và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trêninternet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủhttp://www.mysql.com Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiênbản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD,NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan

hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nólàm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

10.2 phpMyAdmin - công cụ quản trị MySQL:

phpMyAdmin là một công cụ phần mềm miễn phí được viết bằng PHP nhằmquản lý hệ quản trị CSDL MySQL trên nền web phpMyAdmin hỗ trợ một loạt cáchoạt động với MySQL Các chức năng thường được sử dụng nhất được hỗ trợ bởigiao diện người dùng (quản lý cơ sở dữ liệu, bảng biểu, các lĩnh vực, quan hệ, các chỉmục, người sử dụng, phân quyềncho phép, v.v… ), trong khi bạn vẫn còn có khả năngtrực tiếp thực hiện bất kỳ câu lệnh SQL nào

Để dễ dàng cho đa số người sử dụng, phpMyAdmin được dịch sang 62 thứtiếng và hỗ trợ cả ngôn ngữ LTR (left to right - trái sang phải) và RTL (right to left -phải sang trái)

Kể từ phiên bản 3.0.0, phpMyAdmin đã tham gia phong trào GoPHP5 và bỏ

mã tương thích cho các phiên bản PHP và MySQL cũ hơn, đầu tiên là phiên bản 3 vàsau đó yêu cầu tối thiểu PHP 5.2 và MySQL 5 Để sử dụng với PHP hay MySQLphiên bản cũ hơn, ta có thể sử dụng các chi bản phpMyAdmin cũ (nhưng vẫn đượcduy trì) như các phiên bản 2.x, mà bạn có thể tìm thấy trên trang download

http://www.phpmyadmin.net/home_page/downloads.php

Các tính năng nổi bật:

- Giao diện web trực quan

- Hỗ trợ cho hầu hết các tính năng MySQL:

- Duyệt và thả cơ sở dữ liệu, bảng biểu, views, các trường và các chỉ số

- Tạo ra, sao chép, thả, đổi tên và thay đổi cơ sở dữ liệu, bảng biểu, các trường

và các chỉ số

Trang 30

- Bảo trì máy chủ, cơ sở dữ liệu và bảng biểu, với đề xuất trên máy chủ cấuhình

- Thực thi, chỉnh sửa và đánh dấu bất kỳ câu truy vấn, thậm chí câu truy vấnhàng loạt,

- MySQL quản lý người dùng và đặc quyền

- Quản lý các thủ tục lưu và kích hoạt

- Nhập dữ liệu từ CSV và SQL

Xuất dữ liệu sang nhiều định dạng: CSV, SQL, XML, PDF, ISO/IEC 26300 tài liệu mở văn bản và bảng tính, Word, Excel, LATEX và những dạng khác

Quản lý nhiều máy chủ

- Tạo PDF đồ họa của cách bố trí cơ sở dữ liệu của bạn

- Tạo truy vấn phức tạp bằng cách sử dụng truy vấn với ví dụ (QBE - query byexamples)

- Tìm kiếm trên toàn cầu trong cơ sở dữ liệu hoặc một nhóm nhỏ của nó

- Việc chuyển dữ liệu được lưu thành các định dạng bằng cách sử dụng mộttập hợp các chức năng được xác định trước, như hiển thị dữ liệu hình ảnh hoặc liênkết tải về

- Và nhiều hơn nữa

CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

và nơi xuất bản, giá tiền

- Các đối tượng phục vụ của thư viện được chia thành hai nhóm chính: giảngviên và sinh viên Đối với giảng viên, thư viện sẽ lưu các thông tin chính như mã sốcán bộ, họ tên, đơn vị công tác (phòng hoặc khoa) Đối với sinh viên thì các thông tinchính là MSSV, họ tên, lớp và ngành

- Hai nhóm này có các quyền lợi, quy định khác nhau khi mượn sách ở thưviện Ví dụ: thời gian mượn sách của giảng viên có thể dài hơn và số sách tối đa cũngnhiều hơn so với sinh viên

- Quy trình mượn trả sách hiện tại ở thư viện: giảng viên, sinh viên đến thưviện trực tiếp và chọn những quyển sách mình cần, nhưng không quá số sách cho

Trang 31

phép, và đăng kí mượn sách với nhân viên thư viện Nhân viên sẽ lập các thông tinmượn sách như ngày mượn, hạn trả, v.v… Nếu đến hết hạn mà sách vẫn chưa đượctrả về thì sẽ có biện pháp xử lý tùy nhóm đối tượng, và căn cứ vào giá tiền của quyểnsách để quyết định mức đền bù trong trường hợp sách bị mất.

12 KẾT QUẢ PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG:

Với các kết quả điều tra trên, sinh viên thực hiện nhận thấy cần phải có một vàithay đổi để phù hợp với một website quản lý thư viện

Độc giả được chia thành hai nhóm sinh viên và giảng viên theo mô hình tổngquát hóa Mỗi sinh viên, giảng viên sẽ được tạo sẵn tài khoản trong bảng sinhvien vàđăng nhập với mssv và matkhau, các thông tin khác như họ tên sinh viên, lớp, email,

số điện thoại có thể rỗng và sẽ được chính sinh viên bổ sung sau

Các sách được đặt mượn bởi các sinh viên sẽ được lưu vào bảng datmuon với

số phiếu mượn sách ban đầu là rỗng ( tức chưa lập phiếu) Vì sinh viên có thể đặtmượn nhiều lần, nhiều sách nên bảng phải có thể lưu lặp lại các mssv, mã sách Nếutrước ngày hết hạn đặt mượn, sinh viên đến thư viện nhận sách thì người quản trị sẽlập phiếu mượn sách cho các quyển sách đã được đặt bởi mssv tương ứng Nếu ngàyhiện hành đã vượt quá ngày hết hạn, thì số sách đó sẽ hiện thông báo “hết hạn”, vàviệc có giải quyết mượn sách hay không là tùy vào người quản trị

Lúc này số phiếu trong bảng datmuon sẽ được cập nhật từ bảngphieumuonsach Trạng thái của phiếu mượn sách mặc định là “Chưa trả”, trước ngàytrả sách đã định, sinh viên đến trả sách thì quản trị sẽ thay đổi trạng thái thành “Đãtrả” Nếu ngày hiện hành đã vượt quá ngày trả sách và trạng thái vẫn là “chưa trả” thìphiếu mượn sách này sẽ hiển thị thông báo “quá hạn”

Trang 32

12.1 Mô hình dữ liệu quan niệm (CDM):

Các loại mã trong hệ thống này, trừ ID đăng nhập của độc giả và ID đăng nhậpcủa người quản trị, sẽ được lưu dưới dạng đánh số thứ tự Do đó, để đảm bảo cho việcsắp xếp thứ tự luôn đúng, chúng sẽ mang kiểu Integer

Hệ thống hướng đến hai nhóm độc giả là sinh viên và giảng viên, do đó sẽ cóhai thực thể “sinhvien” và “giangvien” kế thừa thực thể “docgia” Hai thực thể nàymang các thuộc tính chung của thực thể “docgia”, đồng thời cũng có các thuộc tínhcủa riêng chúng

Điều quan trọng nhất trong một hệ thống thông tin chính là khả năng tra cứu Do

đó cần phải có vài thay đổi so với cách tổ chức hiện tại Cụ thể ta sẽ thay việc phânloại sách theo ngành bằng các thể loại nhỏ hơn Bởi vì các sinh viên, giảng viên cóquyền nghiên cứu các quyển sách thuộc các ngành học khác của khoa, do đó việc tạonhiều thể loại nhỏ sẽ giúp họ dễ dàng tìm được quyển sách mình cần Các thông tinnơi xuất bản, năm xuất bản sẽ được lược bỏ vì độc giả thường ít quan tâm đến chúng

mà chỉ tìm sách theo thể loại họ cần, hay tác giả, nhà xuất bản mà họ được giới thiệuqua

Hình 3.1 Mô hình dữ liệu quan niệm (CDM)

Trang 33

12.2 Sơ đồ dòng dữ liệu ( DFD ):

DFD mức 0:

Hình 3.2 DFD mức 0

DFD mức 1:

Trang 34

DFD tiến trình “xử lý mượn trả sách” :

Hình 3.4 DFD tiến trình “xử lý mượn trả sách”

Ngày đăng: 21/05/2015, 00:00

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w