Phân tích hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) học cộng tác trong đào tạo trực tuyến (Trang 56)

CHƯƠNG 2 : HỌC CỘNG TÁC TRONG E-LEARNING

3.2. Phân tích & Thiết kế

3.2.3. Phân tích hệ thống

Từ những phân tích tổng quát và chi tiết từng ca sử dụng hệ thống ở trên, ta có cái nhìn tổng quát về tác nhân và hành động. Những biểu đồ tuần tự sau đây sẽ miêu tả chi tiết sự tương tác giữa các đối tượng với nhau theo thời gian gửi/nhận thông điệp. Biểu đồ gồm 2 trục: trục dọc biểu diễn thời gian xảy ra các sự kiện, trục ngang từ trái qua phải biểu diễn dãy các đối tượng.

a.Phân tích ca sử dụng Input Question

Từ đặc tả chi tiết ca sử dụng Input Question ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của tác nhân Learner thưc hiện và phản hồi của hệ thống khi người học nhập câu hỏi.

- Tác nhân: Learner (người học)

- Lớp dữ liệu: Lớp dữ liệu Questions chứa các câu hỏi về vấn đề nào đó của người học.

- Lớp giao diện: Lớp giao diện InputQuestionForm cho phép người học

nhập câu hỏi về vấn đề nào đó.

- Lớp điều khiển: Lớp điều khiển InputQuestionCtrl làm nhiệm vụ điều khiển việc truy xuất và cập nhật thông tin về câu hỏi.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau:

: Learner : InputQuestionForm : InputQuestionCtrl : Questions 1: InputQuestion( )

2: CheckQuestionInfo( ) 3: Result( )

4: Insert( )

Hình 3-2 Biểu đồ tuần tự ca sử dụng Input Question

Biểu đồ cộng tác: Tương tự như biểu đồ tuần tự ta suy ra biểu đồ cộng tác biểu thị sự tương tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp.

: Learner : InputQuestionForm : InputQuestionCtrl : Questions 1: InputQuestion( ) 2: CheckQuestionInfo( ) 3: Result( ) 4: Insert( )

Hình 3-3 Biểu đồ cộng tác ca sử dụng Input Question

b.Phân tích ca sử dụng Give Answer

Từ đặc tả chi tiết ca sử dụng Give Answer ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của hệ thống chuyển câu hỏi yêu cầu được trả lời cho các Learner và các Expert/Teacher.

- Tác nhân: Learner, Expert/Teacher

- Lớp điều khiển: Lớp điều khiển GiveAnswerCtrl có trách nhiệm điều khiển việc chuyển câu hỏi tới tác nhân Learner (Expert/Teacher) và nhận câu trả lời từ các tác nhân đó.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau:

: System : GiveAnswerCtrl : Learner : Expert/Te... 1: RequestAnswer( ) 2: DeliveryRequestAnswer( ) 3: DeliveryRequestAnswerForTeacher( ) 5: ReplyAnwser( ) 4: ReplyAnwser( ) 6: DeliveryAnswer( )

Hình 3-4 Biểu đồ tuần tự ca sử dụng Give Answer

Biểu đồ cộng tác: : Learner : System : GiveAnswerCtrl : Expert/Teacher 1: RequestAnswer( ) 2: DeliveryRequestAnswer( ) 3: DeliveryRequestAnswerForTeacher( ) 4: ReplyAnwser( ) 5: ReplyAnwser( ) 6: DeliveryAnswer( )

Hình 3-5 Biểu đồ cộng tác ca sử dụng Give Answer

c.Phân tích ca sử dụng Get Answer

Từ đặc tả chi tiết ca sử dụng Get Answer ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động

của tác nhân Learner thưc hiện và phản hồi của hệ thống khi người học nhập câu hỏi.

- Tác nhân: Learner, Q&A System

- Lớp dữ liệu: Lớp dữ liệu Answers chứa các phương án trả lời.

