Git Product home page Git Product logo

englishlearning_winform's Introduction

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO PBL3: ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI: HỆ THỐNG TỪ ĐIỂN HỖ TRỢ HỌC TỪ VỰNG TIẾNG ANH

GIẢNG VIÊN HƯỚNG DẪN : Lê Thị Mỹ Hạnh

SINH VIÊN THỰC HIỆN

  1. Lê Anh Khoa 102210166 Nhóm 21N13
  2. Nguyễn Đức Nghĩa 102210174 Nhóm 21N13
  3. Trần Đình Văn 102210286 Nhóm 21N13
  4. Trần Duy Thục 102210189 Nhóm 21N13

Đà Nẵng, …/2022

  LỜI NÓI ĐẦU Hiện nay, Tiếng Anh là một ngôn ngữ rất thông dụng và phổ biến trên toàn thế giới. Đối với các bạn học sinh, sinh viên, việc học tiếng anh là rất quan trọng và cần thiết. Việc có thể sử dụng và giao tiếp bằng tiếng anh là một lợi thế lớn để đạt được thành công trong học tập cũng như công việc. Tuy nhiên việc học tiếng anh là một thử thách không hề nhỏ và có thể gặp nhiều thách thức. Một trong những khó khăn thường thấy đó là vấn đề học từ vựng. Việc ghi nhớ và áp dụng từ vựng trong ngữ cảnh thực tế gây không ít khó khăn cho người học, đặc biệt là những người mới bắt đầu. Phần mềm Từ điển tiếng anh kết hợp học từ vựng ra đời nhằm giải quyết vấn đề trên, giúp cho người học có thể học từ vựng tiếng anh một cách dễ dàng và hiệu quả. Với sự kết hợp giữa tính năng tra cứu và công cụ học từ vựng, phần mềm Từ điển tiếng Anh kết hợp học từ vựng mang đến một giải pháp toàn diện cho việc nâng cao vốn từ vựng và sử dụng tiếng Anh.  

  1. QUÁ TRÌNH TRIỂN KHAI Ngày Nội dung công việc 10/02 – 15/02 Phân tích đề tài 22/02 – 28/02 Xây dựng tài liệu RO (Requirement Outline) 04/03 – 14/03 Xây dựng tài liệu SRS 14/03 – 30/03 Thiết kế cơ sở dữ liệu 30/3 – 10/04 Thiết kế giao diện ứng dụng 11/04 – 15/5 Triển khai lập trình 16/05 – 27/05 Kiểm tra, chỉnh sửa 04/03 – 30/5 Viết báo cáo

  2. DANH SÁCH PHÂN CÔNG NHIỆM VỤ 2.1. Phân công nhiệm vụ Thành viên Nhiệm vụ Lê Anh Khoa - Phân tích các yêu cầu chức năng

  • Thiết kế cơ sở dữ liệu
  • Thiết kế giao diện ứng dụng
  • Thực hiện chức năng: Tìm kiếm từ vựng (Tiếng Anh), quản lý chủ đề từ vựng, thống kê.
  • Viết báo cáo. Nguyễn Đức Nghĩa - Phân tích các yêu cầu chức năng
  • Thiết kế giao diện ứng dụng
  • Thực hiện chức năng: Ôn tập từ vựng (Trắc nghiệm và thẻ từ vựng).
  • Kiểm tra, chỉnh sửa lỗi
  • Viết báo cáo. Trần Đình Văn - Phân tích các yêu cầu chức năng.
  • Thiết kế cơ sở dữ liệu.
  • Thực hiện chức năng: Đăng kí, đăng nhập, quản trị tài khoản người dùng, tìm kiến từ vựng (Tiếng Việt).
  • Viết báo cáo Trần Duy Thục - Phân tích các yêu cầu chức năng.
  • Thực hiện chức năng: Đăng kí, đăng nhập, dịch từ vựng, quản lý sổ tay từ vựng.
  • Kiểm tra, chỉnh sửa lỗi
  • Viết báo cáo

2.2. Quản lý dự án • Công cụ quản lý công việc: Trello • Công cụ quản lý mã nguồn: Github • Công cụ lập trình: Visual Studio • Công cụ quản lý cơ sở dữ liệu: MySQL Workbench • Ngôn ngữ lập trình: C#

 Quá trình quản lý dự án o Giai đoạn 1: Khởi động dự án  Chọn đề tài, phân tích mục đích, ý nghĩa của đề tài đó  Liệt kê danh sách các công việc cần thực hiện cho dự án o Giai đoạn 2: Xây dựng kế hoạch cho dự án  Ước lượng thời gian cho từng công việc cụ thể  Phân công công việc cho các thành viên.  Lập lịch cho dự án, xác định thời gian hoàn thành cụ thể cho từng công việc và của cả dự án. o Giai đoạn 3: Triển khai dự án, theo dõi và kiểm tra tiến độ của dự án  Triển khai theo kế hoạch đã được phân công trên Trello, theo dõi tiến độ và đánh giá công việc, họp định kì để kiểm tra tiến độ công việc giữa các thành viên. o Giai đoạn 4: Hoàn thành dự án  Kiểm tra phần mềm.  Đánh giá và chỉnh sửa.  Hoàn thành báo cáo dự án.  3. GIỚI THIỆU 3.1. Mục đích Xây dựng một phần mềm hỗ trợ người dùng có thể tra cứu và học từ vựng tiếng anh một cách hiệu quả. Với các chức năng cơ bản như : • Giúp người dùng tra cứu các từ vựng tiếng anh, cung cấp định nghĩa, ví dụ minh họa và các cách dùng của từ vựng. • Hỗ trợ người dùng lưu trữ các từ vựng cần học và xây dựng xác minigame để giúp việc học của người dùng trở nên thú vị hơn

