Phân tích hệ thống website tự học

Một phần của tài liệu thiết kế website hỗ trợ tự học môn hóa lớp 1o ban nâng cao ở trường trung học phổ thông (Trang 66)

8. Những đóng góp mới của đề tài

2.5. Phân tích hệ thống website tự học

Từ mô tả các chức năng của website, chúng tôi xác định có 3 tác nhân:

- Khách tham quan thông thường, họ là những người duyệt web mà không đăng ký thành viên.

- Thành viên của website. - Ban quản trị website.

2.5.2. Tác vụ trên hệ thống

2.5.2.1. Tác vụ chung cho cả 3 tác nhân

- Xem tin tức về Hóa học (1).

- Gởi các ý kiến đánh giá cho một tin tức nào đó (2).

- Xem danh sách thành viên và chi tiết 1 thành viên nào đó của website (3). - Tham khảo tư liệu (4).

- Gởi các ý kiến đánh giá cho một tư liệu nào đó (5). - Download tư liệu về máy cá nhân (6).

- Gởi tin nhắn cho ban quản trị (7). - Đăng ký thành viên (8).

Về tác vụ (1) thì chúng tôi không cần trình bày thêm.

Tác vụ (2) là tác vụ mở rộng của tác vụ (1), điều đó có nghĩa là người dùng có thể xem tin tức, nhưng không nhất thiết phải gởi ý kiến đánh giá.

Tác vụ (3) là tác vụ thêm vào nhằm làm phong phú thêm cho website, chứ không có trong mô tả chức năng của website. Ở đây, thông tin thành viên là một số thông tin cá nhân cùng thông tin về các lần làm bài có kết quả không dưới 10/20 của thành viên đó.

Tác vụ (4) thì chúng tôi cũng không cần trình bày thêm.

Tác vụ (5) và tác vụ (6) là các tác vụ mở rộng của tác vụ (4). Tác vụ (5) có thể thực hiện với các mục “Kiến thức Hóa học”, “Lịch sử Hóa học”, “Học mà vui, vui mà học” và “Các nhà Hóa học”. Tác vụ (6) có thể thực hiện với các mục “Mô hình flash”, “Video thí nghiệm” và “Sách và bài tập tham khảo”.

Đưa tác vụ (7) vào nhóm các tác vụ chung cho cả 3 tác nhân có vẻ nhập nhằng, nhưng thật ra là hợp logic. Tác vụ này không đòi hỏi phải là thành viên của website mới có thể thực hiện được. Vì vậy, khách tham quan thông thường hay quản trị viên đều có thể thực hiện tác vụ này.

Cũng như tác vụ (7), tác vụ (8) đưa vào nhóm các tác vụ chung cho cả 3 tác nhân là hợp logic. Khách tham quan thông thường có thể thực hiện tác vụ này là điều dễ hiểu. Vậy còn thành viên và ban quản trị thì sao? Một người dùng có thể có

nhiều tài khoản đăng nhập, tất nhiên các tài khoản này đều phải khác tên đăng nhập, vì thế thành viên cũng có thể thực hiện tác vụ này. Về phía quản trị viên thì cũng vậy, 1 quản trị viên có thể tham gia làm thành viên của hệ thống, đó cũng là cách làm thông thường của hầu hết các diễn đàn nhằm giúp tăng số lượng thành viên của diễn đàn.

2.5.2.2. Tác vụ riêng cho thành viên

- Đăng nhập vào hệ thống (9). - Tìm lại mật khẩu (10). - Xem thông tin cá nhân (11). - Làm bài tập trực tuyến (12). - Cập nhật thông tin cá nhân (13). - Tham gia diễn đàn thảo luận (14).

Tác vụ (9) là tác vụ bắt buộc phải thực hiện để có thể thực hiện các tác vụ (11), (12), (13) và (14).

Tác vụ (10) là tác vụ mở rộng của tác vụ (9), có nghĩa là trong quá trình đăng nhập vào hệ thống, nếu người dùng quên mật khẩu thì có thể thực hiện tác vụ này ngay trên form đăng nhập.

