Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
2,16 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Đề tài: Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương tác Giảng viên hướng dẫn: Nguyễn Thị Thanh Trúc Nhóm thực hiện: 19522213 - Nguyễn Võ Đức Thắng 19522494 - Nguyễn Dương Tùng TP HỒ CHÍ MINH, 2022 LỜI CẢM ƠN Trong trình học tập, nghiên cứu phát triển đề tài “Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương” chúng em nhận giúp đỡ, bảo nhiệt tình để hồn thành đồ án Nhóm em xin chân thành gửi lời cảm ơn đến cô Nguyễn Thị Thanh Trúc – Giảng viên Khoa Công nghệ phần mềm, Trường Đại học Công nghệ thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh – giảng viên dạy hướng dẫn môn Đồ án 1, tận tình hướng dẫn giúp đỡ kiến thức, phương pháp cho chúng em suốt trình thực hoàn thành đồ án Hi vọng với bảo góp ý từ cơ, nhóm đề tài tiếp tục phát triển để ứng dụng ngày mở rộng phục vụ tốt cho người dùng Mặc dù có nhiều cố gắng suốt q trình thực đề tài, song khơng thể tránh khỏi hạn chế, thiếu sót Chúng em mong nhận đóng góp nhận xét chân thành từ thầy, bạn sinh viên người dùng trình sử dụng phần mềm để phần mềm ngày hoàn thiện Mỗi ý kiến đóng góp thầy bạn nguồn động lực to lớn chúng em để chúng em cải thiện phần mềm tốt xây dựng phần mềm hữu ích người dùng Chúc cô sức khỏe, thành cơng hạnh phúc Trân trọng Nhóm thực Tp Hồ Chí Minh, 20/06/2022 NỘI DUNG Chương 1: GIỚI THIỆU 1 Đặt vấn đề Giải pháp Mục tiêu Chương 2: TỔNG QUAN Tổng quan đồ án 2 1.1 Tên đồ án: 1.2 Link Github: 2 Cơ sở lý thuyết Nền tảng Cross Platform 2.1.1 Cross Platform gì? 2.1.2 Ưu điểm, nhược điểm Cross Platform 2.1 2.2 Restful API 2.2.1 Khái niệm Restful 2.2.2 Hoạt động Restful 2.2.3 Web API 2.3 Công nghệ sử dụng 2.3.1 Ngôn ngữ lập trình Dart 2.3.2 Flutter framework 2.3.3 Firebase 2.3.4 Android Studio 2.3.5 Ưu nhược điểm 2.4 Optical Character Recognition (ORC) 2.5 Text-to-speech (TTS) 12 2.6 Speech-to-text (STT) 13 Chương 3: PHÂN TÍCH, THIẾT KẾ 14 Cơ sở liệu 14 1.1 Sơ đồ lớp 14 1.2 Chi tiết thuộc tính 14 1.2.1 User 14 1.2.2 Dictionary 15 1.2.3 Question Catalog 15 1.2.4 Slide Model 15 Yêu cầu chức 16 2.1 Sơ đồ use case 16 2.2 Mô tả tác nhân 16 2.3 Mô tả use case 17 Đặc tả use case 17 3.1 17 Eng - Viet dictionary 3.1.1 Use case 17 3.1.2 Activity diagram 18 Eng - Eng dictionary 18 3.2 3.2.1 Use case 18 3.2.2 Activity diagram 19 3.3 Using microphone 19 3.3.1 Use case 19 3.3.2 Activity diagram 19 3.4 Flash card 19 3.4.1 Use case 19 3.4.2 Activity diagram 20 3.5 Quiz catalog 20 3.5.1 Use case 20 3.5.2 Activity diagram 21 3.6 Sign up 21 3.6.1 Use case 21 3.6.2 Activity diagram 22 3.7 Sign in 22 3.7.1 Use case 22 3.7.2 Activity diagram 23 3.8 Log out 23 3.8.1 Use case 23 3.8.2 Activity diagram 24 Thiết kế giao diện 25 4.1 Onboarding 25 4.2 Login 29 4.3 Sign up 30 4.4 Dictionary Screen 31 4.5 Translate 33 4.6 Drawer 34 4.7 Catalog 35 4.8 Flash card 37 Chương 4: BẢNG PHÂN CÔNG CÔNG VIỆC 40 Chương 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 41 Nhận xét 41 1.1 Kết đạt 41 1.2 Đánh giá ứng dụng 41 Hướng phát triển mở rộng 41 Chương 1: GIỚI THIỆU Đặt vấn đề Ngày nay, tiếng Anh ngôn ngữ phổ biến giới, việc sử dụng tiếng Anh lợi lớn công việc sống ngày Vì thế, ứng dụng giúp cho việc học tiếng Anh cần thiết môi trường Ứng dụng giúp cho việc tiếp cận kiến thức tiếng Anh cách trực quan dễ dàng Giải pháp Nhận thấy tình hình trên, nhóm chúng em lên ý tưởng xây dựng ứng dụng hỗ trợ việc học từ vựng tiếng Anh dịch thuật văn sang tiếng Việt trị chơi giúp ích cho việc học tiếng Anh cách trực quan để đáp ứng nhu cầu lớn đối người dùng thời buổi Mục tiêu Xây dựng ứng dụng đáp ứng việc hỗ trợ học tiếng anh tăng tính tương tác thích nghi cho người dùng Phần ứng giao diện đáp ứng yêu cầu UX/UI, tăng tính sinh động, dễ sử dụng có thẩm mỹ Nội dung, ý nghĩa từ vựng kiểm duyệt đạt chất lượng Chương 2: TỔNG QUAN Tổng quan đồ án 1.1 Tên đồ án: ● Tên tiếng việt: Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương tác ● Tên tiếng anh: Lett 1.2 Link Github: ● Link Github đồ án: Link Cơ sở lý thuyết 2.1 Nền tảng Cross Platform 2.1.1 Cross Platform gì? “Trong cơng nghệ điện tốn, đa tảng (tiếng Anh: cross-platform hay multi- platform) thuật ngữ phần mềm máy tính hay phương thức điện toán khái niệm thực thi đầy đủ vận hành nhiều tảng máy tính Phần mềm đa tảng chia thành hai loại; loại yêu cầu phải thiết kế biên dịch phiên cho tảng hỗ trợ; loại chạy trực tiếp tảng mà không cần chuẩn bị thêm đặc biệt - chẳng hạn phần mềm viết ngôn ngữ thông dịch hay biên dịch trước sang mã bytecode có khả di động trình thơng dịch hay gói run-time thường dùng thành phần tiêu chuẩn tảng” Cross platform hay Multi Platform tảng đa ứng dụng Hiểu đơn giản với code, bạn phiên dịch sử dụng nhiều tảng ứng dụng khác nhau, giúp bạn tiết kiệm công sức thời gian đáng kể Chính lợi mà Cross platform ưa chuộng nhiều lập trình viên Ngồi ra, lập trình, bạn cần phải lựa chọn tuỳ theo ưu, nhược điểm Framework Cross platform sử dụng Framework đa tảng Đến thời điểm tại, React-Native, Xamarin Flutter theo thứ tự xem frameworks phổ biến cho phép phát triển app smartphone sử dụng hệ điều hành, hay tảng khác (cross-platform mobile development), mà thông dụng iOS Android Với frameworks này, chương trình viết chạy tất tảng; cụ thể hơn, cần phát triển project tạo apps chạy smartphone sử dụng iOS, Android Sự xuất frameworks nói hình thành trường phái cộng đồng phát triển app, kèm theo tranh luận việc đánh giá xếp hạng cho frameworks 2.1.2 Ưu điểm, nhược điểm Cross Platform Ưu điểm: • Có thể sử dụng code nhiều phiên khác • Sử dụng Cross platform giúp tiết kiệm lượng lớn chi phí cơng sức viết code • Cross platform thích hợp với dự án lớn, địi hỏi tính linh hoạt đa dạng Nhược điểm: • Chưa có khả khai thác thư viện tảng lớn Android iOS dù tiết kiệm chi phí có tính linh hoạt cao • Q trình cấp phép cho cơng nghệ ứng dụng Cross platform gặp nhiều khó khăn phức tạp 2.2 Restful API 2.2.1 Khái niệm Restful API (Application Programming Interface) tập quy tắc chế mà theo đó, ứng dụng hay thành phần tương tác với ứng dụng hay thành phần khác API trả liệu kiểu liệu phổ biến JSON hay XML Restful (REpresentational State Transfer) dạng chuyển đổi cấu trúc liệu, kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo giao tiếp máy Vì vậy, thay sử dụng URL cho việc xử lý số thông tin người dùng, REST gửi yêu cầu HTTP GET, POST, DELETE,… đến URL để xử lý liệu Rest API tiêu chuẩn dùng việc thiết kế API cho ứng dụng web để quản lý resource RESTful kiểu thiết kế API sử dụng phổ biến ngày ứng dụng (web, mobile…) khác giao tiếp với Chức quan trọng REST quy định cách sử dụng HTTP method (như GET, POST, PUT, DELETE…) cách định dạng URL cho ứng dụng web để quản resource RESTful không quy định logic code ứng dụng không giới hạn ngơn ngữ lập trình ứng dụng, ngơn ngữ framework sử dụng để thiết kế RESTful API 2.2.2 Hoạt động Restful REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động nêu sử dụng phương thức HTTP riêng • GET (SELECT): Trả Resource danh sách Resource • POST (CREATE): Tạo Resource • PUT (UPDATE): Cập nhật thơng tin cho Resource • DELETE (DELETE): Xố Resource Những phương thức hay hoạt động thường gọi CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa 2.2.3 Web API Web API hay ASP.NET Web API framework dùng để xây dựng lập trình dịch vụ web HTTP Nó có dạng RESTful API đại, hội tụ đủ điều kiện REST tiêu chuẩn tương tự, tối ưu cho dịch vụ trực tuyến ứng dụng web 2.3 Công nghệ sử dụng 2.3.1 Ngơn ngữ lập trình Dart Tổng quan: Dart ngơn ngữ lập trình đa mục đích ban đầu phát triển Google sau Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn Nó sử dụng để xây dựng ứng dụng web, server, máy tính để bàn thiết bị di động Dart ngôn ngữ hướng đối tượng, xác định theo lớp, với chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript Nó hỗ trợ interface, mixin, abstract, generic, static typing sound type (2 cuối hiểu type-safe) Dart ngơn ngữ mã nguồn mở miễn phí, phát triển GitHub Ưu nhược điểm: • Năng suất Cú pháp Dart rõ ràng súc tích, cơng cụ đơn giản mạnh mẽ Type-safe giúp bạn xác định sớm lỗi tinh tế Dart có thư viện cốt lõi hệ sinh thái gồm hàng ngàn package • Nhanh Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có dự đoán hiệu suất cao khởi động nhanh thiết bị di động web • Di động Dart biên dịch thành mã ARM x86, để ứng dụng di động Dart chạy tự nhiên iOS, Android Đối với ứng dụng web, chuyển mã từ Dart sang JavaScript • Dễ gần Dart quen thuộc với nhiều nhà phát triển có, nhờ vào cú pháp định hướng đối tượng khơng gây ngạc nhiên Nếu bạn biết C ++, C # Java, bạn làm việc hiệu với Dart sau vài ngày • Reactive Dart phù hợp với lập trình Reactive, với hỗ trợ để quản lý đối tượng tồn thời gian ngắn, chẳng hạn widget UI, thông qua phân bổ đối tượng nhanh GC Dart hỗ trợ lập trình khơng đồng thơng qua tính ngơn ngữ API sử dụng đối tượng Future Stream 2.3.2 Flutter framework Tổng quan: Flutter mobile UI framework Google để tạo giao diện chất lượng cao iOS Android khoảng thời gian ngắn Flutter hoạt động với code sẵn có sử dụng lập trình viên, tổ chức Ưu nhược điểm: Ưu điểm: • Mạnh animation, performance app cao • Giao tiếp gần trực tiếp với native • Static language với syntax đại, compiler linh động AOT (for archive, build prod) JIT (for development, hot reload) • Có thể chạy giả lập mobile web, tiện cho development Các metric measure performance hỗ trợ sẵn giúp developer kiểm soát tốt performance app • Có thể dùng để build bundle/framework gắn app native để tăng performance 27 4.2 Login 29 4.3 Sign up 4.4 Dictionary Screen 31 4.5 Translate 33 4.6 Drawer 4.7 Catalog 35 4.8 Flash card 37 39 Chương 4: BẢNG PHÂN CƠNG CƠNG VIỆC Cơng việc thực Tên MSSV Đánh giá ● Login/ Sign up screen ● Dictionary screen ○ Word of the day Nguyễn Võ Đức Thắng - ○ Speech to text 19522213 ○ Defination, part of speech, phonetic, synonyms, Hoàn thành antonyms ● Flash card screen ● Drawer ● Onboarding screen ● Dictionary screen ○ Image to text Nguyễn Dương Tùng 195222494 ○ Text to speech ● Translate screen ○ Recognize language ● Quiz catalog screen Hoàn Thành Chương 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN Nhận xét 1.1 Kết đạt Phần mềm đạt mục tiêu đề Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương tác Ứng dụng có nhiều chức hữu ích hỗ trợ cho người dùng việc giúp người đọc thuận tiện việc giải nghĩa từ vựng tiếng anh Thêm vào cịn có tính giúp người dùng học thuộc từ vựng với cộng thêm câu hỏi thêm vào 1.2 Đánh giá ứng dụng Ưu điểm: • Giao diện trực quan thân thiện với người dùng • Có chức speech to text, photo to text giúp người dùng đa dạng hóa nguồn input • Có hướng dẫn phát âm phát âm mẫu cho người dùng • Có Flashcard giúp người dùng dễ dàng việc ghi nhớ từ vựng • Có chức quiz giúp người dùng làm quen với mặt chữ tiếng anh Nhược điểm: • Thơng tin người dùng chưa sâu • Các chức flashcard chưa hoàn thiện • Chưa đa dạng hóa nội dung quiz Hướng phát triển mở rộng • Tối ưu hóa code • Đa dạng hóa nội dung quiz • Thêm chức thêm xóa từ vựng flashcard • Ghi nhận điểm số quiz flashcard • Thêm chức chia sẻ mạng xã hội khác 41 ... QUAN Tổng quan đồ án 1.1 Tên đồ án: ● Tên tiếng việt: Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương tác ● Tên tiếng anh: Lett 1.2 Link Github: ● Link Github đồ án: Link Cơ sở... buổi Mục tiêu Xây dựng ứng dụng đáp ứng việc hỗ trợ học tiếng anh tăng tính tương tác thích nghi cho người dùng Phần ứng giao diện đáp ứng yêu cầu UX/UI, tăng tính sinh động, dễ sử dụng có thẩm... 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN Nhận xét 1.1 Kết đạt Phần mềm đạt mục tiêu đề Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi tương tác Ứng dụng có nhiều chức hữu ích hỗ trợ cho người