GIỚI THIỆU ĐỀ TÀI
Lý do chọn đề tài
Việc học ngôn ngữ mới hiện nay mở ra nhiều cơ hội việc làm cho giới trẻ, đặc biệt trong thị trường lao động cạnh tranh Chỉ biết tiếng Anh không còn đủ, vì vậy nhiều người đang tìm hiểu và học các ngôn ngữ khác, trong đó tiếng Nhật nổi bật với khả năng gia tăng sức cạnh tranh và cơ hội kiếm việc với mức lương hấp dẫn Đó là lý do tôi chọn đề tài “Xây dựng Website học tiếng Nhật” nhằm giúp mọi người tiết kiệm thời gian và học tiếng Nhật mọi lúc, mọi nơi.
Mục tiêu và nhiệm vụ đề tài
Xây dựng một trang web giúp người học tiếng Nhật từ cấp độ N5 đến N1 với các bài giảng hấp dẫn và mẫu câu giao tiếp hàng ngày, mang lại hiệu quả tối ưu trong việc học ngôn ngữ.
- Giao diện trang web bắt mắt, dễ sử dụng
- Người quản lý dễ dàng quản lý các bài học, phù hợp với các trang web quản lý của các trung tâm dạy tiếng Nhật
2.2 Nhiệm vụ Để đạt được mục tiêu trên, thì nhiệm vụ đặt ra của đề tài là:
- Thu nhập dữ liệu từ thực tế, tổng hợp phân tích dữ liệu cho vấn đề học tiếng Nhật
- Khảo sát, thu thập thông tin, tổng hợp phân tích dữ liệu cho từ vựng, ngữ pháp, kanji và các mẫu câu giao tiếp tiếng Nhật thông dụng
- Nghiên cứu các công nghệ và phần mềm cần thiết để xây dựng và phát triển web quản lý hệ thống web học tiếng Nhật
- Nghiên cứu các web học tiếng Nhật đang có hiện nay
- Xây dựng các chức năng hỗ trợ người dùng sử dụng một cách hiệu quả nhất.
Đối tượng và phạm vi nghiên cứu
- Ngôn ngữ lập trình Java, Framework Spring Boot 1
- Hệ quản trị cơ sở dữ liệu MySQL
- Thông tin dữ liệu của các cấp độ tiếng Nhật từ N5 đến N1
Nghiên cứu dữ liệu thông tin các cấp độ tiếng Nhật, các chức năng của trang web, chức năng quản lý.
Phương pháp nghiên cứu
4.1 Phương pháp nghiên cứu lí thuyết
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài
- Nghiên cứu công cụ đồ họa như photoshop
- Nghiên cứu ngôn ngữ lập trình java
- Nghiên cứu ngôn ngữ lập trình web
- Nghiên cứu FrameWork Spring boot
- Nghiên cứu hệ quản trị cơ sở dữ liệu MySQL
- Nghiên cứu html, css, javascript
Phương pháp quan sát bao gồm việc trực tiếp theo dõi và thử nghiệm một số phần mềm học tiếng Nhật hiện tại Qua đó, chúng ta có thể phân tích những ưu nhược điểm cũng như các quy trình cơ bản liên quan đến phần mềm thi trắc nghiệm khách quan.
Phương pháp thu thập tài liệu bao gồm việc khai thác thông tin từ nhiều nguồn khác nhau như sách, báo, và Internet Quá trình này đòi hỏi tổng hợp các tài liệu, nghiên cứu kỹ lưỡng và sử dụng ngôn ngữ cũng như công cụ phù hợp để đảm bảo tính chính xác và hiệu quả.
Phương pháp phân tích và thiết kế hệ thống dựa trên việc thu thập thông tin để xác định các chức năng chính của phần mềm Quá trình này bao gồm mô hình hóa hệ thống và chuẩn hóa cơ sở dữ liệu một cách hợp lý, nhằm đảm bảo hiệu quả trong việc phát triển phần mềm.
4.2 Phương pháp nghiên cứu thực nghiệm
Phân tích yêu cầu thực tế là bước đầu tiên quan trọng trong việc xây dựng hệ thống hỗ trợ lập trình và phát triển ứng dụng Các bước phân tích hệ thống cần được thực hiện một cách có hệ thống để đảm bảo tính khả thi và hiệu quả Đánh giá kết quả đạt được sau khi triển khai sẽ giúp xác định các vấn đề cần khắc phục và cải tiến trong quá trình bảo trì ứng dụng.
Bố cục đề tài
Phần 1: Giới thiệu đề tài
- Lý do chọn đề tài
- Mục tiêu và nhiệm vụ
- Đối tượng và phạm vi
Phần 2: Nội dung đề tài
- Chương I: Cơ sở lý thuyết
- Chương II: Phân tích thiết kế hệ thống
- Chương III: Thử nghiệm và đánh giá
Phần 3: Kết luận và hướng phát triển.
CƠ SỞ LÝ THUYẾT
Phân tích thiết kế hệ thống
Quá trình mô phỏng hiện tượng và quy trình nghiệp vụ trong thế giới thực giúp xây dựng hệ thống giải quyết bài toán trên máy tính.
Để xây dựng một hệ thống website hiệu quả và đáp ứng nhu cầu người dùng, việc phân tích thiết kế hệ thống là rất quan trọng Đây là yếu tố then chốt quyết định chất lượng phần mềm.
- Có hai cách tiếp cận phân tích và thiết kế hệ thống :
• Hướng cấu trúc/chức năng
- Có cái nhìn đầy đủ, đúng đắn và chính xác về hệ thống đang được xây dựng
- Tránh sai lầm trong thiết kế và cài đặt
- Dễ dàng thay đổi yêu cầu
- Có tính tiến hóa cao
- Có khả năng tái sử dụng cao.
Phân tích và thiết kế hệ thống hướng đối tượng (OOAD)
2.1 Sơ lược về phân tích và thiết kế hướng cấu trúc
- Phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xác định
Phương pháp thiết kế từ trên xuống (top-down) là cách tiếp cận hiệu quả trong lập trình, bắt đầu bằng việc phân rã bài toán lớn thành các bài toán nhỏ hơn Tiếp tục phân chia các bài toán con cho đến khi đạt được những bài toán có thể cài đặt ngay bằng các hàm trong ngôn ngữ lập trình hướng cấu trúc.
2.2 Định nghĩa về phân tích và thiết kế hướng đối tượng
Phương pháp hướng đối tượng không chỉ chú trọng vào dữ liệu hoặc hành động mà còn kết hợp cả hai yếu tố này, tạo nên một hệ thống toàn diện hơn so với phương pháp hướng cấu trúc.
- Hệ thống = tập hợp các đối tượng + quan hệ giữa các đối tượng
- Là một lối tư duy theo cách ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực
Hệ thống này được cấu trúc thành các thành phần nhỏ gọi là đối tượng, mỗi đối tượng bao gồm cả dữ liệu và các hành động liên quan.
2.3 Các khái niệm cơ bản của hướng đối tượng
Đối tượng là một khái niệm thể hiện một thực thể vật lý, khái niệm hoặc phần mềm với giới hạn rõ ràng Nó có thể được định nghĩa như một sự trừu tượng hoặc vật chất có ý nghĩa trong một ứng dụng cụ thể.
Lớp là một khái niệm mô tả nhóm các đối tượng có cấu trúc, hành vi và mối quan hệ tương đồng với nhau Mỗi đối tượng được xem là một thể hiện cụ thể của lớp, trong khi lớp lại là định nghĩa trừu tượng cho các đối tượng đó.
Gói là phương pháp tổ chức các thành phần và phần tử trong hệ thống thành các nhóm Nhiều gói có thể kết hợp với nhau để hình thành một hệ thống con.
- Kế thừa: trong phương pháp hướng đối tượng, một lớp có thể sử dụng lại các thuộc tính và phương thức của một hoặc nhiều lớp khác.
Tìm hiểu về UML
3.1 Các nguyên tắc cơ bản của phương pháp hướng đối tượng
• Các thực thể phần mềm được mô hình hoá dưới dạng các đối tượng
• Các đối tượng được trừ tượng hóa ở mức cao hơn dựa trên thuộc tính và phương thức mô tả đối tượng để tạo thành lớp
Các lớp trong lập trình hướng đối tượng được trừu tượng hóa ở mức cao hơn, tạo thành một sơ đồ các lớp kế thừa lẫn nhau Trong phương pháp này, có thể tồn tại những lớp không có đối tượng tương ứng, được gọi là lớp trừu tượng.
Tính bao đóng (encapsulation) là khả năng che giấu mọi chi tiết hiện thực của đối tượng, ngăn chặn bên ngoài truy cập và thấy được thông tin bên trong Điều này tạo ra sự độc lập cao giữa các đối tượng trong lập trình.
Để bảo vệ các thuộc tính dữ liệu, nếu cần truy xuất một thuộc tính, chúng ta nên tạo hai phương thức set và get tương ứng Điều này giúp giám sát quá trình truy xuất và ẩn đi các chi tiết hiện thực bên trong của thuộc tính private.
• Che dấu chi tiết hiện thực các phương thức
• Che dấu các hàm và sự hiện thực của chúng
- Tính modul hóa (modularity): các bài toán sẽ được phân chia thành những vấn đè nhỏ hơn, đơn giản và quản lý được
- Tính phân cấp (hierarchy): cấu trúc chung của một hệ thống hướng đối tượng là dạng phân cấp theo các mức độ trừu tượng từ cao đến thấp
Ngôn ngữ mô hình hóa hợp nhập là công cụ quan trọng để biểu diễn hệ thống thông qua các bản vẽ thiết kế Những bản vẽ này không chỉ giúp các nhóm thiết kế giao tiếp hiệu quả mà còn hỗ trợ trong quá trình phát triển hệ thống và thuyết phục khách hàng, nhà đầu tư.
3.3 Thiết kế hướng đối tượng sử dụng UML
- Thiết kế hướng đối tượng sử dụng UML bao gồm các thành phần sau:
Góc nhìn về các ca sử dụng cung cấp cái nhìn sâu sắc về hệ thống, giúp chúng ta hiểu rõ các chức năng, đối tượng người dùng và cách thức họ tương tác với nó.
• Góc nhìn logic: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ chức như thế nào Bên trong nó có gì
• Góc nhìn tiến trình: cung cấp góc nhìn động về hệ thống, xem các thành phần trong hệ thống tương tác với nhau như thể nào
Góc nhìn thành phần cung cấp cái nhìn sâu sắc về cấu trúc của hệ thống, giúp chúng ta hiểu rõ cách phân bổ và tái sử dụng các thành phần một cách hiệu quả.
• Góc nhìn triển khai: cung cấp góc nhnf về triển khai hệ thống, nó cũng ảnh hưởng lớn đến kiến trúc hệ thống
➢ Bản vẽ (Diagram): các bản vẽ được sử dụng để thể hiện các góc nhìn của hệ thống
Bản vẽ ca sử dụng là tài liệu quan trọng mô tả cách thức hệ thống được sử dụng, xác định người dùng và các chức năng của hệ thống Việc lập bản vẽ này giúp chúng ta hiểu rõ yêu cầu cần thiết để phát triển hệ thống một cách hiệu quả.
• Bản vẽ lớp: mô tả cấu trúc của hệ thống, tức hệ thống được cấu tạo từ những thành phần nào Mô tả khía cạnh tĩnh của hệ thống
• Bản vẽ đối tượng: tương tự như bản vẽ lớp nhưng nó mô tả đến đối tượng thay vì lớp
Bản vẽ tuần tự là công cụ mô tả cách thức tương tác giữa các đối tượng trong hệ thống, thể hiện các bước tương tác theo trình tự thời gian.
• Bản vẽ kết hợp: tương tự như bản vẽ tuần tự nhưng nhấn mạnh về sự tương tác thay vì tuần tự theo thời gian
• Bản vẽ trạng thái: mô tả sự thay đổi trạng thái của một đối tượng, thường được sử dụng để hiểu về nghiệp vụ của hệ thống
• Bản vẽ hoạt động: bản vẽ mô tả các hoạt động của đối tượng, thường được sử dụng để hiểu về nghiệp vụ của hệ thống
• Bản vẽ thành phần: mô tả về việc bố trí các thành phần của hệ thống cũng như việc sử dụng các thành phần đó
• Bản vẽ triển khai: mô tả việc triển khia của hệ thống như việc kết nối, cài đặt, hiệu năng của hệ thống…
➢ Ký hiệu (Notations): các ký hiệu để vẽ nó như từ vựng trong ngôn ngữ tự nhiên
Các quy tắc và cơ chế trong thiết kế bản vẽ là rất quan trọng, vì mỗi bản vẽ đều có những quy tắc riêng biệt Để tạo ra các thiết kế chính xác, bạn cần nắm vững những quy tắc này.
Nền tảng công nghệ
4.1 Tổng quan ngôn ngữ lập trình Java
Ngôn ngữ lập trình Java, do James Gosling phát triển và ra mắt bởi Sun Microsystems vào năm 1995 với phiên bản Java 1.0 (J2SE), đã trở thành một trong những ngôn ngữ phổ biến nhất Tính đến tháng 2 năm 2015, phiên bản mới nhất là Java Standard Edition 8 Với khả năng chạy trên nhiều nền tảng khác nhau, Java ngày càng được ứng dụng rộng rãi trên các thiết bị như máy tính, điện thoại di động và nhiều thiết bị phần cứng khác.
4.2 Tổng quan về Framework Spring boot
Spring là một framework phát triển ứng dụng Java phổ biến, được hàng triệu lập trình viên tin dùng Nó hỗ trợ xây dựng các ứng dụng có hiệu suất cao, dễ dàng kiểm thử và cho phép tái sử dụng mã nguồn hiệu quả.
- Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên)
- Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lơn
- Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là: Dependency Injection và Aspect Oriented Programming
Spring cung cấp những tính năng cốt lõi hỗ trợ phát triển ứng dụng Java Desktop, mobile và Java Web Mục tiêu chính của Spring là đơn giản hóa quá trình phát triển các ứng dụng J2EE thông qua mô hình POJO (Plain Old Java Object).
Spring Boot là một dự án phát triển từ ngôn ngữ Java trong hệ sinh thái Spring Framework, giúp đơn giản hóa quá trình lập trình ứng dụng Nhờ vào Spring Boot, lập trình viên có thể tập trung vào việc phát triển các tính năng kinh doanh của ứng dụng mà không phải lo lắng về cấu hình phức tạp.
- Dưới đây là kiến trúc tổng thể của Spring Framework:
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, được các nhà phát triển ưa chuộng nhờ vào tốc độ cao, tính ổn định và dễ sử dụng Nó hoạt động trên nhiều hệ điều hành và cung cấp một loạt các hàm tiện ích mạnh mẽ Với tính bảo mật cao, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên internet Bạn có thể tải về MySQL miễn phí từ trang chủ, với nhiều phiên bản cho các hệ điều hành khác nhau như Windows, Linux và Mac.
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, and SunOS are various operating systems, while MySQL serves as a fundamental example of a relational database management system that utilizes Structured Query Language (SQL).
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích chức năng hệ thống
Hệ thống web luyện thi trắc nghiệm kì thi trung học phổ thông quốc gia cần phải có các chức năng sau đây:
STT Chức năng Ghi chú
1 Đăng nhập Người dùng và admin đăng nhập vào hệ thống
2 Đăng xuất Người dùng và admin đăng xuất vào hệ thống
3 Chọn cấp độ (N5-N1) Thao tác xem danh sách các cấp độ và chọn cấp độ
4 Chọn bài học Thao tác xem danh sách các bài học và chọn bài học
5 Chọn từng phần để học Thao tác chọn phần như: từ vựng, ngữ pháp, kanji, kiểm tra…
6 Xem bảng chữ cái Người dùng có thể xem bảng chữ cái theo từng loại bảng chữ cái
7 Xem từ vựng Xem chi tiết từ vựng của từng bài học
8 Xem ngữ pháp Xem chi tiết ngữ pháp của từng bài học
9 Luyện đọc Thao tác nghe audio và đọc theo
10 Nghe đoạn hội thoại Nghe audio đoạn hội thoại, xem chi tiết và phần dịch
11 Học Kanji Xem và học chi tiết các từ kanji
12 Thi trắc nghiệm Thi các câu trắc nghiệm để ôn tập kiến thức
13 Đăng ký Cung cấp thông tin cá nhân để đăng ký tài khoản mới
14 Quản lý tài khoản Admin xem danh sách, thêm , sửa , xóa tài khoản
15 Quản lý cấp độ Admin xem danh sách, thêm , sửa , xóa cấp độ
16 Quản lý bài học Admin xem danh sách, thêm , sửa , xóa bài học
17 Quản lý từ vựng Admin xem danh sách, thêm , sửa , xóa từ vựng
18 Quản lý ngữ pháp Admin xem danh sách, thêm , sửa , xóa ngữ pháp
19 Quản lý hội thoại của bài học Admin xem danh sách, thêm , sửa , xóa hội thoại
20 Quản lý từ Kanji Admin xem danh sách, thêm , sửa , xóa từ
21 Quản lý thi trắc nghiệm Admin xem danh sách, thêm , sửa , xóa các câu hỏi thi trắc nghiệm
Bảng 1 Phân tích chức năng của hệ thống
Đặc tả các chức năng của phần mềm
Actor là một khái niệm quan trọng trong hệ thống, đại diện cho các vai trò tương tác Người sử dụng có thể là cá nhân hoặc một hệ thống khác, tạo nên sự linh hoạt trong việc thiết lập mối quan hệ và chức năng trong môi trường tương tác.
Use Case là một kỹ thuật quan trọng trong kỹ thuật phần mềm và hệ thống, giúp nắm bắt yêu cầu chức năng của hệ thống Nó mô tả sự tương tác giữa người dùng bên ngoài (Actor) và hệ thống, tập trung vào những gì hệ thống cần thực hiện thay vì cách thức hoạt động của nó Tập hợp tất cả các Use Case sẽ tạo thành một bức tranh toàn diện về các tình huống mà hệ thống có thể xử lý Mỗi Use Case cụ thể mô tả cách thức mà Actor tương tác với hệ thống để đạt được mục tiêu của mình.
2.2 Mô tả các tác nhân (Actor) có trong hệ thống
Admin đăng nhập vào hệ thống để quản lý người dùng, cấp độ, bài học, từ vựng, ngữ pháp, luyện nghe, hội thoại, từ Kanji và câu hỏi thi trắc nghiệm Sau khi hoàn thành các nhiệm vụ, admin sẽ tiến hành đăng xuất khỏi hệ thống.
Người dùng có thể đăng nhập vào hệ thống và lựa chọn môn học theo cấp độ, bao gồm các phần như học từ vựng, ngữ pháp, kanji, nghe hội thoại, học bảng chữ cái và thi trắc nghiệm Sau khi hoàn thành các hoạt động học tập, người dùng sẽ đăng xuất khỏi hệ thống.
Bảng 2 Mô tả các tác nhân trong hệ thống
2.3 Sơ đồ ca sử dụng cho người quản lý
Hình 1 Ca sử dụng cho người quản lý
2.4 Sơ đồ ca sử dụng cho người dùng
Hình 2 Ca sử dụng cho người dùng
2.5 Đặc tả các ca sử dụng
Tên Use Case Use case đăng nhập
Mô tả Đăng nhập vào hệ thống
Người dùng Điều kiện trước Người dùng đã đăng ký thành công tài khoản tại website và sử dụng tài khoản đó để đăng nhập vào hệ thống
Quản lý đã được cấp tài khoản và sử dụng tài khoản đó để đăng nhập vào hệ thống
2/ Nhập thông tin tài khoản: tên đăng nhập và mật khẩu
1/ Yêu cầu cung cấp thông tin đăng nhập
4/ Kiểm tra xem trong cơ sở dữ liệu có tồn tại tài khoản này không Nếu không tổn tại thì thông báo lỗi đăng nhập cho người dùng
5/ Hệ thống sẽ xem xét để phân quyền và chuyển hướng nguời dùng sang những trang tương ứng
Bảng 3 Đặc tả ca sử dụng “Đăng nhập”
Tên Use Case Use case đăng xuất
Mô tả Đăng xuất khỏi hệ thống
Tác nhân Các thành viên trong Use case đăng nhập Điều kiện trước Quản trị viên, khách hàng đã đăng nhập vào hệ thống
1/ Nhấn nút đăng xuất 2/ Đăng xuất khỏi hệ thống
Bảng 4 Đặc tả ca sử dụng “Đăng xuất”
Tên Use Case Use case đăng ký
Mô tả Đăng ký tài khoản mới để sử dụng hệ thống
Tác nhân Khách vãng lai Điều kiện trước Thông tin được cung cấp phải thỏa mãn yêu cầu của website
2/ Nhập các thông tin cần thiết để đăng ký tài khoản
1/ Yêu cầu cung cấp các thông tin để đăng ký tài khoản
4/ Kiểm tra dữ liệu nhập vào có hợp lệ hay không và phản hổi kết quả lại cho khách hàng
Bảng 5 Đặc tả ca sử dụng “Đăng ký”
2.5.4 Use case chọn cấp độ
Tên Use Case Use case chọn cấp độ
Mô tả Chọn cấp độ
Tác nhân Người dùng Điều kiện trước Người dùng sau khi đã đăng nhập vào hệ thống
1/ Click chọn cấp độ 2/ Chuyển hướng đến trang chọn bài học
Bảng 6 Đặc tả ca sử dụng “Chọn cấp độ”
2.5.5 Use case chọn bài học
Tên Use Case Use case chọn bài học
Mô tả Cho phép người dùng chọn bài học
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Nhấn chọn bài học 2/ Hiển thị các nội dung trong bài học
Bảng 7 Đặc tả ca sử dụng “Chọn bài học”
2.5.6 Use Case chọn nội dung học
Tên Use Case Use Case nội dung học
Mô tả Người dùng tiến hành chọn nội dung muốn học
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Chọn một trong các nội dung muốn học
2/ Chuyển qua trang hiển thị chi tiết của nội dung đó
Bảng 8 Đặc tả ca sử dụng “chọn nội dung”
2.5.7 Use Case Học từ vựng
Tên Use Case Use case học từ vựng
Mô tả Cho phép người dùng xem danh sách từ vựng theo từng bài
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập
1/ Nhấn nút chọn nội dung từ vựng của bài học
2/ Hiển thi chi tiết danh sách các từ vựng thuộc bài học đó
Bảng 9 Đặc tả ca sử dụng “học từ vựng”
2.5.8 Use Case học ngữ pháp
Tên Use Case Use case học ngữ pháp
Mô tả Cho phép người dùng xem chi tiết ngữ pháp theo bài học
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Nhấn chọn nội dung ngữ pháp trong bài học
2/ Hiển thị danh sách các ngữ pháp của bài học đó
Bảng 10 Đặc tả ca sử dụng “học ngữ pháp”
Tên Use Case Use Case luyện đọc
Mô tả Cho phép người dùng nghe audio và đọc theo, dịch chi tiết
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Nhấn chọn nội dung luyện đọc trong bài học
2/ Chuyển hướng đến trang chi tiết của phần luyện đọc theo bài học
4/ Hiển thị nội dung dịch của phần luyện đọc
Bảng 11 Đặc tả ca sử dụng “Luyện đọc”
2.5.10 Use Case nghe hội thoại
Tên Use Case Use case nghe hội thoại
Mô tả Cho người dùng nghe audio cuộc thoại, nội dung cuộc hội thoại và xem chi tiết nội dung dịch
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Nhấn chọn nội dung hội thoại trong bài học
2/ Chuyển qua trang chi tiết hội thoại, nghe audio và nội dung, phần dịch
4/ Nghe audio cuộc hội thoại 6/ Chi tiết dịch của phần hội thoại
Bảng 12 Đặc tả ca sử dụng “nghe hội thoại”
Tên Use Case Use case học kanji
Mô tả Cho phép xem chi tiết cách viết, tên , ý nghĩa của các từ kanji
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Chọn nội dung học kanji trong bài học
3/ Kích vô từng chữ kanji
2/ Chuyển qua trang chi tiết danh sách các từ kanji thuộc bài học
4/ Hiển thị chi tiết cách viết, cách đọc, ý nghĩa của từ kanji đó
Bảng 13 Đặc tả ca sử dụng “học kanji”
2.5.12 Use Case thi trắc nghiệm
Tên Use Case Use case thi trắc nghiệm
Mô tả Cho phép người dùng làm bài trắc nghiệm nhỏ để ôn tập kiến thức đã học
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Chọn nội dung học kanji trong bài học
3/ Kích vô từng chữ kanji
2/ Chuyển qua trang chi tiết danh sách các từ kanji thuộc bài học
4/ Hiển thị chi tiết cách viết, cách đọc, ý nghĩa của từ kanji đó
Bảng 14 Đặc tả ca sử dụng “thi trắc nghiệm”
2.5.13 Use Case học bảng chữ cái
Tên Use Case Use case học bảng chữ cái
Mô tả Cho phép người dùng xem chi tiết các chữ cái có trong các loại bảng chữ cái: cách viết, cách đọc
Tác nhân Người dùng Điều kiện trước Người dùng đã đăng nhập vào hệ thống
1/ Chọn bảng chữ cái muốn xem chi tiết 2/ Chuyển qua trang chi tiết danh sách các chữ cái thuộc bảng chữu cái đã chọn
Bảng 15 Đặc tả ca sử dụng “học bảng chữ cái”
2.5.14 Use Case Xem danh sách tài khoản
Tên Use Case Use case xem danh sách tài khoản
Mô tả Cho phép người quản lý xem chi tiết danh sách các tài khoản
Tác nhân Người quản lý Điều kiện trước Người quản lý đã đăng nhập vào hệ thống
1/ Chọn xem danh sách tài khoản 2/ Chuyển qua trang chi tiết danh sách các tài khoản
Bảng 16 Đặc tả ca sử dụng “xem danh sách tài khoản”
- Use case xem danh sách cấp độ, từ vựng, ngữ pháp, hội thoại, kanji, câu hỏi, bảng chữ cái cũng tương tự
2.5.15 Use Case thêm tài khoản
Tên Use Case Use case thêm tài khoản
Mô tả Cho phép người quản lý thêm tài khoản
Tác nhân Người quản lý Điều kiện trước Người quản lý đã đăng nhập vào hệ thống
1/ Chọn thêm tài khoản nhập user, password và vai trò
2/ Chuyển qua trang chi tiết danh sách các tài khoản, tài khoản được thêm đã có trong danh sách
Bảng 17 Đặc tả ca sử dụng “ thêm tài khoản”
- Use case thêm cấp độ, từ vựng, ngữ pháp, hội thoại, kanji, câu hỏi, bảng chữ cái cũng tương tự
2.5.16 Use Case sửa tài khoản
Tên Use Case Use case sửa tài khoản
Mô tả Cho phép người quản lý sửa tài khoản
Tác nhân Người quản lý Điều kiện trước Người quản lý đã đăng nhập vào hệ thống
1/Chọn sửa tài khoản, chỉnh sửa thông tin 2/ Sau khi sửa thành công chuyển qua trang danh sách tài khoản
Bảng 18 Đặc tả ca sử dụng “xem sửa tài khoản”
- Use case sửa cấp độ, từ vựng, ngữ pháp, hội thoại, kanji, câu hỏi, bảng chữ cái cũng tương tự
2.5.17 Use Case xóa tài khoản
Tên Use Case Use case xóa tài khoản
Mô tả Cho phép người quản lý xóa tài khoản
Tác nhân Người quản lý Điều kiện trước Người quản lý đã đăng nhập vào hệ thống
1/ Chọn xóa tài khoản 2/ Tài khoản bị xóa không còn trong danh sách
Bảng 19 Đặc tả ca sử dụng “xóa tài khoản”
- Use case xóa cấp độ, từ vựng, ngữ pháp, hội thoại, kanji, câu hỏi, bảng chữ cái cũng tương tự.
Mô tả chức năng
Hình 4 Mockup màn hình đăng nhập
Xác thực tên đăng nhập và mật khẩu để đăng nhập vào hệ thống
Hệ thống cần có một trang đăng nhập để người dùng nhập tên tài khoản và mật khẩu Người dùng sẽ điền thông tin vào ô “Tài khoản” và “Mật khẩu”, với mật khẩu được hiển thị ở dạng ẩn Khi nhấn nút “Đăng nhập”, hệ thống sẽ kiểm tra sự tồn tại của tài khoản trong cơ sở dữ liệu của hệ thống quản lý Web học tiếng Nhật Nếu tài khoản hợp lệ, người dùng sẽ được chuyển đến màn hình hiển thị các chức năng chính; nếu không, hệ thống sẽ thông báo “Tài khoản hoặc mật khẩu không đúng Vui lòng nhập lại.” và giữ nguyên màn hình đăng nhập Nếu người dùng chưa có tài khoản và muốn đăng ký, họ có thể nhấn vào nút đăng ký để chuyển sang trang đăng ký.
Hình 5 Mockup màn hình đăng kí
Để đăng ký tài khoản, người dùng cần điền đầy đủ thông tin vào các ô yêu cầu và nhấn nút đăng ký Nếu tên tài khoản đã tồn tại, hệ thống sẽ thông báo “Tên tài khoản đã trùng, vui lòng đổi tên tài khoản khác!” Sau khi đăng ký thành công, người dùng sẽ được chuyển đến trang đăng nhập Nếu không muốn tiếp tục đăng ký, người dùng có thể nhấn nút Quay lại để trở về trang chính đăng nhập.
Màn hình Đăng ký tài khoản
Mô tả Người dùng đăng ký tài khoản để sử dụng các chức năng của web
Cách truy cập Nhấn vào button Đăng Ký
Tên tài khoản Textbox Nhập vào tên tài khoản
Họ và tên Textbox Nhập vào họ và tên
Mật khẩu Password Nhập vào mật khẩu
Nhập lại mật khẩu Password Nhập lại mật khẩu Đăng ký Button Đăng ký tài khoản
Quay lại Button Quay lại trang chủ
Tên hành động Mô tả Thành công Thất bại Đăng ký Đăng ký tài khoản Tài khoản được lưu vào csdl
Hiển thị thông báo: “Nhập lại mật khẩu không đúng”
Hiển thị thông báo:”Tên tài khoản đã tồn tại”
Hiển thị thông báo:”Bạn phải nhập đầy đủ tất cả các trường”
Quay lại Hủy đăng ký Quay trở lại màn hình trước
Hình 6 Mockup màn hình chọn cấp độ
Màn hình Chọn cấp độ
Mô tả Người dùng chọn cấp độ
Cách truy cập Hiển thị khi người dùng đăng nhập thành công
Mục Kiểu Dữ liệu Mô tả
Cấp độ sơ cấp Button Chọn cấp độ sơ cấp
Cấp độ N5 Button Chọn cấp độ N5
Cấp độ N4 Button Chọn cấp độ N4
Cấp độ N3 Button Chọn cấp độ N3
Cấp độ N2 Button Chọn cấp độ N2
Cấp độ N1 Button Chọn cấp độ N1
Tên hành động Mô tả Thành công Thất bại
Click Cấp độ Chọn cấp độ muốn học Hiển thị tất cả các bài học ứng với cấp độ
Hình 7 Mockup màn hình chọn bài học
Màn hình Chọn bài học
Mô tả Người dùng chọn bài học
Cách truy cập Hiển thị khi người dùng chọn cấp độ
Mục Kiểu Dữ liệu Mô tả
Cấp độ sơ cấp Button Chọn cấp độ sơ cấp
Cấp độ N5 Button Chọn cấp độ N5
Cấp độ N4 Button Chọn cấp độ N4
Cấp độ N3 Button Chọn cấp độ N3
Cấp độ N2 Button Chọn cấp độ N2
Cấp độ N1 Button Chọn cấp độ N1
Tên hành động Mô tả Thành công Thất bại
Click Cấp độ Chọn cấp độ muốn học Hiển thị tất cả các bài học ứng với cấp độ
Hình 8 Mockup chọn nội dung
Màn hình Chọn nội dung
Mô tả Người dùng chọn nội dung muốn học
Cách truy cập Hiển thị khi người dùng chọn bài học
Mục Kiểu Dữ liệu Mô tả
Từ vựng Button Chọn học từ vựng
Ngữ pháp Button Chọn học ngữ pháp
Luyện đọc Button Chọn học luyện đọc
Hội thoại Button Chọn nghe hội thoại
Hán tự Button Chọn học hán tự
Kiểm tra Button Chọn thi trắc nghiệm
Tên hành động Mô tả Thành công Thất bại
Người dùng muốn chọn nội dung cần học
Chuyển sang trang chi tiết của nội dung đó
Hình 9 Mockup màn hình học từ vựng
Màn hình Học từ vựng
Mô tả Người dùng xem danh sách từ vựng cần học
Cách truy cập Chọn nội dung từ vựng
Mục Kiểu Dữ liệu Mô tả
Table Có trong cơ sở dữ liệu
Xem danh sách từ vựng
Tên hành động Mô tả Thành công Thất bại
Click chọn nội dung từ vựng
Danh sách từ vựng Xem được danh sách từ vựng
Nhấn từ khóa cần tìm kiếm
Tìm kiếm từ vựng muốn tìm
Hiển thị từu vựng thỏa mãn điểu kiện tìm kiếm
Hình 10 Mockup màn hình học ngữ pháp
Màn hình Học ngữ pháp
Mô tả Xem chi tiết ngữ pháp của từng bài học
Cách truy cập Nhấn vào nội dung ngữ pháp
Tên hành động Mô tả Thành công Thất bại
Click Chọn nội dung ngữ pháp
Xem chi tiết ngữ pháp của từng bài học
Chuyển qua trang chi tiết ngữ pháp
Hình 11 Mockup màn hình luyện đọc
Màn hình Học luyện đọc
Mô tả Xem chi tiết phần luyện của từng bài học
Cách truy cập Nhấn vào nội dung luyện đọc
Tên hành động Mô tả Thành công Thất bại
Click để nghe radio Nghe radio của phần luyện đọc
Chạy file audio, nghe âm thanh
Click vào nút dịch Xem nội dung dịch của phần luyện nghe
Hiển thị nội dung dịch của phần luyện đọc
Hình 12 Mockup màn hình nghe hội thoại
Màn hình Nghe hội thoại
Mô tả Nghe phần hội thoại, xem nội dung
Cách truy cập Nhấn vào nội dung hội thoại
Tên hành động Mô tả Thành công Thất bại
Click vào nút dịch Xem nội dung dịch của phần luyện nghe
Hiển thị nội dung dịch của phần hội thoại
Hình 13 Mockup màn hình học kanji
Mô tả Xem chi tiết danh sách chữ kanji của từng bài học
Cách truy cập Nhấn vào nội dung hán tự
Tên hành động Mô tả Thành công Thất bại
Gõ từ khóa vào ô search
Tìm kiếm từ kanji Hiển thị từ kanji thỏa mãn điều kiện tìm kiếm
Nhấn vào từng chữ kanji
Xem chi tiết chữ kanji Chuyển qua trang chi tiết của từ kanji đó
Hình 14 Mockup màn hình thi trắc nghiệm
Hình 15 Mockup màn hình danh sách tài khoản
Màn hình Xem danh sách tài khoản
Mô tả Danh sách tài khoản
Cách truy cập Nhấn vào xem danh sách tài khoản
Tên hành động Mô tả Thành công Thất bại
Click Sửa Sửa tài khoản Chuyển qua trang sửa tài khoản
Click xóa Xóa tài khoản Tài khoản bị xóa không còn trong danh sách
Hình 16 Mockup màn hình thêm tài khoản
Màn hình Thêm tài khoản
Mô tả Thêm tài khoản vào danh sách tài khoản
Cách truy cập Nhấn vào nút thêm tài khoản
Tên hành động Mô tả Thành công Thất bại
Nhập thông tin tài khoản sau đó nhấn thêm
Nhập thông tin để thêm tài khoản
Chuyển qua trang danh sách tài khoản , tài khoản vừa thêm đã có trong danh sách
Phân tích và thiết kế cơ sở dữ liệu
− Level( level_id, level_name, level_image)
• Toàn vẹn thực thể: level_id là khóa chính
− Syllabary( syllabary_id, syllabary_name)
• Toàn vẹn thực thể: syllabary_id là khóa chính
− Letter(letter_id, letter_name, letter_mean, syllabary_id)
• Toàn vẹn thực thể: letter_id là khóa chính
- Thuộc tính syllabary_id của quan hệ Letter là khóa ngoại tham chiếu đến khóa chính syllabary_id của quan hệ Syllabary
− Lesson(lesson_id, lesson_name, leson_image, level_id)
• Toàn vẹn thực thể: lesson_id là khóa chính
- Thuộc tính level_id của quan hệ Lesson là khóa ngoại tham chiếu đến khóa chính level_id của quan hệ Level
− Vocabulary(vocabulary_id, vocabulary_name, vocabulary_read, vocabulary_kanji, vocabulary_mean_kanji, vocabulary_mean, lesson_id)
• Toàn vẹn thực thể: vocabulary_id là khóa chính
- Thuộc tính lesson_id của quan hệ Vocabularylà khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
− Grammar(grammar_id, grammar_name, grammar_content, grammar_ex, lesson_id)
• Toàn vẹn thực thể: grammar_id là khóa chính
- Thuộc tính lesson_id của quan hệ Grammarlà khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
− Reading(reading_id, reading_content, reading_mean, lesson_id)
• Toàn vẹn thực thể: reading_id là khóa chính
- Thuộc tính lesson_id của quan hệ Reading là khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
− Conversation(conversation_id, conversalesson_content, conversalesson_mean, lesson_id)
• Toàn vẹn thực thể: conversation_id là khóa chính
- Thuộc tính lesson_id của quan hệ Conversation là khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
− Kanji(kanji_id, kanji, kaji_name, kanji_mean, kanji_on, kanji_kun, kanji_image, kanji_ex, lesson_id)
• Toàn vẹn thực thể: kanji_id là khóa chính
- Thuộc tính lesson_id của quan hệ Kanji là khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
− Question(question_id, question_content, answer_A, answer_B, answer_C, answer_D, answer_true, lesson_id)
• Toàn vẹn thực thể: question_id là khóa chính
- Thuộc tính lesson_id của quan hệ Question là khóa ngoại tham chiếu đến khóa chính lesson_id của quan hệ Lesson
• Toàn vẹn thực thể: id là khóa chính
• Toàn vẹn thực thể: id là khóa chính
− User_Role( user_id, role_id)
• Toàn vẹn thực thể: user_id, role_id là khóa chính
4.2 Sơ đồ cơ sở dữ liệu quan hệ
Hình 16 Sơ đồ cơ sở dữ liệu quan hệ
THỬ NGHIỆM VÀ ĐÁNH GIÁ
Môi trường triển khai
− Công cụ: Eclipse và MySQL WorkBench
− Ngôn ngữ lập trình: Java
− Hệ quản trị cơ sở dữ liệu: MySQL
Giao diện hệ thống
Hình 17 Màn hình đăng nhập hệ thống
Hình 18 Màn hình đăng ký hệ thống
Hình 19 Màn hình trang chủ
2.4 Màn hình danh sách bài học
Hình 20 Màn hình chọn bài học
2.5 Màn hình chọn nội dung
Hình 21 Màn hình chọn nội dung
2.6 Màn hình học từ vựng
Hình 22 Màn hình học từ vựng
2.7 Màn hình học ngữ pháp
Hình23 Màn hình học ngữ pháp
Hình 24: Màn hình luyện đọc
2.9 Màn hình đoạn hội thoại
Hình 25 Màn hình đoạn hội thoại
2.10 Màn hình học hán tự
Hình 26 Màn hình học hán tự
2.11 Màn hình thi trắc nghiệm
Hình 26 Màn hình thi trắc nghiệm
2.12 Màn hình học bảng chữ cái
Hình 27 Màn hình danh sách bảng chữ cái
2.13 Màn hình danh sách cấp độ(admin)
Hình 28: Màn hình danh sách cấp độ (admin)
2.13 Màn hình thêm cấp độ (admin)
Hình 29 Màn hình thêm cấp độ (admin) 2.14 Màn hình sửa cấp độ (admin)
Hình 30: Màn hình sửa cấp độ (admin)
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
- Các chức năng cập nhật được thành công
- Phần mềm sử dụng tiếng việt rất dễ đọc
- Không yêu cầu người sử dụng có trình đọ cao về công nghệ thông tin
- Dễ dàng sử dụng và quản lý
- Đã xây dựng được các chức năng cần thiết cho trang web thi trắc nghiệm
- Chương trình có giao diện thân thiện
- Chưa giải quyết được trọn vẹn các vấn đề nảy sinh trong quá trình quản lý
- Còn nhiều ứng dụng chưa được nghiên cứu
- Một số chức năng của hệ thống chưa hoàn thiện
Sau một thời gian nỗ lực, sản phẩm đã hoàn thiện, mặc dù vẫn còn nhiều thiếu sót do kinh nghiệm hạn chế của nhóm và thời gian làm việc không đủ Ngoài ra, sự thiếu hỗ trợ từ những người có kinh nghiệm cũng là một yếu tố khách quan ảnh hưởng đến quá trình phát triển.
Sản phẩm không chỉ thỏa mãn đam mê sáng tạo mà còn giúp rèn luyện kỹ năng lập trình, mang lại niềm vui cho người thực hiện khi hoàn thành sản phẩm.
Trong tương lai, nhóm sẽ phát triển thêm nhiều chức năng cho phần mềm nhằm hỗ trợ tốt hơn cho người dùng, đồng thời giảm thiểu các thao tác không cần thiết.
- Website học tiếng Nhật Online thân thiện với người dùng, có thêm nhiều chức năng đặc biệt hơn các trang web khác
- Hoàn thiện chương trình với giao diện đẹp, chương trình tối ưu so với thực tiễn
- Iviecttech (2016) Phân tích và thiết kế hướng đối tượng
- Website https://www.vnjpclub.com/minna-no-nihongo/
- Website https://www3.nhk.or.jp/nhkworld/
- Spring boot in Action Crail Walls
- Giáo trình Phân tích hệ thống hướng đối tượng với UML Dương Kiều Hoa
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
……… Đà Nẵng, ngày tháng năm 2019 Cán bộ hướng dẫn