Các tác vụ (10), (11) và (13) đều là các tác vụ thêm vào chứ không có trong mô tả chức năng của website. Hai tác vụ (12) và (14), chúng tôi cũng không cần trình bày thêm.

2.5.2.3. Tác vụ riêng cho ban quản trị

- Đăng nhập vào hệ thống (9). - Tham gia diễn đàn thảo luận (14). - Quản lý chung (15).

- Cập nhật thông tin tài khoản của ban quản trị (16). - Xóa log đăng nhập của thành viên (17).

- Xóa tin nhắn cũ do người dùng gởi đến ban quản trị (18). - Khôi phục trạng thái đăng nhập cho thành viên (19).

- Quản lý thành viên (20). - Xóa thành viên (21). - Quản lý tin tức (22).

- Cập nhật, tạo mới 1 tin tức (23). - Quản lý tư liệu (24).

- Cập nhật, tạo mới một tư liệu (25). - Quản lý bài tập (26).

- Cập nhật, upload bài tập mới (27).

Cũng như thành viên, quản trị viên cũng phải thực hiện tác vụ (9) để có thể thực hiện các tác vụ khác.

Khi thực hiện tác vụ (14), các quản trị viên được biết đến với cái tên “admin” trên diễn đàn.

Các tác vụ (16), (17), (18) và (19) là các tác vụ mở rộng của tác vụ (15). Mỗi lần thành viên đăng nhập vào hệ thống đều có lưu lại log đăng nhập, và log này sẽ đầy lên sau một thời gian nào đó. Nhằm tối ưu vùng nhớ cho CSDL, tác vụ (17) thực hiện xóa các log đăng nhập trước thời điểm xóa 1 ngày. Cũng với mục đích tối ưu vùng nhớ cho CSDL, tác vụ (18) thực hiện xóa các tin nhắn cũ của người dùng trước thời điểm xóa 30 ngày. Tác vụ (19) là một tác vụ đặc biệt, tác vụ này giúp quản trị viên có thể khôi phục trạng thái đăng nhập cho thành viên nếu xảy ra 1 lỗi gì đó mà thành viên không thể đăng nhập vào hệ thống.

Tác vụ (21) là tác vụ mở rộng của tác vụ (20). Tác vụ (23) là tác vụ mở rộng của tác vụ (22). Tác vụ (25) là tác vụ mở rộng của tác vụ (24). Tác vụ (27) là tác vụ mở rộng của tác vụ (26).

Hình 2.1. Biểu đồ tương tác giữa tác nhân khách tham quan với các tác vụ của nó Xem tin tức (1)

Gởi ý kiến đánh giá (2) Xem thông tin thành viên (3)

Gởi ý kiến đánh giá (5)

Tham khảo tư liệu (4)

Download tư liệu (6)

Gởi tin nhắn cho ban quản trị (7)

Đăng kí thành viên (8) <<extend> <<extend> <<extend> Syste Khách tham quan

Hình 2.2. Biểu đồ tương tác giữa tác nhân thành viên với các tác vụ của nó Tham gia diễn đàn Thành viên Syste <<extend>> <<extend>> <<extend>> <<extend>> <<include> <<include> <<include>> <<include>

Xem tin tức (1) Gởi ý kiến đánh giá (2)

Gởi ý kiến đánh giá (5) Tham khảo tư liệu (4)

Download tư liệu (6) Gởi tin nhắn cho ban quản trị (7)

Đăng kí thành viên (8)

Xem thông tin cá nhân (11)

Làm bài tập trực tuyến (12)

Cập nhật thông tin cá nhân (13)

Đăng nhập vào website (9) Tìm lại mật khẩu (10) Xem thông tin thành viên (3)

Hình 2.3. Biểu đồ tương tác giữa tác nhân ban quản trị với các tác vụ của nó Ban quản <<extend> <<extend> <<extend> <<extend> <<extend> <<extend> <<extend> <<include> <<extend> <<extend> <<extend> <<include> <<include> <<include> <<include> <<include>

