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,42 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 hồn thành luận văn Trong suốt q trình nghiên cứu, thầy tận tình dẫn, định hướng, giúp đỡ, động viên em để hồ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át triển KoolSoft chia sẻ giúp đỡ chị hồ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 ln ln đồn kết, giúp đỡ lẫn nhau, tạo mơi trường tốt để hồ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 đa tả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 ứng dụ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 ứng dụ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 ỨNG DỤNG 48 2.1 Mơ hình sử dụng ứng dụ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 thi trắc nghiệm trực tuyế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 ứng dụng kết 82 4.2.1 Đăng ký ứng dụng với facebook 82 4.2.2 Ứng dụ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 Ứng dụng web 86 4.2.4 Một số hình ảnh kết chạy ứng dụ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ắc nghiệ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ắc nghiệ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 thi trắc nghiệm hình thức phổ biến nhờ vào ƣu điểm ln 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ắc nghiệ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 Ứng dụng công nghệ thông tin dạy học xu phát triể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 ứng dụ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 đề thi trắc nghiệm) Chính 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 thị trƣờng di động đặc biệt SmartPhone với nhiều hệ điều hành khác phát triể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 ứng dụ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ắc nghiệm khách quan từ giáo viên hệ thống tự chấm trực tuyến Phạm vi hệ thống: Áp dụng kỳ thi trắc nghiệm khách quan cho bậc đào tạo Giải pháp Tìm 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 dựa web sử dụng framework đa tả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ỗ đứng thị trƣờng mà xu xây dựng web application ngày phát triển Đồng thời với phát triển thị trƣờng di động smartphone ngày gia tăng PhoneGap framework dành cho xây dựng ứng dụng thiết bị điện thoại di động (hybrid application) PhoneGap đƣợc phát triể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ỗ đứng thị trƣờng framework xây dựng ứng dụ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á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 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 ứng dụng web application đa tảng Luận văn định lựa chọn framework đa tảng GWT PhoneGap vào xây dựng ứng dụ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 ứng dụ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 ứng dụng Trong phần đƣa mơ hình MVP để xây dựng ứng dụ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ế ứng dụng cài đặt Chƣơng 4: Cài đặt Trong chƣơng vào phân tích cách cài đặt ứng dụng web điện thoại di động hệ điều hành Android Kết luận hƣớng phát triể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 ứng dụ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 ứng dụ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 ứng dụng đâu lại quan trọng xây dựng (quản lý) phát triển phần mềm Tại phải code ứng dụ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ên dùng GWT - GWT công cụ cho phép bạn phát triể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 ứng dụng web với hầu hết mức độ tƣơng tác ứng dụ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 khơng phải 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 ứng dụng dựa web? Ngày nay, với phát triển không ngừng hệ Web 2.0, việc xây dựng ứng dụng chạy web, gọi tắt RIA (Rich Internet Application) trở nên phổ biến Ứng dụ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át triển ứng dụng web điểm sáng đáng ý lĩnh vực công nghệ thông tin Việc xây dựng ứng dụng web có nhiều lợi so với ứng dụng desktop thông thƣờng Trong ứng dụ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 ứng dụng web chạy nơi đâu thơng qua trình duyệt web mà khơng phải cài đặt Tuy nhiên, ứng dụng web tồn hạn chế định, khả hỗ trợ ứng dụng, control không mạnh ứng dụ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át triển HTML5, ứng dụng chạy web (web app) dần thu hẹp khoảng cách với ứng dụng gốc Sự phát triển tiện lợi đầu ngôn ngữ HTML5 (bên cạnh jQuery/CSS) giúp cho ứng dụng web làm đƣợc điều mà ứng dụ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” ứng dụng web, hạn chế trƣớc ứng dụ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át triể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át triể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 khơng phải 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 Ứng dụ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 ứng dụ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 ứng dụ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 Ứng dụ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 ứng dụng Clicker GWT Đăng nhập vào tài khoản google từ eclipse Chọn deloy ứng dụ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 ứng dụng Màn hình home Màn hình login Học viên: Lê Thị Hồng Anh _ Lớp 13B CNTT1 Menu ứng dụ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 ứng dụng framework đa tảng Google Web Toolkit Phonegap, nắm bắt đƣợc công nghệ để xây dựng ứng dụng thi trắc nghiệm trực tuyế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 ứng dụng theo mô hình MVP Kết ứng dụ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 ứng dụng tả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ên cứ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 ứng dụ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ắc nghiệ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át triể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 q 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ắc nghiệm cho học phần Hệ quản trị sở liệu đƣợc nghiên cứ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 để ứng dụ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 ứng dụng dừ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ỳ thi trắc nghiệm thực tế Đây hƣớng mở mà ngƣời viết muốn tiếp tục nghiên cứu học cao lên tiếp tục theo đuổi đề tài - Các chức ứng dụ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ắc nghiệ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ên cứu khoa học cấp trƣờng, trƣờng Cao đẳng phát truyền hình II- “Ứng dụng trắc nghiệm và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 ứng dụ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 ứng dụng GWT Hình 1.3 Đặc tính ứng dụng Hybird Hình 1.4 Ứng dụng Phonegap tƣơng tác với thiết bị di động Hình 1.5 Ngun tắc hoạt động Phonegap, Cordova Hình 1.6 Mơ hình xây dựng ứng dụ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 ứng dụ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 ... 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 thị... PhoneGap framework mã nguồn mở dành cho xây dựng ứng dụng native đa tảng sử dụng công nghệ web chuẩn nhƣ HTML5, CSS, JS Dạng ứng dụng di động đƣợc tạo phonegap đƣợc gọi ứng dụng hybird Những ứng dụng. .. DỰNG ỨNG DỤNG 2.1 Mơ hình sử dụng ứng dụng – Mơ hình MVP (MVP Activity and Place hỗ trợ GWT) Xây dựng ứng dụng quy mô lớn có rào cản nó, ứng dụng GWT khơng nằm ngồi quy luật Nhiều nhà phát triển