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

Kiến trúc hướng mô hình (model driven) trong xây dựng phần mềm nhúng trên hệ điều hành android – đánh giá độ tin cậy và tính đáp ứng của kiến trúc phần mềm

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.84 MB, 75 trang )

Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin

MỤC LỤC
MỤC LỤC...........................................................................................................................................1
LỜI CÁM ƠN .....................................................................................................................................3
DANH MỤC HÌNH ẢNH ..................................................................................................................4
DANH MỤC BẢNG BIỂU ................................................................................................................5
DANH SÁCH CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ...........................................................5
CHƢƠNG I: MỞ ĐẦU .......................................................................................................................6
I.

ĐẶT VẤN ĐỀ ........................................................................................................................7

II.

LÝ DO LỰA CHỌN ĐỀ TÀI VÀ CÁC KẾT QUẢ CẦN ĐẠT ĐƢỢC................................7

CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ THUYẾT VỀ KIẾN
TRÚC HƢỚNG MƠ HÌNH MDA ......................................................................................................9
TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID ..................................................................... 10

I.
1.

Hoàn cảnh ra đời .............................................................................................................. 11

2.

Các phiên bản Android..................................................................................................... 12

3.



Kiến trúc Android ............................................................................................................ 14

4.

Hệ thống tập tin trên hệ điều hành Android ..................................................................... 18

5.

So sánh giữa các hệ điều hành ......................................................................................... 21
CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA .................................. 25

II.
1.

Tổng quan ....................................................................................................................... 25

2.

Một số khái niệm cơ bản................................................................................................ 25

3.

Quy trình phát triển phần mềm hƣớng MDA ............................................................. 26

4.

Chuyển đổi giữa các mơ hình trong tiến trình MDA .................................................. 28

5.


MDA với lập trình C ...................................................................................................... 38

6.

Sự phù hợp áp dụng MDA với hệ thống nhúng .......................................................... 46

CHƢƠNG III: ÁP DỤNG XÂY DỰNG TRÌNH ĐIỀU KHIỂN TRÊN HỆ ĐIỀU HÀNH
ANDROID VỚI HƢỚNG TIẾP CẬN MDA – CÀI ĐẶT TRÊN SMART BOX CỦA VNPTTECHNOLOGY .............................................................................................................................. 49
I.

KIẾN TRÚC GIAO TIẾP USB 3G TRONG ANDROID ................................................... 50

II.

ÁP DỤNG HƢỚNG TIẾP CẬN MDA ............................................................................... 51

III.

CÀI ĐẶT ỨNG DỤNG TRÊN SMART BOX CỦA VNPT TECHNOLOGY ............... 60

1.

Cấu hình 3G cho kernel........................................................................................................ 60

2.

Cấu hình 3G trong source code aosp.................................................................................... 62

CHƢƠNG IV: ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY VÀ TÍNH ĐÁP ỨNG CỦA TRÌNH ĐIỀU

KHIỂN USB 3G CÀI ĐẶT TRÊN SET - TOP - BOX CỦA VNPT TECHNOLOGY ................. 65

Ngô Hồng Quyết – CH CNTT 2013

1


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
MƠ HÌNH ĐÁNH GIÁ ĐỘ TIN CẬY ................................................................................ 66

I.

II. ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY TRÌNH ĐIỀU KHIỂN USB 3G CÀI ĐẶT TRÊN
SMART BOX CỦA VNPT-TECHNOLOGY ............................................................................. 67
III.

KẾT LUẬN VÀ KIẾN NGHỊ.......................................................................................... 70

1.

Kết luận ............................................................................................................................ 70

2.

Kiến nghị .......................................................................................................................... 72

3.

Hƣớng phát triển của đề tài. ............................................................................................. 73


TÀI LIỆU THAM KHẢO................................................................................................................ 74

Ngô Hồng Quyết – CH CNTT 2013

2


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
LỜI CÁM ƠN
Lời đầu tiên, em xin gửi lời cám ơn đến các thầy, cơ giáo và tồn thể cán bộ
nhân viên trƣờng Đại học Bách Khoa Hà Nội, Viện đào tạo sau Đại học và đặc biệt
là Viện Công nghệ thông tin và Truyền thông đã hƣớng dẫn, giảng dạy và giúp đỡ
em trong suốt thời gian học tập tại Viện Công nghệ thông tin và Truyền thông trong
thời gian qua.
Em xin gửi lời cám ơn đặc biệt tới PGS.TS Huỳnh Quyết Thắng, ngƣời đã
trực tiếp định hƣớng, hƣớng dẫn, và có những góp ý quan trọng trong suốt quá trình
em thực hiện luận văn này.
Xin cám ơn các bạn trong lớp Cao học CNTT2 – Khóa 2013 đã cùng chia sẻ
khó khăn trong q trình học tập tại Viện Công nghệ thông tin và truyền thông.
Tôi xin đƣợc các ơn các bạn bè, đồng nghiệp tại VNPT Technology đã hợp
tác, giúp đỡ, chia sẻ công việc và kinh nghiệm trong thời gian tôi thực hiện luận
văn.
Và cuối cùng xin đặc biệt cảm ơn các thành viên trong gia đình nhỏ của tơi
đã làm chỗ dựa vững chắc, động viên, khích lệ tơi vƣợt qua mọi khó khăn để hoàn
thành luận văn.
Do kiến thức, thời gian cũng nhƣ khả năng làm việc có hạn, quyển luận văn
này khơng tránh khỏi những thiếu sót, những điều chƣa tối ƣu, kính mong các thầy
cơ giáo và các bạn giúp đỡ và chỉ bảo thêm để sau này em có thể tiếp tục hoàn
thiện.


Xin trân trọng cám ơn!

Hà Nội tháng 12 năm 2014

Ngô Hồng Quyết – CH CNTT 2013

3


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
DANH MỤC HÌNH ẢNH
Tên hình ảnh
stt
Hình 1
Kiến trúc tổng quan Android
Hình 2
Cây thƣ mục Android
Hình 3
Tiến trình MDA
Hình 4
Vịng đời phát triển phần mềm truyền thống và vòng đời MDA
Hình 5
Tiến trình chuyển đổi giữa hai mơ hình
Hình 6
Biểu đồ DFD tiến trình đào tạo của một trung tâm giáo dục
Hình 7
Biểu đồ usecase sinh ra từ DFD
Hình 8
Biểu đồ Activity sinh ra từ DFD
Hình 9

Biểu đồ trình tự sinh ra từ DFD
Hình 10
Biểu đồ miền sinh ra từ DFD
Hình 11
Các lớp của PSM
Hình 12
Chuyển đổi của loại đ ối tƣợng
Hình 13
chuyển đổi của thuộc tính
Hình 14
Chuyển đổi liên kết
Hình 15
chuyển đổi máy trạng thái
Hình 16
chuyển đổi các sự kiện
Hình 17
mẫu collaboration chuẩn cho sự kiện sinh handle_event() (bƣớc 1
và 2)
Hình 18
mẫu collaboration chuẩn cho sự kiện sinh handle_event() (bƣớc 3
và 4)
Hình 19
Sinh tầng persistence
Hình 20
Sinh tầng sự kiện
Hình 21
Ví dụ biểu đồ usecase
Hình 22
Ví dụ biểu đồ File
Hình 23

Ví dụ biểu đồ Build
Hình 24
Ví dụ biểu đồ Call
Hình 25
Ví dụ biểu đồ thơng điệp
Hình 26
Ví dụ biểu đồ trạng thái
Hình 27
Ví dụ biểu đồ Flowchart
HÌnh 28
Kiến trúc giao tiếp usb 3G trong Android
Hình 29
Tiến trình làm việc với usb 3G
Hình 30
Biểu đồ luồng dữ liệu khi plug in usb 3G
Hình 31
Biểu đồ usecase
Hình 32
Biểu đồ miền
Hình 33
Biểu đồ thơng điệp
Hình 34
Biểu đồ File
Hình 35
Biểu cồ Call
Hình 36
Biểu đồ trạng thái của thiết bị 3G
Hình 37
Biểu đồ trạng thái của Ril
Hình 38

Biểu đồ trạng th ái c ủa PPP
Hình 39
Biểu đồ Flowchart của hàm kết nối dữ liệu.
Hình 40
Biểu đồ Flowchart của hàm huỷ kết nối dữ liệu.

Ngô Hồng Quyết – CH CNTT 2013

4


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
Hình 41
Hình 42
Hình 43

Phân chia các thành phần
Kiểm thử hộp trắng
Kiểm thử hộp đen

DANH MỤC BẢNG BIỂU
STT
Bảng 1
Bảng 2

Nội Dung
Bảng phân loại các loại file trên Android
Bảng tƣơng ứng các biểu đồ UML trong
lập trình hƣớng đối tƣợng và lập trình C.


DANH SÁCH CÁC TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ
STT
Viêt tắt
Tiếng Anh
Tiếng Việt
1

MDA

Model Driven Architecture

2

OMG

Object Model Group

3

RIL

Radio Interface Layer

4

RILD

Radio Interface Layer Daemon

Là lớp cầu nối giữa

Android Phone framework
và hardware
Một tiến trình chạy trong
khi Android khởi động

5

USB

Universal Serial Bus

Chuẩn giao tiếp USB

6

3G

Third-generation technology

Mạng thế hệ thứ 3

7

DVM

Dalvik Virtual Machine

8

CIM


9

PIM

Computation
Model
Platfom Independent Model

Mơ hình độc lập nền

10

PSM

Platfom Specific Model

Mơ hình phụ thuộc nền

11

DFD

Data Follow Diagrams

Biểu đồ luồng dữ liệu

Máy ảo Davik chạy trên
Android
Independent Mơ hình độc lập tính tốn


Ngơ Hồng Quyết – CH CNTT 2013

5


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin

CHƢƠNG I: MỞ ĐẦU

Nội dung chính
 Đặt vấn đề
 Lý do lựa chọn đề tài và các kết quả cần đạt
đƣợc.

Ngô Hồng Quyết – CH CNTT 2013

6


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
I.

ĐẶT VẤN ĐỀ

Trong những năm gần đây, các thiết bị di động đặc biệt là các thiết bị di động
thông minh phát triển rất mạnh mẽ. Các hãng công nghệ di động nhƣ SamSung,
Nokia, LG, Sony liên tục cải tiến và đƣa ra nhiều mẫu sản phẩm mới, trong đó các
thiết bị sử dụng hệ điều hành Androi của Google chiếm tỷ lệ áp đảo. Số lƣợng lập
trình viên di động ngày càng tăng cao cũng nhƣ các ứng dụng di động nói chung và

các ứng dụng di động trên nền Android ngày càng nhiều, các ứng dụng ngày càng
phong phú cả về nội dung và đƣợc áp dụng trên nhiều nền tảng phần cứng khác
nhau.
Nhu cầu phát triển ứng dụng là rất nhiều, tuy nhiên đi kèm với nó là nhu cầu
đảm bảo chất lƣợng, độ tin cậy của phần mềm.Phần mềm xây dựng ra cần phải có
chất lƣợng cao, đồng nghĩa với việc hạn chế lỗi phát sinh trong q trình sử dụng.
Hay nói cách khác, phần mềm ít nhất phải đảm bảo chạy đúng theo ý tƣởng thiết kế.
Câu hỏi đặt ra làm cách nào có đƣợc một thiết kế phần mềm tốt? Khi có đã có đƣợc
thiết kế tốt, làm sao để kiểm tra, đánh giá đƣợc độ tin cậy và tính đáp ứng của kiến
trúc phần mềm và áp dụng để đƣa ra đƣợc phần mềm có chất lƣợng cao, đúng với
nhu cầu và mục tiêu đặt ra.
Kiến trúc hƣớng mơ hình (Model Driven) đƣợc OMG (Object Management
Group) công bố năm 2001 [1] cung cấp các tiện ích giúp ngƣời lập trình xây dựng
thiết kế phần mềm dựa trên việc xây dựng và chuyển đổi giữa các mơ hình. Việc áp
dụng kiến trúc hƣớng mơ hình (Model Driven) trong xây dựng phần mềm nhúng
trên hệ điều hành Androi và xây dựng phƣơng án đánh giá độ tin cậy và tính đáp
ứng của kiến trúc phần mềm góp thêm một biện pháp nhằm nâng cao chất lƣợng
phần mềm nói chung và phần mềm cho thiết bị thơng minh chạy hệ điều hành
Android nói riêng.Trong luận văn này, tác giả sẽ tập trung trả lời câu hỏi nêu trên và
nêu ví dụ cụ thể đã và đang đƣợc áp dụng trong quá trình sản xuất thiết bị Smart
Box và điện thoại thông minh Smart Phone Vivas Lotus tại công ty VNPT
Technology.

II.

LÝ DO LỰA CHỌN ĐỀ TÀI VÀ CÁC KẾT QUẢ CẦN ĐẠT ĐƢỢC

Nhƣ đã trình bày ở phần trên nhu cầu phát triển phần mềm nói chung và phần
mềm cho thiết bị di dộng trên nền Android nói riêng ngày càng tăng cao, kèm theo
đó là nhu cầu xây dựng phần mềm có chất lƣợng cao, đáp ứng đầy đủ chính xác các

yêu cầu đặt ra. Việc áp dụng kiến trúc hƣớng mơ hình (Model Driven) trong xây
dựng phần mềm nhúng trên hệ điều hành Android và xây dựng phƣơng án đánh giá

