Xây dựng chương trình học anh văn trực tuyến

Lời nói đầu Trong giai đoạn hiện nay, giáo dục đang là quốc sách hàng đầu của đất nước. Nhiệm vụ của giáo dục là đào tạo nhân lực, bồi dưỡng nhân tài cho xã hội. Trong quá trình đào tạo, đo lường và đánh giá là công đoạn quan trọng nhất, vì nó cho biết thành quả của quá trình đào tạo. Trải qua nhiều năm, phương thức quản lý đào tạo, dạy và học theo kiểu truyền thống đã cho thấy sự đóng góp không thể chối cãi trong công cuộc giáo dục và đào tạo. Tuy nhiên, cùng với sự phát triển và bùng nổ của công nghệ thông tin thì chính những phương thức đó cũng đã bộc lộ một số yếu kém ảnh hưởng đến việc truyền đạt và tiếp thu nội dung kiến thức, trong đó có thể kể đến việc quản lý hồ sơ không đạt hiệu quả cao, nội dung các giáo trình, sách giáo khoa thường khó có thể cập nhật kịp thời, hình thức bài giảng không tạo được sự hứng thú học tập cho học sinh, sinh viên; việc tra cứu tại chỗ các tài liệu tham khảo rất hạn chế và mất thời gian Điều đó mang lại hiệu quả học tập không cao mà chi phí cho đào tạo và học tập lại lớn, dẫn đến sự lãng phí không nhỏ cả về thời gian và tiền bạc Nhận thức được những vấn đề trên, công tác giáo dục đã có nhiều thay đổi, cải tiến với những hình thức học tập mới, khắc phục những hình thức truyền thống. Việc học tập và đào tạo trực tuyến, với sự trợ giúp của các công nghệ mới nhất trong lĩnh vực công nghệ thông tin, là hình thức học tập hứa hẹn sẽ khắc phục tốt những nhược điểm của phương pháp học tập truyền thống. Hình thức học tập này hiện đã rất phổ biến ở nhiều nước trên thế giới. Đề tài “ Xây dựng chương trình học Anh văn trực tuyến” đúng như tên gọi của nó, sẽ tạo ra một hệ thống cho phép người bên trong hệ thống (quản trị viên và giáo viên) soạn thảo những bài giảng, câu hỏi, và thể hiện chúng qua giao diện web, đồng thời cho phép các người dùng bên ngoài hệ thống (cần phải đăng ký một tài khoản thành viên) sử dụng website vào mục đích học tập và kiểm tra trình độ tiếng Anh trực tuyến. Chúng tôi đã sử dụng bộ soạn thảo FreeTextBox để làm công cụ hỗ trợ cho việc soạn thảo dữ liệu cho hệ thống. (FreeTextBox là một công cụ xử lý văn bản khá mạnh trên nền web, đặc biệt nó có 2 phần Design và HTML nên rất linh hoạt cho cả người dùng chuyên nghiệp và không chuyên. Tính năng chính của FreeTextBox bao gồm: Thay đổi phông, kích thước và kiểu chữ; chèn liên kết, chèn hình ảnh; đánh số và đề mục; sắp đoạn văn bản; Hoàn tác/Phục tác, ).