3.2. Phạm vi Đối tượng sử dụng: Bất kì ai có nhu cầu học tiếng Anh nâng cao. Phạm vi nghiên cứu: Hệ thống từ điển hỗ trợ học từ vựng tiếng anh, giúp người dùng có thể tra cứu từ vựng và ôn tập các từ vựng muốn học. 4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 4.1. Tác nhân • Người dùng: Đăng kí, đăng nhập, sử dụng các tính năng tra cứu, học từ vựng • Quản trị viên: Đăng nhập, Quản lí tài khoản, Quản lí từ vựng, Quản lí gói từ vựng, Quản lí chủ đề từ vựng 4.2. Biểu đồ ca sử dụng 4.2.1. Biểu đồ use case tổng quát

Hình 4- 1 Use-case Tổng quát

4.2.2. Sơ đồ phân rã Use-case Quản lí tài khoản người dùng Hình 4- 2 Use-case Quản lí tài khoản người dùng

4.2.2.1. Đặc tả Use-case đăng kí Mã Usecase: UC_001 Tên Usecase: Đăng kí tài khoản Mô tả: Cho phép người dùng tạo tài khoản Actor: Người dùng Trigger: Người dùng chọn vào chức năng “Đăng kí” trong giao diện đăng nhập Hậu điều kiện: Hệ thống thêm tài khoản vừa được tạo vào CSDL Luồng sự kiện chính Người dùng Hệ thống

  1. Chọn “Đăng kí” trên giao diện đăng nhập 2. Hiển thị giao diện đăng kí tương ứng cho người dùng và yêu cầu nhập email
  2. Nhập email muốn liên kết với tài khoản và xác nhận 4. Kiểm tra định dạng Email hợp lệ và gửi mã xác thực vào Email
  3. Nhập mã xác thực lấy từ email và xác nhận 6. Kiểm tra mã xác thực đúng và yêu cầu người dùng nhập tên đăng nhập và mật khẩu
  4. Nhập tên đăng nhập, mật khẩu và xác nhận 8. Kiểm tra tài khoản và mật khẩu vừa được nhập hợp lệ và yêu cầu nhập thông tin cá nhân
  5. Nhập thông tin cá nhân 9. Xác nhận thông tin vừa được nhập hợp lệ và thông báo tạo tài khoản thành công cho người dùng Luồng sự kiện thay thế 4.a Kiểm tra định dạng Emial không hợp lệ, hiển thị thông báo và yêu cầu quay lại bước 3 6.a Kiểm tra nhập mã xác thực sai, hiển thị thông báo 6.a1 Gửi lại mã xác thực và quay lại bước 5 8.a Kiểm tra tài khoản được nhập vào đã tồn tại, hiển thị thông báo và quay lại bước 7 8.b Kiểm tra mật khẩu nhập vào ở 2 mục không trùng khớp nhau, hiển thị thông báo và quay lại bước 7 Luồng sự kiện ngoại lệ 3.a Người dùng nhập Email không tồn tại Bảng 4- 1 Đặc tả Use-case Đăng kí 4.2.2.2. Đặc tả Use-case Đổi mật khẩu Mã Usecase: UC_002 Tên Usecase: Đổi mật khẩu Mô tả: Cho phép QTV, Người dùng thay đổi mật khẩu của tài khoản Actor: QTV, Người dùng Trigger: QTV, Người dùng bấm vào nút “Quên mật khẩu” có trong giao diện đăng nhập Tiền điều kiện: Người dùng đã có thông tin tài khoản được lưu trong hệ thống. Hậu điều kiện: Hệ thống cập nhật lại mật khẩu của tài khoản. Luồng sự kiện chính QTV, Người dùng Hệ thống
  6. Chọn “Quên mật khẩu” trên giao diện đăng nhập 2. Hiển thị giao diện quên mật khẩu tương ứng
  7. Điền tài khoản đăng nhập cần thay đổi mật khẩu và xác nhận 4. Kiểm tra tài khoản người dùng nhập vào có tồn tại 5. Gửi mã xác thực vào email tương ứng của người dùng và yêu cầu nhập mã
  8. Nhập đúng mã xác thực và bấm xác nhận 7. Kiểm tra mã xác nhận đúng và yêu cầu người dùng nhập mật khẩu
  9. Nhập mật khẩu mới 9. Hiển thị thông báo đổi mật khẩu thành công Luồng sự kiện thay thế 4.a Kiểm tra tài khoản không tồn tại, báo lỗi yêu cầu người dùng nhập lại 6.a Tác nhân nhập sai mã xác thực 6.a1 Báo lỗi và yêu cầu người dùng nhập lại Luồng sự kiện ngoại lệ 3.a Tác nhân quên tài khoản và rời khỏi Bảng 4- 2 Đặc tả Use-case Đổi mật khẩu

4.2.2.3. Đặc tả Use-case Thêm tài khoản Mã Usecase: UC_003 Tên Usecase: Thêm tài khoản Mô tả: Cho phép QTV thêm tài khoản vào CSDL Actor: QTV Trigger: QTV chọn vào chức năng “Thêm” trong giao diện quản lí tài khoản Tiền điều kiện: QTV đã đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cập nhật tài khoản vừa được thêm vào CSDL Luồng sự kiện chính QTV Hệ thống

  1. Chọn “Thêm” trên giao diện quản lí tài khoản 2. Hiển thị giao diện thêm tài khoản tương ứng
  2. Điền thông tin vào danh mục cho tài khoản cần được thêm vào và chọn xác nhận 4. Kiểm tra thông tin điền vào các danh mục đúng 5. Hiển thị thông báo thêm tài khoản thành công Luồng sự kiện thay thế 4.a Kiểm tra định dạng thông tin từ người dùng sai hoặc tài khoản đã tồn tại trong CDSL 4.a1 Báo lỗi và yêu cầu người dùng nhập lại Luồng sự kiện ngoại lệ Bảng 4- 3 Đặc tả Use-case Thêm tài khoản

4.2.2.4. Đặc tả Use-case Xóa tài khoản Mã Usecase: UC_004 Tên Usecase: Xoá tài khoản Mô tả: Cho phép QTV xoá tài khoản trong hệ thống Actor: QTV Trigger: QTV chọn vào chức năng “Xoá” có trong giao diện quản lí tài khoản Tiền điều kiện: QTV đã đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cập nhật lại CSDL sau khi đã xoá tài khoản Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn các tài khoản muốn xoá khỏi hệ thống
  2. Chọn chức năng “Xoá” có trên giao diện xoá tài khoản 3. Xác nhận QTV đã chọn tài khoản và hiển thị thông báo xác nhận xoá
  3. Chọn xác nhận xoá tài khoản 5. Hiển thị thông báo xoá tài khoản thành công Luồng sự kiện thay thế 3.a. QTV chưa chọn tài khoản muốn xoá, hiển thị thông báo và yêu cầu quay lại bước 1 Luồng sự kiện ngoại lệ 4.a. Chọn huỷ 4.a1. Xác nhận huỷ xoá Bảng 4- 4 Đặc tả Use-case Xóa tài khoản

4.2.2.5. Đặc tả Use-case Xem danh sách tài khoản Mã Usecase: UC_004 Tên Usecase: Xoá tài khoản Mô tả: Cho phép QTV xoá tài khoản trong hệ thống Actor: QTV Trigger: QTV chọn vào chức năng “Xoá” có trong giao diện quản lí tài khoản Tiền điều kiện: QTV đã đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cập nhật lại CSDL sau khi đã xoá tài khoản Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn các tài khoản muốn xoá khỏi hệ thống
  2. Chọn chức năng “Xoá” có trên giao diện xoá tài khoản 3. Xác nhận QTV đã chọn tài khoản và hiển thị thông báo xác nhận xoá
  3. Chọn xác nhận xoá tài khoản 5. Hiển thị thông báo xoá tài khoản thành công Luồng sự kiện thay thế 3.a. QTV chưa chọn tài khoản muốn xoá, hiển thị thông báo và yêu cầu quay lại bước 1 Luồng sự kiện ngoại lệ 4.a. Chọn huỷ 4.a1. Xác nhận huỷ xoá Bảng 4- 5 Đặc tả Use-case Xem danh sách tài khoản

4.2.2.6. Đặc tả Use-case Xem thông tin cá nhân Mã Usecase: UC_006 Tên Usecase: Xem thông tin cá nhân Mô tả: Cho phép Người dùng xem thông tin cá nhân của tài khoản Actor: Người dùng Trigger: Người dùng bấm vào chức năng xem “Thông tin cá nhân” có trong giao diện trang chủ Tiền điều kiện: Người dùng đã đăng nhập vào hệ thông Luồng sự kiện chính Người dùng Hệ thống

  1. Chọn “Xem thông tin cá nhân” trên giao diện 2. Hiển thị giao diện xem thông tin cá nhân tương ứng Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 6 Đặc tả Use-case Xem thông tin cá nhân

4.2.2.7. Đặc tả Use-case Sửa thông tin cá nhân Mã Usecase: UC_007 Tên Usecase: Sửa thông tin cá nhân Mô tả: Cho phép Người dùng sửa thông tin cá nhân Actor: Người dùng Trigger: Người dùng bấm vào chức năng "Chỉnh sửa” có trong giao diện xem thông tin cá nhân Tiền điều kiện: Người dùng đã đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cập nhật lại thông tin cá nhân của tài khoản trong CSDL Luồng sự kiện chính Người dùng Hệ thống

  1. Chọn “Xem thông tin cá nhân” trên giao diện trang chủ 2. Hiển thị giao diện thông tin cá nhân cho người dùng
  2. Chọn chức năng “Chỉnh sửa” của từng thông tin và nhập mới và xác nhận 4. Kiểm tra định dạng của thông tin từ người dùng nếu đó là Email hoặc Ngày sinh
  3. Người dùng bấm”Lưu” 6. Hệ thống thông báo đã thay đổi thông tin cá nhân thành công Luồng sự kiện thay thế 4.a Kiểm tra định dạng thông tin từ người dùng sai 4.a1 Báo lỗi và yêu cầu người dùng nhập lại Luồng sự kiện ngoại lệ Bảng 4- 7 Đặc tả Use-case Sưuả thông tin cá nhân 4.2.3. Sơ đồ phân rã Use-case Quản lí từ vựng

Hình 4- 3 Use-case phân rã Quản lí từ vựng

4.2.3.1. Đặc tả Use-case Tra cứu từ vựng Mã Usecase: UC_008 Tên Usecase: Tra cứu từ vựng Mô tả: Cho phép Người dùng tìm kiếm từ vựng Actor: Người dùng Trigger: Người dùng gõ vào thanh tìm kiếm Tiền điều kiện: Người dùng đã đăng nhập vào hệ thống Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng gõ từ vựng trên thanh tìm kiếm 2. Gợi ý danh sách từ vựng cùng âm đầu với từ khoá của người dùng nhập vào Luồng sự kiện thay thế
  2. Người dùng lựa chọn chế độ tìm kiếm Anh - Anh hoặc Anh – Việt 2.a Không có từ vựng cùng âm đầu với từ khoá mà người dùng nhập vào 2.a1 Người dùng bấm chọn xem chi tiết 2.a2 Hiển thị danh sách các từ vựng có phát âm gần giống với từ khoá của người dùng
  3. Chọn từ vựng muốn xem chi tiết 4. Hiển thị từ vựng chi tiết cho người dùng Luồng sự kiện ngoại lệ Bảng 4- 8 Đặc tả Use-case Tra cứu từ vựng