Đăng nhập vào website (9) Xem tin tức (1) Gởi ý kiến đánh giá (2) Xem thông tin thành viên (3) Gởi ý kiến đánh giá (5)

Tham khảo tư liệu (4) Download tư liệu (6) Gởi tin nhắn cho ban quản trị (7)

Đăng kí thành viên (8)

Quản lý chung (15)

Quản lý bài tập (26)

Khôi phục tình trạng khi đăng nhập (19) Cập nhật tài khoản ban quản trị (16)

Syste

Xóa log đăng nhập của thành viên (17)

Xóa thành viên (21) Xóa tin nhắn cũ (18)

Cập nhật, tạo mới tin tức (23) Cập nhật, tạo mới tư liệu (25) Cập nhật, upload bài tập mới (27) Quản lý tư liệu (24)

Quản lý tin tức (22) Quản lý thành viên (20) Tham gia diễn đàn (14)

2.6. Thiết kế hệ thống website tự học 2.6.1. Thiết kế cơ sở dữ liệu 2.6.1. Thiết kế cơ sở dữ liệu

Sau đây, chúng tôi sẽ trình bày chi tiết về các table bên trong CSDL.

- Table có tên Answer: dùng để lưu các câu trả lời cho một chủ đề nào đó trên diễn đàn.

Bảng 2.2. Table Answer

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id real no Dùng để phân biệt các câu

trả lời với nhau.

Ques int no Id của chủ đề mà câu trả

lời này thuộc về.

Mem int no Id của thành viên post câu

trả lời này.

Cont nvarchar(MAX) no Nội dung câu trả lời.

Date datetime no Thời điểm câu trả lời

được post.

- Table có tên City: dùng để lưu các địa phương (cấp tỉnh/thành) trên lãnh thổ Việt Nam.

Bảng 2.3. Table City

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các địa

phương với nhau.

City nvarchar(50) no Tên của địa phương.

- Table có tên Comment: dùng để lưu các ý kiến đánh giá cho một tin tức hay một tư liệu nào đó.

Bảng 2.4. Table Comment

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

kiến đánh giá với nhau.

Type nvarchar(50) no Dùng để phân biệt tin Hóa

học, tin giáo dục, tư liệu.

News int no Id của tin tức hay tư liệu

mà ý kiến này thuộc về.

Title nvarchar(MAX) no Tiêu đề của ý kiến.

Cont nvarchar(MAX) no Nội dung của ý kiến.

Name nvarchar(MAX) no Tên người post ý kiến.

Date datetime no Thời điểm ý kiến được

post.

- Table có tên Document: dùng để lưu thông tin tư liệu “Kiến thức Hóa học”, “Lịch sử Hóa học”, “Học mà vui, vui mà học” và “Các nhà Hóa học”.

Bảng 2.5. Table Document

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tư

liệu với nhau.

Avatar nvarchar(MAX) yes Địa chỉ lưu ảnh kèm theo

của tư liệu.

Title nvarchar(MAX) no Tiêu đề của tư liệu.

Cont nvarchar(MAX) no Nội dung của tư liệu.

Date datetime no Thời điểm tư liệu được

post.

Type int no

Dùng để phân biệt loại tự liệu: 1 – Kiến thức Hóa học, 2 – Lịch sử Hóa học, 3 – Học mà vui, vui mà học, 4 – Các nhà Hóa học.

- Table có tên Ebook: dùng để lưu thông tin tư liệu “Sách và bài tập tham khảo”.

Bảng 2.6. Table Ebook

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tư liệu

với nhau.

Title nvarchar(MAX) no Tiêu đề của tư liệu.

FName nvarchar(MAX) no Tên file tư liệu.

Date datetime no Thời điểm tư liệu được post.

Status int no

Tình trạng của tư liệu: 0 – không dùng nữa, 1 – bình thường.

- Table có tên Exercise: dùng để lưu thông tin các bài tập. Bảng 2.7. Table Exercise

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các

