GIỚI THIỆU ĐỀ TÀI
Lý do chọn đề tài
Hiện nay, việc học ngôn ngữ mới mang lại nhiều cơ hội việc làm cho giới trẻ, đặc biệt trong một thị trường lao động cạnh tranh Chỉ biết tiếng Anh không đủ, do đó, nhu cầu học các ngôn ngữ khác, như tiếng Nhật, ngày càng tăng Tiếng Nhật không chỉ giúp gia tăng khả năng cạnh tranh mà còn mở ra cơ hội kiếm việc với mức lương hấp dẫn Vì vậy, tôi quyết định thực hiệ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 tập 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 hỗ trợ việc học tiếng Nhật hiệu quả cho mọi cấp độ, từ 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.
- 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 quan sát trực tiếp và thử nghiệm một số phần mềm học tiếng Nhật hiện nay Qua đó, chúng ta có thể phân tích các ưu nhược điểm cũng như quy trình cơ bản của những phần mềm này, đặc biệt là trong việc 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, Internet, và các tài liệu nghiên cứu Quá trình này đòi hỏi sự tổng hợp và phân tích các tài liệu liên quan đến ngôn ngữ và công cụ hỗ trợ, nhằm đảm bảo tính chính xác và độ tin cậy của thông tin thu thập được.
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 xây dựng 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 quan trọng trong quá trình xây dựng ứng dụng, giúp xác định các nhu cầu cụ thể của người dùng Các bước phân tích hệ thống cần được thực hiện một cách chi tiết để hỗ trợ lập trình hiệu quả Sau khi triển khai ứng dụng, việc đánh giá kết quả đạt được và thực hiện bảo trì định kỳ là cần thiết để đảm bảo hệ thống hoạt động ổn định và đáp ứng tốt nhất nhu cầu của người sử 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 này liên quan đến việc nghiên cứu và mô phỏng các hiện tượng cũng như quy trình nghiệp vụ trong thế giới thực, nhằm xây dựng hệ thống giải quyết các vấn đề cụ thể trên máy tính.
Để phát triển 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 và thiết kế hệ thống là rất quan trọng Đây là yếu tố quyết định đến 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, nơi bài toán lớn được phân rã thành các bài toán nhỏ hơn Quá trình này tiếp tục cho đến khi các bài toán con đạt được độ chi tiết đủ để 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 kết hợp cả hai khía cạnh quan trọng của hệ thống là dữ liệu và hành động, khác với phương pháp hướng cấu trúc chỉ chú trọng vào một trong hai yếu tố này.
- 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
Với phương pháp này, hệ thống được phân chia 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 đại diện cho một thực thể vật lý, khái niệm hoặc phần mềm, với những giới hạn rõ ràng và 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 như một thể hiện cụ thể của lớp, trong khi lớp lại đóng vai trò là định nghĩa trừu tượng cho các đối tượng này.
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 riêng biệt Nhiều gói có thể được kết hợp với nhau để tạo thành một hệ thống con hoàn chỉnh.
- 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
Trong lập trình hướng đối tượng, các lớp được tổ chức thành một sơ đồ kế thừa, cho phép trừu tượng hóa ở mức cao hơn Điều này dẫn đến sự xuất hiện của các lớp trừu tượng, là những lớp không có đối tượng cụ thể tương ứ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 cả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, giúp bảo vệ dữ liệu và tăng cường tính an toàn 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 việc truy cập và ẩn đi các chi tiết thực hiện bên trong, đảm bảo thuộc tính được khai báo là 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, giúp tạo ra các bản vẽ mô tả thiết kế Những bản vẽ này không chỉ hỗ trợ các nhóm thiết kế trong việc trao đổi thông tin mà còn đóng vai trò quan trọng trong 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 nhận biết các tính năng, đối tượng người dùng và cách thức họ tương tác với hệ thống.
• 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 một 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ác chức năng của hệ thống và đối tượng sử dụng Nó giúp chúng ta nhận diện ai sẽ sử dụng hệ thống và những tính năng nào được cung cấp Việc lập bản vẽ này giúp hiểu rõ yêu cầu của hệ thống cần xây dựng, từ đó đảm bảo rằng các nhu cầu của người dùng được đáp ứng đầy đủ.
• 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ả sự 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ế là yếu tố quan trọng trong việc lập bản vẽ, vì mỗi bản vẽ đều có quy tắc riêng Để tạo ra các thiết kế chính xác, bạn cần nắm vững các 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, được phát triển bởi Sun Microsystems dưới sự lãnh đạo của James Gosling, đã được ra mắt lần đầu vào năm 1995 với phiên bản Java 1.0 (J2SE) Tính đến tháng 2 năm 2015, phiên bản mới nhất của Java Standard Edition (JSE) là 8 Với ưu điểm nổi bật về khả năng đa nền tảng, Java ngày càng trở nên phổ biến và được ứng dụng rộng rãi trên nhiều thiết bị, từ máy tính đến di động và các 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 hiệu năng cao, dễ dàng kiểm thử và tối ưu hóa việc tái sử dụng mã nguồn.
- 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 các tính năng cốt lõi cho việc phát triển ứng dụng Java Desktop, mobile và 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 việc sử dụng mô hình POJO (Plain Old Java Object).
Spring Boot là một dự án phát triển trong hệ sinh thái Spring framework, được tạo ra bởi JAV (ngôn ngữ Java) Công cụ này giúp lập trình viên đơn giản hóa quá trình phát triển ứng dụng, cho phép họ tập trung vào việc xây dựng các tính năng kinh doanh 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 thế giới, được ưa chuộng bởi các nhà phát triển ứng dụng nhờ vào tốc độ cao, tính ổn định và dễ sử dụng Với khả năng tương thích trên nhiều hệ điều hành và hệ thống hàm tiện ích mạnh mẽ, MySQL là lựa chọn lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu trên internet Đặc biệt, MySQL hoàn toàn miễn phí và có 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 examples of operating systems MySQL is 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
Diễn viên là một tập hợp các vai trò trong quá trình tương tác với hệ thống, nơi người sử dụng có thể là một cá nhân hoặc một hệ thống khá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 thông qua việc mô tả sự tương tác giữa người dùng (Actor) và hệ thống Nó tập trung vào việc xác định những gì hệ thống cần thực hiện, thay vì cách thức thực hiện Tập hợp các Use Case sẽ phản ánh tất cả các tình huống mà hệ thống có thể xử lý, với mỗi Use Case thể hiện cách thức mà Actor tương tác để đạt được mục tiêu cụ thể.
2.2 Mô tả các tác nhân (Actor) có trong hệ thống
Quản trị viên đă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 công việc quản lý, quản trị viên 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 cùng cấp độ, bao gồm các phần học như từ vựng, ngữ pháp, kanji, nghe hội thoại, bảng chữ cái và thi trắc nghiệm Sau khi hoàn thành các bài học, 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 cho phé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” (mật khẩu sẽ được ẩn) Khi nhấn nút “Đăng nhập”, hệ thống 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 Ngược lại, nếu tài khoản không đú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, họ có thể nhấn nút đăng ký để chuyển đến 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 cuối cùng đã hoàn thành Mặc dù vẫn còn nhiều thiếu sót, điều này xuất phát từ những yếu tố chủ quan như kinh nghiệm hạn chế của nhóm và những yếu tố khách quan như thời gian không đủ và thiếu sự hỗ trợ từ những người có kinh nghiệm.
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 thấy sản phẩm hoàn thành.
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 cải thiện hỗ trợ công việc cho người dùng, từ đó 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