4.2.3.2. Đặc tả Use-case Xem chi tiết từ vựng Mã Usecase: UC_009 Tên Usecase: Xem chi tiết từ vựng Mô tả: Cho phép Người dùng xem chi tiết từ vựng Actor: Người dùng Trigger: Người dùng chọn vào thẻ từ vựng Tiền điều kiện: Người dùng đã đăng nhập vào hệ thống Luồng sự kiện chính Người dùng Hệ thống

  1. Chọn vào thẻ từ vựng trên giao diện 2. Hiển thị chi tiết từ vựng tương ứng Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 9 Đặc tả Use-case Xem chi tiết từ vựng 4.2.4. Sơ đồ phân rã Use-case Quản lí sổ tay từ vựng

Hình 4- 4 Usecase phân rã Quản lí sổ tay từ vựng

4.2.4.1. Đặc tả Use-case Thêm từ vựng vào sổ tay Mã Usecase: UC_010 Tên Usecase: Thêm từ vựng vào sổ tay Mô tả: Cho phép người dùng lưu lại những từ vựng cần học Actor: Người dùng Trigger: Người dùng chọn “Lưu từ vựng” trong giao diện xem chi tiết từ vựng Tiền điều kiện: Người dùng phải đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cập nhật thêm từ vựng mới vào danh sách từ vựng của người dùng Luồng sự kiện chính Người dùng Hệ thống

  1. Trong giao diện xem từ vựng, người dùng chọn “Lưu từ vựng” 2. Hệ thống cập nhật lại danh sách từ vựng cần học của người dùng Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 10 Đặc tả Use-case Thêm từ vựng vào sổ tay

4.2.4.2. Đặc tả Use-case Xóa từ vựng khỏi sổ tay Mã Usecase: UC_011 Tên Usecase: Xoá từ vựng khỏi sổ tay Mô tả: Cho phép người dùng xoá từ vựng mong muốn khỏi sổ tay Actor: Người dùng Trigger: Người dùng chọn “Huỷ” trong giao diện xem chi tiết từ vựng hoặc trong giao diện sổ tay Tiền điều kiện: Người dùng phải đăng nhập vào hệ thống Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng vào giao diện “Xem danh sách từ vựng” 2. Hệ thống hiển thị danh sách sách từ đã lưu của người dùng
  2. Người dùng chọn từ vựng muốn xoá khỏi sổ tay 4. Hệ thống thông báo người dùng đã huỷ lưu từ vựng thành công Luồng sự kiện thay thế 1.a Người dùng chọn xem chi tiết từ vựng 1.a2 Hệ thống hiển thị giao diện chi tiết từ vựng 1.a3 Người dùng chọn huỷ lưu từ vựng và xác nhận 1.a4 Hệ thống thông báo người dùng đã huỷ lưu từ vựng thành công Luồng sự kiện ngoại lệ Bảng 4- 11 Đặc tả Use-case Xóa từ vựng khỏi sổ tay

4.2.4.3. Đặc tả Use-case Xem danh sách từ vựng có trong sổ tay Mã Usecase: UC_012 Tên Usecase: Xem từ vựng được đánh dấu cần học Mô tả: Cho phép người dùng xem lại các từ vựng đã đánh dấu Actor: Người dùng Trigger: Người dùng chọn chức năng “Sổ tay” có trong giao diện trang chủ Tiền điều kiện: Người dùng phải đăng nhập vào hệ thống Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng vào giao diện “Xem danh sách từ vựng” 2. Hệ thống hiển thị danh sách sách từ đã lưu của người dùng Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 12 Đặc tả Use-case Xem từ vựng có trong sổ tay

4.2.5. Sơ đồ phân rã Use-case Quản lí gói người dùng

Hình 4- 5 Use-case phân rã Quản lý gói người dùng 4.2.5.1. Đặc tả Use-case Điều chỉnh giá gói người dùng Mã Usecase: UC_013 Tên Usecase: Điều chỉnh giá gói người dùng Mô tả: Cho phép QTV điều chỉnh gói người dùng Actor: QTV Trigger: QTV chọn chức năng “Quản lí gói người dùng” có trong giao diện quản lí Tiền điều kiện: QTV phải đăng nhập vào hệ thống Hậu điều kiện: • Quản trị viên cập nhật thành công gói người dùng • Hệ thống cập nhật lại giá gói người dùng vào CSDL Luồng sự kiện chính QTV Hệ thống

  1. Quản trị viên chọn "Quản lí gói người dùng" trong giao diện quản lí 2. Hiển thị giao diện quản lí gói người dùng tương ứng
  2. QTV thay đổi gói người dùng (Thời gian sử dụng, Giá cả…) và chọn xác nhận 4. Cập nhật lại giá gói sản phẩm Luồng sự kiện thay thế 4.a Hệ thống kiểm tra sai định dạng và thông báo lỗi cho quản trị viên và quay lại bước 2 Luồng sự kiện ngoại lệ Bảng 4- 13 Đặc tả Use-case Điều chỉnh giá gói người dùng 4.2.5.2. Đặc tả Use-case Mua gói người dùng Mã Usecase: UC_014 Tên Usecase: Mua gói người dùng Mô tả: Cho phép người dùng mua gói Premium bằng xu thưởng Actor: Người dùng Trigger: Người dùng chọn chức năng “Premium” có trong giao diện trang chủ Tiền điều kiện: • Người dùng đã đăng nhập vào hệ thống • Người dùng chưa nâng cấp gói người dùng • Người dùng đã đủ số lượng xu thưởng để mở khóa gói Premium Hậu điều kiện: • Người dùng mở khóa thành công gói người dùng • Hệ thống cập nhật lại phân quyền người dùng vào CSDL • Hệ thống cập nhật lại giao diện và các chức năng của hệ thống Luồng sự kiện chính Người dùng Hệ thống
  3. Người dùng chọn "Nâng cấp Premium" 2. Hiển thị các tính năng thêm và số lượng xu cần để nâng cấp
  4. Người dùng chọn mua 4. Kiểm tra người dùng có đủ số lượng xu để mua và thông báo mua thành công Luồng sự kiện thay thế Luồng sự kiện ngoại lệ 4.a Kiểm tra không đủ số lượng xu và thông báo cho người dùng Bảng 4- 14 Đặc tả Use-case Mua gói người dùng

