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 đỉnh chức năng ng
Trang 1TRƯỜ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
Trang 2Mục lục
LỜI NÓI ĐẦU 5
CHƯƠNG I: TỔNG QUAN HỆ THỐNG 5
1.1 5
1.2 5
1.3 5
1.4 Yêu cầu của đề tài: 5
a Yêu cầu chung: 5
b Yêu cầu chức năng với từng mảng: 5
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 5
2.1 Sơ đồ phân rã chức năng: 5
Từ yêu cầu chức năng ở trên, ta có sơ đồ phân rã chức năng 5
2.1.1 Hệ thống: 5
2.1.2 Quản trị: 6
Hình 2.3 Sơ đồ phân rã chức năng quản trị 6
2.1.3 Sinh viên: 6
Hình 2.4 Sơ đồ phân rã chức năng sinh viên 6
2.1.4 Giảng viên: 6
Hình 2.5 Sơ đồ phân rã chức năng giảng viên 6
2.1.7 Người dùng: 6
Hình 2.8 Sơ đồ phân rã chức năng người dùng 6
2.2 Sơ đồ mức ngữ cảnh: 6
2.3 Chức năng hệ thống: 6
2.3.1 Sơ đồ dữ liệu mức đỉnh chức năng hệ thống: 6
Hình 2.10 Sơ đồ luồng dữ liệu mức đỉnh chức năng hệ thống 6
2.3.2 Sơ đồ dữ liệu mức dưới đỉnh chức năng hệ thống: 6
Hình 2.11 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng hệ thống 6
2.4 Chức năng quản trị: 6
2.4.1 Sơ đồ luồng dữ liệu mức đỉnh chức năng quản trị: 6
Trang 3Hình 2.12 Sơ đồ luồng dữ liệu mức đỉnh chức năng quản trị 6
2.4.2 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản trị: 7
2.4.2.1 Chức năng : 7
Hình 2.13 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 7
2.4.2.2 Chức năng: 7
Hình 2.14 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 7
2.5 Chức năng người dùng là sinh viên: 7
2.5.1 Sơ đồ luồng dữ liệu mức đỉnh chức năng người dùng là sinh viên: 7
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 7
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: 7
2.5.2.1 Chức năng : 7
Hình 2.16 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 7
2.5.2.2 Chức năng : 7
Hình 2.17 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 7
2.6 Chức năng người dùng là giảng viên: 7
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: 7
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 7
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: 8
2.6.2.1 Chức năng: 8
Hình 2.21 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 8
2.6.2.2 Chức năng: 8
Hình 2.22 Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng 8
2.9.2.1 Chức năng: 8
Trang 42.9.2.2 Chức năng: 8
2.9.2.3 Chức năng: 8
2.10 Sơ đồ thực thể - quan hệ: 8
2.10.1 Xác định các thực thể: 8
Chi tiết các thực thể: 8
2.10.2 Quan hệ giữa các thực thể: 8
2.11.2 Các bảng cơ sở dữ liệu: 9
CHƯƠNG III: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ 10
3.1 : 10
3.1.1 Frame work: 10
3.1.1.1 Lịch sử phát triển: 10
3.1.1.2 : 10
3.1.2 : 10
3.1.2.3 : 10
3.2.1 Tổng quan về ASP.NET 10
3.2.2 Các kiểu lập trình trong ASP.NET: 10
3.2.3 Một số khái niệm trong lập trình hướng đối tượng: 11
3.2.4 Biểu thức chính qui (Regular Expression): 12
3.2.4.1 Một số hàm hỗ trợ biểu thức chính qui: 13
3.2.4.2 Các ký hiệu biểu thức chính qui 13
3.2.5 Mảng (Array) 14
1 Mảng số nguyên 14
2 15
3 Mảng đa chiều 15
3.2.6 Một số phương thức thường sử dụng trong ASP 15
3.3 Hệ quản trị MS SQL SERVER: 15
3.3.1 Tổng quan về MS SQL SERVER: 15
3.3.2 : 16
3.4 Các công cụ hỗ trợ ứng dụng và phát triển Website: 16
Trang 5CHƯƠNG IV: CÀI ĐẶT CHƯƠNG TRÌNH 17
4.1 Chức năng hệ thống: 17
4.1.1 Đăng nhập: 17
- 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 17
4.1.2 Đăng xuất: 17
- 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 17
4.2 Chức năng người dùng: 17
4.3 Chức năng quản trị: 17
4.3.1 Form quản lý quyền: 17
4.3.2 Form cập nhật quyền: 17
4.3.3 Form tạo mới quyền: 17
4.3.4 Form xóa quyền: 17
4.3.5 Form quản lý tài khoản: 17
4.3.6 Form : 17
4.3.7 Form : 17
4.4 Chức năng sinh viên: 17
4.4.1 Form : 17
4.4.2 Form: 17
4.5 Chức năng giảng viên: 17
- 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 18
4.5.1 Form : 18
4.5.2 Form : 18
4.5.3 Form : 18
4.5.4 Form: 18
Trang 6KẾT LUẬN 18
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
Trang 72.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
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ị:
Trang 8Hì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:
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
Trang 92.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ể:
Trang 102.11.2 Các bảng cơ sở dữ liệu:
STT Tên trường Kiểu trường Độ rộng Null
2
3
4
5
6
7
Trang 11CHƯƠ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
Trang 12tả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
Trang 13 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:
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
Trang 143.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
đổ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
Trang 15\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 $
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
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.
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
Trang 16Ví 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
- 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)
Trang 17- 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:
- 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: