1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng học tiếng hàn trên nền tảng ios

88 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Học Tiếng Hàn Trên Nền Tảng IOS
Thể loại Đồ Án Tốt Nghiệp
Định dạng
Số trang 88
Dung lượng 1,98 MB

Cấu trúc

  • Chương 1 TỔNG QUAN (8)
    • 1.1 Lý do chọn đề tài (8)
    • 1.2 Mục tiêu nghiên cứu (9)
    • 1.3 Khảo sát hiện trạng (9)
    • 1.4 Mô tả tổng thể (10)
      • 1.4.1 Phối cảnh sản phẩm (10)
      • 1.4.2 Chức năng ứng dụng (10)
      • 1.4.3 Các lớp người dùng và đặc điểm người dùng (11)
      • 1.4.4 Môi trường hoạt động (11)
      • 1.4.5 Ràng buộc (11)
  • Chương 2 CƠ SỞ LÝ THUYẾT (12)
    • 2.1 Tổng quan về NodeJS (12)
      • 2.1.1 Express framework (12)
    • 2.2 Tổng quan về Jquery (14)
      • 2.2.1 Khái niệm (14)
      • 2.2.2 Các tính năng quan trọng (15)
      • 2.2.3 Ưu điểm (15)
    • 2.3 Tổng quan về Swift (16)
      • 2.3.1 Khái niệm (16)
      • 2.3.2 Đặc điểm (16)
      • 2.3.3 Ưu điểm so với Objective-C (16)
      • 2.3.4 Nhược điểm so với Objective-C (17)
      • 2.3.5 Realm Swift (17)
      • 2.3.6 Auto Layout (18)
      • 2.3.7 User Defaults (20)
      • 2.3.8 Thread (21)
      • 2.3.9 Speed (21)
      • 2.3.10 NSTimer (21)
      • 2.3.11 Core ML (21)
  • Chương 3 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU (22)
    • 3.1 Phân tích yêu cầu chức năng (22)
      • 3.1.1 Chức năng nghe, ghi âm (22)
      • 3.1.2 Chức năng thêm vào danh sách yêu thích (22)
      • 3.1.3 Chức năng nghe liên tục (23)
      • 3.1.4 Chức năng luyện tập từ, câu qua các đáp án (23)
      • 3.1.5 Chức năng làm bài test (24)
      • 3.1.6 Chức năng tìm kiếm (24)
      • 3.1.7 Chức năng luyện viết chữ (25)
      • 3.1.8 Chức năng luyện tập qua Video ca nhạc (25)
      • 3.1.9 Chức năng luyện tập qua trò chơi Search Word (26)
      • 3.1.10 Chức năng luyện tập qua trò chơi Word Garden (26)
      • 3.1.11 Chức năng luyện tập qua Flash Card (27)
    • 3.2 Phân tích yêu cầu phi chức năng (27)
    • 3.3 Mô hình hóa yêu cầu (28)
      • 3.3.1 Use case tổng quát (28)
      • 3.3.2 Chi tiết Use case (29)
        • 3.3.2.1 Use case Học từ vựng (29)
        • 3.3.2.2 Use case Học ngữ pháp (35)
        • 3.3.2.3 Use case Luyện tập (37)
        • 3.3.2.4 Use case Quản lý từ vựng (45)
        • 3.3.2.5 Use case Quản lý ngữ pháp (47)
        • 3.3.2.6 Use case Quản lý video (48)
        • 3.3.2.7 Use case Quản lý Lyric (49)
  • Chương 4 THIẾT KẾ HỆ THỐNG (51)
    • 4.1 Thiết kế dữ liệu (51)
      • 4.1.1 Mô hình ERD (51)
      • 4.1.2 Mô tả các bảng (51)
    • 4.2 Kiến trúc hệ thống (54)
    • 4.3 Thiết kế xử lý (55)
      • 4.3.1 Sequence diagram (55)
        • 4.3.1.1 Sequence diagram Gramma (55)
        • 4.3.1.2 Sequence diagram Xem Video (55)
        • 4.3.1.3 Sequence diagram Vocabulary (56)
        • 4.3.1.4 Sequence diagram Tìm Kiếm (56)
        • 4.3.1.5 Sequence diagram Đánh dấu từ đã học (57)
        • 4.3.1.6 Sequence diagram Nghe phát âm (57)
        • 4.3.1.7 Sequence diagram Luyện phát âm (58)
        • 4.3.1.8 Sequence diagram Luyện nghe phiên âm (59)
      • 4.3.2 Class diagram (60)
        • 4.3.2.1 Class diagram tổng thể (60)
        • 4.3.2.2 Class diagram từ vựng (61)
        • 4.3.2.2 Class diagram Lession, Gramma, Video and Lyric (62)
    • 4.4 Thiết kế giao diện (63)
      • 4.4.1 Màn hình trang chủ (63)
      • 4.4.2 Màn hình Menu (65)
      • 4.4.3 Màn hình danh sách các từ, câu (66)
      • 4.4.4 Màn hình ghi âm (68)
      • 4.4.5 Màn hình học nói (70)
      • 4.4.6 Màn hình làm bài test (72)
      • 4.4.7 Màn hình tìm kiếm (74)
      • 4.4.8 Màn hình luyện tập nghe (76)
      • 4.4.9 Màn hình luyện viết (78)
      • 4.4.10 Màn hình hiển thị file PDF để xem từ vựng, ngữ pháp (80)
      • 4.4.11 Màn hình trò chơi “Search Word” (81)
      • 4.4.12 Màn hình trò chơi “Word Garden” (83)
      • 4.4.13 Màn hình Flash Card (85)
  • Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (87)
    • 5.1 Kết quả (87)
    • 5.2 Hạn chế (87)
    • 5.3 Hướng phát triển (87)

Nội dung

TỔNG QUAN

Lý do chọn đề tài

Ngày nay, nhiều bạn trẻ khao khát tìm kiếm công việc ổn định tại các công ty nước ngoài nhờ vào phong cách làm việc chuyên nghiệp, chế độ đãi ngộ hấp dẫn và mức lương cao Để có cơ hội làm việc tại những công ty này, trình độ ngoại ngữ là yếu tố then chốt Vì vậy, nhiều công nhân, học sinh, sinh viên và người đã đi làm dành thời gian học ngoại ngữ, từ tiếng Anh, Nhật, Hàn, Pháp, Nga đến Trung và Thái.

Việt Nam và Hàn Quốc hiện duy trì mối quan hệ đối tác quan trọng trong khu vực Đông Nam Á, với vốn đầu tư Hàn Quốc vào Việt Nam đứng thứ 4 Nhiều tập đoàn lớn như Samsung, LG Electronics và Lotte đã có mặt tại Việt Nam, mang theo nguồn vốn khổng lồ và nhiều chi nhánh trên toàn quốc Việt Nam hiện có 15 trường đại học chuyên đào tạo ngôn ngữ Hàn Quốc cùng nhiều trung tâm dạy tiếng Hàn Đặc biệt, Việt Nam là một trong những quốc gia nghe Kpop nhiều nhất thế giới, với người Việt đóng góp lượng view lớn cho nhóm nhạc BlackPink trên YouTube, đứng thứ 3 toàn cầu.

Mặc dù số lượng người học tiếng Hàn đang tăng nhanh, nhưng vẫn chưa đủ để đáp ứng nhu cầu tuyển dụng của các công ty Hàn Quốc Nhiều doanh nghiệp buộc phải tìm nhân viên thông thạo tiếng Anh do không tìm được ứng viên phù hợp Thực tế cho thấy, các sếp Hàn Quốc thường không giỏi giao tiếp bằng tiếng Anh, điều này khiến việc học tiếng Hàn trở thành một lợi thế lớn trong công việc Trong bối cảnh thị trường tiếng Anh đang bão hòa và tiếng Nhật cũng dần đạt mức bão hòa, tiếng Hàn đang nổi lên như một ngôn ngữ tiềm năng nhất trong lĩnh vực tuyển dụng hiện nay.

Mục tiêu nghiên cứu

Thiết kế giao diện ứng dụng cần chú trọng đến màu sắc hấp dẫn, kích thước biểu tượng hợp lý và căn lề chuẩn hoặc gần chuẩn giống như các ứng dụng khác trên iOS.

Viết một số các API cho trang quản trị (bằng NodeJS) và client (NodeJS và Swift) c Front-End

Trang quản trị: Thiết kế trang quản trị đẹp mắt, dễ sử dụng

Client: Xây dựng ứng dụng học ngôn ngữ Hàn đẹp mắt, dễ sử dụng và có thể học dễ dàng cho người mới bắt đầu.

Khảo sát hiện trạng

- Giao diện: Animation xuyên suốt

- Các cấp độ: Nhiều cấp độ

- Tính cá nhân hoá: Cao

App này là lựa chọn hoàn hảo cho người mới bắt đầu học tiếng, từ cơ bản đến nâng cao Nó cung cấp đầy đủ các kỹ năng cần thiết như nghe, nói, đọc và viết, giúp người dùng luyện tập một cách hiệu quả.

- Hầu như không có quảng cáo

Tiếng hàn giao tiếp – chủ đề

- Giao diện: chưa được chuyên nghiệp, còn theo dạng liệt kê

- Dữ liệu: khá phong phú

- Tính cá nhân hoá: Thấp

- Phần thưởng (kích thích học tập): Không có

- Đánh giá chung: Một app nghiệp dư cho những ai tò mò tìm hiều ứng dụng, hoặc vọc ứng dụng Không khuyến khích sử dụng

Thị trường học ngoại ngữ, đặc biệt là tiếng Hàn, đang diễn ra sự cạnh tranh gay gắt Để đưa ứng dụng lên vị trí hàng đầu và thu hút một lượng người dùng nhất định, chi phí cho quảng cáo và phát triển sẽ cần phải đầu tư đáng kể.

Mô tả tổng thể

Ứng dụng Chuppy được phát triển để cung cấp môi trường học tiếng Hàn cho người mới bắt đầu, từ giao tiếp, ngữ pháp đến từ vựng Ứng dụng còn tạo hứng thú cho người học, đặc biệt là những ai yêu thích âm nhạc, thông qua việc học qua các video Kpop.

Chức năng chính của ứng dụng gồm:

- Admin: o Quản lý từ vựng o Quản lý ngữ pháp o Quản lý video o Quản lý lyric

- Clien: o Nghe từ vựng, câu o Ghi âm o Làm bài test o Xem video o Luyện viết

1.4.3 Các lớp người dùng và đặc điểm người dùng

Vì đây là ứng dụng clone về nên người dùng của hệ thống được xếp vào hai loại:

- Lớp admin: Quản lý hệ thống

- Lớp client: Sử dụng ứng dụng

- Điện thoại sử dụng hệ điều hành IOS

- Code editer: Visual Code, Xcode

- Ngôn ngữ: o Back-end: NodeJS o Front-end: Swift

- Hệ quản trị cơ sở dữ liệu: MongoDB

Một số chức năng phải kết nối Internet

- Kết nối lần đầu : Load data

- Luôn kết nối: Xem video, Ngữ pháp, Từ Vựng, Flash Card (create), nghe, ghi âm

CƠ SỞ LÝ THUYẾT

Tổng quan về NodeJS

Node có một thư viện tiêu chuẩn nhỏ gọn, cung cấp API ở mức thấp nhất cho các nhà phát triển xây dựng mô-đun Mặc dù dễ dàng tìm thấy các mô-đun bên thứ ba, nhiều tác vụ vẫn có thể hoàn thành mà không cần đến chúng Ưu điểm nổi bật của NodeJS là tính linh hoạt và khả năng mở rộng cao.

- Các ứng dụng Nodejs được viết bằng javascript, đây là một ngôn ngữ khá thông dụng và có cộng đồng lớn trên thế giới

- Với phía Server, NodeJS chạy đa nền tảng, sử dụng Event-driven, non-blocking I/O, vì đó là công nghệ mới nên tốc độ thực thi nhanh và nhẹ

- Chạy được trên mọi nền tảng hệ điều hành: Mac – Window – Linux

- Có thể chạy thời gian thực(Real time), đa nền tảng(multi platform), đa thiết bị (multi device) [6]

Express.js là một khung công tác web linh hoạt dựa trên mô-đun http của Node.js, cho phép các nhà phát triển dễ dàng tích hợp các phần mềm trung gian Điều này giúp họ tự do lựa chọn thư viện phù hợp cho từng dự án, mang lại khả năng tùy biến cao.

Một số chức năng chính của Expressjs:

- Trả về các HTTP request thông qua các lớp trung gian đã thiết lập

- Sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL bằng Define router

- Kết hợp các tham số và dữ liệu để trả về trang HTML [7]

Tổng quan về Jquery

JQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng bằng Javascript dễ dàng, nhanh và giàu tính năng hơn

JQuery tích hợp nhiều module đa dạng, bao gồm cả module hiệu ứng và module truy vấn selector Hiện nay, JQuery được sử dụng trên 99% tổng số website toàn cầu.

Các module phổ biến của jQuery bao gồm:

- Attributes – Xử lý các thuộc tính của đối tượng HTML

- Effect – xử lý hiệu ứng

- Event – xử lý sự kiện

- Form – xử lý sự kiện liên quan tới form

- DOM – xử lý Data Object Model

- Selector – xử lý luồng lách giữa các đối tượng HTML

jQuery không phải là ngôn ngữ lập trình độc lập mà là một thư viện kết hợp với JavaScript, giúp người dùng thực hiện nhiều tác vụ phức tạp một cách dễ dàng hơn Nó cung cấp API để duyệt tài liệu HTML, tạo hoạt ảnh, xử lý sự kiện và thao tác AJAX một cách hiệu quả jQuery tương thích với nhiều trình duyệt khác nhau và đối thủ chính của nó là các JS Framework Được phát hành vào tháng 1 năm 2006 bởi John Resig tại BarCamp NYC, jQuery hiện được duy trì và phát triển bởi đội ngũ của Google, do Timmy Wilson dẫn dắt.

2.2.2 Các tính năng quan trọng

- Gọn nhẹ: jQuery là một thư viện khá gọn nhẹ – có kích cỡ khoảng 19KB

- Tương thích đa nền tảng: Nó tự động sửa lỗi và chạy được trên mọi trình duyệt phổ biến như Chrome, Firefox, Safari, MS Edge, IE, Android và iOS

Thư viện jQuery giúp việc tạo Ajax trở nên đơn giản, cho phép mã Ajax tương tác hiệu quả với máy chủ và tự động cập nhật nội dung mà không cần tải lại trang.

jQuery cho phép xử lý DOM một cách nhanh nhạy, giúp người dùng dễ dàng lựa chọn và duyệt các phần tử DOM Với việc sử dụng Selector mã nguồn mở, hay còn gọi là Sizzle, jQuery hỗ trợ chỉnh sửa nội dung của các phần tử này một cách hiệu quả.

Đơn giản hóa quá trình tạo hiệu ứng bằng cách sử dụng code snippet có sẵn với hiệu ứng animation, cho phép người dùng chỉ cần thêm biến hoặc nội dung cần thiết mà không phải viết lại toàn bộ mã.

jQuery hỗ trợ hiệu quả trong việc xử lý các sự kiện HTML, giúp quản lý các sự kiện đa dạng mà không làm rối mã HTML bằng cách loại bỏ sự cần thiết phải sử dụng các Event Handler phức tạp.

- jQuery xử lý code rất nhanh và có khả năng mở rộng

- jQuery tạo điều kiện cho người dùng viết các mã chức năng bằng các dòng tối thiểu

- jQuery cải thiện hiệu suất lập trình web

- jQuery phát triển các ứng dụng có tương thích với trình duyệt

- Hầu hết các tính năng mới của trình duyệt mới đều được jQuery sử dụng

Tổng quan về Swift

Ngôn ngữ lập trình Swift được Apple giới thiệu lần đầu vào tháng 6 năm 2014 tại Hội nghị các nhà phát triển toàn cầu (WWDC) Swift đã gây ấn tượng mạnh khi Apple phát triển một ngôn ngữ mới cùng với các thư viện hỗ trợ, công cụ cho nhà phát triển và tài liệu, giúp nó hoạt động mượt mà bên cạnh ngôn ngữ Objective-C hiện có.

- Là một ngôn ngữ có khả năng chịu lỗi cao

- Sử dụng cú pháp lập trình hiện đại, bên cạnh bộ cú pháp của Objective-C

- Là ngôn ngữ tuyệt vời để phát triển ứng dụng trên iOS và OS X

- Swift đi kèm tính năng ảo hoá, các lập trình viên Swift có thể viết code và thực thi trên iphone ảo để xem kết quả ngay lập tức

- Swift thống nhất được phần thủ tục và hướng đối tượng [8]

2.3.3 Ưu điểm so với Objective-C

- Swift chạy nhanh hơn, tương đương với C++

- Swift dễ đọc và dễ học hơn so với Objective-C (cú pháp hoàn toàn mới, ngắn gọn hơn rất nhiều)

- Các file trong Swift thống nhất nên bảo trì code đơn giản hơn

- Compiler của Swift tốt hơn Objective-C

- Swift không sử dụng con trỏ giúp cho code an toàn hơn, và giúp lập trình viên lược bỏ phần khái niệm khó nhằn về con trỏ

- Swift quản lý bộ nhớ tốt hơn

- Swift là mã nguồn mở: có thể xem được mã nguồn, chỉnh sửa, vá lỗi [8]

2.3.4 Nhược điểm so với Objective-C

- Nhiều API không làm việc với Swift

- Nhiều qui tắc khi khởi tạo, lựa chọn kiểu optional

Nhiều dự án và phần mềm trước đây được phát triển bằng Objective-C, vì vậy việc bảo trì, phát triển và tìm kiếm thông tin liên quan đến Objective-C vẫn dễ dàng hơn.

Realm là một cơ sở dữ liệu độc đáo, không giống như bất kỳ cơ sở dữ liệu nào khác Nó không chỉ sở hữu nhiều tính năng phong phú mà còn được thiết kế đặc biệt như một API nhằm đáp ứng nhu cầu cụ thể của các nhà phát triển ứng dụng.

Realm là một công cụ tùy chỉnh mạnh mẽ, cho phép bạn khởi tạo cơ sở dữ liệu chỉ với một dòng mã và thao tác với các đối tượng như thể chúng được lưu trữ trong bộ nhớ Với API RealmSwift, lập trình viên có thể sử dụng các đối tượng gốc và linh hoạt trong việc phát triển ngôn ngữ lập trình Hơn nữa, người lập trình sẽ không cần phải lo lắng về vấn đề đa luồng.

Realm Database là một cơ sở dữ liệu mã nguồn mở và miễn phí dành cho mobile, hiện hỗ trợ Android và iOS, với kế hoạch mở rộng sang React Native và Xamarin trong tương lai gần.

Auto Layout là hệ thống ràng buộc giữa các thành phần giao diện, giúp các thiết bị hiển thị đúng kích thước và tỷ lệ dù ở nhiều màn hình khác nhau, nhờ vào sự hỗ trợ của Auto Layout.

Hình 2.3: Thuật toán của AutoLayout

- Constraint: chính là sự ràng buộc 2 View trên

- Attribute 1: Là view leading (Điểm đầu tiên của view), bị ràng buộc của item 1

Mối quan hệ trong toán học được xác định bởi 3 giá trị: bằng, lớn hơn hoặc nhỏ hơn, phản ánh sự tương quan giữa hai vế của phương trình Trong một phương trình, hai vế bên trái và bên phải luôn phải bằng nhau để đảm bảo tính chính xác.

Hệ số Multipler là giá trị mà thuộc tính được nhân với hệ số này, trong trường hợp cụ thể là 1.0 Người sử dụng có thể bỏ qua Multipler nếu hệ số bằng 1.0.

- Item 2: Là BlueView, và có thể để trống, chứ không nhất thiết phải thiết lập constraint như item 1

Attribute 2 chỉ xuất hiện khi item 2 có thiết lập ràng buộc với một item khác ngoài RedView, tạo nên một sự liên kết trong item 2 Hình ảnh minh họa cho thấy đây là điểm cuối của BlueView.

- Constant: Giá trị hằng số bù trừ, giá trị này được thêm vào cho attribute 2 [10]

Giống như JSON, dữ liệu cục bộ được lưu trữ sẽ chiếm 1MB bộ nhớ hệ thống Dữ liệu này có thể bao gồm chữ, hình ảnh, và nhiều loại khác Tuy nhiên, nếu kích thước dữ liệu vượt quá 1MB, sẽ xảy ra lỗi tràn bộ nhớ.

UserDefaults.standard.set(“Value”, forKey: “Key”) [11]

Các luồng (Thread) cho phép CPU thực thi đồng thời, giúp bạn thực hiện nhiều nhiệm vụ cùng lúc Trong các ứng dụng iOS và Mac, luôn có ít nhất một luồng chính (Main thread) để xử lý giao diện người dùng Nếu một tác vụ tốn thời gian, như chuẩn bị bộ chứa iCloud, ứng dụng có thể xuất hiện như bị treo hoặc chạy chậm.

Async closure cho phép thực hiện các tác vụ một cách bất đồng bộ, giúp bạn có thể xử lý nhiều nhiệm vụ khác nhau trong khi một tác vụ đang được thực hiện.

Cơ chế bất đồng bộ cho phép thực hiện các tác vụ đồng thời mà không làm ảnh hưởng đến nhau Tuy nhiên, việc sử dụng chung dữ liệu hoặc hàm có thể dẫn đến xung đột Hơn nữa, cả bất đồng bộ và đồng bộ đều không thể tự do truy xuất các biến toàn cục trong Main.

Một framework cho phép người dùng truy cập API của Apple để chuyển đổi giọng nói thành văn bản Để sử dụng, người dùng cần cấp quyền truy cập vào micro và đảm bảo có kết nối internet trong suốt quá trình hoạt động của phần mềm.

NSTimer là một công cụ hữu ích trong lập trình, cho phép thiết lập một khoảng thời gian chờ và thực thi một hàm đã chỉ định Sau khi hàm được thực hiện, NSTimer sẽ tiếp tục chờ một khoảng thời gian nhất định trước khi lặp lại quá trình này Quá trình sẽ tiếp diễn cho đến khi có lệnh dừng được đưa ra trong mã nguồn.

PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Phân tích yêu cầu chức năng

3.1.1 Chức năng nghe, ghi âm

Khi người dùng xem từ, nghĩa, phiên âm và nghe cách phát âm, họ có thể ghi âm lại giọng nói của mình Nếu cách phát âm trùng khớp, ứng dụng sẽ hiển thị biểu tượng “Like”, ngược lại sẽ không có phản hồi tích cực.

Bảng 3.1: Mô tả chức năng nghe, ghi âm

1.Xem từ, phiên âm và nghĩa

Xem từ, phiên âm và nghĩa của từ cần học

2 Nghe cách đọc App sẽ phát ra cách đọc của một từ nào đó

3 Ghi âm Ghi âm lại lời đọc của User và so sánh với từ cần học

3.1.2 Chức năng thêm vào danh sách yêu thích

Thêm từ vào danh sách yêu thích riêng khi người dùng cảm thấy thích hoặc đã học thuộc từ bất kì

Bảng 3.2: Mô tả chức năng thêm vào danh sách yêu thích

1.Thêm vào danh sách yêu thích

Thêm những từ đã thuộc hoặc yêu thích vào danh sách yêu thích

3.1.3 Chức năng nghe liên tục

Nghe tất cả cách đọc của 1 từ hoặc 1 câu theo thứ tự

Bảng 3.3: Mô tả chức năng nghe liên tục

1.Nghe liên tục theo thứ tự

Nghe tất cả các từ hoặc các câu cần học theo thứ tự trong danh sách

3.1.4 Chức năng luyện tập từ, câu qua các đáp án

Nghe cách đọc của 1 từ hoặc câu rồi chọn đáp án đúng

Bảng 3.4: Mô tả chức năng luyện tập từ

1 Nghe cách đọc App sẽ phát ra cách đọc của một từ nào đó

2 Chọn đáp án Chọn đáp án đúng với từ hoặc câu được phát ra

3 Hiển thị đáp án Hiển thị đáp án gồm từ,câu và nghĩa của nó

3.1.5 Chức năng làm bài test

Luyện tập qua các câu hỏi

Bảng 3.5: Mô tả chức năng làm bài test

1 Hiển thị câu hỏi Hiển thị các loại câu hỏi

2 Chọn đáp án Chọn đáp án đúng với từ hoặc câu được phát ra

3 Hiển thị đáp án Hiển thị đáp

Tìm kiếm từ hoặc câu cần tìm

Bảng 3.6: Mô tả chức năng tìm kiếm

1 Tìm kiếm Tìm kiếm từ, câu theo yêu cầu

2 Hiển thị Hiển thị từ, câu cần tìm

3.1.7 Chức năng luyện viết chữ

Ứng dụng này giúp người dùng luyện viết chữ Hàn một cách đẹp hơn Người dùng chỉ cần vẽ một từ lên ứng dụng, sau đó ứng dụng sẽ hiển thị từ đó để so sánh và kiểm tra xem người dùng có viết đúng nét của từ hay không.

Bảng 3.6: Mô tả chức năng luyện viết chữ

1 Vẽ chữ Hàn Vẽ các nét của 1 từ

2 Hiển thị đáp án Hiển thị chữ hoàn chỉnh của từ vừa vẽ

3.1.8 Chức năng luyện tập qua Video ca nhạc

Luyện tập qua video ca nhạc Video phát tới đâu thì sẽ có dòng lyric ở dưới chạy theo để người dùng luyện tập

Bảng 3.7: Mô tả chức năng luyện tập qua Video

1.Hiển thị video Hiển thị video ca nhạc và chạy

2 Hiển thị lyric Hiển thị lyric của video

3 Hiển thị lyric theo thời gian video

Video chạy tới đâu thì lyric sẽ hiển thị theo tới đó

3.1.9 Chức năng luyện tập qua trò chơi Search Word

Luyện tập tiếng Hàn qua trò chơi Search Word, nơi người chơi sẽ tìm kiếm các từ trong một bảng chữ cái ngẫu nhiên Trò chơi hiển thị danh sách các từ cần tìm bên dưới, và người chơi phải nối các chữ cái để tạo ra từ đúng Khi tìm được từ chính xác, nó sẽ hiển thị với nền màu nâu, đồng thời từ đó sẽ bị gạch trong danh sách đáp án.

Bảng 3.8: Mô tả chức năng trò chơi Search Word

1.Hiển thị Grid chữ cái Hiển thị các chữ Grid tất cả chữ cái

2 Hiển thị đáp án Hiển thị các từ cần tìm

3 Hiển thị màu khi ấn chọn

Hiển thị màu khi ấn chọn chữ cái bất kì để nối

3.1.10 Chức năng luyện tập qua trò chơi Word Garden

Luyện tập từ vựng hiệu quả với trò chơi Word Garden, nơi người chơi phải nghe từ và điền chính xác vào chỗ trống Mỗi lần điền sai, một cánh hoa sẽ rụng, và nếu sai hết, trò chơi sẽ kết thúc Để chiến thắng, người chơi cần hoàn thành đúng toàn bộ từ.

Bảng 3.9: Mô tả chức năng trò chơi Word Garden

1 Hiển thị phát âm Phát âm chữ Hàn khi bấm vào biểu tượng loa

2 Hiển thị gợi ý Hiển thị toàn bộ chữ Hàn nếu không giải được

3 Hiển thị cơ hội Hiển thị cơ hội còn được phép chơi

3.1.11 Chức năng luyện tập qua Flash Card

Học từ vựng hiệu quả bằng cách sử dụng Flash Card, trong đó các từ được che một phần để người học tự nhớ lại toàn bộ Sau đó, họ có thể bấm vào Flash Card để xem kết quả, giúp củng cố kiến thức từ vựng.

Bảng 3.10: Mô tả chức năng trò chơi Flash Card

1.Hiển thị danh sách chữ

Hiển thị danh sách tất cả các chữ Hàn

Hiển thị form tạo flash card tự động

3 Hiển thị form học từ vựng

Hiển thị form học từ vụng và show đáp án chính xác.

Phân tích yêu cầu phi chức năng

App chạy mượt mà không bị giật, âm thanh rõ ràng, lyric video chạy không bị giật

Mô hình hóa yêu cầu

Hình 3.1: Use case tổng quát

Use case tổng quát mô tả sự tương tác giữa các nhóm người dùng và hệ thống, giúp làm rõ vai trò và chức năng của từng nhóm trong hệ thống Việc phân tích từng use case cụ thể sẽ cung cấp cái nhìn sâu sắc về cách thức hoạt động và mối quan hệ giữa người dùng và hệ thống.

3.3.2.1 Use case Học từ vựng

Hình 3.2: Use case Học từ vựng

Bảng 3.11: Use case Xem video

Tên use case Xem video

Mô tả Học ngoại ngữ bằng cách xem Video

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

2 Click vào “Xem video” Hiển thị view xem video

3 Click vào “Play” Phát video đó Điều kiện cần Có kết nối internet

Kết quả Video bắt đầu phát và Lyric bắt đầu chạy theo thời gian phát của video

Bảng 3.12: Use case Tìm kiếm

Tên use case Tìm kiếm

Mô tả Tìm kiếm các từ bằng cách gõ nghĩa của từ vào khung tìm kiếm

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

2 Click vào “Tìm kiếm” Hiển thị view xem video

3 Click vào khung tìm kiếm có hình kính lúp Bàn phím sẽ hiện ra

Các chữ Hàn có nghĩa tiếng Việt sẽ được hiển thị, bao gồm một phần hoặc toàn bộ Để sử dụng, người dùng cần có kết nối internet trong lần chạy đầu tiên, nhưng các lần sau không cần thiết Kết quả sẽ là danh sách các từ tiếng Hàn được lọc theo nghĩa tiếng Việt.

Use case Đánh dấu từ đã học

Bảng 3.13: Use case Đánh dấu từ đã học

Tên use case Đánh dấu từ đã học

Mô tả Đánh dấu các từ đã học để làm ghi chú

STT User Phản hồi hệ thống

1 Bấm vào các mục chủ đề trên màn hình chính

Hiện ra màn hình liệt kê các từ vựng trong chủ đề đó

2 Click vào hình ngôi sao phía bên phải các từ

Ngôi sao chuyển sang màu hồng khi người dùng đánh dấu yêu thích Để sử dụng, cần có kết nối internet trong lần chạy đầu tiên, nhưng các lần sau không cần Kết quả là các từ mà người dùng đã học và chọn sẽ được lưu lại.

Use case Xem từ đã học

Bảng 3.14: Use case Xem từ đã học

Tên use case Xem từ đã học

Mô tả Xem các từ đã học thuộc trong quá khứ

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

Để xem các từ đã học, bạn chỉ cần nhấp vào “Yêu thích” Lưu ý rằng cần có kết nối internet trong lần sử dụng đầu tiên, nhưng các lần sau sẽ không cần Kết quả sẽ hiển thị danh sách các từ tiếng Hàn mà bạn đã thêm trước đó.

Use case Nghe phát âm

Bảng 3.15: Use case Nghe phát âm

Tên use case Nghe phát âm

Mô tả Nghe phát âm tiếng Hàn

STT User Phản hồi hệ thống

1 Bấm vào các mục chủ đề trên màn hình chính

Hiện ra màn hình liệt kê các từ vựng trong chủ đề đó

2 Click vào biểu tượng loa ở phía bên trái Phát âm thanh của từ được chọn

“Play” ở phía cuối bên trái màn hình

Phát âm thanh tất cả các từ Điều kiện cần Có kết nối internet

Kết quả Âm thanh của từ vựng được phát

Use case PDF từ vựng

Bảng 3.16: Use case PDF từ vựng

Tên use case PDF từ vựng

Mô tả Học các từ đơn lẻ bằng PDF

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

2 Click vào “Từ vựng” Hiển thị view liệt kê các chủ đề từ vựng

3 Click vào bất kỳ chủ đề nào muốn học

Hiển thị file PDF liệt kê các từ vựng của chủ đề đó Điều kiện cần

Có kết nối internet, yêu cầu thời gian chờ, thời gian nhanh chậm tuỳ vào tốc độ của Internet

Kết quả Danh sách các PDF từ vựng được liệt kê

3.3.2.2 Use case Học ngữ pháp

Hình 3.3: Use case Học ngữ pháp

Use case PDF ngữ pháp

Bảng 3.17: Use case PDF ngữ pháp

Tên use case PDF ngữ pháp

Mô tả Học ngữ pháp tiếng Hàn bằng PDF

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

2 Click vào “Ngữ pháp” Hiển thị view liệt kê các chủ đề ngữ pháp

3 Click vào bất kỳ chủ đề nào muốn học

Hiển thị file PDF liệt kê ngữ pháp của chủ đề đó Điều kiện cần

Có kết nối internet, yêu cầu thời gian chờ, thời gian nhanh chậm tuỳ vào tốc độ của Internet

Kết quả Danh sách các PDF ngữ pháp được liệt kê

Hình 3.4: Use case Luyện tập

Bảng 3.18: Use case Luyện viết

Tên use case Luyện viết

Mô tả Luyện viết tiếng Hàn bằng cách vẽ chữ trên màn hình

STT User Phản hồi hệ thống

1 Vuốt từ cạnh trái sang phải

Hiện ra một view ẩn liệt kê các mục được chọn

2 Click vào “Luyện viết” Hiển thị khung luyện viết cùng khung kết quả

3 Vẽ chữ Hàn vào khung vàng nhạt bên dưới Hiển thị chữ đã vẽ

4 Bấm nút ‘Recognize’ để hiển thị kết quả

Kết quả sẽ hiển thị ở khung màu trắng bên trên Điều kiện cần (không có)

Kết quả Chữ đã vẽ sẽ được hiển thị ở trên, nếu vẽ không chính xác, chữ sẽ không hiện

Use case Luyện phát âm

Bảng 3.19: Use case Luyện phát âm

Tên use case Luyện phát âm

Mô tả Luyện phát âm tiếng Hàn bằng cách nghe và tự nói lại

STT User Phản hồi hệ thống

Từ màn hình chính, bấm vào biểu tượng ghi âm tròn nhỏ phía trong chủ đề

Hiện ra một view với từ vựng, phiên âm, dịch nghĩa và phát âm

2 Click vào biểu tượng loa để nghe từ vựng đó

Hệ thống sẽ phát âm từ vựng đã chọn

Click vào nút ‘Ghi âm’, chờ 3 giây và nói lại từ đó (trong 4 giây)

Hệ thống sẽ hiển thị 3 giây đầu để chờ và 4 giây sau để thực hiện ghi âm

4 Bấm nút ‘Nghe’ để nghe kết quả

Hệ thống tự phát lại âm thanh đã ghi trước đó Điều kiện cần Có kết nối Internet

Kết quả Âm thanh đã ghi trước đó được phát, User tự đối chiếu với âm thanh mẫu xem đã đọc đúng chưa

Use case Nghe và kiểm tra

Bảng 3.20: Use case Nghe và kiểm tra

Tên use case Nghe và kiểm tra

Mô tả Nghe âm thanh gốc, sau đó ghi âm lại và xem kết quả từ hệ thống

STT User Phản hồi hệ thống

Từ màn hình chính, bấm vào biểu tượng micro tròn nhỏ phía trong chủ đề

Hiện ra một view với từ vựng, phiên âm, dịch nghĩa phát âm và nút ghi âm

2 Click vào biểu tượng loa để nghe từ vựng đó

Hệ thống sẽ phát âm từ vựng đã chọn

‘Micro’ màu đỏ phía dưới, chờ biểu tưởng di chuyển lên trên và bắt đầu nói

Biểu tượng ‘Micro’ sẽ đi từ dưới lên và hiệu ứng thu phóng là tín hiệu sẵn sàng để ghi âm

Click lần thứ 2 vào biểu tượng ‘Micro’ để xem kết quả

Nếu nói chính xác, sẽ có khung chữ

“Like”, ngược lại, khung chữ

“Unlike” sẽ hiện ra Điều kiện cần Có kết nối Internet

Kết quả Kiểm tra âm thanh ghi lại có đúng hay không đúng so với bản gốc

Use case Luyện nghe phiên âm

Bảng 3.21: Use case Luyện nghe phiên âm

Tên use case Luyện nghe phiên âm

Mô tả Nghe phiên âm của một từ, rồi chọn đáp án phiên âm đúng của từ đó Chủ thể User

STT User Phản hồi hệ thống

Từ màn hình chính, bấm vào biểu tượng mũ tròn nhỏ phía trong chủ đề

Hiện ra một view với từ vựng, dịch nghĩa, phát âm và các đáp án

2 Click vào biểu tượng loa để nghe từ vựng đó

Hệ thống sẽ phát âm từ vựng đã chọn

3 Click chọn đáp án chính xác ở phía dưới

Nếu bạn chọn đáp án đúng, câu hỏi tiếp theo sẽ được chuyển đến Nếu sai 3 lần, đáp án sẽ được hiển thị Lưu ý rằng bạn cần có kết nối Internet trong lần truy cập đầu tiên.

Kết quả Sau 10 lần chọn đúng liên tiếp, sẽ trở lại màn hình chính Mỗi lần sai thì trừ một điểm

Bảng 3.22: Use case Luyện nghe

Tên use case Luyện nghe

Mô tả Nghe phiên âm của một từ, rồi chọn đáp án đúng của từ đó

STT User Phản hồi hệ thống

1 Từ màn hình chính, bấm vào chủ đề muốn học

Hiện ra danh sách các từ vựng có trong database

Click vào biểu tượng tai nghe ở phía dưới bên phải

Click biểu tượng loa và chọn đáp án chính xác ở phía dưới

Nếu bạn chọn đáp án đúng, hệ thống sẽ chuyển sang câu hỏi tiếp theo Nếu hết thời gian hoặc bạn trả lời sai 5 lần, đáp án sẽ được hiển thị Lưu ý rằng bạn cần có kết nối Internet trong lần đầu tiên để tham gia.

Kết quả Sai 5 lần thì sẽ hiển thị đáp án, sau 8 giây sẽ tự động chuyển qua câu mới

Use case Game Word Garden

Bảng 3.23: Use case Game Word Garden

Tên use case Game Word Garden

Mô tả Game nghe và điền chữ Hàn vào chỗ trống

STT User Phản hồi hệ thống

1 Từ màn hình chính, bấm vào Game Word Garden

Hiện ra danh sách các từ vựng có trong database

2 Click vào biểu tượng tai nghe ở phía trên Hiện ra khung nghe

3 Cài đặt bàn phím tiếng

Hiển thị hướng dẫn cài đặt bàn phím tiếng Hàn (Use case này sử dụng bàn phím có sẵn của hệ thống)

4 Gõ chữ muốn đoán và nhấn “Xong”

Nếu đáp án chính xác, sẽ hiển thị chữ lên khung, sai thì hình cánh hoa sẽ hiển thị bị rụng đi

5 Bấm “Hint” để xem chữ gợi ý Đưa ra gợi ý cho từ tiếng Hàn đó Điều kiện cần Có kết nối Internet trong lần đầu tiên

Kết quả Sau 8 lần sai, sẽ không được chọn nữa, bấm ‘Play Again’ để chơi lại hoặc thoát ra, không chơi nữa

Use case Game Search Word

Bảng 3.24: Use case Game Search Word

Tên use case Game Search Word

Mô tả Game tìm chữ đúng trong bảng

STT User Phản hồi hệ thống

1 Từ màn hình chính, bấm vào ‘Search Word’

Hiện ra danh sách các từ vựng có trong database

Tìm các chữ trong bảng dựa vào các từ ở phía dưới

Nếu từ đó là đúng, hiển thị màu nâu, nếu là sai, thì không hiển thị

‘reload’ để chơi lại Cài đặt lại thời gian là ’00:00’

‘Pause’ để tạm dừng game

Thời gian sẽ dừng, và khung hiển thị game biến mất

‘Play’ để tiếp tục chơi

Thời gian sẽ chạy tiếp và khung hiển thị game sẽ hiện ra lại

‘Back’ để quay lại màn hình chính

Màn hình game sẽ đóng lại và màn hình chính sẽ hiện ra Điều kiện cần Có kết nối Internet trong lần đầu tiên

Kết quả Sau khi tìm hết 6 chữ Hàn, thời gian sẽ dừng lại

Bảng 3.25: Use case Flash Card

Tên use case Flash Card

Mô tả Tạo Flash Card cho chữ Hàn, hỗ trợ việc ghi nhớ

STT User Phản hồi hệ thống

1 Từ màn hình chính, bấm vào Flash Card

Hiện ra danh sách các từ vựng có trong database

2 Bấm vào Hiện ra khung nghe

Click biểu tượng loa và chọn đáp án chính xác ở phía dưới

Nếu đáp án đúng, hệ thống sẽ chuyển sang câu hỏi mới Nếu hết thời gian hoặc người chơi sai ba lần, đáp án sẽ được hiển thị Lưu ý rằng cần có kết nối Internet trong lần truy cập đầu tiên.

Kết quả Sau 10 lần chọn đúng liên tiếp, sẽ trở lại màn hình chính Mỗi lần sai thì trừ một điểm

3.3.2.4 Use case Quản lý từ vựng

Hình 3.5: Use case Quản lý từ vựng

Use case Quản lý từ vựng

Bảng 3.26: Use case Quản lý từ vựng

Tên use case Quản lý từ vựng

Mô tả Thêm các từ vựng chưa có, sửa, xoá các từ vựng đã có trong database Chủ thể User

STT User Phản hồi hệ thống

Từ màn hình trang web chính, bấm vào mục

Hiện ra bên phải một bảng liệt kê các từ đang có trong database

2 Click vào từ muốn chỉnh sửa

Hiển thị thông tin từ đó ở các khung bên trên

3 Click nút ‘update’ Lưu từ cũ với các chỉnh sửa mới

4 Click nút ‘delete’ Xoá từ đó khỏi database

Nhập từ mới trong khung ‘Language’, nghĩa của từ trong khung

‘Meaning, phiên âm trong ‘Spelling’ , chủ đề của từ đó trong ‘Types’

Hệ thống hiển thị thông tin đã nhập lên màn hình

6 Bấm nút ‘Choose File’ Một khung hiển thị hiện ra để chọn tệp mp3 cho từ đó

7 Bấm nút ‘Add new’ Thêm tất cả vào database Điều kiện cần Có kết nối Internet

Kết quả Từ mới nhập được thêm vào database

3.3.2.5 Use case Quản lý ngữ pháp

Hình 3.6: Use case Quản lý ngữ pháp

Use case Quản lý ngữ pháp

Bảng 3.27: Use case Quản lý ngữ pháp

Tên use case Quản lý ngữ pháp

Mô tả Thêm các ngữ pháp chưa có, sửa, xoá các ngữ pháp đã có trong database

STT User Phản hồi hệ thống

Từ màn hình trang web chính, bấm vào mục

Hiện ra bên phải một bảng liệt kê các ngữ pháp đang có trong database

2 Click vào ngữ pháp muốn chỉnh sửa

Hiển thị thông tin ngữ pháp ở các khung bên trên

3 Click nút ‘update’ Lưu chỉnh sửa mới

4 Click nút ‘delete’ Xoá ngữ pháp khỏi database

5 Nhập tên ngữ pháp mới trong khung ‘Title’

Hệ thống hiển thị tên ngữ pháp đó trên màn hình

6 Bấm nút ‘Choose File’ Một khung hiển thị hiện ra để chọn tệp

PDF cho ngữ pháp đó

7 Bấm nút ‘Add new’ Thêm tất cả vào database Điều kiện cần Có kết nối Internet

Kết quả Ngữ pháp mới được thêm vào database

3.3.2.6 Use case Quản lý video

Hình 3.7: Use case Quản lý video

Use case Quản lý video

Bảng 3.28: Use case Quản lý video

Tên use case Quản lý video

Mô tả Thêm các ngữ pháp chưa có, sửa, xoá các ngữ pháp đã có trong database

STT User Phản hồi hệ thống

Từ màn hình trang web chính, bấm vào mục

Hiện ra bên phải một bảng liệt kê các video đang có trong database

2 Click vào video muốn chỉnh sửa

Hiển thị thông tin video ở các khung bên trên

3 Click nút ‘update’ Lưu thông tin video cũ với các chỉnh sửa mới

4 Click nút ‘delete’ Xoá video khỏi database

5 Nhập tên video mới trong khung ‘Title’

Hệ thống hiển thị tên video lên màn hình

6 Bấm nút ‘Choose File’ Một khung hiển thị hiện ra để chọn tệp video mới

7 Bấm nút ‘Add new’ Thêm tất cả vào database Điều kiện cần Có kết nối Internet

Kết quả Video mới được thêm vào database

3.3.2.7 Use case Quản lý Lyric

Hình 3.8: Use case Quản lý Lyric

Use case Quản lý Lyric

Bảng 3.29: Use case Quản lý Lyric

Tên use case Quản lý Lyric

Mô tả Thêm các lyric chưa có, sửa, xoá các lyric đã có trong database

STT User Phản hồi hệ thống

Từ màn hình trang web chính, bấm vào mục

Hiện ra bên phải một bảng liệt kê các Lyric đang có trong database theo bài hát được chọn

2 Click vào lyric muốn chỉnh sửa

Hiển thị thông tin lyric ở các khung bên trên

3 Click nút ‘update’ Lưu thông tin lyric cũ với các chỉnh sửa mới

4 Click nút ‘delete’ Xoá lyric khỏi database

5 Chọn tên video muốn thêm lyric mới

‘Korea’, Tiếng anh dịch nghĩa của tiếng Hàn trong ô ‘English’, thời gian hiển thị trong mục ‘Time’

7 Bấm nút ‘Add new’ Thêm tất cả vào database Điều kiện cần Có kết nối Internet

Kết quả Video mới được thêm vào database

THIẾT KẾ HỆ THỐNG

Thiết kế dữ liệu

Bảng word được sử dụng để lưu các từ, câu để học

Bảng 4.1: Mô tả bảng word

Thuộc tính Mô tả Kiểu dữ liệu Khóa

The article discusses the structure of a word object in a database, highlighting key components such as the ObjectID (_id), the language of the word or phrase (language), the phonetic spelling (spelling), the meaning of the word or phrase (meaning), and the associated audio file name (media) Each element plays a crucial role in organizing and retrieving language learning resources effectively.

String types Chủ để của từ, câu String

Bảng grammar được sử dụng để lưu thông tin của file pdf chứa Ngữ pháp

Bảng 4.2: Mô tả bảng grammar

Thuộc tính Mô tả Kiểu dữ liệu Khóa

_id _id của grammar ObjectID title Chủ để của ngữ pháp String file Tên của file pdf String

Bảng lession được sử dụng để lưu thông tin của file pdf chứa các bài học như: hội thoại, từ vựng giao tiếp

Bảng 4.3: Mô tả bảng lession

Thuộc tính Mô tả Kiểu dữ liệu Khóa

_id _id của grammar ObjectID title Chủ để của ngữ pháp String file Tên của file pdf String

Bảng video chứa thông tin của video

Bảng 4.4: Mô tả bảng video

Thuộc tính Mô tả Kiểu dữ liệu Khóa

_id _id của video ObjectID title Tên của video String file Tên của file video String lyric Chứa lyric của video Array

Bảng lyric chứa thông tin của lyric bao gồm: lyric tiếng Hàn, Anh và thời gian của lyric đó

Bảng 4.5: Mô tả bảng video

Thuộc tính Mô tả Kiểu dữ liệu Khóa

_id _id của video ObjectID korean Lời Hàn của đoạn video String english Lời tiếng Anh của video String time Thời gian cửa đoạn lyric đó xuất hiện

Kiến trúc hệ thống

Thiết kế xử lý

Hình 4.1: Sequence diagram Xem Video

Hình 4.6: Sequence diagram Tìm Kiếm

4.3.1.5 Sequence diagram Đánh dấu từ đã học

Hình 4.7: Sequence diagram Đánh dấu từ đã học

4.3.1.6 Sequence diagram Nghe phát âm

Hình 4.8: Sequence diagram Nghe Phát âm

4.3.1.7 Sequence diagram Luyện phát âm

Hình 4.9: Sequence diagram Luyện phát âm

4.3.1.8 Sequence diagram Luyện nghe phiên âm

Hình 4.10: Sequence diagram Luyện nghe phiên âm

Hình 4.11: Class Diagram tổng thể

4.3.2.2 Class diagram từ vựng

Hình 4.12: Class Diagram Từ vựng

4.3.2.2 Class diagram Lession, Gramma, Video and Lyric

Hình 4.13: Class Diagram Lession, Gramma, Video and Lyric

Thiết kế giao diện

Bảng 4.6: Đặc tả màn hình trang chủ

Tên Loại Tham chiếu Ghi chú

1 Menu Button Khi click hiển thị thanh menu

Khi click sẽ qua màn hình học

Butoon Khi click sẽ hiển thị màn hình học

Khi click hiển thị màn hình ghi âm

5 Bài test Button Khi click hiển thị màn hình làm bài test

Bảng 4.7: Đặc tả màn hình Menu

1 Các mục Button Khi click bất kì vào mục nào, sẽ hiển thị nội dung của các mục

4.4.3 Màn hình danh sách các từ, câu

Hình 4.16: Giao diện danh sách từ, câu để học

Bảng 4.8: Đặc tả màn hình danh sách các câu, từ trong bài

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click quay lại màn hình trước

Api lấy danh sách các từ, câu

Hiển thị nhừng từ cần học trong bài

3 Thêm vào danh sách yêu thích

Butoon Khi click sẽ tất cả những từ vào danh sách yêu thích

4 Thêm vào danh sách yêu thích

Button Khi click sẽ thêm từ đó vào danh sách yêu thích

5 Tìm kiếm Button Khi click sẽ hiển thị ra màn hình tìm kiếm

6 Nghe Button Khi click sẽ phát ra âm thanh của từ đó

7 Nghe toàn bộ Button Khi click sẽ nghe theo thứ tự từ trên xuống

8 Học ngẫu nhiên Button Khi click sẽ hiển thị ra màn hình học

9 Ghi âm Button Khi click sẽ hiển thị ra màn hình ghi âm

Button Khi click sẽ hiển thị ra màn hình luyện nghe

Hình 4.17: Giao diện màn hình ghi âm

Bảng 4.9: Đặc tả màn hình ghi âm

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click quay lại màn hình trước

2 Thêm vào danh sách yêu thích

Button Khi click sẽ thêm từ đó vào danh sách yêu thích

3 Nghe Button Khi click sẽ phát ra âm thanh của từ đó

4 Hiện thị từ Text Hiển thị từ, câu người dùng nói

5 Ghi âm Button Khi click sẽ bắt đầu ghi âm

6 Di chuyển qua từ, câu khác

Button Khi click sẽ hiển thị ra từ, câu khác trong bài

Hình 4.18: Giao diện màn hình học nói

Bảng 4.10: Đặc tả màn hình học nói

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click quay lại màn hình trước

2 Thêm vào danh sách yêu thích

Button Khi click sẽ thêm từ đó vào danh sách yêu thích

3 Nghe Button Khi click sẽ phát ra âm thanh của từ đó

4 Ghi âm Button Khi click sẽ bắt đầu ghi âm, khi ghi âm kết thúc, sẽ hiện ra button lưu lại đoạn ghi âm người dùng vừa nói

5 Di chuyển qua từ, câu khác

Button Khi click sẽ hiển thị ra từ, câu khác trong bài

4.4.6 Màn hình làm bài test

Hình 4.19: Giao diện làm bài test

Bảng 4.11: Đặc tả màn hình làm bài test

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click quay lại màn hình trước

2 Thanh điểm Hiển thị số điểm qua mỗi câu đúng

3 Hiển thị câu hỏi Realm Database Hiển thị mỗi loại câu hỏi

4 Hiện thị các đáp án

Button Khi click đúng hiển thị màu nâu, sai hiển thị màu cam

Hình 4.20: Giao diện tìm kiếm

Bảng 4.12: Đặc tả màn hình tìm kiếm

1 Quay lại Button Khi click quay lại màn hình trước

Hiển thị nhừng từ cần học trong bài

3 Thêm vào danh sách yêu thích

Button Khi click sẽ thêm từ đó vào danh sách yêu thích

4 Nghe Button Khi click sẽ phát ra âm thanh của từ đó

Bar Điền từ, câu cần tìm

4.4.8 Màn hình luyện tập nghe

Hình 4.21: Giao diện luyện tập nghe

Bảng 4.13: Đặc tả màn hình luyện tập nghe

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click quay lại màn hình trước

2 Thêm vào danh sách yêu thích

Button Khi click sẽ thêm vào danh sách yêu thích

3 Hiển thị câu hỏi Realm

Hiển thị mỗi loại câu hỏi

4 Hiện thị các đáp án

Button Khi click đúng hiển thị màu nâu, sai hiển thị màu cam

Hình 4.22: Giao diện luyện tập viết

Bảng 4.14: Đặc tả màn hình luyện viết

Tên Loại Tham chiếu Ghi chú

1 Màn hình vẽ View Màn hình để vẽ chữ Hàn

2 Màn hình hiện đáp án

View Hiển thị kết quả sau khi vẽ xong và ấn “Nhận Dạng”

3 Xoá Button Khi click sẽ dọn đi đáp án và chữ vừa vẽ

4 Nhận dạng Button Khi click sẽ hiện thị kết quả

4.4.10 Màn hình hiển thị file PDF để xem từ vựng, ngữ pháp

Hình 4.23: Giao diện hiện thị file PDF

Bảng 4.15: Đặc tả màn hình hiển thị file PDF

Số thứ tự Tên Loại Tham chiếu Ghi chú

View Hiển thị nội dung trong PDF

4.4.11 Màn hình trò chơi “Search Word”

Hình 4.24: Giao diện trò chơi “Search Word”

Bảng 4.16: Đặc tả màn hình trò chơi “Search Word”

1 Hiển thị các chữ Grid View Hiển thị grid chữ

2 Màn hình hiện đáp án

View Hiển thị đáp án cần tìm kiếm

3 Quay lại Button Khi click sẽ quay lại màn hình trước

4 Tải lại Button Khi click sẽ chơi lại từ đầu

5 Dừng lại Button Khi click thời gian sẽ dừng lại

4.4.12 Màn hình trò chơi “Word Garden”

Hình 4.25: Giao diện trò chơi “Word Garden”

Bảng 4.17: Đặc tả màn hình trò chơi “Word Gardent”

1 Nghe Button Khi click sẽ phát ra âm thanh của đáp án

2 Gợi ý Button Gợi ý đáp án

3 Đáp án Label Hiển thị từ chữ của đáp án mỗi khi nhập đúng

4 Nhập đáp án Text Field Nhập đáp án, nếu có chữ đúng sẽ hiện thì trên Label đáp án

5 Hình ảnh hoa Image View Hiển thị hoa, nếu nhập 1 chữ sai cánh hoa sẽ rơi xuống

6 Cách cài đặt bàn phím

Button Khi click sẽ hiển thị cách cài đặt bàn phím tiếng Hàn

7 Quay lại Button Khi click sẽ quay về trang chủ

Hình 4.26: Giao diện Flash Card

Bảng 4.18: Đặc tả màn hình “Flash Card”

Tên Loại Tham chiếu Ghi chú

1 Quay lại Button Khi click sẽ quay về

2 Nghĩa của từ Label Realm

Hiển thị nghĩa của từ

2 Tạo Flash Card Button Gợi ý đáp án

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả

Sau một khoảng thời gian thực hiện đề tài, kết quả mà nhóm thu hoạch được:

- Hiểu được một phần về ngôn ngữ Hàn

- Hiểu được cách sử dụng Swift để phát triển ứng dụng IOS

- Hiểu được cách sử dụng NodeJS và MongoDB

- Xây dựng ứng dụng hỗ trợ học ngôn ngữ Hàn

- Giao diện của chương trình thân thiện và dễ sử dụng.

Hạn chế

- Ứng dụng chưa được deploy lên App Store

- Một số tính năng chưa hoàn thiện

- Chưa có đã đa ngôn ngữ.

Hướng phát triển

Để nâng cao hiệu quả của chương trình học tiếng Hàn, cần bổ sung các tính năng như nghe đoạn hội thoại, tăng cường trò chơi, học qua hình ảnh và mở rộng lượng dữ liệu Ngoài ra, giao diện cần được cải tiến để thân thiện hơn với người dùng Chúng tôi hướng đến việc phát triển một ứng dụng học tiếng Hàn đa dạng tính năng, vượt trội hơn so với các ứng dụng hiện có trên thị trường.

Ngày đăng: 07/06/2022, 22:40

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Express Framework - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 2.1 Express Framework (Trang 13)
Hình 2.2: Realm Platform - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 2.2 Realm Platform (Trang 18)
Hình 3.1: Use case tổng quát - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 3.1 Use case tổng quát (Trang 28)
Hình 3.2: Use case Học từ vựng - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 3.2 Use case Học từ vựng (Trang 29)
Hình 3.4: Use case Luyện tập - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 3.4 Use case Luyện tập (Trang 37)
Hình 3.8: Use case Quản lý Lyric - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 3.8 Use case Quản lý Lyric (Trang 49)
Hình 4.2: System Architect - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.2 System Architect (Trang 54)
Hình 4.3: Sequence diagram Gramma - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.3 Sequence diagram Gramma (Trang 55)
Hình 4.6: Sequence diagram Tìm Kiếm - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.6 Sequence diagram Tìm Kiếm (Trang 56)
Hình 4.7: Sequence diagram Đánh dấu từ đã học - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.7 Sequence diagram Đánh dấu từ đã học (Trang 57)
Hình 4.8: Sequence diagram Nghe Phát âm - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.8 Sequence diagram Nghe Phát âm (Trang 57)
Hình 4.9: Sequence diagram Luyện phát âm - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.9 Sequence diagram Luyện phát âm (Trang 58)
Hình 4.10: Sequence diagram Luyện nghe phiên âm - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.10 Sequence diagram Luyện nghe phiên âm (Trang 59)
Hình 4.11: Class Diagram tổng thể - Xây dựng ứng dụng học tiếng hàn trên nền tảng ios
Hình 4.11 Class Diagram tổng thể (Trang 60)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w