MỤC LỤC MỞ ĐẦU 1 1. Lý do chọn chuyên đề thực tập. 1 2. Đối tượng, phạm vi và phương pháp thực hiện chuyên đề thực tập. 2 3. Mục tiêu và nội dung của đề tài 2 CHƯƠNG 1. TỔNG QUAN CHUNG VỀ CƠ SỞ THỰC TẬP 3 CHƯƠNG 2. KẾT QUẢ THỰC HIỆN CHUYÊN ĐỀ 4 2.1 Giới thiệu về mối quan hệ khách hàng 4 2.2 Tổng quan hệ điều hành Android 5 2.2.1 Giới thiệu về Android 5 2.2.2 Kiến trúc hệ điều hành Android 7 2.2.3 Lịch sử hệ điều hành Android 10 2.3 Tổng quan phần mềm Eclipse 16 2.3.1 Eclipse là gì? 16 2.3.2 Kiến trúc của Eclipse 16 2.3.3 Ưu và nhược điểm của phần mềm 17 2.4 Phân tích thiết kế phần mềm quản lý khách hàng trên thiết bị di động 17 2.4.1 Tại sao phải quản lý khách hàng 17 2.4.2 Sơ đồ Use Case hệ thống quản lý 19 2.4.3 Xây dựng scenario cho hệ thống 21 2.4.4 Biểu đồ lớp phân tích 29 2.4.5 Thiết kế cơ sở dữ liệu 30 2.4.6 Sơ đồ giao tiếp 30 TỔNG KẾT 36 DANH MỤC TÀI LIỆU THAM KHẢO 38
Trang 1BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
********
BÁO CÁO THỰC TẬP TỐT NGHIỆP
XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH HÀNG
TRÊN THIẾT BỊ DI ĐỘNG ANDROID
Địa điểm thực tập : Công ty cổ phần công nghệ tương lai Việt Nam Người hướng dẫn : Mai Văn Hiển
Sinh viên thực hiện : Dương Thị Thanh Huyền
Chuyên ngành : Công nghệ thông tin
Hà Nội, tháng 4 năm 2016
Trang 2BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Trang 3Em xin chân thành cám ơn các thầy cô, cán bộ, công nhân viên của Khoa Côngnghệ thông tin, các Khoa, đoàn thể khác của trường đại học Tài Nguyên và MôiTrường Hà Nội đã nhiệt tình quan tâm và tạo nhiều điều kiện thuận lợi cho em trongquá trình thực tập tốt nghiệp.
Em xin chân thành cảm ơn tập thể cán bộ nhân viên Công ty cổ phần công nghệtương lai Việt Nam (Ftech.vn) đã nhiệt tình hướng dẫn, động viên, hỗ trợ em trongsuốt quá trình thực tập, giúp em vượt qua những hạn chế của bản thân và những khókhăn trong quá trình nghiên cứu
Em cũng xin gửi lời cảm ơn tới các thầy cô đã giảng dạy em trong suốt nhữngnăm học tập tại trường, những người đã truyền đạt cho em không chỉ kiến thức, kinhnghiệm quý báu, mà cả những câu chuyện về cuộc sống, những bài học làm người ýnghĩa Những kiến thức, bài học đó đã, đang và sẽ tiếp tục là hành trang, động lực giúp
em tự hoàn thiện bản thân, vượt qua những khó khăn và vững bước trên con đườngphía trước
Con xin cảm ơn gia đình đã luôn quan tâm, chăm sóc, tin tưởng, ủng hộ controng suốt quá trình học tập.Xin cảm ơn tất cả bạn bè đã luôn là nguồn động viên, ủng
hộ to lớn với tôi trong những năm tháng ở giảng đường đại học
Mặc dù em đã cố gắng hoàn thành thực tập bằng tất cả sự nỗ lực và khả nănghạn chế của mình, nhưng chắc chắn vẫn còn nhiều thiếu sót Em mong nhận được sựcảm thông và những góp ý quý giá từ thầy cô và các bạn
Em xin chân thành cảm ơn!
Trang 4KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
STT Ký hiệu
viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt
1 ADT Android Development Tools Bộ công cụ phát triển Android
2 API Application Programming
Interface
Giao diện lập trình ứng dụng
3 IDE Integrated Development
Enviroment
Môi trường phát triển tích hợp
4 JDT Java Development Toolkit Bộ công cụ phát triển Java
5 PDE Plug-in Development
Trang 6MỤC LỤC
MỞ ĐẦU 1
1.Lý do chọn chuyên đề thực tập 1
2.Đối tượng, phạm vi và phương pháp thực hiện chuyên đề thực tập 2
3.Mục tiêu và nội dung của đề tài 2
CHƯƠNG 1 TỔNG QUAN CHUNG VỀ CƠ SỞ THỰC TẬP 3
CHƯƠNG 2 KẾT QUẢ THỰC HIỆN CHUYÊN ĐỀ 4
2.1Giới thiệu về mối quan hệ khách hàng 4
2.2Tổng quan hệ điều hành Android 5
2.2.1Giới thiệu về Android 5
2.2.2Kiến trúc hệ điều hành Android 7
2.2.3Lịch sử hệ điều hành Android 10
2.3Tổng quan phần mềm Eclipse 16
2.3.1Eclipse là gì? 16
2.3.2Kiến trúc của Eclipse 16
2.3.3Ưu và nhược điểm của phần mềm 17
2.4Phân tích thiết kế phần mềm quản lý khách hàng trên thiết bị di động 17
2.4.1Tại sao phải quản lý khách hàng 17
2.4.2Sơ đồ Use Case hệ thống quản lý 19
2.4.3Xây dựng scenario cho hệ thống 21
2.4.4Biểu đồ lớp phân tích 29
2.4.5Thiết kế cơ sở dữ liệu 30
2.4.6Sơ đồ giao tiếp 30
TỔNG KẾT 36
DANH MỤC TÀI LIỆU THAM KHẢO 38
Trang 7DANH SÁCH BẢNG
Bảng 2 1 Phiên bản chính hệ điều hành Android 13
Bảng 2 2 So sánh Android với hệ điều hành di động khác 15
Bảng 2 3 Danh sách Usecase và Actor 20
Bảng 2 4 Scenario Login 21
Bảng 2 5 Scenario Chức năng tìm kiếm khách hàng 22
Bảng 2 6 Scenario chức năng thay đổi thông tin khách hàng 22
Bảng 2 7 Scenario chức năng xóa khách hàng 23
Bảng 2 8 Scenario chức năng thêm khách hàng 24
Bảng 2 9 Scenario tìm kiếm hóa đơn 25
Bảng 2 10 scenario chức năng thay đổi thông tin hóa đơn 26
Bảng 2 11Scenario chức năng đóng hóa đơn 27
Bảng 2 12 Scenario chức năng thêm mới hóa đơn 28
Trang 8DANH SÁCH HÌNH VẼ
Hinh 2 1 Logo hệ điều hành Android 6
Hinh 2 2 Các Smartphone trọng tâm 6
Hinh 2 3 Kiến trúc hệ điều hành Android 7
Hinh 2 4 Sự đa dạng điện thoại Android 11
Hinh 2 5 Quá trình phát triển Android 12
Hinh 2 6 Kiến trúc Eclipse 16
Hinh 2 7 Biểu đồ use case hệ thống 19
Hinh 2 8 Biểu đồ lớp phân tích 29
Hinh 2 9 Sơ đồ thiết kế cơ sở dữ liệu 30
Hinh 2 10 Sơ đồ giao tiếp chức năng login 31
Hinh 2 11 Sơ đồ giao tiếp chức năng thêm khách hàng 31
Hinh 2 12 Biểu đồ giao tiếp chức năng tìm kiếm khách hàng 32
Hinh 2 13 Biểu đồ giao tiếp chứ năng cập nhật thông tin khách hàng 32
Hinh 2 14 Biểu đồ quan hệ chức năng xóa khách hàng 33
Hinh 2 15 Biểu đồ giao tiếp chức năng tạo mới hóa đơn 33
Hinh 2 16 Biểu đồ quan hệ chức năng tìm kiếm hóa đơn 34
Hinh 2 17 Biểu đồ giao tiếp chức năng hủy hóa đơn 34
Hinh 2 18 Biểu đồ giao tiếp chức năng cập nhật thông tin hóa đơn 35
Hinh 2 19 Biểu đồ giao tiếp chức năng gọi ý sản phẩm cho khách hàng 35
Trang 9MỞ ĐẦU
1 Lý do chọn chuyên đề thực tập.
Với cuộc sống ngày càng bận rộn và phát triển ngày nay, để có thể theo kịpđược guồng quay của nhịp sống, con người cần biết được thông tin một cách nhanhchóng, kịp thời, chính xác và chi tiết, đặc biệt là những thông tin liên quan mật thiếtvới đời sống và công việc Đối với nhà kinh doanh, quản lý, việc cập nhật thông tin vềkhách hàng, xu hướng hiện tại trở lên vô cùng quan trọng Việc cập nhật quản lý thôngtin khách hàng không chỉ ảnh hưởng đến khả năng kinh doanh của công ty, cửa hàng,
mà còn ảnh hưởng rất nhiều đến các kế hoạch, dự định đầu tư trong tương lai, thậm chíquyết định thành công của người quản lý trong lĩnh vực kinh doanh
Ngày xưa, việc dự quản lý khách hàng thường nhờ vào quản lý sổ sách hoặctrên máy tính… mọi công tác tính toán, xem xét, theo dõi hầu như được thực hiện thủcông, dẫn đến có thể xảy ra sai sót không nhỏ gây nên những khó khăn không nhỏ đốivới công việc kinh doanh của công ty hay cửa hàng
Ngày nay, với sự phát triển của khoa học kỹ thuật, đã có những phương pháp vàcông cụ tiên tiến để quản lý khách hàng với độ chính xác cao hơn cũng như sự sai lệch
về thời gian xảy ra ít hơn Tuy nhiên, thông thường chúng ta phải có một chiếc máytính cá nhân để quản lý khách hàng Với cuộc sống ngày càng bận rộn như ngày naythì không phải lúc nào chúng ta cũng có thể quản lý, theo dõi cửa hàng thông qua máytính, vì vậy nhu cầu thiết yếu hiện nay là cần có một cách nào đó để biết được thôngtin khách hàng một cách chi tiết, chính xác, kịp thời, mọi lúc mọi nơi
Với sự phát triển bùng nổ của công nghệ thông tin trong thời đại ngày nay,mạng internet và các thiết bị di động đã có mặt rộng rãi, phủ sóng rộng khắp trongcuộc sống hàng ngày của chúng ta Chúng trở thành một phần không thể thiếu, giúpích rất nhiều trong công việc, học tập cũng như các lĩnh vực đời sống khác Chỉ cầnvới một chiếc điện thoại di động được kết nối mạng internet, chúng ta có thể truy cậpthông tin một cách nhanh chóng và hiệu quả
Tuy nhiên, việc tận dụng được những khả năng của smartphone và mạnginternet để lấy được thông tin cần thiết, cũng như truy xuất được các tri thức hữu ích từcác định dạng dữ liệu mà các API cung cấp thì phải thông qua các phần mềm, ứngdụng mà các lập trình viên cung cấp Bởi lẽ người dùng thông thường không am hiểunhiều về công nghệ sẽ gặp khó khăn trong việc tìm kiếm cũng như hiểu rõ các dữ liệu
Trang 10trong kết quả trả về, do đó các phần mềm, ứng dụng với giao diện thân thiện và dễ sửdụng với người dùng sẽ là sự lựa chọn tốt nhất và tiện lợi nhất.
Nhận thấy những điều trên, em có ý tưởng kết hợp các công nghệ này lại vớinhau để tạo ra một ứng dụng phù hợp với nhu cầu quản lý thông tin khách hàng mộtcách chi tiết, nhanh chóng và tiện lợi, đó là phần mềm được phát triển trên hệ điềuhành Android với tên gọi là “Quản lý khách hàng”
2 Đối tượng, phạm vi và phương pháp thực hiện chuyên đề thực tập.
oĐối tượng thực hiện
- Đề tài tập trung nghiên cứu, phân tích thiết kế phần mềm quản lý khách hàngcho cửa hàng trên hệ điều hành Android
3 Mục tiêu và nội dung của đề tài
Mục tiêu: Nghiên cứu, phân tích thiết kế phần mềm quản lý khách hàng trênthiết bị di động android
- Hiển thị thông tin cá nhân của khách hàng
- Cho phép người quản trị có thể thêm, sửa, xóa thông tin của khách hàng
- Cho phép người quản trị xem đơn hàng, lịch sử mua bán, thay đổi cập nhậtđơn hàng hoặc hủy đơn hàng
- Đưa ra danh sách sản phẩm gợi ý cho khách hàng thông qua thống kê lịch sử mua hàng
Trang 11CHƯƠNG 1 TỔNG QUAN CHUNG VỀ CƠ SỞ THỰC TẬP
Công ty cổ phần công nghệ tương lai Việt Nam (Ftech.vn) có trụ sở tại phòng
607, 57 Láng Hạ, Ba Đình, Hà Nội là một công ty uy tín trong lĩnh vực cung cấp dịch
vụ hosting, máy chủ ảo (Virtual Private Server - VPS), dịch vụ hỗ trợ đặt máy chủ tạinhiều trung tâm dữ liệu VNPT,FPT,ODS… Với mục tiêu trở thành một trong nhữngnhà cung cấp Hosting lớn nhất, đi đầu trong công nghệ môi trường lưu trữ,cung cấpdịch vụ tốt nhất, Ftech.vn đã không ngừng hoàn thiện và nâng cấp dịch vụ của công ty
Ftech.vn có sử dụng phiên bản Cpanel mới nhất CPanel là một hệ thống quảntrị web hosting trên nền tảng Linux phổ biến và mạnh mẽ nhất hiện nay Cpanel cungcấp giao diện đồ họa đơn giản, linh hoạt với rất nhiều tính năng giúp các bạn quản trịhosting và website của mình một cách dễ dàng Như vậy Ftech.vn cho phép ngườidùng có thể sử dụng một số chức năng mà chỉ Cpanel phiên bản mới nhất mới có, đó
là chuyển version PHP tự do PHP là viết tắt của cụm từ Personal Hompe Page làngôn ngữ chạy trên máy chủ và được dùng để tạo ra các website với tính năng phứctạp Khác với các ngôn ngữ HTML hay Javascript được chạy trên trình duyệt củangười dùng (hay còn gọi là máy khách) thì PHP được viết để chạy trên máy chủ Nhờ
đó người dùng hoàn toàn có thể chủ động cấu hình các Module mở rộng cho PHP, phùhợp cho hầu hết các website chạy mã nguồn mở và mã nguồn đóng
Tiếp nữa, bên Ftech.vn sử dụng Light Speed làm server kết hợp với Apache,qua đó tạo được cảm giác bất ngờ về tốc độ, điều này giúp Ftech.vn giảm số lần xử lýtrên CPU và giúp cho khách hàng cảm giác trang web chạy nhanh và nhẹ !
Hiện tại bên Ftech.vn còn có công cụ giúp chống DDOS hiệu quả cho tất cả cácgói dịch vụ của mình DDoS là kiểu tấn công làm cho mục tiêu, là các trang web, dịch
vụ trực tuyến, trở nên quá tải Người dùng gặp khó khăn, hay thậm chí không thể truycập vào các trang web, dịch vụ này Qua đó Ftech.vn giúp khách hàng cảm thấy an tâmmỗi khi sử dụng dịch vụ của Ftech.vn
Với đội ngũ hơn 10 năm kinh nghiệp trong lĩnh vực hosting,Ftech.vn luôn luônhiểu khách hàng cần gì và muốn gì Ftech.vn đã không ngừng nỗ lực hoàn thiện bảnthân để phục vụ hàng ngàn khách hàng, quàn lý hàng vạn địa chỉ IPv4, ngày càngchứng tỏ chất lượng và dịch vụ trong lĩnh vực quản lý hosting
Trang 12CHƯƠNG 2 KẾT QUẢ THỰC HIỆN CHUYÊN ĐỀ
2.1Giới thiệu về mối quan hệ khách hàng
Quản lý quan hệ khách hàng hay CRM (tiếng Anh: Customer relationshipmanagement) là một phương pháp giúp các doanh nghiệp tiếp cận và giao tiếp vớikhách hàng một cách có hệ thống và hiệu quả, quản lý các thông tin của khách hàngnhư thông tin về tài khoản, nhu cầu, liên lạc và các vấn đề khác nhằm phục vụ kháchhàng tốt hơn Các mục tiêu tổng thể là tìm kiếm, thu hút, giành niềm tin khách hàngmới, duy trì những đối tác đã có, lôi kéo khách hàng cũ trở lại, giảm chi phí tiếp thị và
mở rộng dịch vụ khách hàng Việc đo lường và đánh giá mối quan hệ với khách hàng
là rất quan trọng trong mục tiêu thực hiện chiến lược
Thông qua hệ thống quan hệ khách hàng, các thông tin của khách hàng sẽ đượccập nhật và được lưu trữ trong hệ thống quản lý cơ sở dữ liệu Nhờ một công cụ dò tìm
dữ liệu đặc biệt, doanh nghiệp có thể phân tích, hình thành danh sách khách hàng tiềmnăng và lâu năm để đề ra những chiến lược chăm sóc khách hàng hợp lý Ngoài ra,doanh nghiệp còn có thể xử lý các vấn đề vướng mắc của khách hàng một cách nhanhchóng và hiệu quả
Quản lý quan hệ khách hàng cung cấp một hệ thống đáng tin cậy, giúp quản lýkhách hàng và nhân viên, cải thiện mối quan hệ giữa nhân viên với khách hàng Mộtchính sách quan hệ khách hàng hợp lý còn bao gồm chiến lược đào tạo nhân viên, điềuchỉnh phương pháp kinh doanh và áp dụng một hệ thống công nghệ thông tin phù hợp.Quan hệ khách hàng không đơn thuần là một phần mềm hay một công nghệ mà còn làmột chiến lược kinh doanh bao gồm cả chiến lược tiếp thị, đào tạo và các dịch vụ màdoanh nghiệp cung ứng tới khách hàng Doanh nghiệp có thể lựa chọn một giải phápquan hệ khách hàng hợp lý dựa trên tiêu chí đặt khách hàng ở vị trí trung tâm, quantâm tới nhu cầu của khách hàng nhằm đạt được mục đích là duy trì mối quan hệ tốt vớikhách hàng và đạt được lợi nhuận tối đa trong kinh doanh
Tóm lại, CRM là tập hợp các công tác quản lý, chăm sóc và xây dựng mối quan
hệ giữa các khách hàng và doanh nghiệp
Trang 132.2 Tổng quan hệ điều hành Android
2.2.1 Giới thiệu về Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành chocác thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từGoogle và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồmcác công ty phần cứng, phần mềm và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn
mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vàotháng 10 năm 2008
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phépApache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đãcho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyếtđược điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có mộtcộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năngcủa thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012,
có khoảng 700.000 ứng dụng trên Android và số lượt tải ứng dụng từ Google Play, cửahàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minhphổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 và được các công tycông nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinhchỉnh và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả làmặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiệntrên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũngkhích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mãnguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung cáctính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết
bị ban đầu chạy hệ điều hành khác
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thờiđiểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệulượt kích hoạt mỗi ngày [1]
Trang 14Hinh 2 1 Logo hệ điều hành Android
Hệ điều hành Android là một hệ điều hành rất mạnh, có bảo mật cao, hỗ trợ
được nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi… tương thích với nhiềuphần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và trackball.Android là hệ điều hành di động nên có khả năng kết nối cao với các mạng không dây,
hỗ trợ công nghệ OpenGL, có khả năng chơi các phương tiện media, hoạt hình cũngnhư trình diễn các khả năng đồ họa khác 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ầnAndroid được tối ưu hóa để hoạt động tốt hơn, ổn định hơn, hỗ trợ thêm công nghệmới[2]
2.2.2 Kiến trúc hệ điều hành Android
Hinh 2 2 Các Smartphone trọng tâm
Trang 15Hệ điều hành Android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux (Phiênbản 2.6), tầng Libraries & Android Runtime, tầng Application Framework và trêncùng là tầng Applications.
oTầng hạt nhân Linux (Linux Kernel layer): Hệ điều hành Android được pháttriển dựa trên hạt nhân Linux, cụ thể là hạt nhân Linux phiên bản 2.6, đ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ớ (memorymanagement), 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 ranhâ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ữngthiế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:
- Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu nhậnnhữ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
Hinh 2 3 Kiến trúc hệ điều hành Android
Trang 16- Audio Drivers: Điều khiển các bộ thu phát âm thanh, giải mã các tính hiệudạ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 để đảm bảo những chức năng truyền thông đượcthực hiện
oTầng Libraries: 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, đượ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à ghicá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 Browser) 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
oPhần Android Runtime: Phần này chứa các thư viện mà một chương trình viếtbằ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ìnhchạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Libraries), chứa cáclớp như JAVA IO, Collections, File Access Thứ hai là một máy ảo java (DalvikVirtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Javacủ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
oTầ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ếtbằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên Giới thiệu một số thànhphầ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ư cungcấ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ệnthoại
Trang 17- 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ườidùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng
- Notification Manager: Quản lý việc hiển thị các thông báo (như báo có tinnhắ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ácfile hình ảnh, âm thanh, layout, string…(những thành phần không được viết bởi ngônngữ lập trình)
oTầng Applications:Đây là lớp ứng dụng giao tiếp với người dùng, bao gồmcác ứng dụng như:
- 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àmviệ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 khoán (Stock), các tròchơi (Game), từ điển
oCá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 đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình có giaodiệ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, trong cùng một thời điểm, có thể có nhiềuchươ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ựcthể đượ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, giúp
Trang 18- Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu[3]
2.2.3 Lịch sử hệ điều hành Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, Californiavào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner(đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốcT-Mobile) và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theolời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thíchcủa người dùng" Dù những người thành lập và nhân viên đều là những người có tiếngtăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làmphần mềm dành cho điện thoại di động Trong năm đó, Rubin hết kinh phí StevePerlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từchối tham gia vào công ty
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nóthành một bộ phận trực thuộc Google Những nhân viên của chủ chốt của Tổng công
ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sauthương vụ này Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưngnhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động saubước đi này Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị
di động phát triển trên nền nhân Linux Google quảng bá nền tảng này cho các nhà sảnxuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và
có khả năng nâng cấp Google đã liên hệ với hàng loạt hãng phần cứng cũng như đốitác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khácnhau
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại diđộng xuất hiện trong tháng 12 năm 2006 Tin tức của BBC và Nhật báo phố Wall chúthích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điệnthoại di động và họ đang nỗ lực làm việc để thực hiện điều này Các phương tiệntruyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triểnmột thiết bị cầm tay mang thương hiệu Google Một vài tờ báo còn nói rằng trong khiGoogle vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sảnphẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng Tháng 9 năm 2007,
Trang 19Information Week đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộpmột số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động.
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open HandsetAlliance), một hiệp hội bao gồm nhiều công ty trong đó có 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 được thành lậpvới mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày, Androidcũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị
di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Androidđầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểutrưng của hệ điều hành Android mới là một con rô bốt màu xanh lá cây do hãng thiết
kế Irina Blok tại California vẽ
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để cải tiến hệ điều hành,
bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước Mỗi bảnnâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn trángmiệng, ví dụ như phiên bản 1.5 Cupcake tiếp nối là phiên bản 1.6 Donut [4]
Đến năm 2010, số lượng smartphone nền tảng Android tăng trưởng mạnh mẽ Hàng loạt nhà sản xuất hàng đầu đã bắt tay sản xuất smartphone như Samsung,HTC, Motorola Thậm chí, Android còn được coi là “cứu cánh” cho nhiều đại giacông nghệ bước sang một trang mới trong việc cải thiện doanh số, bán hàng có lãi saumột thời gian dài trì trệ, tiêu biểu là Motorola
Hinh 2 4 Sự đa dạng điện thoại AndroidHinh 2 5 Quá trình phát triển Android
Trang 20Từ lúc ra mắt phiên bản đầu tiên cho tới nay, Android đã có rất nhiều bản nângcấp Đa số đều tập trung vào việc vá lỗi và thêm những tính năng mới Android nhữngthế hệ đầu tiên 1.0 (9/2008) và 1.1 (2/2009) chưa có tên gọi chính thức Từ thế hệ tiếptheo, mỗi bản nâng cấp đều được đặt với những mã tên riêng dựa theo các món ăn hấpdẫn theo thứ tự bảng chữ cái từ “C-D-E-F-G-H-I” [5] Hiện tại các phiên bản chínhcủa Android bao gồm:
Trang 21Bảng 2 1 Phiên bản chính hệ điều hành Android
-Tính năng Quick Search Box-Android Market
-Hỗ trợ các thành phần đồ họa-độc lập với độ phân giải2.0/2.1 Eclair -Hỗ trợ nhiều tài khoản người dùng
-Quick Contact-Cải tiến bàn phím ảo-Trình duyệt mới-Giao diện mới-Live Wallpaper-Màn hình khóa mới-Chuyển giọng nói thành văn bản2.2 Froyo -Giao diện màn hình chính thay đổi
-Dãy nút kích hoạt nhanh-Trình duyệt xem ảnh mới-Tính năng trạm phát wifi-Duyệt Web với Flash-Hỗ trợ dịch chuyển một phần ứng dụng từ bộnhớ máy sang thẻ nhớ
2.3.x Gingerb
read
-Thanh chặn khi chọn văn bản-Bàn phím được cải tiến-Công cụ quản lý pin, ứng dụng-Hỗ trợ máy ảnh trước
Trang 22-Không còn nút nhấn vật lý-Cải thiện đa nhiệm
-Thanh Action Bar4.0.x IceCrea
m
Sandwic
h
-Sử dụng bộ font Roboto-Hệ thống thông báo tiện dụng-Bàn phím tự động sửa lỗi cao hơn, việc saochép cắt dán được cải thiện
-Mở khóa màn hình bằng khuôn mặt-Android Beam
-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ột4.1/4.2
bộ tài khoản-Google Now4.4 KitKat -Chế độ toàn màn hình
-Hiệu ứng chuyển cảnh màn hình-Giao diện mới
-Yêu cầu cấu hình thấp hơn-Thời lượng pin tăng
-Bảo mật tốt hơn5.0 Lollipop -Android trên mọi màn hình
-Thiết kế báo nhắc hoàn toàn mới-Cải thiện thời lượng pin
-Mở khóa dựa trên bối cảnh-Tìm kiếm bối cảnh cải tiến
So sánh Android với hệ điều hành di động khác
Bảng 2 2 So sánh Android với hệ điều hành di động khác
Android Google Android là nền tảng mở, cho phép
người dùng có thể truy biến nền tảng này
theo ý thích, hơn nữa lại có một liên minh
Có hỗ trợ cảm ứng đa điểmnhưng chức năng này bị tắt
vì vi phạm bản quyền với
Trang 23thiết bị cầm tay mở hậu thuẫn, GoogleAndroid đang là một đối thủ với Iphone củahãng Apple Google đang tích cực mở rộngcộng đồng phát triển các ứng dụng choandroid Bộ phát triển công cụ phần mềmSDK đầy đủ, hỗ trợ đa nềntảng(Linux,Window hay Mac OS) do chạytrên máy ảo Java Thư viện ngày càng hoànthiện, dễ dàng cho người sử dụng
iOS, giao diện không bắtmắt,khả năng hỗ trợ bộ nhớkém hơn iOS,không đồng bộđược với máy tính
cụ lập trình
Gặp trở ngại với Android vàiOS do hai hệ điều hành nàycàng hoàn thiện và đượcngười sử dụng ưa chuộng
iOS - Màn cảm ứng đa điểm: iOS sử dụng hoàn
toàn bằng cảm ứng và không sử dụng cácnút Với iOS ta có thể điều khiển màn hình
kể cả việc trượt của các ngón tay Ta có thểphóng to hình bằng việc trượt hai ngón ta ra
xa và thu nhỏ hình ảnh bằng cách ngược lại
- Bộ cảm biến gia tốc: những phản ứngnhanh chóng của bộ cảm biến gia tốc thayđổi độ phân giải màn hình từ dọc sangngang khi ta thay đổi đặt ngang điệnthoại.Điều này làm sinh động thêm cho cáctrò chơi Âm thanh, hình ảnh hoàn hảo
Không gửi được tin nhắn đaphương tiện (MMS) và IM(Instant Messaging), thiếu
bộ nhớ mở rộng.Việc lậptrình iOS phải thực hiện trên
hệ điều hành Mac, do đókhông phải ai cũng có thểlập trình cho iOS Hơn thếnếu muốn đưa chương trình
ra chạy thật thì người lậptrình phải trả một khoản phílập trình, làm giảm tính cạnhtranh