pdf79 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3359 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Xây dựng chương trình học anh văn trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
h khoá. Thì nay, chỉ cần một đường truyền Internet và một số thao tác đơn giản, với một ít vốn từ Tiếng Anh, chúng ta vẫn có thể tự luyện khả năng học Anh văn của mình qua trang web www.englishworld.com (hiện đang trong giai đoạn thử nghiệm). Nghiên cứu về cách thức học, làm bài và cách thức chấm điểm, từ đó xây dựng website thử nghiệm chính là mục tiêu của đề tài. Để thực hiện mục tiêu đó, chúng tôi đã sưu tập và hệ thống lại những vấn đề liên quan đến đề tài, tham khảo rất nhiều các trang web học Anh văn trực tuyến khác như www.globaledu.com.vn hay www.tienganh.com.vn. Website này cung cấp cho chúng ta những bài học bổ ích và thiết thực phù hợp với khả năng của mỗi người. Đủ để chúng ta có thể tự đánh giá khả năng học tiếng Anh của mình và nhanh chóng nâng cao kiến thức cho bản thân. Có nhiều dạng kiến thức cho chúng ta lựa chọn. Đặc biệt chúng ta có thể làm các bài tập trực tuyến mà không cần tải về máy. Website sẽ cho chúng ta biết kết quả ngay khi chúng ta kết thúc làm bài. Mỗi bài học đều được tổ chức sao cho học viên có thể tăng cường mọi kỹ năng cần thiết khi học Anh văn (nghe – nói – đọc – viết), thậm chí chúng ta còn có thể phát triển kỹ năng vi tính của mình khi học Anh văn nữa đấy. Mặc dù vậy, trong quá trình nghiên cứu, chúng tôi cũng gặp không ít khó khăn về nguồn tài liệu và thời gian, vì vậy chúng tôi chỉ tập trung vào những vấn đề cơ bản của việc học Anh văn. Chúng tôi đưa ra sáu dạng câu hỏi cơ bản để làm bài: Trắc nghiệm một lựa chọn; Trắc nghiệm nhiều lựa chọn; Chia động từ; Câu điền khuyết; Trắc nghiệm Đúng / Sai. 5 dạng câu hỏi sẽ tương ứng với 4 loại điều kiểm (control): textbox, checkbox, dropdownlist, radiobutton. Do đó chúng tôi xây dựng lên 5 biểu mẫu (form) nhập câu hỏi, 5 form hiển thị câu hỏi, và cách chấm điểm cho từng loại. I.2. Nhiệm vụ của đồ án I.2.1 Mục đích 6 - Tìm hiểu kỹ thuật lập trình ASP.NET với cơ sở dữ liệu và triển khai ứng dụng web. - Xây dựng website học Anh văn trực tuyến. I.2.1 Yêu cầu Giới thiệu về trang web học Anh văn trực tuyến. Website phải cung cấp đầy đủ các chức năng tìm kiếm hỗ trợ việc học bài. ™ Giao diện: ƒ Hệ thống hoạt động trên giao diện web application ƒ Màu nền của website là xanh lá, xanh dương. ƒ Tập tin flash: Trên trang chủ của website có 1 đoạn flash. ƒ Giao diện thân thiện dễ sử dụng. Các thao tác trên web tự nhiên và gần gũi với người dùng. ™ Phạm vi: ƒ Về mặt dữ liệu: o Hệ thống đáp ứng việc dữ liệu được cập nhật hàng ngày o Đáp ứng lưu trữ với khối lượng dữ liệu lớn. 7 o Cho phép chứa nhiều hình ảnh có kích thước và dung lượng mức trung bình. ƒ Về mặt xử lý: o Hỗ trợ tìm kiếm thông tin (dành cho admin, giáo viên). o Không hỗ trợ forum. ™ Về mạng: Hệ thống hỗ trợ họat động trên Internet (học qua mạng). ™ Phần cứng, phần mềm: Trong thực tế, hệ thống sẽ cần họat động trên một máy dịch vụ (server) mạnh đa lõi Xeon 4.5GHz, hàng chục GB RAM, ổ cứng hàng ngàn GB, với hệ điều hành Windows Server 2003, lõi là ASP.NET 2.0. Tuy nhiên, vì hiện đang thử nghiệm nên hệ thống chỉ chạy trên máy cục bộ 2 nhân Pentium Dualcore 1.8GHz, 1GB RAM, ổ đĩa cứng 160GB (localhost) với hệ điều hành Windows XP SP2, và lõi cũng là ASP.NET 2.0, có thể kèm theo Internet Information Service 5.0 (IIS 5.0). 8 I.2.3 Nghiên cứu hiện trạng I.2.3.1. Phân tích hiện trạng Hiện nay, quy trình từ lúc soạn thảo cho đến lúc làm bài thi thử và chấm điểm được tổ chức như sau: • Các giáo viên được chỉ định thực hiện việc soạn các bài giảng và câu hỏi. • Các giáo viên gửi bài về hệ thống, hệ thống tập hợp lại các câu hỏi. • Hệ thống sẽ lọc và xáo trộn các câu hỏi để thành lập các bài học. • Hệ thống thiết kế ra các bảng trả lời, bảng đáp án phục vụ cho việc chấm điểm. • Sau khi thời gian làm bài kết thúc, bài làm của học viên sẽ được gửi lên hệ thống để chấm điểm. Và học viên sẽ biết được kết quả của mình ngay trên trang đó. Hầu hết các giai đoạn của quy trình trên đều thực hiện bằng tay, nhất là việc chọn câu hỏi, xáo trộn và đánh giá. Chính vì thế công việc hết sức khó khăn và phức tạp. I.2.3.2. Sơ đồ tổ chức của website English World. 9 Hình 1.1. Sơ đồ tổ chức website I.2.3.3. Các mô tả về người sử dụng và quyền hạn ƒ Admin: - Chức năng: Người quản trị hệ thống. - Quyền hạn: Toàn quyền xử lý tất cả các chức năng và cơ sở dữ liệu. ƒ Teacher: - Chức năng: Có các chức năng gần giống admin, nhưng có quyền thấp hơn. Chỉ có thể thêm, xóa, sửa bài học. - Quyền hạn: Thay đổi, chỉnh sửa phần bài học trong giới hạn của mình. ƒ Learner: - Chức năng: Học viên ghé thăm website, nhưng chưa có ý định trở thành thành viên của website. Sử dụng các chức năng bên ngoài của hệ thống. - Quyền hạn: Xem bài học và kiểm tra kiến thức ngay trên website. I.2.4. Môi trường phát triển • Môi trường: ASP.NET 2.0. • Ngôn ngữ: C#.Net, Javascript, HTML. 10 • Công cụ phân tích: Rational Rose 2003, ERWin ERX 3.5.2. • Hệ quản trị cơ sở dữ liệu: MS SQLServer 2005. • Sử dụng môi trường .Net Framework để thực thi. • Công cụ đồ họa: + Adobe Photoshop CS8. + Adobe ImageReady CS8. + Macromedia Dreamweaver 8. + Adobe Flash Pro CS3. I.2.5. Kiến trúc ứng dụng Hình 1.2. Mô hình kiến trúc ứng dụng • Mô hình hệ thống được chia làm 3 lớp: Lớp cơ sở dữ liệu (CSDL), lớp giao diện, và lớp xử lý. 11 • Lớp cơ sở dữ liệu sẽ làm nhiệm vụ lấy dữ liệu và xử lý theo yêu cầu của lớp giao diện và lớp xử lý. • Theo mô hình thiết kế, lớp giao diện không được phép truy cập trực tiếp vào CSDL, nhưng trong một số trường hợp đặc biệt, như tạo GridView, DataSet trên Web, lớp giao diện sẽ không thông qua lớp kết nối dữ liệu, mà gửi yêu cầu trực tiếp đến CSDL. I.3. Cấu trúc của đồ án: Chương 1: Tổng quan: Đặt vấn đề, mục tiêu của đồ án, cấu trúc đồ án. Chương 2: Cơ sở lý thuyết thực hiện đồ án: Các phương pháp, lý thuyết và công nghệ sử dụng để thực hiện nhiệm vụ đề ra. Chương 3: Phân tích và thiết kế hệ thống. Chương 4: Hiện thực chương trình. Chương 5: Tổng kết và hướng phát triển. 12 CHƯƠNG II: CƠ SỞ LÝ THUYẾT II.1. Tổng quan về hình thức soạn bài Nội dung trong mỗi bài học bao gồm cả 2 phần: tự luận và trắc nghiệm. Tự luận và trắc nghiệm khách quan đều là những phương tiện để kiểm tra kiến thức, đồng thời đều là trắc nghiệm (tests). Các bài kiểm tra thuộc loại tự luận mà xưa nay vốn quen thuộc với chúng ta cũng là một dạng của trắc nghiệm nhằm khảo sát khả năng học tập của học sinh qua các môn học. Các chuyên gia đo lường gọi chung các hình thức kiểm tra này là “trắc nghiệm loại tự luận”. Chúng ta gọi tắt “luận đề” là trắc nghiệm tự luận và trắc nghiệm là “trắc nghiệm khách quan”. II.2. Các hình thức soạn bài II.2.1. Câu trắc nghiệm Đúng – Sai (True – False question) ™ Cấu trúc: gồm một câu phát biểu và phần học viên trả lời bằng cách chọn: Đúng (Đ) hay Sai (S). ™ Ưu điểm: ƒ Dễ xây dựng. ƒ Có thể đặt được nhiều câu hỏi trong một bài trắc nghiệm với thời gian cho trước; điều này làm tăng tính tin cậy của bài trắc nghiệm nếu như các câu trắc nghiệm đúng - sai được soạn thảo theo đúng quy cách. 13 ƒ Trong khoảng thời gian ngắn có thể soạn được nhiều câu trắc nghiệm vì người soạn không cần phải tìm ra câu trả lời cho học viên lựa chọn. ™ Những yêu cầu khi soạn câu đúng – sai: ƒ Mỗi câu trắc nghiệm chỉ nên diễn tả một ý tưởng độc nhất, tránh những câu phức tạp, nhiều chi tiết. ƒ Lựa chọn những câu phát biểu sao cho một người có khả năng trung bình không thể nhận ra ngay là đúng hay sai mà không cần suy nghĩ. ƒ Những câu phát biểu mà tính chất đúng, sai phải chắc chắn, có cơ sở khoa học. ƒ Tránh dùng những câu phát biểu trích nguyên văn từ sách giáo khoa, như vậy sẽ khuyến khích học viên học thuộc máy móc. 14 Bảng 2.1. Form soạn câu trắc nghiệm Đúng - Sai Ví dụ: 1. …………………………………….(True/ False) 2. …………………………………….(True/ False) 3. …………………………………….(True/ False) 4. …………………………………….(True/ False) Sug_ID Sug_Content Sug_Position Sug_Answer Ques_ID 1 True Null True 5 2 True Null True 5 3 False Null True 5 4 True Null True 5 II.2.2. Câu trắc nghiệm 1 lựa chọn (Single Choice question) ™ Cấu trúc: Gồm 2 phần: phần gốc và phần lựa chọn. ƒ Phần gốc: là một câu hỏi hay câu bỏ lửng. Trong phần này, người soạn câu hỏi đặt ra một vấn đề hay đưa ra một ý tưởng rõ ràng giúp người trả lời hiểu rõ câu trắc nghiệm ấy muốn hỏi điều gì để lựa chọn câu trả lời thích hợp. 15 ƒ Phần lựa chọn: Có nhiều (3, 4, 5,…) gợi ý trả lời nhưng chỉ cho phép học viên chọn một câu trả lời được xem là đúng nhất, được gọi là “đáp án” (key). Những câu còn lại đều phải là sai. ™ Ưu điểm: ƒ Độ may rủi thấp: nếu câu trắc nghiệm có N lựa chọn thì độ may rủi là 1/N. ƒ Có thể khảo sát được số đông học sinh, chấm nhanh, kết quả chính xác. ƒ Nếu soạn đúng quy cách, kết quả có tính tin cậy và giá trị cao. ™ Nhược điểm: ƒ Tuy độ may rủi thấp nhưng người trả lời vẫn có thể đoán mò. ƒ Để có được một bài trắc nghiệm có tính tin cậy và tính giá trị cao, đòi hỏi người soạn phải đầu tư nhiều thời gian và phải tuân thủ đầy đủ các bước soạn thảo trắc nghiệm. ™ Yêu cầu: ƒ Số lựa chọn nên từ 4 trở lên đễ xác xuất may mắn chọn đúng là thấp nhất ƒ Khi soạn phần gốc phải trình bày ngắn gọn, rõ ràng, chỉ hỏi một vấn đề và soạn đáp án đúng trước, vị trí đáp án đúng được đặt một cách ngẫu nhiên. ™ Form soạn câu hỏi: 16 Bảng 2.2. Form soạn câu trắc nghiệm 1 lựa chọn Câu hỏi: ......................................................................... Gợi ý: a, b, c, d Sug_ID Sug_Content Sug_Position Sug_Answer Ques_ID 1 a Null -1 1 2 b Null 0 1 3 c Null -1 1 4 d Null -1 1 II.2.3. Câu trắc nghiệm nhiều lựa chọn (Multi Choices question) ™ Cấu trúc: Gồm 2 phần: phần gốc và phần lựa chọn. ƒ Phần gốc: là một câu hỏi hay câu bỏ lửng. Trong phần này, người soạn câu hỏi đặt ra một vấn đề hay đưa ra một ý tưởng rõ ràng giúp người trả lời hiểu rõ câu trắc nghiệm ấy muốn hỏi điều gì để lựa chọn câu trả lời thích hợp. ƒ Phần lựa chọn: Có 3, 4, 5 hay nhiều hơn 5 lựa chọn. Mỗi lựa chọn là một câu trả lời hay là câu bổ túc. Trong tất cả các lựa chọn chỉ có một lựa chọn được xác định là đúng nhất, gọi là đáp án. Những lựa chọn còn lại là những câu sai, trong đó có cả những câu có nội dung gần giống với đáp án, thường gọi là các “mồi nhử”, “câu nhiễu”. Điều quan trọng là người soạn thảo phải làm sao để các mồi nhử này đều hấp dẫn ngang nhau. 17 ™ Ưu điểm: ƒ Độ may rủi thấp: nếu câu trắc nghiệm có N lựa chọn thì độ may rủi là 1/N ƒ Có thể khảo sát được số đông học sinh, chấm nhanh, kết quả chính xác. ƒ Nếu soạn đúng quy cách, kết quả có tính tin cậy và tính giá trị cao. ƒ Có thể sử dụng để kiểm tra các kỹ năng nhận thức bậc cao. ™ Nhược điểm: ƒ Tuy độ may rủi thấp nhưng người trả lời vẫn có thể đoán mò. ƒ Để có được một bài trắc nghiệm có tính tin cậy và tính giá trị cao, đòi hỏi người soạn phải đầu tư nhiều thời gian và phải tuân thủ đầy đủ các bước soạn thảo trắc nghiệm. ƒ Vì có nhiều phương án lựa chọn nên khó xây dựng được các câu hỏi có chất lượng cao. ™ Yêu cầu: ƒ Số lựa chọn nên từ 4 trở lên để xác xuất may mắn chọn đúng là thấp nhất ƒ Khi soạn phần gốc phải trình bày ngắn gọn, rõ ràng, chỉ hỏi một vấn đề và soạn đáp án đúng trước, vị trí đáp án đúng được đặt một cách ngẫu nhiên. ƒ Muốn có được các “mồi nhử” hay thì ta nên chọn những câu Sai thường gặp của học sinh, không nên là “mồi nhử” do người soạn nghĩ ra. Do đó có 4 bước phải làm khi soạn mồi nhử: 18 • Bước 1: Ra các câu hỏi mở về lĩnh vực nội dung dự định trắc nghiệm để học sinh tự viết câu trả lời. • Bước 2: Thu lại các bản trả lời của học sinh, loại bỏ các câu trả lời Đúng, chỉ giữ lại những câu Sai. • Bước 3: Thống kê phân loại các câu trả lời Sai và ghi tần số xuất hiện từng loại câu sai. • Bước 4: Ưu tiên chọn những câu sai có tần số cao làm mồi nhử. ™ Form soạn câu hỏi: Bảng 2.3. Form soạn câu trắc nghiệm nhiều lựa chọn Câu hỏi: .......................................................................... Gợi ý: a, b, c, d Sug_ID Sug_Content Sug_Position Sug_Answer Ques_ID 1 a Null -1 2 2 b Null -1 2 3 c Null 0 2 4 d Null 0 2 II.2.4. Câu điền khuyết (Filling Blank question) ™ Cấu trúc: có 2 dạng 19 ƒ Dạng 1: Gồm những câu hỏi với lời giải đáp ngắn. ƒ Dạng 2: Là một đoạn văn với nhiều chỗ trống để người trả lời điền vào một từ hay một nhóm từ ngắn. ™ Ưu điểm: Dễ xây dựng và người sử dụng không thể đoán mò. ™ Nhược điểm: Thường chỉ được dùng để kiểm tra trình độ, mức độ hiểu biết, đôi khi khó đánh giá đúng nội dung trả lời. ™ Yêu cầu: ƒ Nội dung của phần trả lời càng cô đọng càng tốt. ƒ Nên soạn thảo các câu với các phần để trống sao cho những từ điền vào là duy nhất đúng, không thể thay thế bằng bất kỳ từ nào khác. 20 Bảng 2.4. Form soạn câu điền khuyết Ví dụ: 1. She compeletely missed the …. 2. They were talking at … purposes. 3. I think we both got out lines …. 4. She got the wrong end of the …. Gợi ý: a; b; c; d; e Sug_ID Sug_Content Sug_Position Sug_Answer Ques_ID 1 a 1 b 3 2 b 2 c 3 3 c 3 a 3 4 d 4 d 3 II.2.6. Chia động từ (Conjugating question) ™ Cấu trúc: gồm 2 phần ƒ Phần gốc: là một câu ngắn hay một đoạn văn trong đó có bỏ trống một số khoảng trắng (textbox). Bên cạnh những khoảng trống đó là những từ gợi ý cho sẵn. ƒ Phần trả lời được điền trực tiếp vào những khoảng trắng đã cho sẵn. ™ Ưu điểm: 21 ƒ Dễ xây dựng. ƒ Người sử dụng không thể đoán mò. ™ Nhược điểm: Khó đánh giá nội dung trả lời. ™ Yêu cầu: ƒ Nội dung của phần trả lời càng cô đọng càng tốt. ƒ Nên soạn thảo các câu với các phần để trống sao cho những từ điền vào là duy nhất đúng, không thể thay thế bằng từ nào khác. Bảng 2.5. Form soạn câu chia động từ Ví dụ: 1. I am trying … (go) to bed now. Good night! 2. The population of the would … (rise) very fast. Gợi ý: go; am going; rise; is rising Sug_ID Sug_Content Sug_Position Sug_Answer Ques_ID 1 go - 1 - 1 3 2 to go - 2 1 3 3 rise - 3 - 2 3 4 is rising - 4 3 3 22 CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG III.1. Mô hình Thực thể kết hợp (Entity Relationship Diagram) Hình 3.1. Mô hình luận lý III.2. Đặc tả Use Case III.2.1 . Phát biểu bài toán Hệ thống cho phép học viên (sinh viên, học sinh,…) đăng kí một tài khoản để có thể truy cập hệ thống từ máy tính cá nhân của mình thông qua đường truyền Internet. Các giáo viên cũng có thể truy cập hệ thống này để thay đổi thông tin bài học: thêm bài giảng, 23 câu hỏi mới, xóa, sửa bài học…Admin là người có quyền tối cao trong hệ thống, ngoài những quyền của một giảng viên, admin còn có thể thay đổi thông tin người dùng: thêm, xóa, sửa. Khi đăng nhập thành công vào hệ thống, học viên có thể tìm kiếm danh sách các câu hỏi để làm bài. Thông tin về mỗi câu hỏi bao gồm mức trình độ, bài học, loại câu hỏi… Hệ thống cho phép học viên có thể lựa chọn một mức trình độ (A, B, C…). Sau đó lựa chọn một bài học bất kì để vào làm bài, kiểm tra kiến thức của mình. Khi quá trình làm bài của một học viên kết thúc,hệ thống sẽ gửi thông tin tới hệ thống chấm điểm để học viên có thể biết được kết quả của mình ngay sau khi làm bài. Những thông tin liên quan tới bài học, bài giảng, câu hỏi chỉ có những người trong hệ thống (admin, giáo viên) mới có thể thay đổi được, còn học viên thì không có quyền này. Do đó hệ thống cần có cơ chế bảo mật để ngăn chặn những truy cập không hợp lệ. III.2.2. Bảng chú giải III.2.2.1. Giới thiệu Tài liệu này được dùng để định nghĩa các định nghĩa đặc thù trong lĩnh vực của bài toán, giải thích các từ ngữ có thể không quen thuộc với người đọc trong các mô tả Use Case. Tài liệu này có thể được dùng như một từ điển dữ liệu không chính thức, ghi lại các định nghĩa dữ liệu để các mô tả Use Case có thể tập trung vào những gì hệ thống phải thực hiện. III.2.2.2. Các định nghĩa Bảng chú giải này bao gồm các định nghĩa cho các khái niệm chính trong hệ thống Học Anh văn trực tuyến. 24 ™ ManageLevel: Quản lý mức trình độ ƒ AddLevel: Thêm một mức trình độ mới ƒ DeleteLevel: Xóa một mức trình độ ƒ UpdateLevel: Cập nhật mức trình độ ™ ManageLesson: Quản lý bài học ƒ AddLesson: Thêm một bài học mới ƒ DeleteLesson: Xóa một bài học ƒ UpdateLesson: Cập nhật bài học ™ ManageQuestion: Quản lý câu hỏi ƒ AddQuestion: Thêm một câu hỏi mới ƒ DeleteQuestion: Xóa một câu hỏi ƒ UpdateQuestion: Cập nhật câu hỏi ™ ManageTeacher: Quản lý giáo viên ƒ AddTeacher: Thêm một giáo viên mới ƒ DeleteTeacher: Xóa một giáo viên. ƒ UpdateTeacher: Cập nhật giáo viên ™ ManageLearner: Quản lý học viên 25 ƒ AddLearner: Thêm một học viên mới ƒ DeleteLearner: Xóa một học viên. ƒ UpdateLearner: Cập nhật học viên ™ ViewTeacherInformation: Xem thông tin chi tiết về giáo viên ™ ViewLearnerInformation: Xem thông tin chi tiết về học viên ™ RegisterMember: Đăng kí làm thành viên ™ DoExercise: Làm bài tập ™ ViewLesson: Xem chi tiết bài học ™ EditMemberInformation: Chỉnh sửa thông tin thành viên ™ Administrtor: Người có quyền cao nhất trong hệ thống, có thể thêm, xóa, sửa bài học, bài giảng, câu hỏi, người dùng. ™ Teacher: Giáo viên, người có thể thay đổi những thông tin liên quan tới bài học (bài giảng, câu hỏi). ™ Learner: Học viên, người đăng kí vào hệ thống để học Anh văn trực tuyến. ™ Users: Dùng để hiển thị nhiều actors có nhiều sự tương đồng. ™ Login: Chức năng đăng nhập vào hệ thống. III.2.3. Đặc tả bổ sung 26 ™ Mục tiêu: Mục tiêu của tài liệu này là để định nghĩa các yêu cầu của Hệ thống đăng ký học phần. Đặc tả bổ sung này liệt kê các yêu cầu chưa được thể hiện trong các Use Case. Đặc tả bổ sung cùng các Use Case trong mô hình Use Case thể hiện đầy đủ các yêu cầu của hệ thống. Phạm vi: ™ Đặc tả này vạch rõ các yêu cầu phi chức năng của hệ thống, như là tính ổn định, tính khả dụng, hiệu năng, và tính hỗ trợ cũng như các yêu cầu chức năng chung cho một số Use Case. (Các yêu cầu chức năng được chỉ rõ trong phần Đặc tả Use Case). Chức năng: Hỗ trợ nhiều người dùng truy cập đồng thời. ™ ™ Tính khả dụng: Giao diện người dùng tương thích Windows 98/2000/XP. Tính ổn định: Hệ thống phải hoạt động liên lục 24 giờ một ngày, 7 ngày mỗi tuần, và thời gian ngưng hoạt động không quá ™ 5% thời gian hoạt động. Hiệu suất: ™ Hệ thống phải hỗ trợ đến 2000 người dùng truy xuất cơ sở dữ liệu trung tâm đồng thời bất kỳ lúc nào, và đến 500 người dùng truy xuất các server cục bộ. ¾ ¾ Hệ thống phải có khả năng hoàn tất 80% giao dịch trong vòng 2 phút. Sự hỗ trợ: Không có. ™ Tính bảo mật: ™ ¾ Hệ thống phải ngăn chặn học viên thay đổi các thông tin liên quan tới bài học. ¾ Chỉ có giáo viên mới có thể thay đổi thông tin bài học. ¾ Chỉ có admin mới có thể thay đổi thông tin của học viên. Các ràng buộc về thiết kế: ™ Hệ thống phải tích hợp với hệ thống có sẵn. ¾ 27 Hệ thống phải cung cấp giao diện dựa trên Windows. ¾ III.3 Mô hình Use Case III.3.1. Lược đồ chính của mô hình ™ Admin: Hình 3.2. Mô hình Use Case cho tác vụ Login ™ Teacher: 28 Hình 3.3. Mô hình Use Case cho vai trò Teacher ™ Users: Hình 3.4. Mô hình Use Case cho vai trò Users ™ Learner: 29 Hình 3.5. Mô hình Use Case cho vai trò Learner ™ Actor: Hình 3.6. Mô hình thừa kế cho các Actor III.3.2 Bảng mô tả các nghiệp vụ trong sơ đồ sử dụng: 30 Bảng 3.1: Danh sách các nghiệp vụ. STT Tên nghiệp vụ Diễn giải 1 ManageLevel Cho phép người sử dụng (admin) thực hiện các thao tác quản lý danh mục mức trình độ (thêm, xóa, sửa). 2 ManageLesson Cho phép người sử dụng (admin) thực hiện các thao tác quản lý danh mục bài học (thêm, xóa, sửa). 3 ManageUnit Cho phép người sử dụng (admin, teacher) thực hiện các thao tác quản lý danh mục bài giảng (thêm, xóa, sửa). 4 ManageQuestion Cho phép người sử dụng (admin, teacher) thực hiện các thao tác quản lý danh mục câu hỏi (thêm, xóa, sửa). 5 ManageAccount Cho phép người sử dụng (admin) thực hiệ Cho phép người sử dụng (admin) thực hiện các thao tác quản lý danh mục tài khoản (thêm, xóa, sửa). 6 Login Cho phép người dùng đăng nhập vào hệ thống để thực hiện các chức năng bên trong. 7 ViewLearnerInformation Chức năng này chỉ có người dùng trong hệ thống mới có. Có thể xem được thông tin của 31 học viên theo các tiêu chí hay xem tất cả. 8 RegisterMember Cho phép người sử dụng đăng ký vào để làm thành viên. 9 ViewLesson Cho phép người sử dụng sau khi đăng nhập có thể xem toàn bộ các bài học trên website. 10 DoExercise Phần dành cho người học vào làm bài để kiểm tra kiến thức của mình. III.3.3. Đặc tả chi tiết các Use Case III.3.3.1. Login (Đăng nhập) ™ Tóm tắt: Use Case này mô tả cách một người dùng đăng nhập vào Hệ thống học Anh văn trực tuyến. ™ Dòng sự kiện: ¾ Dòng sự kiện chính: Use Case này bắt đầu khi một actor muốn đăng nhập vào hệ thống: • Hệ thống yêu cầu actor nhập tên và mật khẩu. • Actor nhập tên tài khoản và mật khẩu. • Hệ thống kiểm tra tên tài khoản và mật khẩu được nhập và cho phép actor đăng nhập vào hệ thống. 32 ¾ Dòng sự kiện khác: Nếu trong dòng sự kiên chính, actor nhập sai tên tài khoản hoặc mật khẩu, hệ thống sẽ hiển thị một thông báo lỗi. Actor có thể chọn để trở về đầu của dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, lúc này Use Case kết thúc. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết: Không có. ™ Điều kiện hoàn tất: Hệ thống thông báo quá trình đăng nhập thành công hay thất bại. ™ Điểm mở rộng: Không có. III.3.3.2. ManageTeacher (Quản lý thông tin giáo viên) ™ Tóm tắt: Use Case này cho phép admin duy trì thông tin giáo viên trong hệ thống đăng ký. Bao gồm thêm, hiệu chỉnh và xóa một giáo viên ra khỏi hệ thống. ™ Dòng sự kiện: ¾ Dòng sự kiện chính: Use Case này bắt đầu khi admin muốn thêm, thay đổi, và/hoặc xóa thông tin giáo viên trong hệ thống. • Hệ thống yêu cầu admin chọn chức năng muốn thực hiện (AddTeacher, UpdateTeacher, DeleteTeacher). • Sau khi admin cung cấp thông tin được yêu cầu, một trong các luồng phụ sau được thực hiện: 33 ƒ Nếu admin chọn “AddTeacher”, luồng phụ AddTeacher được thực hiện. ƒ Nếu admin chọn“UpdateTeacher”, luồng phụ UpdateTeacher được thực hiện. ƒ Nếu admin chọn“DeleteTeacher”, luồng phụ DeleteTeacher được thực hiện. o AddTeacher (Thêm một giáo viên) 9 Hệ thống yêu cầu admin nhập vào các thông tin của giáo viên: Tên, ngày sinh, địa chỉ, phái, …. 9 Sau khi admin cung cấp các thông tin được yêu cầu, hệ thống sẽ phát sinh và gán một mã số duy nhất cho giáo viên này. Giáo viên này được thêm vào hệ thống. 9 Hệ thống cung cấp cho admin mã số mới của giáo viên mới. o UpdateTeacher (Hiệu chỉnh một giáo viên) 9 Hệ thống yêu cầu admin nhập vào mã số của giáo viên. 9 Admin nhập mã số của giáo viên. Hệ thống truy xuất và hiển thị thông tin của giáo viên này. 9 Admin thay đổi một số thông tin của giáo viên, gồm bất cứ thông tin nào được chỉ ra trong luồng phụ AddTeacher. 34 9 Sau khi admin cập nhật xong những thông tin cần thiết, hệ thống cập nhật mẩu tin của giáo viên này. o DeleteTeacher (Xóa một giáo viên) 9 Hệ thống yêu cầu admin nhập mã số của giáo viên. 9 Admin nhập mã số của giáo viên. Hệ thống truy xuất và hiển thị thông tin của giáo viên này. 9 Hệ thống nhắc người dùng xác nhận thao tác xóa giáo viên. 9 Admin xác nhận xóa. 9 Xóa thông tin giáo viên này ra khỏi hệ thống ¾ Dòng sự kiện khác: • Không tìm thấy giáo viên: Nếu trong luồng phụ UpdateTeacher hoặc DeleteTeacher không tồn tại giáo viên nào có mã số được nhập thì hệ thống sẽ hiển thị một thông báo lỗi. Admin có thể nhập một mã số khác hoặc hủy bỏ thao tác, lúc này Use Case sẽ kết thúc. • Thao tác xóa bị hủy: Nếu trong luồng phụ DeleteTeacher admin quyết định không xóa giáo viên này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. ™ Các yêu cầu đặc biệt: Không có. 35 ™ Điều kiện tiên quyết: Admin phải đăng nhập vào hệ thống sau khi Use Case bắt đầu. ™ Điều kiện hoàn tất: Nếu Use Case thành công, thông tin giáo viên được thêm, cập nhật hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi. ™ Điểm mở rộng: Không có. III.3.3.3. ManageLearner (Quản lý thông tin học viên) ™ Tóm tắt Use Case này cho phép admin duy trì thông tin học viên trong hệ thống đăng ký. Bao gồm thêm, hiệu chỉnh và xóa một học viên ra khỏi hệ thống. ™ Dòng sự kiện ¾ Dòng sự kiện chính Use Case này bắt đầu khi admin muốn thêm, thay đổi, và/hoặc xóa thông tin học viên trong hệ thống. • Hệ thống yêu cầu admin chọn chức năng muốn thực hiện (AddLearner, UpdateLearner, DeleteLearner). • Sau khi admin cung cấp thông tin được yêu cầu, một trong các luồng phụ sau được thực hiện: ƒ Nếu admin chọn “AddLearner”, luồng phụ AddLearner được thực hiện. ƒ Nếu admin chọn“UpdateLearner”, luồng phụ UpdateLearner được thực hiện. ƒ Nếu admin chọn“DeleteLearner”, luồng phụ DeleteLearner được thực hiện. 36 o AddLearner (Thêm một học viên): 9 Hệ thống yêu cầu admin nhập vào các thông tin của học viên: Tên, ngày sinh, địa chỉ, phái,…. 9 Sau khi admin cung cấp các thông tin được yêu cầu, hệ thống sẽ phát sinh và gán một mã số duy nhất cho học viên này. Học viên này được thêm vào hệ thống. 9 Hệ thống cung cấp cho admin mã số mới của học viên mới. o UpdateLearner (Hiệu chỉnh thông tin một học viên): 9 Hệ thống yêu cầu admin nhập vào mã số của học viên. 9 Admin nhập mã số của học viên. Hệ thống truy xuất và hiển thị thông tin của học viên này. 9 Admin thay đổi một số thông tin của học viên, gồm bất cứ thông tin nào được chỉ ra trong luồng phụ AddLearner. 9 Sau khi admin cập nhật xong những thông tin cần thiết, hệ thống cập nhật mẩu tin của học viên này. o DeleteLearner (Xóa một học viên): 9 Hệ thống yêu cầu admin nhập mã số của học viên. 37 9 Admin nhập mã số của học viên. Hệ thống truy xuất và hiển thị thông tin của học viên này. 9 Hệ thống nhắc người dùng xác nhận thao tác xóa học viên. 9 Admin xác nhận xóa. 9 Xóa thông tin học viên này ra khỏi hệ thống. ¾ Dòng sự kiện khác • Không tìm thấy học viên: Nếu trong luồng phụ UpdateLearner hoặc DeleteLearner không tồn tại học viên nào có mã số được nhập thì hệ thống sẽ hiển thị một thông báo lỗi. Admin có thể nhập một mã số khác hoặc hủy bỏ thao tác, lúc này Use Case sẽ kết thúc. • Thao tác xóa bị hủy: Nếu trong luồng phụ DeleteLearner admin quyết định không xóa học viên này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết: Admin phải đăng nhập vào hệ thống sau khi Use Case bắt đầu.Điều kiện hoàn tất. 38 ™ Nếu Use Case thành công, thông tin học viên được thêm, cập nhật hoặc xóa khỏi hệ thống. Ngược lại, trạng thái của hệ thống không thay đổi. ™ Điểm mở rộng: Không có. III.3.3.4. Manage Lesson (Quản lý bài học) ™ Tóm tắt Use Case cho phép admin hay Teacher thao tác trên dữ liệu về các bài học: • Teacher có thể xem, xóa, sửa, thêm mới các bài học của mình. • Admin có thể xem, xóa, sửa, thêm mới toàn bộ các bài học của website. ™ Dòng sự kiện: Use Case bắt đầu khi actor chọn chức năng “ Quản lý bài học”. ¾ Dòng sự kiện chính Use Case này bắt đầu khi admin muốn thêm, thay đổi, và/hoặc xóa thông tin bài học trong hệ thống. • Hệ thống yêu cầu admin chọn chức năng muốn thực hiện (AddLesson, UpdateLesson, DeleteLesson). • Sau khi admin cung cấp thông tin được yêu cầu, một trong các luồng phụ sau được thực hiện: ƒ Nếu Techer chọn “AddLesson”, luồng phụ AddLesson được thực hiện. ƒ Nếu Techer chọn“UpdateLesson”, luồng phụ UpdateLesson được thực hiện. 39 ƒ Nếu Techer chọn“DeleteLesson”, luồng phụ DeleteLesson được thực hiện. o AddLesson (Thêm một bài học) 9 Hệ thống yêu cầu Teacher nhập vào các thông tin chi tiết của bài học: Lesson_ID, Lesson_Name, Lesson_Description…. 9 Sau khi Teacher chọn link “Add”, hệ thống tiếp nhận và thêm thông tin vào CSDL, sau đó chuyển teacher về Use Case ViewLesson. o UpdateLesson (Hiệu chỉnh thông tin bài học) 9 Hệ thống yêu cầu Teacher nhập vào mã số của bài học. 9 Teacher nhập mã số của bài học. Hệ thống truy xuất và hiển thị thông tin của bài học này. 9 Teacher thay đổi một số thông tin của bài học, gồm bất cứ thông tin nào được chỉ ra trong luồng phụ AddLesson. 9 Sau khi Teacher cập nhật xong những thông tin cần thiết, hệ thống cập nhật mẩu tin của bài học này. 9 Hệ thống hiển thị lệnh “Cancel” bằng cách chuyển Teacher về Use Case ViewLesson. o DeleteLesson (Xóa một bài học) 9 Hệ thống yêu cầu Teacher nhập mã số của bài học. 40 9 Teacher nhập mã số của bài học. Hệ thống truy xuất và hiển thị thông tin của bài học này. 9 Hệ thống nhắc người dùng xác nhận thao tác xóa bài học. 9 Teacher xác nhận xóa. 9 Xóa thông tin bài học này ra khỏi hệ thống. ¾ Dòng sự kiện khác • Không tìm thấy bài học: Nếu trong luồng phụ UpdateLesson hoặc DeleteLesson không tồn tại bài học nào có mã số được nhập thì hệ thống sẽ hiển thị một thông báo lỗi. Teacher có thể nhập một mã số khác hoặc hủy bỏ thao tác, lúc này Use Case sẽ kết thúc. • Thao tác xóa bị hủy: Nếu trong luồng phụ DeleteLesson Teacher quyết định không xóa bài học này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết: Admin và Teacher phải đăng nhập vào hệ thống. ™ Điều kiện hoàn tất: Nếu trong dòng sự kiện chính không tìm thấy bài học nào, hệ thống sẽ hiển thị thông báo lỗi. Actor nhận thông báo này và Use Case kết thúc. ™ Điểm mở rộng: Không có. 41 III.3.3.5. ManageQuestion (Quản lý câu hỏi) ™ Tóm tắt: Use Case cho phép admin hay Teacher thao tác trên dữ liệu về các câu hỏi: ¾ Teacher có thể xem, xóa, sửa, thêm mới các câu hỏi trong phạm vi của mình. ¾ Admin có thể xem, xóa, sửa, thêm mới toàn bộ các câu hỏi của website. ™ Dòng sự kiện: Use Case bắt đầu khi actor chọn chức năng “ Quản lý câu hỏi”. ¾ Dòng sự kiện chính Use Case này bắt đầu khi admin muốn thêm, thay đổi, và/hoặc xóa thông tin câu hỏi trong hệ thống. • Hệ thống yêu cầu admin chọn chức năng muốn thực hiện (AddQuestion, UpdateQuestion, DeleteQuestion). • Sau khi admin cung cấp thông tin được yêu cầu, một trong các luồng phụ sau được thực hiện: ƒ Nếu Techer chọn “AddQuestion”, luồng phụ AddQuestion được thực hiện. ƒ Nếu Techer chọn“UpdateQuestion”, luồng phụ UpdateQuestion được thực hiện. ƒ Nếu Techer chọn“DeleteQuestion”, luồng phụ DeleteQuestion được thực hiện. o AddQuestion (Thêm một câu hỏi): 42 9 Hệ thống yêu cầu Teacher nhập vào các thông tin chi tiết của câu hỏi: Ques_ID, Ques_Tittle, Ques_Content…. 9 Sau khi Teacher chọn link “Add”, hệ thống tiếp nhận và thêm thông tin vào CSDL, sau đó chuyển teacher về Use Case ViewQuestion. o UpdateQuestion (Hiệu chỉnh thông tin câu hỏi) 9 Hệ thống yêu cầu Teacher nhập vào mã số của câu hỏi. 9 Teacher nhập mã số của câu hỏi. Hệ thống truy xuất và hiển thị thông tin của câu hỏi này. 9 Teacher thay đổi một số thông tin của câu hỏi, gồm bất cứ thông tin nào được chỉ ra trong luồng phụ AddQuestion. 9 Sau khi Teacher cập nhật xong những thông tin cần thiết, hệ thống cập nhật mẩu tin của câu hỏi này. 9 Hệ thống hiển thị lệnh “Cancel” bằng cách chuyển Teacher về Use Case ViewQuestion. o DeleteQuestion (Xóa một câu hỏi) 9 Hệ thống yêu cầu Teacher nhập mã số của câu hỏi. 9 Teacher nhập mã số của câu hỏi. Hệ thống truy xuất và hiển thị thông tin của câu hỏi này. 43 9 Hệ thống nhắc người dùng xác nhận thao tác xóa câu hỏi. 9 Teacher xác nhận xóa. 9 Xóa thông tin câu hỏi này ra khỏi hệ thống. ¾ Dòng sự kiện khác • Không tìm thấy bài học: Nếu trong luồng phụ UpdateQuestion hoặc DeleteQuestion không tồn tại câu hỏi nào có mã số được nhập thì hệ thống sẽ hiển thị một thông báo lỗi. Teacher có thể nhập một mã số khác hoặc hủy bỏ thao tác, lúc này Use Case sẽ kết thúc. • Thao tác xóa bị hủy: Nếu trong luồng phụ DeleteQuestion Teacher quyết định không xóa câu hỏi này nữa, thao tác xóa bị hủy và dòng sự kiện chính được bắt đầu lại từ đầu. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết: Admin và Teacher phải đăng nhập vào hệ thống. ™ Điều kiện hoàn tất Nếu trong dòng sự kiện chính không tìm thấy câu hỏi nào, hệ thống sẽ hiển thị thông báo lỗi. Actor nhận thông báo này và Use Case kết thúc. ™ Điểm mở rộng: Không có. III.3.3.6. RegisterMember (Đăng ký thành viên) ™ Tóm tắt 44 ¾ Use Case này cho phép actor đăng ký làm hội viên của trung tâm ngoại ngữ. ¾ Actor của Use Case này là Learner. ™ Dòng sự kiện Use Case bắt đầu khi actor chọn chức năng “RegisterMember”. ¾ Dòng sự kiện chính • Actor chọn chức năng “RegisterMember”. • Hệ thống hiển thị form đăng ký thành viên. • Actor điền vào các thông tin: Tên đăng nhập, tên liên hệ, mật khẩu, xác nhận mật khẩu, thư điện tử, giới tính, địa chỉ, điện thoại, website. • Actor chọn “ Đăng ký”. • Hệ thống sẽ lưu toàn bộ những thông tin mà actor vừa xác nhận xuống cơ sở dữ liệu. • Hệ thống hiển thị màn hình của thành viên. ¾ Dòng sự kiện khác Nếu actor không điền đầy đủ các thông tin bắt buộc ở trên thì hệ thống không cho đăng ký và hiện thông báo lỗi. Buộc phải điền đầy đủ những thông tin này. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết: Không có. 45 ™ Điều kiện hoàn tất - Hiển thị thông báo actor có đăng ký thành công hay không - Chuyển đến giao diện đăng nhập thành công ™ Điểm mở rộng - Tên: chỉ sửa thông tin hội viên - Vị trí: Ở điểm bắt đầu III.3.3.7. EditMemberInformation (Chỉnh sửa thông tin thành viên) ™ Tóm tắt ¾ Use Case này cho phép actor chỉnh sửa thông tin của mình trong hệ thống. ¾ Học viên (Learner) là actor của Use Case này ™ Dòng sự kiện Use Case này bắt đầu khi actor chọn chức năng “EditMemberInformation”. ¾ Dòng sự kiện chính • Actor chọn chức năng “EditMemberInformation”. • Hệ thống xác định tên tài khoản và mật khẩu đang truy cập • Hệ thống tìm trong database những thông tin của actor tương ứng với UserName và Password và hiển thị các thông tin đó trên một form. ¾ Dòng sự kiện khác 46 • Nếu actor chọn “Update”, hệ thống sẽ cập nhật lại những thông tin mà actor vừa chỉnh sửa vào database. • Nếu actor chọn “Cancel”, Use Case kết thúc. • Nếu actor chọn chức năng “EditMemberInformation” mà chưa đăng nhập vào hệ thống: ƒ Hiển thị thông báo yêu cầu actor đăng nhập hệ thống. ƒ Use Case kết thúc. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiện tiên quyết Actor phải đăng nhập hệ thống trước khi Use Case bắt đầu. ™ Điều kiện hoàn tất Hệ thống phải hiển thị thông báo cho biết phần chỉnh sửa thông tin thành viên có thành công hay không. ™ Điểm mở rộng: Không có. III.3.3.8. ViewLearnerInformation (Xem thông tin học viên) ™ Tóm tắt ¾ Use Case này cho phép actor xem thông tin của học viên. ¾ Admin là actor của Use Case này. 47 ™ Dòng sự kiện Use Case bắt đầu khi actor chọn chức năng “ViewLearnerInformation” ¾ Dòng sự kiện chính • Actor chọn chức năng “ViewLearnerInformation”. • Hệ thống lấy mã học viên được chọn. • Hệ thống tìm trong database những thông tin về học viên ứng với mã mà actor đã chọn. • Hệ thống hiển thị tất cả các thông tin của học viên ra màn hình. ¾ Dòng sự kiện khác Actor chọn “Cancel” để kết thúc Use Case. ™ Các yêu cầu đặc biệt: Không có. ™ Điều kiên tiên quyết Actor phải đăng nhập vào hệ thống với role là admin. ™ Điều kiện hoàn tất: Không có. ™ Điểm mở rộng: Không có. III.3.3.9. DoExercise (Làm bài tập) ™ Tóm tắt ¾ Use Case này cho phép actor vào trong hệ thống làm bài tập. 48 ¾ Actor của Use Case này là học viên (learner). ™ Dòng sự kiện Use Case bắt đầu khi actor chọn chức năng “DoExercise”. ¾ Dòng sự kiện chính • Actor chọn chức năng “DoExercise”. • Hệ thống sẽ cho hiển thị thông tin về các mức trình độ, bài học, câu hỏi. • Actor chọn mức trình độ phù hợp để vào làm bài. • Actor chọn một bài học bất kỳ. • Hệ thống sẽ hiển thị các loại câu hỏi tương ứng với bài học đó. • Hiển thị màn hình làm bài. • Actor làm bài tập. Sau khi kết thúc quá trình làm bài, hệ thống sẽ chấm điểm và hiển thị kết quả ra màn hình. ¾ Dòng sự kiện khác • Tại mọi thời điểm, học viên đều có thể chọn lưu bài trước khi submit. • Khi thời gian kết thúc, học viên không thể thay đổi hay chỉnh sửa gì trên bài làm nữa. ™ Các yêu cầu đặc biệt: Không có. 49 ™ Điều kiện tiên quyết Học viên (Learner) phải đăng nhập vào hệ thống trước khi Use Case bắt đầu. ™ Điều kiện hoàn tất Nếu Use Case thành công, actor sẽ biết được kết quả của mình sau khi làm bài. Ngược lại, trạng thái của hệ thống không thay đổi. ™ Điểm mở rộng: Không có. III.4. Sơ đồ Sequence diagram III.4.1. Login (Đăng nhập) 50 Hình 3.7. Lược đồ tuần tự của Use Case Login III.4.2. AddLearner (Thêm học viên) Hình 3.8. Lược đồ tuần tự của Use Case AddLearner 51 III.4.3. UpdateLearner Hình 3.9. Lược đồ tuần tự của Use Case UpdateLearner 52 III.4.4. Delete Learner Hình 3.10. Lược đồ tuần tự của Use Case DeleteLearner 53 III.4.5. Add Question Hình 3.11. Lược đồ tuần tự của Use Case AddQuestion 54 III.4.6. RegisterMember Hình 3.12. Lược đồ tuần tự của Use Case RegisterMember 55 III.4.7. ViewLearnerInformation Hình 3.13. Lược đồ tuần tự của Use Case ViewLearnerInformation 56 CHƯƠNG IV: THIẾT KẾ CƠ SỞ DỮ LIỆU IV.1. Sơ đồ quan hệ giữa các bảng Hình 4.1. Sơ đồ quan hệ giữa các bảng 57 IV.2. Mô tả chi tiết các bảng Bảng 4.1. Bảng chi tiết về mức trình độ Level Tên trường Kiểu dữ liệu Mô tả Ràng buộc Level _ID Int ID duy nhất của mỗi mức trình độ. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có bài học mới được chèn vào. Khóa chính Level _Name nvarchar(50) Tên của mức trình độ Not Null Level _Description nvarchar(Max) Mô tả thêm về mức trình độ. Mô tả này được sử dụng trong trình đơn ở khu vực lựa chọn chính, cho phép người dùng chọn 1 mức trình độ để học. IsActive bit Xác định mục mức trình độ có thể được nhìn thấy trong phần 58 công khai của website này hay không. Bảng 4.2. Bảng chi tiết về bài học Lesson Tên trường Kiểu dữ liệu Mô tả Ràng buộc Lesson _ID int ID duy nhất của mỗi bài học. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có bài học mới được chèn vào. Khóa chính Lesson _Name nvarchar(50) Tên của bài học Not Null Lesson _Description nvarchar(Max) Mô tả thêm về bài học. Mô tả này được sử dụng trong trình đơn ở khu vực lựa chọn chính, cho phép người dùng chọn 1 bài để học. Level_ID_FK int Mức trình độ mà bài học này thuộc về Khóa ngoại 59 IsActive bit Xác định mục bài học có thể được nhìn thấy trong phần công khai của website này hay không. Bảng 4.3. Bảng chi tiết về bài giảng Unit Tên trường Kiểu dữ liệu Mô tả Ràng buộc Unit _ID Int ID duy nhất của mỗi bài giảng. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có bài giảng mới được chèn vào. Khóa chính Unit _Name nvarchar(100) Tên của bài giảng Not Null Unit _Content Nvarchar(max) Nội dung của bài giảng Not Null IsActive Bit Xác định mục bài giảng có thể được nhìn thấy trong phần công khai của website này hay không. Unit_CreateDate smalldatetime Ngày giờ bài giảng này 60 được thêm vào. Lesson_ID_FK Int Bài học mà bài giảng này thuộc về. Khóa ngoại Bảng 4.4. Bảng chi tiết về loại câu hỏi Type Tên trường Kiểu dữ liệu Mô tả Ràng buộc Type_ID int ID duy nhất của mỗi loại câu hỏi. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có loại câu hỏi mới được chèn vào. Khóa chính Type_Name nvarchar(100) Tên loại câu hỏi Not Null Type_Description nvarchar(Max) Mô tả thêm về loại câu hỏi. Bảng 4.5. Bảng chi tiết về tài khoản Account Tên trường Kiểu dữ liệu Mô tả Ràng buộc Username nvarchar(50) Tên đăng nhập,mỗi account có Khóa chính 61 1 tên duy nhất. Dùng để phân biệt giữa các users. Password varchar(100) Mật khẩu Not Null Role_ID_FK int Vai trò của Account này thuộc về. Khóa ngoại Bảng 4.6. Bảng chi tiết về câu hỏi Question Tên trường Kiểu dữ liệu Mô tả Ràng buộc Ques _ID int ID duy nhất của mỗi câu hỏi. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có câu hỏi mới được thêm vào. Khóa chính Ques_Tittle Nvarchar(255) Tiêu đề của nội dung. Tiêu đề này được hiển thị trong trang liệt kê câu hỏi và trang chi tiết câu hỏi. Ques _Content nvarchar(Max) Chứa toàn bộ văn bản của mục câu hỏi. Văn Not Null 62 bản này được hiển thị trên trang chi tiết câu hỏi. Approve bit Xác định câu hỏi này đã được duyệt hay chưa. Một câu hỏi đã được duyệt có thể được hiển thị trên web, có thể không. Not Null IsActive bit Xác định mục câu hỏi có thể được nhìn thấy trong phần công khai của website này hay không. Not Null Ques_CreateDate smalldatetime Ngày giờ câu hỏi này được thêm vào. Type_ID_FK int Loại câu hỏi mà câu hỏi này thuộc về. Khóa ngoại Lesson_ID_FK int Bài học mà câu hỏi này thuộc về. Khóa ngọai Username_FK Varchar(50) Người tạo mà câu hỏi này thuộc về. Khóa ngọai Ques_Description nvarchar(max) Mô tả thêm về câu hỏi 63 Bảng 4.7. Bảng chi tiết về hồ sơ người dùng Profile Tên trường Kiểu dữ liệu Mô tả Ràng buộc Pro _ID Int ID duy nhất của mỗi hồ sơ cá nhân. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có thông tin mới được chèn vào. Khóa chính Pro_FullName Nvarchar(50) Tên liên hệ đầy đủ Pro_Address Nvarchar(150) Địa chỉ liên hệ Pro_Phone Varchar(50) Số điện thoại liên lạc. Pro_Email Nvarchar(250) Địa chỉ email. Pro_website Varchar(50) Địa chỉ website. Pro_Fax Varchar(50) Số Fax Pro_CreateDate Smalldatetime Ngày tạo hồ sơ cá nhân người dùng. Bảng 4.8. Bảng chi tiết về gợi ý trả lời Suggest Tên trường Kiểu dữ liệu Mô tả Ràng buộc 64 Sug_ID Int ID duy nhất của mỗi câu gợi ý. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có gợi ý mới được chèn vào. Khóa chính Sug_Content Nvarchar(max) Nội dung của gợi ý Not Null Sug_Answer Nvarchar(50) Câu trả lời trong phần gợi ý đó. Not Null Ques_ID_FK Int Câu hỏi mà gợi ý này thuộc về. Khóa ngoại Sug_Position nvarchar(50) Vị trí của gợi ý này Bảng 4.9. Bảng chi tiết về vai trò người dùng Role Tên trường Kiểu dữ liệu Mô tả Ràng buộc Role_ID int ID duy nhất của mỗi vai trò. ID này được sinh tự động bởi cơ sở dữ liệu mỗi khi có thêm vai trò mới được chèn vào. Khóa chính Role_Name nvarchar(50) Tên của vai trò Not Null Role_CreateDate smalldatetime Ngày tạo vai trò . 65 IV.3. Các ràng buộc toàn vẹn Ghi chú: bối cảnh là các quan hệ IV.3.1 Ràng buộc toàn vẹn về miền giá trị R1: Bối cảnh: Unit Điều kiện: Ngày tạo phải là số dương t TUnit: [t.CreateDate ] > 0 R2: Bối cảnh: Question Điều kiện: Ngày tạo phải là số dương t TQuestion: [t.CreateDate ] > 0 R3: Bối cảnh: Suggest Điều kiện: Tên của câu trả lời bao gồm: a., b, c, d t TSuggest: [t.Sug_Answer = “a” or t.Sug_Answer = “b” or t.Sug_Answer = “c” or t.Sug_Answer = “d” ] R4: 66 Điều kiện: Tên loại câu hỏi bao gồm: Single choice, Multi choices, Conjugating, Yes no, Filling blank. t TType: [t.Type_Name = “Single choice” or t.Type_Name = “Multi choices” or t.Type_Name = “Conjugating” or t.Type_Name = Yes no” or t.Type_Name = “Filling blank”]. R5: Bối cảnh: Roles Điều kiện: Ngày tạo phải là số dương và tên vai trò bao gồm: Admin, Teacher, Learner. t TRoles: [t.Roles_Name = “Admin” or t.Roles_Name = “Teaher” or t.Roles_Name = “Learner” and t.Roles_CreateDate > 0 ] R6: Bối cảnh: Profiles Điều kiện: Tên phái phải là: Nam, nữ. Số điện thoại phải là số, ngày tạo phải là số dương. t TProfiles: [t.Pro_Gender = “nam” or t.Pro_Gender = “nữ”] and [t. Pro_CreateDate > 0] IV.3.2. Ràng buộc toàn vẹn liên thuộc tính R7: Bối cảnh: Level, Lesson. 67 Điều kiện: t TLevel , q TLesson: [t.Level_ID = q.Level_ID] R8: Bối cảnh: Unit, Lesson Điều kiện: t TUnit , q TLesson: [t.Lesson_ID = q.Lesson_ID] R9: Bối cảnh: Lesson, Suggest, Type, Account Điều kiện: t TUnit , q TLesson: IV.3.3. Ràng buộc toàn vẹn liên bộ R10: Bối cảnh: Level Điều kiện: Mỗi mức trình độ sẽ có mã riêng biệt không trùng với bất kỳ mã mức trình độ nào. t1, t2 TLevel [t1.Level_ID t2.Level_ID] Bảng tầm ảnh hưởng: 68 Thêm Xóa Sửa Level + - +(Level_ID) R11: Bối cảnh: Lesson Điều kiện: Mỗi bài học sẽ có mã riêng biệt không trùng với bất kỳ mã bài học nào. t1, t2 TLesson [t1.Lesson_ID t2.Lesson_ID] Bảng tầm ảnh hưởng: Thêm Xóa Sửa Lesson + - +(Lesson_ID) R12: Bối cảnh: Unit Điều kiện: Mỗi bài giảng sẽ có mã riêng biệt không trùng với bất kỳ mã bài giảng nào. t1, t2 Tunit [t1.Unit_ID t2.Unit_ID] Bảng tầm ảnh hưởng: Thêm Xóa Sửa Unit + - +(Unit_ID) R13: 69 Bối cảnh: Question Điều kiện: Mỗi câu hỏi sẽ có mã riêng biệt không trùng với bất kỳ mã câu hỏi nào. t1, t2 TQuestion [t1.Ques_ID t2.Ques_ID] Bảng tầm ảnh hưởng: Thêm Xóa Sửa Question + - +(Ques_ID) 70 CHƯƠNG V: HIỆN THỰC CHƯƠNG TRÌNH V.1. Giao diện Hỗ trợ giao diện dễ sử dụng cho cả người quản trị lẫn giáo viên và học viên. ™ Giáo viên có các chức năng như đưa bài giảng và câu hỏi lên. ™ Học viên cũng có các chức năng phục vụ cho việc truy cập như làm kiểm tra, tải tài liệu xuống… ™ Có chứa các liên kết multimedia (đa phương tiện) bao gồm hình ảnh và âm thanh. Nói chung giao diện tương đối hài hoà, đẹp mắt, dễ sử dụng, thoả mãn được những đòi hỏi cơ bản của người sử dụng. V.2. Chức năng ™ Ghi lại các thời điểm và hoạt động mà người dùng đăng bài lên. ™ Hỗ trợ tài liệu người dùng tốt. ™ Hỗ trợ việc tải lên và tải xuống tài nguyên. ™ Có tính sử dụng lại cao (có thể lưu trữ, sao chép dự phòng…). 71 V.3. Thiết kế giao diện Hình 5.1. Giao diện trang chủ 72 Hình 5.2. Giao diện trang đăng nhập Sau khi đăng nhập thành công sẽ chuyển sang trang chủ quản trị: Hình 5.3. Giao diện trang chủ quản trị 73 Khi nhấn vào các liên kết ở phía đầu trang quản trị, hệ thống sẽ chuyển sang trang cần quản lý ™ Trang quản lý bài học Hình 5.4. Giao diện trang quản lý bài học 74 ™ Trang quản lý câu hỏi Khi vào trang câu hỏi, người có thể tìm kiếm các câu hỏi theo trình độ, bài học, loại câu hỏi, … Hình 5.5. Giao diện trang quản lý câu hỏi 75 Hình 5.6. Giao diện trang làm kiểm tra 76 Sau khi hoàn tất bài kiểm tra, người dùng nhấn nút Kết thúc, đáp án sẽ hiện ra. Hình 5.7. Giao diện hiển thị đáp án 77 CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN VI.1. Đánh giá VI.1.1. Ưu điểm ™ Về mặt giao diện - Cho một giao diện thân thiện với người sử dụng. - Sử dụng kỹ thuật hình động (flash) nên tạo được giao diện bắt mắt. ™ Về mặt chức năng website - Do được xây dựng từ các module đơn lẻ, website có thể dễ dàng nâng cấp các chức năng cho mình trong một thời gian ngắn. - Có công cụ biên soạn bài giảng, câu hỏi đơn giản, dễ sử dụng và khá mạnh. - Nội dung các bài giảng bao gồm các văn bản, hình ảnh, âm thanh khá phong phú. ™ Về mặt dữ liệu - Website đã chọn ra những hình ảnh và thông tin về những bài học khá phong phú và đa dạng. - Website có khả năng lưu trữ lượng dữ liệu tương đối lớn mà vẫn duy trì được độ ổn định trong quá trình hoạt động. 78 VI.1.2. Khuyết điểm ™ Về mặt giao diện: Website có màu sắc và bố cục chưa thật hoàn hảo. Một số chi tiết như khung viền, canh lề chưa hợp lý ™ Về mặt chức năng website: Website còn thiếu một số chức năng quan trọng khiến cho website chỉ mang tính thử nghiệm. Website không có chức năng gửi email riêng, nội bộ và còn thiếu chức năng diễn đàn, trợ giúp người dùng. ™ Về mặt dữ liệu: Do hạn chế về mặt thời gian, website vẫn chưa trang bị đầy đủ dữ liệu thử nghiệm. Hiện tại, chỉ đưa ra một số dạng để kiểm thử. VI.2. Hướng phát triển Để tiếp tục phát triển hệ thống, cần khắc phục những khuyết điểm, hạn chế, nâng cấp các chức năng, giao diện, có thể kể ra như: ™ Sẽ xây dựng công cụ soạn thảo giáo trình trên nền web. ™ Thực hiện việc thống kê bài học và câu hỏi theo ngày, tháng, quý. ™ Tạo các báo cáo thống kê cho các học viên. ™ Có thể lưu kết quả kiểm tra của từng người dùng. ™ Hệ thống hỗ trợ học trực tuyến, phát triển thành dạng E-learning. ™ Ngoài ra, hệ thống cho phép người dùng đăng bài (hiện tại chỉ có admin và giáo viên mới có chức năng này). ™ Và sẽ nâng cấp chức năng bảo mật, phân quyền, sửa đổi giao diện. 79 Tài liệu tham khảo [1] Đặng Văn Đức (2002). Phân tích thiết kế hướng đối tượng bằng UML. Nhà xuất bản Giáo Dục, Hà Nội. [2] Wendy Boggs – Micheal Boggs (2002). Mastering UML with Rational Rose. SYBEX Inc, 1151 Marina Village Parkwa – Alameda – CA 94501. [4] Bùi Thị Thủy Tiên (1998). Phân tích _ thiết kế và xây dựng chương trình quản lý Trung tâm môi giới, mua bán và dự báo bất động sản. Luận văn Đại học, Đại học Kỹ Thuật Công Nghệ. [5] [6] [7] Programing.ASP.NET.2rd.Edition,Oreilly,2003 [8] ASP.NET 2.0 E-Commerce in C# 2005, Cristian Darie and Karli Watson, 2005 [9] "Bài giảng cơ sở dữ liệu & phân tích và thiết kế hệ thống thông tin quản lý ", Ths. Nguyễn Hữu Trọng. [10] Programming C#, Jesse Liberty, O’Reilly. [11] C# in 21 Days, Bradley L.Jones, SAMS. [11] Windows Forms Programming with C#, Erik Brown, Manning. [12] Lập trình web dùng ASP.NET & C# tập 5 trong bộ .NET Toàn tập, Dương Quang Thiện. NXB. Tổng Hợp TP.HCM – 2005. [13] Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional, Matthew MacDonald. APress Publishing – 2006.

Các file đính kèm theo tài liệu này:

  • pdfXây dựng chương trình học Anh văn trực tuyến.pdf
Luận văn liên quan