Ngô Hồng Quyết – CH CNTT 2013

7


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
độ tin cậy và tính đáp ứng của kiến trúc phần mềm góp thêm một biện pháp nhằm
nâng cao chất lƣợng phần mềm nói chung và phần mềm cho thiết bị thơng minh
chạy hệ điều hành Android nói riêng.
Luận văn này sẽ tập trung giải quyết vấn đề trên đƣợc thể hiện qua các phần sau:
CHƢƠNG I: MỞ ĐẦU
CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ
THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA
Bao gồm hai phần, phần I. ―TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID‖ Giới
thiệu tổng quan về hệ điều hành Android. Trong phần này sẽ giới thiệu một các tổng
quan về lịch sử ra đời, quá trình phát triển và các nét đặc trƣng cơ bản về hệ điều
hành Android, các phiên bản Android và một vài so sánh giữa Android với các hệ
điều hành khác;
Phần II. ―CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA‖
giới thiệu các khái niệm cơ bản, các quy trình và chuyển đổi giữa các mơ hình trong
MDA, liên hệ mơ hình MDA trong ngơn ngữ lập trình C.
CHƢƠNG III: ÁP DỤNG XÂY DỰNG TRÌNH ĐIỀU KHIỂN TRÊN HỆ
ĐIỀU HÀNH ANDROID VỚI HƢỚNG TIẾP CẬN MDA – CÀI ĐẶT TRÊN
SMART BOX CỦA VNPT-TECHNOLOGY
Phần này trình bày về kiến trúc giao tiếp với USB 3G trên hệ điều hành Android
và cách tiếp cận theo phƣơng pháp MDA để xây dựng phần mềm nhúng áp dụng
xây dựng driver cho USB 3G trên nền Android và trình bày chi tiết cách cài đặt

phần mềm đã xây dựng trên thiết bị Smart Box của VNPT Technology.
CHƢƠNG IV: ÁP DỤNG ĐÁNH GIÁ ĐỘ TIN CẬY TRÌNH ĐIỀU KHIỂN
USB 3G CÀI ĐẶT TRÊN SMART BOX CỦA VNPT-TECHNOLOGY
Đề xuất mơ hình đánh giá độ tin cậy và tính đáp ứng của kiến trúc phần mềm
và trình bày việc áp dụng thực tế trong quá trình sản xuất Smart Box của VNPT
Technology.Phần cuối cùng ghi nhận các kết quả và nêu lên các nhận xét của tác giả
về các kết quả đạt đƣợc.

Ngô Hồng Quyết – CH CNTT 2013

8


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
CHƢƠNG II: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID VÀ CƠ SỞ LÝ
THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA

Nội dung chính:
 Tổng quan hệ điều hành Android
 Cơ sở lý thuyết về kiến trúc hƣớng mơ hình
MDA

Ngơ Hồng Quyết – CH CNTT 2013

9


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
I.


TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID

Android là hệ điều hành di động dựa trên nền tảng linux dành cho các thiết bị
di động nhƣ điện thoại SmartPhone, máy tính bảng, set-top-box... Đầu tiên đƣợc ra
đời bởi công ty liên hợp Android, sau đó đƣợc google mua lại và phát triển từ năm
2005 và trở thành một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và
đƣợc ƣa chuộng cao trên thế giới.
Hệ điều hành Androidlà hệ điều hành có bảo mật cao, hỗ trợ nhiều cơng nghệ
tiên tiến nhƣ 3G, GPS, EDGE, Wifi..tƣơng thích với nhiều nền tảng phần cứng, hỗ
trợ nhiều bộ nhập dữ liệu nhƣ keyboard, touch và trackball. Android có khả năng
kết nối các mạng không dây,hỗ trợ công nghệ OpenGL, hỗ trợ đa phƣơng tiện multi
media, khả năng đồ họa cực tốt, là tiền đề để phát triển các ứng dụng có giao diện
phức tạp chẳng hạn nhƣ là các trò chơi.
Android liên tục đƣợc phát triển, mỗi bản cập nhật từ google là mỗi lần
Android đƣợc tối ƣu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm
cơng nghệ mới. Chẳng hạn nhƣ theo AndroidGuys thì Android phiên bản 2.2 hoạt
động
nhanh
hơn
bản
2.1
tới
450%[ Hiện nay, phiên bản mới nhất Android L, phát hành
ngày 26/06/2014 và đang tiếp tục đƣợc cập nhật.
Năm 2008, hệ điều hành Android đã chính thức mở tồn bộ mã nguồn, điều
đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kế lại sao
cho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọng nữa là hệ điều
hành mở này hồn tồn miễn phí, khơng phải trả tiền nên giúp họ tiết kiệm khá lớn
chi phí phát triển hệ điều hành. Những điều đó là cực kỳ tốt không chỉ đối với các
hãng sản xuất điện thoại nhỏ mà ngay cả với những hãng lớn nhƣ Samsung, HTC....

Với Google, vì Android hồn tồn miễn phí, Google không thu tiền từ những
hãng sản xuất điện thoại, tuy không trực tiếp hƣởng lợi từ Android nhƣng bù lại,
những dịch vụ của hãng nhƣ Google Search, Google Maps,... nhờ có Android mà có
thể dễ dàng xâm nhập nhanh vào thị trƣờng di động vì mỗi chiếc điện thoại đƣợc
sản xuất ra đều đƣợc tích hợp hàng loạt dịch vụ của Google. Từ đó hãng có thể
kiếm bội, chủ yếu là từ các nguồn quảng cáo trên các dịch vụ đó.
Với các nhà phát triển ứng dụng (developers), việc hệ điều hành Android
đƣợc sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng
trên nền Android với sự tin tƣởng là ứng dụng đó sẽ có thể chạy đƣợc ngay trên
nhiều dịng điện thoại của các hãng khác nhau. Họ ít phải quan tâm là đang phát
triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng Android là chung cho

Ngơ Hồng Quyết – CH CNTT 2013

10


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
nhiều dịng máy, máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp
với mỗi dòng điện thoại mà nó đang chạy. Tất cả các chƣơng trình ứng dụng đƣợc
viết bằng ngơn ngữ Java kết hợp với XML nên có khả năng khả chuyển cao.

1. Hồn cảnh ra đời
Khi nghành công nghiệp điện thoại di động sang một trang mới, một hệ
điều hành mở có thể dùng chung cho nhiều hãng điện thoại với những tùy chọn
riêng biệt là một miếng mồi béo bở mà Google nhìn thấy đầu tiên. Dƣới đây là
những cột mốc đáng nhớ trong quá trình hình thành và phát triển của hệ điều hành
Android.

– Tháng 10/2003, Android (inc) ra đời nhƣ một hãng phần mềm, với mục

tiêu tạo ra những thiết bị thông minh, đáp ứng nhu cầu của ngƣời dung.
– Tháng 8/2005, Google mua lại Android với toàn bộ nhân viên.
– Tháng 11/2007, Open Handset Alliance – Liên minh thiết bị cầm tay mở
rộng ra đời với các thành viên Texas Instruments, Tập đoàn Broadcom, Google,
HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm,
Samsung Electronics, Sprint Nextel và T-Mobile
– Tháng 10/2008, hệ điều hành Android đã chính thức trở thành phần mềm
mã nguồn mở.
– Tháng 11/2008, Liên minh OHA ra mắt gói phát triển phần mềm Android
SDK cho nhà lập trình. Theo đó, các cơng ty thứ ba đƣợc phép thêm những ứng
dụng của riêng của họ vào Android và bán chúng mà không cần phải hỏi ý kiến

Ngô Hồng Quyết – CH CNTT 2013

11


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
Google.
– Tháng 12/2008, có thêm 14 thành viên mới gia nhập dự án Android đƣợc
cơng bố, gồm có ARM Holdings, Atheros Communications, Asustek Computer Inc,
Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, và Vodafone Group Plc.
2. Các phiên bản Android
Phiên bản đầu tiên của hệ điều hành Android ra đời vào tháng 9/2008 và
tháng 2/2009 khơng có tên gọi chính thức, sau này, những phiên bản tiếp theo ra đời
với tên gọi là những món tráng miệng với vần đầu của bảng Anphabet C-D-E-F-GH-I…
– Android Cupcake 1.5, 4/2009: Phiên bản này có một số tính năng đáng chú
ý nhƣ: khả năng ghi lại và xem video thông qua chế độ máy ghi hình, tải video lên
YouTube và ảnh lên Picasa trực tiếp từ điện thoại, tích hợp bàn phím ảo với khả
năng đoán trƣớc văn bản, tự động kết nối với một thiết bị Bluetooth trong một

khoảng cách nhất định, các widget và thƣ mục mới có thể cài đặt linh động trên màn
hình chủ.
– Android Donut 1.6, 9/2009: Phiên bản này giúp Nâng cao trải nghiệm trên
kho ứng dụng Android Market, tích hợp giao diện tùy biến cho phép ngƣời dùng
xóa nhiều ảnh cùng lúc, nâng cấp Voice Search, nâng cấp khả năng tìm kiếm
bookmarks, history, contacts và web trên màn hình chủ, bƣớc đầu hỗ trợ màn hình
độ phân giải WVGA.
– Android Eclair 2.0 + 2.1, 10/2009. Phiên bản này có sự cải thiện rõ rệt
trong giao diện ngƣời dùng, tối ƣu hóa tốc độ phần cứng, hỗ trợ nhiều kích cỡ và độ
phân giải màn hình hơn, thay đổi giao diện duyệt web và hỗ trợ chuẩn HTML5,
Exchange ActiveSync 2.5, nâng cấp Google Maps 3.1.2, camera zoom kĩ thuật số
tích hợp đèn flash, nâng cấp bàn phím ảo và kết nối Bluetooth 2.1.

Ngô Hồng Quyết – CH CNTT 2013

12


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin

– 2.2 Android Froyo 5/2010: Phiên bản này chú trọng nâng cấp tốc độ xử lí,
giới thiệu engine Chrome V8 JavaScript, hỗ trợ Adobe Flash10.1, thêm tính năng
tạo điểm truy cập Wi-Fi. Một tính năng đáng chú ý khác hỗ trợ chuyển đổi nhanh
chóng giữa các ngơn ngữ và từ điển trên bàn phím đồng thời cho phép cài đặt và
cập nhật ứng dụng ở các thiết bị mở rộng bộ nhớ.Một trong những smartphone đầu
tiên chạy phiên bản Android 2.2 Froyo là LG Optimus One.
– Android Gingerbread 2.3, 12/2010: Phiên bản này đã nâng cấp đáng kể
giao diện ngƣời dùng, cải thiện bàn phím ảo, thêm tính năng copy/paste, hỗ trợ cơng
nghệ giao tiếp tầm sóng ngắn NFC, hỗ trợ chuẩn video WebM và nâng cao tính
năng copy–paste. Cùng với phiên bản Gingerbread, Google cũng ra mắt điện thoại

đầu tiên của hãng sử dụng nền tảng này là Google Nexus S.
– Android Honeycomb 3.0, 2/2011: Đây là phiên bản hệ điều hành dành
riêng cho máy tính bảng tablet với giao diện mới tối ƣu hóa cho tablet, từ các thao
tác đều phụ thuộc màn hình cảm ứng (nhƣ lƣớt web, duyệt mail..). Honeycomb hỗ
trợ bộ xử lí đa nhân và xử lý đồ họa đồng thời hỗ trợ nhiều màn hình home khác
nhau, cho phép ngƣời dùng dễ dàng tùy biến giao diện nếu muốn.
– Android 4.0 Ice Cream Sandwich, cuối 2011. Đây cũng là lần đầu tiên
Google hợp nhất hệ điều hành dành cho smartphone và cho máy tính bảng vào làm
một. Android 4.0 cũng nhắm đến việc duyệt web nhanh hơn, tối ƣu hóa hiệu suất
hoạt động của thiết bị, kéo dài thời gian dùng pin…
– Android Jelly Bean 4.1 +4.2, 2012: quan trọng hơn hết của Jelly Bean
không phải là về giao diện hay ứng dụng mới mà về Project Butter giúp mang lại độ

Ngô Hồng Quyết – CH CNTT 2013

13


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
mƣợt chƣa từng có cho Android. Theo nhƣ giải thích của Google, độ mƣợt này có
đƣợc là nhờ vào dự án Butter
– Android 4.3 Jelly Bean 4.3, 24/4/2013: đi kèm những tính năng mới nhƣ hỗ
trợ kết nối Bluetooth Smart, bộ API OpenGL ES 3.0, bổ sung tính năng sử dụng
Wi-Fi để định vị ngay cả khi ngƣời dùng tắt kết nối này đi cùng nhiều thay đổi lớn
nhỏ khác.
– Android 4.4 KitKat, 15/10/2013 với các cải tiến mới Chế độ tồn màn hình
– Immersive Mode, Hiệu ứng chuyển cảnh màn hình -Transition Manager, Storage
Access Framework, Chromium WebView, NFC,Cổng hồng ngoại – Infrared
Blasters …
– Android L, 26/06/2014 với những cải tiến về chất lƣợng pin, giao diện

thanh thoát nhẹ nhàng theo thiết kế Material Design, Android Runtime (ART) đã
đƣợc sử dụng mặc định
3. Kiến trúc Android
Hệ điều hành Android có 4 tầng từ dƣới lên trên là tầng hạt nhân Linux, tầng
Tầng Libraries & Android runtime, Tầng Application Framework và trên cùng là
tầng Application.

Hinh 1: Kiến trúc tổng quan Android [13]

Ngô Hồng Quyết – CH CNTT 2013

14


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
a) Tầng hạt nhân Linux (Linux Kernel layer)
Hệ điều hành Android đƣợc phát triển dựa trên hạt nhân linux, điều đó đƣợc
thể hiệnở lớp dƣới cùng này.Tất cả mọi hoạt động của điện thoại muốn thi hành
đƣợc thì đều đƣợc thực hiện ở mức cấp thấp, ởlớp này bao gồm quản lý bộ nhớ
(memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật
(security), quản lý tiến trình (process).
Tuy đƣợc phát triển dựa vào nhân linux nhƣng thực ra nhân linux đã đƣợc
nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm tay
nhƣ hạn chế về bộ vi xử lý, dung lƣợng bộ nhớ, kích thƣớc màn hình, nhu cần kết
nối mạng khơng dây...
Tầng này có các thành phần chủ yếu:[13]
 Display Driver: Điều khiển việc hiển thị lên màn hình cũng nhƣ thu
nhận những điều khiển của ngƣời dùng lên màn hình (di chuyển, cảm
ứng...)
 Camera Driver: Điều kiển hoạt động của camera, nhận luồng dữ liệu

từ camera trả về.
 Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth.
 USB driver: Quản lý hoạt động của các cổng giao tiếp USB
 Keypad driver: Điều khiển bàn phím
 Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi
 Audio Driver: điều khiển các bộ thu phát âm thanh, giải mã các tính
hiệu dạng audio thành tín hiệu số và ngƣợc lại.
 Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với
mạng vô tuyến nhƣ CDMA, GSM, 3G, 4G, E để đảm bảo những chức
năng truyền thông đƣợc thực hiện.
 M-System Driver: Quản lý việc đọc ghi... lên các thiết bị nhớ nhƣ thẻ
SD, flash
 Power Madagement: Giám sát việc tiêu thụ điện năng.

b) Tầng Library và Android runtime
Phần này có 2 thành phần là phần Library và Android Runtime [13]
 Phần Libraries:
Phần này có nhiều thƣ viện đƣợc viết bằng C/C++ để các phần mềm có thể sử
dụng, các thƣ viện đó đƣợc tập hợp thành một số nhóm nhƣ:
 Thƣ viện hệ thống (System C library): thƣ viện dựa trên chuẩn C,

Ngô Hồng Quyết – CH CNTT 2013

15


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
đƣợc sử dụng chỉ bởi hệ điều hành.
 Thƣ viện Media (Media Libraries): Có nhiều codec để hỗ trợ việc phát
và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng.

 Thƣ viện web (LibWebCore): Đây là thành phần để xem nội dung trên
web, đƣợc sử dụng để xây dựng phần mềm duyệt web (Android
Browse) cũng nhƣ để các ứng dụng khác có thể nhúng vào. Nó cực kỳ
mạnh, hỗ trợ đƣợc nhiều công nghệ mạnh mẽ nhƣ HTML5,
JavaScript, CSS, DOM, AJAX…
 Thƣ viện SQLite: Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng.
 Phần Android runtime
Phần này chứa các thƣ viện mà một chƣơng trình viết bằng ngơn ngữ Java có thể
hoạt động. Phần này có 2 bộ phận tƣơng tự nhƣ mơ hình chạy Java trên máy tính
thƣờng.
 Thứ nhất là các thƣ viện lõi (Core Library), chứa các lớp nhƣ JAVA
IO, Collections, File Access.
 Thứ hai là một máy ảo java (Dalvik Virtual Machine - DVM).
Mặc dù cũng đƣợc viết từ ngôn ngữ Java nhƣng một ứng dụng Java của hệ điều
hành Android không đƣợc chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là
chạy bằng máy ảo Dalvik do Google phát triển.

c) Tầng Application Framework.
Tầng này xây dựng bộ công cụ- các phần tử ở mức cao để các lập trình viên
có thể nhanh chóng xây dựng ứng dụng. Nó đƣợc viết bằng Java, có khả năng sử
dụng chung để tiết kiệm tài nguyên.[13]
Đây là một nền tảng mở, điều đó có 2 điều lợi:
 Với các hãng sản xuất điện thoại: Có thểtùy biến để phù hợp với cấu hình
điện thoại mà họ sản xuất cũng nhƣ để có nhiều mẫu mã, style hợp thị hiếu
ngƣời dùng. Vì thế nên tuy cùng chung nền tảng Android mà điện thoại của
Google có thể khác hẳn với Motorola, HTC, T-Mobile, Samsung...
 Với lập trình viên: Cho phép lập trình viên có thể sử dụng các API ở tầng
trên mà không cần phải hiểu rõ cấu trúc bên dƣới, tạo điều kiện cho lập trình
viên tự do sáng tạo bởi vì chỉ cần quan tâm đến nội dung mà ứng dụng họ
làm việc. Một tập hợp API rất hữu ích đƣợc xây dựng sẵn nhƣ hệ thống định

vị, các dịch vụ chạy nền, liên lạc giữa các ứng dụng, các thành phần giao

Ngô Hồng Quyết – CH CNTT 2013

16


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
diện cấp cao ...
Giới thiệu một số thành phần của tầng này:
 Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng
nhƣ cung cấp công cụ điều khiển các Activity.
 Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc nhƣ
gọi điện thoại.
 XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực.
 Location Manager: Cho phép xác định vị trí của điện thoại thoại dựa
vào hệ thống định vị toàn cầu GPS và Google Maps.
 Window Manager: Quản lý việc xây dựng và hiển thị các giao diện
ngƣời dùng cũng nhƣ tổ chức quản lý các giao diện giữa các ứng
dụng.
 Notication Manager: Quản lý việc hiển thị các thông báo (nhƣ báo có
tin nhắn, có e-mail mới…).
 Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao
gồm các file hình ảnh, âm thanh, layout, string. (Những thành phần
khơng đƣợc viết bởi ngơn ngữ lập trình).
d) Tầng Application
Đây là tầng ứng dụng giao tiếp với ngƣời dùng, bao gồm các ứng dụng
nhƣ[14]:
 Các ứng dụng cơ bản, đƣợc cài đặt đi liền với hệ điều hành là gọi
điện(phone), quản lý danh bạ(Contacts), duyệt web (Browser), nhắn tin

(SMS), lịch làm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map),
quay phim chụp ảnh (camera)...
 Các ứng dụng đƣợc cài thêm nhƣ các phần mềm chứng khốn (Stock), các
trị chơi (Game), từ điển...
Các chƣơng trình có các đặc điểm là:
 Viết bằng Java, phần mở rộng là apk.
 Khi mỗi ứng dụng đƣợc chạy, nó có một phiên bản Virtual Machine
đƣợc dựng lên để phục vụ cho nó. Nó có thể là một Active Program:
Chƣơng trình có giao diện với ngƣời sử dụng hoặc là một background:
chƣơng trình chạy nền hay là dịch vụ.
 Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một
thời điểm, có thể có nhiều chƣơng trình cùng chạy một lúc, tuy nhiên,
với mỗi ứng dụng thì có duy nhất một thực thể (instance) đƣợc phép
chạy mà thơi. Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên,

Ngô Hồng Quyết – CH CNTT 2013

17


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
giúp hệ thống hoạt động tốt hơn.
 Các ứng dụng đƣợc gán số ID của ngƣời sử dụng nhằn phân định
quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống.
 Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành
di động khác, Android cho phép một ứng dụng của bên thứ ba đƣợc
phép chạy nền. Các ứng dụng đó chỉ có một hạn chế nhỏ đó là nó
khơng đƣợc phép sử dung q 5~10% cơng suất CPU, điều đó nhằn
để tránh độc quyền trong việc sử dụng CPU.
 Ứng dụng khơng có điểm vào cố định, khơng có phƣơng thức main để

bắt đầu.
4. Hệ thống tập tin trên hệ điều hành Android
Trong phần này tác giả chỉ xin tìm hiểu rõ một số vấn đềquản lý hệ thống tập
tin của Android,vìAndroid đƣợc phát triển từ nhân linux nên hệ thống tập tin trên
Android cực kỳ giống hệ thống tập tin trên linux nhƣ là về cách tổ chức, những
quyền hạn của ngƣời sử dụng lên file...
a) Tổng quan về hệ thống file trên Android:
Trong Android, các file đƣợc tổ chức thành các thƣ mục, theo mơ hình phân
cấp. Tham chiếu đến một file bằng tên và đƣờng dẫn. Các câu lệnh thao tác file cho
phép thực hiện các chức năng nhƣ dịch chuyển, sao chép toàn bộ thƣ mục cùng với
các thƣ mục con chứa trong nó…
Có thể sử dụng các ký tự, dấu gạch dƣới, chữ số, dấu chấm và dấu phẩy để
đặt tên file,không đƣợc bắt đầu một tên file bằng dấu chấm hay chữ số.Những ký tự
khác nhƣ ‗/‘, ‗?‘, ‗*‘, là ký tự đặc biệt đƣợc dành riêng cho hệ thống. Chiều dài của
tên file có thể tới 256 ký tự. Trong hệ điều hành Android có sự phân biệt tên file
chữ hoa và chữ thƣờng, điều đó có nghĩa là trong cùng 1 thƣ mục có thể tồn tại
những file có tên là File, FILE, file.. và chúng là những file khác nhau..
Tất cả các file trong Android có chung cấu trúc vật lý là chuỗi các byte (byte
stream). Cấu trúc thống nhất này cho phép Android áp dụng khái niệm file cho mọi
thành phần dữliệu trong hệ thống. Thƣ mục cũng nhƣ các thiết bị đƣợc xem nhƣ
file. Chính việc xem mọi thứ nhƣ các file cho phép Android quản lý và chuyển đổi
dữ liệu một cách dễ dàng. Một thƣ mục chứa các thông tin về thƣ mục, đƣợc tổ
chức theo một định dạng đặc biệt. Các thành phần đƣợc xem nhƣ các file, chúng
đƣợc phân biệt dựa trên kiểu file: ordinary file, directory file, character device file,
và block device file.
b) Các kiểu file trên Android:
Trong nhiều hệ điều hành nhƣ window, ngƣời ta phân biệt rõ file (tập tin) và

Ngô Hồng Quyết – CH CNTT 2013


18


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
folder (hay directory: thƣ mục) là 2 thành phần khác hẳn nhau. Tuy nhiên trên hệ
điều hành Android(cũng nhƣ linux) thì coi directory cũng là file và nó là một loại
file đặc biệt. Thực tế còn một số loại file nữa có thể liệt kê theo bảng sau:
Chữ cái biểu diễn
d
b
c

Kiểu file
Thƣ mục (Directory)
File kiểu khối (block-type special file)
File kiểu ký tự (character-type special
file)
l
Liên kết tƣợng trƣng (symbolic link)
p
File đƣờng ống (pipe)
s
Socket
File bình thƣờng (regular file)
Bảng 1: Bảng phân loại các loại file trên Android

c) Tổ chức quyền sở hữu và quyền hạn trên file:
Tƣơng tự trên hệ thống linux, trên hệ điều hành Android, một file có thể liên
kết với một ngƣời sử dụng và một nhóm ngƣời sử dụng. Sự liên kết đó là một tập
hợp các quyền hạn truy cập bao gồm quyền đƣợc phép đọc (read), đƣợc phép ghi

(write) và đƣợc phép thực thi (execute).
Cụ thể nhƣ sau: Một file sẻ có những quyền hạn tƣơng ứng với 9 ký tự theo
mẫu sau: Với ký tự r w x nghĩa là có quyền tƣơng ứng với ký tự viết tắt đó, - nghĩa
là khơng có quyền hạn đó.
r/-

Owner
w/-

x/-

r/-

Owner Group
w/x/-

r/-

Other
w/-

x/-

3 ký tự đầu tiên là quyền hạn chủ nhân file
3 ký tự giữa là quyền hạn của nhóm tài khoản sở hữu file
3 ký tự cuối là quyền hạn của những ngƣời khơng thuộc nhóm sở hữu file.
Ví dụ: Một file có dãy ký tự biểu diễn quyền hạn là rwxr-xr—thì điều đó có
nghĩa:
3 ký tự đầu là rwx: Chủ nhân có thể đọc, ghi và thực thi file
3 ký tự tiếp theo là r-x thì nhóm tài khoản sở hữu file có quyền đọc và thực thi

filechứ khơng có quyền ghi, chỉnh sửa file.
3 ký tự cuối là r-- nghĩa là những ngƣời không sở hữu file chỉ đƣợc phép đọc mà
không thể chỉnh sửa hay thực thi file.

Ngô Hồng Quyết – CH CNTT 2013

19


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
Trên hệ thống Android, để biết xem đƣợc quyền hạn đó, ta có thể sử dụng câu lệnh
ls –l –d.
Ví dụ:
ls –l-d /mnt/sdcard/HongQuyet để xem quyền hạn của file
/mnt/sdcard/HongQuyet thì có thể trả về kết quả nhƣ sau d---rwxr-x system
sdcard_rw 2014-11-18 21:00 HongQuyet Thì những thơng tin có thể lấy về là:
o Ký tự đầu tiên là chữ d: vậy file đó có kiểu là thƣ mục hay là file bao hàm
o Chuỗi ghi quyền hạn là ---rwxr-x thì có nghĩa
---)Ngƣời sở hữu khơng đƣợc phép đọc, ghi, thực thi file
ản sử hữu đƣợc phép đọc, ghi, thực thi file
-x : Những ngƣời không sở hữu file đƣợc phép đọc và thực thi file nhƣng không
đƣợc phép chỉnh sửa hay ghi lên file.
o Chuỗi miêu tả file : sdcard_rw nghĩa là đây thuộc thiết bị thẻ nhớ sd, đọc và
ghiđƣợc.
o 2010-12-29 21:00 Thời gian chỉnh sửa lần cuối
o HongQuyet : tên của file.
Ngồi ra có 2 lệnh khác cũng hữu dụng là lệnh chown để thay đổi quyền sở hữu file,
lệnh chmod để thay đổi quyền hạn liên quan đến file và lệnh chgrp đểthay đổi nhóm
ngƣời sở hữu file.
d) Cây thư mục trên hệ điều hành Android:

Thƣ mục (hay có thể gọi là file) root là thƣ mục gốc của tất cả các file thƣ mục
còn lại. Dƣới nó có chứa một số file thƣ mục hệ thống. Mỗi thƣ mục (trừ thƣ mục
root) đều có một thƣ mục cha chứa nó, bản thân nó cũng có thể có nhiều file thƣ
mục con. Cấu trúc đó có thể mơ tả bằng một cây thƣ mục có dạng nhƣ sau:

Hinh 2: Cây thư mục Android

Ngô Hồng Quyết – CH CNTT 2013

20


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin
Giới thiệu một vài thƣ mục tiêu biểu:
o /(root): Là thƣ mục gốc. Là thƣ mục duy nhất không có thƣ mục cha.
o / mnt: thƣ mục chứa thiết bị lƣu động (removeable).
o /system: chứa những thành phần cơ bản nhất của hệ thống.
o /ect: chứa những file cấu hình của hệ thống, nó cực kỳ quan trọng vì sự hoạt động
của hệ thống đều bị chi phối ở những file cấu hình này.
o /system/lost+found: chứa những tập tin bị mất lúc khởi động máy.
o /system/font: chứa những font chữ hiển thị đƣợc.
o /system/lib: chứa các thƣ viện để các phần mềm hoạt động (các phần mềm viết
bằng ngôn ngữ java).
o /system/app: chứa các file apk của phần mềm. (Các file cài đặt ứng dụng, kiểu
nhƣ MSI trong window hay dev trong Linux).
o /system/bin: Chứa các chƣơng trình nội trú của hệ thống.

5. So sánh giữa các hệ điều hành
a) So sánh giữa hệ điều hành di động và hệ điều hành trên desktop.
 Giống nhau về bản chất hệ điều hành, những thành phần lõi hệ điều hành.

 Khác nhau:
 Hệ điều hành di động hoạt động trên các thiết bị nhỏ gọn, hạn chế nhất là
về vấn đề năng lƣợng. Pin thì có hạn, vì thế tất cả các thành phần trên
thiết bị đều phải tối ƣu để tiết kiệm pin, điều đó nảy sinh nhiều mâu thuẩn
với nhu cầu sử dụng của ngƣời dùng.
ớn và càng sáng thì sẽ tốn điện càng nhiều.
ộ nhớ lớn thì chi phí về điện cũng sẽ cao.
ộ vi xử lý càng nhanh thì càng tốn điện.
Điều đó chƣa kể đến việc thiết bị di động thì phải nhỏ gọn, nhẹ nhàng, vì
vậy càng đè nặng việc phải tối ƣu phần cứng.
Khi đó hệđiều hành di động cũng có trách nhiệm phải tối ƣu hoạt động

Ngô Hồng Quyết – CH CNTT 2013

21


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
của mình để tiết kiệm năng lƣợng một cách tối đa.
ải quản lý các ứng dụng không để các ứng dụng chạy chiếm quá
nhiều tài nguyên, tránh sự độc quyền, xung đột, tranh chấp tài nguyên giữa
các ứng dụng trong khi các hệ điều hành chạy desktop thì ít chú ý hơn. Hệ
điều hành di động ln có bộ công cụ quản lý điện năng sử dụng trong máy,
trong những tình huống cần thiết thì hệthống sẻ tự tắt những ứng dụng khơng
cần thiết để duy trì các chƣơng trình cần thiết hơn hoạt động.
ố các hệ điều hành trên desktop đều cho phép nhiều ứng dụng chạy
đồng thời (đa nhiệm) và khá tự do. Trong khi đó, các hệ điều hành chạy trên
di động thƣờng không cho phép chạy đa nhiệm, hoặc có đa nhiệm thì các
ứng dụng bị giới hạn khá nhiều.
 Việc hiển thị giao diện trên một khung hình nhỏ cũng điều khó khăn hơn

so với hệ điều hành chạy trên desktop, thƣờng thì trên hệ điều hành di
động gần nhƣ khơng có giao diện cửa sổ cho phép nhiều ứng dụng cùng
hiển thị một lúc mà chỉ là một giao diện mà trên đó mỗi thời điểm chỉ
hiển thị một giaodiện của một ứng dụng mà thơi.
 Hệ điều hành di động phải có khả năng hoạt động liên tục không ngừng
nghĩ để đảm bảo liên lạc, đảm bảo kết nối của thiết bị tới mạng không
dây cần kết nối trong khi vẫn di chuyển. Vì thế cần đƣợc thiết kế đặc biệt
hơn so với hệ điều hành trên desktop.
b) So sánh hệ điều hành Android với các hệ điều hành di động khác.
 Giống nhau: Đều là hệ điều hành di động nên mang đầy đủ bản chất của hệ
điều hành di động nói chung(Đã đề cập ở trên).
 Khác nhau:
 Android là hệ điều hành mã nguồn mởvà miễn phí trong khi các hệ điều
hành di động còn lại đều là nguồn đóng và có phí (khi một hãng thứ hai
sử dụng).
 Android đƣợc phát triển từ nhân linux do đó nó có thể chạy tốt trên nhiều
dịng điện thoại khác nhau. Có độ tƣơng thích cao với các loại phần cứng
khác nhau nhiều hơn so với các hệ điều hành di động còn lại.
 Các ứng dụng chạy trên Android đƣợc viết bằng Java trong khi đó, ứng
dụng trên các hệ điều hành khác chủ yếu là viết bằng C/C++/Object C.
Ngay cả symbian có hỗ trợ Java thì cũng khác so với Android, trong khi
hệ điều hành Android sử dụng máy ảo Java là DVM do chính Google
phát triển thì Symbian lại sử dụng máy ảo Java là J2ME của Sun.

Ngô Hồng Quyết – CH CNTT 2013

22


Luận văn tốt nghiệp cao học – Ngành Công nghệ thông tin