4.2.6. Sơ đồ phân rã Use-case Ôn tập từ vựng

Hình 4- 6 Use-case phân rã Ôn tập từ vựng

4.2.6.1. Đặc tả Use-case Ôn tập từ vựng Mã Usecase: UC_015 Tên Usecase: Ôn tập từ vựng Mô tả: Cho phép người dùng ôn tập lại các từ vựng đã lưu thông qua chức năng ôn tập của hệ thống Actor: Người dùng Trigger: Người dùng chọn chức năng “Trò chơi” có trong giao diện trang chủ Tiền điều kiện: Người dùng phải đăng nhập vào hệ thống Hậu điều kiện: Hệ thống cung cấp số xu thưởng tương ứng với số câu trả lời đúng của người dùng Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng chọn chức năng “Trò chơi” có trong giao diện trang chủ 2. Hệ thống hiển thị danh sách các trò chơi
  2. Người dùng lựa chọn trò chơi 4. Hệ thống tạo danh sách câu hỏi theo các từ vựng đã lưu của người dùng và hiển thị giao diện tương ứng
  3. Người dùng hoàn thành trò chơi 6. Hệ thống cung cấp xu thưởng dựa theo số câu trả lời đúng của Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 15 Đặc tả Use-case Ôn tập từ vựng 4.2.7. Sơ đồ phân rã Use-case Quản lí chủ đề

Hình 4- 7 Use-case phân rã Quản lí chủ đề

4.2.7.1. Đặc tả Use-case Xem từ vựng theo chủ đề Mã Usecase: UC_016 Tên Usecase: Xem từ vựng theo chủ đề Mô tả: Cho phép người dùng xem danh sách từ vựng có trong hệ thống theo chủ đề Actor: Người dùng Trigger: Người dùng chọn chức năng “Chủ đề” trên giao diện trang chủ Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng chọn chức năng”Chủ đề” có trên giao diện trang chủ 2. Hệ thống hiển thị danh sách chủ đề cho người dùng
  2. Chọn chủ đề muốn xem 4. Hiển thị danh sách nhánh của chủ đề cho người dùng
  3. Chọn nhánh muốn xem trong chủ đề 6. Hiển thị danh sách từ vựng có trong nhánh chủ đề Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 16 Đặc tả Use-case Xem từ vựng theo chủ đề

4.2.7.2. Đặc tả Use-case Thêm chủ đề Mã Usecase: UC_017 Tên Usecase: Thêm chủ đề Mô tả: Cho phép QTV thêm chủ đề mới vào CSDL Actor: QTV Trigger: QTV chọn chức năng “Thêm chủ đề” Tiền điều kiện: QTV đã đăng nhập vào hệ thống Hậu điều kiện: Hệ thống thêm chủ đề mới vào CSDL và ảnh chủ đề vào thư mục Resources Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn chức năng “Thêm chủ đề” trên giao diện “Quản lí chủ đề” 2. Hệ thống hiển thị bảng giao diện thêm chủ đề tương
  2. Nhập tên chủ đề, ảnh chủ đề và các từ vựng nhánh của chủ đề tương ứng 4. Kiểm tra thông tin nhập vào hợp lệ và thông báo thêm thành công Luồng sự kiện thay thế 4.a. Kiểm tra chủ đề đã tồn tại, hiển thị thông báo và yêu cầu quay lại bước 3 4.b. Kiểm tra từ vựng nhánh của chủ đề không tồn tại trong cơ sở dữ liệu, thông báo và yêu cầu quay lại bước 3 Luồng sự kiện ngoại lệ Bảng 4- 17 Đặc tả Use-case Thêm chủ đề

4.2.7.3. Đặc tả Use-case Xem danh sách chủ đề Mã Usecase: UC_018 Tên Usecase: Xem danh sách chủ đề Mô tả: Cho phép QTV xem danh sách các chủ đề hiện có trong hệ thống Actor: QTV Trigger: QTV chọn chức năng “Quản lí chủ đề” có trên giao diện quản lí Tiền điều kiện: QTV đã đăng nhập vào hệ thống Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn chức năng “Quản lí chủ đề” có trên giao diện quản lí của QTV 2. Hiển thị danh sách các chủ đề hiện có trong CSDL Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 18 Đặc tả Use-case Xem danh sách chủ đề

