Yêu cầu chức năng Ứng dụng học tiếng Anh Bilo gồm có phần chính là phần ứng dụng được càiđặt trên thiết bị iOS và đảm bảo thực hiện được các chức năng dưới đây: 3.1.2.1 Chức năng xem dan
Trang 1MỤC LỤC LỜI CẢM ƠN I LỜI CAM ĐOAN II NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN III PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP IV
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
DANH MỤC BẢNG 6
MỞ ĐẦU 7
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 8
1.1 Giới thiệu đề tài 8
1.2 Mục đích và ý nghĩa 8
1.2.1 Mục đích 8
1.2.2 Ý nghĩa 8
1.3 Phương pháp giải quyết 9
1.3.1 Khảo sát thực tế 9
1.3.2 Tìm hiểu lý thuyết 10
1.3.3 Thực nghiệm 10
1.4 Phạm vi 10
1.5 Bố cục luận văn 11
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 12
2.1 Hệ điều hành iOS 12
2.1.1 Hệ điều hành iOS 12
2.1.2 Môi trường phát triển ứng dụng 13
2.2 NGÔN NGỮ LẬP TRÌNH OBJECTIVE – C 18
2.2.1 Lịch sử phát triển của ngôn ngữ lập trình Objective – C 18
2.2.2 Một số thuật ngữ thông dụng trong Objective – C 20
2.2.3 Nguyên tắc đặt tên biến, hằng… trong Objective – C 21
2.2.4 Class (lớp) trong Objective – C 22
2.2.5 Phạm vi truy xuất biến 22
2.2.6 Các phương thức trong Objective – C 22
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 24
3.1 Phân tích yêu cầu 24
3.1.1 Đối tượng sử dụng 24
3.1.2 Yêu cầu chức năng 24
3.1.3 Yêu cầu phi chức năng 26
3.2 Phân tích thiết kế hệ thống 27
3.2.1 Biểu đồ ca sử dụng: 27
3.2.2 Biểu đồ tuần tự 40
3.2.3 Biểu đồ hoạt động: 44
3.2.4 Biểu đồ lớp 49
Trang 23.2.5 Thiết kế cơ sở dữ liệu 49
CHƯƠNG 4 TRIỂN KHAI VÀ THỰC NGHIỆM CHƯƠNG TRÌNH 52
4.1 Triển khai chương trình 52
4.2 Các thuật toán được sử dụng 52
4.2.1 Thuật toán tạo bộ câu hỏi ở chế độ chơi True or False 52
4.2.2 Thuật toán tạo bộ câu hỏi ở chế độ chơi Photo Touch và Reader 54
4.2.3 Thuật toán tạo bộ câu hỏi ở chế độ chơi Memory 55
4.2.4 Thuật toán tạo bộ câu hỏi ở chế độ chơi Word Bilder 56
4.3 THỰC NGHIỆM CHƯƠNG TRÌNH 57
4.3.1 Khởi tạo bộ từ vựng mồi 57
4.3.2 Cài đặt và thực thi ứng dụng 58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 70
I Kết luận 70
1 Kết quả đạt được 70
2 Hạn chế 71
II Hướng phát triển 71
TÀI LIỆU THAM KHẢO 72
danh mục hình ản
2
Trang 3Hình 1: Danh sách tất cả các bài học 1
Hình 2: Danh sách các màn chơi 2
Hình 3: Tìm kiếm bài học 2
Hình 4: Cấu trúc hệ điều hành iOS 13
Hình 5: Ngôn ngữ lập trình Objective - C 18
Hình 6: Biểu đồ ca sử dụng tổng thể 27
Hình 7: Biểu đồ ca sử dụng thực hiện màn chơi 27
Hình 8: Biểu đồ tuần tự - Xem danh sách bài học 40
Hình 9: Biểu đồ tuần tự - Thực hiện màn chơi Surfer 40
Hình 10: Biểu đồ tuần tự - Thực hiện màn chơi TapTap 41
Hình 11: Biểu đồ tuần tự - Thực hiện màn chơi True or False 41
Hình 12: Biểu đồ tuần từ - Thực hiện màn chơi Photo Touch 42
Hình 13: Biểu đồ tuần từ - Thực hiện màn chơi Reader 42
Hình 14: Biểu đồ tuần tự - Thực hiện màn chơi Memory 43
Hình 15: Biểu đồ tuần từ - Thực hiện màn chơi Word builder 43
Hình 16: Biểu đồ hoạt động – Thực hiện màn chơi 44
Hình 17: Biểu đồ hoạt động – Thực hiện màn chơi True or False 45
Hình 18: Biểu đồ hoạt động – Thực hiện màn chơi Photo Touch và Reader 46
Hình 19: Biểu đồ hoạt động – Thực hiện màn chơi Memory 47
Hình 20: Biểu đồ hoạt động – Thực hiện màn chơi Word builder 48
Hình 21: Biểu đồ lớp 49
Hình 22: Mô hình cơ sở dữ liệu quan hệ 49
Hình 23: Sơ đồ triển khai chương trình 52
Hình 24: Trình tự tạo câu hỏi cho chế độ chơi True or False 53
Hình 25: Trình tự tạo câu hỏi cho chế độ chơi Photo Touch và Reader 54
Hình 26: Trình tự tạo câu hỏi cho chế độ chơi Memory 55
Hình 27: Trình tự tạo câu hỏi cho chế độ chơi Word Builder 56
Hình 28: Khởi tạo bộ từ vựng mồi cho ứng dụng 57
Hình 29: Màn hình khởi động 58
Hình 30: Màn hình hiển thị danh sách các bài đang học 59
Hình 31: Xoá bài đang học 60
Hình 32: Màn hình quản lý bài học 61
Hình 33: Xem danh sách bạn màn chơi 62
Hình 34: Màn chơi Surfer 63
Hình 35: Màn chơi TapTap 64
Hình 36: Màn chơi True or False 65
Hình 37: Màn Chơi Reader và Photo Touch 66
Hình 38: Màn Chơi Memory 67
Hình 39: Màn Chơi Word Bilder 68
Hình 40: Màn hình kết quả các màn chơi 69
Trang 4DANH MỤC BẢNG
Bảng 1: Ca sử dụng xem danh sách tất cả các bài học đang học 28
Bảng 2: Ca sử dụng xem danh sách tất cả các bài học 29
Bảng 3: Ca sử dụng xem danh sách các màn chơi 30
Bảng 4: Ca sử dụng thực hiện màn chơi Surfer 31
Bảng 5: Ca sử dụng thực hiện màn chơi TapTap 32
Bảng 6: Ca sử dụng thực hiện màn chơi True or False 33
Bảng 7: Ca sử dụng thực hiện màn chơi PhotoTouch 35
Bảng 8: Ca sử dụng thực hiện màn chơi Reader 36
Bảng 9: Ca sử dụng thực hiện màn chơi Memory 37
Bảng 10: Ca sử dụng thực hiện màn chơi Word builder 38
Bảng 11: Ca sử dụng tìm kiếm bài học 39
Bảng 12: Bảng cơ sở dữ liệu – Topics (lưu thông tin của bài học) 50
Bảng 13: Bảng cơ sở dữ liệu - Words (lưu thông tin của từ vựng) 50
Bảng 14: Bảng cơ sở dữ liệu - Topic – Word (lưu thông tin của từ vựng) 51
4
Trang 5MỞ ĐẦU
Từ khi ra đời cho đến nay, các dòng điện thoại thông minh, máy tính bảngphát triển với tốc độ rất nhanh Con người thường xuyên sử dụng chúng cho cácmục đích giao tiếp, học tập, giải trí… Trong đó nhu cầu sử dụng các sản phẩm tròchơi để giải trí luôn là cao nhất Hơn thế nữa, hiện nay tiếng Anh được sử dụng ởhầu hết mọi lĩnh vực trong cuộc sống, mọi người luôn cố gắng tìm kiếm mộtphương pháp hiệu quả để có thể cải thiện và nâng cao trình độ tiếng Anh của mình
Có rất nhiều phương pháp học tiếng Anh để lựa chọn, mỗi phương pháp đều
có những ưu và nhược điểm của nó Nhưng đa phần đều dễ gây nhàm chán chongười học Vậy nếu mang việc học tiếng Anh kết hợp với với một trò chơi giải tríthì sao?
Từ câu hỏi trên, em đã tìm hiểu và đưa ra ý tưởng về một ứng dụng giúpngười học tiếng Anh có thể dễ dàng tiếp thu, trao dồi khả năng qua các trò chơi giảitrí nhẹ nhàng, đơn giản và có thể học được tiếng Anh mọi lúc, mọi nơi
Trang 6CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 GIỚI THIỆU ĐỀ TÀI
Đề tài “Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS”
Xuất phát từ đề tài “Xây dựng ứng dụng học từ vựng tiếng Anh trên nền tảngAndroid” của anh Cao Quảng Bình, sinh viên khóa 09, khoa Công nghệ thông tin,trường đại học Bách khoa Đà nẵng, em đã phát triển ứng dụng này trên nền tảngiOS, với mục đích tạo cơ hội cho người dùng có thể sử dụng ứng dụng trên hai nềntảng phổ biến này
Ứng dụng vừa là một công cụ giúp học từ vựng tiếng Anh trên thiết bị diđộng, vừa là một trò chơi giải trí Cụ thể hơn, đó là một ứng dụng trò chơi cho phépngười dùng chơi các màn chơi liên quan tới chủ đề học tiếng Anh như: từ vựng, ngữpháp, phát âm, cách dùng từ… Các trò chơi này có cách chơi đơn giản, mọi đốitượng đều có thể sử dụng
1.2 MỤC ĐÍCH VÀ Ý NGHĨA
1.2.1 Mục đích
Với đề tài luận văn: “Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS”,
em xác định cho mình các mục đích cần đạt được cho quá trình thực hiện luận vănnhư sau:
Hiểu biết về hệ điều hành iOS, cách thức xây dựng một phần mềm trên hệđiều hành iOS, cùng các lý thuyết liên quan khác
Hiểu biết về ngôn ngữ lập trình Objective – c
Nắm bắt cách thức cũng như chu trình để xây dựng và phát triển một sảnphẩm phần mềm
Xây dựng được một sản phẩm hoàn thiện, có khả năng ứng dụng vào thực tế
1.2.2 Ý nghĩa
Ứng dụng học từ vựng tiếng Anh này được xây dựng với mong muốn tạo ramột phương pháp lý tưởng giúp người dùng có thể cải thiện khả năng tiếng Anh củamình, chú trọng vào việc được chơi, được rèn luyện các kỹ năng, giảm sự nhàmchán thường thấy trong việc học tiếng Anh
Và với một lập trình viên, việc ứng dụng có thể thu hút được người dùng, nó
sẽ tạo ra hiệu quả kinh tế Khi ứng dụng được đưa vào sử dụng qua các cửa hàng,
6
Trang 7nó sẽ tạo ra thu nhập bằng các hình thức quảng cáo, mua bán trong ứng dụng đượccác hệ điều hành di động hỗ trợ.
1.3 PHƯƠNG PHÁP GIẢI QUYẾT
Để thực hiện đề tài luận văn, em đã xác định và chuẩn bị kế hoạch để thựchiện các công việc cần thiết sau:
1.3.1 Khảo sát thực tế
Đề tài tập trung vào một ứng dụng trò chơi, do đó việc cần làm đầu tiên làtìm hiểu nhu cầu của người dùng để xây dựng nên ý tưởng cho các màn chơi Quakhảo sát, những người học tiếng Anh đa phần quan tâm đến việc nâng cao vốn từvựng trước khi có thể sử dụng ngữ pháp và rèn luyện kỹ năng nghe đọc Từ vựngcũng là chủ đề có thể dễ dàng tạo ra các câu hỏi mà không cần một một cơ sở dữliệu quá lớn Để có thể trình bày về một từ vựng, ta chỉ cần hình ảnh và âm thanhphát âm của từ đó là đủ để giúp người dùng tiếp thu được Ngoài ra có thể cần cóthêm phiên âm cũng như ví dụ về cách dùng từ Dựa vào bộ từ vựng, ta có thể tạo racác màn chơi đơn giản nhưng vẫn đủ sức hấp dẫn như: hình ảnh và âm thanh cóphải là của một từ nào đó hay không, từ một số nhiều các hình ảnh chọn ra một hìnhảnh liên quan một từ vựng, phân biệt các từ có cách phát âm gần giống nhau…
Qua khảo sát cũng cho thấy, ở Việt Nam trong thời điểm hiện tại, số lượnghọc sinh, sinh viên đang tìm kiếm phương pháp học tiếng Anh, đến các trung tâmdạy tiếng Anh là rất lớn, các trường cao đẳng, đại học đều yêu cầu khả năng tiếngAnh của sinh viên, và số lượng sinh viên có đủ vốn từ vựng để đáp ứng được nhucầu trong công việc còn rất hạn chế Do đó, giúp cho người dùng bổ sung vốn từvựng và rèn luyện các kỹ năng: nghe, nói, đọc, viết là mục đích cuối cùng trong quátrình xây dựng của đề tài
Trang 8Ứng dụng này cần một bộ dữ liệu mẫu để xây dựng các câu hỏi cho mànchơi Với phạm vi hướng tới việc học từ vựng, việc thu thập dữ liệu sẽ dễ dàng hơn.Các dữ liệu này có thể sưu tầm từ nhiều nguồn và có thể dễ dàng tránh khỏi các vấn
đề về bản quyền
1.4 PHẠM VI
Từ ý tưởng của đề tài kết hợp với kết quả khảo sát, đồng thời dựa trên khảnăng và các hiểu biết của bạn thân cùng sự đồng ý của giáo viên hướng dẫn, emđăng ký đề tài “Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS” cho luận văntốt nghiệp với các mục tiêu như nhau:
Ứng dụng trò chơi được phát triển cho điện thoại thông minh sử dụng hệđiều hành iOS phiên bản 7.0 trở lên
Các màn chơi được xây dựng với mục đích rèn luyện tiếng Anh, với chủ
đề về từ vựng, bao gồm các thành phần: từ ngữ, nghĩa của từ, hình ảnh
mô tả và phát âm
Trong quá trình thực hiện đề tài, em có sử dụng một số thư viện mã nguồn
mở, cùng các thư viện của công ty TNHH phần mềm Nikme để xây dựng ứng dụng.Các thư viện này không chỉ giúp đỡ xây dựng ứng dụng dễ dàng và nhanh chóng
8
Trang 9hơn mà còn giúp em xây dựng ứng dụng trên bộ khung có quy chuẩn, phù hợp vớiyêu cầu công ty nhằm múc đích dễ dàng phát triển ứng dụng thành một sản phẩmcủa công ty sau này.
1.5 BỐ CỤC LUẬN VĂN
Bố cục của luận văn bao gồm:
Chương 1: Tổng quan đề tài
Nội dung chủ yếu của chương này là giới thiệu khái quát về đề tài cần thựchiện Các mục tiêu, ý nghĩa mà đề tài hướng tới Đề ra các phương pháp giải quyết
đi từ khảo sát thực tế, tìm hiểu lý thuyết đến cách thức thực nghiệm Phần cuối củachương là giới hạn phạm vi thực hiện đề tài trong thời gian của luận văn tốt nghiệp
Chương 2: Cơ sở lý thuyết
Nội dung nghiên cứu lý thuyết liên quan đến quá trình thực hiện đề tài baogồm: lý thuyết về hệ điều hành iOS, ngôn ngữ lập trình Objective – c, công cụ lậptrình Xcode và Coredata framword
Chương 3: Phân tích và thiết kế hệ thống
Nội dung chương Phân tích, thiết kế hệ thống tập trung vào việc hình thành ýtưởng trò chơi, xây dựng kịch bản, phân tích yêu cầu sau đó tiến hành các bướcphân tích thiết kế hệ thống bao gồm: xác định tác nhân, đặc tả các ca sử dụng, xâydựng biểu đồ tuần tự, biểu đồ hoạt động, biểu đồ lớp, thiết kế cơ sở dữ liệu
Chương 4: Triển khai và thực nghiệm
Chương này trình bày quá trình thực hiện đề tài, các công cụ và phần mềm
sử dụng, các thuật toán cần có Kết thúc phần là hình ảnh sản phẩm mẫu khi đưavào thực nghiệm
Trang 10CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 HỆ ĐIỀU HÀNH IOS
2.1.1 Hệ điều hành iOS
IOS là hệ điều hành trên các thiết bị di động của Apple Ban đầu hệ điềuhành này chỉ được phát triền để chạy trên Iphone, nhưng sau đó nó đã mở rộng đểchạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV Ngày 31 tháng
5 năm 2011, Apple Sotre của Apple chứa khoảng 500 000 ứng dụng iOS và được tải
về tổng cộng khoảng 15 tỷ lần Trong quý 4 năm 2010, có khoảng 26% điện thoạithông minh chạy hệ điều hành iOS, sau hệ điều hành Android của Google vàSymbia của Nokia
Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay Người dùng
có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trênmàn hình cảm ứng của các thiết bị của Apple
Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ravào tháng 1 năm 2007 và được phát hành vào tháng 9 năm đó Khi đó, hệ điều hànhnày chưa có một cái tên riêng nên chỉ đơn giản là “Iphone chạy OS X” Ban đầu,ứng dụng của bên thứ ba không được hổ trợ Steve Job đã chỉ ra rằng những nhàphát triển có thể xây dựng các ứng dụng web mà “sẽ cư xử như những ứng dụngban đầu trên Iphone” Vào ngày 17 tháng 10 năm 2007, Apple thông báo một bộphát triền phần mềm đáng được xây dựng và họ dự định sẽ đưa nó đến “tay các nhàphát triển vào tháng 2” Ngày 6 tháng 3 năm 2008, Apple đã phát hành bản dùngthử đầu tiên, cùng với một cái tên mới cho hệ điều hành đó là “Iphone OS”
Tháng 6 năm 2010, Apple đổi cái tên Iphone OS thành iOS Nhãn hiệu
“iOS” đã được Cisco dùng để đặt tên cho hệ điều hành của mình Để tránh các vụkiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco
10
Trang 112.1.2 Môi trường phát triển ứng dụng
2.1.2.1 Cấu trúc của hệ điều hành iOS
Apple không cho phép người dùng tiếp cận trực tiếp với bất kì phần cứngnào của Iphone, mọi tương tác phần cứng phải thông qua một số lớp khác nhau củaphần mềm, hoạt động như một trung gian giữa các ứng dụng và thiết bị phần cứng.Những lớp này được hiểu như một hệ điều hành, cụ thể ở đây là hệ điều hành iOS
Mỗi lớp của hệ điều hành cung cấp một mức độ ngày càng cao của sự trừutượng hóa với sự phức tạp của cách làm việc với phần cứng
Hình 1: Cấu trúc hệ điều hành iOS
2.1.2.2 Lớp Core OS (lớp nhân trong)
Là lớp dưới cùng của iOS, nó là nền tảng của hệ điều hành Nó đảm nhiệmcác nhiệm vụ như quản lí bộ nhớ, file hệ thống, kiên kết mạng và một số chức năngkhác, nó tác động trực tiếp tới phần cứng Lớp Core OS bao gồm một số thành phầnsau:
CFNetwork Framework: Cung cấp một giao diện dựa trên C tới các lớpgiao thức mạng TCP/IP và truy cập mức thấp tới socket BSD Nó chophép mã ứngdụng được viết và làm việc với các dịch vụ HTTP, FTP vàDNS, khởi tạo bảo mật và mã hóa các kết nối sử dụng Secure SocketsLayer (SSL) hoặc Transport Layer Security (TLS)
Trang 12 External Accessory framework: Cung cấp khả năng kết nối với nhữngphụ kiện kết nối vật lý mở rộng tới Iphone thông qua 30-pin dockconnector hoặc qua Bluetooth.
Security framework: Cung cấp các giao diện bảo mật khi chúng ta kết nốitới mạng mở rộng bên ngoài như chứng thực, khóa công khai và khóaprivate, mã hóa và xác thực sử dụng hàm băm (HMAC)
System (LibSystem): iOS được xây dựng dựa trên nền tảng UNIX, vì thế những thành phần hệ thống của Core OS cung cấp nhiều chức năng giốngvới hệ điều hành UNIX Nó bao gồm nhân hệ điều hành (Mach Kernel)
và các Driver của các thiết bị Nhân là nền tảng của toàn bộ iOS được xâydựng và cung cấp giao diện mức thấp cho các phần cứng lớp nằm dưới.Nhân chịu trách nhiệm cấp phát bộ nhớ, quản lý chu kì sống của tiếntrình, đầu vào/ đầu ra, kiên lạc đa tiến trình, quản lý luồng, kết nối mạngmức thấp quản lý luồng và truy cập hệ thống
2.1.2.3 Lớp Core Service (lớp nhân dịch vụ)
Lớp Core Service cung cấp các dịch vụ dựa trên nền tảng của lớp Core OS
Nó cung cấp những truy cập cơ bản tới các dịch vụ của iOS và nó bao gồm cácthành phần sau:
AddressBook frameword: Cung cấp truy cập có thứ tự tới cơ sở dữ liệu
về danh bạ của Iphone, cho phép các ứng dụng có thể lưu trữ và sửa đổicác mục danh bạ
Core Data Framework: Được cung cấp để dễ dàng tạo ra các mô hình dưliệu và lưu trữ trong các ứng dụng dựa trên Model-View-Controller(MVC) Sử dụng frameword này giảm được số lượng mã cần phải viết đểthực hiện những công việc thông thường khi làm việc với cấu trúc dữ liệutrong ứng dụng
Core Foundation Framework: Cung cấp các thứ như kiểu dữ liệu, thao táctrên chuỗi quản lý khối dữ liệu có thứ tự, thao tác URL, các luồng vàchạy các vòng lặp, thời gian, thao tác XML cơ bản, các cổng và các kếtnối socket
12
Trang 13 Foundation Framework: Là một framework chuẩn của Objective-C Nóchứa những gói Objective-C xung quanh Core Foundation Framework.
Core Location Framework: Cho phép chúng ta lấy được thông tin về vịtrí hiện thời của thiết bị và có khả năng định hướng Phương thức dùngbởi thiết bị để cung cấp tọa độ sẽ phụ thuộc trên dữ liệu có sẵn tại thờigian thông tin được yêu cầu và phần cứng hỗ trợ được cung cấp bởimodel Iphone cụ thể mà ứng dụng chạy trên đó Nó sẽ dựa trên việc phântích GPS, dữ liệu mạng Wifi hoặc phép đo tam giác cột thu phát sóng
Store Kit Framework: Mục đích của phần này là tạo sự dễ dàng trong việctrao đổi thương mại giữa uwngsd ụng của chúng ta và Apple Store
SQLite library: Cho phép lưu trữ cơ sở dữ liệu nhỏ, SQL dựa trên cơ sở
dữ liệu để tạo và thao tác với những cơ sở dữ liệu bên trong ứng dụng
2.1.2.4 Lớp Media Services (lớp liên kết)
Lớp Media Service của iOS cung cấp các khả năng về audio, video,animations và graphics Như các lớp khác trong ngăn xếp của iOS, lớp media baogồm một số các Framework cái mà có thể được sử dụng trong những ứng dụngIphone:
Core Graphics Framework: Cung cấp một máy dựng hai chiều nhẹ.Những tính năng của Framework này bao gồm việc tạo và trình diễnnhững file PDF, bản vẽ dựa trên Vector, các lớp trong suốt, đường dẫndựa trên bản vẽ, thao tác và quản lý màu sắc
Quartz Core Framework: Mục đích của Framework này là cung cấp khảnăng hoạt hình cho Iphone Nó cung cấp nền tảng cho các hiệu ứng trựcquan và hoạt hình được sử dụng bởi Framework UIKit và cung cấp mộtgiao diện lập trình dựa trên Objective-C để tạo hoạt hình đặc biệt bêntrong ứng dụng Iphone
OpenGL ES Framework: OpenGL for Embedded System (ES) là mộtphiên bản nhỏ của OpenGL đầy đủ được thiết kế đặc biệt để dành cho cácthiết bị nhỏ như Iphone
Trang 14 Iphone Audio Support: Cho phép iOS có khả năng hổ trợ các định dạngnhư AAC, Apple Lossless (ALAC), A-law, IMA/ADPCM, Linear PCM,DVI/IntelIMA…
AV Foundation Framework: Là một Framework được thiết kế cho phépphát lại, ghi âm, quản lý nội dung của âm thanh
Core Audio Frameworks (CoreAudio.Framework, AudioToolbox.framework và AudioUnit.framework): Cung cấp khả năng truycập tới các thiết bị được tích hợp trong các đơn vị xử lý âm thanh
Open Audio Library (OpenAL): OpenAL là 1 công nghệ nền tảng lai tạođược sử dụng để cung cấp hiệu ứng âm thanh 3D chất lượng cao
Media Player Framework: Framework này có thể chạy các video trongcác định dạng mov, mp4, m4v, 3gp tại một loạt các tiêu chuẩn nén,các
độ phân giải và các tốc độ khung hình
2.1.2.5 Lớp Cocoa Touch (lớp tiếp xúc)
Lớp này nằm ở trên cùng trong ngăn xếp của iOS và chứa những Frameworkcái mà được sử dụng thường xuyên bởi các lập trình viên Iphone Cocoa Touch dựatrên nền tảng chuẩn của Cocoa API của MAC OS X và có phần mở rộng và sửa đổi
để phù hợp với Iphone Lớp Cocoa Touch cung cấp các Framework cho việc pháttriển ứng dụng Iphone như sau:
UIKit Framework: Đây là một Framework khổng lồ và một giao diện lậptrình dựa trên Objective-C giàu tính năng Chúng ta sẽ phải tốn nhiều thờigian làm việc để tìm hiểu về nó Hầu hết các cuốn sách đều viết riêng vềUIKit Framework Một số thành phần chính của UIKit là:
Quản lý và tạo giao diện người dùng (text fields, buttons, labels,colors, fonts…)
Quản lý chu kì sống của ứng dụng
Điều khiển sự kiện ứng dụng (như chạm vào màn hình ứng dụng)
Các chức năng Cut, Copy, Paste
Quản lý và tình diễn nội dung Web và văn bản
Điều khiển dữ liệu
Tích hợp nhiều ứng dụng
14
Trang 15 Đưa ra thông báo
Bộ gia tốc, pin, cảm biến khoảng cách, camera và tương tác với thưviện hình ảnh
Map Kit Framework: Cung cấp cho chúng ta một giao diện lập trình đểcho phép chúng ta xây dựng bản đồ dựa trên các ứng dụng riêng củachúng ta Nó cho phép chúng ta hiển thị bản đồ có thể cuộn tới bất kì vịtrí nào, hiển thị bản đồ tương ứng với vị trí địa lý hiện tại của thiết bị vàchú thích theo nhiều cách khác nhau
Push Notification Service: Cho phép những ứng dụng cảnh báo ngườidùng về một sự kiện thậm chí khi ứng dụng hiện tại không được chạy trênthiết bị Nó rất phổ biến được sử dụng bởi các ứng dụng dựa trên tin tức.Thông thường khi có tin tức mới thì dịch vụ sẽ tạo ra một tin nhắn trênthiết bị với tiêu đề của tin tức và cung cấp cho người dùng tùy chọn đề tàicác ứng dụng tin tưởng ứng để đọc thêm chi tiết Tính năng này lên được
sử dụng tiết kiệm để tránh gây phiền hà cho người sử dụng vì thươngxuyên gián đoạn
Message UI Framework: Cung cấp mọi thứ mà chúng ta cần để cho phépngười sử dụng gửi email từ trong ứng dụng của chúng ta Trên thực tế nócòn cung cấp các thành phần giao diện thông qua đó người dùng có thểnhập các thông tin địa chỉ email và nội dung tin nhắn ngoài ra thông tinnày có thể xác định trước bên trong ứng dụng của chúng ta và sau đóđược hiển thị cho người sử dụng để chỉnh sửa và phên duyệt trước khigửi
Address Book UI Framework: Đưa ra các chức năng chính cho IPhonenhư là một thiết bị thông tin liên lạc và trợ giúp kỹ thuật số Toàn bộFramework là giành riêng cho việc tích hợp các dữ liệu số địa chỉ vàotrong ứng dụng riêng của chúng ta Cho phép chúng ta truy cập vào, hiểnthị, chỉnh sửa và nhập thông tin liên lạc từ sổ địa chỉ của IPhone từ bêntrong ứng dụng riêng của chúng ta
Trang 16 Game Kit Framework: Cung cấp kết nối ngang hàng (peer to peer) và kếtnối giọng nói giữa nhiều thiết bị và cho phép nhiều người sử dụng chạycùng một ứng dụng để tương tác.
2.2 NGÔN NGỮ LẬP TRÌNH OBJECTIVE – C
2.2.1 Lịch sử phát triển của ngôn ngữ lập trình Objective – C
Vào đầu các năm 1980, Brad J Cox đã thiết kế ra ngôn ngữ Objective-C dựatrên ngôn ngữ SmallTalk-80 Có thể hình dung rằng Objective-C là một ngôn ngữlập trình được đặt ở lớp trên của ngôn ngữ lập trình C truyền thống, điều này cónghĩa là ngôn ngữ C được bổ sung thêm những thành phần mở rộng (hay còn gọi làcác extensions) để hình thành nên 1 ngôn ngữ lập trình mới đó là Objective-C.Ngôn ngữ Objective-C này cho phép chúng ta tạo và quản lý những đối tượng(Objects)
Hình 2: Ngôn ngữ lập trình Objective - C
Từ năm 1988, Công ty NeXT Software đã nắm giữ bản quyền sở hữu ngônngữ Objective-C này Họ đã phát triển thêm những bộ thư viện và cả môi trườngphát triển cho nó có tên là NEXTSTEP
Vào năm 1994, NeXT Computer đã phối hợp với công ty Sun Microsystemschuẩn hóa lại NEXTSTEP trong bản đặc tả tên là OPENSTEP Bản hiện thực của
16
Trang 17OPENSTEP chính là GNUStep 1 hệ thống bao gồm cả Linux kenel và môi trườngphát triển GNUStep lúc đó được gọi là LinuxSTEP.
Đến cuối tháng 12 năm 1996, hãng Apple đã mua lại công ty NeXT Software
và môi trường NEXTSTEP/OPENSTEP đã trở thành thành phần cốt lõi của hệ điềuhành OS X mà Apple đã giới thiệu sau này Phiên bản chính thức của môi trườngphát triển này do chính Apple giới thiệu ban đầu có tên là Cocoa Bằng việc hỗ trợsẵn ngôn ngữ Objective-C, đồng thời tích hợp 1 số các công cụ phát triển khác nhưProject Builder (tiền thân của Xcode) và Interface Builder, Apple đã tạo ra 1 môitrường mạnh mẽ để phát triển ứng dụng trên MAC OS X
Tới năm 2007, Apple đã tung ra bản nâng cấp cho ngôn ngữ Objective-C vàgọi đó là Objective-C 2.0 Cho tới khi Apple chính thức giới thiệu iPhone vào năm
2007, có rất rất nhiều developers mong muốn được tham gia phát triển ứng dụngtrên thiết bị mang tính đột phá về công nghệ này Ban đầu, Apple không khuyếnkhích việc tham gia phát triển ứng dụng từ bên thứ 3 này mà chỉ cho phép nhữngứng dụng chạy trên nền web được chạy thông qua ứng dụng dạng trình duyệt Safari
mà họ đã cài sẵn trong iPhone Điều này làm cho những ứng dụng khi muốn chạyphải yêu cầu kết nối đến máy chủ web host ứng dụng của các developers tham giaphát triển Rõ ràng động tác này của Apple không thể đáp ứng được nhu cầu của cácdevelopers cho có rất nhiều hạn chế trong việc phát triển ứng dụng web-based nhưthế Ngay sau đó, Apple đã trấn an giới phát triển ứng dụng bằng việc chính thứcthông báo rằng các developers sẽ có thể phát triển các ứng dụng thuần iPhone Tức
là các ứng dụng nằm trong iPhone và chạy trên hệ điều hành của iPhone giống nhưcác ứng dụng có sẵn của Apple như Contacts, Stocks, Weather,… chạy trên thiết bịđặc biệt này
Tới năm 2010, với việc chính thức giới thiệu thêm các thiết bị iPad, Applechuyển sang sử dụng thuật ngữ tổng quát hơn đó chính là “iOS” để chỉ dùng hệ điềuhành này trên các thiết bị di động có sự khác biệt về kích thước vật lý và độ phângiải như iPhone, iPod, iPad và những phiên bản khác nhau của chúng Giờ đây iOSSDK sẽ cho phép các developers phát triển được ứng dụng này trên bất cứ các thiết
bị iOS nào IOS 8 chính là phiên bản hiện tại của hệ điều hành đầy thú vị này
2.2.2 Một số thuật ngữ thông dụng trong Objective – C
Trang 182.2.2.1 Các Directives được sử dụng để khai báo, định nghĩa các classes,
categories, protocols.
@interface: Sử dụng để khai báo một class
@implementation: Dùng để định nghĩa một class hay một category
@protocol: Sử dụng để khai báo một thủ tục hình thức (formal protocol)
@end : Kết thúc khai báo, định nghĩa category hoặc protocol
2.2.2.2 Các Directive được sử dụng để xác định khả năng truy cập của các thực
thể (Mặc định là @protected).
@private: Giới hạn phạm vi truy cập của một biến thực thể chỉ trong lớp
mà nó được khai báo
@protected: Giới hạn phạm vi truy cập một biến thực thể trong lớp khaibáo nó và các lớp khác kế thừa lớp này
@public: Không giới hạn phạm vi truy cập của biến này
2.2.2.3 Các Directives liên quan đến việc xử lý ngoại lệ (Exception handling).
@try: Định nghĩa một khối mã lệnh mà trong khối này có thể phát sinhngoại lệ
@throw: Tung ra một ngoại lệ
@catch: Bắt (khối lệnh được thực thi nếu ngoại lệ phát sinh) ngoại lệ bêntrong khối mã lệnh @try ngay trước nó
@finally: Một khối mã lệnh sẽ được thực thi không cần biết có ngoại lệxảy ra trong @try hay không
2.2.2.4 Các Directive sử dụng cho từng mục đích cụ thể.
@class: Khai báo tên của một lớp được định nghĩa ở đâu đó
@selector(method_name): Trả về selector đã được biên dịch xác địnhphương thức có tên là tham số trong dấu ngoặc
@protocol(protocol_name): Trả về protocol( thực thể của một Protocolclass) có tên trong dấu ngoặc @protocol(không có tham số) cũng hợp lệkhi khai báo chuyển tiếp(forward declarations)
@encode(type_spec): Cho ta chuỗi đã được encode của tham sốtype_spec
@”string”: Định nghĩa một hằng chuỗi NSString object và khởi tạo chuỗivới 7-bit chuẩn ASCII-encoded
18
Trang 19 @”string1″ @”string2″ …@”stringN”: Định nghĩa một hằng chuỗiNSString object Chuỗi được tạo ra là kết quả của việc nối các chuỗi xácđịnh trong các directives.
@synchronized(): Định nghĩa một khối mã lệnh mà chỉ được chạy(execute) bằng một thread tại mỗi thời điểm
2.2.3 Nguyên tắc đặt tên biến, hằng… trong Objective – C
2.2.3.1 Class.
Khi đặt tên class bắt đầu bằng ký tự hoa
Vd: khởi tạo 1 class
-( void) myMethod {//code
}
Trang 202.2.4 Class (lớp) trong Objective – C
2.2.4.1 Định nghĩa lớp
Lớp(class) trong objective-c được định nghĩa thành 2 phần tương tự nhưC/C++ Một filw *.h dùng để khai báo trước các biến, phương thức , file*.m sửdụng định nghĩa phần thực thi các thành phần biến, phương thức đã được định nghĩatrong file*.h
2.2.5 Phạm vi truy xuất biến
@private: giới hạn phạm vi trong lớp mà biến thể hiện được khai báo
@Protected (mặc định): giới hạn phạm vi trong lớp và lớp con kế thừa
mà biến được khai báo
@public: không giới hạn pham vi truy xuất
2.2.6 Các phương thức trong Objective – C
Trong objective-c có 2 loại phương thức (Class method và instance method)
[Object newMethod];
Trang 22CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 PHÂN TÍCH YÊU CẦU
Chương 1 của luận văn đã đề cập đến ý tưởng cũng như các nội dung trọngyếu của đề tài “Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS” Phần này sẽ
mô tả chi tiết về các yêu cầu cùng các nội dung cần thực hiện của bài toán
3.1.1 Đối tượng sử dụng
Ứng dụng học tiếng Anh Bilo được phát triển cho người sử dụng điện thoạithông minh và máy tính bảng sử dụng các hệ điều hành Android, iOS hay WindowsPhone Trong phạm vi đồ án tốt nghiệp, ứng dụng được phát triển cho điện thoạithông minh sử dụng hệ điều hành iOS
Ứng dụng cũng hướng tới những người có nhu cầu rèn luyện, tăng cường khảnăng sử dụng tiếng Anh với 4 kĩ năng: nghe, nói, đọc và viết
3.1.2 Yêu cầu chức năng
Ứng dụng học tiếng Anh Bilo gồm có phần chính là phần ứng dụng được càiđặt trên thiết bị iOS và đảm bảo thực hiện được các chức năng dưới đây:
3.1.2.1 Chức năng xem danh sách tất cả các bài học
Ứng dụng học tiếng Anh Bilo cung cấp cho người học tổng cộng 98 bài họcvới các thể loại khác nhau, ở chức năng này, hệ thống sẽ hiển thị toàn bộ thông tincủa 98 bài học và cho phép người dùng chọn các bài học
3.1.2.2 Chức năng thực hiện màn chơi ở chế độ chơi Surfer
Chế độ chơi Surfer là cách đầu tiên để học từ vựng, ở chế độ chơi này ngườichơi sẽ lướt sang trái hoặc phải để học, mỗi màn hình sẽ chứa hình ảnh mô tả từ ởtrung tâm, hệ thống cho phép người dùng tap vào hình ảnh để phát âm từ đó và cóthể phát lại nhiều lần khi được tap vào, chức năng này giúp người dùng luyện khảnăng nghe một cách hiệu quả, trong hình ảnh có một nút có thể nhấn vào đó để biếtnghĩa tiếng việt của từ, bên cạnh đó phía dưới hình ảnh còn có chế độ ghi âm giọngphát âm và phát lại để người dùng so sánh với bản gốc, chức năng này giúp chongười dùng bước đầu hiểu được nghĩa của từ, cách phát âm, và cách viết của từ
3.1.2.3 Chức năng thực hiện màn chơi ở chế độ chơi TapTap
Sau khi học xong ở chế độ chơi Surfer, người dùng có thể kiểm tra lại kiếnthức của mình thông qua chế độ chơi TapTap ở chế độ này, hệ thống sẽ liệt kê tất
cả các từ vựng có trong bài học và hiển thị lên màn hình, người dùng có thể xem chi
22
Trang 23tiết bằng cách tap vào hình ảnh cần xem, hệ thống sẽ hiển thị một hình ảnh lớn hơn,tương tự như chế độ chơi Surfer, người dùng có thể tap nhiều lần để nghe âm phát
âm của từ và nhấn nút hiển thị nghĩa để hiển thị nghĩa tiếng việt
3.1.2.4 Chức năng thực hiện màn chơi ở chế độ True or False
Sau khi người dùng học xong ở hai chế độ Surfer và TapTap, chế độ chơiTrue or False là màn chơi giúp người dùng kiểm tra kiến thức của họ, ở màn chơinày hệ thống sẽ hiển thị một chuỗi kí tự kèm theo âm thanh phát âm của từ và mộthình ảnh gợi ý, ở phía dưới màn hình có hai nút đúng/ sai, người dùng có nhiệm vụkiểm tra hình ảnh, chuỗi kí tự và âm thanh phát âm đó có đúng là một từ hay khôngbằng cách chọn đúng hoặc sai, nếu người dùng trả lời đúng hệ thống sẽ cộng 10điểm, nếu sai sẽ trừ 10 điểm, người dùng có thể nhấn nút hiển thị nghĩa để xemnghĩa tiếng việt của từ Màn chơi này sẽ giúp người học luyện khả năng nghe
3.1.2.5 Chức năng thực hiện màn chơi ở chế độ chơi Photo Touch
Sau khi người dùng hoàn thành xong màn chơi True or False, để tăng độ khóthì hệ thống sẽ chọn ngầu nhiên từ 3-5 hình ảnh để hiển thị, người dùng sẽ chọnhình ảnh nào đúng với từ sẽ được cộng điểm và chuyển sang từ tiếp theo, nếu sai sẽ
bị trừ điểm và hình ảnh đó sẽ được ẩn đi, qua mỗi từ hệ thống từ động phát âm phát
âm của từ
3.1.2.6 Chức năng thực hiện màn chơi ở chế độ chơi Reader
Tương tự ở chế độ chơi Photo Touch, nhưng ở màn chơi này, qua mỗi từ hệthống sẽ không tự động phát âm âm thanh của từ nữa, người dùng muốn nghe âmphát âm phải nhất nút phát âm ở phía dưới hình ảnh, chức năng này sẽ rèn luyện kỹnăng phát âm cho người dùng
Trang 243.1.2.7 Chức năng thực hiện màn chơi ở chế độ chơi Memory
Để giúp người dùng tập luyện khả năng ghi nhớ và kĩ năng nghe của mình,
hệ thống cung cấp cho người dùng màn chơi Memory, ở chế độ chơi này, hệ thống
sẽ hiển thị 3 cặp hình ảnh ứng với 3 cặp từ khác nhau và được sắp xếp ngẫu nhiên,người dùng có nhiệm vụ tìm hai hình giống nhau bằng cách tap vào hình ảnh, mỗimột cặp từ sau khi được tìm giống nhau sẽ được ẩn đi Hệ thống sẽ chuyển sang 3cặp từ tiếp theo khi người chơi tìm đủ 3 cặp từ ở màn hình này
3.1.2.8 Chức năng thực hiện màn chơi ở chế độ chơi Word Builder
Ở màn chơi này, hệ thống sẽ tách từ ra thành các kí tự và sắp xếp ngẫu nhiênkèm với hình ảnh mô tả từ vụng và âm thanh phát âm của nó, người dùng có nhiệm
vụ kéo thả các kí tự lại với nhau để được một từ hoàn chỉnh và đúng chính tả, nếuđúng sẽ chuyển sang từ tiếp theo, sai thì các kí tự sẽ về vị trí ban đầu Ở màn chơinày người dùng sẽ luyện được kĩ năng nghe, ghi nhớ và đặc biệt là kĩ năng viết
3.1.2.9 Chức năng xem danh sách các bài đang học
Sau khi mở ứng dụng, hệ thống sẽ lấy danh sách các bài học đang học đểhiển thị cho người dùng tiếp tục học, nếu lần đầu tiên khi người dùng khởi độngứng dụng, hệ thống sẽ mặc định bài đang học là bài cuối cùng trong danh sách tất cảbài học, và cho phép người dùng có thể thay đổi
3.1.2.10 Chức năng tìm kiếm bài học
Chức năng này hỗ trợ người dùng tìm kiếm bài học một cách nhanh chóng vàhiệu quả, cho phép người dùng nhập vào tên của bài học, từ vựng hay nghĩa của từvựng, hệ thống sẽ ưu tiên tên của bài học sẽ được hiển thị lên đầu, tiếp sau đó là từvựng và nghĩa của từ vựng
3.1.3 Yêu cầu phi chức năng
Ứng dụng được phát triển trên hệ điều hành iOS với yêu cầu phiên bản từ 7.0trở lên Ứng dụng phải hoạt động tốt trên tất cả các thiết bị đạt yêu cầu
Giao diện ứng dụng cần được thiết kế thân thiện, trình bày khoa học, hợp lý,
dễ dàng sử dụng với mọi người dùng, đặc biệt là những người mới bắt đầu học tiếngAnh
24
Trang 263.2.1.2 Chi tiết các ca sử dụng
Bảng 1: Ca sử dụng xem danh sách tất cả các bài học đang học
Điều kiện trước:
Ứng dụng kết thúc việc hiển thị màn hình Welcome
Điều kiện sau:
Nếu ca sử dụng thành công, người sử dụng sẽ xem danh sách bài học đang học,chọn bài học và bắt đầu học
Luồng sự kiện chính:
- Người dùng muốn xem danh sách các bài học
- Hệ thống kết nối cơ sở dữ liệu, lấy tất cả các bài đang học và hiển thị lên màn hình
+ Hình ảnh là thumbnail của bài học
+ Chuỗi kí tự là tên của bài học
- Người dùng trượt lên/xuống
- Hệ thống hiển thị các bài học trước/sau trong danh sách
Các luồng khác:
- Lấy danh sách bị lỗi: hiển thị thông báo lỗi
- Lấy thumbnail lỗi: hiển thị hình ảnh mặc định
Bảng 2: Ca sử dụng xem danh sách tất cả các bài học
26
Trang 27Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các bài đang học
Điều kiện sau:
Nếu ca sử dụng thành công, người dùng chọn cho mình các bài học, danh sách
sẽ hiển thị ở màn hình đang học
Luồng sự kiện chính:
- Người dùng muốn xem danh sách các bài học
- Hệ thống kết nối cơ sở dữ liệu, lấy tất cả các bài học và hiển thị lên màn
hình
+ Hình ảnh là thumbnail của bài học
+ Chuỗi kí tự là tên của bài học
- Người dùng trượt lên/xuống
- Hệ thống hiển thị các bài học trước/sau trong danh sách
Các luồng khác:
- Lấy danh sách bị lỗi: hiển thị thông báo lỗi
- Lấy thumbnail lỗi: hiển thị hình ảnh mặc định
Bảng 3: Ca sử dụng xem danh sách các màn chơi
Tác nhân:
Người dùng
Mô tả:
Trang 28Ca sử dụng này mô tả cách thức người dùng xem danh sách màn chơi
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách bài đang học
Điều kiện sau:
Nếu ca sử dụng thành công, người dùng có thể bắt đầu học hoặc chơi
Luồng sự kiện chính:
- Người dùng có thể chọn bất cứ bài học nào
- Hệ thống sẽ hiển thị danh sách các màn chơi
+ Hình ảnh: hình ảnh của màn chơi+ Chuỗi kí tự: tên của màn chơi
- Người dùng chọn màn chơi bằng cách chọn bài hình ảnh của màn chơi
- Hệ thống chuyển qua màn hình học/ chơi ứng với màn chơi mà ngườidùng chọn
Luồng sự kiện phụ:
- Người dùng nhấn nút “Back”
- Hệ thống quay lại màn hình xem danh sách các bài học đang học
Các luồng khác:
- Hệ thống quay lại màn hình danh sách các bài đang học
Bảng 4: Ca sử dụng thực hiện màn chơi Surfer
Tác nhân:
Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi Surfer
Điều kiện trước:
28
Trang 29Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Luồng sự kiện chính:
- Người dùng tap vào hình ảnh của màn chơi Surfer
- Hệ thống sẽ hiển thị hình ảnh của từ đầu tiền và phát âm từ đó, màn hình
sẽ có các nội dung sau:
+ Hình ảnh: hình ảnh của từ+ Chuỗi kí tự: tên của từ+ nút hiển thị nghĩa+ nút ghi âm
+ nút phát âm của người dùng
- Người dùng nhấn nút hiển thị nghĩa
- Hệ thống sẽ hiển thị nghĩa của từ
- Người dùng nhấn nút ghi âm
- Hệ thống cho phép người dùng ghi âm giọng phát âm của từ
- Hệ thống quay lại màn hình xem danh sách các màn chơi
- Người dùng tap vào hình ảnh
- Hệ thống sẽ phát âm từ đó
- Người dùng lướt sang trái/phải
- Hệ thống sẽ hiển thị từ trước/sau (nếu tồn tại từ )
Các luồng khác:
- Hệ thống quay lại màn hình danh sách các màn chơi
Bảng 5: Ca sử dụng thực hiện màn chơi TapTap
Trang 30Tác nhân:
Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi Taptap
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Luồng sự kiện chính:
- Người dùng tap vào hình ảnh của màn chơi Taptap
- Hệ thống sẽ hiển tất cả thumbnail của các từ thuộc bài học đó, màn hình
sẽ có các nội dung sau:
+ Hình ảnh: hình ảnh của từ
- Người dùng tap vào hình ảnh của từ
- Hệ thống sẽ hiển thị màn hình chi tiết từ, chứa các nội dung sau:
+ Hình ảnh: hình ảnh của từ+ Chuỗi kí tự: tên của từ+ nút hiển thị nghĩa
- Người dùng nhấn nút hiển thị nghĩa
- Hệ thống sẽ hiển thị nghĩa của từ
- Người dùng tap vào hình ảnh
- Hệ thống sẽ phát âm từ đó
Luồng sự kiện phụ:
- Người dùng nhấn nút “Back”
- Hệ thống quay lại màn hình xem danh sách các màn chơi
- Người dùng tap vào phái ngoài hình ảnh của màn hình chi tiết
- Hệ thống sẽ quay về màn hình chính của Taptap
- Người dùng lướt lên trên/xuống dưới
- Hệ thống sẽ hiển thị từ trước/sau (nếu tồn tại từ )
30
Trang 31Các luồng khác:
- Hệ thống quay lại màn hình danh sách các màn chơi
Bảng 6: Ca sử dụng thực hiện màn chơi True or False
6 THỰC HIỆN MÀN CHƠI TRUE OR FALSE
Tác nhân:
Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi True or False
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Nếu ca sử dụng thành công, hệ thống sẽ hiển thị điểm của màn chơi
+ nút chọn đúng+ nút chọn sai
- Người dùng nhấn nút hiển thị nghĩa
- Hệ thống sẽ hiển thị nghĩa của từ
- Người dùng tap vào hình ảnh
Trang 32- Hệ thống quay lại màn hình xem danh sách các màn chơi
Các luồng khác:
- Hệ thống quay lại màn hình danh sách các màn chơi
32
Trang 33Bảng 7: Ca sử dụng thực hiện màn chơi PhotoTouch
Tác nhân:
Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi PhotoTouch
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Nếu ca sử dụng thành công, hệ thống sẽ hiển thị điểm của màn chơi
Luồng sự kiện chính:
- Người dùng tap vào hình ảnh của màn chơi PhotoTouch
- Hệ thống sẽ thị ngẩu nhiên từ 3 - 5 hình ảnh của từ vựng và phát âm 1 từvựng chính, màn hình sẽ có các nội dung sau:
+ Hình ảnh: hình ảnh của từ+ Chuỗi kí tự: tên của từ nào đó
- Người dùng tap vào hình ảnh
- Hệ thống sẽ phát âm từ vựng chính, kiểm tra từ vựng đó có đúng không,nếu đúng hệ thống sẽ cộng điểm và chuyển sang từ kế tiếp, ngược lại hệthống sẽ trù điểm và ẩn hình ảnh từ đó đi
Trang 34Bảng 8: Ca sử dụng thực hiện màn chơi Reader
Tác nhân:
Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi Reader
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Nếu ca sử dụng thành công, hệ thống sẽ hiển thị điểm của màn chơi
Luồng sự kiện chính:
- Người dùng tap vào hình ảnh của màn chơi Reader
- Hệ thống sẽ thị ngẩu nhiên từ 3 - 5 hình ảnh của từ vựng, màn hình
sẽ có các nội dung sau:
+ Hình ảnh: hình ảnh của từ+ Chuỗi kí tự: tên của từ nào đó+ Nút phát âm
- Người dùng tap vào hình ảnh
- Hệ thống sẽ phát âm từ vựng chính, kiểm tra từ vựng đó có đúng
không, nếu đúng hệ thống sẽ cộng điểm và chuyển sang từ kế tiếp,ngược lại hệ thống sẽ trù điểm và ẩn hình ảnh từ đó đi
- Hệ thống quay lại màn hình danh sách các màn chơi
Bảng 9: Ca sử dụng thực hiện màn chơi Memory
Tác nhân:
34
Trang 35Người dùng
Mô tả:
Ca sử dụng này mô tả cách thức người dùng thực hiện màn chơi Memory
Điều kiện trước:
Hệ thống đang hiển thị màn hình danh sách các màn chơi
Điều kiện sau:
Nếu ca sử dụng thành công, hệ thống sẽ hiển thị điểm của màn chơi
Luồng sự kiện chính:
- Người dùng tap vào hình ảnh của màn chơi Memory
- Hệ thống sẽ thị ngẩu nhiên 6 hình ảnh của từ vựng, và úp các hình ảnhlại, màn hình sẽ có các nội dung sau:
+ Hình ảnh: hình ảnh của từ khi ngửa, ảnh mặc định khi úp
- Người dùng tap vào hình ảnh
- Hệ thống sẽ phát âm từ vựng đó và lật ngửa hình ảnh đó ra, kiểm tra nếu
đã lật 2 hình ảnh, hệ thống sẽ kiểm tra tính giống nhau của 2 hình ảnh
đó, nếu giống, sẽ cộng điểm và ẩn hai hình đó đi, nếu không giống sẽ trừđiểm và úp hai hình lại, nếu đã ẩn hết 6 hình ảnh, hệ thống sẽ chuyểnsang từ kế tiếp
Luồng sự kiện phụ:
- Người dùng nhấn nút “Back”
- Hệ thống quay lại màn hình xem danh sách các màn chơi
Các luồng khác:
- Hệ thống quay lại màn hình danh sách các màn chơi
Bảng 10: Ca sử dụng thực hiện màn chơi Word builder
10 THỰC HIỆN MÀN CHƠI WORD BUILDER
Tác nhân:
Người dùng
Mô tả: