Người dùng có thểtương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảmứng của các thiết bị của Apple.. Cấu trúc của hệ điều hành IOS Apple không cho phép
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
ĐỒ ÁN CHUYÊN NGÀNH XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC VÀ THI BẰNG LÁI XE Ô TÔ B2 TRÊN IOS
Giáo viên hướng dẫn: THS TRẦN MẠNH HÙNG
Sinh viên thực hiện:
Trang 2LỜI MỞ ĐẦU
Ngày nay việc thi bằng lái xe máy và ô tô rất phổ biến với mọi người dân, và không phải ai
cứ đi xe máy, ô tô là hiểu hầu hết các luật Giao thông đường bộ Với tình trạng công nghệthông tin phát triển như hiện giờ, nhiều sản phẩm hỗ trợ việc thi và học bằng lái xe đã ra đờinhưng vẫn còn giới hạn là chỉ chạy máy tính để bàn Việc đó rất bất tiện cho những người đilàm có ít thời gian rảnh dỗi ngồi máy tính
Phần mềm ôn thi giấy phép lái xe gồm đầy đủ 450 câu hỏi sử dụng cho sát hạch, cấp giấyphép lái xe cơ giới đường bộ được áp dụng từ ngày 01/07/2013 giúp các bạn đang chuẩn bịthi bằng lái xe A1, A2, A3, A4, B1, B2, C, D, E và F có thể ôn thi phần lý thuyết một cáchnhanh chóng và hiệu quả nhất
Ứng dụng luyện thi bằng lái xe máy, ô tô bằng các bài trắc nghiệm của bộ đề thi Bạn có thểthi theo đề, theo phần lý thuyết, biển báo, phần sa hình Tính kết quả, thời gian làm bài Vớiphần mềm này bạn có thể học lý thuyết hoặc thi thử trắc nghiệm bằng lái xe mọi lúc mọinơi
Trang 3Trước tiên nhóm em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô trong Trường ĐạiHọc Công nghệ Thông Tin nói chung và các thầy cô trong khoa Mạng Máy Tính và TruyềnThông nói riêng đã tận tình giảng dạy, truyền đạt cho nhóm em những kiến thức, kinhnghiệm quý báu trong suốt thời gian qua.
Đặc biệt, Nhóm xin gởi lời cảm ơn chân thành đến Ths.Trần Mạnh Hùng là người trực tiếphướng dẫn nhóm thực hiện đồ án này Trong quá trình làm việc với thầy, nhóm em khôngngừng tiếp thu thêm nhiều kiến thức bổ ích về môn học và có thể tự tin hoàn thành tốt đồ áncủa nhóm Sau cùng, nhóm xin gửi lời cảm ơn chân thành tới chúng ta bè đã có những đónggóp ý kiến và giúp đỡ trong quá trình thực hiện đồ án môn học
Mọi lời góp ý của thầy nhóm xin chân thành lắng nghe và tiếp thu
Một lần nữa, nhóm em xin chân thành cảm ơn!
TPHCM, tháng 7 năm 2014
Nhóm thực hiện Trương Nhựt Bình – Trần Phúc Duy – Nguyễn Văn Phục
Trang 4(Của giảng viên hướng dẫn)
Trang 5
Chương 1:Tổng quan về hệ điều hành IOS 1
1.1 Hệ điều hành IOS 1
1.2 Cấu trúc của hệ điều hành IOS 2
1.3 Ngôn ngữ lập trình Objective-C 3
1.4 Cơ sở dữ liệu Sqlite 5
1.4.1 Giới thiệu 5
1.4.2 Cấu hình ứng dụng để tương tác với Sqlite 6
1.4.3 Các hàm trong Sqlite 6
1.4.4 Cài đặt Sqlite Manager cho Firefox 6
Chương 2: Xây dựng ứng dụng học và thi bằng lái xe B2 8
2.1 Giới thiệu về bằng lái xe 8
2.2 Nội dung thi bằng lái B2 9
2.2.1 Lý thuyết 9
2.2.2 Qui trình sát hạch 10
2.3 Giới thiệu ứng dụng 13
2.4 Thiết kế cơ sở dữ liệu 14
2.4.1 Cơ sở dữ liệu 450 câu hỏi trắc nghiệm 14
2.4.2 Cơ sở dữ liệu biển báo giao thông 15
2.4.3 Cơ sở dữ liệu Mẹo thi và chú ý khi thi 16
2.4.4 Cơ sở dữ liệu người dùng 17
2.5 Giao diện ôn thi trắc nghiệm 450 câu hỏi 18
2.6 Giao diện thi thử trắc nghiệm 30 câu 19
2.7 Giao diện ôn tập biển báo giao thông 22
2.8 Tiện ích biển số xe 25
2.9 Thông tin cần biết 25
Chương 3: Tổng kết 27
3.1 Kết quả đạt được 27
3.2 Hướng phát triển của ứng dụng 27
Trang 7Chương 1:Tổng quan về hệ điều hành IOS
1.1 Hệ điều hành IOS
IOS là hệ điều hành trên các thiết bị di động của Apple Ban đầu hệ điều hành này chỉđược phát triền để chạy trên Iphone, nhưng sau đó nó đã mở rộng để chạy trên các thiết bịcủa Apple như iPod touch, iPad và Apple TV Ngày 31 tháng 5 năm 2011, Apple Sotrecủa Apple chứa khoảng 500 000 ứng dụng IOS và được tải về tổng cộng khoảng 15 tỷlần Trong quý 4 năm 2010, có khoảng 26% điện thoại thông minh chạy hệ điều hànhIOS, sau hệ điều hành Android của Google và Symbia của Nokia
Giao diện người dùng của IOS dựa trên cơ sở thao tác bằng tay Người dùng có thểtương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảmứng của các thiết bị của Apple
Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 1năm 2007 và được phát hành vào tháng 9 năm đó Khi đó, hệ điều hành này chưa có mộtcái tên riêng nên chỉ đơn giản là “Iphone chạy OS X” Ban đầu, ứng dụng của bên thứ bakhông được hổ trợ Steve Job đã chỉ ra rằng những nhà phát triển có thể xây dựng cácứng dụng web mà “sẽ cư xử như những ứng dụng ban đầu trên Iphone” Vào ngày 17tháng 10 năm 2007, Apple thông báo một bộ phát triền phần mềm đáng được xây dựng
và họ dự định sẽ đưa nó đến “tay các nhà phát triển vào tháng 2” Ngày 6 tháng 3 năm
2008, Apple đã phát hành bản dùng thử đầu tiên, cùng với một cái tên mới cho hệ điềuhành đó là “Iphone OS”
Tháng 6 năm 2010, Apple đổi cái tên Iphone OS thành IOS Nhãn hiệu “IOS” đã đượcCisco dùng để đặt tên cho hệ điều hành của mình Để tránh các vụ kiện cáo, Apple đã xingiấy phép sử dụng nhãn hiệu IOS từ Cisco
Trang 8Công ty/ Nhà phát triển Apple Inc.
Initial release 29 tháng 6, 2007
Available language(s) Đa ngôn ngữ
Nền tảng hỗ trợ ARM (iPhone, iPod touch, iPad, và Apple TV)
Giao diện người dùng Cocoa Touch (Multi-touch, GUI)
Giấy phép Quyền sở hữu EULA ngoại trừ các thành phần mã nguồn
mở
Trang mạng
www.apple.com/io
Trang 9Bảng 1.1 Thông tin về hệ điều hành IOS
1.2 Cấu trúc của hệ điều hành IOS
Apple không cho phép người dùng tiếp cận trực tiếp với bất kì phần cứng nào củaIphone, mọi tương tác phần cứng phải thông qua một số lớp khác nhau của phần mềm,hoạt động như một trung gian giữa các ứng dụng và thiết bị phần cứng Những lớp nàyđược hiểu như một hệ điều hành , cụ thể ở đây là hệ điều hành IOS
Mỗi lớp của hệ điều hành cung cấp một mức độ ngày càng cao của sự trừu tượnghóa với sự phức tạp của cách làm việc với phần cứng
Trang 10Hình 1.1 Phân lớp trong hệ điều hành IOS
1.3 Ngôn ngữ lập trình Objective-C
Objective-C được thiết kế để phục vụ mục đích lập trình hướng đối tượng Nó hoạtđộng giống như là một tập hợp các thành phần mở rộng rất mạnh mẽ của ngôn ngữ C.Objective-C kết hợp với đặc điểm ưu tú nhất của C và ngôn ngữ SmallTalk Objective-Ckhá đơn giản để học và có đầy đủ các khả năng của một ngôn ngữ lập trình hướng đốitượng
Objective-C đơn giản và nhỏ gọn nhưng lại là một thành phần mở rộng rất mạnh
mẽ của ngôn ngữ chuẩn ANSI C Objective-C cung cấp đầy đủ các khả năng lập trìnhhướng đối tượng nhưng lại được thực thi theo cách khá đơn giản và dễ dàng
Hầu hết các ngôn ngữ lập trình hướng đối tượng cung cấp:
Một thư viện các Objects
Các công cụ phát triển cần thiết
Hổ trợ hướng đối tượng và các thư viện liên quan
Trang 11Objective-C cũng cung cấp đầy đủ các thành phần trên Chúng ta có thể sử dụngObjective-C để phát triển một phần mềm hoàn thiện Apple đã chọn Objective-C làmngôn ngữ lập trình chính cho hệ thống máy Mac và iphone.
Là ngôn ngữ hướng đối tượng nên Objective-C giải quyết các vấn đề lập trình dựatrên khái niệm các Objet Nó bao gồm 3 phần:
Interface: Interface của một lớp (class) thông thường được định nghĩa
trong file header với đuôi h Nó chính là phần khai báo của một lớp
Implementation: Mã nguồn của chương trình được viết trong phần
implementation của một lớp và được định nghĩa trong một file có đuôi m.Đây là phần định dạng nghĩa của lớp
Instantiation: Sau khi khai báo và định nghĩa một lớp, chúng ta có thể thực
thể hóa lớp này bằng việc cấp phát bộ nhớ cho new object của lớp đó
Tóm lại Objective-C là:
Thành phần mở rộng của ngôn ngữ lập trình C
Là ngôn ngữ lập trình hướng đối tượng đơn giản nhưng mạnh mẽ
Là ngôn ngữ được Apple sử dụng để phát triển các ứng dụng cho hệ thốngmáy Mac và Iphone
Tại sao lại sử dụng Objective-C
Ngôn ngữ lập trình Objective-C được chọn cho Cocoa Framework vì một số lý do sauđây:
Nó là ngôn ngữ lập trình hướng đối tượng và các chức năng cung cấp bởi
Cocoa Framework chỉ có thể được mang lại bởi các kỹ thuật hướng đối
tượng
Nó là thành phần mở rộng của chuẩn ANSI C vì vậy các chương trình viết
bằng C của Framework này sẽ không bị mất đi tính năng nào và người dùngđược hưởng các lợi thế của ngôn ngữ C
Trang 12 Với ngôn ngữ này, người dùng có thể lựa chọn cả lập trình hướng đối tượng
Nó là một ngôn ngữ mạnh bởi vì các quyết định có thể được đưa ra lúc biêndịch sẽ được trì hoãn cho tới khi chương trình chạy
Sự năng động của Objective-C có hai lợi thế đáng kể:
Nó hổ trợ ràng buộc động và mở tạo ra một cấu trúc đơn giản đối vớigiao diện tương tác người dùng
Nó cho phép phát triển các công cụ phức tạp Một giao diện cho hệthống run time tạo điều kiện cho việc tiếp cận các thông tin run timegiúp cho việc monitor ứng dụng viết bằng Objective-C
1.4 Cơ sở dữ liệu Sqlite
1.4.1 Giới thiệu
SQLite là một hệ quản trị cơ sở dữ liệu có thể chạy hoàn toàn độc lập mà không cần đếnserver SQLite thường được người lập trình sử dụng để lưu trữ cơ sở dữ liệu khi viết ứngdụng cho các thiết bị của Apple Các lệnh truy vấn trên SQLite sử dụng các lệnh truy vấncủa SQL (ví dụ SELECT, UPDATE, CREATE ) Việc quản lý SQLite rất đơn giản,chúng ta chỉ cần quản lý thông qua một plugin của FireFox là SQLite Manager
1.4.2 Cấu hình ứng dụng để tương tác với Sqlite
Để ứng dụng có thể thao tác với cơ sở dữ liệu của SQLite, bạn cần bổ sung th êm thưviện hỗ trợ vào project Trong phần Build Phase, mục Link to Library, bạn thêm vào thư
viện libsqlite3.dylib vào project.
Trang 131.4.3 Các hàm trong Sqlite
Trong SQLite có một số hàm cơ bản cho phép bạn tương tác dễ dàng với cơ sở dữ liệu
sqlite3_open(): Mở một kết nối đến tập tin sqlite Nếu tập tin này chưa có, hệ
thống sẽ tự động tạo ra
sqlite3_close(): Đóng kết nối đến sqlite
sqlite3_prepare_v2(): Khởi tạo câu lệnh truy vấn SQL để thực thi
sqlite3_step(): Thực thi lệnh truy vấn được tạo bởi hàm sqlite3_prepare_v2() sqlite3_column_<type>(): Trả về kết quả dữ liệu từ câu truy vấn SQL, với kiểu
dữ liệu được khai báo trong <type> (thường là text, bytes, int, int16)
sqlite3_finallize(): Xoá câu lệnh truy vấn SQL được khởi tạo bởi hàm
sqlite3_prepare_v2() trong bộ nhớ
1.4.4 Cài đặt Sqlite Manager cho Firefox
Để cài đặt plugin quản lý SQLite cho Firefox, chúng ta vào phần Addon của trình duyệtFirefox và tìm plugin SQLite Manager rồi Add to Firefox
Trang 15Chương 2: Xây dựng ứng dụng học và thi bằng lái xe B2
2.1 Giới thiệu về bằng lái xe
Bằng lái xe (hoặc giấy phép lái xe) là một loại giấy phép, chứng chỉ do cơ quan
có thẩm quyền cấp cho người tham gia giao thông, điều khiển phương tiện giaothông một cách hợp pháp Nôm na bằng lái xe là giấy phép để được điều khiểnphương tiện giao thông
Bằng lái xe B2 là loại bằng lái xe phổ thông nhất, điều khiển xe dưới 9 chỗ ngồitính cả tài xế, xe tải dưới 3500kg, và có thời hạn 10 năm Loại bằng lái xe nàyphổ biến nhất bởi vì nhu cầu về bằng lái xe 4, 5, 7 chỗ, các loại xe du lịch, giađình là rất lớn Chính vì thế số lượng tài xế được cấp loại giấy phép lái xe B2 làrất nhiều
Theo luật giao thông đường bộ Việt Nam thì bằng lái xe B2 có thời hạn 10 năm,
Trang 16các loại giấy phép lái xe kinh doanh vận tại có quy định quyền điều khiển Giấyphép lái xe B1 và B2 được quyền điều khiển các loại xe thông dụng nhất là 4 chỗ,
5 chỗ, 7 chỗ
Hiện tại có thể đổi từ bằng lái B1 sang bằng lái B2 đối với người tham gia giaothông dưới 55 tuổi Quy định về đổi bằng lái có trong luật giao thông đường bộViệt Nam hiện hành
Nếu mục đích học lái xe để lái xe trong gia đình, cơ quan thì bạn nên học ngaybằng lái B2, vì bằng lái B2 có thời hạn dài hơn, là 10 năm, còn bằng lái B1 chỉ cóthời hạn 5 năm Hiện nay có rất nhiều cơ sở đào tạo bằng lái B1 và B2, bạn nêntìm những trung tâm đào tạo bằng lái B2 thực sự tốt và chuyên nghiệp, các trườngdạy lái xe chính thống và được cấp phép Học phí học lái xe hiện nay trung bìnhvào khoảng 7-8 triệu đồng (cả thi)
2.2 Nội dung thi bằng lái B2
2.2.1 Lý thuyết
Kể từ ngày 01/07/2013, nội dung thi sát hạch cấp phép giấy phép lái xe cơ giớiđường bộ chuyển sang dùng bộ 450 câu hỏi và đáp luật giao thông đường bộthay vì 405 câu như trước kia
Đề thi lý thuyết sát hạch cấp giấy phép lái xe ôtô hạng B2, C, D, E và các hạng
F gồm 30 câu bao gồm:
9 câu về khái niệm và quy tắc giao thông
1 câu về nghiệp vụ vận tải
1 câu về văn hóa và đạo đức người lái xe
1 câu về kỹ thuật lái xe và cấu tạo sửa chữa xe ôtô cơ bản
9 câu về hệ thống biển báo
9 câu về giải các thế sa hình
Thời gian làm bài: 15 phút Thí sinh đạt yêu cầu nếu trả lời đúng từ 26 câu trở
Trang 172.2.2 Qui trình sát hạch
Bài thực hành 1: Bật đèn xi nhan trái tại nơi xuất phát, khi nhận được tín hiệu từ
phòng điều khiển vào trong xe phát lệnh xuất phát
Khi vượt qua vạch xuất phát không bật đèn xi nhan hoặc sau khi vượt quavạch xuất phát qua 5 m không tắt đèn xi nhan sẽ bị trừ 5 điểm
Nếu quá 20 giây xe không vượt qua vạch xuất phát sẽ bị trừ 5 điểm
Nếu quá 30 giây xe không vượt qua vạch xuất phát sẽ bị loại
Bị tước quyền thi nếu quá 10 giây kể từ khi có lệnh xuất phát, đèn xanh trên
xe bật sáng không đi qua vạch xuất phát
Bài thực hành 2: Tiếp tục bài thi nhường đường cho người đi bộ
Dừng xa vạch, dừng chạm vạch, không dừng xe sẽ bị trừ 5 điểm
Lái xe bị chết máy lỗi 1 lần bị trừ 5 điểm
Bạn sẽ bị tước quyền thi nếu lái xe trên vỉa hè
Bài thực hành 3: Tiếp tục bài thi dừng xe trên dốc (trên cầu):
Dừng xe xa vạch dừng bị trừ 5 điểm
Xe tuột dốc 50 cm sẽ bị loại
Trong khoảng cách dừng mà không dừng sẽ bị loại
Sau khi dừng quá 30 giây mà xe không vượt qua dốc sẽ bị loại
Lưu ý: Chỉ đi vào hình B, không đi vào hình có chữ C khoảng cách an toàn
và không bị trừ điểm nếu có là khoảng 5m
Bài thực hành 4: Tiếp tục bài thi vệt bánh xe đường vuông góc có quy định thời
gian:
Xe không nhận được tín hiệu cảm biến bắt đầu vào đường vệt bánh xeđường vuông góc sẽ bị loại do đi không đúng quy định
Mỗi lần chạm vạch sẽ bị trừ 5 điểm
Quá thời gian 2 phút sẽ trừ 5 điểm
Trong suốt quá trình đi trong hình chỉ đi số 1, chân phải gát lên thắng đểchờ tình huống bất ngờ hay giảm tốc độ không được chạy nhanh, khi bị đè
Trang 18như không đạt, không được bỏ bài, sai thứ tự bài, gần qua hết đường vuônggóc trước khia quẹo phải tới gần ngã tư nên chạy thât chậm để canh đènxanh là chạy qua luôn vì ngừng đèn đỏ rất dễ bị trừ 5 điểm nếu khôngngừng chính xác
Sẽ bị tước quyền thi nếu đi không đúng hình của hãng xe thi, bánh xe trước
và bánh xe sau bên lái phụ không qua vùng giới hạn của vệt bánh xe, lái xelên vỉa hè
Bài thực hành 5: Tiếp tục bài thi đi thẳng qua ngã tư có tín hiệu điều khiển giao
Bài thực hành 6: Tiếp tục bài thi đường vòng quanh co có quy định thời gian:
Mỗi lần chạm vạch sẽ bị trừ 5 điểm, quá thời gian 2 phút trừ 5 điểm
Đường vòng quanh co sẽ kiểm tra xe không đúng hạng sẽ bị loại
Bị tước quyền thi nếu đi không đúng hình dạng của xe thi, lái xe trên vỉa hè
Bài thực hành 7: Tiếp tục bài thi đi thẳng qua ngã tư có tín hiệu điều khiển giao
thông:
Xe dừng xa vạch sẽ bị trừ 5 điểm, dừng chạm vạch sẽ bị trừ 5 điểm
Xe vượt đèn đỏ sẽ bị trừ 10 điểm, khi đèn xanh bật sáng không qua đượcngã tư sẽ trừ 5 điểm
Bị tước quyền thi nếu đi không đúng hình dạng của xe thi, lái xe trên vỉa hè
Bài thực hành 8: Tiếp tục bài thi cho xe vào nơi đỗ, (gara) có quy định thời gian:
Mỗi lần chạm vạch sẽ bị trừ 5 điểm, quá thời gian 2 phút sẽ trừ 5 điểm
Trang 19 Khi lùi xe khi chưa có lệnh kiểm tra mà kết thúc bài thị đỗ xe sẽ bị trừ 5điểm
Bài thi cho xe vào sân đỗ sẽ kiểm tra xe không đúng hạng sẽ bị loại
Bài thực hành 9: Tiếp tục bài thi đi qua ngã tư có tín hiệu điều khiển giao thông,
rẽ trái qua đường ray (sắt):
Không bật xi nhan, bật đèn xi nhan sai sẽ bị trừ 5 điểm
Xe dừng xa vạch, dừng chạm vạch sẽ trừ 5 điểm
Xe vượt đèn đỏ sẽ bị trừ 10 điểm, khi đèn xanh sáng không qua được ngã tư
sẽ trừ 5 điểm
Bị tước quyền thi nếu lái xe lên vỉa hè
Bài thực hành 10: Tiếp bài thi cho xe qua đường ray xe lửa không rào chắn:
Xe dừng xa vạch, dừng chạm vạch, không dừng ở vạch sẽ bị trừ 5 điểm
Bị tước quyền thi nếu không qua vạch kết thúc, xử lý tính huống ko hợp lýgây tại nạn, lái xe lên vỉa hè
Bài thực hành 11: Tiếp tục bài thi thay đổi số, tăng, giảm tốc độ trên đường:
Tăng số ở vạch số 1 có biển bắt đầu tăng số, khi nghe phát lệnh tăng số
Đối với hạng xe B tăng số 1 lên 2 ( tăng tốc độ trên 24 Km/h )
Đối với hạng xe C tăng số 2 lên 3 ( tăng tốc độ trên 20 Km/h )
Nếu xe không thay đổi số đúng quy định sẽ bị trừ 5 điểm
Vượt qua vạch số 2 có biển tốc độ tối thiểu 20 km/h
Đối với hạng xe B số 2 về số 1: Giảm tốc độ dưới 24 km/h
Đối với hạn xe C số 3 về số 2: Giảm tốc độ dưới 20 km/h
Nếu xe không thay đổi số đúng quy định sẽ bị trừ 5 điểm
Bài thực hành 12: Tình huống nguy hiểm có thể gặp trước hoặc sau khi kết thúc ở
các bài thi, xe sẽ gặp 1 trong 14 bài thi nơi xảy ra tình huống nguy hiểm:
Sau khi gặp tình huống nguy hiểm xảy ra không dừng xe được, không bậtđèn ưu tiên, khi hết tình huống nguy hiểm không tắt đèn ưu tiên mà cho xechạy tiếp tục bài thi sẽ bị trừ 10 điểm