4.2.7.4. Đặc tả Use-case Sửa chủ đề Mã Usecase: UC_019 Tên Usecase: Sửa chủ đề Mô tả: Cho phép QTV chỉnh sửa thông tin và danh sách từ vựng có trong chủ đề Actor: QTV Trigger: QTV chọn chức năng “Sửa chủ đề” có trong giao diện quản lí chủ đề Tiền điều kiện: QTV đã đăng nhập vào hệ thống Hậu điều kiện: Cập nhật lại chủ đề vừa được sửa trong CSDL và cập ảnh chủ đề trong thư mục Resources Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn chủ đề muốn sửa thông tin
  2. Chọn chức năng “Sửa” có trong giao diện quản lí chủ đề 3. Xác nhận QTV đã chọn chủ đề và hiển thị giao diện sửa chủ đề tương ứng
  3. Nhập tên chủ đề, ảnh chủ đề và nhánh của chủ đề muốn thay đổi 5. Xác nhận thông tin nhập vào hợp lệ và thông báo sửa chủ đề thành công Luồng sự kiện thay thế 3.a. Kiểm tra QTV chưa chọn chủ đề cần thay đổi, thông báo và yêu cầu quay lại bước 1 5.a. Kiểm tra chủ đề nhập vào đã tồn tại trong CSDL, thông báo và yêu cầu nhập lại 5.b. Kiểm tra từ vựng nhánh của chủ đề không tồn tại trong CSDL, thông báo và yêu cầu nhập lại Luồng sự kiện ngoại lệ Bảng 4- 19 Đặc tả Use-case Sửa chủ đề

4.2.7.5. Đặc tả Use-case Xóa chủ đề Mã Usecase: UC_020 Tên Usecase: Xóa chủ đề Mô tả: Cho phép QTV xóa chủ đề hiện có trong hệ thống Actor: QTV Trigger: QTV chọn chức năng “Xóa chủ đề” có trong giao diện quản lí chủ đề Tiền điều kiện: QTV đã đăng nhập vào hệ thống Luồng sự kiện chính QTV Hệ thống

  1. Chọn những chủ đề muốn xoá khỏi hệ thống
  2. Chọn chức năng “Xoá” có trên giao diện quản lí chủ đề 3. Hiển thị thông báo xác nhận xoá cho QTV
  3. Chọn xác nhận xoá 5. Thông báo xoá chủ đề thành công Luồng sự kiện thay thế 3.a. Kiểm tra QTV chưa chọn chủ đề muốn xoá, thông báo và yêu cầu quay lại bước 1 Luồng sự kiện ngoại lệ 4.a. Chọn huỷ 4.a1. Xác nhận huỷ thao tác xoá Bảng 4- 20 Đặc tả Use-case Xóa chủ đề

4.2.8. Sơ đồ phân rã Use-case Xem thống kê

Hình 4- 8 Use-case phân rã Xem thống kê

4.2.8.1. Đặc tả Use-case Xem thống kê số từ và số giờ đã học Mã Usecase: UC_021 Tên Usecase: Xem thống kê số từ và giờ đã học Mô tả: Người dùng có thể xem được thống kê số lượng từ vựng mà mình học được Actor: QTV Trigger: Người dùng chọn chức năng “Thống kê” có trong giao diện sổ tay Tiền điều kiện: Người dùng đã đăng nhập vào hệ thống Luồng sự kiện chính Người dùng Hệ thống

  1. Người dùng chọn chức năng “Thống kê” trên giao diện 2. Hệ thống hiển thị thống kê từ vựng và số giờ đã học được theo ngày Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 21 Đặc tả Use-case Xem thống kê số từ và số giờ đã học

4.2.8.2. Đặc tả Use-case Xem thống kê số lượng gói người dùng Mã Usecase: UC_022 Tên Usecase: Xem thống kê gói người dùng có trong hệ thống Mô tả: Người dùng có thể xem được thống kê số lượng người dùng hiện có đăng kí gói người dùng Actor: QTV Trigger: QTV chọn chức năng “Quản lí gói người dùng” có trong giao diện quản lí Tiền điều kiện: QTV đã đăng nhập vào hệ thống Luồng sự kiện chính QTV Hệ thống

  1. QTV chọn chức năng “Quản lí gói người dùng” trên giao diện quản lí 2. Hệ thống hiển thị bảng thống kê người dùng đang sử dụng gói tương ứng cho QTV Luồng sự kiện thay thế Luồng sự kiện ngoại lệ Bảng 4- 22 Đặc tả Use-case Xem thống kê số lượng gói người dùng 4.3. Biểu đồ tuần tự 4.3.1. Biểu đồ tuần tự Quản lí tài khoản 4.3.1.1. Chức năng đăng kí

Hình 4- 9 Biểu đồ tuần tự Đăng kí 4.3.1.2. Chức năng Đổi mật khẩu

Hình 4- 10 Biểu đồ tuần tự Đổi mật khẩu

4.3.1.3. Chức năng Thêm tài khoản

Hình 4- 11 Biểu đồ tuần tự Thêm tài khoản

4.3.1.4. Biểu đồ tuần tự Xóa tài khoản

Hình 4- 12 Biểu đồ tuần tự Xóa tài khoản

4.3.1.5. Biểu đồ tuần tự Xem danh sách tài khoản

Hình 4- 13 Biểu đồ tuần tự Xem danh sách tài khoản 4.3.1.6. Biểu đồ tuần tự Xem thông tin cá nhân

Hình 4- 14 Biểu đồ tuần tự Xem thông tin cá nhân

4.3.1.7. Biểu đồ tuần tự Sửa thông tin cá nhân

Hình 4- 15 Biểu đồ tuần tự Sửa thông tin cá nhân 4.3.2. Biểu đồ tuần tự Quản lí từ vựng 4.3.2.1. Chức năng Thêm từ vựng

Hình 4- 16 Biểu đồ tuần tự Thêm từ vựng

4.3.2.2. Chức năng Xem danh sách từ vựng

Hình 4- 17 Biểu đồ tuần tự Xem danh sách từ vựng 4.3.2.3. Chức năng Cập nhật từ vựng

Hình 4- 18 Biểu đồ tuần tự Cập nhật từ vựng 4.3.2.4. Chức năng Xóa từ vựng

Hình 4- 19 Biểu đồ tuần tự Xoá từ vựng

4.3.2.5. Chức năng Tra cứu từ vựng

Hình 4- 20 Biểu đồ tuần tự Tra cứu từ vựng 4.3.2.6. Chức năng Xem chi tiết từ vựng

Hình 4- 21 Biểu đồ tuần tự Xem chi tiết từ vựng 4.3.3. Biểu đồ tuần tự Quản lí sổ tay từ vựng 4.3.3.1. Chức năng Thêm từ vựng vào sổ tay

Hình 4- 22 Biểu đồ tuần tự Thêm từ vựng vào sổ tay

4.3.3.2. Chức năng Xóa từ vựng khỏi sổ tay

Hình 4- 23 Biểu đồ tuần tự Xoá từ vựng khỏi sổ tay 4.3.3.3. Chức năng Xem danh sách từ vựng có trong sổ tay

Hình 4- 24 Biểu đồ tuần tự Xem danh sách từ vựng sổ tay 4.3.4. Biểu đồ tuần tự Quản lí gói người dùn 4.3.4.1. Chức năng Điều chỉnh người dùng

Hình 4- 25 Biểu đồ tuần tự Điều chỉnh gói người dùng 4.3.4.2. Chức năng Mua gói người dùng

Hình 4- 26 Biểu đồ tuần tự Mua gói người dùng 4.3.5. Biểu đồ tuần tự Ôn tập từ vựng 4.3.5.1. Chức năng ôn tập từ vựng

Hình 4- 27 Biểu đồ tuần tự ôn tập từ vựng 4.3.6. Biểu đồ tuần tự Quản lí chủ đề 4.3.6.1. Chức năng Xem từ vựng theo chủ đề

Hình 4- 28 Biểu đồ tuần tự Xem từ vựng theo chủ đề 4.3.6.2. Chức năng Thêm chủ đề

Hình 4- 29 Biểu đồ tuần tự Thêm chủ đề 4.3.6.3. Chức năng Xem danh sách chủ đề

Hình 4- 30 Biểu đồ tuần tự Xem danh sách chủ đề 4.3.6.4. Chức năng Sửa chủ đề

Hình 4- 31 Biểu đồ tuần tự Sửa chủ đề 4.3.6.5. Chức năng Xóa chủ đề

Hình 4- 32 Biểu đồ tuần tự Xoá chủ đề 4.3.7. Biểu đồ tuần tự Xem thống kê 4.3.7.1. Chức năng xem thống kê số từ và số giờ đã học

Hình 4- 33 Biểu đồ tuần tự Xem thóng kê số từ và giờ đã học 4.3.7.2. Chức năng xem thống kê số lượng gói người dùng

Hình 4- 34 Biểu đồ tuần tự Xem thống kê số lượng gói người dùng

4.4. Biểu đồ lớp

Hình 4- 35 Sơ đồ lớp 4.5. Cơ sở dữ liệu 4.5.1. Các bảng dữ liệu • BẢNG SYNSET STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 Synset_ID Decimal 9 Mã Synset 2 Definition Varchar 255 Định nghĩa Bảng 4- 23 Bảng dữ liệu Synset • BẢNG ANTONYM STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 Synset_ID1 Decimal 9 Mã Synset 2 Synset_ID2 Decimal 9 Mã Synset Bảng 4- 24 Bảng dữ liệu Antonym • BẢNG HYPERNYM STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 Synset_ID1 Decimal 9 Mã Synset 2 Synset_ID2 Decimal 9 Mã Synset Bảng 4- 25 Bảng dữ liệu Hypernym • BẢNG SIMILAR STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 Synset_ID1 Decimal 9 Mã Synset 2 Synset_ID2 Decimal 9 Mã Synset Bảng 4- 26 Bảng dữ liệu Similar • BẢNG DERIVED STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 BaseSynsetID Decimal 9 Mã Synset 2 BaseWNum Decimal 3 Mã từ vựng 3 DerivedSynsetID Decimal 9 Mã Synset 4 DerivedWNum Decimal 3 Mã từ vựng Bảng 4- 27 Bảng dữ liệu Derived • BẢNG SEE_ALSO STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 BaseSynsetID Decimal 9 Mã Synset 2 FollowedSynsetID Decimal 9 Mã Synset Bảng 4- 28 Bảng dữ liệu See_Also • BẢNG WORD STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 SynsetID Decimal 9 Mã Synset 2 WordNum Decimal 3 Mã từ vựng 3 Word Varchar 255 Từ vựng Bảng 4- 29 Bảng dữ liệu Word • BẢNG IN_NOTEBOOK STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 AccountID Decimal 9 Mã tài khoản 2 WordNum Decimal Mã từ vựng 3 SynsetID Decimal 9 Mã Synset 4 LearnedPercent Int 3 Phần trăm học Bảng 4- 30 Bảng dữ liệu In_Notebook • BẢNG HISTORY_ENGLISH_CONTAINER STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 AccountID Decimal 9 Mã tài khoản 2 WordNum Decimal Mã từ vựng 3 SynsetID Decimal 9 Mã Synset Bảng 4- 31 Bảng dữ liệu History_English_Container • BẢNG HISTORY_VIETNAMESE_CONTAINER STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 AccountID Decimal 9 Mã người dùng 2 WordID Decimal 9 Mã từ vựng VN Bảng 4- 32 Bảng dữ liệu History_Vietnamese_Container • BẢNG WORD_VN STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 WordID Decimal Mã từ vựng VN 2 Detail Nvarchar 255 Chi tiết từ vựng 3 Word Varchar 255 Từ vựng Bảng 4- 33 Bảng dữ liệu Word_VN • BẢNG ACCOUNT_TYPE STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 TypeID Decimal Mã loại tài khoản 2 Name Nvarchar 255 Tên loại tài khoản Bảng 4- 34 Bảng dữ liệu Account_Type

