LỜI NÓI ĐẦU
Từ khi xuất hiện cho đến nay, World Wide Web ngày càng trở nên phổ biến, là một phương tiện truy nhập mạng đơn giản và rất thân thiện với người sử dụng. Với các trang Web, người sử dụng có thể tìm kiếm và tải về rất nhiều thể loại hình thông tin trên mạng mà không cần phải có nhiều hiểu biết về mạng. Đứng trên quan điểm của người sử dụng, họ không cần quan tâm đến việc thông tin mà họ tìm kiếm ở một hệ thống ngay bên cạnh hay ở một nơi ở đầu kia của quả đất. Chính điều này dẫn đến sự bùng nổ về lưu lượng trên các mạng đường trục khu vực. Việc sử dụng dịch vụ Web đang tǎng theo cấp số mũ, lưu lượng WWW trên các mạng Internet quốc gia và quốc tế cũng tǎng đột biến. Và Việt Nam cũng không thể nằm ngồi vòng xốy của cơn lốc WWW, các cổng giao tiếp điện tử, các hệ thống E-leanrning đang là những ứng dụng mới và đang được áp dụng ở Việt Nam. Các ứng dụng này trong tương lai sẽ càng phát triển mạnh hơn cùng sự phát triển của hạ tầng mạng máy tính và đòi hỏi tin học hố ngày càng cao của xã hội. Tuy nhiên để có được sự phát triển rộng rãi đó không phải là vấn đề đơn giản. Các hệ thống này càng phát triển thì người ta càng thấy thêm nhiều hạn chế, cản trở của cơ sở hạ tầng mạng cũng như các giải pháp sẵn có. Thứ nhất, mặc dù mạng máy tính đang ngày một phát triển nhưng với điều kiện của nước ta, cơ sở vật chất hạ tầng mạng máy tính vẫn còn rất thấp kém. Chất lượng dịch vụ và thời gian đáp ứng có thể được cải thiện bằng cách giảm tải cho mạng. Một cách để đạt được yêu cầu này là sử dụng kỹ thuật Web caching. Kĩ thuật Web Caching ra đời đã nâng cao được hiệu quả trong việc thực hiện tăng tốc các ứng dụng Web.
Cùng với việc nghiên cứu về Web Caching, trong khuôn khổ đồ án tốt nghiệp này em cũng xây dựng một Website nhằm hỗ trợ cho các bạn học sinh, sinh viên những người quan tâm đến kiến thức về hạ tầng mạng cơ sở, nhằm đem lại một kiến thức tốt nhất trong việc xây dựng và bảo trì một hệ thống mạng máy tính.
Đồ án của em sẽ trình bày lần lượt các khái niệm về Internet, cách thức hoạt động của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống.
Đồ án được chia làm 5 chương với nội dung chính như sau:
Chương I : Tổng quan về Internet và Intranet
Chương này sẽ đưa ra các khai niệm cơ bản về Internet, về Web và cách thức mà một trang Web hoạt động trên Internet
Chương II : Tìm hiều về Web Caching
Chương này sẽ đưa ra những khái niệm cơ bản của Web Caching. Giải pháp để tối ưu hố tốc độ duyệt Web và cách cài đặt Web Caching trên các máy Client
Chương III :Tìm hiều ngôn ngữ ASP (Active server Page)
Tìm hiểu công cụ ASP ngôn ngữ lập trình VB script để xây dựng hệ thống
Chương IV : Phân tích và thiết kế hệ thống
Đưa ra những phân tích về chức năng, thiết kế hệ thống cơ sở dữ liệu để có thể triển khai hệ thống.
Chương V : Cài đặt và thử nghiệm
Đưa ra được một số hình ảnh minh hoạ của hệ thống.
Mục lục
LỜI NÓI ĐẦU 5
CHƯƠNG I: TỔNG QUAN INTERNET - INTRANET 6
I.1 Internet là gì ? 6
I.2 Intranet là gì ? 6
I.3 Internet Information Server là gì ? 6
I.3.1 Internet Information Server làm việc như thế nào ? 6
I.4 Web Browser URL Request 7
I.5 Web Server Response 7
I.6 Trang HTML tĩnh (Static Page) 7
I.7 Trang động (Dynamic Page) 7
I.8 Sử dụng Internet Information Server như thế nào ? 8
I.9 Các kịch bản Intranet 9
I.10 Các kịch bản Internet. 9
CHƯƠNGII : TÌM HIỂU WEB CACHING 11
II.1 Các thuật ngữ cơ bản 11
II.1.1 Client – Server 11
II.1.2 Proxy 11
II.1.3 Cache 12
II.1.4 Các đối tượng Web( Web Object) 12
II.1.5 Nhận biết tài nguyên (Resource Indentifier) 12
II.1.6 Các giao thức truyền Web 12
II.2 Định nghĩa Web Caching 13
II.3 Tại sao phải sử dụng Cache đối với Web ? 13
II.3.1 Thời gian trễ 13
II.3.2 Băng thông 13
II.3.3 Server Load 14
II.4 Phân loại Web caching 14
II.4.1 Browser Caches (Client Cache) 14
II.4.2 Caching Proxy (Server Cache) 14
II.5 Web caching hoạt động như thế nào ? 14
II.5.1 Các nguyên tắc chung 14
II.5.1.1 HTTP requests 15
II.5.1.2 Yêu cầu đối với server gốc 15
II.5.1.3 Yêu cầu Proxy 15
II.5.1.4 Yêu cầu không phải là HTTP Proxy. 16
II.5.2 Khả năng lưu trữ 16
II.5.2.1 Bảo mật 16
II.5.2.2 Các phương thức yêu cầu: 17
II.5.2.3 Thời gian kết thúc và tính xác thực 17
II.5.3 Cache-Hits, Cache-Misses 18
II.5.4 Quá trình kiểm tra. 18
II.5.4.1 Last-modified 18
II.5.4.2 Entity Tags 19
II.5.5 Thay thế trong cache 19
II.5.5.1 Giá trị ít sử dụng gần đây nhất (Least Recently Used)(LRU) 20
II.5.5.2 First In, First Out (FIFO) 20
II.5.5.3 Đối tượng ít được sử dụng (Least Frequently Used)(LFU) 20
II.5.5.4 Kích thước 20
II.6 Sự kế thừa của các Cache. 20
II.6.1 Cache kế thừa hoạt động như thế nào 21
II.6.2 Các lợi ích của kế thừa Cache 21
II.6.2.1 Hiệu năng 21
II.6.2.2 Thay đổi quá trình định tuyến mặc định 22
II.7 Cách cấu hình trên các máy Client 22
II.7.1 Proxy Addresses 22
II.7.2 Cấu hình bằng tay 23
II.7.2.1 Cấu hình Microsoft Internet Explore 23
II.7.3 Cấu hình proxy tự động (Proxy Auto-Configuration Script) 24
II.7.4 Cách viết một PAC 25
II.7.5 Cấu hình cho PAC Script 25
CHƯƠNG III: NGÔN NGỮ ACTIVE SERVER PAGE (ASP) 27
III.1 Active Server Pages là gì? 27
III.2 Mô hình của Active Server Pages 27
III.2.1 Cách viết các file ASP Script 27
III.2.2 Cú pháp của ASP 28
III.2.2.1 Delimiter (dấu ngăn cách) 28
III.2.2.2 Statement (phát biểu) 28
III.2.2.3 Kết hợp HTML trong các phát biểu 28
III.2.2.4. Script tag và việc tạo thủ tục với ngôn ngữ script 29
III.2.2.5. Include file 29
III.2.2.6 Cách dùng Server Script để thay đổi Client Script 30
III.3 Các Built-In Object của ASP 31
III.4 Sử dụng các method 31
III.5 Sử dụng các Property 31
III.5.1 Request object 32
III.5.2 Response object 32
III.5.3 Session object 33
III.5.4 Application object 33
III.5.5. Server object 34
III.6 Lấy thông tin từ FORM 34
III.7 Sử dụng QueryString 35
III.8 Sử dụng Form collection 35
III.9 Gửi thông tin trong cùng một file .asp 35
III.10 Gửi thông tin giữa các file .asp 36
III.11 Sử dụng Cookies Collection 37
III.12 Sử dụng các Component của ASP 37
III.12.1 Tạo các instance của các component 37
III.12.2 Database Access Component 38
III.13 Phát triển một ứng dụng ASP 40
III.13.1 Cách dùng File Global.asa 41
III.13.2 Các sự kiện Application-start và Session-start 41
III.13.3 Các sự kiện Application-end và Session-end 41
III.13.4 Kết thúc một Session 42
III.13.5 Quản lý các Session 42
III.13.6 Quản lý Application 43
III.13.7 Hoạt động của Component 44
CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 45
IV.1 Phân tích hệ thống 45
IV.1.1 Tổng quan về học và thi trắc nghiệm trực tuyến 45
IV.2 Các yêu cầu của hệ thống 46
IV.3 Mô tả các chức năng của hệ thống 47
IV.3.1. Đăng nhập vào hệ thống. 47
IV.3.1.1 Đăng nhập 47
IV.3.1.2 Thay đổi mật khẩu 48
IV.3.2 Các chức năng của người quản trị 48
IV.3.2.1 Thêm sinh viên 48
IV.3.2.2 Xóa một sinh viên khỏi danh sách 49
IV.3.2.3. Chỉnh sửa thông tin sinh viên 49
IV.3.2.4 Thêm bài học mới 49
IV.3.2.5 Chỉnh sửa nội dung bài học 49
IV.3.2.6 Xóa một bài học 49
IV.3.2.7. Thêm câu hỏi thi. 50
IV.3.2.8 Xóa câu hỏi 50
IV.3.2.9Chỉnh sửa câu hỏi. 50
IV.3.2.10 Tạo báo cáo thống kê. 50
IV.3.3 Các chức năng của sinh viên. 50
IV.3.3.1 Đăng kí thành viên 51
IV.3.3.2 Xem nội dung bài học 51
IV.3.3.3 Kiểm tra lại kiến thức 51
IV.3.3.4 Thi 52
IV.3.3.5 Tạo các ghi chú 52
IV.3.3.6. Tạo kế hoạch học tập 52
IV.4 Các sơ đồ luồng dữ liệu 53
IV.4.1 Ta có sơ đồ phân cấp chức năng. 53
IV.4.2 Sơ đồ mức ngữ cảnh 53
IV.4.3 Sơ đồ DFD mức 0 54
IV.4.4 Sơ đồ luồng dữ liệu DFD mức 1 55
IV.4.4.1 Admin quản trị các kì học 55
IV.4.4.2 Admin quản trị bài học – Sinh viên xem bài học 56
IV.4.4.3 Admin quản trị câu hỏi thi 57
IV.4.4.4 Phần thông tin đăng kí thành viên 58
IV.4.4.5 Sinh viên chọn chức năng ghi chú cho bài học 59
IV.4.4.6 Sinh viên chọn chức năng thêm kế hoạch(kh) 60
IV.4.4.7 Báo cáo thống kê 60
IV.4.4.8 Sinh viên chọn chức năng thi 61
IV.4.5 Thiết kế chi tiết về cơ sở dữ liệu 61
IV.4.6 Quan hệ giữa các bảng 63
IV.4.7 Thiết kế giao diện 64
CHƯƠNG V: CÀI ĐẶT VÀ THỬ NGHIỆM 66
V.1 Một số hình ảnh của chương trình 66
KẾT LUẬN 69
Tài liệu tham khảo 70
70 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2880 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tìm hiểu về Web Caching và phân tích thiết kế và xây dựng hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
biểu)
Một phát biểu, trong VBScript hay trong ngôn ngữ Script khác là một cấu trúc dùng để thực hiện một thao tác, phát biểu phải được khai báo hoặc định nghĩa trong ngôn ngữ script mà ta sử dụng.
Ví dụ: đoạn script sau dùng phát biểu If … Then … Else của VBScript.
=#12:00:00 AM#) then
greeting= “Good Morning
Else
greeting= “Hello !”
End If %>
III.2.2.3 Kết hợp HTML trong các phát biểu
Chúng ta có thể chèn HTML text giữa các phát biểu của script. Ví dụ:
=#12:00:00 AM#) then%>
Good Morning!
Hello !
III.2.2.4. Script tag và việc tạo thủ tục với ngôn ngữ script
Các thủ tục phải được đặt bên trong tag và , và cho phép ta sử dụng ngôn ngữ script khác với ngôn ngữ mặc định đã cài đặt trong môi trường ASP (là VBScript). Ví dụ:
function MyFunction()
{
Response.Write (“MyFunction Called”)
}
Trong ví dụ trên hàm MyFunction được định nghĩa với ngôn ngữ JScript khác với ngôn ngữ mặc định là VBScript.
III.2.2.5. Include file
Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, nếu như tồn bộ các trang này đều cần sử dụng những thông tin chung như các hằng, hyperlink, … để tránh việc định nghĩa lại các giá trị này ở mỗi trang ASP cho phép ta include file bằng cách sử dụng dẫn hướng tiền xử lý sau:
Trong đó file được include phải có phần mở rộng là .inc, filename bao gồm cả đường dẫn và tên file. Tham số virtual chỉ định đường dẫn bắt đầu bằng một Virtual Directory. Tham số file chỉ định đường dẫn bắt đầu với tên thư mục chứa filename cần include.
+ Từ khóa Virtual
Dùng từ khóa Virtual để chỉ một đường dẫn bắt đầu bằng một thư mục ảo (Virtual Directory). Ví dụ tên file là dangky.inc nằm trong thư mục ảo là /dangkymay, thì hàng lệnh sau đây sẽ chèn nội dung của dangky.inc vào file có chứa dòng lệnh này.
+ Từ khóa File
Từ khóa File để chỉ đường dẫn mà bắt đầu bằng thư mục chứa file cần include. Ví dụ :
Ta cũng có thể dùng tham số file với đường dẫn tương đối “. . / “ để include file từ thư mục cha hay thư mục có cấp cao hơn. Ví dụ :
+ Các lưu ý khi sử dụng Include file
Một file được include cũng có thể gọi include một file khác. Một file ASP cũng có thể gọi include một file nhiều lần nhưng với điều kiện là lệnh include không được sinh ra vòng lặp. Ví dụ, file First.inc gọi include file Second.inc thì file second.inc không được gọi include file First.inc và cũng không được gọi include file của chính nó.
ASP thực thi include file trước khi thực thi các lệnh script, cho nên ta không thể dùng các lệnh script để tạo ra tên của file cần include. Ví dụ, đoạn script sau sẽ không mở file Header.inc bởi vì ASP thực thi include trước khi gán tên file cho một biến.
"-->
Không được đặt include file bên trong các dấu phân cách của các script
Next%>
III.2.2.6 Cách dùng Server Script để thay đổi Client Script
Mặc dù ASP chủ yếu được dùng để xử lý script trên môi trường Server-Side, nhưng ta cũng có thể mở rộng nó để tạo ra các client-side script cho phép xử lý ở browser. ASP thực hiện được điều này bằng cách phối hợp các client-side script và các server-side script xen kẽ nhau như sau :
<!--
client script
client script
client script
. . . . .
-->
III.3 Các Built-In Object của ASP
ASP cung cấp sẵn 5 đối tượng (object) khi sử dụng không cần phải tạo ra các instance cho chúng, mỗi đối tượng thực hiện một số chức năng riêng khác nhau. Các đối tượng này được gọi là các Built-in-Object, bao gồm:
Request: lấy thông tin từ một user
Response: gửi thông tin tới một user
Server: điều khiển môi trường hoạt động của ASP
Session: lưu giữ thông tin về 1 session của user
Application: chia sẻ thông tin giữa các user trong cùng một ứng dụng
Cú pháp của các đối tượng
Cú pháp của các đối tượng không phụ thuộc vào scripting language mà người lập trình sử dụng.
Để truy xuất thông tin của một đối tượng ta dùng các phương thức (method) và các thuộc tính (property).
III.4 Sử dụng các method
Một method là một procedure hoạt động trên một đối tượng nào đó. Cú pháp tổng quát của method là:
Object.Method [parameters]
parameter là các thông số của method
III.5 Sử dụng các Property
Một property là một tính chất được đặt tên của một đối tượng. Chúng định nghĩa các tính chất của đối tượng như kích thước, màu, vị trí trên màn hình hay thể hiện các trạng thái của đối tượng như được phép (enable) hay không được phép (disable). Cú pháp tổng quát của property là:
Object.Property [parameters]
parameter là các thông số của Property
Parameter thường là các biến, dữ liệu, chuỗi ký tự, hoặc là một URL.
III.5.1 Request object
Request Object lấy các giá trị mà client browser gởi lên server thông qua một HTTP request. Đây là cách mà các ứng dụng ASP lấy được thông tin gửi tới từ user, ví dụ: khi user Submit thông tin từ một FORM.
Request Object cho phép truy xuất tới bất kỳ thông tin nào do user gởi tới bằng giao thức HTTP như:
Các thông tin chuẩn nằm trong các biến Server (variable server)
Các tham số được gửi tới bằng phương thức POST
Các thông tin được gửi tới bằng phương thức GET
Các cookies (là các thông tin của user được gửi kèm theo) tới từ Browser.
Các Client Certificates
Request Object có 5 collection sau:
QueryString Nhận giá trị của các biến trong HTML querystring, đó là giá trị được gởi lên theo sau dấu chấm hỏi (?) trong HTML request.
Form Nhận các giá trị của các phần tử trên FORM sử dụng POST method.
Cookies Cho phép nhận những giá trị của cookies trong một HTML request
ServerVariable Nhận các giá trị của các biến môi trường.
ClientCertificate Nhận certificate fields từ request của Web browser.
Cú pháp tổng quát khi sử dụng Request object là:
Request.CollectionName(variable)
Variable là tên biến trong Collection muốn truy xuất thông tin. Cũng có thể sử dụng cú pháp:
Request(variable)
Khi đó thứ tự tìm kiếm sẽ tuân theo danh sách các collection trên và khi gặp biến đầu tiên trùng tên thì trả về giá trị của biến đó. Vì thế nếu có nhiều hơn một biến với cùng một tên trong các collection khác nhau thì nên sử dụng dạng cú pháp tổng quát. Sau đây là một số ứng dụng của đối tượng Request:
III.5.2 Response object
Việc gửi thông tin tới cho user được thực hiện nhờ đối tượng Response qua việc gọi các phương thức sau:
Response.Write : Gửi thông tin trực tiếp tới user
Response.Redirect : Gửi thông tin trực tiếp tới user ở một URL khác với URL đã yêu cầu.
Response.ContentType: Thay đổi kiểu của nội dung cần gửi.
Response.Cookies : Thiết lập các giá trị cookies.
Response.Buffer : Đệm thông tin xuất.
Gửi văn bản tới user :
Response.Write[variant]
trong đó variant là dữ liệu bất kỳ mà ngôn ngữ script đang sử dụng chấp nhận.
Chuyển hướng kết nối đến URL khác :
Response.Redirect URL
Thiết lập HTTP ContentType :
Response.ContentType=ContentType
Ví dụ:
Browser sẽ hiển thị trang nhận được như một văn bản bình thường chứ không phải như một văn bản HTML.
III.5.3 Session object
Đối tượng Session dùng để lưu trữ các thông tin của một user-session. Các giá trị lưu trữ trong session sẽ không bị loại bỏ đi khi user chuyển từ trang này sang trang khác trong một ứng dụng, chúng chỉ bị loại bỏ khi user session-end. Web server tự động tạo ra Session object khi một trang web trong ứng dụng được yêu cầu bởi một user mà user này chưa có một session. Server sẽ tự động hủy bỏ user-session khi nó hết hạn hoặc bị bỏ (abandon).
Cú pháp:
Session.Properties | Method
Properties
SessionID trả về số định danh session cho user. Mỗi session sẽ được server cho một số định danh duy nhất khi nó được tạo ra.
Timeout chỉ thời gian sống của session object, nếu user không refresh hay request một trang trong khoảng thời gian qui định, session sẽ kết thúc.
Method
Abandon hủy bỏ một session.
Events
Session_OnStart xảy ra khi user request lần đầu tiên 1 trang của ứng dụng
Session_OnEnd xảy ra khi session end, hoặc khi không có request nào trong khoảng timeout (mặc nhiên là 20 phút)
Các thông tin lưu giữ trong Session được giữ nguyên trong suốt thời gian session tồn tại và có giá trị trong cả khu vực của session. Ví dụ:
III.5.4 Application object
Application dùng để chia xẻ thông tin giữa các user của một ứng dụng nào đó. Một ứng dụng ASP được định nghĩa là tất cả các file .asp trong một thư mục ảo và các thư mục con của nó. Bởi vì Application object có thể được chia xẻ bởi nhiều user, nên hai phương thức Lock và Unlock bảo đảm nhiều user không thể thay đổi một property đồng thời.
Methods:
Lock Ngăn chặn các user khác bổ sung property của Application object. Method này sẽ khóa các client khác không cho thay đổi các biến được lưu trữ trong application object, đảm bảo tại một thời điểm chỉ có một user được phép thay đổi và truy xuất các biến của object này.
Unlock Cho phép các user khác bổ sung các biến của Application object.
Events
Application_OnStart Event-procedure được thi hành trước khi một session mới được tạo ra.
Application_OnEnd Event-procedure được thi hành khi thốt khỏi application, ngay sau Session_OnEnd event.
III.5.5. Server object
Property
ScriptTimeOut khoảng thời gian chạy của một script
Methods
CreateObject tạo một instance cho một server component
Cú pháp: Server.CreateObject(ProgID), trong đó ProgID là tên của đối tượng cần tạo.
HTMLEncode áp dụng sự mã hóa HTML lên một string được chỉ định
MapthPath ánh xạ một đường dẫn tương đối hoặc virtual tới một thư mục vật lý trên server.
URLEncode mã hóa một string thành dạng URL
III.6 Lấy thông tin từ FORM
HTML Form là cách thứ thông thường để trao đổi thông tin giữa Webserver và user. HTML Form cung cấp nhiều cách nhập thông tin của user như: text box, radio button, check box, submit, reset, password, … và hai phương thức gửi thông tin là POST hoặc GET.
Ứng dụng ASP có thể sử dụng Form để tạo ra sự liên lạc dữ liệu giữa các trang theo một trong ba cách:
File .htm chứa các form và gửi (submit) giá trị của nó tới một file .asp
File .asp có thể tạo Form và gửi giá trị tới một file .asp khác.
File .asp có thể tạo Form và gửi thông tin tới ngay chính nó.
Khi lấy thông tin từ Form, đối tượng Request có thể lấy các loại thông tin khác nhau, bằng cách:
III.7 Sử dụng QueryString
QueryString collection chứa tồn bộ thông tin được gửi tới từ Form bằng phương thức GET. Các giá trị gởi từ Form chứa trong một chuỗi query (query string) và được add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về sau là phần query string được thêm vào). Điều này có thể thấy rõ khi quan sát hộp Address của Browser. Ví dụ:
Name:
Age:
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ có dạng như sau:
Hạn chế của phương thức GET : Chiều dài tối đa của URL là 1000 ký tự, như vậy nếu gởi một loạt thông tin từ form, thông tin sẽ bị cắt bớt.
III.8 Sử dụng Form collection
Thay vì add thông tin gửi đi từ Form vào URL như một querystring, một phương thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP header. Ví dụ:
Name:
Age:
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ trông có dạng như sau:
Tại thời điểm này, các giá trị gửi từ Form không thể truy xuất bằng QueryString collection. Thay vào đó, Active Server Pages hiện thực một Form collection chứa tồn bộ thông tin gửi từ Form sử dụng phương thức POST.
III.9 Gửi thông tin trong cùng một file .asp
ASP cho phép một file .asp có chứa Form, khi user điền các giá trị vào Form rồi gửi (Submit) thì chính file .asp đó sẽ nhận các thông tin này và xử lý.
Ví dụ: file examp.asp có nội dung như sau:
<%
If IsEmpty(Request(“Email”)) Then
Msg= “Please enter your email address”
Else If InStr(Request(“Email”), “@”)=0 Then
Msg= “Please enter an email address in the form servername@location”
Else
Msg= “This script could process the valid email address now”
End If
%>
Email: <INPUT TYPE=TEXT NAME=”Email” SIZE=30
VALUE = “
Khi user điền vào Form địa chỉ Email và Submit thì file examp.asp này sẽ nhận thông tin bằng phát biểu:
VALUE = “
Đoạn script sẽ tuỳ thuộc giá trị chuỗi ký tự nhận được có ký tự @ hay không để trả lời với user cũng chính bằng văn bản HTML nhúng trong examp.asp.
III.10 Gửi thông tin giữa các file .asp
Ví dụ: Form được để trong examp1.asp, các thông tin mà user sẽ submit lên server khi user đang ở trang examp1.asp sẽ được file examp2.asp nhận và xử lý. Để làm được điều này, trong trang examp1.asp có đoạn code HTML sau:
Name:
và đoạn code sau trong trang examp2.asp dùng để nhận các thông tin sẽ submit từ form1.
<%
name=“” +Request(“txtname”)
%>
Khi đó giá trị mà user đã gõ vào Form1 sẽ được lấy và lưu vào biến Name ở examp2.asp.
III.11 Sử dụng Cookies Collection
Một cookies được coi như một dấu hiệu đi kèm theo user trong quá trình trao đổi thông tin giữa Web client và Web server. Các script của ASP có thể dùng Response để lấy hoặc thiết lập giá trị của cookies bằng cách sử dụng cookies colletion theo cú pháp:
Response.Cookies(cookie)[(key)][.attribute]
trong đó cookie là tên của cookie. key là thông số tùy chọn. Nếu key được đặc tả thì cookie là từ điển và key sẽ được thiết lập giá trị, .attribute là các thuộc tính của cookie đó.
Bufferring Response
Thuộc tính Buffer chỉ định rằng trang xuất (page out) có được đệm lại hay không. Khi một trang bị đệm lại thì server sẽ không gửi đáp ứng nào tới client cho đến khi tất cả các server script trong trang hiện hành đã được xử lý, hoặc là cho đến khi phương thức Flush hoặc End được gọi.
Thuộc tính Buffer mặc định cho tất cả trang ASP là False. Để thiết lập trị Buffer gọi:
III.12 Sử dụng các Component của ASP
Ngồi các Built-in object, ASP còn cung cấp sẵn một số ActiveX Server component, được thiết kế để chạy trên các Web server như là một phần của các ứng dụng Web. Mỗi một server component là một thư viện các Class (hay Object) được thiết kế ở dạng Automation Server, thực hiện một nhóm công việc chung nhất cho một thao tác nào, ví dụ như việc truy xuất cơ sở dữ liệu, truy xuất file… nhờ đó ta không phải tạo lại các chức năng này nữa. Tuy nhiên, ASP vẫn cho phép người lập trình có thể tạo riêng server component của mình và add vào ứng dụng Web.
Các component được cài sẵn trong Active Server Pages gồm:
Adrotator
Browser Capabilities
Database Access
Content Linking
File Access
III.12.1 Tạo các instance của các component
Dùng phương thức CreateObject của đối tượng Sever, cú pháp như sau:
Server.CreateObject(“ComponentName”)
Ví dụ: tạo một đối tượng connection là Conn từ ADO component
Trong phạm vi của luận văn tốt nghiệp này là tìm hiểu các công cụ của ASP hỗ trợ cho việc phát triển ứng dụng Web database, nên phần tiếp theo tôi xin trình bày ADO component với các method và property của nó là điểm mạnh nhất của ASP trong việc truy xuất cơ sở dữ liệu.
III.12.2 Database Access Component
Database Access component còn gọi là thư viện ADO (ActiveX Data Object), các object của ADO cung cấp cơ chế tạo kết nối (connection) với hầu hết các kiểu database, cũng như việc truy xuất, cập nhật các database này.
ADO Interface
Các đối tượng trong ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể được sử dụng với bất kỳ loại database nào nếu như có ODBC driver hỗ trợ. ASP cài đặt sẵn hầu hết các driver thông dụng như: Foxpro, Access, SQL server, Oracle.
Active Server Pages
ActiveX Database
Component
ActiveX Data
Objects
ODBC
Driver
Data Provider Interface
Data Source
Với Data Provider đại diện cho các phần mềm driver, nó cho phép ta giao tiếp với các loại dữ liệu khác nhau.
Các Object trong ADO
Gồm: Connection, RecordSet và Command. Sử dụng Connection ta có thể thiết lập sự liên kết với cơ sở dữ liệu, thông qua đó ta có thể lấy ra các record hoặc cập nhật một record bằng cách sử dụng Command object. Kết quả thực hiện các query trên database sẽ được lưu vào đối tượng RecordSet, trên đối tượng này ta có thể duyệt và lấy ra một hay nhiều record.
1. Connection object
Trước tiên ta phải tạo instance cho đối tượng connection bằng phát biểu sau:
<%
Set Connection_Name=Server.CreateObject(“ADODB.Connection”)
%>
Khi cần có một liên kết cố định cho tất cả các trang ta có thể thiết lập khu vực cho đối tượng connection ở mức Application như sau:
<%
Sub Application_OnStart()
Set Connection_Name=Server.CreateObject(“ADODB.Connection”)
End Sub
%>
Hoặc thiết lập khu vực cho đối tượng connection ở mức Session:
<%
Sub Session_OnStart()
Set Connection_Name=Server.CreateObject(“ADODB.Connection”)
End Sub
%>
Các phương thức của đối tượng connection
Open method : được sử dụng để mở một liên kết với Database. Ngay sau khi tạo instance cho Connection object, ta có thể mở một kết nối tới Data Source để truy xuất dữ liệu, cú pháp như sau:
Connection.Open ConnectionString [User] [Password]
trong đó ConnectionString là chuỗi định nghĩa tên của Data Source (DSN), tên này do ODBC tạo ra. [User] và[Password] là tên User và Password được database cho phép mở.
Execute method: cho phép thực thi một câu lệnh tác động lên Data Source.
Connection.Execute(CommandText,RecordsAffected,Options)
Trong đó CommandText là chuỗi lệnh cần thực hiện, thông số option các các giá trị khác nhau qui định loại CommandText
Giá trị
Hằng tương ứng
CommandText
0
adCmdUnknown
Mặc định khi định nghĩa
1
adCmdText
Là một câu lệnh ví dụ như SQL
2
adCmdTable
Tên của table mà ta sẽ tạo một Recordset từ đó
4
adCmdStoreProc
Một Stored procedure trong Data source
Thông thường các giá trị trên được gán sẵn vào các danh hiệu hằng và được đặt trong file include có tên adovbs.inc.
Close method: đóng các kết nối đã mở.
Connection.Close
Connection Pooling
Các ứng dụng database trên Web mở và đóng các connection với database thông qua ODBC ở mỗi trang Web. Chúng ta có thể tạo một connection mới cho mỗi Session và dùng nó cho tất cả trang Web. Tuy nhiên, với một site mà có số lượng hàng trăm user kết nối vào cùng lúc, thì việc tạo một connection mới cho mỗi user có thể làm server quá tải (overhead). Để giải quyết vấn đề này, ODBC 3.0 cung cấp một phương thức mới để quản lý các connection với các database của ứng dụng Web gọi là Connection Pooling. ODBC sẽ mở và quản lý tất cả các connection, nhằm giảm bớt số lượng connection rảnh rỗi.
Mỗi khi có một yêu cầu kết nối mới thì nó kiểm tra xem có connection nào trong Connetion Pooling rảnh không. Nếu không có thì sẽ tạo connection mới, nếu có thì nó sẽ lấy connection rảnh này mà không tạo thêm connection. Nếu có một connection rảnh nào trong Connection Pooling tồn tại quá 60s thì nó sẽ tự động bị loại bỏ.
Connection Pooling không được kích hoạt mặc định trong ASP. Muốn thiết lập Connection Pooling ta phải sửa đổi Registry, tại mục:
HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\W3SVC\ASP\Parameters
Tìm StartConnectionPool và thay đổi trị từ 0 thành 1.
2 . Command object
Thay vì dùng phương thức Execute của Connection để query hay update data source, ta có thể sử dụng đối tượng Command
3. Recordset object
Là kết quả trả về khi thực thi một query, thực chất nó là một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phương thức và thuộc tính.
III.13 Phát triển một ứng dụng ASP
Một ứng dụng ASP (ASP-Based Application ) gồm có một thư mục ảo (Virtual Directory) trên một Web Server và tất các file và các thư mục bên trong thư mucï ảo đó.
Một ứng dụng ASP có thể là một trang Web đơn lẽ hoặc có thể là tập hợp các trang có quan hệ với nhau.
Ứng dụng ASP có hai kiểu trạng thái (state) :
_ Application state : Tất cả thông tin thuộc về Application cho phép tất cả các user thuộc application đó được quyền sử dụng.
_ Session state : Thông tin thuộc về session chỉ cho phép user của session đó sử dụng.
Các công cụ dùng để quản lý trạng thái là các đối tượng (built-in object) session và application.
Cách dùng đối tượng Session và Application
Ta có thể dùng các đối tượng session và application để mở rộng chức năng của các ứng dụng ASP.
Dùng đối tượng session để quản lý thông tin cho một user khi user sử dụng một application. Một session chỉ có tác dụng và thuộc sở hữu đối với một user. Application được dùng để lưu trữ thông tin chung mà có thể được sử dụng chung cho tất cả các user thuộc application đó.
III.13.1 Cách dùng File Global.asa
Mỗi ứng dụng ASP có thể có một file Global.asa, file này phải được lưu trữ trong thư mục gốc của application. ASP đọc file global.asa trong các trường hợp sau :
Khi Web Server nhận được một request đầu tiên yêu cầu một file asp nào đó trong application.
Khi một user chưa có một session request một file ASP nào đó trong application.
Trong file Global.asa gồm có các thành phần :
Application-start, session-start hoặc cả hai.
Application-end, session-end hoặc cả hai.
Các tag dùng để khai báo các đối tượng.
III.13.2 Các sự kiện Application-start và Session-start
Các thủ tục Script trong Application-Onstart và Session-Onstart sẽ chạy mỗi khi Application và Session được khởi động. Nếu application và session bắt đầu cùng một lúc thì ASP ưu tiên xử lý sự kiện application-start trước sau đó mới tới sự kiện session-start.
Cú pháp của Application-Onstart và Session-Onstart :
Sub Application_OnStart
' This is where you would insert script for an
‘ application-start event.
End Sub
Sub Session_OnStart
Set Session("MyAd")=Server.CreateObject("MSWC.Adrotator")
End Sub
III.13.3 Các sự kiện Application-end và Session-end
Cũng như Application-start và Session-start Application-end và Session-end là các thủ tục trong file Global.asa và các sự kiện này xảy ra khi application và session kết thúc.
Cú pháp của Application-end và Session-end :
Sub Session_OnEnd
' Chèn các lệnh Script ở đây cho một session-end event.
End Sub
Sub Application_OnEnd
‘ Chèn các lệnh Script ở đây cho một application ending event.
End Sub
III.13.4 Kết thúc một Session
Một session tự động kết thúc khi user không yêu cầu (Request) hoặc làm tươi (Refresh) một trang nào trong một khoảng thời gian xác định trước và được gọi là TimeOut. Session cũng kết thúc khi gọi phương thức Abandon của đối tượng Session. Giá trị mặc định của Session TimeOut là 20 phút. Ta có thể qui định thời gian TimeOut lớn hơn 20 phút bằng lệnh sau :
Lưu ý : Không cho phép qui định thời gian Session TimeOut nhỏ hơn giá trị mặc định.
III.13.5 Quản lý các Session
Một Session có thể khởi động bằng 3 cách :
Khi một user mới Request một file ASP trong Application và trong file Global.asa có thủ tục Session-Onstart.
Khi user lưu trữ lưu trữ một giá trị trong đối tượng Session.
Khi user request một file ASP trong application mà file Global.asa dùng tag để khai báo đối tượng có phạm vi Session.
SessionID và Cookie
Lần đầu tiên khi một user request một file ASP trong application, ASP sẽ tạo ra một SessionID và gửi (Response) tới Browser của user đề tạo một Cookie cho SessionID. SessionID Cookie là một token gửi tới Client nhưng không được lưu trữ trên đĩa cứng của máy client bởi vì nó không có qui định ngày hết hạn.
Lưu ý : Hầu hết các Browser đều sử dụng cookie, nhưng cũng có một vài Browser không áp dụng. Đối với các Browser không áp dụng Cookie thì ASP cũng không cấp đối tượng Session cho các Browser này.
Khi một user tương tác với một Application, ASP lưu trữ thông tin của user trong một “Locker” trên Server. SessionID Cookie của user được gởi trong HTTP Request Header. User chỉ được phép truy xuất thông tin trong nội dung mà Locker cho phép.Mỗi lần ASP nhận được Request một trang, nó lập tức kiểm tra HTTP request header cho SessionID Cookie.
Lưu trữ biến trong đối tượng Session
<%
Session("Initiated") = Now
Session("Fidelity") = "Low"
Set Session("myObj") = Server.CreateObject("someObj")
%>
III.13.6 Quản lý Application
Ta có thể dùng đối tượng application để gởi một thông báo tới tất cả user của Application.
Ví dụ :
Giá trị mặc định của message trong Global.asa
Sub Application_OnStart
Application("Message") = "This is the default message."
End Sub
File A.asp hiển thị một message, các user request một file A.asp đều thấy message như nhau
This is the message:
File B.asp cho phép user gõ một message mới và submit để thay đổi
Enter a new value for the application-wide message:
C.asp cập nhật lại giá trị mới nhận từ B.asp
<%
If Not IsEmpty(Request.Form("newmsg")) Then
Application.Lock
Application("Message") = Request.Form("newmsg")
Application.Unlock
End If
Response.Redirect("A.asp")
%>
III.13.7 Hoạt động của Component
Một ứng dụng ASP có thể qui định khu vực cho các ActiveX Server Component . Các Component có khu vực là Aplication ,Session hoặc là Page
Component có khu vực là application là Component được tạo ra khi Application-start.
Component có khu là Session được tạo ra cho mỗi Session mới trong Application và bị hủy bỏ khi Session kết thúc. Như vậy, mỗi một Session đang tích cực có một khu vực cho Session đó.
Component có khu vực là Page được tạo ra trong quá trình xử lý một trang của client và kết thúc khi Response được gửi trở lại client. Mặc định component có khu vực là Page.
Ta có thể dùng Tag trong file Global.asa hoặc phương thức Server.CreateObject để ghi nhận khu vực của các activeX Server Component trong các đối tượng Session và Application.
Cách dùng :
Cách dùng Server.CreateObject
Kiểm tra kết quả
Trong phạm vi Session ASP không tạo ra một khu vực cho component khi được khai báo bằng Tag , nó chỉ được tạo ra khi component được tham khảo đến bằng một lệnh Script từ một file ASP. Nếu dùng phương thức Server.CreateObject thì khu vực component được tạo ra ngay lập tức. Vì vậy tag được sử dụng phổ biến hơn phương thức Server.CreateObject trong phạm vi Session. Trong phạm vi Trang thì và phương thức Server.CreateObject được sử dụng như nhau.
CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
IV.1 Phân tích hệ thống
IV.1.1 Tổng quan về học và thi trắc nghiệm trực tuyến
- Ngành công nghệ thông tin phát triển với tốc độ rất nhanh và công nghệ ngày một tiên tiến và hiện đại. Một trong các thành tựu lớn nhất mà ngành công nghệ thông tin mang lại cho cuộc sống con người là mạng Internet, Intranet …. Đây là một môi trường thông tin liên kết con người, việc trao đổi thông tin bây giờ đã trở nên nhanh chóng, tiện lợi hơn bao giờ hết.
- Tận dụng môi trường mạng Internet, xu hướng phát triển phần mềm hiện nay là dựa môi trường này để xây dựng nên các ứng dụng có khả năng phục vụ và liên lạc giữa nhiều thành viên với nhau, vận hành không phụ thuộc vào vị trí địa lý, không phụ thuộc vào hệ điều hành.
- Có rất nhiều hình thức thi khác nhau được áp dụng trong các trường Đại học, cao đẳng, trung học, các trung tâm, đào tạo từ xa và nhiều lĩnh vực khác … Trong đó thi viết là một hình thức thi phổ biến từ trước đến nay được áp dụng trong ngành giáo dục, tất cả các học sinh, sinh viên đều làm cùng một đề giống nhau, do đó sẽ dẫn đến việc đánh giá kết quả cụ thể của từng học sinh, sinh viên không chính xác, không công bằng vì có thể gian lận, nhìn bài nhau, quay cóp … trong lúc thi. Còn nếu mỗi học sinh, sinh viên thi mỗi đề khác nhau thì dẫn đến việc ra đề thi sẽ gặp khó khăn cho người ra đề và việc đánh giá kết quả cũng phải mất nhiều thời gian, vì lý do đó mà Thi trắc nghiệm được áp dụng trong vài năm gần đây .
Thi trắc nghiệm là một hình thức thi để kiểm tra trình độ, kiến thức, khả năng nhạy bén của từng học sinh, sinh viên ở tất cả các trường, nơi tuyển sinh của các cơ quan ban ngành (thậm chí cả các công ty, xí nghiệp cũng áp dụng hình thức thi trắc nghiệm để tuyển nhân viên ) dựa trên nhiều đề khác nhau và việc ra đề cũng ít gặp khó khăn hơn cũng như việc đánh giá kết quả ít tốn thời gian hơn. Do đó mà hình thức thi trắc nghiệm được dùng khá phổ biến trong các trường dân lập, các trung tâm, đào tạo từ xa trong vài năm gần đây. Ngày nay với sự phát triển ngày càng mạnh mẽ của khoa học máy tính nói chung và mạng máy tính nói riêng, đáng chú ý nhất là mạng tồn cầu Internet. Sự ra đời của mạng Internet đã đưa con người đến với thế giới máy tính, hồ nhập với thế giới. Với mạng Internet chúng ta có thể trao đổi thông tin, gởi Email ra nước ngồi, truyền dữ liệu, truy xuất dữ liệu ...vv, một cách nhanh chóng, an tồn và hiệu quả. Giáo dục ngày càng phát triển, do đó có nhiều loại hình đào tạo khác nhau như công lập, dân lập, các trung tâm, đào tạo từ xa ... của nhiều trường khác nhau. Cho nên, một sinh viên có thể học nhiều trường khác nhau, do đó sinh viên có nhu cầu học và thi thông qua mạng nhằm giảm bớt thời gian đến trường .
- Hiện nay đã có rất nhiều hệ thống hỗ trợ những bài giảng trực tuyến, các cách thức để học, thi một cách trực tuyến. E - Learning là một trong những ứng dụng khá điển hình có thể xây dựng và vận hành trên mạng Internet, Intranet ... Sinh viên không cần phải đến trường, họ có thể tham gia theo học, đăng ký môn học, tham khảo tài liệu, thi cử… tất cả đều có thể thực hiện và hồn tất chỉ bằng cách ngồi vào máy tính.. Trong khuôn khổ của đồ án này em sẽ xây dựng một website phục vụ cho việc học và thi trắc nghiệm kiến thức mạng máy tính.
IV.2 Các yêu cầu của hệ thống
Với một hệ thống học và thi như vậy ta có thể đưa ra các yêu cầu đối với hệ thống như sau.
Quản lý thư viện bài học và câu hỏi trắc nghiệm về kiến thức mạng.
+ Quản lý bài học theo từng kì học.
+ Quản lý câu hỏi thi theo từng bài học
Tổ chức soạn câu hỏi trắc nghiệm ứng với từng nội dung bài học
+Với mỗi bài học thì ta có thể đưa ra câu hỏi trắc nghiệm phù hợp với nội dung của từng bài học.
Tạo ra được đề kiểm tra.
+ Với mỗi bài học thì ta có phần kiểm tra lại kiến thức cuối mỗi bài học. Các câu hỏi này được lấy ngẫu nhiên trong phần câu hỏi của bài học.
Tổ chức thi trắc nghiệm.
+ Hệ thống có khả năng tạo được những đề thi với các câu hỏi khác nhau.
+ Các câu hỏi thi trắc nghiệm được lấy từ tồn bộ hệ thống câu hỏi của hệ thống.
Quản lý kết quả thi trắc nghiệm đối với từng sinh viên.
+ Quản lý kết quả của các user sử dụng hệ thống.
Quản lý thông tin cá nhân
+ Với mỗi người sử dụng sẽ có một tài khoản. Khi đăng nhập họ sẽ được quyển quản lý các ghi chú đối với mỗi bài học cho mình, các kế hoạch học tập của mình và các thông tin cá nhân.
Dựa vào các yêu cầu trên ta có thể mô tả tóm tắt nội dung của hệ thống như sau
Các đối tượng tham gia vào hệ thống bao gồm.
Người quản trị (Quản lý thông tin về các sinh viên, các nội dung bài học, các câu hỏi thi trắc nghiệm)
Sinh viên (Tham gia các bài học, thực hiện kiểm tra và thi)
Thông qua một hệ thống máy chủ Web mà sinh viên có thể truy cập để học các bài học thuộc kì học mà sinh viên đang tham gia
Sinh viên khi tham gia thi sẽ nhận được một đề thi trên màn hình và sinh viên sẽ tích trực tiếp vào các đáp án đúng trong nhiều sự lựa chọn
Sau một khoảng thời gian chuẩn của hệ thống mà sinh viên chưa thực hiện xong thì hệ thống cũng tự động kết thúc phần thi và thông báo kết quả về cho sinh viên.
Ta có thể minh họa sơ đồ hoạt động của hệ thống qua hình ảnh
IV.3 Mô tả các chức năng của hệ thống
IV.3.1. Đăng nhập vào hệ thống.
Màn hình sẽ cho phép bạn lựa chọn ứng với từng chức năng(quản trị, sinh viên) của từng người thì sẽ đăng nhập theo chức năng đó.
Sơ đồ Uses cases
IV.3.1.1 Đăng nhập
Actor: Người quản trị, sinh viên.
Mô tả:
- Actor sẽ nhập tên tài khoản và mật khẩu vào hộp thoại đăng nhập vào hệ thống.
- Hệ thống sẽ kiểm tra tên tài khoản và mật khẩu vừa nhập vào.
Nếu :
+ Hợp lệ: cho vào hệ thống tùy vào quyền của người sử dụng.
+ Không hợp lệ: yêu cầu nhập lại hoặc thốt.
IV.3.1.2 Thay đổi mật khẩu
Actor: Người quản trị, sinh viên.
Mô tả:
- Actor sẽ nhập mật khẩu mới vào hộp thoại thay đổi mật khẩu
- Hệ thống sẽ kiểm tra tên tài khoản và mật khẩu vừa nhập vào.
Nếu :
+ Hợp lệ: cho vào hệ thống tùy vào quyền của người sử dụng.
+ Không hợp lệ: yêu cầu nhập lại hoặc thốt.
IV.3.2 Các chức năng của người quản trị
Sau khi đăng nhập vào với chức năng của người quản trị thì màn hình sẽ có các chức năng sau để người quản trị có thể lựa chọn một trong các chức năng của người quản trị
Sơ đồ Uses cases của người quản trị
IV.3.2.1 Thêm sinh viên
Actor: Người quản trị.
Mô tả:
- Hệ thống sẽ hiển thị hộp thoại để người quản trị nhập các thông tin của sinh viên như : họ tên, ngày sinh, địa chỉ liên lạc, số điện thoại,…
- Người quản trị sẽ điền đầy đủ thông tin của sinh viên mới và chọn yêu cầu thêm sinh viên mới.
- Hệ thống sẽ kiểm tra lại thông tin nhập, nếu hợp lệ tiến hành cấp:
+ Tên tải khoản.
+ Mật khẩu (quyền để sinh viên có thể đăng nhập vào hệ thống).
- Người quản trị có nhiệm vụ cung cấp cho sinh viên tên tài khoản và mật khẩu để họ có thể đăng nhập vào hệ thống.
IV.3.2.2 Xóa một sinh viên khỏi danh sách
Actor: Người quản trị.
Mô tả:
- Người quản trị sẽ tìm đến tài khoản của sinh viên cần xóa trong danh sách.
- Người quản trị chọn chức năng xóa trong hệ thống
- Hệ thống sẽ xóa tài khoản của sinh viên này trong hệ thống và hệ thống sẽ xóa tất cả các bài thi của sinh viên này.
IV.3.2.3. Chỉnh sửa thông tin sinh viên
Chức năng này cho phép xem thông tin của sinh viên, nếu có thông tin nào sai xót thì có thể chỉnh sửa lại ngay
Actor: Người quản trị
Mô tả:
- Người quản trị sẽ tìm đến tài khoản của sinh viên cần xem
- Hệ thống sẽ hiện thị chi tiết thông tin của sinh viên
- Người quan trị xem xét , nếu có thông tin nào sai thì tiến hành chỉnh sửa
- Hệ thống sẽ tiến hành cập nhật những thông tin đã thay đổi.
IV.3.2.4 Thêm bài học mới
Actor: Người quản trị
Mô tả:
- Người quản trị chọn chức năng thêm bài học mới
- Hệ thống hiển thị môt combo box cho phép bạn chọn bài học mới thuộc học kì nào
- Hệ thống sẽ hiển thị một form để nhập tiêu đề và nội dung của bài học
- Người quản trị nhập các thông tin về bài học
- Hệ thống sẽ tiến hành cập nhật nội dung của bài học vào cơ sở dữ liệu
IV.3.2.5 Chỉnh sửa nội dung bài học
Actor:Người quản trị
Mô tả:
- Người quản trị chọn chức năng chình sửa thông tin bài học
- Hệ thống sẽ hiển thị các học kì để bạn chọn bài học đó thuộc học kì nào.
- Người quản trị chọn bài học cần chỉnh sửa
- Người quản trị xem những thông tin trong bài học
- Nếu có thông tin nào sai thì tiến hành chỉnh sửa
- Hệ thống sẽ cập nhật những thông tin đã được chỉnh sửa
IV.3.2.6 Xóa một bài học
Actor:Người quản trị
Mô tả:
- Người quản trị chọn chức năng xóa tin bài học
- Hệ thống sẽ hiển thị các học kì để bạn chọn bài học đó thuộc học kì nào.
- Người quản trị chọn bài học cần xóa
- Người quản trị chọn chức năng xóa của hệ thống
- Hệ thống sẽ tiến hành xóa nội dung bài học đó khỏi cơ sở dữ liệu
IV.3.2.7. Thêm câu hỏi thi.
Actor: Người quản trị:
Mô tả:
- Người quản trị lựa chọn chức năng tạo câu hỏi thi.
- Người quản trị chọn học kì và bài học mà cần tạo câu hỏi
- Hệ thống sẽ hiển thị một form để người quản trị có thể điền các thông tin về câu hỏi.
- Câu hỏi thì bao gồm các thông tin
+ Đề bài câu hỏi
+ 5 đáp án để lựa chọn
+ Tích vào các ô đáp án đúng.
- Sau đó Người quản trị chọn việc cập nhật câu hỏi vào hệ thống
- Hệ thống sẽ lưu thông tin câu hỏi vào trong cơ sở dữ liệu
IV.3.2.8 Xóa câu hỏi
Actor: Người quản trị
Mô tả:
- Người quản trị sẽ lựa chọn câu hỏi trong học kì và bài học cần xóa
- Người quản trị lựa chọn chức năng xóa câu hỏi của hệ thống
- Hệ thống sẽ xóa câu hỏi khỏi cơ sở dữ liệu câu hỏi.
IV.3.2.9 Chỉnh sửa câu hỏi.
Actor: Người quản trị
Mô tả:
- Người quản trị sẽ lựa chọn câu hỏi trong danh sách câu hỏi của hệ thống
- Màn hình hiện lên nội dung thông tin của câu hỏi
- Người quản trị đọc nội dung câu hỏi và tìm những chỗ cần chỉnh sửa
- Người quản trị chọn chức năng chỉnh sửa câu hỏi trong hệ thống
- Hệ thống sẽ cập nhật lại nội dung của câu hỏi trên vào trong cơ sở dữ liệu.
IV.3.2.10 Tạo báo cáo thống kê.
Actor: Người quản trị
Mô tả:
- Công việc phục vụ cho việc xem xét hoạt động của hệ thống, có bao nhiêu sinh viên đang tham gia hoạt động trong hệ thống.
- Lập báo cáo thống kê điểm của các sinh viên đã tham gia thi
+ Báo cáo theo từng user
+ Tất cả những người đã thi
IV.3.3 Các chức năng của sinh viên.
Chức năng chính của sinh viên là thực hiện học và thi trên hệ thống, sau khi đăng nhập vào hệ thống thì sinh viên chọn chức năng xem các bài học hoặc làm bài thi. Khi chọn chức năng học thì sinh viên sẽ chọn học kì mà sinh viên đang theo học. Hệ thống sẽ hiển thị các bài học thuộc học kì đó, sinh viên chọn các bài học để xem nội dung. Cuối mỗi bài học sẽ có phần kiểm tra nội dung bài học trên qua một số câu hỏi trắc nghiệm. Khi sinh viên chọn chức năng thi trong hệ thống thì khi đó hệ thống sẽ cho sinh viên lựa chọn thi giữa kì hoặc cuối kì của kì học mà sinh viên đang theo học, hệ thống sẽ tạo ra một đề thi ngẫu nhiên để sinh viên có thể làm vào đó. Sinh viên tích vào các đáp án đúng trong các đáp án đưa ra của câu hỏi.
Sơ đồ Uses Case
IV.3.3.1 Đăng kí thành viên
Actor: Sinh viên
Mô tả:
- Sinh viên chọn chức năng đăng kí thành viên
- Hệ thống hiện thị lên một một form để sinh viên có thể nhập các thông tin
- Hệ thống sẽ cập nhật lại tài khoản mới vào cơ sở dữ liệu
IV.3.3.2 Xem nội dung bài học
Actor: Sinh viên
Mô tả:
- Sinh viên chọn kì học mà sinh viên đang theo học. Sau khi lựa chọn bài học thì danh sách các bài học của học kì đó sẽ được hiện.
- Sinh viên lựa chọn bài học muốn xem
- Hệ thống sẽ hiển thị chi tiết nội dung của bài học
IV.3.3.3 Kiểm tra lại kiến thức
Actor: Sinh viên
Mô tả:
- Sau đã học xong một bài học thì sinh viên có thể chọn chức năng ôn tập lại kiến thức. Chức năng này của hệ thống sẽ giúp sinh viên ôn tập lại những kiến thức cơ bản của bài học trên.
- Hệ thống sẽ hiển thị 5 câu hỏi liên quan đến nội dung bài học để sinh viên có thể làm bài để nhớ lại kiến thức
- Sau khi hồn thành sinh viên có thể xem kết quả với đáp án của bài kiểm tra
- Sinh viên có thể biết mình làm đúng hay sai bằng cách so với đáp án của hệ thống. Đáp án của hệ thống chính là những đáp án mà gạch bởi màu hồng.
IV.3.3.4 Thi
Actor: Sinh viên
Mô tả:
- Sinh viên chọn chức năng thi trong hệ thống
- Chọn chức năng làm bài thi trong hệ thống sau khi đã chọn các thông tin trên
- Hệ thống tự động sinh ra 60 câu hỏi cho một đề thi. Các câu hỏi thi được lấy ngẫu nhiên từ ngân hàng câu hỏi của hệ thống.
- Sinh viên lần lượt trả lời các câu hỏi trong đề thi.Nếu khó quá sinh viên có thể bỏ qua những câu hỏi khó để trả lời những câu tiếp theo. Sau khi trả lời xong thì có thể quay lại để trả lời các câu hỏi trước chưa trả lời.
- Sau khi hết thời gian thi hoặc sinh viên chọn chức năng nộp bài thì hệ thống tự động ngắt quá trình làm bài.
- Kết quả thi và bài làm của sinh viên được lưu vào trong cơ sở dữ liệu
IV.3.3.5 Tạo các ghi chú
Actor: Sinh viên
Mô tả
- Sinh viên chọn chức năng ghi chú
- Hệ thống sẽ hiện thi lên một form để sinh viên có thể ghi những điều cần chú ý về bài học vừa qua. Chức năng này có thể cho phép sinh viên thay thể một quyển vở.
IV.3.3.6. Tạo kế hoạch học tập
Actor: Sinh viên
Mô tả
- Sinh viên chọn chức năng tạo lịch học tập
- Hệ thống sẽ hiện thị một tờ lịch chứa các ngày trong tháng, sinh viên chọn ngày cần lập kế hoạch
-Sinh viên điền thông tin về kế hoạch học tập của mình
IV.4 Các sơ đồ luồng dữ liệu
IV.4.1 Ta có sơ đồ phân cấp chức năng.
Hệ thống trợ giúp
học và thi trắc nghiệm
QL Tài khoản
QL Kế hoạch
QL
Ghi chú
QL
Câu hỏi
QL
Bài học
QL
Kì học
Thi
Thống kê
Theo tài khoản
Tất cả
Thêm tài khoản
Sửa tài khoản
Xóa tài khoản
Thêm Ghi chú
Sửa
Ghi chú
Xóa
Ghi chú
Thêm câu hỏi
Sửa
câu hỏi
Xóa
câu hỏi
Thêm kế hoạch
Thêm
Bài học
Thêm
kì học
Sửa kế hoạch
Sửa
Bài học
Sửa
kì học
Kì học
Xóa kế hoạch
Xóa
kì học
Xóa
bài học
Xem
bài học
* QL: Quản lý
IV.4.2 Sơ đồ mức ngữ cảnh
Phản hồi
Thống kế báo cáo
Quản lý ghi chú
Xem bài học
Quản lý bài học
Hệ thống trợ giúp thi trắc nghiệm kiến thức mạng
Nội dung bài học
Phản hồi
QL kì học
Admin
Sinh viên
Đăng kí
Phản hồi
Phản hồi
Quản lý câu hỏi
Phản hồi
Kết quả thi
Quản lý tài khoản
Làm bài thi
Phản hồi
Quản lý kế hoạch học tập
Phản hồi
IV.4.3 Sơ đồ DFD mức 0
Thông tin ghi chú
Xác nhận
Tài khoản
Ghi chú
4
Quản lý tài khoản
5
Quản lý ghi chú
Sinh viên
1
Quản lý kì học
admin
Thông tin kì học
Xác nhận
2
Quản lý bài học
3
Quản lý câu hỏi
Kì học
admin
Thông tin bài học
Xác nhận
Bài học
admin
Thông tin câu hỏi
Xác nhận
Câu hỏi
Đáp án
Xác nhận
Sinh viên
8
Thi
Làm bài
Kết quả
Kết quả
6
Quản lý sự kiện
Thông tin sự kiện
Sự kiện
7
Thống kê
Xác nhận
Thông tin tài khoản
IV.4.4 Sơ đồ luồng dữ liệu DFD mức 1
IV.4.4.1 Admin quản trị các kì học
Sinh viên
1.1
Thêm kì học mới
1.2
Thay đổi kì học
1.3
Xóa kì học
Kì học
D1
D2
D3
D4
D5
D6
D1 : - Admin chọn chức năng thêm kì học mới
- Admin nhập thông tin về kì học mới
D2 : Lưu lại thông tin về kì học mới xuống CSDL.
D3 : Admin chọn kì học cần thay đổi
Admin thay đổi thông tin vể kì học
D4 : Ghi lại những thông tin vừa cập nhật xuống cơ sở dữ liệu
D5 : Admin chọn kì học cần xóa
D5 : Xóa kì học vừa chọn khỏi CSDL
IV.4.4.2 Admin quản trị bài học – Sinh viên xem bài học
Sinh viên
2.1
Thêm bài học mới
2.2
Thay đổi bài học
2.3
Xóa kì bài học
bài học
D1
D2
D3
D4
D5
D6
2.4
Xem nd bài học
Admin
D7
D8
D9
D1 : Admin chọn chức năng thêm bài học mới
Admin nhập thông tin về bài học mới(Nội dung bài học , tiêu đề bài học)
D2 : Lưu lại thông tin về bài học mới xuống CSDL.
D3 : Admin chọn bài học cần thay đổi về tiêu đề hoặc nội dung
Admin thay đổi thông tin về bài học(Nội dung bài học , tiêu đề bài học)
D4 : Ghi lại những thông tin vừa cập nhật xuống cơ sở dữ liệu
D5 : Admin chọn bài học học cần xóa
D6 : Xóa bài học vừa chọn khỏi CSDL
D7 : Sinh viên chọn bài học cần xem
D8 : Thông tin về tiêu đề và nội dung của bài học sẽ được lấy từ cơ sở dữ liệu
D9 : Thông tin về bài học trả về cho sinh viên
IV.4.4.3 Admin quản trị câu hỏi thi
Sinh viên
3.1
Thêm câu hỏi mới
3.2
Thay đổi câu hỏi
3.3
Xóa câu hỏi
Câu hỏi + đáp án
D1
D2
D3
D4
D5
D6
D1 : Admin chọn chức năng thêm câu hỏi mới
Admin nhập thông tin về câu hỏi mới
+ Nội dung câu hỏi
+ Các đáp án lựa chọn
+ Các đáp án đúng
D2 : Lưu lại thông tin về câu hỏi mới xuống CSDL.
D3 : Admin chọn câu hỏi cần thay đổi
Admin thay đổi thông tin vể câu hỏi
+ Nội dung câu hỏi
+ Các đáp án lựa chọn
+ Các đáp án đúng
D4 : Ghi lại những thông tin vừa cập nhật xuống cơ sở dữ liệu
D5 : Admin chọn câu hỏi cần xóa
D6 : Xóa câu hỏi vừa chọn khỏi CSDL
IV.4.4.4 Phần thông tin đăng kí thành viên
Sinh viên
4.1
Đăng kí thành viên
4.2
Cập nhật thông tin
Tài khoản
D1
D2
D3
D4
4.3
Xóa tài khoản
Admin
D5
D6
D1 : Sinh viên chọn chức năng đăng kí thành viên trên hệ thống
Nhập các thông tin của sinh viên cần cho việc lưu trữ :tên tài khoản, mật khẩu, họ và tên, ngày sinh, số điện thoại, địa chỉ.
D2 : Lưu lại thông tin về thành viên mới xuống CSDL.
D3 : Sinh viên chọn chức năng chỉnh sửa thông tin cá nhân
- Chỉnh sửa lại những thông tin cần thiết
D4 : Lưu lại những thông tin vừa chỉnh sửa xuống CSDL
D5: Chọn tài khoản cần xóa
D6: Xóa tài khoản vừa chọn khỏi cơ sở dữ liệu
IV.4.4.5 Sinh viên chọn chức năng ghi chú cho bài học
Sinh viên
5.1
Thêm ghi chú mới
5.2
Thay đổi ghi chú
5.3
Xóa ghi chú
Ghi chú
D1
D2
D3
D4
D5
D6
D1 : Sinh viên chọn chức năng thêm ghi chú mới trong quá trình học tập
Sinh viên nhập thông tin về các ghi chú (tiêu đề, nội dung)
D2 : Lưu lại thông tin về các ghi chú mới xuống CSDL.
D3 : Sinh viên chọn ghi chú cần thay đổi về tiêu đề hoặc nội dung
Sinh viên thay đổi thông tin vể ghi chú vừa chọn (Nội dung , tiêu đề)
D4 : Ghi lại những thông tin vừa cập nhật xuống cơ sở dữ liệu
D5 : Sinh viên chọn ghi chú cần xóa
D6 : Xóa ghi chú vừa chọn khỏi CSDL
IV.4.4.6 Sinh viên chọn chức năng thêm kế hoạch(kh)
Sinh viên
6.1
Thêm kh mới
6.2
Thay đổi kh
6.3
Xóa kh
Kế hoạch
D1
D2
D3
D4
D5
D6
D1 : - Sinh viên chọn chức năng thêm kế hoạch mới(kế hoạch trong tuần , tháng)
- Sinh viên nhập thông tin về các kế hoạch(Ngày thực hiện, nội dung, tiêu đề)
D2 : Lưu lại thông tin về kế hoạch mới xuống CSDL.
D3 : Sinh viên chọn kế hoạch cần thay đổi về tiêu đề hoặc nội dung
Sinh viên thay đổi thông tin vể kế hoạch vừa chọn (Nội dung , tiêu đề)
D4 : Ghi lại những thông tin vừa cập nhật xuống cơ sở dữ liệu
D5 : Sinh viên chọn ngày cần thực hiện, chọn kế hoạchcần xóa
D6 : Xóa kế hoạch vừa chọn khỏi CSDL
IV.4.4.7 Báo cáo thống kê
Kết quả
7.1
Báo cáo theo tài khoản
Admin
7.2
Báo cáo thống kê tất cả
D1
D2
D3
D4
D1: Admin chọn một tài khoản để xem thông tin từ cơ sở dữ liệu
D2: Thông tin về điểm của thi sinh sẽ được trả về cho Admin
D3: Admin chọn xem thông tin tất cả các thí sinh
D4: Thông tin về điểm của tất cả các thi sinh đã thi sẽ được trả về cho Admin
IV.4.4.8 Sinh viên chọn chức năng thi
Sinh viên
Câu hỏi
8.1
Thi
D2
D1
Kết quả
D3
D4
D1 : Sinh viên chọn chức năng làm bài thi của hệ thống
D2 : Hệ thống sẽ đọc thông tin từ cơ sở dữ liệu. Hệ thống sẽ lựa chọn ngẫu nhiên những câu hỏi trong cơ sở dữ liệu.
- Thông tin những câu hỏi(mã câu hỏi, nội dung, đáp án……)
Sinh viên chọn những đáp án đúng trong nhiều đáp án cho một câu hỏi
D3 : Ghi lại kết điểm bài làm của sinh viên xuống CSDL
D4 : Thông báo điểm cho sinh viên
IV.4.5 Thiết kế chi tiết về cơ sở dữ liệu
Dựa trên các thông tin dữ liệu như trên ta có thể đưa ra các bảng như sau:
Tb_hocki
Tb_baihoc
Tb_cauhoi
Tb_dapan
Tb_taikhoan
Tb_ketqua
Tb_ghichu
Tb_sukien
IV.4.6 Quan hệ giữa các bảng
Các quan hệ giữa các thực thể
+ Với mỗi học kì ta có nhiều bài học. Mối quan hệ giữa thực thể hockì và bài học là quan hệ một nhiều
+ Với mỗi bài học thì ta có nhiều câu hỏi. Vì vậy quan hệ giữa hai thực thể này là quan hệ một nhiều
+ Đối với câu hỏi trắc nghiệm thì một câu hỏi có nhiều đáp án trả lời. Chính vị vậy quan hệ giữa hai thưc thể này cũng là quan hệ một nhiều
+ Đối với mỗi người dùng thì có nhiều bài thi. Vì vậy quan hệ giữa hai thực thể taikhoan và ketqua cung chính là quan hệ một nhiều.
+ Đối với mỗi sinh viên thì có thể tạo nhiều ghi chú cho mình trong quá trình học tập. Vì vậy quan hệ giữa hai thực thể tàikhoan và ghichu la quan hệ một nhiều
+ Đối với mỗi tài khoản thì có những kế hoạch và thời gian học tập của mình. Với mỗi người thì có nhiều kế hoạch học tập được đặt ra. Chính vì vậy quan hệ giữa hai thực thể này cũng là quan hệ một nhiều
Ta có quan hệ giữa các thực thể trong hệ thống.
IV.4.7 Thiết kế giao diện
Trang chủ
Màn hình về trang chủ
Màn hình trang giới thiệu
Màn hình trang Hướng dẫn
Màn hình trang Liên hệ
Trang chính của Website
Màn hình các trang Quản trị website
Trang Đăng nhập admin
Trang đăng nhập
tài khoản
Màn hình trang Liên kết
Màn hình trang quản trị
Trang Quản trị website
Trang
cập nhật học kì
Trang Hướng dẫn Người quản trị
Trang
cập nhật bài học
Trang cập nhật thông tin sinh viên
Trang
cập nhật câu hỏi
Trang thông tin thống kê
Trang chính của Website
Trang
Cập nhật kế hoạch học tập
Trang
Cập nhật ghi chú
bài học
Trang
xem bài học
Màn hình hiện nội dung bài thi
Trang kiểm tra nội dung bài học
CHƯƠNG V: CÀI ĐẶT VÀ THỬ NGHIỆM
V.1 Một số hình ảnh của chương trình
1. Giao diện chương trình
2. Xem thông tin bài giảng
3. Phần kiểm tra bài cũ
4. Phần thi trắc nghiệm
5. Giao diện khi làm bài thi
KẾT LUẬN
Các kết quả đã đạt được của đồ án
- Nghiên cứu công nghệ Web Caching nhằm hỗ trợ việc tăng tốc của các hệ thống Web site, thực hiện cấu hình các hệ thống Web Caching đối với những trình duyệt thông dụng như Microsoft Internet Explore và Netscape
- Các bước trong việc xây dựng và phân tích thiết kế một hệ thống thực tế
- Các kĩ thuật trong việc thiết kế và xây dựng một Website
- Sau thời gian nghiên cứu và phát triển, hệ thống thi trắc nghiệm cùng với công cụ quản trị của nó đã được hồn thiện ở một mức độ nhất định.
- Hệ thống đã hoạt động tốt và đáp ứng được những yêu cầu chính đặt ra:
Sử dụng công nghệ lập trình Web ASP để xây dựng hệ thống.
Các chức năng quản trị của hệ thống.
Các chức năng xem thông tin, nội dung các bài học.
Chức năng kiểm tra cuối mỗi bài học
Các chức năng tiện ích đối với qúa trình học tập của user (lịch học, ghi chú)
Kiểm sốt quyền truy nhập hệ thống của user.
Những vấn đề còn tồn tại
Kết quả của đồ án tốt nghiệp tuy đã đạt được một số mục tiêu nhất định, nhưng đó mới chỉ là bước khởi đầu để xây dựng một hệ thống học và thi một cách hồn chỉnh. Hệ thống vẫn còn có những tồn tại cần giải quyết. Với sự quyết tâm đưa đề tài vào triển khai thực tế, tôi sẽ cố gắng đầu tư thời gian, công sức và trí tuệ để tiếp tục hồn thiện. Một số tồn tại có thể kể ra ở đây là:
Tuy đã có hệ thống xem bài học nhưng nội dung bài học vẫn còn ở mức thô sơ, chưa có tương tác media(video,audio)
Chưa có các module mô phỏng các thiết bị mạng hiện nay để có thể thực hiện những phần Lab trong quá trình học
Hệ thống chưa có chức năng tải về các bài học đối với những người không có điều kiện thường xuyên ở trên Internet.
Hệ thống câu hỏi thi chưa được chia đều cho mỗi bài học
Phương hướng phát triển của đồ án
Để khắc phục những tồn tại hiện có của hệ thống học và thi trên và phát triển nó thành một hệ thống E-learning hồn thiện để đưa vào sử dụng trong thực tiễn, cần có một số cải tiến sau đây:
Thêm các phần tương tác với các hệ thống, thiết bị mô phỏng phục vụ cho việc cấu hình và xây dựng các hệ thống mạng ảo trên đó
Phát triển thành một hệ thống trong đó có chức năng thi để lấy chứng chỉ
Hỗ trợ việc sao lưu phục hồi dữ liệu một cách tự động.
Tài liệu tham khảo
[1]
[2]
[3]
[4] Wessels, “Web Caching” O'Reilly & Associates 2001
[5]
[6] Keyton Weissinger, “ASP in a Nutshell: A Desktop Quick Reference” O'Reilly & Associates 1999
[7] Jason Butler, “ASP Data Access for Beginners”
[8] Manas Tungare, “A Practical Guide to Microsoft Active Server Pages” Conceicao Rodrigues College of Engineering in October 2000.
[9] Marc Johnson, “JavaScript Manual of Style ”
[10] Nguyễn Văn Ba “Phân tích và thiết kế hệ thống” Nhà xuất bản đại học Quốc Gia Hà Nội 2003
Các file đính kèm theo tài liệu này:
- Tìm hiểu về Web Caching và phân tích thiết kế và xây dựng hệ thống.docx