Tải bản đầy đủ (.docx) (69 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.79 MB, 69 trang )

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

MỤC LỤC


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

DANH MỤC HÌNH ẢNH


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

DANH MỤC BẢNG


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

MỞ ĐẦU
Từ khi ra đời cho đến nay, các dòng điện thoại thông minh, máy tính bảng
phát triển với tốc độ rất nhanh. Con người thường xuyên sử dụng chúng cho các
mụ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ột
phươ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 cho
ngườ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úp
ngườ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ải
trí nhẹ nhàng, đơn giản và có thể học được tiếng Anh mọi lúc, mọi nơi.




Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
CHƯƠ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ảng
Android” 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ảng
iOS, 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ền
tả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ép
ngườ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 đối
tượ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ăn
như 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ản
phẩ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 ra
mộ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ủa


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
mì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àm
chá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,
nó 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 được
cá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ực
hiệ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. Qua
khả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ựng
cũ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 thanh
phá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 ra
cá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ượng
học sinh, sinh viên đang tìm kiếm phương pháp học tiếng Anh, đến các trung tâm

dạ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ếng
Anh của sinh viên, và số lượng sinh viên có đủ vốn từ vựng để đáp ứng được nhu
cầ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.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
1.3.2. Tìm hiểu lý thuyết

Qua tìm hiểu và thử nghiệm, em xác định các vấn đề lý thuyết mà mình cần
nắm bắt như sau:
− Tìm hiểu và nắm bắt các lý thuyết về hệ điều hành iOS như: khái niệm,
cách thức hoạt động, các bộ thư viện hỗ trợ.
− Tìm hiểu hệ quản trị cơ sở dữ liệu SQLite, Coredata frameword để lưu
trữ thông tin các bài học và từ vựng.
− Tìm hiểu ngôn ngữ lập trình Objective – c và công cụ lập trình Xcode.
1.3.3. Thực nghiệm

Các nền tảng di động hiện nay đều cho phép lập trình viên có thể dễ dàng cài
đặt, dùng thử ứng dụng trên các máy ảo hay cả thiết bị thật trước khi có thể đăng tải
chính thức lên cửa hàng. Điều đó tạo điều kiện để em có thể giới thiệu cài đặt ứng
dụng của mình trên thiết bị các bạn bè và những người khác, qua đó có thể tiếp
nhận các ý kiến phản hồi, đóng góp để hoàn thiện sản phẩm.
Ứ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àn
chơ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ăn
tố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.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
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
hơ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ới
yê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ẩm
củ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ực
hiệ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ủa
chươ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 bao
gồm: lý thuyết về hệ điều hành iOS, ngôn ngữ lập trình Objective – c, công cụ lập
trì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ước
phâ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ây
dự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 đưa
vào thực nghiệm.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
CHƯƠ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ều
hà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ại
thô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ên
mà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 ra
và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ành
nà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ụng

ban đầ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ùng
thử đầ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.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
2.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ứng
nà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ủa
phầ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ừu
tượ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ệm
cá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ăng
khá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ần
sau:
− CFNetwork Framework: Cung cấp một giao diện dựa trên C tới các lớp
giao thức mạng TCP/IP và truy cập mức thấp tới socket BSD. Nó cho
phép mã ứngdụng được viết và làm việc với các dịch vụ HTTP, FTP và



Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
DNS, khởi tạo bảo mật và mã hóa các kết nối sử dụng Secure Sockets
Layer (SSL) hoặc Transport Layer Security (TLS).
− External Accessory framework: Cung cấp khả năng kết nối với những
phụ kiện kết nối vật lý mở rộng tới Iphone thông qua 30-pin dock
connector 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ối
tới mạng mở rộng bên ngoài như chứng thực, khóa công khai và khóa
private, 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ống
vớ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ây
dự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ến
trì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ạng
mứ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ác
thà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 đổi
cá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ệu
trong ứng dụng.

− Core Foundation Framework: Cung cấp các thứ như kiểu dữ liệu, thao tác
trên chuỗi quản lý khối dữ liệu có thứ tự, thao tác URL, các luồng và


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
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ết
nối socket.
− 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ùng
bởi thiết bị để cung cấp tọa độ sẽ phụ thuộc trên dữ liệu có sẵn tại thời
gian thông tin được yêu cầu và phần cứng hỗ trợ được cung cấp bởi
model Iphone cụ thể mà ứng dụng chạy trên đó. Nó sẽ dựa trên việc phân
tí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ệc trao đổ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 bao
gồm một số các Framework cái mà có thể được sử dụng trong những ứng dụng

Iphone:
− 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ễn
những file PDF, bản vẽ dựa trên Vector, các lớp trong suốt, đường dẫn
dự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ực
quan và hoạt hình được sử dụng bởi Framework UIKit và cung cấp một
giao diện lập trình dựa trên Objective-C để tạo hoạt hình đặc biệt bên
trong ứng dụng Iphone.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
− OpenGL ES Framework: OpenGL for Embedded System (ES) là một
phiên bản nhỏ của OpenGL đầy đủ được thiết kế đặc biệt để dành cho các
thiết bị nhỏ như Iphone
− Iphone Audio Support: Cho phép iOS có khả năng hổ trợ các định dạng
như 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ép
phát lại, ghi âm, quản lý nội dung của âm thanh.

− Core

Audio

Frameworks


