Ban đầu hệ điềuhà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.. Hai điều kiện này
Trang 1ĐẠ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
Trang 2LỜ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ữngnăm học vừa qua
Đặc biệt xin chúng em xin chân thành cảm ơn thầy Đoàn Duy Bình đã nhiệttì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 quá trình hoàn thành đề tài không thể tránh khỏi nhữngthiếu sót Em mong nhận được nhiều đóng góp của quý thầy cô để đề tài đượchoà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
Trang 3LỜ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ĩ Đoà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 hoàn toàn trách nhiệm.
Sinh viên thực hiện
Nguyễn Quốc Phong
Trang 4MỤ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
Trang 5DANH 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
Trang 6Hì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
Trang 7DANH 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
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
Số thứ
tự
Từ viết
2 iOS Internetwork Operatin System Hệ điều hành của
Peripheral ComponentInterconnect
Chuẩn truyền dữliệu thiết bị ngoại
Trang 9MỞ ĐẦ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àycà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ọcsinh í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ảngiOS 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ủacô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ấtsớ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ờigian 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 ngaytrê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ềuhà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ậynê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 đếniOS 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
Trang 10ứ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 đó, yêu cầu phải nắm được các kiến thức cơ bản sau đây trên nềntả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 chocuộ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ợphơ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
Trang 115 Ý 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áttriển cho đề tài
Trang 12Chương 1.
CƠ SỞ LÝ THUYẾT1.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ànhhoạt động trên phần cứng của router Cisco, nó điều khiển hoạt động địnhtuyến và chuyển mạch của một router Trên hệ điều hành iOS thì gồm có 3phầ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ềuhà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 Giaodiệ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 ứngcủ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 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
Trang 13hà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ữngnhà phát triển có thể xây dựng các ứng dụng web mà "sẽ cư xử như những ứngdụng ban đầu trên iPhone" Vào ngày 17 tháng 10 năm 2007 , Apple thông báomộ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 2013cũng là lúc App store đánh dấu mốc 50 tỉ lượt tải ứng dụng Giao diện ngườidù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à đượcgớ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ỏirouter 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ềmcủ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
Trang 141.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 địnhtuyế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ầncứ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ớiphầ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ônggian đị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ỗiplatform
Các region được phân chia thành một trong tám mục như hình:
Trang 15Memory region Đặc điểm
Local(cục bộ) 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
các bus PCI Flash 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ì pooltươ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, chophé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)
Trang 161.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 trongkhi iOS đang hoạt động ngoại trừ có ngắt xảy ra Nó được tạo ra bởi kernel hoặcbở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ủamì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ểnsang 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áctham 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ầnnguồ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ểnsang trạng thái sẵn sàng (Ready) và vào trạng thái thực thi (Execute) Trong suốttrạ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
Trang 17thự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ựcthi, 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ếtthúc Một tiến trình vào trạng thái kết thúc khi nó hoàn thành chức năngcủa mình và đóng lại hoặc khi một tiến trình khác đóng nó Khi một tiếntrình bị đóng hoặc tự đóng, tiến trình chuyển sang trạng thái chết (Dead) Tiếntrì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úcthoá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ủatiế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:
Trang 18trình để truy cập CPU dựa trên sự quan trọng của nó đối với hệ thống và iOSkhô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ứcnă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ậplị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ộtchuỗ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 đợinà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ừ 1hà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ùngnhớ có sẵn của iOS, bao gồm bộ nhớ chứa iOS của nó Bộ quản lý bộ nhớ bathà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ụ chophé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 địnhtổng lượng bộ nhớ có sẵn trên một platform
Trang 19Hì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ủagó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
Trang 20Cá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ớicá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ặccá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ụ đượccung 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
Vào đầu những năm 1980, Brad J Cox đã thiết kế ra ngôn ngữ
Objective-C dựa trên ngôn ngữ SmallTalk-80 Objective-Có thể hình dung rằng Objective-Objective-C là ngônngữ 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)
Trang 21Từ 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ểncho nó có tên là NEXTSTEP.
Năm 1994, NeXT Computer phối hợp với Sun Microsystems chuẩn hóalại NEXTSTEP trong bản đặc tả tên là OPENSTEP Bản hiện thực củaOPENSTEP chính là GNUStep Một hệ thống bao gồm cả Linux kenel và môitrườ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 NeXTSoftware và môi trường NEXTSTEP/OPENSTEP đã trở thành thành phần cột lỗicủ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ủamô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, Applechuyển sang sử dụng thuật ngữ tổng quát hơn đó chính là iOS để chỉ hệ điềuhà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 iOSSDK 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ìnhhiện đại với rất nhiều ưu thế để các lập trình viên có thể sử dụng trong quá trìnhphá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ácnhà 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ầnmề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ứcnă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
Trang 22chạy độc lập đều được Bạn có thể tương tác với iOS Simulator thông qua bànphí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ũngcho 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 iOSSimulator chạy các thiết bị iPhone, iPad thông thường và các phiên bản iOS thấphơ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ốnthoát hẳn iOS Simulator, bạn chọn menu iOS Simulator > chọn Quit iOSSimulator
Trang 23Chương 2.
PHÂN TÍCH THIẾT KẾ ỨNG DỤNG2.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ôngminh ngày càng trở nên phổ biến với con người Những chiếc smartphone haytablet đượ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ơnthế, 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âygiờ ở 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ườiViệ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ẫndắ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ờigian 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ưỡngnă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ỏicuộ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 toàn diện về mọi mặt Muốn làm được điều này, các bậccha 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ệnphá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ở đó,
Trang 24ứ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ướcchâ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 đốimặ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ệmmình đã đư ợc trải qua Vấn đề giáo dục được nâng cao hết mức khi học sinh tiếpcậ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ửachữ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ànhthạ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ựchiệ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ầmbá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àmnà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ạycho 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ácphần quan trọng đó