- Lớp điều khiển:

o Lớp điều khiển GetAnswer có nhiệm vụ nhận các yêu cầu về câu trả lời, chuyển tiếp các yêu cầu này tới lớp điều khiển SearchQuestion và nhận kết quả từ đây.

o Lớp điều khiển SearchQuestion có nhiệm vụ nhận các yêu cầu về câu trả lời, tìm kiếm trong lớp dữ liệu Answer và chuyển kết quả về lại cho lớp điều khiển GetAnswer.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau: : System : GetAnswer : SearchQuesti... : Answer : Learner 1: RequestAnswer( ) 2: DeliveryRequest( ) 3: SearchAnswer( ) 4: SearchResult( ) 5: DeliveryAnswer( ) 6: DeliveryAnswer( )

Hình 3-6 Biểu đồ tuần tự ca sử dụng Get Answer

: Learner : System : GetAnswer : Answer : SearchQuestion&Answer 1: RequestAnswer( ) 2: DeliveryRequest( ) 3: SearchAnswer( ) 4: SearchResult( ) 5: DeliveryAnswer( ) 6: DeliveryAnswer( )

Hình 3-7 Biểu đồ cộng tác ca sử dụng Get Answer

d.Phân tích ca sử dụng Post Vote for Answer

Từ đặc tả chi tiết ca sử dụng Post Vote for Answer ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của tác nhân Learner thưc hiện và phản hồi của hệ thống khi người học nhập các đánh giá về câu trả lời nào đó.

- Tác nhân: Learner

- Lớp dữ liệu: Lớp dữ liệu AnswerVote chứa các đánh giá của người học

về các câu trả lời.

- Lớp giao diện: Lớp giao diện VoteForAnswerForm cho phép người học

nhập đánh giá của mình về câu trả lời.

- Lớp điều khiển: Lớp điều khiển VoteForAnswerCtrl có nhiệm vụ yêu cầu

tác nhân Learner đánh giá câu trả lời, tính toán lại đánh giá về các câu trả lời và cập nhật lại thứ tự sắp xếp các câu trả lời.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau:

: Learner : VoteForAnswerForm : VoteForAnswerCtrl : AnswerVote 1: RequestVoteForAnswer( ) 2: VoteForAnswer( ) 3: CalculateRank( ) 4: UpdateRank( )

Hình 3-8 Biểu đồ tuần tự ca sử dụng Post Vote for Answer

Biểu đồ cộng tác: : Learner : VoteForAnswerForm : VoteForAnswerCtrl : AnswerVote 2: VoteForAnswer( ) 3: CalculateRank( ) 1: RequestVoteForAnswer( ) 4: UpdateRank( )

Hình 3-9 Biểu đồ cộng tác ca sử dụng Post Vote for Answer

e. Phân tích ca sử dụng Building Question Database

Từ đặc tả chi tiết ca sử dụng Building Question Database ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của tác nhân Q&A System thưc hiện việc câp nhật câu hỏi vào cơ sở dữ liệu các câu hỏi.

- Tác nhân: Q&A System

- Lớp dữ liệu: Lớp dữ liệu Question chứa các câu hỏi về vấn đề nào đó.

- Lớp điều khiển:

o Lớp điều khiển BuildingQuestionCtrl có nhiệm vụ kiểm tra sự tồn tại hay không tồn tại của câu hỏi trong cơ sở dữ liệu các câu hỏi và chèn câu hỏi mới vào cơ sở dữ liệu.

o Lớp điều khiển SearchQuestion có nhiệm vụ tìm kiếm trong cơ sở dữ liệu các câu hỏi xem đã có câu hỏi được yêu cầu tìm kiếm hay chưa. Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau: : BuildingQuetionCtrl : System SearchQuesti... : : Question 1: RequestAddNewQuestion( ) 2: CheckExistQuestion( ) 3: Search( ) 4: SearchResult( ) 5: DeliverySearchResult( ) 6: Insert( ) 7: InsertMessage( )

