BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT
NGHIỆP
Đề tài
XÂY DỰNG MODULE TÍCH HỢP CHO HỆ THỐNG TỔ CHỨC
THI TRẮC NGHIỆM DỰA TRÊN MOODLE
Giáo viên hướng dẫn: T.S Nguyễn Cảnh Toàn
Sinh viên : Vũ Đình Trung
Phạm Tiến Việt
Lớp : CNT49ĐH
Hải Phòng, tháng năm 2012
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
Mục lục
3.2.5. Mảng (Array) 11
KẾT LUẬN 15
LỜI NÓI ĐẦU
CHƯƠNG I: KIẾN TRÚC HỆ THỐNG MOODLE
1.1.
1.2.
1.3.
1.4. Yêu cầu của đề tài:
a. Yêu cầu chung:
- :
b. Yêu cầu chức năng với từng mảng:
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Sơ đồ phân rã chức năng:
Từ yêu cầu chức năng ở trên, ta có sơ đồ phân rã chức năng.
Hình 2.1 Sơ đồ phân rã chức năng
2.1.1. Hệ thống:
Hình 2.2 Sơ đồ phân rã chức năng hệ thống
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 2
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
2.1.2. Quản trị:
Hình 2.3 Sơ đồ phân rã chức năng quản trị
2.1.3. Sinh viên:
Hình 2.4 Sơ đồ phân rã chức năng sinh viên
2.1.4. Giảng viên:
Hình 2.5 Sơ đồ phân rã chức năng giảng viên
2.1.7. Người dùng:
Hình 2.8. Sơ đồ phân rã chức năng người dùng
2.2. Sơ đồ mức ngữ cảnh:
Hình 2.9 Sơ đồ mức ngữ cảnh
2.3. Chức năng hệ thống:
2.3.1. Sơ đồ dữ liệu mức đỉnh chức năng hệ thống:
Hình 2.10 Sơ đồ luồng dữ liệu mức đỉnh chức năng hệ thống
2.3.2. Sơ đồ dữ liệu mức dưới đỉnh chức năng hệ thống:
Hình 2.11 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng hệ thống
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 3
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
2.4. Chức năng quản trị:
2.4.1. Sơ đồ luồng dữ liệu mức đỉnh chức năng quản trị:
Hình 2.12 Sơ đồ luồng dữ liệu mức đỉnh chức năng quản trị
2.4.2. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản trị:
2.4.2.1. Chức năng :
Hình 2.13 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.4.2.2. Chức năng:
Hình 2.14 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.5. Chức năng người dùng là sinh viên:
2.5.1. Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng là sinh
viên:
Hình 2.15 Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng là sinh viên
2.5.2. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng người dùng là
sinh viên:
2.5.2.1. Chức năng :
Hình 2.16 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.5.2.2. Chức năng :
Hình 2.17 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.6. Chức năng người dùng là giảng viên:
2.6.1. Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng là
giảng viên:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 4
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
Hình 2.20 Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng là
giảng viên
2.6.2. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng người dùng là
giảng viên, nhân viên:
2.6.2.1. Chức năng:
Hình 2.21 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.6.2.2. Chức năng:
Hình 2.22 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.9. Chức năng người dùng:
2.9.1. Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng:
Hình 2.35 Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng
2.9.2. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng người dùng:
2.9.2.1. Chức năng:
Hình 2.36 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.9.2.2. Chức năng:
Hình 2.37 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.9.2.3. Chức năng:
Hình 2.38 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng
2.10. Sơ đồ thực thể - quan hệ:
2.10.1. Xác định các thực thể:
Chi tiết các thực thể:
2.10.2. Quan hệ giữa các thực thể:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 5
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
2.11.2. Các bảng cơ sở dữ liệu:
STT Tên trường Kiểu trường Độ rộng Null
1 Id Int 11
2
3
4
5
6
7
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 6
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
CHƯƠNG III: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ
3.1. :
3.1.1. Frame work:
3.1.1.1. Lịch sử phát triển:
3.1.1.2. :
3.1.1.2.1.
3.1.1.2.2. :
3.1.1.2.3. :
3.1.1.2.4. :
3.1.2. :
3.1.2.2. :
3.1.2.3 :
3.1.2.4. :
3.1.2.5. :
3.1.2.6. :
3.2. ASP.NET VÀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
3.2.1. Tổng quan về ASP.NET
3.2.2. Các kiểu lập trình trong ASP.NET:
Trong lập trình có hai kiểu lập trình chúng ta thường sử dụng đó là:
lập trình hướng thủ tục và lập trình hướng đối tượng.
o Lập trình hướng thủ tục: là cách lập trình để giải quyết vấn đề
nào đó theo yêu cầu đưa ra và nó đi theo hướng giải quyết từng bước một
đến khi đạt được kết quả. Kiểu lập trình hướng thủ tục còn được gọi là kiểu
lập trình từ trên xuống hoặc lập trình theo hàm (function). Khi sử dụng kiểu
lập trình này chúng ta không xây dựng sẵn các hàm xử lý mà chỉ tạo ra hàm
khi gặp một vấn đề nào đó.
o Lập trình hướng đối tượng: là kiểu lập trình dựa trên một nền
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 7
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
tảng các lớp đã được xây dựng sẵn. Nghĩa là chúng ta phải xác định trước
những gì sẽ phải làm, những trường hợp sẽ xảy ra để xây dựng lớp có những
chức năng cần thiết cho quá trình xây dựng ứng dụng.
3.2.3. Một số khái niệm trong lập trình hướng đối tượng:
Lớp (Class): một lớp có thể được hiểu là khuôn mẫu để tạo ra các
đối tượng. Trong một lớp, người ta thường dùng các biến để mô tả các thuộc
tính và các hàm để mô tả các phương thức của đối tượng. Khi đã định nghĩa
được lớp, ta có thể tạo ra các đối tượng từ lớp này. Để việc sử dụng được dễ
dàng, thông qua hệ thống hàm tạo (constructor), người ta dùng lớp như một
kiểu dữ liệu để tạo ra các đối tượng.
o Ví dụ: Tạo class ConMeo
Để tạo class cho đối tượng ConMeo chúng ta cần xác định 2 phần:
Thuộc tính: Tên, tuổi, màu lông,…
Hành động (phương thức): chạy, kêu, cắn, cào,…
Đối tượng (Object):
o Thể hiện một lớp thành một thực thể nào đó.
o Có thể tạo nhiều đối tượng từ một lớp.
Ví dụ:
Ví dụ:
Nhà tôi có một con mèo.
Nhà bạn tôi có nuôi một con mèo.
o Các đối tượng khác nhau sẽ có đặc tính khác nhau.
Ví dụ:
Con mèo của tôi có tên là Mimi có lông màu trắng.
Con mèo của bạn tôi có tên là Doremon có lông màu vàng.
Tuy 2 con mèo trên có những đặc điểm khác nhau nhưng nó cùng là
lớp con mèo.
Thuộc tính (Attribute) và phương thức (Method):
o Thuộc tính
Là các đặc tính, đặc điểm của một lớp. Thuộc tính bao
gồm:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 8
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
• Các biến: lưu trữ các giá trị.
• Biểu thức get và set: cho phép lấy và gán giá trị.
o Phương thức
Là các hành động có thể được thực hiện từ lớp.
Phương thức cũng giống như hàm nhưng là hàm riêng
của lớp.
Phương thức có thể nhận vào các tham số và trả về các
giá trị.
Tính kế thừa: là một ưu điểm của OOP nó giúp chúng ta mở rộng
và phát triển chương trình mà không làm ảnh hưởng đến những thành phần
đã có sẵn.
3.2.4. Biểu thức chính qui (Regular Expression):
Biểu thức chính qui (Regular Expression) bắt nguồn từ ngôn ngữ Perl
và hiện nay hầu như có trong tất cả ngôn ngữ lập trình. Là một phần rất quan
trọng trong quá trình xử lý chuỗi và hỗ trợ các lập trình viên giảm bớt các
dòng mã trong quá trình xử lý chuỗi bằng những biểu thức ngắn gọn nhưng
đem lại kết quả như sự mong đợi. Nhưng để sử dụng tốt biểu thức chính qui
(Regular Expression) thì không phải dễ dàng nếu chúng ta không đi đúng
hướng và hiểu hết các kí hiệu của nó. Biểu thức chính qui (Regular
Expression) thường sử dụng trong những trường hợp sau:
o Kiểm tra giá trị các phần tử trong Form.
o Xử lý yêu cầu phức tạp trong chuỗi như bóc tách, thay đổi
nội dung, loại bỏ các ký tự không cần thiết.
3.2.4.1. Một số hàm hỗ trợ biểu thức chính qui:
Tham chiếu
o Trong lập trình có hai loại biến chúng ta thường sử dụng
truyền giá trị vào hàm đó là biến tham trị và biến tham chiếu.
Biến tham trị: khi truyền giá trị vào hàm, mọi sự thay
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 9
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
đổi của biến tham trị trong thân hàm không ảnh hưởng đến biến ban đầu.
Biến tham chiếu: khi truyền giá trị vào hàm, thì giá
trị của biến tham chiếu sẽ thay đổi bởi nội dung xử lý trong thân hàm được
gọi.
o Ví dụ:
3.2.4.2. Các ký hiệu biểu thức chính qui
Ký tự Ý nghĩa
^ Đại diện cho ký tự đầu tiên của chuỗi
$ Đại diện cho ký tự cuối cùng của chuỗi
\ Hiển thị các ký tự đặc biệt như: $, *, ., \
. Đại diện cho ký tự bất kỳ, kể cả dấu cách “ ”
[] Kí hiệu tập hợp
[^] Dấu mũ đứng trước 1 tập hợp, mang ý nghĩa phủ định tập
hợp đó
() Đại diện cho tập hợp các mẫu con
* Dấu * đại diện cho số lần xuất hiện của ký tự đứng trước nó
từ 0 – n lần
+ Tương tự như dấu *, ký tự đứng trước dấu + có thể xuất hiện
từ 1 – n lần
? Ký tự đứng trước dấu ? có thể xuất hiện từ 0 – 1 lần
{} Đại diện cho số lần lặp lại ký tự đứng trước
\w Đại diện cho các chữ cái, chữ số và dấu _
\W Phủ định của \w
\s Lấy tập hợp các khoảng trắng
\S Phủ định của \s, lấy tất cả các ký tự, trừ khoảng trắng
\d Đại diện cho các chữ số
\A Tương đương với dấu ^
\Z Tương đương với dấu $
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 10
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
3.2.5. Mảng (Array)
Mảng là gì? Như chúng ta đã biết, biến là một nơi để lưu trữ số hoặc
chữ. Vấn đề là, biến chỉ có thể lưu trữ một giá trị duy nhất. Còn mảng là một
biến đặc biệt, nó có thể lưu trữ nhiều giá trị trong một biến duy nhất.
Ví dụ: chúng ta chỉ có thể lưu trữ một tên của nhân viên trong một
biến. Nhưng đối với mảng chúng ta có thể lưu trữ hàng ngàn tên nhân viên
khác nhau:
Mảng có thể lưu trữ tất cả các giá trị biến của bạn dưới một tên
duy nhất. Và bạn có thể truy cập giá trị bằng cách tham chiếu đến tên mảng.
Mỗi phần từ mảng có chỉ số riêng (index) để chúng ta có thể truy cập chúng
một cách dễ dàng.
1. Mảng số nguyên
Mảng số nguyên là mảng có chỉ số (index or key) là ở dạng số. Chúng
ta thường gọi là mảng liên tục. Có 2 cách để tạo ra một mảng số nguyên:
Ví dụ 1:
Ví dụ 2:
2.
3. Mảng đa chiều
Mảng đa chiều là mảng mà mỗi phần tử trong mảng chính có thể là
một mảng và mỗi phần tử trong mảng con cũng có thể là một mảng con
khác. Chúng ta thường gọi mảng đa chiều là mảng lồng.
Ví dụ:
3.2.6. Một số phương thức thường sử dụng trong ASP.
- Phương thức SESSION: được hiểu là khoảng thời gian người sử
dụng giao tiếp với 1 ứng dụng. Một session được bắt đầu khi người sử dụng
truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi
ứng dụng.
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 11
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
- Phương thức COOKEI: là 1 đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ
nhớ của máy người sử dụng. Nó được trình duyệt gởi ngược lên lại server
mỗi khi browser tải 1 trang web từ server. Những thông tin được lưu trữ
trong cookie hoàn toàn phụ thuộc vào website trên server. Mỗi website có
thể lưu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối
ta ghé thăm website, đánh dấu ta đã login hay chưa, v.v
3.3. Hệ quản trị MS SQL SERVER:
3.3.1. Tổng quan về MS SQL SERVER:
* Các loại lệnh: MS Sql Server gồm những lệnh giúp người sử dụng
thực hiện những chức năng khác nhau. Các chức năng này được nhóm thành
các loại sau:
- Các lệnh mô tả dữ liệu.
- Các lệnh thao tác dữ liệu.
- Lệnh hỏi dữ liệu.
- Các lệnh điều khiển thao tác.
- Các lệnh quản trị cơ sở dữ liệu: Gồm các lệnh:
+ Tạo và duy trì CSDL.
+ Tạo và duy trì các phần.
+ Chuyển việc sử dụng tới các CSDL và các bảng.
* Các thành tố:
- Tên trường.
- Kiểu dữ liệu (Data Type).
- Hằng số (Constant).
- Các từ khóa (Keyword).
- Các lệnh (Expression).
- Các điều kiện tìm kiếm (Search Conditions).
- Các mệnh đề xác định phạm vi.
* Các hàm trong MS Sql Server: phân loại các hàm thành các lớp:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 12
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
- Các hàm tập hợp.
- Các hàm chuỗi.
- Các hàm ngày giờ.
- Các hàm Logic.
- Các hàm đặc biệt.
* Liên kết:
- Liên kết ngang bằng.
- Liên kết không ngang bằng.
- Liên kết ngoài.
- Liên kết với chính nó.
3.3.2. :
3.4. Các công cụ hỗ trợ ứng dụng và phát triển Website:
- HTML: Nắm bắt được các thẻ xử lý giao diện, cấu trúc, thuộc tính
cấu hình nên khung trang web. Quan trọng nhất vẫn là các thẻ <table>,
<div>, <ul> … <li>,…
- CSS: Thiết kế giao diện cho Website.
- JAVASCRIPT – JQUERY - AJAX: Thiết kế các sự kiện, hiệu ứng
và quan trọng hơn là ta sẽ dung mã ajax để gửi dữ liệu …
CHƯƠNG IV: CÀI ĐẶT CHƯƠNG TRÌNH.
4.1. Chức năng hệ thống:
4.1.1. Đăng nhập:
- Người dùng sẽ được cấp 1 tài khoản để đăng nhập vào hệ thống, khi
đăng nhập thành công, hệ thống sẽ thực hiện kiểm tra để phân quyền và ra
những giao diện tương tác tương ứng.
4.1.2. Đăng xuất:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 13
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
- Khi tài khoản muốn thoát khỏi hệ thống sẽ thực hiện thoát khỏi hệ
thống thông qua chức năng đăng xuất.
4.2. Chức năng người dùng:
4.3. Chức năng quản trị:
4.3.1. Form quản lý quyền:
4.3.2. Form cập nhật quyền:
4.3.3. Form tạo mới quyền:
4.3.4. Form xóa quyền:
4.3.5. Form quản lý tài khoản:
4.3.6. Form :
4.3.7. Form :
4.4. Chức năng sinh viên:
4.4.1. Form :
4.4.2. Form:
4.5. Chức năng giảng viên:
- Người dùng là giảng viên đăng nhập vào hệ thống sẽ có thể xem các
thông báo, gửi phản hồi, quản lý thông báo đến, upload tài liệu, chia sẻ ảnh,
cập nhật tài khoản
4.5.1. Form :
4.5.2. Form :
4.5.3. Form :
4.5.4. Form:
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 14
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
KẾT LUẬN
Trong thời gian làm đồ án tốt nghiệp, với sự cố gắng của bản thân, sự
hướng dẫn tận tình của thầy giáo Ts. Nguyễn Cảnh Toàn cùng các thầy, các
chuyên viên của trung tâm quản trị mạng trường Đại học Hàng hải Việt Nam
đã giúp em hoàn thành đồ án tốt nghiệp này, từng bước xây dựng được hệ
thống đáp ứng các yêu cầu hệ thống mà trường Đại học Hàng hải đặt ra.
Cuối cùng, em xin chân thành cảm ơn sự hướng dẫn, giúp đỡ của thầy
giáo Ts. Nguyễn Cảnh Toàn và các thầy, các chuyên viên của trung tâm
quản trị mạng trường Đại học Hàng hải Việt Nam. Em cũng chân thành cảm
ơn các thầy cô giáo trong khoa Công nghệ thông tin, trường Đại học Hàng
Hải Việt Nam đã tận tình giảng dạy em trong suốt quá trình học ở trường,
xin cảm ơn các bạn sinh viên đã nhiệt tình ủng hộ, giúp đỡ em trong thời
gian học tập.
Hải Phòng, tháng năm 2012
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 15
Báo cáo thực tập tốt nghiệp Giáo viên hướng dẫn T.s: Nguyễn Cảnh Toàn
Sinh viên
Vũ Đình Trung
Sinh viên: Vũ Đình Trung – Lớp CNT49ĐH1 Trang 16