Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
2,23 MB
Nội dung
Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội LỜI CÁM ƠN Trước tiên, em xin dành lời cảm ơn chân thành tới thầy cô giáo Đại học Bách Khoa Hà Nội, đặc biệt thầy cô Viện Công Nghệ Thông Tin Truyền Thông, Viện đào tạo sau đại học tận tình giảng dạy, hướng dẫn em suốt năm học vừa qua, bước xây dựng, vun đắp kiến thức em tích lũy ngày Đặc biệt em xin dành lời cảm ơn sâu sắc tới thầy giáo TS.Nguyễn Thanh Hùng – giảng viên môn Công Nghệ Phần Mềm, người trực tiếp hướng dẫn em hoàn thành luận văn Trong suốt trình nghiên cứu, thầy tận tình dẫn, định hướng, giúp đỡ, động viên em để hoàn thành khóa luận Với tư cách người thầy, người đồng nghiệp, bậc đàn anh trước, qua thời gian làm việc với thầy em truyền đạt kinh nghiệm quý báu nghiệp giảng dạy, nghiệp trồng người Những kinh nghiệm học từ thầy chắn hành trang quan trọng cho em đường nghiên cứu, giảng dạy làm việc sau Xin cám ơn em phòng kỹ thuật công ty cổ phần đầu tư pháttriển KoolSoft chia sẻ giúp đỡ chị hoàn thành khóa luận Cuối em xin gửi lời cảm ơn tới Bố mẹ thân yêu, chồng con, gia đình, bè bạn người thân nguồn động viên, giúp đỡ em trình thực khóa luận Cảm ơn tập thể lớp 13BCNTT1 luôn đoàn kết, giúp đỡ lẫn nhau, tạo môi trường tốt để hoàn thành khóa học Hà Nội, Tháng năm 2015 Chân thành cám ơn! Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội MỤC LỤC LỜI CÁM ƠN PHẦN MỞ ĐẦU Giải pháp Cơ sở lý luận thực tiễn đề tài Giải pháp Tìm hiểu Frame work đatảng Google Web Toolkit Phone Gap Lý chọn Google Web Toolkit Phone Gap Nội dung luận văn CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ SỬ DỤNG 1.1 Google Web Toolkit (GWT) 1.1.1 Google Web Toolkit gì? 1.1.2 Tại chọn GWT xây dựngứngdụng 1.1.3 Những hạn chế GWT 111 1.1.4 Các thành phần GWT? 122 GWT Compiler: 12 Thƣ viện JRE Emulation 13 Thƣ viện UI 166 Giao thức RPC 16 - GWT RPC gì? 17 - Các thành phần Java chế GWT RPC: 17 - Sơ đồ luồng hoạt động giao tiếp GWT RPC : 18 1.1.5 Cấu trúc GWT application 211 HTML Host page 21 Thƣ mục src 22 Thƣ mục war 23 1.2 Google App Engine (GAE) 23 1.2.1 Lƣu trữ liệu App Engine 24 Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Lƣu trữ liệu Java 25 - App Engine Datastore 26 - So sánh App Engine Datastore với cở liệu truyền thống 27 1.2.2 Objectify 27 - Cài đặt objectify project 28 - Định nghĩa đăng ký Entity 29 - Các thao tác 311 1.3 PhoneGap 333 1.3.1 Tổng quan PhoneGap 333 Tại sử dụng Phonegap 344 Kiến trúcứngdụng phonegap 355 1.3.2 Nguyên tắc hoạt động mô hình PhoneGap 36 1.3.3 Các Phonegap API 38 Cách lấy thông tin từ thiết bị di động 38 Kiểm tra mạng kết nối thiết bị 40 1.3.4 So sánh Phonegap với framework khác nhƣ Titanium Mobile, Adobe AIR 41 So sánh framework Phonegap với Titanium mobile 41 So sánh framework Phonegap với Adobe AIR 44 1.3.5 GWT-Phonegap wrapper 45 CHƢƠNG 2: MÔ HÌNH XÂY DỰNGỨNGDỤNG 48 2.1 Mô hình sử dụngứngdụng – Mô hình MVP (MVP Activity and Place) 48 2.1.1 MVP gì? 48 2.1.2 Activity and Place 51 Place 51 Activity 55 CHƢƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ 5959 3.1 Phân tích yêu cầu hệ thống thitrắcnghiệmtrựctuyến 5959 3.1.1 Mô tả hệ thống 5959 Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội 3.1.2 Đặc tả chức 61 3.1.3 Biểu đồ User Case 68 3.1.4 Sơ đồ hoạt động 6969 3.2 Thiết kế lớp 700 3.2.1 Thiết kế lớp model sở liệu 700 3.2.2 Biểu đồ thiết kế lớp: View presenter(Activity and Place) 75 CHƢƠNG 4: CÀI ĐẶT 78 4.1 Cài đặt frammework 78 4.1.1 Các yêu cầu cài đặt 78 Môi trƣờng cài đặt framework GWT 78 Môi trƣờng cài đặt framework Phonegap 7979 Các phƣơng thức cài đặt 7979 4.2 Cài đặt ứngdụng kết 82 4.2.1 Đăng ký ứngdụng với facebook 82 4.2.2 Ứngdụng android 84 Tạo code cordova project cho hệ điều hành di động 84 Thêm plugin cho Clicker cordova project 84 Tạo GWT-Phonegap project cho hệ điều hành android 855 4.2.3 Ứngdụng web 86 4.2.4 Một số hình ảnh kết chạy ứngdụng 8787 KẾT LUẬN 911 TÀI LIỆU THAM KHẢO 9494 DANH MỤC CÁC KÝ HIỆU CHỮ VIẾT TẮT 9595 DANH MỤC CÁC BẢNG 9696 DANH MỤC CÁC HÌNH VẼ 9797 Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội PHẦN MỞ ĐẦU Cơ sở lý luận thực tiễn đề tài Hiện số khó khăn gặp phải đƣợc giải kiểm tra đánh giá chất lƣợng giáo dục khó khăn đánh giá kết học tập cách trung thực khách quan, tiết kiệm thời gian chấm trả bài, giảm gánh nặng cho giảng viên học viên đồng thời lọc, sửa chữa, bổ sung ngân hàng đề thi câu hỏi cách nhanh chóng dễ dàng Chính trắcnghiệm khách quan giải pháp hữu hiệu Bộ Giáo dục Đào tạo (BGD&ĐT) chủ trƣơng bƣớc đƣa trắcnghiệm khách quan vào áp dụng kỳ thi quốc gia bƣớc áp dụng rộng rãi để đánh giá kết học tập bậc học Hiện giới thitrắcnghiệm hình thức phổ biến nhờ vào ƣu điểm có rõ ràng đáp án, tính khách quan cách đánh giá ngƣời học, nhanh chóng khâu chấm trả kết quả, hiệu tổ chức thi Ở Việt Nam nay, trắcnghiệm khách quan đƣợc đƣa vào kỳ thi tốt nghiệp trung học phổ thông tuyển sinh đại học theo yêu cầu BGD&ĐT đồng thời đƣợc trƣờng đại học, cao đẳng tích cực đẩy mạnh áp dụng đƣa vào đánh giá kết thi học phần môn học Ứngdụng công nghệ thông tin dạy học xu pháttriển nhằm nâng cao chất lƣợng giáo dục đào tạo, góp phần đổi phƣơng pháp dạy học nhƣ quản lý trƣờng học Chỉ thị số 55/2008/CT-BGDĐT ngày 30/9/2008 tăng cƣờng giảng dạy, đào tạo ứngdụng công nghệ thông tin nghành giáo dục giai đoạn 2008-2012 rõ việc đẩy mạnh xây dựng website sở liệu thƣ viện học liệu điện tử ( bao gồm đề thitrắc nghiệm) Chính thế, luận văn lựa chọn công nghệ tìm hiểu frameworkpháttriểnứngdụngđatảng nhƣ Google Web Toolkit (GWT) PhoneGap để xây dựngứngdụngthitrắcnghiệmtrựctuyến Cùng với tính ngày gia tăngthị trƣờng di động đặc biệt SmartPhone với nhiều hệ điều hành khác pháttriển Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội máy tính điện tử sử dụng nhiều hệ điều hành khác tiền đề sở để tạo điều kiện thúc đẩy lƣợng cầu sản phẩm ứngdụng luận văn Mục đích hệ thống: Là áp dụng công nghệ vào hỗ trợ giảng dạy trƣờng học Hệ thống xây dựng cho phép học viên với máy tính (cả laptop desktop) hay chí với di động nhỏ gọn smartphone đăng nhập vào hệ thống nhận gửi trả lời câu hỏi trắcnghiệm khách quan từ giáo viên hệ thống tự chấm trựctuyến Phạm vi hệ thống: Áp dụng kỳ thitrắcnghiệm khách quan cho bậc đào tạo Giải pháp Tìm hiểu Frameworkđatảng Google Web Toolkit Phone Gap Hiện có nhiều lựa chọn mặt công nghệ lập trình, framework để pháttriểnứngdụng Qua khảo sát toán yêu cầu thực tế, Luận văn xây dựngứngdụng dựa web sử dụngframeworkđatảng GWT Phonegap GWT đƣợc google phát hành phiên vào ngày 16/5/2006 đƣợc công bố hội nghị JavaOne đến trải qua nhiều phiên (phiên v.2.7.0 ngày 20/11/2014) có chỗ đứngthị trƣờng mà xu xây dựng web application ngày pháttriển Đồng thời với pháttriểnthị trƣờng di động smartphone ngày gia tăng PhoneGap framework dành cho xây dựngứngdụng thiết bị điện thoại di động (hybrid application) PhoneGap đƣợc pháttriển Nitobi đƣợc Adobe mua lại năm 2011, công nghệ xuất vài năm lại nhƣng khẳng định đƣợc chỗ đứngthị trƣờng framework xây dựngứngdụng dành cho di động Lý chọn Google Web Toolkit Phone Gap Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Từ nắm bắt nhu cầu thực tế thị trƣờng việc gia tăng sử dụng loại thiết bị điện tử khác vào phục vụ học tập, pháttriển ngày nâng cao chất lƣợng phục vụ internet Cùng với mục tiêu hƣớng đến luận văn không dừng lại áp dụng cho kỳ thitrắcnghiệm mà tham vọng mở rộng áp dụng cho nhiều lĩnh vực hoạt động nhƣ: trợ giảng buổi học lớp tích hợp vào lĩnh vực E_learning dẫn đến định xây dựngứngdụng web application đatảng Luận văn định lựa chọn frameworkđatảng GWT PhoneGap vào xây dựngứngdụng Ƣu điểm nhƣợc điểm framework nêu đƣợc ngƣời viết đề cập sâu chƣơng Cơ sở lý thuyết công nghệ sử dụng Nội dung luận văn Luận văn đƣợc chia làm chƣơng Phần mở đầu: Trong phần nêu rõ thực tiễn vấn đề khó khăn gặp phải kết luận văn làm đƣợc xây dựngứngdụng để hỗ trợ giải khó khăn Chƣơng 1: Công nghệ sử dụng Trong phần sâu vào phân tích công nghệ đƣợc lựa chọn để áp dụng giải vấn đề đƣa Chƣơng 2: Mô hình xây dựngứngdụng Trong phần đƣa mô hình MVP để xây dựngứngdụng Đồng thời phân tích framework hỗ trợ cài đặt mô hình MVP GWT Activity Place Chƣơng 3: Phân tích thiết kế Trong phần giới thiệu tính mà hệ thống làm đƣợc Đồng thời vào phân tích cách thiết kế ứngdụng cài đặt Chƣơng 4: Cài đặt Trong chƣơng vào phân tích cách cài đặt ứngdụng web điện thoại di động hệ điều hành Android Kết luận hƣớng pháttriển Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ SỬ DỤNG 1.1 Google Web Toolkit (GWT) 1.1.1 Google Web Toolkit gì? GWT tập hợp công cụ (tool), thƣ viện plugin GWT lần đƣợc đƣa nhƣ dự án mã nguồn mở Google năm 2006 Nó đƣợc xây dựng nhƣ tảng ổn định cho ứngdụng dựa web (của Google) mà phải chạy hầu hết trình duyệt Điều cốt lỗi, GWT trình biên dịch đặc biệt chuyển đổi từ Java sang Javascript với thời gian chạy nhỏ Nó cho bạn viết hầu hết dạng mã chuẩn Java, sau biên dịch sang JavaScript để chạy trình duyệt web môi trƣờng khác nhƣ HTML Chỉ biên dịch lần, code đƣợc tạo chạy hầu hết trình duyệt web ngƣời dùng nhƣ JavaScript không yêu cầu Applet Thời gian chạy GWT bao gồm thời gian chay tối thiểu tập Java API chuẩn nhƣ List String Những tập Java API chuẩn đƣợc thực JavaScript code bạn gọi chúng chuyển đổi Bạn xem danh sách đầy đủ API Java mô http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.html GWT không đơn trình biên dịch Nó tập hợp bƣớc biên dịch đƣợc thiết kế rõ ràng thƣ viện runtime xử lý khác biệt trình duyệt Trình biên dịch tạo đầu khác biệt cho trình duyệt Nó biết cách tối ƣu hóa tham chiếu đối tƣợng, đƣa ƣu điểm thủ thuật ngôn ngữ Javascript, giảm thiểu sử dụng nhớ 1.1.2 Tại chọn GWT xây dựngứngdụng Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Trong mục giải câu hỏi bố cục tổng thể cách tiếp cận GWT Tìm hiểu GWT đƣợc tạo ra, đƣợc ứngdụng đâu lại quan trọng xây dựng (quản lý) pháttriển phần mềm Tại phải code ứngdụng web với GWT? Tại không dừng lại với JavaScript? Ƣu điểm GWT gì? Tại khuyên bạn nêndùng GWT - GWT công cụ cho phép bạn pháttriển code phía client với Java, phiên dịch code bạn sang JavaScript để chạy trình duyệt máy client Sản phẩm cuối ứngdụng web với hầu hết mức độ tƣơng tác ứngdụng desktop, cho phép chạy máy khách với yêu cầu tối thiểu code tƣơng tác phía server Biên dịch sang JavaScript tăng thêm tốc độ code đƣợc tối ƣu hóa tốt tƣơng đƣơng tốt so với code đƣợc viết tay ngƣời lập trình Quan trọng bạn lo lắng với trình duyệt khác GWT tạo code tương thích với trình duyệt cụ thể - Tại lại ứngdụng dựa web? Ngày nay, với pháttriển không ngừng hệ Web 2.0, việc xây dựngứngdụng chạy web, gọi tắt RIA (Rich Internet Application) trở nên phổ biến Ứngdụng web (Web App) khái niệm xuất giới từ lâu với tên gọi quen thuộc tiếng nhƣ: Apps FaceBook, Google Apps, Microsoft Apps, Hiện nay, Việt nam, pháttriểnứngdụng web điểm sáng đáng ý lĩnh vực công nghệ thông tin Việc xây dựngứngdụng web có nhiều lợi so với ứngdụng desktop thông thƣờng Trong ứngdụng desktop thông thƣờng phải tốn nhiều chi phí cho việc cài đặt, bảo trì, nâng cấp máy tính ứngdụng web chạy nơi đâu thông qua trình duyệt web mà cài đặt Tuy nhiên, ứngdụng web tồn hạn chế định, khả hỗ trợ ứng dụng, control không mạnh ứngdụng desktop, tốc độ chƣơng trình Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội phụ thuộc vào server, đƣờng truyền Cùng với trình chạy đua việc nâng cấp hệ điều hành (OS) từ nhà cung cấp nhƣ pháttriển HTML5, ứngdụng chạy web (web app) dần thu hẹp khoảng cách với ứngdụng gốc Sự pháttriển tiện lợi đầu ngôn ngữ HTML5 (bên cạnh jQuery/CSS) giúp cho ứngdụng web làm đƣợc điều mà ứngdụng gốc có Có thể nói phần cứng hệ điều hành smartphone đƣợc nâng cấp “thời” ứngdụng web, hạn chế trƣớc ứngdụng web nhƣ tốc độ truy cập, giao diện ngƣời dùng không hấp dẫn dần đƣợc khắc phục Các nhà pháttriển phần mềm dần chuyển sang mảnh đất đƣợc cho màu mỡ này, không bị giới hạn hệ điều hành cụ thể, đặc biệt phần mềm đƣợc nâng cấp nhanh chóng Các phần hƣớng pháttriển web khó khăn lý để công nghệ đời, RIA sau có GWT Các công nghệ kèm với nhƣng ƣu nhƣợc điểm nó, nhƣng điểm tốt GWT đƣợc thiết kế theo hƣớng thiết kế web tier - Các công cụ hỗ trợ thử nghiệm: Một ƣu điểm GWT so với RIA cung cấp công cụ hỗ trợ thử nghiệm GWT bao gồm shell debug mạnh, cho phép kiểm tra sửa lỗi code tƣơng tác với native browser hệ điều hành sử dụng GWT cung cấp hỗ trợ thử nghiệm dựa JUnit Mã code GWT đƣợc test nhƣ java từ shell Sau biên dịch mã sang JavaScript, thử nghiệm sử dụng lại sâu cung cấp GWT Điều cho phép bạn kiểm thử trình duyệt khác nhau, chí hệ điều hành khác kết hợp trình duyệt Phƣơng tiện kiểm thử công cụ hỗ trợ đích hƣớng tới trọng tâm GWT, chế độ tiêu chuẩn lập trình truyền thống nhƣng phổ biến cho Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 10 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội public static native void sendLoginRedirectURL(String url) /*-{ var oauth_url = 'https://www.facebook.com/dialog/oauth?'; oauth_url += 'client_id=1538674579716109'; // lược bỏ code }-*/; 4.2.2 Ứngdụng android Tạo code cordova project cho hệ điều hành di động - Tạo thƣ mục để chứa mã nguồn ứngdụng Clicker cách chạy dòng lệnh sau cmd: $ cordova create clicker com.bh.clicker Clicker Tham số thứ clicker thƣ mục đƣợc tạo để chứa mã nguồn Tham số thứ hai com.bh.clicker package project nơi chứa mã nguồn Tham số thứ Clicker tên project - Thêm platform cho cordova project: Thêm android platform $ cd clicker $ cordova platform add android - Build ứngdụng cho platform: Cho android platform $ cordova build android Thêm plugin cho Clicker cordova project Mở cmd để add plugin - Tạo thƣ mục plugin thƣ mục android/assets/www trình console: $ cordova plugin add org.apache.cordova.console - Thêm vào plugin quản lý thiết bị $ cordova plugin add org.apache.cordova.device - Với plugin không đƣợc đăng ký registry.cordova.io nhƣng đƣợc lƣu trữ git repository phải đƣợc URL tƣơng ứng Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 84 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội $cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGapPlugin.git $cordova plugin add https://github.com/phonegap-build/PushPlugin.git $ cordova plugin add https://github.com/tonyhursh/gapfile.git $cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git Truy cập file thiết bị (File API) $cordova plugin add https://github.com/apache/cordova-plugin-file.git $cordova plugin add https://github.com/apache/cordova-plugin-file-transfer.git Cảnh báo rung $cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-pluginvibration.git Kết nối mạng $cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-pluginnetwork-information.git - Để kết nối facebook cần down FacebookLib cách gõ lệnh sau vào cmd: $ cordova plugin.git plugin add variable https://github.com/phonegap/phonegap-facebookAPP_ID="1538674579716109" variable APP_NAME="ClickerV2" Sau chạy lệnh tạo thƣ mục com.phonegap.plugins.facebookconnect/FacebookLib nằm thƣ mục platforms/android Clicker cordova project Import thƣ mục vào eclipse sau chọn build project Tạo GWT-Phonegap project cho hệ điều hành android (Ứng dụng Clicker cho android) Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 85 Luận văn thạc sỹ: - Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Biên dịch Clicker GWT project để lấy file mã nguồn thƣ mục war Sau biên dịch xong copy thƣ mục clicker, CSS, data, images, js vào thƣ mục clicker/platform/android/assets/www Clicker cordova project - Import project vào eclipse: Chọn import project vào eclipse -> chọn đƣờng dẫn project clicker/platforms/android - Nhấn chuột phải vào project chọn properties ->resource-> Resource filter xóa hết mục Exclude all - Mở file index.html thƣ mục assets/www project vừa add vào eclipse sửa cách thêm link CSS javascript sau: 4.2.3 Ứngdụng web Bƣớc 1: Đăng ký tài khoản Google App Engine Xem link hƣớng dẫn sau: Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 86 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội https://sites.google.com/site/gdevelopercodelabs/app-engine/creating-your-app-engineaccount Bƣớc 2: Deloy ứngdụng Clicker GWT Đăng nhập vào tài khoản google từ eclipse Chọn deloy ứngdụng lên GAE nhƣ sau: Thiết lập ID cho ứng dụng: Kết link chạy ứng dụng: http://v1-dot-leanhclickerv2.appspot.com/ 4.2.4 Một số hình ảnh kết chạy ứngdụng Màn hình home Màn hình login Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Menu ứngdụng 87 Luận văn thạc sỹ: Màn hình find class Quản lý tập/đề thi Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Nhấn vào dấu cộng để tham gia lớp Nhập mật lớp có Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Quản lý member Xem thông tin đề thi 88 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Chỉnh sửa/tạo đề thi Tạo mới/chỉnh sửa TT thi Quản lý câu hỏi Bắt đầu thi Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Chỉnh sửa/tạo câu hỏi Kết thúc thi 89 Luận văn thạc sỹ: Bắt đầu làm thi Thống kê kết câu Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Trả lời câu hỏi Thống kê kết đề thi Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 Kết thúc làm Xếp hạng thí sinh 90 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội KẾT LUẬN Với kết đạt đƣợc, đồ án đáp ứng đƣợc mục tiêu đặt từ ban đầu Ngƣời viết nắm đƣợc vấn đề xây dựngứngdụngframeworkđatảng Google Web Toolkit Phonegap, nắm bắt đƣợc công nghệ để xây dựngứngdụngthitrắcnghiệmtrựctuyến xử lý server nhƣ Google App Engine Hiểu đƣợc cách giao tiếp client server qua giao thức RPC, đồng thời nắm bắt đƣợc cách xây dựngứngdụng theo mô hình MVP Kết ứngdụng chạy web điện thoại di động hệ điều hành Android, thời gian ngƣời viết dành thêm thời gian để xây dựngứngdụngtảng iOS BlackBerry đồng thời cải tiến để xây dựng sở liệu mạng LAN nội đảm bảo với nhu cầu bảo mật, nghiêm túc thi thực tế Kết đạt đƣợc luận văn là: Nghiêncứu áp dụng để trợ giảng cho buổi lên lớp giảng viên sinh viên nơi mà công nghệ thông tin ngày đƣợc ứngdụng mạnh mẽ: Ở trƣờng đại học, cao đẳng nay, số lƣợng học viên giảng đƣờng đông Để nắm bắt đƣợc tình hình chừng sinh viên giảng đƣờng tiếp thu đến đâu để kịp thời điều chỉnh cách giảng nỗi trăn trở lớn nhiều giảng viên quan tâm đến chất lƣợng giáo dục nhà quản lý Hệ thống đƣợc dùng để giáo viên đƣa câu hỏi trắcnghiệm trình giảng bài, sinh viên gửi câu trả lời thời gian hạn định sau thống kê kết trả lời cho giảng viên gửi đáp án trả lời cho học viên Nhờ giải đƣợc nhu cầu muốn nắm bắt kiểm tra đánh giá tình hình tiếp thu sinh viên lớp, đồng thời tạo cách giảng tăng tính tích cực nhờ hoạt động trao đổi giảng viên sinh viên Hƣớng pháttriển tƣơng lai hệ thống tích hợp với hệ thống quản lý Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 91 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội điểm sinh viên phòng đào tạo để chấm điểm trình cho sinh viên tích hợp với mô hình ERP nhà trƣờng Kiểm thử qua áp dụng thực tế: Ngƣời viết luận văn đƣa vào áp dụng thực tế môn giảng trƣờng đại học Xây Dựng Cụ thể ngƣời viết luận văn đƣa liệu giảng slide môn giảng dạy gồm: Tin đại cƣơng, Hệ quản trị sở liệu, Lập trình môi trƣờng nhúng (Lập trình Android) vào phần giảng Đặc biệt liệu kiểm thử bao gồm đề trắcnghiệm cho học phần Hệ quản trị sở liệu đƣợc nghiêncứu suốt kinh nghiệm bốn năm tham gia giảng dạy ngƣời viết để bao phủ đầy đủ nội dung chƣơng trình gồm phần: Table, Query, Form, Report, Macro VBA với mức độ khó dễ khác nhằm phân loại sinh viên cách rõ ràng đƣợc đƣa vào để hỗ trợ hỏi đáp trình giảng dạy thi kỳ Những hạn chế chƣa đạt đƣợc: - Ngƣời viết chưa đƣa đƣợc công nghệ giải pháp để ứngdụng không kết nối Internet trình làm thí sinh nhằm đảm bảo tính nghiêm túc bảo mật thực tế kỳ thi Do ứngdụngdừng lại với mục đích hỗ trợ giảng dạy học tập chƣa thể đƣa vào áp dụng kỳ thitrắcnghiệm thực tế Đây hƣớng mở mà ngƣời viết muốn tiếp tục nghiêncứu học cao lên tiếp tục theo đuổi đề tài - Các chức ứngdụng đạt đƣợc sơ sài, đơn giản chƣa đáp ứng thuận tiện đƣợc nhu cầu thực tế ngân hàng đề cầu hỏi trắcnghiệm chẳng hạn nhƣ chức trộn đề, đảo vị trí đáp án, gom cụm phân mức khó dễ ngân hàng đề, sinh đề ngẫu nhiên… Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 92 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội Với vấn đề mà luận văn đƣa kết mà luận văn đạt đƣợc hi vọng góp đƣợc phần công sức để nâng cao chất lƣợng kiểm tra đánh giá chất lƣợng giáo dục, từ bƣớc nâng cao chất lƣợng đào tạo giáo dục Do thời gian thực có hạn nên sản phẩm chƣa thể thực hoàn thiện với nhu cầu thực tế thị trƣờng Ý tƣởng luận văn đƣa xuất phát từ thực tế kinh nghiệm thân nhiều năm hoạt động lĩnh vực giáo dục Hi vọng nhận đƣợc đóng góp, góp ý ngƣời đọc để ngƣời viết luận văn xa tiếp tục đóng góp lĩnh vực Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 93 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội TÀI LIỆU THAM KHẢO A Sách Joshua Marinacci, 2012, Building Mobile Applications with Java, O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 Vipul Gupta, 2008, Accelerated GWT: Building Enterprise Google Web Toolkit Applications, Apress Rohit Ghatol,Yogesh Patel,2012, Beginning phonegap mobile web framework for javascript and html5,Apress Jonh M.Wargo, 2012, Phonegap Essentials Building Cross-platform Mobile Apps, Addison-Wesley Robert Cooper,Charles Collins, 2008, GWT in Practice, Manning Publications B Tạp chí Bareiss,R&Sedano, T.,(2011),“Improving Mobile Application Development”, 2nd Annual Workshop on Software Engineering for Mobille Application Development, MobiCASE’11 Santa Monica, CA, USA, 2011 Ramzi N.Sansour, Nidal Kafri, Muath N.Sabha - A servey on mobile multimedia application development frameworks – Multimedia Computing and Systems (ICMCS), 2014 International Conference Nguyễn Phát Tài – đề tài nghiêncứu khoa học cấp trƣờng, trƣờng Cao đẳng phát truyền hình II- “Ứng dụngtrắcnghiệmvào việc kiểm tra, đánh giá kết học tập sinh viên” Đồ án tốt nghiệp - Nguyễn Lan Anh – K53CNPM - Đại học Bách Khoa Hà Nội – MSSV 20080063 Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 94 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội C Mạng internet http://www.gwtproject.org/ https://code.google.com/p/google-web-toolkit/ http://www.vogella.com/tutorials/GWT/article.html https://github.com/mgwt http://cordova.apache.org/ http://stackoverflow.com/ http://getprismatic.com/story/1416345351155?share=MTk0Nzg3.MTQxNjM0NT M1MTE1NQ.QYghTFm_3MnMAoe00qgV7jhjk0U DANH MỤC CÁC KÝ HIỆU CHỮ VIẾT TẮT Ký hiệu viết tắt GWT BGD&ĐT Ý nghĩa Google Web Toolkit Bộ Giáo dục Đào tạo API Application Programming Interface RIA Rich Internet Application RPC Remote procedure call JRE Java Runtime Environment JSNI JavaScript Native Interface UI User Interface PaaS Platform as a service GAE Google App Engine GCS Google Cloud Storage JSP JavaServer Page JPA Java Persistence API JDO Java Data Object Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 95 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội DOM Document Object Model MVP Model-View-Presenter DANH MỤC CÁC BẢNG Tên bảng Ý nghĩa Bảng 1.1 Thƣ mục src Bảng 1.2 So sánh cách lƣu trữ liệu cho ứngdụng mà Google App Engine cung cấp cho ngôn ngữ java Bảng 1.3 Danh sách platform Phonegap hỗ trợ Bảng 1.4 Danh sách Phonegap API hỗ trợ cho thiết bị di động Bảng 1.5 So sánh framework Phonegap Titanium Bảng 3.1 Thành phần entity Course Bảng 3.2 Thành phần entity Exercise Bảng 3.3 Thành phần entity ExerciseQuestion Bảng 3.4 Thành phần entity ExerciseQuestionResult Bảng 3.5 Thành phần entity ExerciseQuestionStatistic Bảng 3.6 Thành phần entity Test Bảng 3.7 Thành phần entity TestStatistic Bảng 3.8 Thành phần entity User Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 96 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội DANH MỤC CÁC HÌNH VẼ Tên hình vẽ Ý nghĩa Hình 1.1 Sơ đồ kiến trúc GWT RPC Hình 1.2 Cấu trúcứngdụng GWT Hình 1.3 Đặc tính ứngdụng Hybird Hình 1.4 Ứngdụng Phonegap tƣơng tác với thiết bị di động Hình 1.5 Nguyên tắc hoạt động Phonegap, Cordova Hình 1.6 Mô hình xây dựngứngdụng với Phonegap Hình 2.1 Mô hình hoạt động MVP Hình 2.2 Mô thành phần tham gia vàoứngdụng MVP sản xuất so với kiểm thử (để tránh cách sử dụng tiếp cận GWTTestCase đắt tiền) Hình 2.3 Ví dụ place đƣợc điều hƣớng trình duyệt Hình 3.1 Biểu đồ usecase tổng quát Hình 3.2 Sơ đồ hoạt động làm thi Hình 3.3 Biểu đồ thiết kế lớp package createCourse Hình 3.4 Biểu đồ thiết kế lớp package SearchCourse Hình 3.5 Biểu đồ thiết kế lớp package ExerciseView Hình 4.1 Trỏ đƣờng dẫn GWT SDK cho eclipse Hình 4.2 Cách cài đặt Google Plugin cho eclipse gói kepler Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 97 Luận văn thạc sỹ: Viện Công nghệ thông tin truyền thông Đại học Bách Khoa Hà Nội PHỤ LỤC Học viên: Lê Thị Hoàng Anh _ Lớp 13B CNTT1 98 ... thế, luận văn lựa chọn công nghệ tìm hiểu framework phát triển ứng dụng đa tảng nhƣ Google Web Toolkit (GWT) PhoneGap để xây dựng ứng dụng thi trắc nghiệm trực tuyến Cùng với tính ngày gia tăng... hiểu Framework đa tảng Google Web Toolkit Phone Gap Hiện có nhiều lựa chọn mặt công nghệ lập trình, framework để phát triển ứng dụng Qua khảo sát toán yêu cầu thực tế, Luận văn xây dựng ứng dụng. .. tăng sử dụng loại thi t bị điện tử khác vào phục vụ học tập, phát triển ngày nâng cao chất lƣợng phục vụ internet Cùng với mục tiêu hƣớng đến luận văn không dừng lại áp dụng cho kỳ thi trắc nghiệm