Hình 3-10 Biểu đồ tuần tự ca sử dụng Building Question Database

: System : Question : SearchQuestion&Answer : BuildingQuetionCtrl 1: RequestAddNewQuestion( ) 2: CheckExistQuestion( ) 3: Search( ) 4: SearchResult( ) 5: DeliverySearchResult( ) 6: Insert( ) 7: InsertMessage( )

Hình 3-11 Biểu đồ cộng tác ca sử dụng Building Question Database

f. Phân tích ca sử dụng Building Answer Database

Từ đặc tả chi tiết ca sử dụng Building Answer Database ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của tác nhân Q&A System thực hiện việc cập nhật câu trả lời vào cơ sở dữ liệu các câu trả lời.

- Tác nhân: Q&A System

- Lớp dữ liệu:

o Lớp dữ liệu Question chứa các câu hỏi về vấn đề nào đó.

o Lớp dữ liệu Answer chứa các trả lời cho câu hỏi về vấn đề nào đó. - Lớp điều khiển:

o Lớp điều khiển BuildingAnswerCtrl có nhiệm vụ nhận yêu cầu trả lời, kiểm tra câu hỏi và cập nhật câu trả lời vào cơ sở dữ liệu các câu trả lời.

o Lớp điều khiển SearchQuestion&Answer có nhiệm vụ tìm kiếm xem câu hỏi được yêu cầu tìm kiếm có tồn tại hay không tồn tại trong cơ sở dữ liệu các câu hỏi.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau: : System : BuidlingAnswerCtrl : SearchQuesti... : Question : Answer 1: RequestAddNewAnswer( ) 2: CheckExistQuestion( ) 3: Search( ) 4: SearchResult( ) 5: DeliverySearchResult( ) 6: Insert( )

Hình 3-12 Biểu đồ tuần tự ca sử dụng Building Answer Database

Biểu đồ cộng tác: : System : BuidlingAnswerCtrl : SearchQuestion&Answer : Question : Answer 1: RequestAddNewAnswer( ) 2: CheckExistQuestion( ) 3: Search( ) 4: SearchResult( ) 5: DeliverySearchResult( ) 6: Insert( )

Biểu đồ họat động: InputQuesti on Existed in Question DB Delivery Question for Learner Get Answer Evaluate Answer Not Existed Insert Answer >= threshold

Hình 3-14 Biểu đồ hoạt động ca sử dụng Building Answer Database

g.Phân tích ca sử dụng Evaluate and Classify Learner

Ca sử dụng Evaluate and Classify Learner được sử dụng nhằm đánh giá và phân loại người học.

GetLearner Model Classify Learner Evaluate Learner Get Rank ofLearner's Answer

Hình 3-15 Biểu đồ hoạt động ca sử dụng Evaluate and Classify Learner

h.Phân tích ca sử dụng Search Question & Answer

Từ đặc tả chi tiết ca sử dụng Search Question & Answer ta suy ra biểu đồ tuần tự biểu diễn các hành động xảy ra thứ tự theo thời gian. Biểu đồ này cho biết thứ tự hành động của tác nhân Q&A System thưc hiện việc kiểm tra sự tồn tại của câu hỏi và tìm câu trả lời cho câu hỏi đó.

- Tác nhân: Q&A System

- Lớp dữ liệu: Lớp dữ liệu Questions chứa các câu hỏi của người học.

- Lớp điều khiển: Lớp điều khiển SearchQuestion&Answer có nhiệm vụ tìm kiếm sự tồn tại của câu hỏi được yêu cầu và trả về kết quả cho hệ thống.

Trình tự các hoạt động diễn ra trong ca sử dụng này được mô tả trong biểu đồ tuần tự sau:

Hình 3-17 Biểu đồ cộng tác ca sử dụng Search Question & Answer

Biểu đồ cộng tác:

Hình 3-16 Biểu đồ tuần tự ca sử dụng Search Question & Answer

: System

: System SearchQuesti... : : Question

1: CheckExistQuestion( ) 2: Search( ) 3: SearchResult( ) : SearchQuestion&Answer : Question 1: CheckExistQuestion( ) 2: Search( ) 3: SearchResult( )

Courses courseID courseName Insert() Update() Delete() Keyword keywordID keyword insert() update() delete() Questions questionID question problemID learnerID getProblemID() serProblemID() Insert() Question_Keyword questionID keywordID Insert() Delete() 1..* 1..* 1..* 1..* Problems ProblemID ProblemName CourseID getCourseID() setCouseID() Insert() Update() Delete() 1..* 1..* 1..* 1..* Learner_Problem learnerID problemID insert() update() delete() 1..* 1..* Learner learnerID learnerName Insert() Update() Delete() 1..* 1..* 1..* 1..* Answers answerID answer learnerID questionID getLearnerID() setLearnerID() setQuestionID() 1..* 1..* 1..* 1..* AnswerVote answervoteID answerMark answerID learnerID getAnswerMark() insert() update() 1..* 1..* 1..* 1..* 3.2.4. Biểu đồ lớp các đối tượng

a.Courses: Lớp quản lý các khóa học cho phép thêm, xóa, cập nhật các khóa học.

- Thuộc tính:

o courseID: Mã khóa học

o courseName: Tên khóa học - Phương thức:

o Insert(): Cho phép chèn thêm khóa học mới

o Update(): Cho phép cập nhật khóa học đang có

o Delete(): Cho phép xóa khóa học

b.Problems: Lớp quản lý các vấn đề của khóa học, lớp này cho phép lấy chỉ số của khóa học, thiết đặt chỉ số khóa học, thêm, xóa, cập nhật các vấn đề của khóa học.

- Thuộc tính:

o problemID: Mã của vấn đề

o problemName: Tên của vấn đề

o courseID: Mã của khóa học cho vấn đề - Phương thức:

o getCourseIP(): Cho phép lấy mã của khóa học

o setCourseIP(): Cho phép thiết đặt mã của khóa học

o Insert(): Cho phép chèn thêm vấn đề mới

o Update(): Cho phép cập nhật vấn đề đang có

c.Learner: Lớp quản lý người học, lớp này cho phép thêm, xóa, cập nhật người học.

- Thuộc tính:

o learnerID: Mã của người học

o learnerName: Tên của người học - Phương thức:

o Insert(): Cho phép thêm mới người học

o Update(): Cho phép cập nhật thông tin người học

o Delete(): Cho phép xóa người học

d.Learner_Problem: Lớp quản lý các vấn đề của người học, lớp này cho phép

thêm, xóa, cập nhật các vấn đề của người học. - Thuộc tính:

o learnerID: Mã của người học

o problemID: Mã của vấn đề - Phương thức:

o Insert(): Cho phép chèn thêm vấn đề mới của người học

o Update(): Cho phép cập nhật vấn đề đang có

o Delete(): Cho phép xóa vấn đề

e.Question: Lớp quản lý các câu hỏi, lớp này cho phép lấy mã của vấn đề của

câu hỏi, thiết đặt mã cho vấn đề của câu hỏi, thêm mới, cập nhật, tìm kiếm câu hỏi nào đó, lấy chỉ số của người học đã đặt ra câu hỏi và thiết đặt mã của người học đã đặt câu hỏi.

o questionID: Mã của câu hỏi

o question: Nội dung câu hỏi

o problemID: Mã của vấn đề của câu hỏi

o learnerID: Mã của người học đã đặt ra câu hỏi - Phương thức:

o getProblemID(): Cho phép lấy mã của vấn đề của câu hỏi

o setProblemID(): Cho phép thiết đặt mã của vấn đề của câu hỏi

o Insert(): Cho phép chèn thêm câu hỏi mới

o Search(): Cho phép tìm kiếm câu hỏi nào đó

o Update(): Cho phép cập nhật lại câu hỏi

o getLearnerID(): Cho phép lấy mã của người học đã đưa ra câu hỏi

o setLearnerID(): Cho phép thiết đặt mã của người học đã đưa ra câu hỏi

f. Answer: Lớp quản lý các câu trả lời, lớp này cho phép lấy mã người học tham gia trả lời, thiết đặt mã người học tham gia trả lời, thiết đặt mã của câu hỏi đã được trả lời, lấy mã của câu hỏi đã được trả lời, thêm và tìm kiếm câu trả lời nào đó.

- Thuộc tính:

o answerID: Mã của câu trả lời

o answer: Nội dung câu trả lời

o questionID: Mã của câu hỏi được trả lời

o learnerID: Mã của người học trả lời câu hỏi - Phương thức:

o getLearnerID(): Cho phép lấy mã của người học đã trả lời câu hỏi

o setLearnerID(): Cho phép thiết đặt mã của người học đã trả lời câu hỏi

o setQuestionID(): Cho phép thiết đặt mã của câu hỏi đã được trả lời

o getQuestionID(): Cho phép lấy mã của câu hỏi đã được trả lời

o Insert(): Cho phép chèn thêm câu trả lời mới

o Search(): Cho phép tìm kiếm câu trả lời

g.AnswerVote: Lớp quản lý đánh giá về câu trả lời, lớp này cho phép thêm, cập nhật và đánh giá của câu trả lời nào đó.

- Thuộc tính:

o answervoteID: Mã của câu trả lời được đánh giá

o answerMark: Điểm đánh giá của câu trả lời

o answerID: Mã của câu trả lời

o learnerID: Mã của người học tham gia đánh giá - Phương thức:

o getAnswerMark(): Cho phép lấy điểm đánh giá của câu trả lời nào đó

o Insert(): Cho phép thêm mới người học

o Update(): Cho phép cập nhật thông tin người học

h.Keyword: Lớp quản lý các từ khóa, lớp này cho phép chèn, cập nhật và xóa

từ khóa.

- Thuộc tính:

o keyword: Nội dung của từ khóa - Phương thức:

o Insert(): Cho phép chèn thêm từ khóa mới

o Update(): Cho phép cập nhật lại từ khóa

o Delete(): Cho phép xóa từ khóa nào đó

i. Question_Keyword: Lớp quản lý các từ khóa của câu hỏi, lớp này cho phép

chèn và xóa từ khóa của câu hỏi nào đó. - Thuộc tính:

o keywordID: Mã của từ khóa

o questionID: Mã của câu hỏi - Phương thức:

o Insert(): Cho phép chèn thêm mã của câu hỏi sử dụng từ khóa nào đó

o Delete(): Cho phép xóa mã câu hỏi

3.3. Cài đặt trin khai

3.3.1. Công cụ phát triển

- UML là ngôn ngữ mô hình hóa được sử dụng để xác định rõ, hoặc tổng quát hóa, xây dựng nên bản tài liệu cho hệ thống phần mềm. UML được sử dụng để hiểu, thiết kế, tìm kiếm, đặt cấu hình, duy trì và điều khiển thông tin về những hệ thống. UML được thiết kế để sử dụng với mọi phương thức phát triển, những phạm vi vòng đời, những miền ứng dụng và các phương tiện truyền thông đại chúng

- PHP (Personal Home Page) là kịch bản trên Server (Server Script), được thiết kế cho phép xây dựng ứng dụng Web trên cơ sở dữ liệu. Mã PHP có

thể được thực thi trên Web Server (trình duyệt Web) để tạo ra trang HTML và xuất ra trình duyệt Web theo yêu cầu của người dùng.

Một phần của tài liệu (LUẬN văn THẠC sĩ) học cộng tác trong đào tạo trực tuyến (Trang 56)

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

(86 trang)