Tải bản đầy đủ (.pdf) (53 trang)

Nghiên cứu hệ điều hành ios và phát triển ứng dụng kỹ năng cho học sinh

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 (1.67 MB, 53 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC

KHÓA LUẬN TỐT NGHIỆP
NGÀNH CỬ NHÂN CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:

NGHIÊN CỨU HỆ ĐIỀU HÀNH IOS VÀ PHÁT TRIỂN
ỨNG DỤNG KỸ NĂNG CHO HỌC SINH

Sinh viên
: Nguyễn Quốc Phong
Lớp
: 10CNTT4
Giáo viên hướng dẫn : ThS. Đồn Duy Bình

Đà Nẵng, tháng 5 năm 2014


LỜI CẢM ƠN

Đầu tiên em xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm
Đà Nẵng, đã truyền đạt những kinh nghiệm quý báu cho chúng em trong những
năm học vừa qua.
Đặc biệt xin chúng em xin chân thành cảm ơn thầy Đồn Duy Bình đã nhiệt
tình hướng dẫn em hoàn thành đề tài luận văn tốt nghiệp này.
Tuy nhiên, trong q trình hồn thành đề tài khơng thể tránh khỏi những
thiếu sót. Em mong nhận được nhiều đóng góp của q thầy cơ để đề tài được


hoàn thiện hơn.
Em xin chân thành cảm ơn.
Đà Nẵng, tháng 5/2014
Sinh viên thực hiện

Nguyễn Quốc Phong

1


LỜI CAM ĐOAN

Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của Thạc sĩ Đồn Duy Bình.
2 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá, chúng tơi xin chịu hồn tồn trách nhiệm.

Sinh viên thực hiện

Nguyễn Quốc Phong

2


MỤC LỤC
DANH MỤC CÁC HÌNH...................................................................................... 4
DANH MỤC CÁC BẢNG..................................................................................... 6
DANH MỤC CÁC TỪ VIẾT TẮT ....................................................................... 7
MỞ ĐẦU................................................................................................................ 8

Chương 1. CƠ SỞ LÝ THUYẾT......................................................................... 11
1.1. Tổng quan về iOS ...................................................................................... 11
1.2. Tìm hiểu về ngơn ngữ Objective-C ........................................................... 19
1.3. Tìm hiểu về iOS simulator ........................................................................ 20
Chương 2. PHÂN TÍCH THIẾT KẾ ỨNG DỤNG ............................................. 22
2.1. Nhu cầu về ứng dụng trên điện thoại......................................................... 22
2.2. Kĩ năng cho học sinh ................................................................................. 22
2.3. Phân tích các thành phần hệ thống ............................................................ 28
2.4. Giải pháp và xây dựng ứng dụng............................................................... 30
2.5. Thiết kế mã nguồn ..................................................................................... 37
Chương 3. CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ THỰC HIỆN ............ 39
3.1. Cài đặt chương trình .................................................................................. 39
3.2. Kết quả thực hiện ....................................................................................... 39
KẾT LUẬN .......................................................................................................... 47
PHỤ LỤC............................................................................................................. 49
TÀI LIỆU THAM KHẢO.................................................................................... 52

3


DANH MỤC CÁC HÌNH
Hình 1. Biểu tượng hệ điều hành iOS .................................................................. 11
Hình 2. Kiến trúc iOS........................................................................................... 12
Hình 3. Vịng đời của một tiến trình .................................................................... 15
Hình 4. Bộ quản lý Region................................................................................... 18
Hình 5. Kiến trúc của hệ điều hành iPhone.......................................................... 18
Hình 6. Sinh hoạt.................................................................................................. 24
Hình 7. Việc làm .................................................................................................. 25
Hình 8. Nấu ăn ..................................................................................................... 25
Hình 9. Sửa chữa .................................................................................................. 26

Hình 10. Tài chính................................................................................................ 27
Hình 11. Thành phần ứng dụng............................................................................ 28
Hình 12. Sơ đồ luồng thành phần Sinh hoạt ........................................................ 29
Hình 13. Sơ đồ luồng thành phần Việc làm ......................................................... 29
Hình 14. Sơ đồ luồng thành phần Nấu ăn ............................................................ 29
Hình 15. Sơ đồ luồng thành phần Sửa chữa......................................................... 30
Hình 16. Sơ đồ luồng thành phần Tài chính ........................................................ 30
Hình 17. Phân tích thiết kế cơ sở dữ liệu ............................................................. 31
Hình 18. Liên kết các thực thể ............................................................................. 33
Hình 19.Liên kết các thực thể (tt) ........................................................................ 33
Hình 20. Liên kết các thực thể (tt) ....................................................................... 34

4


Hình 21. Liên kết các thực thể (tt) ....................................................................... 34
Hình 22. Liên kết các thực thể (tt) ....................................................................... 34
Hình 23. Mơ hình thực thể liên kết ...................................................................... 34
Hình 24. Main_iPhone.storyboard ....................................................................... 35
Hình 25. Các framework đ ược sử dụng ............................................................... 36
Hình 26. Build Setting.......................................................................................... 36
Hình 27. Thành phần và các file ứng dụng .......................................................... 37
Hình 28. Giao diện chính ..................................................................................... 39
Hình 29. Giao diện đăng nhập.............................................................................. 40
Hình 30. Nhập tên và ngày sinh ........................................................................... 40
Hình 31. Xóa người sử dụng ................................................................................ 41
Hình 32. 5 phần của kỹ năng................................................................................ 41
Hình 33. Các hoạt động của chủ đề Sinh Hoạt .................................................... 42
Hình 34. Các hoạt động của chủ đề Việc Làm..................................................... 42
Hình 35. Các hoạt động của chủ đề Nấu Ăn và Tài Chính .................................. 43

Hình 36. Chi tiết của hoạt động Ngủ ................................................................... 43
Hình 37. Nhắc nhở trong hoạt động Ngủ ............................................................. 44
Hình 38. Chi tiết trong hoạt động Thức dậy ........................................................ 44
Hình 39. Nhắc nhở trong hoạt động Thức dậy..................................................... 45
Hình 40. Bài làm trắc nghiệm .............................................................................. 45
Hình 41. Câu trả lời khi chọn đáp án ................................................................... 46

5


DANH MỤC CÁC BẢNG
Bảng 1. Miền bộ nhớ............................................................................................ 14
Bảng 2. Chủ đề ..................................................................................................... 31
Bảng 3. Hoạt động................................................................................................ 31
Bảng 4. Nội dung ................................................................................................. 32
Bảng 5. Câu hỏi.................................................................................................... 32
Bảng 6. Điểm số ................................................................................................... 33
Bảng 7. Học sinh .................................................................................................. 33

6


DANH MỤC CÁC TỪ VIẾT TẮT

Số thứ

Từ viết

tự


tắt

1

Từ đầy đủ

Nghĩa của từ

OS

Operation System

Hệ điều hành

2

iOS

Internetwork Operatin System

3

CPU

Central Process Unit

4

DRAM


5

6

SRAM

7

NVRAM

Apple
Bộ xử lí trung
tâm

Dynamic Random Access

Bộ nhớ truy xuất

Memory

ngẫu nhiên động

Peripheral Component
PCI

Hệ điều hành của

Interconnect

Static Random Access Memory


Chuẩn truyền dữ
liệu thiết bị ngoại
vi
Bộ nhớ truy xuất
ngẫu nhiên tĩnh

Non Volatile Random Acess

Nơi chứa cấu

Memory

hình khởi động

7


MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay do nhu cầu đời sống con người ngày càng được nâng cao, có sự
hiểu biết rộng rãi hơn, cơng nghệ và những tính năng mới trên điện thoại càng
được con người chú ý và đ ặt mối quan tâm. Thêm vào đó thì các h ọc sinh ngày
càng được sử dụng các siêu điện thoại thông minh. Các kỹ năng dành cho học
sinh ít được phát triển. Từ thưc tế đó, với kiến thức đã học kết hợp với nền tảng
iOS trên di động em đã ch ọn đề tài tốt nghiệp cho mình là:
Nghiên cứu hệ điều hành iOS và phát triển ứng dụng
“Kỹ Năng cho học sinh”
2. Mục đích nghiên cứu
Với sự phát triển công nghệ như hiện nay, thế giới được ví là thế giới của

cơng nghệ thơng tin. Học sinh được tiếp cận với chiếc điện thoại thông minh rất
sớm. Kỹ năng của học sinh ít được chú trọng. Những người làm cha mẹ ít có thời
gian dạy con cái. Kỹ năng là công cụ cho việc giáo dục giúp trẻ chiến thắng ngay
trên vạch xuất phát của đường đời.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
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ó đã được mở
rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Vậy
nên đó là một sự chọn lựa đúng đắn của người tiêu dùng. Với đề tài này chúng
em sẽ đi nghiên cứu công nghệ, nền tảng và ứng dụng của IOS trên thiết bị di
động và những kỹ thuật để xây dựng ứng dụng của mình.
3.2. Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài này là các kiến thức cơ bản liên quan đến
iOS và các kĩ thuật liên quan đến dữ liệu. Trên cơ sở đó xây dựng thành công
8


ứng dụng “Kỹ năng cho học sinh” trên nền iOS. Đây là một ứng dụng để trẻ có
thể thành thạo những kỹ năng sống, giảm bớt thói quen phụ thuộc vào người lớn
và giúp trẻ tự tin vào cuộc sống…
4. Phương pháp nghiên cứu
4.1. Cơ sở lý thuyết
Tìm hiểu cơng nghệ và nền tảng di động của hệ điều hành Mac OS và bộ
công cụ Xcode. Hai điều kiện này là điều kiện cần thiết để bắt đầu lập trình iOS.
Với mục đích đó, u cầu phải nắm được các kiến thức cơ bản sau đây trên nền
tảng công nghệ iOS:
 Quy trình phát triển một ứng dụng trên nền di động.
 Các cơng cụ và ngơn ngữ lập trình.
 Kiến thức về cở sở dữ liệu SQLite

 Thực thi chương trình trên thiết bị thực.
4.2. Cơng cụ thiết kế chương trình
 Xcode 5
 Thiết kế đồ họa Photoshop CS6.
 IOS simulator
4.3. Dự kiến kết quả đạt được
Nắm rõ lý thuyết thiết kế ứng dụng trên nền tảng iOS nói riêng. Xây dựng
ứng dụng “Kỹ năng cho học sinh” thỏa mãn các yêu cầu sau đây:
 Ứng dụng sẽ rèn luyện cho trẻ những kĩ năng sống cần thiết cho
cuộc sống mà ý phụ thuộc vào cha mẹ.
 Đảm bảo tính giáo dục cao, có thể áp dụng vào giảng dạy, phù hợp
hơn với lúc cha hoặc mẹ chơi cùng với trẻ.
 Cài đặt trên các thiết bị di động dùng hệ điều hành iOS.

9


5. Ý nghĩa khoa học và thực tiễn đề tài
Xây dựng thành công ứng dụng trên nền tảng di động sử dụng hệ điều
hành iOS. “Kỹ năng cho học sinh” mang đến cho học sinh và phụ huynh cách
nhìn nhận sự việc một cách khách quan nhất, đem lại niềm vui những lúc trẻ
được chơi. Tạo một tiền đề quan trong cho trẻ phát triển mạnh trên đường đời.
6. Cấu trúc của luận văn
Mở đầu: Giới thiệu sơ lược về đề tài, hướng nghiên cứu và dự kiến kết
quả đạt được.
Chương 1: Cở sở lý thuyết
Khái niệm, lịch sử phát triển, tổng quan về iOS, tổ chức bộ nhớ,
tiến trình, trình điều khiển thiếu bị, cấu trúc hệ điều hành iOS, tìm hiểu
về ngơn ngữ Objective – C, tìm hiểu về iOS Simulator.
Chương 2: Phân tích thiết kế ứng dụng

Nhu cầu về ứng dụng trên điện thoại, kĩ năng s ống cho học sinh,
cấu trúc phần mềm, phân tích các thành phần ứng dụng, các kĩ thuật sử
dụng trong ứng dụng, thiết kế mã nguồn.
Chương 3: Cài đặt chương trình và kết quả đạt được
Cài đặt chương trình và giao di ện của chương trình.
Kết luận
Nêu ra những nhận xét về kết quả đạt được từ đó đưa ra hướng phát
triển cho đề tài.

10


Chương 1.
CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về iOS
1.1.1. iOS là gì?

iOS viết tắt của từ Internetwork Operating System, là một hệ điều hành
hoạt động trên phần cứng của router Cisco, nó điều khiển hoạt động định
tuyến và chuyển mạch của một router. Trên hệ điều hành iOS thì gồm có 3
phần: A- B-C trong đó:
A: dịng sản phẩm áp dụng hệ điều hành này.
B: các tính năng của iOS.
C: định dạng file iOS, nơi iOS chạy, kiểu nén của 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ó đã được mở
rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Giao
diện người dùng của iOS dựa trên cơ sở thao tác bằng tay trên màn hình cảm ứng
của các thiết bị Apple.


Hình 1. Biểu tượng hệ điều hành iOS
1.1.2. Lịch sử iOS

Hệ điều hành iOS đượ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

11


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 bên thứ ba không được hỗ trợ. Steve Jobs đã 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 đang được xây dựng và họ dự định sẽ đưa nó đến
"tay của 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".
Tính cho đến thời điểm này, Hệ điều hành IOS 7 ra mắt tại WWDC 2013
cũng là lúc App store đánh d ấu mốc 50 tỉ lượt tải ứng dụng. Giao diện người
dùng trên hệ điều hành IOS 7 là một phong các hoàn toàn mới lạ. Các thiết kế đồ
hoạ được tối giản hết mức nhưng vẫn giữ được nét sang trọng, quý phái. Đây là
sự thay đổi lớn nhất của Appple trên hệ điều hành IOS từ trước đến nay và được
gới chuyên môn đánh giá rất cao.
1.1.3. Kiến trúc iOS

Khi mà lợi ích của việc định tuyến qua mạng trở nên phát triển, đòi hỏi
router phải hỗ trợ một số những giao thức và cung cấp những chức năng khác,
như cầu nối giữa các mạng. Cisco đã thêm những tính năng mới cho phần mềm
của router. Kết quả có nhiều chức năng cầu nối và định tuyến như ngày nay.
Nhưng hầu như cấu trúc cơ bản của hệ điều hành vẫn giống như ban đầu. iOS là

một cấu trúc đơn giản, nhỏ, được thiết kế dựa vào những ràng buộc về bộ nhớ,
về tốc độ, phần cứng của router.

Hình 2. Kiến trúc iOS

12


1.1.3.1. Các tiến trình (Processes)
Là những tuyến riêng lẻ kết hợp với dữ liệu để thực hiện những tác
vụ, như duy trì hệ thống, chuyển mạch gói dữ liệu, thực hiện giao thức định
tuyến…
1.1.3.2. Nhân (Kernel)
Cung cấp những dịch vụ cơ bản của hệ thống tùy thuộc vào iOS như:
quản lý bộ nhớ, lập lịch các tiến trình… Nó cung cấp quản lý tài nguyên phần
cứng (CPU, bộ nhớ) cho các tiến trình.
1.1.3.3. Bộ đệm gói (Packet buffer)
Cung cấp các bộ đệm toàn cục và kết hợp với chức năng quản lý bộ
đệm để lưu trữ gói dữ liệu đang được chuyển mạch.
1.1.3.4. Trình điều khiển thiết bị (Device driver)
Làm chức năng điều khiển giao tiếp giữa phần cứng và thiết bị ngoại vi,
giao tiếp giữa các tiến trình iOS, kernel và phần cứng. Chúng cũng giao tiếp với
phần mềm chuyển mạch nhanh (fast switching software).
1.1.3.5. Phần mềm chuyển mạch nhanh (Fast switching soft)
Chức năng chuyển mạch gói dữ liệu cao.
1.1.4. Tổ chức bộ nhớ
iOS ánh xạ toàn bộ bộ nhớ vật lý thành một không gian địa chỉ ảo rộng lớn.
MMU (Memory Map Unit) của CPU có giá trị khi được sử dụng để tạo không
gian địa chỉ ảo thậm chí khi mà iOS khơng tận dụng một khối nhớ ảo trọn vẹn.
1.1.4.1. Miền bộ nhớ (Memory region)

iOS chia không gian địa chỉ này thành những miền bộ nhớ gọi là region,
mỗi region phù hợp với những loại bộ nhớ vật lý khác nhau.
Phân lớp bộ nhớ thành các region cho phép iOS phân loại các bộ nhớ
khác nhau vì vậy mà phần mềm khơng cần biết chi tiết về bộ nhớ trên mỗi
platform.
Các region được phân chia thành một trong tám mục như hình:

13


Memory region
Local(cục bộ)

Đặc điểm
Thông thường lưu trữ cấu trúc dữ liệu lúc chạy và local
heap, thường là DRAM

Lomem

Bộ nhớ chia sẻ CPU và bộ điều khiển môi trường mạng
sử dụng thông qua một bus dữ liệu, thường là SRAM

Fast

Bộ nhớ truy xuất nhanh, như SRAM, sử dụng cho mục
đích đặc biệt và những tác vụ xem yêu cầu về tốc độ

Itext

Thực thi mã nguồn của iOS


Idata

Các biên được khởi tạo

IBss

Các biên không được khởi tạo

PCI

Bộ nhớ bus PCI, được sử dụng bởi tất cả thiết bị trên

Flash

các bus PCI
Bộ nhớ flash dùng để lưu trữ iOS chạy từ RAM hoặc
iOS chạy từ flash, nó cũng có thể lưu trữ một bảng tập
tin cấu hình dự phịng và những dữ liệu khác. Thơng
thường thì file hệ thống được xây dựng ở miền bộ nhớ
flash này.
Bảng 1. Miền bộ nhớ

1.1.4.2. Vùng bộ nhớ (Memory pool)
iOS quản lý bộ nhớ rỗi thông qua một chuỗi các memory pool. Mỗi pool
là một tập hợp các khối nhớ mà có thể cấp phát và thu hồi khi cần.Memory pool
được xây dựng bên ngoài các region và được quản lý bởi kernel. Thường thì pool
tương đương với một region đặc biệt.
Một memory pool có thể xây dựng từ một vài region mở rộng, cho
phép bộ nhớ được cấp phát và thu hồi từ các miền bộ nhớ khác nhau để tối

đa hiệu quả hoạt động, có thể dùng lệnh show memory để hiển thị các pool này
(kích thước tính theo byte).
1.1.5. Tiến trình iOS (Processes iOS)
14


1.1.5.1. Vịng đời của một tiến trình
Một tiến trình có thể được tạo ra hoặc kết thúc bất cứ lúc nào trong
khi iOS đang hoạt động ngoại trừ có ngắt xảy ra. Nó được tạo ra bởi kernel hoặc
bởi một tiến trình khác đang chạy khác.
Tiến trình iOS trải qua các trạng thái như sau

Hình 3. Vịng đời của một tiến trình

1.1.5.2. Trạng thái khởi tạo (Create)
Khi mà một tiến trình mới được tạo, nó nhận vùng stack riêng của
mình và vào trạng thái mới (new). Tiến trình có thể di chuyển đến trạng thái
điều chỉnh (Modify). Nếu khơng có thay đổi cần thiết, thì tiến trình chuyển
sang trạng thái thực thi (Execute).
1.1.5.3. Trạng thái điều chỉnh (Modify)
Không giống như hầu hết các hệ điều hành, iOS không tự động truyền tải các
tham số khởi tạo hoặc gán một giao tiếp đến một tiến trình mới khi nó được tạo, bởi
vì nó cho rằng hầu hết các tiến trình khơng cần tài nguyên này. Nếu một tiến trình cần
nguồn tại nguyên này, tuyến mà tạo nó có thể điều chỉnh để thêm vào.
1.1.5.4. Trạng thái thực thi (Execute)
Sau khi một tiến trình mới được tạo thành cơng và điều chỉnh, nó chuyển
sang trạng thái sẵn sàng (Ready) và vào trạng thái thực thi (Execute). Trong suốt
trạng thái này, một tiến trình có thể truy cập CPU và chạy. Trong suốt trạng thái

15



thực thi, một tiến trình có thể truy cập CPU và chạy. Trong suốt trạng thái thực
thi, một tiến trình có thể là một trong 3 trạng thái: sẵn sàng, chạy và rỗi (Idle).
Một tiến trình ở trạng thái sẵn sàng sẽ đợi chuyển sang trạng thái truy cập CPU
và bắt đầu thực thi lệnh.
1.1.5.5. Trạng thái kết thúc (Terminal)
Trạng thái cuối cùng trong vịng đời của tiến trình là trạng thái kết
thúc. Một tiến trình vào trạng thái kết thúc khi nó hồn thành chức năng
của mình và đóng lại hoặc khi một tiến trình khác đóng nó. Khi một tiến
trình bị đóng hoặc tự đóng, tiến trình chuyển sang trạng thái chết (Dead). Tiến
trình này ở trạng thái chết (không hoạt động) cho đến khi kernel thu hồi tất cả
các tài nguyên của nó. Sau khi tài nguyên được thu hồi, tiến trình bị kết thúc
thốt khỏi trạng thái chết và xóa khỏi hệ thống.
1.1.5.6. Độ ưu tiên tiến trình iOS
iOS thực hiện chế độ ưu tiên để lập lịch các tiến trình trên CPU. Tại thời
điểm tạo, mỗi tiến trình được gán một trong 4 độ ưu tiên dựa trên mục đích của
tiến trình. Độ ưu tiên là khơng đổi, chúng được gán khi một tiến trình được tạo
và không bao giờ thay đổi. Các độ ưu tiên:
 Critical
Dành riêng cho những tiến trình hệ thống thiết yếu mà giải quyết những
vấn đề cấp phát tài nguyên.
 High
Được gán cho những tiến trình mà cung cấp đáp ứng nhanh, như tiến trình
nhận gói trực tiếp từ giao tiếp mạng.
 Medium
Độ ưu tiên mặc định sử dụng bởi hầu hết các tiến trình.
 Low
Được gán cho những tiến trình cung cấp những tác vụ mang tính định kỳ
như bảng ghi lỗi… Độ ưu tiên các tiến trình cung cấp sự ưu đãi cho một vài tiến


16


trình để truy cập CPU dựa trên sự quan trọng của nó đối với hệ thống và iOS
khơng thực hiện quyền ưu tiên.
1.1.6. Kernel iOS
iOS Kernel không là một đơn vị mà là một tập các thành phần và chức
năng liên kết chặt chẽ với nhau. iOS Kernel thực hiện các chức năng sau: Lập
lịch tiến trình, quản lý bộ nhớ, cung cấp dịch vị retimes để trap (phát hiện) và
handle (điều khiển) những ngắt phần cứng, duy trì timer (bộ định thời gian), và
phát hiện ngoại lệ phần mềm.
1.1.6.1 Các chức năng chính của Kernel
Tác vụ lập lịch các tiến trình được thực hiện bởi scheduler (bộ lập lịch).
Scheduler quản lý tất cả các tiến trình trong hệ thống bằng cách sử dụng một
chuỗi các hàng đợi tiến trình mơ tả trạng thái của mỗi tiến trình. Các hàng đợi
này chứa nội dung thơng tin cho tiến trình ở trạng thái đó. Tiến trình chuyển từ
trạng thái này sang trạng thái khác khi mà scheduler di chuyển ngữ cảnh từ 1
hàng đợi tiến trình này đến hàng đợi tiến trình khác.
1.1.6.2 Quản lý bộ nhớ
Bộ quản lý bộ nhớ của Kernel tại mức quá cao quản lý tất cả các vùng
nhớ có sẵn của iOS, bao gồm bộ nhớ chứa iOS của nó. Bộ quản lý bộ nhớ ba
thành phần riêng biệt, với những nhiệm vụ riêng. Có ba bộ quản lý bộ nhớ sau:
Bộ quản lý Region, Bộ quản lý Pool, Bộ quản lý Chunk.
1.1.6.3. Bộ quản lý Region
Định nghĩa và duy trì những region khác nhau trên một platform. Bộ quản
lý region có chức năng duy trì tất cả các region. Nó cung cấp các dịch vụ cho
phép những phần khác của iOS tạo region và gán các thuộc tính của chúng. Nó
cũng cho phép những phần khác truy vấn những region có sẵn, ví dụ quyết định
tổng lượng bộ nhớ có sẵn trên một platform.


17


Hình 4. Bộ quản lý Region

1.1.7. Trình điều khiển thiết bị
iOS chứa trình điều khiển thiết bị cho các thiết bị phần cứng, như flash card,
NVRAM, nhưng đáng chú ý là trình điều khiển cho các giao tiếp mạng. Trình
điều khiển các giao tiếp mạng cung cấp những khả năng chính cho hoạt động của
gói dữ liệu tại đầu ra của giao tiếp.
1.1.8. Kiến trúc của hệ điều hành iPhone

Hình 5. Kiến trúc của hệ điều hành iPhone

18


Các lớp dưới cùng là nền tảng của hệ điều hành, phụ trách quản lý bộ nhớ,
các file hệ thống, mạng, các hệ điều hành nhiệm vụ và tương tác trực tiếp với
các phần cứng.
1.1.8.1 Lớp Core OS

Đây là lớp chứa các đặc trưng ở mức thấp (low-level features). Tuy bạn sẽ ít
sử dụng trực tiếp lớp này (trừ khi thao tác với các thiết bị phần cứng khác hoặc
các vấn đề bảo mật) mà sẽ sử dụng gián tiếp thơng qua các lớp phía trên.
1.1.8.2 Lớp Core Services
Lớp Core Services cung cấp một trừu tượng trên các dịch vụ được
cung cấp trong lớp OS X Kernel. Nó cung cấp truy cập cơ bản để các dịch vụ hệ
điều hành iPhone.

1.1.8.3. Lớp Media
Lớp Media cung cấp các dịch vụ đa phương tiện mà bạn có thể sử
dụng trong Phone và iPad.
1.1.8.4. Lớp Cocoa Touch
Lớp Coscoa Touch cung cấp một lớp trừu tượng để khai báo các thư viện
khác nhau cho các lập trình iPhone và iPad.
1.2. Tìm hiểu về ngơn ngữ Objective-C
1.2.1. Tìm hiểu về lịch sử hình thành và phát triển
Vào đầu những năm 1980, Brad J. Cox đã thi ết kế ra ngôn ngữ ObjectiveC dựa trên ngôn ngữ SmallTalk-80. Có thể hình dung rằng Objective-C là 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 r ằng ngôn ngữ C được bổ sung thêm các thành phần mở rộng
(extensions) để hình thành nên một ngơn ngữ lập trình mới đó chính là
Objective-C. Ngơn ngữ Objective-C này cho phép chúng ta tạo và quản lý các
đối tượng (Objects).

19


Từ năm 1988, Công ty NeXT Software nắm giữ bản quyền của ngôn ngữ
Objective-C này. Họ đã phát triển các bộ thư viện và cả mơi trường phát triển
cho nó có tên là NEXTSTEP.
Năm 1994, NeXT Computer phối hợp với 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. Một 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 năm 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 Apple giới thiệu ban đầu có tên là Cocoa.
Đến năm 2010, với việc chính thức giới thiệu thêm thiết bị iPad, Apple

chuyển sang sử dụng thuật ngữ tổng qt hơn đó chính là iOS để chỉ hệ điều
hành dùng trên các thiết bị di động có thể có sự khác biệt về kích thước vật lý và
độ phân giải như iPhone, iPod, iPad và các phiên bản khác nhau của chúng. iOS
SDK giờ đây sẽ cho phép các developers phát triển ứng dụng trên bất cứ thiết bị
iOS này.
1.2.2. Giới thiệu về Objective-C
Objective-C là ngôn ngữ hướng đối tượng, là một phương pháp lập trình
hiện đại với rất nhiều ưu thế để các lập trình viên có thể sử dụng trong q trình
phát triển phần mềm. Hướng đối tượng là một mơ hình lập trình mà cho phép các
nhà phát triển phần mềm có thể suy nghĩ và lựa chọn cách thức thiết kế một phần
mềm theo hướng các đối tượng (objects) và các thuộc tính (attributes) của nó mà
khơng theo cách truyển thống là phân tích dựa trên các biến dữ liệu và chức
năng.
1.3. Tìm hiểu về iOS simulator
1.3.1. Giới Thiệu iOS Simulator
Ứng dụng iOS Simulator có thể chạy chung với phần mềm Xcode hoặc

20


chạy độc lập đều được. Bạn có thể tương tác với iOS Simulator thơng qua bàn
phím, chuột để nhập dữ liệu cũng như điều khiển các sự kiện của người dùng.
Phần này sẽ giúp bạn tìm hiểu một số điểm cơ bản của iOS Simulator để hỗ trợ
bạn tốt hơn trong quá trình viết ứng dụng cho iOS.
1.3.2. Tìm Hiểu iOS Simulator
iOS Simulator cho phép bạn có thể chạy ứng dụng trên nhiều loại thiết bị
như iPhone, iPhone Rentina, iPad, iPad Rentina. Đồng thời, iOS Simulator cũng
cho phép bạn sử dụng nhiều phiên bản khác nhau của iOS như iOS 6.0, iOS 7.0.
Mặc định sau khi cài Xcode 5, iOS Simulator kèm theo đã đ ược cài đặt để
hỗ trợ các thiết bị iPhone Rentina, iPad Rentina và iOS 7.0. Nếu bạn muốn iOS

Simulator chạy các thiết bị iPhone, iPad thông thường và các phiên bản iOS thấp
hơn như iOS 6.0, iOS 6.1 thì bạn cần phải tải và cài đặt thêm.
Mặc dù là một phần trong bộ công cụ của Xcode, nhưng iOS Simulator vẫn
có thể tiếp tục hoạt động dù Xcode có bị đóng chương trình. Do đó nếu bạn muốn
thoát hẳn iOS Simulator, bạn chọn menu iOS Simulator > chọn Quit iOS
Simulator.

21


Chương 2.
PHÂN TÍCH THIẾT KẾ ỨNG DỤNG
2.1. Nhu cầu về ứng dụng trên điện thoại
Trong thời đại bùng nổ của công nghệ thông tin, những thiết bị thông
minh ngày càng trở nên phổ biến với con người. Những chiếc smartphone hay
tablet được người dùng ưa chuộng và trở thành xu hướng chung. Nhu cầu sử
dụng di động của con người với nhiều mục đích khác nhau, những chức năng cơ
bản như gọi hay nhắn tin thì bây giờ con người có thể làm được nhiều việc hơn
thế, có thể quản lý thời gian cá nhân, lướt web, chơi game hay học tập, tất cả bây
giờ ở trong tầm tay và ngày càng trở nên quá dễ dàng.
Apple là một trong những thương hiệu nổi tiếng mà bất kỳ ai trong chúng
ta cũng biết tới, sự đơn giản trong phong cách thiết kế và dễ dàng trong sử dụng
điều đó đã giúp cho đa s ố người dùng lựa chọn. Theo thống kê thì tỷ lệ người
Việt Nam chúng ta đa số đều thích sử dụng những sản phẩm của Apple.
2.2. Kĩ năng cho học sinh
Giữa môi trường sống ngày càng hiện đại, các bậc cha mẹ dường như ít có
thời gian để theo sát con cái trong các hoạt động sinh hoạt hằng ngày. Mặc khác,
họ đòi hỏi và hy vọng ở con họ những “kết quả” cao trong các kì thi hơn là dẫn
dắt cho các con mình tiếp thu cuộc sống một cách tự nhiên. Vì vậy mà quỹ thời
gian của trẻ em bị thu hẹp lại để dành cho các hoạt động học hành và bồi dưỡng

năng khiếu. Thiếu quỹ thời gian cho vui chơi và rèn luyện các kĩ năng s ống thực
tế, trẻ em càng trở nên thụ động và khó khăn trong việc trải nghiệm để học hỏi
cuộc sống.
“Con cái là cơng trình của cha mẹ” nên ai cũng mong mu ốn cái công trình ấy
được phát triển một cách tồn diện về mọi mặt. Muốn làm được điều này, các bậc
cha mẹ ở nhà cũng như thầy cô giáo ở trường phải biết khéo léo lựa chọn biện
pháp dạy dỗ phù hợp để trẻ hịa nhập tốt vào mơi trường sống. Trên cơ sở đó,

22


ứng dụng này với chủ đề về kĩ năng s ống cho trẻ em mong muốn trở thành công
cụ bổ trợ cho việc giáo dục trẻ toàn diện, giúp trẻ cứng cáp ngay từ những bước
chân đầu tiên vào đời. Nó sẽ góp một phần nào đó khiến học sinh dễ dàng đối
mặt với nhiều vấn đề gặp phải và sử lý chúng gọn gàng với những kinh nghiệm
mình đã đư ợc trải qua. Vấn đề giáo dục được nâng cao hết mức khi học sinh tiếp
cận với ứng dụng.
Được thiết kế với 5 chủ đề là “Sinh hoạt”, “Việc làm”, “Nấu ăn”, “Sửa
chữa” và “Tài chính”, ứng dụng đã đi vào hư ớng dẫn cho trẻ cách thực hiện các
kĩ năng sống căn bản và cần thiết một cách đúng nhất... để giúp trẻ có thể thành
thạo thực hiện mà không ỷ lại cũng như ph ụ thuộc lại cha mẹ của mình.
“Sinh hoạt” là chủ đề đầu tiên bao gồm các hoạt động gần gũi với trẻ ngay
từ nhỏ như việc “ngủ”, “thức dậy”, “rửa mặt”, “đánh răng” và “buộc tóc”. Dù rất
dễ cũng như r ất quen thuộc, như hầu hết các trẻ đều làm chưa đúng cách và thực
hiện với những thói quen xấu. Việc hướng dẫn chính xác cho trẻ từng kĩ năng s ẽ
điều chỉnh lại hành vi của trẻ cho khoa học.
Tiếp đó, với chủ đề “Việc làm” sẽ trình bày và chỉ cho trẻ cách “cách cầm
bát”, “cài cúc áo”, “gấp quần áo”, “xử lí rác” và “3 bữa cơm”. Những việc làm
này sẽ giúp trẻ có thể phụ giúp được cha mẹ những việc vặt trong nhà.
Tương tự, với các chủ đề “Nấu ăn”, “Sửa chữa” và Tài chính” cũng sẽ dạy

cho trẻ những việc làm vừa sức và có ích cho cuộc sống thực tế của trẻ. Cha mẹ
sẽ ngày càng yên tâm hơn khi trẻ tự lập. Chúng sẽ tiếp tục đi sâu hơn vào các
phần quan trọng đó.
2.2.1. Sinh hoạt
Thông thường, người lớn luôn thực hiện các hành vi theo thói quen sinh
hoạt đã có mà ít chú tr ọng đến tác dụng xấu – tốt của các thói quen đó. Điều này
sẽ ảnh hưởng đến trẻ bởi trẻ em thường học hỏi từ chính cha mẹ của mình. Nếu
thói quen đó tốt thì sẽ khơng có vấn đề gì, nhưng nếu duy trì cho trẻ những thói
quen xấu thì sẽ mang lại những hậu quả nghiêm trọng theo thời gian.

23


Hình 6. Sinh hoạt

Các hoạt động chi tiết trong nội dung sinh hoạt:
 Ngủ
 Thức dậy
 Rửa tay
 Đánh răng
 Buộc tóc
2.2.2. Việc làm
Trẻ em là một cái cây non rất dễ uốn nắn. Nếu cha mẹ biết cách sẽ giúp
cho trẻ phát huy mọi khả năng vốn có của mình một cách hiệu quả nhất. Các
hành vi sinh hoạt hằng ngày đã là đi ều bất di bất dịch, vậy nên cần phải hướng
cho trẻ đến với các hoạt động có tính chất tự lập. Một số việc làm đơn giản như
cách ăn cơm đúng cách cầm bát, cách cài cúc, gấp quần áo hay xử lí rác. Mỗi
hành vi khi được tiến hành thường xuyên và đều đặn sẽ khiến trẻ quen dần, biết ý
thức được các việc mình đang làm.


24


×