Bảng mô tả use-case cho chức năng Thêm/Xóa một câu hỏi trong bài thực hành

Một phần của tài liệu Hệ thống hỗ trợ thực hành lập trình và gợi ý lộ trình thực hành (Trang 87 - 93)

A Kết quả phân loại câu hỏi môn KTLT và CTDL&GT

4.6 Bảng mô tả use-case cho chức năng Thêm/Xóa một câu hỏi trong bài thực hành

Tên use-case Thêm/Xóa một câu hỏi trong bài thực hành

Người tác động Lecturer, Admin

Mơ tả Tính năng giúp người dùng thêm/xóa một câu hỏi trong ngân hàng

câu hỏi vào trong/ra khỏi bài thực hành.

Tiền điều kiện Người dùng đang ở màn hình của một bài thực hành.

Luồng đi thơng thường

1. Người dùng nhấn vào nútAdd Question/ icon Delete Ques-

tion.

2. Nếu người dùng nhấn vào nútAdd Question trong bài thực hành.

2.1. Hộp thoại hiện ra là một phiên bản thu gọn của ngân hàng câu hỏi, sử dụng chức năng truy cập của ngân hàng câu hỏi để tìm câu hỏi mong muốn.

2.2. Người dùng nhấn iconAdd.

2.3. Một câu hỏi được thêm vào bài thực hành.

3. Nếu người dùng nhấn vào nút icon Delete Question của một câu hỏi.

3.1. Câu hỏi được xóa khỏi bài thực hành.

Ngoại lệ

Ngoại lệ 1: bước 2

2a. Nếu câu hỏi đã tồn tại trong bài thực hành, hệ thống hiện thông báo đến người dùng.

Luồng đi thay

4.2.7 Hiện thực các chức năng quản lý ngân hàng câu hỏi

Hình 4.17:Sequence Diagram cho chức năng Thêm/Xóa câu hỏi trong bài thực hành

4.2.8 Thay đổi cơ sở dữ liệu cho tính năng quản lý ngân hàng câu hỏi

Để có thể hiện thực được các giải pháp đề xuất cho ngân hàng câu hỏi, nhóm cần phải có một số điều chỉnh cho việc lưu trữ dưới CSDL. Ban đầu, mối quan hệ-thực thể dưới cơ sở dữ liệu của AGS được mơ tả như hình 4.18. Việc đầu tiên chúng ta cần làm là tách sự phụ thuộc của của Exercise và Course đối với Question.

Hình 4.18:Mơ hình cơ sở dữ liệu lưu trữ câu hỏi của hệ thống AGS

Thay vào đó, các câu hỏi giờ đây sẽ thuộc về một ngân hàng câu hỏi và cụ thể chính là các thư mục. Trong đó, thư mục gốc sẽ là thư mục của một tổ chức (ngân hàng chung) hoặc thư mục gốc của một cá nhân (ngân hàng riêng). Sơ đồ ý niệm của cách lưu trữ cây phân cấp thư mục được trình bày như hình 4.19.

Hình 4.19:Sơ đồ ý niệm của cách lưu trữ câu hỏi trong ngân hàng câu hỏi

Bên cạnh đó, nhóm cũng có một số điều chỉnh, ví dụ như quan hệ giữa câu hỏi với bài thực hành giờ đây sẽ là quan hệ many-to-many. Tổng quan lại, sơ đồ quan hệ-thực thể dùng để lưu trữ câu hỏi được nhóm thay đổi thành như hình 4.20.

Hình 4.20:Mơ hình cơ sở dữ liệu của tính năng quản lý ngân hàng câu hỏi

• Thêm bảngFolder: Đây là bảng lưu trữ các thư mục chứa các câu hỏi. Bảng 4.7:Bảng Folders

Tên trường Kiểu dữ liệu Mô tả trường

id UUID, PK

name TEXT Tên thư mục

organization_id UUID Khóa ngoại trỏ đến tổ chức (organization) của thư mục (bị null nếu là thư mục của ngân hàng riêng)

user_id UUID Khóa ngoại trỏ đến người dùng của thư mục

parent_id UUID, FK Khóa ngoại trỏ đến thư mục cha hierarchy_level INTEGER Chiều cao của nút so với nút gốc

created_by UUID Người tạo thư mục

created_at TIMESTAMP Được tạo ra vào lúc updated_at TIMESTAMP Được cập nhật vào lúc deleted_at TIMESTAMP Được xóa bỏ vào lúc

• Thêm bảngFolder Ancestors: Đây là bảng lưu trữ mối quan hệ giữa các thư mục, được

tạo với mục đích giúp việc truy xuất dữ liệu được thuận tiện hơn.

Một phần của tài liệu Hệ thống hỗ trợ thực hành lập trình và gợi ý lộ trình thực hành (Trang 87 - 93)

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

(159 trang)