c) Nhận xét
Với đặc điểm là hệ điều hành mã nguồn mở, miễn phí, khả năng bảo mật cao,
hỗ trợ nhiều cơng nghệ tiên tiến, tƣơng thích với nhiều nền tảng phần cứng, khả
năng kết nối không dây và hỗ trợ đa phƣơng tiện. Hệ điều hành Android ngày càng
đƣợc sử dụng rộng rãi trên toàn thế giới, số lƣợng ngƣời sử dụng Android ngày
cảng phát triển mạnh mẽ.
Các cơng ty cơng nghệ có lợi trong việc sử dụng mã nguồn mở của Android
mà Google cung cấp để tùy biến và phát triển, cài đặt vào thiết bị của mình, qua đó
vừa có thể tận dụng đƣợc các tiến bộ cơng nghệ có sẵn trong Android vừa có thể tạo
ra các đặc thù riêng trong sản phẩm của mình qua việc phát triển thêm các tính
năng, ứng dụng mới. Chính vì vậy kho ứng dụng của Google (Google Play Store) đã
và đang phát triển bùng nổ với rất nhiều ứng dụng khác nhau trong mọi lĩnh vực.
Theo báo cáo từ hãng nghiên cứu thị trƣờng Gartner, đã có tới 210 triệu
chiếc smartphone đƣợc tiêu thụ trong khoảng 3 tháng đầu năm 2013 trên toàn thế
giới, tăng tới 63 triệu sản phẩm cho với cùng kỳ năm ngối. Cịn theo Gfk
(Gesellschaft für Konsumforschung), một tổ chức nghiên cứu thị trƣờng nổi tiếng
thế giới của Đức, Android đang là hệ điều hành điện thoại di động phổ biến nhất thế
giới hiện nay. Theo báo cáo của Gartner ở thị trƣờng toàn cầu, cứ 4 smartphone bán
ra trong ba tháng đầu năm 2013 thì có tới 3 chiếc là chạy Android, phần còn lại là
các sản phẩm chạy iOS, Windows Phone hay BlackBerry.
Bảng thống kê số lượng smartphone bán ra ở Đông Nam Á - Quý 1/2013 của GfK:
Đông Nam Á Việt Nam Indonesia Singapore Malaysia Philipines Thái Lan
Android 8.753.000 1.102.000 2.285.000 500.000 1.669.000 1.464.000 1.600.000
4.065.000
544.000 2.192.000 153.000 386.000 166.000 535.000
Khác
(Nguồn: Báo cáo thị trường Quý I – 2013 của GFK)

Các số liệu nêu trên cho thấy xu hƣớng phát triển mạnh mẽ của hệ điều hành
Android và theo đó là sự phát triển, nở rộ các ứng dụng chạy trên Android. Các thiết

bị dùng hệ điều hành Android ngày càng nhiều và đa dạng, đặc biệt là các thiết bị di
động thơng minh nhƣ: Điện thoại Smart Phone, máy tính bảng, set-top-box… Việc
nghiên cứu, nắm bắt, làm chủ hệ điều hành Android để tiếp tục phát triển thêm
nhiều các ứng dụng là điều rất quan trọng và cần thiết với các lập trình viên nói
chung và đặc biệt đối với các lập trình viên di động nói riêng.
Đối với các cơng ty công nghệ tại Việt Nam, việc nghiên cứu, sử dụng
Android mở ra cơ hội mới để có thể tự mình làm chủ cơng nghệ. Họ có thể sử dụng
mã nguồn mở của Android để tùy biến, cài đặt trên thiết bị của mình, qua đó vừa tận

Ngơ Hồng Quyết – CH CNTT 2013

23


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
dụng đƣợc các tiến bộ cơng nghệ có sẵn trên Android vừa có thể tạo đƣợc sự khác
biệt cho sản phẩm bởi các tính năng, các ứng dụng mới với chi phí đầu tƣ thấp.

Ngơ Hồng Quyết – CH CNTT 2013

24


Luận văn tốt nghiệp cao học – Ngành Công nghệ thơng tin
II.

CƠ SỞ LÝ THUYẾT VỀ KIẾN TRÚC HƢỚNG MƠ HÌNH MDA

1. Tổng quan
MDA do OMG đề xuất vào năm 2000.MDA là một hƣớng tiếp cận sử dụng

mơ hình để phát triển phần mềm.MDA bắt đầu từ ý tƣởng nổi tiếng tồn tại từ rất lâu
là: làm rõ và đặc tả các tác vụ hệ thống-cái nào phụ thuộc nền (platform),cái nào
không phụ thuộc nền, đồng thời chia ra các mức phụ thuộc.MDA định hƣớng các
công cụ hỗ trợ:





Xác định phần độc lập giữa hệ thống và nền.
Xác định phần phụ thuộc nền.
Chọn một nền chuyên biệt mà hệ thống phụ thuộc.
Chuyển đổi hệ thống từ đặc tả nền này sang đặc tả nền khác.

Một số lợi ích mà MDA hƣớng tới cho ngƣời dùng:
 Tính di động: Tăng khả năng tái sử dụng, giảm chi phí và độ phức tạp
của việc phát triển và quản lý ứng dụng cho hiện tại và cả trong tƣơng
lai.
 Khả năng cộng tác giữa các nền tảng: Việc sử dụng nghiêm ngặt các
phƣơng thức để đảm bảo rằng các tiêu chuẩn dựa trên nhiều công
nghệ thực thi độc lập nhau nhƣng vẫn cho kết quả giống nhau.
 Độc lập nền: Giảm thời gian,chi phí và sự phức tạp liên quan.
 Năng suất: Bằng sự cho phép của những ngƣời lập trình,ngƣời thiết kế
và ngƣời quản lý hệ thống để sử dụng các ngôn ngữ và các khái niệm
họ thấy thoải mái,trong khi đó điều này làm cho sự giao tiếp,trao đổi
giữa các nhóm và các cá nhân trong nhóm sẽ dễ dàng hơn rất nhiều.
Điều này mang đến giảm chi phí thơng qua kéo dài vòng đời ứng dụng,giảm
thời gian phát triển cho các ứng dụng mới,cải thiện chất lƣợng ứng dụng,tăng giá trị
đầu tƣ cơng nghệ và nhanh chóng có đƣợc các lợi ích cơng nghệ bên trong các hệ
thống có sẵn.Nhƣng không phải trong tất cả các trƣờng hợp đều nhƣ vậy.

2. Một số khái niệm cơ bản
a) Hệ thống
Hệ thống có thể bao gồm mọi thứ: Một chƣơng trình,một hệ thống máy tính
đơn,sự kết hợp của một vài phần của các hệ thống khác nhau.
b) Mơ hình
Một mơ hình của hệ thống là một sự miêu tả hoặc sự làm rõ hệ thống và môi

Ngô Hồng Quyết – CH CNTT 2013

25


×