(CoreAudio.Framework,

Audio

Toolbox.framework và AudioUnit.framework): Cung cấp khả năng truy
cậ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 trong
cá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 Framework
cái mà được sử dụng thường xuyên bởi các lập trình viên Iphone. Cocoa Touch dựa
trê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át
triển ứng dụng Iphone như sau:
− UIKit Framework: Đây là một Framework khổng lồ và một giao diện lập
trình dựa trên Objective-C giàu tính năng. Chúng ta sẽ phải tốn nhiều thời
gian 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).


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
+ 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.

+ Đư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ủa
chú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ười
dùng về một sự kiện thậm chí khi ứng dụng hiện tại không được chạy trên
thiế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ên
thiế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ài
cá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ương
xuyên gián đoạn.
− Message UI Framework: Cung cấp mọi thứ mà chúng ta cần để cho phép
ngườ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 tin
nà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 khi

gửi.
− Address Book UI Framework: Đưa ra các chức năng chính cho IPhone
như 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ào
trong ứng dụng riêng của chúng ta. Cho phép chúng ta truy cập vào, hiển


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
thị, chỉnh sửa và nhập thông tin liên lạc từ sổ địa chỉ của IPhone từ bên
trong ứng dụng riêng của chúng ta.
− Game Kit Framework: Cung cấp kết nối ngang hàng (peer to peer) và kết
nối giọng nói giữa nhiều thiết bị và cho phép nhiều người sử dụng chạy
cù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ựa
trê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


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
Từ năm 1988, Công ty NeXT Software đã nắm giữ bản quyền sở hữu ngôn
ngữ Objective-C này. Họ đã phát triển thêm những bộ thư viện và cả môi trường

phá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 Microsystems
chuẩn hóa lại NEXTSTEP trong bản đặc tả tên là OPENSTEP. Bản hiện thực của
OPENSTEP chính là GNUStep. 1 hệ thống bao gồm cả Linux kenel và môi trường
phá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ều
hà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ường
phá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ôi
trườ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ụng
trên thiết bị mang tính đột phá về công nghệ này. Ban đầu, Apple không khuyến
khí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ạy
phải yêu cầu kết nối đến máy chủ web host ứng dụng của các developers tham gia
phá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ác
developers 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ức
thô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.


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

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, Apple
chuyển sang sử dụng thuật ngữ tổng quát hơn đó chính là “iOS” để chỉ dùng hệ điều
hà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ân
giải như iPhone, iPod, iPad và những phiên bản khác nhau của chúng. Giờ đây iOS
SDK 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

2.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 khai
bá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 sinh
ngoạ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ên
trong 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 đó.


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
− @selector(method_name): Trả về selector đã được biên dịch xác định
phươ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 Protocol
class) 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ỗi
với 7-bit chuẩn ASCII-encoded.
− @”string1″ @”string2″ …@”stringN”: Định nghĩa một hằng chuỗi
NSString 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
@interface Myclass:NSObject{

2.2.3.2
Method.

//code
}


Đặt tên method bắt đầu với ký tự thường
Vd:
-( void) myMethod {
//code

2.2.3.3
Variable:

}

Giống như method bắt đầu ký tự thường đầu tiên


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
2.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ĩa
trong 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)
2.2.6.1 Class method
− ký hiệu bằng dấu +
− truy xuất thông qua tên lớp
− +(void) newMethod
như ta thấy ở trên chúng ta có phưuong thức newMethod với kiểu trả về là
void với “+” đặt phía trước thể hiện đây là 1 “class method”, ý nghĩa của nó tương
tự như “static” trong một số ngôn ngữ như c#/java, có nghĩa khi gọi sd phương thức
này thì chúng ta ko cần phải khởi tạo đối tượng để gọi, mà chúng ta sẽ gọi nó thông
qua tên lớp,
Ví dụ:
[ClassName methodName];

2.2.6.2
instance method
− ký hiệu bằng dấu –
− truy xuất qua đối tượng


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
− (void)newMethod
để sử dụng phương thức này ta phải gọi nó thông qua đối tượng của lớp chứa
đựng phương thức đó
ví dụ:
[Object newMethod];


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
CHƯƠ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ọng
yế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ại
thông minh và máy tính bảng sử dụng các hệ điều hành Android, iOS hay Windows
Phone. Trong phạm vi đồ án tốt nghiệp, ứng dụng được phát triển cho điện thoại
thô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ọc
vớ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 tin
củ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ười
chơ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ết
nghĩ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ọng
phá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 cho
ngườ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ừ.



Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
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ến
thứ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
tiế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ơi
True 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ơi
nà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ột
hì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ông
bằ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 để xem
nghĩ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ọn
hì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 âm
phá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.



Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
3.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ỗi
một cặp từ sau khi được tìm giống nhau sẽ được ẩn đi. Hệ thống sẽ chuyển sang 3
cặ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ên
kè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ơi
nà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.0
trở 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ếng
Anh


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
3.2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.2.1. Biểu đồ ca sử dụng:

3.2.1.1 Biểu đồ tổng thể

Hình 3: Biểu đồ ca sử dụng tổng thể

Hình 4: Biểu đồ ca sử dụng thực hiện màn chơi


Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
3.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

XEM DANH SÁCH BÀI HỌC ĐANG HỌC

1
Tác nhân:

Người dùng
Mô tả:

Ca sử dụng này mô tả cách thức người sử dụng xem danh sách 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


×