bài tập với nhau.

Part int no Chương mà bài tập đó

thuộc về (1 – 7).

Type int no Loại bài tập: 1 – biết, 2

– hiểu, 3 – vận dụng.

Require nvarchar(MAX) no Đề bài.

Ans1 nvarchar(MAX) no Đáp án 1.

Ans2 nvarchar(MAX) no Đáp án 2.

Ans3 nvarchar(MAX) no Đáp án 3.

Ans4 nvarchar(MAX) no Đáp án 4.

RightAns int no Số thứ tự của đáp án

BadWarning int no Trạng thái phản ánh về bài tập: 0 – bình thường, 1 – bài tập có vấn đề.

Date datetime no Thời điểm bài tập được

upload lên website.

Status int no Tình trạng của bài tập:

0 – đã hủy, 1 – đang dùng.

Reference nvarchar(MAX) yes Thông tin nguồn bài

tập.

Pics nvarchar(MAX) yes Địa chỉ ảnh kèm theo.

- Table có tên LogHistory: dùng để lưu các log đăng nhập vào website của thành viên, tránh trường hợp nhiều người dùng khác nhau dùng chung 1 tài khoản đăng nhập vào website vào cùng một thời điểm.

Bảng 2.8. Table LogHistory

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Mem int no Id của thành viên.

LogIn datetime no Thời điểm đăng nhập vào

website.

LogOut datetime yes Thời điểm đăng xuất khỏi

website.

Status int no

Tình trạng: 0 – chưa thoát khỏi website, 1 – đã thoát khỏi website.

- Table có tên Member: dùng để lưu thông tin các thành viên cũng như quản trị viên của website.

Bảng 2.9. Table Member

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt thành

viên, quản trị viên.

Name varchar(50) no Tên đăng nhập.

Pass varchar(50) no Mật khẩu đăng nhập.

Admin int no

Dùng để phân biệt thành viên và quản trị viên: 0 – thành viên, 1 – quản trị viên.

Class nvarchar(MAX) yes Thông tin lớp.

School nvarchar(MAX) yes Thông tin trường.

District nvarchar(MAX) yes Thông tin quận/huyện.

City int yes Id của địa phương.

Email varchar(MAX) yes Thông tin email.

Phone varchar(50) yes Thông tin số điện thoại.

Avatar nvarchar(MAX) yes Địa chỉ ảnh hiện thị của

thành viên, quản trị viên.

SecQues1 nvarchar(MAX) yes Câu hỏi bảo mật 1.

SecAns1 nvarchar(MAX) yes Câu trả lời bảo mật 1.

SecQues2 nvarchar(MAX) yes Câu hỏi bảo mật 1.

SecAns2 nvarchar(MAX) yes Câu trả lời bảo mật 2.

SumMark real yes Tổng điểm của thành viên.

DisQues int yes Số chủ đề thành viên đã

tạo trên diễn đàn.

DisAns int yes Số trả lời thành viên post

trên diễn đàn.

Date datetime yes Thời điểm trở thành thành

- Table có tên Message: dùng để lưu các tin nhắn do người dùng gởi đến cho ban quản trị.

Bảng 2.10. Table Message

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tin

nhắn với nhau.

Name nvarchar(MAX) no Tên người gởi.

Subject nvarchar(MAX) no Tiêu đề của tin nhắn.

Cont nvarchar(MAX) no Nội dung của tin nhắn.

Date datetime no Ngày tin nhắn được gởi

đến.

Status int no Trạng thái tin nhắn: 0 –

chưa xem, 1 – đã xem. - Table có tên Multimedia: dùng để lưu các tư liệu “Mô hình flash” và “Video thí nghiệm”.

Bảng 2.11. Table Multimedia

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tư

liệu với nhau.

Title nvarchar(MAX) no Tiêu đề của tư liệu.

FName nvarchar(MAX) no Tên file tư liệu.

Date datetime no Thời điểm tư liệu được

post.

Status int no

Tình trạng của tư liệu: 0 – không dùng nữa, 1 – bình thường.

Type varchar(10) no Dùng để phân biệt loại tư

- Table có tên là News: dùng để lưu các tin Hóa học (“Hóa học và đời sống”, “Hóa học và môi trường” và “Hóa học hiện đại”).

Bảng 2.12. Table News

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tin

với nhau.

Avatar nvarchar(MAX) yes Địa chỉ ảnh kèm theo của

tin.

Title nvarchar(MAX) no Tiêu đề của tin.

Cont nvarchar(MAX) no Nội dung của tin.

Date datetime no Thời điểm tin được post.

Type int no

Dùng để phân biệt loại tin: 1 – Hóa học và đời sống, 2 – Hóa học và môi trường, 3 – Hóa học hiện đại. - Table có tên PedagogyNews: dùng để lưu các tin giáo dục.

Bảng 2.13. Table PedagogyNews

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các tin

với nhau

Avatar nvarchar(MAX) yes Địa chỉ ảnh kèm theo của

tin

Title nvarchar(MAX) no Tiêu đề của tin

Cont nvarchar(MAX) no Nội dung của tin

Date datetime no Thời điểm tin được post

Bảng 2.14. Table Question

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id int no Dùng để phân biệt các chủ

đề với nhau

Mem int no Id của thành viên hay quản

trị viên post chủ đề

Title nvarchar(MAX) no Tiêu đề của chủ đề

Cont nvarchar(MAX) no Nội dung của chủ đề

Date datetime no Thời điểm chủ đề được

post

Type int no Dùng để phân biệt loại chủ

đề

- Table có tên Round: dùng để lưu thông tin mỗi lần tham gia làm bài của thành viên.

Bảng 2.15. Table Round

Tên cột Loại dữ liệu Cho phép rỗng Chú giải

Id real no Dùng để phân biệt các lần

làm bài với nhau.

Mem int no Id của thành viên thực hiện

bài làm.

Part int no Số thứ tự của chương mà

bài làm này thuộc về.

STT int no Số thứ tự vòng của bài làm

ứng với chương (Part).

Mark real no Điểm được tính cho lần

làm bài này.

Date datetime no Thời điểm kết quả bài làm

2.6.2. Thiết kế bố cục website

Website gồm có tất cả 26 trang, dưới đây là sơ đồ bố cục các trang và đường đi nối kết giữa các trang.

Hình 2.4. Sơ đồ bố cục các trang Trang diễn đàn chi tiết (2.3) Trang diễn đàn (2.3) Trang đăng nhập vào diễn đàn (2.3) Trang quản lý bài tập (3) Trang quản lý tư liệu (3) Trang quản lý tin tức (3) Trang quản lý thành viên (3) Trang quản lý chung (3) Trang chủ Trang tin tức chi tiết Trang tin tức Trang tin giáo dục Trang tư

liệu chi tiết Trang đăng kí thành viên

Trang mô hình flash Trang video thí nghiệm Trang sách và bài tập tham khảo Trang tìm lại mật khẩu (2) Trang danh sách thành viên Trang chi tiết thành viên Trang tư liệu Trang liên hệ Trang cập nhật thông tin cá nhân (2) Trang làm bài (2) Trang chọn chương bài tập (2) Trang cá nhân của

Trên sơ đồ, chúng tôi dùng (2) để biểu thị trang đó chỉ có thành viên tham gia. Tương tự, (3) biểu thị trang đó chỉ có quản trị viên tham gia, và (2,3) là trang mà cả thành viên và quản trị viên đều tham gia. Các trang không đánh số là các trang mà tất cả người dùng đều có thể tham gia.

- Trang chủ được xem như trung tâm của toàn bộ 26 trang. Trang chủ có các

Một phần của tài liệu thiết kế website hỗ trợ tự học môn hóa lớp 1o ban nâng cao ở trường trung học phổ thông (Trang 66)

Tải bản đầy đủ (PDF)

(158 trang)