• BẢNG ACCOUNT STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 AccountID Decimal 9 Mã tài khoản 2 TypeID Decimal 9 Mã loại tài khoản 3 Name Nvarchar 255 Tên người dùng 4 Username Varchar Tên đăng nhập 5 Password Varchar Mật khẩu 6 Date of birth Datetime Ngày sinh 7 Age Int Tuổi 8 Gender bit 1 Giới tính Bảng 4- 35 Bảng dữ liệu Account • BẢNG USER_PACKET_INFO STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 PacketID Decimal 9 Mã gói người dùng 2 AcountID Nvarchar 9 Mã tài khoản 3 DueDate Datetime Ngày hết hạn Bảng 4- 36 Bảng dữ liệu User_Packet_Info • BẢNG USER_PACKET STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 PacketID Decimal 9 Mã gói người dùng 2 Name Nvarchar 255 Tên gói người dùng 3 Price Int Giá gói 4 TimeOfUse Int Thời gian sử dụng Bảng 4- 37 Bảng dữ liệu User_Packet • BẢNG DETAILED_INFORMATION STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 AccountID Decimal 9 Mã tài khoản 2 Balance int Số dư tài khoản 3 NumLoginDay Int Số ngày đăng nhập 4 NumConsecutiveDay Int Số ngày đăng nhập liên tiếp Bảng 4- 38 Bảng dữ liệu Detailed_Information • BẢNG INFOR_PER_DAY STT Tên trường Kiểu dữ liệu Kích cỡ Ghi chú 1 DayID Decimal 9 Mã ngày 2 AccountID Decimal 9 Mã tài khoản 3 NumLearnedWord Int Số từ đã học trong ngày 4 OnlineHours Int Số giờ online trong ngày Bảng 4- 39 Bảng dữ liệu Infor_per_day 4.5.2. Sơ đồ cơ sở dữ liệu

Hình 4- 36 Sơ đồ Cơ sở dữ liệu 5. YÊU CẦU PHI CHỨC NĂNG

  • Người dùng phải thiết lập cơ sở dữ liệu trên thiết bị sử dụng ứng dụng.
  • Ứng dụng phải được cài đặt trên hệ điều hành Window.
  • Giao diện thân thiện với người dùng.
  • Thời gian phản hồi tốt.
  1. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1. Kết quả đạt được Sau một thời gian nhóm em bắt tay vào nghiên cứu các tài liệu đồ án PBL3 cùng với các tài liệu liên quan đến các môn học bổ trợ, nhóm chúng em đã xây dựng được một dự án để có thể hỗ trợ trong việc quản lý kinh doanh nhà hàng. Chúng em đã giải quyết hầu hết các yêu cầu và những chức năng cơ bản của một phần mềm quản lý kinh doanh nhà hàng, ngoài ra nhóm em còn nghiên cứu và phát triển thêm một số chức năng khác.
  • Về mặt lý thuyết :  Hiểu được quy trình để phát triển và duy trì một sản phẩm phần mềm, nắm vững các bước từ thu thập yêu cầu, phân tích thiết kế, triển khai và kiểm thử để tạo ra một ứng dụng chất lượng và hoạt động ổn định.  Nắm vững kiến thức lý thuyết cơ bản của các môn học như : Cơ sở dữ liệu, Phân tích thiết kế hướng đối tượng, Lập trình .NET để phục vụ các công việc phân tích , thiết kế và triển khai chương trình.

  • Về mặt thực tiễn ứng dụng :  Hoàn thiện đầy đủ chức năng cơ bản của ứng dụng : đăng kí, đăng nhập, tra cứu từ vựng, học từ vựng, thống kê…  Thiết kế giao diện ứng dụng thân thiện, dễ sử dụng giúp người dùng có thể dễ dàng thao tác một cách thuận tiện.

  • Giao diện của hệ thống :

    Hình 4- 37 Giao diện trang chủ

Hình 4- 38 Giao diện Chi tiết từ vựng

Hình 4- 39 Giao diện quản lí

Hình 4- 40 Giao diện Xem từ vựng theo chủ đề

6.2. Hướng phát triển • Tìm hiểu và áp dụng các biện pháp bảo mật cho ứng dụng. • Cung cấp thêm một các minigame cũng như công cụ để giúp người dùng có thể học từ vựng một cách hiệu quả. • Từ ứng dụng offline có thể viết lại thành ứng dụng mua bán online trên web và hơn nữa là trên nền tảng mobile. 7. TÀI LIỆU THAM KHẢO Tài liệu: [1] Lê Thị Mỹ Hạnh , Slide bài giảng môn Phân tích và thiết kế hướng đối tượng , Đại học bách khoa Đà Nẵng. [2] Nguyễn Thanh Bình, Slide bài giảng môn Công nghệ phần mềm, Đại học bách khoa Đà Nẵng. Internet: [1] Hệ thống từ điển Anh – Anh WordNet (princeton.edu) [2] .NET Framework - Introduction to .NET Framework - GeeksforGeeks

englishlearning_winform's People

Contributors

lekhoa178 avatar dinhvan2310 avatar nghiaprohiho avatar thuctran63 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.