LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn các thầy cô giáo Trường Đại Học
Công Nghệ Thông Tin & Truyền Thông Thái Nguyên đã trang bị cho em những
kiến thức cơ bản cần thiết trong những năm học vừa qua để em có thể hoàn thành
Đồ án tốt nghiệp của mình.
Trong suốt thời gian thực hiện Đồ án, em đã nhận được sự giúp đỡ của thầy
cô trong bộ môn Mạng máy tính và Truyền thông, Trường Đại Học Công Nghệ
Thông Tin. Vậy cho em xin phép được bày tỏ lời cảm ơn tới các thầy, cô.
Đặc biệt em cũng xin gửi những lời cảm ơn chân thành đến thầy Th.S.
Trần Phạm Thái Kiên, đã tận tình hướng dẫn và chỉ bảo em trong suốt thời gian
thực hiện Đồ án tốt nghiệp này.
Em xin chân thành cảm ơn !
Thái Nguyên, tháng 06 năm 2016
Sinh viên
Chu Văn An
1
LỜI CAM ĐOAN
Nhận thức được Đồ án tốt nghiệp là sản phầm hoàn thiện của sinh viên
CNTT khi ra trường, cần tới sự miệt mài của bản thân và nhất là sự hướng dẫn tận
tình của các thầy cô giáo, em đã tổng hợp được các kiến thức được học cùng kinh
nghiệm và số liệu khảo sát thực tế nhằm hoàn thành Đồ án tốt nghiệp của mình.
Em xin cam đoan: Nội dung Đồ án của em không sao chép nội dung cơ bản
của bất kỳ Đồ án nào và là sản phẩm của chính bản thân em qua nghiên cứu thực tế
xây dựng lên. Mọi thông tin và nội dung sai lệch em xin chịu trách nhiệm hoàn
toàn trước Hội đồng bảo vệ.
Thái Nguyên, tháng 06 năm 2016
Sinh viên
Chu Văn An
2
MỤC LỤC
3
LỜI MỞ ĐẦU
Lý do chọn đề tài
Ngày nay, thời đại công nghệ thông tin đang đến rất nhanh và có tác động
mạnh mẽ đến tất cả các mặt đời sống xã hội. Công nghệ thông tin là một trong
những động lực quan trọng nhất của sự phát triển, nó cùng với một số ngành công
nghệ cao khác làm biến đổi sâu sắc đời sống kinh tế, văn hóa, xã hội của đất nước.
Do đó, việc ứng dụng công nghệ thông tin vào lĩnh vực giáo dục cũng được
Đảng và Nhà nước quan tâm. Cụm từ “ứng dụng công nghệ thông tin vào dạy học”
ngày càng được nhiều người nhắc đến trong các trường phổ thông, cao đẳng và đại
học. Công nghệ thông tin được ứng dụng vào việc thiết kế các “giáo án điện tử” và
xây dựng hệ thống thi cử đang nhận được sự quan tâm của các sở giáo dục và đào
tạo cùng các trường phổ thông, đại học. Tuy nhiên, vẫn còn không ít giáo viên có
những hiểu biết chưa đúng về việc ứng dụng công nghệ thông tin để hỗ trợ hoạt
động dạy học và thi. Do đó, hiệu quả của việc ứng dụng công nghệ thông tin vào là
chưa cao.
Vậy công nghệ thông tin là gì? Vai trò của nó với dạy học và thi cử như thế
nào? Ứng dụng nó vào dạy học và thi cử ra sao?…Đó là những vần đề có ý nghĩa
khoa học và thực tiễn đang thu hút sự quan tâm của giáo viên hiện nay.
Trên tinh thần đó, nay em thực hiện đề tài “Xây dựng ứng dụng luyện
thi IELTS cho sinh viên ICTU trên nền tảng Android” với mục tiêu ứng
dụng Công nghệ thông tin và mục đích thi kiểm tra năng lực của người học
thông qua hệ thống Online.
Mục tiêu nghiên cứu
Tìm hiểu HTML/CSS và ngôn ngữ lập trình PHP từ đó ứng dụng xây
dựng website quản lý và lưu trữ thông tin người học.
4
Tìm hiểu về Android và xây dựng ứng dụng thi Online trên thiết bị di động.
Phạm vi nghiên cứu
5
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Giới thiệu về kỳ thi IELTS
Kỳ thi IELTS
IELTS viết tắt của chữ International English Language Testing System, là
bài kiểm tra chuẩn hóa năng lực tiếng anh được điều hành bởi tổ chức ESOL của
Đại Học Cambridge, Hội đồng anh (British Council) và tổ chúc giáo duc IDP của
Úc ra đời từ năm 1989. IELTS được các tổ chức giáo dục Mỹ, Anh, Úc, New
Zealand, Singapore, Thụy Điển ...vv và tổ chức chính phủ trên toàn thế giới công
nhận, kết quả IELTS được đánh giá để xác định trình độ tiếng anh của 1 người nào
đó. IELTS được các cty Việt Nam ưa chuộng, thu hút sự quan tâm sâu sắc của giới
sinh viên, học sinh. IELTS là bài thi tiếng anh toàn diện và chuyên sâu 4 kĩ năng
nghe nói đọc viết, đa dạng trong câu hỏi và đề thi, chính điều này IELTS được
đánh giá cao. IELTS trên thực tế rất hữu ích cho học viên du học và làm việc tại
nước ngoài. Trước khi luyện thi IELTS, các bạn cần nắm vững cấu trúc bài thi ielts
để có kế hoạch cụ thể và khoa học để học tập hiệu quả.
Lý do chọn thi IELTS
Bạn sẽ có cơ hội công bằng để nỗ lực hết mình. Đó là lý do không giống
các kỳ thi khác, IELTS sắp xếp cho bạn một phòng riêng yên tĩnh cho quá trình thi
Nói để không bị mất tập trung và gián đoạn.
IELTS còn nhận ra rằng nhiều người có các phương pháp trả lời câu hỏi
khác nhau. Chẳng hạn, với IELTS bạn có thể trả lời câu hỏi trong bài thi môn Đọc
hay môn Viết theo ý của bạn. Bạn cũng có thể thay đổi các câu trả lời của môn
Đọc trong giờ thi môn Đọc và chỉnh sửa bài làm môn Viết trong giờ thi Viết
Hình thức thi IELTS
6
Kỳ thi được chia làm 2 phần:
Phần (a) – thi Viết, bao gồm các kỹ năng: Nghe, Đọc và Viết
Phần (b) – thi Nói, bao gồm kỹ năng: Nói
Phần thi Viết (Nghe, Đọc, Viết) được tiến hành trong buổi sáng của ngày thi
chính thức và kéo dài khoảng 3 tiếng.
Phần thi Nói chỉ kéo dài 15 phút và mỗi thí sinh sẽ được bố trí thời gian thi
Nói riêng. Lịch thi Nói được bố trí cùng ngày với thi Viết hoặc trong khoảng thời
gian 5 ngày trước và sau ngày thi Viết. Vì 2 địa điểm thi Nói và thi Viết có thể
khác nhau nên thí sinh sẽ được thông báo chính xác địa điểm của từng phần thi.
Ngôn ngữ Java Android và nền tảng Android
Giới thiệu về ngôn ngữ Java
Lịch sử phát triển
Năm 1990, Sun MicroSystems thực hiện dự án Green nhằm phát triển phần
mềm trong các thiết bị dân dụng. James Gosling, chuyên gia lập trình đã tạo ra một
ngôn ngữ lập trình mới có tên là Oak. Ngôn ngữ này có cú pháp gần giống như
C++ nhưng bỏ qua các tính năng nguy hiểm của C++ như truy cập trực tiếp tài
nguyên hệ thống, con trỏ, định nghĩa chồng các tác tử…
Khi ngôn ngữ Oak trưởng thành, WWW cũng đang vào thời kỳ phát triển
mạnh mẽ, Sun cho rằng đây là một ngôn ngữ thích hợp cho Internet. Năm 1995,
Oak đổi tên thành Java và sau đó đến 1996 Java đã được xem như một chuẩn công
nghiệp cho Internet.
Khả năng của ngôn ngữ Java
Là một ngôn ngữ bậc cao như C, C++, Perl, SmallTalk,.. cho nên có thể
được dùng để tạo ra các ứng dụng để giải quyết các vấn đề về số, xử lý văn bản,
tạo ra trò chơi, và nhiều thứ khác.
Có các môi trường lập trình đồ họa như Visual Java, Symantec Cafe,
7
Jbuilder, Jcreator, ...
Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC (Java DataBase
Connectivity)
Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket)
cũng như truy xuất Web.
Hỗ trợ lập trình phân tán (Remote Method Invocation ) cho phép một ứng
dụng có thể được xử lý phân tán trên các máy tính khác nhau.
Và luôn được bổ sung các tính năng cao cấp khác trong các phiên bản sau.
Những đặc điểm của ngôn ngữ Java
Ngôn ngữ hoàn toàn hướng đối tượng.
Ngôn ngữ đa nền cho phép một chương trình có thể thực thi trên các hệ
điều hành khác nhau (MS Windows, UNIX, Linux) mà không phải biên dịch lại
chương trình. Phương châm của java là "Viết một lần , Chạy trên nhiều nền"
(Write Once, Run Anywhere).
Ngôn ngữ đa luồng, cho phép trong một chương trình có thể có nhiều
luồng điều khiển được thực thi song song nhau, rất hữu ích cho các xử lý song
song.
Ngôn ngữ phân tán, cho phép các đối tượng của một ứng dụng được phân
bố và thực thi trên các máy tính khác nhau.
Ngôn ngữ động, cho phép mã lệnh của một chương trình được tải từ một
máy tính về máy của người yêu cầu thực thi chương trình.
Ngôn ngữ an toàn, tất cả các thao tác truy xuất vào các thiết bị vào ra đều
thực hiện trên máy ảo nhờ đó hạn chế các thao tác nguy hiểm cho máy tính thật.
Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng.
Lập trình trên thiết bị di động với Android
Giới thiệu
8
Android là hệ điều hành miễn phí, mã nguồn mở, được phát triển bởi "gã
khổng lồ" Google. Android dựa trên nền tảng Linux, được thiết kế dành cho cá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.
Phiên bản mới nhất của Android có hỗ trợ thêm các thiết bị khác như ô-tô, đồng hồ
thông minh và TV. Ban đầu, Android được phát triển bởi Android Corporation,
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ở (Open Handset Alliance - http://www.openhandsetalliance.com/), một
hiệp hội gồm cá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ào tháng 10 năm 2008.
Nền tảng của Android
Android có mã nguồn mở và Google đã phát hành mã nguồn theo Giấy
phép Apache. 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 tùy biến và phân phối Android một cách tự do. Ngoài ra, Android
còn có một cộ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ăng của thiết bị bằng ngôn ngữ lập trình Java có sửa đổi. Vào tháng 7
năm 2013, có hơn một triệu ứng dụng cho thiết bị Android được công bố, và số
lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính
đạt khoảng 50 tỷ. Một cuộc khảo sát các nhà phát triển vào tháng 4 - 5 năm 2013
cho thấy hơn 71% lập trình viên cho di động đã phát triển ứng dụng cho Android.
Tại sự kiện Google I/O 2014, "gã khổng lồ" công bố đã có hơn một tỉ người dùng
Android hàng tháng, trong khi con số này vào tháng 6 năm 2013 mới chỉ là 538
triệu.
Những yếu tố trên đã giúp Android trở thành nền tảng điện thoại thông
minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 (chiếm 33%),
9
và được các công ty cô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 tinh chỉnh, giá rẻ để chạy trên các thiết bị công nghệ cao thay vì
xây 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ện trên TV, máy chơi game, đồng hồ thông minh, ôtô và các thiết bị điện tử khác. Bản chất mở của Android cũng khí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ác tí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 750 triệu thiết bị đã được kích hoạt. Vào
tháng 4 năm 2013 đã có 1,5 triệu lượt kích hoạt mỗi ngày và tổng số thiết bị
Android được kích hoạt lên đến 1 tỷ vào tháng 9 năm 2013. Sự thành công của hệ
điều hành này cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến
bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa
các công ty công nghệ.
Giới thiệu HTML/CSS
Giới thiệu về HTML
Khái niệm
HTML là chữ viết tắt của HyperText Markup Language, có nghĩa là ngôn
ngữ đánh dấu siêu văn bản. Nó dùng để định dạng bố cục, các thuộc tính liên quan
đến cách hiển thị của một đoạn text và được hiển thị trên một chương trình đặc
biệc ta gọi là Browser. Hiện nay có khá nhiều Browser như Firefox, Chrome, Cốc
Cốc, ...Tất cả Browser đều có điểm chung là giúp người dùng thao tác với website
và nó đều có khả năng biên dịch những đoạn mã HTML, CSS và Javascript.
HTML là một định dạng đặc biệc của XML nên nó sẽ có thẻ mở và thẻ
10
đóng với cú pháp như sau:
Ngoài ra mỗi thẻ HTML còn có một số thuộc tính riêng và danh sách các
thuộc tính sẽ nằm bên trong thẻ mở như sau:
Bố cục HTML của một trang web
Như trên mình có giới thiệu HTML dùng để tạo nên bổ cục của giao diện
website. Nó có rất nhiều thẻ khác nhau và mỗi thẻ sẽ có những nhiệm vụ nhất định.
Vậy bạn có thắc mắc mắc cách chia các thẻ cho một trang web như thế nào không?
Thông thường bổ cục HTML của một website sẽ có dạng như sau:
Page Title
My First Heading
My first paragraph.
Trong đó:
là phần khai báo kiểu dữ liệu hiển thị là html để
trình duyệt (Browser) biết.
và là cặp thẻ nằm ngoài cùng và nó có nhiệm vụ là bao
hết nội dung của trang web lại. Thẻ này là bát buộc.
và là phần khai báo thông tin của trang web
và nằm bên trong thẻ và đây chính là khai báo
tiêu đề cho trang web.
và là thành phần quan trọng nhất, nó chứa nhưng đoạn
11
mã HTML dùng để hiển thị trên website.
Các thẻ còn lại nằm trong thẻ chính là các thẻ định dạng dữ liệu.
Như vậy trong một website chúng ta chia làm 2 phần chính:
Phần 1: Là nhũng khai báo thông tin cho trang web và ta đặt nó trong
thẻ head.
Phần 2: Là phần hiển thị định dạng nội dung của trang web và ta đặt
trong thẻ body.
Và được diễn tả như hình sau:
Page Title
My First Heading
My first paragraph.
Các vị trí thường thấy trong giao diện website
Thông thường giao diện của một trang web sẽ được chia thành các phần như sau:
Header (cố định)
Footer (cố định)
Menu (cố định)
Sidebar (cố định)
Main Content (Mỗi trang khác nhau)
Như vậy trong các phần đó thì chỉ có phần content là sẽ thay đổi ở mỗi
trang khác nhau, các phần còn lại thì sẽ không thay đổi.
Giới thiệu về CSS
Khái niệm
12
CSS là viết tắt của cụm từ “Cascading Style Sheet” , nó là một ngôn ngữ
quy định cách trình bày của các thẻ HTML trên trang Web. CSS quy định cách
hiển thị nội dung của các thẻ HTML trên các trình duyệt gần như giống nhau,bằng
cách quy định các thuộc tính cho thẻ HTML đó.
Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ
như: font của chữ, đường viền, màu nền, căn chỉnh hình ảnh, ...
Về cơ bản, các trang HTML như bộ xương – khuôn khổ cơ bản – của một
trang web – trong khi các file CSS sẽ cụ thể hóa các thành phần của một trang nên
được hiển thị như thế nào. CSS cho phép bạn kiểm soát phông chữ, màu chữ, kiểu
nền…, của một trang HTML.
CSS làm cho việc thiết kế và xây dựng một trang Web trở nên dễ dàng
hơn.Trước khi có CSS, bạn phải sử dụng HTML để thực hiện tất cả các tiêu đề
cũng như các thành phần của một trang Web.Mặc dù đã có một số cách khác
nhưng HTML vẫn thường xuyên được sử dụng và các nhà thiết kế Web sẽ phải
thay đổi từng thành phần riêng lẻ trên mỗi trang. CSS đã giúp cho việc thay đổi
phong cách của một trang Web đơn giản hơn và đỡ tốn thời gian hơn, bạn có thể
thực hiện sự thay đổi trên một mục nào đó và sau đó apply sự thay đổi này trên
toàn bộ trang Web thay vì phải thực hiện trên từng mục riêng lẻ như trước đây.
Ứng dụng của CSS
CSS có thể tùy chỉnh bố cục định dạng hiển thị nội dung,màu sắc căn
chỉnh màu nền,đường viền,đổ bóng… cho các thẻ html.Nếu 1 website mà chỉ
làm bằng html không sử dụng css thì website đó nhìn sẽ rất thô xơ.Bạn có thể
tưởng tượng nó như 1 chiếc xe máy mà bỏ hết lớp sơn và áo bên ngoài chỉ
còn lại mỗi bộ khung và máy.
CSS cung cấp cho bạn hàng trăm thuộc tính trình bày dành cho các đối
tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả
Ngoài ra, hiện tại CSS đã được hỗ trợ bởi tất cả các trình duyệt khác nhau
13
Cú pháp của CSS
Cú pháp của css bao gồm 3 phần chính: đối tượng chọn, tên thuộc tính, giá
trị thuộc tính.
selector{
- Thuộc tính 1
- Thuộc tính 2
- Thuộc tính 3
.....................
- Thuộc tính n
}
Trong đó :
- Selector là đối tượng lựa chọn, có thể là thẻ html hoặc là các class và id
- Thuộc tính css là các thuộc tính quy định cho thẻ html, ví dụ như width
quy định chiều dài, height quy định chiều cao cho thẻ html... chúng ta có rât nhiều
các thuộc tính này.
Cách nhúng CSS vào html
Có 3 cách nhúng css vào thẻ html như sau :
Cách 1. Chèn vào phần head của website, cụ thể là trong cặp thẻ
14
Cách 2. Nhúng css vào một file css riêng sau đó nhúng vào website
Cú pháp:
Ví dụ:
Cách 3. Chèn trực tiếp vào thẻ html
Ví dụ :
Đây là thẻ P,có màu đỏ và chữ gạch chân
15
- Các thuộc tính cách nhau bằng dấu chấm phảy ( ; ) như cách viết bình thường
Giới thiệu về kỹ thuật Responsive
Khái niệm
Responsive là một công nghệ dùng cho ngành thiết kế website, sử dụng để
website phù hợp trên tất cả các kích thước màn hình từ một cơ sở dữ liệu và một
layout gốc.Trước đây người thiết kế phải thiết kế 2 bản riêng biệt một cho màn
hình máy tính và một cho màn hình thiết bị di động. Sự ra đời của Responsive là
giải pháp tuyệt vời của vấn đề này, vẫn chỉ một bản thiết kế, người dùng có thể
truy cập trên các thiết bị kích thước khác nhau với cùng địa chỉ URL, giao diện
hiển thị vẫn giữ nguyên.
Trong ngành thiết kế responsive architecture không phải là khái niệm xa lạ,
bạn có bao giờ để ý đến những cánh cửa tự động đóng mở, nó sẽ tự động mở ra
một khoảng không gian vừa đủ cho một người hoặc nhóm người bước vào. Một hệ
thống điều chỉnh điều hòa và ánh sáng tự động điều tiết nhiệt độ và ánh sáng tùy
theo số lượng người đang có trong phòng…
Responsive web design không phải là ý tưởng hoàn toàn mới, nó kế thừa và
tương tự như responsive architecture, trang web khi được thiết kế phải có khả năng
tự động điều chỉnh để thích nghi với nhiều nhóm người sử dụng khác nhau.
16
Hình 1.1 Công nghệ Responsive
Hiển nhiên một điều chúng ta không thể dùng một cảm biến hoặc một chip
thông minh như cách mà người ta làm khi xây dựng cửa tự động hay hệ thống nhà
thông minh. Chúng ta phải nhìn nhận nó một cách khá trừu tượng. Hiện tại, một
vài ý tượng đã được sử dụng: fluid layout, media queries và script có thể định dạng
lại trang web và mark-up khá tốt.
Bạn cũng nên nhớ rằng responsive web design không chỉ là việc tùy chỉnh
cho phù hợp với kích thước màn hình và resize lại hình ảnh, nó mở ra một cách
nghĩ hoàn toàn mới về thiết kế. Chúng ta sẽ lượt qua những ý tưởng đã được sử
dụng và những ý tưởng đang còn nằm trên bàn giấy.
Độ phân giải màn hình
Càng nhiều thiết bị, càng nhiều độ phân giải khác nhau, sự phổ biến của
những thiết bị như iPhone, iPad và các smartphone có thể chuyển từ dạng xem
ngang và đứng một cách nhanh chóng.
17
Hình 1.2 Kích thước màn hình
Thêm nữa khi thiết kế cho cả màn hình nằm ngang và màn hình đứng,
chúng ta phải tính đến hàng trăm kích thước màn hình khác nhau. Ta có thể nhóm
một số kích thước lại với nhau và thiết kế cho từng nhóm một, và thiết kế riêng
cho từng nhóm này nếu cần thiết. Bên cạnh đó bạn cũng phải biết rằng khá nhiều
người dùng không bao giờ maximize trình duyệt của mình.
18
Hình 1.3 Các loại kích thước màn hình
Flexible layout Flexible layout
Một vài năm trước, khi flexible layout còn là thứ gì đó xa xỉ đối với
website. Thứ duy nhất flexible trong thiết kế là số lượng cột và text. Ảnh có thể dễ
dàng làm “vỡ” cấu trúc website. Việc thiết kế trên một khoảng kích thước tính
bằng pixel khiến người thiết kế lúng túng khi trang web chuyển giữa các kích
thước khung hình khác nhau.
Hình ảnh cần phải được tự động điều chỉnh và không được phép làm vỡ cấu
trúc website, vì ta không làm một sản phẩm in ấn. Khi kích thước ảnh không bị fix
ở một giá trị nào đó, nó mang lại nhiều lợi ích hơn mong đợi, ý tưởng tuyệt vời cho
những những thiết bị có thể xoay ngang và đứng.
19
Hình 1.4 Flexible layout Flexible layout
Filament Group’s Responsive Images
Kỹ thuật này được giới thiệu bới Filement Group, theo đó thay vì resize lại
hình ảnh, sẽ load hẳn một ảnh khác khi cần, cách này có thể tiết kiệm được việc
load ảnh lớn ko cần thiết với các thiết bị nhỏ.
20