1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triền phần mềm cho người học tại đại học quốc gia hà nội trên nền android và VNUPAD

59 278 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN DƢƠNG TRINH PHÁT TRIỂN PHẦN MỀM CHO NGƢỜI HỌC TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI TRÊN NỀN ANDROID VÀ VNUPAD LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN DƢƠNG TRINH PHÁT TRIỂN PHẦN MỀM CHO NGƢỜI HỌC TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI TRÊN NỀN ANDROID VÀ VNUPAD Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật Phần mềm Mã số:60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: Tiến sĩ Lê Quang Minh Hà Nội - 2014 Lời cam đoan Tôi xin cam đoan: Luận văn công trình nghiên cứu phát triển thực cánhân, thực hướng dẫn khoa học Tiến sĩ Lê Quang Minh.Các số liệu, kết luận nghiên cứu phát triển trình bày luận vănnày trung thực chưa công bố hình thức nào.Tôi xin chịu trách nhiệm nghiên cứu phát triển Học viên Nguyễn Dương Trinh Mục lục Lời cam đoan Mục lục Danh mục bảng Danh mục hình Mở đầu Chương TỔNG QUAN VỀ BÀI TOÁN XÂY DỰNG VÀ PHÁT TRIỂN CÁC ỨNG DỤNG CHO VNUPAD 1.1 Hệ điều hành Android 1.2 Thiết bị VNUPad 10 1.3 Các phần mềm có Android sử dụng VNUPad 12 1.4 Xây dựng ứng dụng cho VNUPad 14 Chương KHẢO SÁT NGHIỆP VỤ CHO PHẦN MỀM VNUNOTE 18 2.1 Nhu cầu xây dựng phần mềm VNUNote 18 2.2 Các yêu cầu nghiệp vụ cho phần mềm VNUNote 19 2.2.1 Nghiệp vụ hỗ trợ ghi chép 19 2.2.2 Nghiệp vụ quản lý thông tin hỗ trợ học tập 20 2.2.3 Nghiệp vụ quản lý tài liệu đính kèm 21 2.2.4 Nghiệp vụ đặt lịch thông báo 22 2.2.5 Nghiệp vụ tự động tóm tắt nội dung 23 2.2.6 Đối sánh VNUNote với phần mềm tương tự có 24 Chương XÂY DỰNG PHẦN MỀM VNUNOTE 25 3.1 Thiết kế kiến trúc cho ứng dụng 25 3.2 Biểu đồ hoạt động ứng dụng 26 3.3 Các ca sử dụng ứng dụng 28 3.4 Thiết kế hình 37 3.5 Thiết kế bảng liệu 42 3.6 Thiết kế lớp 45 3.7 Lập trình lớp 52 3.8 Kiểm thử lớp 53 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC Một số mã nguồn cài đặt 56 PHỤC LỤC Một số mã kiểm thử thực 58 Danh mục bảng Bảng 1.1 Cấu hình thiết bị VNUPad Bảng 1.2 Các phần mềm có Android Bảng 2.1 Bảng đối sánh VNUNote với phần mềm tương tự có Bảng 3.1 Ca sử dụng hiển thị danh sách ghi chép Bảng 3.2 Ca sử dụng tìm kiếm ghi chép theo tiêu đề Bảng 3.3 Ca sử dụng tìm kiếm ghi chép theo Tag Bảng 3.4 Ca sử dụng xóa ghi chép Bảng 3.5 Ca sử dụng hiển thị tài liệu đính kèm Bảng 3.6 Ca sử dụng hiển thị tập tin thư mục Bảng 3.7 Ca sử dụng thay đổi thư mục hiển thị tập tin Bảng 3.8 Ca sử dụng hiển thị thông tin ghi chép Bảng 3.9 Ca sử dụng hiển thị nội dung ghi chép Bảng 3.10 Ca sử dụng đặt lịch thông báo Bảng 3.11 Ca sử dụng tự động lưu thông tin ghi chép Bảng 3.12 Ca sử dụng tự động lưu nội dung ghi chép Bảng 3.13 Ca sử dụng mở tài liệu đính kèm Bảng 3.14 Ca sử dụng xóa tài liệu đính kèm Bảng 3.15 Ca sử dụng thêm tài liệu đính kèm Bảng 3.16 Ca sử dụng tự động tóm tắt nội dung Bảng 3.17 Bảng liệu ghi chép Bảng 3.18 Bảng liệu lịch Bảng 3.19 Bảng liệu tài liệu đính kèm Bảng 3.20 Bảng liệu ngày tuần Bảng 3.21 Các lớp ca sử dụng hiển thị danh sách ghi chép Bảng 3.22 Các lớp ca sử dụng tìm kiếm ghi chép theo tiêu đề Bảng 3.23 Các lớp ca sử dụng tìm kiếm ghi chép theo Tag Bảng 3.24 Các lớp ca sử dụng xóa ghi chép Bảng 3.25 Các lớp ca sử dụng hiển thị tài liệu đính kèm Bảng 3.26 Các lớp ca sử dụng hiển thị hệ thống tập tin Bảng 3.27 Các lớp ca sử dụng thay đổi thư mục hiển thị tập tin Bảng 3.28 Các lớp ca sử dụng hiển thị thông tin ghi chép Bảng 3.29 Các lớp ca sử dụng hiển thị nội dung ghi chép Bảng 3.30 Các lớp ca sử dụng đặt lịch thông báo Bảng 3.31 Các lớp ca sử dụng tự động lưu thông tin ghi chép Bảng 3.32 Các lớp ca sử dụng tự động lưu nội dung ghi chép 11 13 24 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 43 44 44 44 45 46 46 47 47 48 48 48 49 49 50 50 Bảng 3.33 Các lớp ca sử dụng mở tài liệu đính kèm Bảng 3.34 Các lớp ca sử dụng xóa tài liệu đính kèm Bảng 3.35 Các lớp ca sử dụng thêm tài liệu đính kèm Bảng 3.36 Các lớp ca sử dụng tóm tắt nội dung ghi chép 51 51 51 52 Danh mục hình Hình 3.1 Biểu đồ hoạt động ứng dụng Hình 3.2 Biểu đồ ca sử dụng ứng dụng Hình 3.3 Giao diện ứng dụng Hình 3.4 Giao diện tài liệu đính kèm Hình 3.5 Giao diện sửa thông tin xóa ghi chép Hình 3.6 Giao diện mở xóa tài liệu đính kèm Hình 3.7 Giao diện tìm kiếm ghi chép theo Tag Hình 3.8 Giao diện hiển thị hệ thống tập tin Hình 3.9 Giao diện chỉnh sửa thông tin ghi chép lịch thông báo Hình 3.10 Giao diện xóa lịch thông báo Hình 3.11 Giao diện thông báo lịch ghi chép Hình 3.12 Giao diện thông báo lịch ghi chép mở Hình 3.13 Giao diện hiển thị nội dung tóm tắt Hình 3.14 Sơ đồ quan hệ bảng sở liệu Hình 3.15 Kiến trúc lớp ứng dụng 26 28 37 37 38 38 39 39 40 40 41 41 42 43 45 Mở đầu Luận văn phát triển phần mềm cho người học Đại học Quốc gia Hà Nội Android VNUPad thực hướng dẫn khoa học Tiến sĩ Lê Quang Minh Luận văn hoàn thành thời gian học tập Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Mục đích luận văn tạo phần mềm ghi chép hoàn chỉnh, chuyên dụng học tậpgọi VNUNote cho thiết bị VNUPad.Phần mềm khắc phục nhược điểm phần mềm ghi chép Android.Bố cục luận văn gồm chương Chương làtổng quan toán xây dựng phát triển ứng dụng cho VNUPad Chương giới thiệu thiết bị VNUPad, hệ điều hành Android, phát triển phần mềm cho VNUPad Android miêu tả phần mềm mà Android có Chương làkhảo sát yêu cầu nghiệp vụ cho phần mềm ghi chép VNUNote Chương trình bày nhu cầu cần thiết để xây dựng phần mềm VNUNote lựa chọn nghiệp vụ cho phần mềm VNUNote Chương làxây dựng phần mềm ghi chép VNUNote Chương trình bày trình phát triển phần mềm VNUNote Quá trình bao gồm từ phân tích biểu đồ hoạt động, biểu đồ ca sử dụng đến thiết kế xây dựng lớp lập trình, kiểm thử ứng dụng Tôi cảm ơn Tiến sĩ Lê Quang Minh, Viện Công nghệ Thông tin, Đại học Quốc gia Hà Nội hướng dẫn thực luận văn Chƣơng TỔNG QUAN VỀ BÀI TOÁN XÂY DỰNG VÀ PHÁT TRIỂN CÁC ỨNG DỤNG CHO VNUPAD 1.1 Hệ điều hành Android Android hệ điều hành phổ biến dành cho thiết bị di động, từ điện thoại thông minh đến dòng máy tính bảng Trong lĩnh vực Android hệ điều hành thành công từ trước đến với kho ứng dụng đồ sộ mạng lưới nhà phát triển phần cứng, phần mềm, viễn thông khắp giới Vào tháng 10 năm 2003 hãng phần mềm Android Inc đời Palo Alto, California Andy Rubin, Rich Miner Chris White sáng lập Những ngày đầu, hoạt động công ty diễn âm thầm không tuyên bố phát triển hệ điều hành Android mà nói họ phát triển phần mềm cho điện thoại di động Tháng năm 2005 công ty Google mua lại công ty Android biến thành phận trực thuộc Tại thành viên chủ chốt Rubin, Miner Chris tiếp tục làm việc tạo thành nhóm chịu trách nhiệm phát triển hệ điều hành Android Nhóm phát triển Andy Rubin tập trung phát triển Android từ nhân Linux trở thành hệ điều hành mở, dễ nâng cấp tương thích với loại phần cứng hãng khác Với Android, Google muốn thành lập liên minh thiết bị di động mở bao gồm nhà phát triển phần mềm, phần cứng nhà mạng với Vào tháng 11 năm 2007, giấc mơ Google trở thành thật liên minh thiết bị cầm tay mở rộngOHA (Open Handset Alliance) đời bao gồm nhiều hãng danh tiếng nhưTexas Instruments,tập đoàn Broadcom, Google, HTC, Intel, LG, tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel T-Mobile [17] Tháng 10 năm 2008 hệ điều hành Android thức trở thành phần mềm mã nguồn mở điện thoại chạy Android HTC Dream bán thị trường Biểu tượng hệ điều hành Android rô bốt màu xanh hãng Irina Blok California vẽ [5] Tháng 11 năm 2008 liên minh OHA Google đứng đầu thức cho đời công cụ phát triển phần mềm Android Từ bắt đầu thời kỳ phát triển mạnh nhà lập trình bao gồm công ty phần mềm ứng dụng cá nhân phát triển phần mềm tự [5] Tháng 12 năm 2008 có thêm 14 thành viên gia nhập liên minh OHA ARM Holding, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp Vodafone Group Plc Điều cho thấy bành chướng ngày mạnh mẽ liên minhnày [17] Phiên Android đời vào tháng năm 2008 tháng năm 2009 Phiên tên gọi thức hệ điều hành chưa thực phổ biến phát triển thành hệ thống [5] Phiên Android có tên Android Cupcake 1.5 đời tháng năm 2009 Đây phiên thực hoàn chỉnh với chức đầy đủ Đó hỗ trợ bàn phím ảo với khả đoán chữ, hỗ trợ thành phần giao diện nhúngcủa ứng dụng hình máy chủ hỗ trợ bluetooth, chụp ảnh, quay phim [5] Phiên Android Donut 1.6 đời tháng năm 2009 với tính Đáng ý kho ứng dụng Android Market, hỗ trợ tuỳ biến giao diện, nâng cấp công cụ tìm kiếm giọng nói Voice Search, nâng cấp công cụ tìm kiếm Google Search cho phép tìm kiếm liên lạc, địa chỉ, trang web nhanh chóng Ở phiên có hỗ trợ thiết bị hình lớn máy tính bảng [5] Phiên Android Eclair 2.0 2.1 đời tháng 10 năm 2009 Phiên Google cải thiện giao diện hình tối ưu hoá để tận dụng tốc độ phần cứng hỗ trợ nhiều kích cỡ hình khác Ngoài Google nâng cấp số phần mềm chủ chốt Map, Camera bổ sung đèn flash cho ống kính, nâng cấp bàn phím ảo chuẩn kết nối Bluetooth 2.1 [5] Phiên Android Froyo 2.2 đời tháng năm 2010 Phiên trọng nâng cấp tốc độ xử lý cải tiến máy lõi phiên thứ cho trình duyệt Chrome hỗ trợ Adobe Flash 10.1 Ở phiên người dùng tạo điểm truy cập wifi thiết bị, chuyển đổi ngôn ngữ bàn phím ảo Một dòng điện thoại thông minh chạy Android Froyo 2.2 LG Optimus One [5] Phiên Android Gingerbread 2.3 đời tháng 12 năm 2010 Phiên nâng cấp đáng kể giao diện người dùng, cải thiện bàn phím ảo, thêm tính chép dán ứng dụng soạn thảo văn bản, hỗ trợ công nghệ giao tiếp tầm gần NFC (viết tắt Near Field Communication) Với phiên Google cho mắt điện thoại hãng chạy tảng Google Nexus S [5] Phiên Android Honeycomb 3.0 đời tháng năm 2011 Đây phiên hệ điều hành dành riêng cho máy tính bảng với giao diện tuỳ chỉnh cho phù hợp với kích thước hình đặc tính riêng máy tính bảng Phiên Honeycomb hỗ trợ xử lý đa nhân, xử lý đồ hoạ cải tiến khả tuỳ biến giao diện cao [5] Android 4.0 Ice Cream Sandwich đời cuối năm 2011 Với phiên này, Google hợp hệ điều hành dành cho điện thoại thông minh máy tính bảng Android 4.0 hướng đến nâng cấp tốc độ duyệt web, tối ưu hoá sử dụng tài nguyên tăng thời lượng sử dụng pin thiết bị [5] Android Jelly Bean 4.1 4.2 đời năm 2012 Ở Phiên này, Google tập trung cải tiến độ mượt cho hệ điều hành, điều làm cho người dùng phàn nàn Android thiếu độ mượt giật vuốt hình cảm ứng Để có mượt mà Google tập trung phát triển dự án Butter Đây dự án giúp Android hoạt động trơn tru cách iOS [5] Phiên Android Jelly Bean 4.3 đời tháng năm 2013 Android 4.3 cải tiến kết nối Bluetooth, thêm khả định vị Wifi Đặc biệt phiên này, Google 10 tích hợp thư viện lập trình đồ hoạ OpenGL ES 3.0 giúp lập trình viên phát triển ứng dụng trò chơi đồ hoạ tốt nhanh chóng [5] Android KitKat 4.4 đời tháng 10 năm 2013 Phiên cải tiến giao tiếp NFC (viết tắt Near Field Communication), cổng hồng ngoại, hỗ trợ hiệu ứng chuyển cảnh hình đẹp Android 4.4 cung cấp thư viện lập trình cho ứng dụng Web truy cập không gian lưu trữ thiết bị [5] Android L hay Lollipop 5.0 đời tháng năm 2014 Phiên cải tiến chất lượng sử dụng pin thay đổi phong cách giao diện theo kiểu giao diện phẳng Giao diện phẳng sử dụng hệ điều hành Window Phone Microsoft Tuy nhiên cách thiết kế Microsoft tù túng Android 5.0 hỗ trợ giao diện phẳng không thay đổi nhiều hình thái biểu tượng ứng dụng Điều giúp giao diện Android vừa quen thuộc vừa nhẹ nhàng, thoát cải tiến hiệu xử lý xử lý hiệu ứng phức tạp thừa thãi [5] Android xây dựng dựa nhân Linux 2.6 từ phiên Android đến phiên Android 3.0 Còn từ phiên Android 4.0 trở xây dựng nhân Linux 3.x Ngôn ngữ để viết Android (bao gồm phần mềm hệ thống, thư viện lập trình) ngôn ngữ C Trong ngôn ngữ để viết ứng dụng cho Android Java Trong giới Java, ứng dụng dịch thành mã Bytecode chạy thông qua máy ảo Java Ứng dụng Android sử dụng máy ảo thiết kế riêng máy ảo Dalvik Nền tảng phần cứng Android kiến trúc ARM (ARM viết tắt Acorn RISC Machine RISC viết tắt Reduced Instruction Set Computer) kiến trúc máy tính với tập lệnh đơn giản hoá [1] Nhưng hỗ trợ kiến trúc x86 thông qua dự án Android x86 Hiện tảng Android TV sử dụng phiên Android x86 đặc biệt Nền tảng hứa hẹn phát triển rộng số chủng loại thiết bị chạy Android Hiện liên minh OHA (viết tắt Open Handset Alliance) Google đứng đầu mở rộng phát triển, hướng đến nhiều công ty phần cứng, phần mềm viễn thông Song hành với liên minh tập hợp công ty cá nhân phát triển ứng dụng di động Android ngày phát triển rộng khắp giới 1.2 Thiết bị VNUPad VNUPad thiết bị máy tính bảng chạy Android Viện Công nghệ Thông tin, Đại học Quốc gia Hà Nội thiết kế quản lý Hiện thiết bị cài Android 4.1 Cấu hình thiết bị lựa chọn để phục vụ cho nhu cầu làm việc, học tập giải trí (ghi chép, đọc sách, thuyết trình, nghe nhạc, xem phim) Bảng 1.1 mô tả cấu hình thiết bị VNUPad[3] 45 3.6 Thiết kế lớp Sử dụng phương pháp hướng đối tượng để thiết kế lớp ứng dụng [14]như hình3.15 Các lớp phân loại theo giao diện, chức năng, liệu Trong hình 3.15 ta thấy lớp giao diện cung cấp liệu thao tác người dùng cho lớp chức Các lớp chức sử dụng lớp giao diện để hiển thị liệu Các lớp chức sử dụng lớp liệu cụ thể để thao tác liệu ứng dụng Các lớp liệu cụ thể sử dụng lớp truy cập liệu chung để thực giao dịch với sở liệu Tất lớp sử dụng thư viện lập trình Android Hình 3.15 Kiến trúc lớp ứng dụng Theo kiến trúc trên, chi tiết lớp cho ca sử dụng hiển thị danh sách ghi chép mô tả bảng 3.21 Bảng cho biết nhiệm vụ lớp việc hiển thị danh sách ghi chép Bảng 3.21 Các lớp ca sử dụng hiển thị danh sách ghi chép fragment_entry.xml Cung cấp giao diện hiển thị danh sách ghi chép (chỉ gồm (giao diện) thông tin tiêu đề , tóm tắt ngày tạo) Người dùng bấm vào ghi chép (được xử lý NoteActivity.java) NoteActivity.java (lớp chức năng) Đọc danh sách ghi chép từ sở liệu (dùng lớp Note.java) Hiển thị danh sách ghi chép lên giao diện (fragment_entry.xml) 46 Note.java (lớp liệu) Xây dựng câu lệnh SQL dùng lớp SqliteWrapper.java để truy vấn danh sách ghi chép Xây dựng câu lệnh SQL dùng lớp SqliteWrapper.java để truy vấn ghi chép theo ID Xóa cập nhật ghi chép sử dụng lớp SqliteWrapper.java SqliteWrapper.java Cung cấp chức giao dịch sở liệu (truy vấn, (lớp giao dịch) cập nhật, xóa) Các lớp ca sử dụng tìm kiếm ghi chép theo tiêu đề mô tả bảng 3.22 Bảng cho biết nhiệm vụ lớp việc tìm kiếm ghi chép theo tiêu đề Bảng 3.22 Các lớp ca sử dụng tìm kiếm ghi chép theo tiêu đề fragment_entry.xml Cung cấp giao diện cho ô tìm kiếm nút tìm kiếm (giao diện) Người dùng nhập liệu vào ô tìm kiếm bấm nút tìm kiếm (được xử lý NoteActivity.java) NoteActivity.java (lớp chức năng) Lọc danh sách ghi chép có tiêu đề phù hợp liệu tìm kiếm Cập nhật danh sách ghi chép lên giao diện (fragment_entry.xml) Các lớp ca sử dụng tìm kiếm ghi chép theo tag mô tả bảng 3.23 Bảng cho biết nhiệm vụ lớp việc tìm kiếm ghi chép theo Tag Bảng 3.23 Các lớp ca sử dụng tìm kiếm ghi chép theo Tag fragment_entry.xml Cung cấp giao diện tìm kiếm theo tag (giao diện) Người dùng chọn tag để tìm kiếm ghi chép (được xử lý NoteActivity.java) NoteActivity.java (lớp chức năng) Lọc danh sách ghi chép có tag phù hợp tag chọn Cập nhật danh sách ghi chép lên giao diện (fragment_entry.xml) 47 Các lớp ca sử dụng xóa ghi chép mô tả bảng 3.24 Bảng cho biết nhiệm vụ lớp việc xóa ghi chép Bảng 3.24 Các lớp ca sử dụng xóa ghi chép fragment_entry.xml Cung cấp giao diện xóa ghi chép (menu ngữ cảnh) (giao diện) Người dùng bấm xóa ghi chép (được xử lý NoteActivity.java) NoteActivity.java (lớp chức năng) Note.java (lớp liệu) Xác định ghi chép xóa gọi phương thức lớp Note.java để tự xóa Cập nhật lại giao diện fragment_entry.xml Xây dựng câu lệnh SQL để xóa khỏi sở liệu (dùng lớp SqliteWrapper.java để thực thi) SqliteWrapper.java Cung cấp chức giao dịch sở liệu (truy vấn, (lớp giao dịch) cập nhật, xóa) Các lớp ca sử dụng hiển thị tài liệu đính kèm mô tả bảng 3.25 Bảng cho biết chi tiết nhiệm vụ lớp việc hiển thị tài liệu đính kèm Bảng 3.25 Các lớp ca sử dụng hiển thị tài liệu đính kèm fragment_content.xml Cung cấp giao diện hiển thị tài liệu đính kèm (một (giao diện) listview) Danh sách tài liệu hiển thị (được xử lý NoteActivity.java) NoteActivity.java (lớp chức năng) Đọc danh sách tài liệu đính kèm sử dụng lớp Attachment.java Hiển thị lên giao diện fragment_content.xml Attachment.java (lớp liệu) Xây dựng câu lệnh SQL để đọc danh sách tài liệu đính kèm (dùng lớp SqliteWrapper.java để thực thi) SqliteWrapper.java (lớp giao dịch) Cung cấp chức giao dịch sở liệu (truy vấn, cập nhật, xóa) 48 Các lớp ca sử dụng hiển thị hệ thống tập tin mô tả bảng 3.26 Bảng cho biết chi tiết nhiệm vụ lớp việc hiển thị hệ thống tập tin nhớ lưu trữ Bảng 3.26 Các lớp ca sử dụng hiển thị hệ thống tập tin fragment_file.xml (giao diện) FileFragment.java (lớp chức năng) Cung cấp giao diện hiển thị tập tin hệ thống (một listview) Danh sách tập tin hiển thị xử lý FileFragment.java Đọc danh sách tập tin từ hệ thống tập tin Android Hiển thị lên giao diện fragment_file.xml Các lớp ca sử dụng thay đổi thư mục mô tả bảng 3.27 Bảng cho biết chi tiết nhiệm vụ lớp việc thay đổi thư mục hiển thị tập tin nhớ lưu trữ Bảng 3.27 Các lớp ca sử dụng thay đổi thƣ mục hiển thị tập tin fragment_file.xml (giao diện) FileFragment.java (lớp chức năng) Cung cấp giao diện điều hướng thư mục Các nút điều hướng xử lý FileFragment.java Đọc danh sách tập tin từ hệ thống tập tin Android theo thư mục Cập nhật lại giao diện fragment_file.xml Các lớp ca sử dụng hiển thị thông tin ghi chép mô tả bảng 3.28 Bảng cho biết chi tiết nhiệm vụ lớp việc hiển thị thông tin ghi chép Bảng 3.28 Các lớp ca sử dụng hiển thị thông tin ghi chép Cung cấp giao diện hiển thị thông tin ghi chép (gồm tiêu đề, giảng viên, địa điểm, học kỳ, tag, lịch) Thông tin hiển thị xử lý EditInfoFragment.java EditInfoFragment.java Đọc thông tin ghi chép sử dụng lớp Note.java (lớp chức năng) Hiển thị lên giao diện edit_info_layout.xml Cung cấp thông tin ghi chép Note.java (lớp liệu) edit_info_layout.xml (giao diện) Các lớp ca sử dụng hiển thị nội dung ghi chép mô tả bảng 3.29 Bảng cho biết chi tiết nhiệm vụ lớp việc hiển thị nội dung ghi chép 49 Bảng 3.29 Các lớp ca sử dụng hiển thị nội dung ghi chép Cung cấp giao diện hiển thị nội dung ghi chép Nội dung ghi chép xử lý FragmentContent.java FragmentContent.java Đọc nội dung ghi chép sử dụng lớp Note.java (lớp chức năng) Hiển thị lên giao diện fragment_content.xml Cung cấp nội dung ghi chép Note.java (lớp liệu) fragment_content.xml (giao diện) Các lớp ca sử dụng đặt lịch thông báo mô tả bảng 3.30 Bảng cho biết chi tiết nhiệm vụ lớp việc đặt lịch thông báo Bảng 3.30 Các lớp ca sử dụng đặt lịch thông báo Cung cấp giao diện hiển thị lịch, menu xóa nút thêm lịch Lịch, menu xóa nút thêm lịch xử lý EditInfoFragment.java EditInfoFragment.java Đọc thông tin lịch sử dụng lớp Calendar.java (lớp chức năng) Hiển thị lên giao diện edit_info_layout.xml Xử lý người dùng bấm nút thêm lịch sử dụng Calendar.java để thêm lịch vào sở liệu cập nhật giao diện edit_info_layout.xml Sử dụng lớp AlarmReceiver.java để đặt lịch thông báo Đặt lịch thông báo (sử dụng lớp Calendar.java để lấy AlarmReceiver.java (lớp chức năng) danh sách lịch) Hiển thị thông báo đến lịch Xây dựng câu lệnh SQL để truy vấn thông tin lịch (dùng Calendar.java (lớp liệu) SqliteWrapper.java để thực thi) Cung cấp chức thêm lịch (dùng SqliteWrapper.java để thực thi) Cung cấp chức giao dịch sở liệu (truy SqliteWrapper.java (lớp giao dịch) vấn, cập nhật, xóa) edit_info_layout.xml (giao diện) Các lớp ca sử dụng tự động lưu thông tin ghi chép mô tả bảng 3.31 Bảng cho biết chi tiết nhiệm vụ lớp việc tự động lưu thông tin ghi chép 50 Bảng 3.31 Các lớp ca sử dụng tự động lƣu thông tin ghi chép Người học nhập thông tin ghi chép (tiêu đề, giảng viên, địa điểm, học kỳ, tag, lịch) Thông tin ghi chép lưu tự động EditInfoFragment.java EditInfoFragment.java Lưu thông tin ghi chép vào sở liệu sử dụng lớp (lớp chức năng) Note.java Cập nhật thông tin ghi chép giao diện nội dung fragment_content.xml Cập nhật thông tin tiêu đề giao diện danh sách fragment_entry.xml Cung cấp chức lưu thông tin ghi chép (sử dụng lớp Note.java (lớp chức năng) SqliteWrapper.java để thực thi) edit_info_layout.xml (giao diện) SqliteWrapper.java (lớp giao dịch) Cung cấp chức giao dịch sở liệu (truy vấn, cập nhật, xóa) Các lớp ca sử dụng tự động lưu nội dung ghi chép mô tả bảng 3.32 Bảng cho biết chi tiết nhiệm vụ lớp việc tự động lưu nội dung ghi chép Bảng 3.32 Các lớp ca sử dụng tự động lƣu nội dung ghi chép fragment_content.xml Cung cấp giao diện nhập nội dung ghi chép (giao diện) Nội dung ghi chép lưu tự động NoteActivity.java Lưu nội dung ghi chép vào sở liệu sử dụng lớp NoteActivity.java (lớp chức năng) Note.java Note.java (lớp chức năng) Cung cấp chức lưu nội dung ghi chép (sử dụng lớp SqliteWrapper.java để thực thi) SqliteWrapper.java (lớp giao dịch) Cung cấp chức giao dịch sở liệu (truy vấn, cập nhật, xóa) Các lớp ca sử dụng mở tài liệu đính kèm mô tả bảng 3.33 Bảng cho biết chi tiết nhiệm vụ lớp việc mở tài liệu đính kèm 51 Bảng 3.33 Các lớp ca sử dụng mở tài liệu đính kèm fragment_content.xml Cung cấp giao diện hiển thị tài liệu đính kèm menu ngữ (giao diện) cảnh mở tài liệu đính kèm Menu ngữ cảnh mở tài liệu đính kèm xử lý NoteActivity.java Khởi động ứng dụng phù hợp để mở tài liệu đính kèm NoteActivity.java (lớp chức năng) Các lớp ca sử dụng xóa tài liệu đính kèm mô tả bảng 3.34 Bảng cho biết chi tiết nhiệm vụ lớp việc xóa tài liệu đính kèm Bảng 3.34 Các lớp ca sử dụng xóa tài liệu đính kèm fragment_content.xml Cung cấp giao diện hiển thị tài liệu đính kèm menu ngữ (giao diện) cảnh xóa tài liệu đính kèm Menu ngữ cảnh xóa tài liệu đính kèm xử lý NoteActivity.java Xóa tập tin tài liệu vùng lưu trữ ứng dụng NoteActivity.java (lớp chức năng) Xóa thông tin tài liệu đính kèm sử dụng lớp Attachment.java Cung cấp chức xóa tài liệu đính kèm sử dụng lớp Attachment.java (lớp liệu) SqliteWrapper.java để thực thi SqliteWrapper.java Cung cấp chức giao dịch sở liệu (truy (lớp giao dịch) vấn, cập nhật, xóa) Các lớp ca sử dụng thêm tài liệu đính kèm mô tả bảng 3.35 Bảng cho biết chi tiết nhiệm vụ lớp việc thêm tài liệu đính kèm vào ghi chép Bảng 3.35 Các lớp ca sử dụng thêm tài liệu đính kèm fragment_file.xml (giao diện) fragment_content.xml (giao diện) FileFragment.java (lớp chức năng) NoteActivity.java (lớp chức năng) Cung cấp giao diện hiển thị hệ thống tập tin Tập tin chọn xử lý FileFragment.java Cung cấp giao diện hiển thị tài liệu đính kèm Hiển thị tài liệu xử lý NoteActivity.java Sử dụng lớp NoteActivity.java để thêm tài liệu đính kèm Tạo tài liệu đính kèm sử dụng lớp Attachment.java Sao chép tập tin tài liệu vào vùng lưu trữ ứng dụng 52 Attachment.java (lớp liệu) SqliteWrapper.java (lớp giao dịch) Cung cấp chức thêm tài liệu đính kèm vào sở liệu sử dụng lớp SqliteWrapper.java để thực thi Cung cấp chức giao dịch sở liệu (truy vấn, cập nhật, xóa) Các lớp ca sử dụng tóm tắt nội dung ghi chép mô tả bảng 3.36 Bảng cho biết chi tiết nhiệm vụ lớp việc tóm tắt nội dung ghi chép Bảng 3.36 Các lớp ca sử dụng tóm tắt nội dung ghi chép fragment_content.xml Cung cấp giao diện hiển thị nội dung ghi chép (giao diện) Nội dung ghi chép tóm tắt NoteActivity.java fragment_entry.xml Cung cấp giao diện hiển thị tóm tắt nội dung ghi chép Tóm tắt hiển thị NoteActivity.java Sử dụng lớp TextSummarizer.java để tóm tắt nội dung NoteActivity.java (lớp chức năng) ghi chép Sử dụng lớp Note.java để lưu lại nội dung tóm tắt TextSummarizer.java Cung cấp chức tóm tắt nội dung ghi chép (lớp chức năng) Cung cấp chức lưu nội dung tóm tắt Sử dụng lớp Note.java (lớp liệu) SqliteWrapper.java để lưu lại nội dung tóm tắt SqliteWrapper.java Cung cấp chức giao dịch sở liệu (truy (lớp giao dịch) vấn, cập nhật, xóa) 3.7 Lập trình lớp Tất lớp thiết kế lập trình công cụ Eclipse [4] Các lớp cài đặt ngôn ngữ lập trình Java Các giao diện thiết kế sử dụng cú pháp ngôn ngữ đánh dấu văn XML (Extensible Markup Language) với thẻ hỗ trợ Android Toàn mã nguồn yêu cầu tối thiểu thư viện Android phiên 13 Cơ sở liệu ứng dụng Sqlite Android hỗ trợ đầy đủ tính sở liệu quan hệ Lớp NoteActivity có khoảng 42 phương thức Lớp kế thừa lớp Activity Android [7] để xử lý hầu hết giao diện ứng dụng Các phương thức lớp chủ yếu phương thức phục vụ cho việc hiển thị danh sách ghi chép, tìm kiếm ghi chép, tự động lưu nội dung ghi chép, đính kèm tài liệu [10] Lớp cài đặt kiện liên quan đến việc thêm, sửa, xoá, tìm kiếm ghi chép Lớp EditInfoFragment có khoảng 20 phương thức Lớp kế thừa lớp Fragment Android [8] Việc sử dụng Fragment cho phép tách biệt giao diện người dùng với lớp NoteActivity Các phương thức lớp chủ yếu việc xử lý thông tin liên quan đến học tập ghi chép 53 Lớp AlarmReceiver có khoảng 10 phương thức (tính phương thức lớp con) Lớp kế thừa lớp BroadcastReceiver Android để chạy người học thoát ứng dụng[15] Các phương thức lớp chủ yếu cài đặt chức đặt lịch thông báo ứng dụng [12] Chúng thực đọc thông tin lịch ghi chép tính toán thời gian thông báo hàng tuần Lớp FileFragment có khoảng 10 phương thức Lớp kế thừa lớp Fragment Android [8] Giống lớp EditInfoFragment, việc sử dụng Fragment để tách biệt giao diện với giao diện Các phương thức lớp chủ yếu cài đặt chức liên quan đến tập tin đọc tập tin từ hệ thống di chuyển thư mục Lớp TextSummarizer có khoảng 10 phương thức Các phương thức lớp cài đặt chức tóm tắt văn Chúng thực đọc nội dung ghi chép, tính toán trọng số câu, tính toán độ tương tự dựa trọng số cài đặt thuật toán nhánh cận để tìm câu tối ưu [18] Đầu lớp văn tóm tắt đầu vào Lớp SqlWrapper kế thừa SqliteOpenHelper hỗ trợ sở liệu quan hệ lưu trữ cục bộ[9] Lớp cài đặt phương thức để giao dịch với liệu Một số mã nguồn phương thức cho phụ lục 3.8 Kiểm thử lớp Ứng dụng kiểm thử đơn vị sử dụng thư viện Junit [11] tích hợp sẵn công cụ Eclipse [4] Phương pháp sử dụng phương pháp kiểm thử chức Mỗi phương thức lớp kiểm thử chức đầy đủ để đảm bảo phương thức hoạt động Kiểm thử đơn vị chức cho lớp TextSummarizer thực khoảng 50 ca kiểm thử Trong có khoảng ca kiểm thử để tính trọng số câu khoảng 10 ca kiểm thử thuật toán nhánh cận để lấy kết tối ưu Cùng với khoảng 15 ca kiểm thử tích hợp đơn vị để kiểm tra khả làm việc phương thức Tất ca kiểm thử cho kết tốt Kiểm thử đơn vị chức cho lớp AlarmReceiver thực khoảng 10 ca kiểm thử Các ca kiểm thử kiểm tra việc tính toán lịch ghi chép thời gian hệ thống dùng để đặt lịch Kết kiểm thử cho giá trị thời gian hệ thống xác tương ứng với giá trị lịch đầu vào Kiểm thử đơn vị chức cho lớp NoteActivity có khoảng 100 ca kiểm thử Các ca kiểm thử thực cho phương thức Ví dụ phương thức hiển thị danh sách ghi chép kiểm thử với giá trị đầu vào ghi chép, có ghi chép có nhiều ghi chép Kết đầu danh sách ghi chép hiển thị đắn lỗi Một số mã kiểm thử chức cho phụ lục 54 KẾT LUẬN Sau thời gian tìm hiểu thiết bị VNUPad nhu cầu phát triển phần mềm cho thiết bị Cùng với kiến thức thân phát triển phần mềm hệ điều hành di động Android Hiện xây dựng xong phần mềm VNUNote cho người học Đại học Quốc gia Hà Nội Ứng dụng cung cấp cho người học công cụ để ghi chép giảng, quản lý tài liệu học tập công cụ đặt lịch thông báo hiệu Ứng dụng cài đặt thiết bị máy tính bảng VNUPad chạy Android 4.1 Viện Công nghệ Thông tin, Đại học Quốc gia Hà Nội thiết kế quản lý Hiện ứng dụng đáp ứng yêu cầu chức đặt đưa vào sử dụng việc học tập người học Đại học Quốc gia Hà Nội Trong tương lai phần mềm tiếp tục phát triển theo hướng đọc tóm tắt nội dung tài liệu học tập đính kèm hỗ trợ tiện ích kèm với thiết bị kết nối thư viện số, kết nối cộng đồng người học 55 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt ARMVN, “Kiến trúc ARM”, http://arm.vn/TinChiTiet/tabid/105/id/109/Default.aspx Hội vô tuyến điện tử Việt Nam, “Pin sạc lithium ion”, http://rev.org.vn/411/newsdetail/573038/goc-yeu-thich/pin-xac-lithium-ion.html Lê Quang Minh, Báo cáo lựa chọn thiết kế cho VNUPad, Hà Nội Tài liệu tiếng Anh Eclipse, Eclipse Android Developer Tool Google, “Android history”, http://www.android.com/history/ Google, “Introduction to Android”,http://developer.android.com/guide/index.html Google, “Managing the Activity Lifecycle”, http://developer.android.com/training/basics/activity-lifecycle/index.html Google, “Building a Dynamic UI with Fragments”, http://developer.android.com/training/basics/fragments/index.html Google, “Saving Data in SQL Databases”, http://developer.android.com/training/basics/data-storage/index.html 10 Google, “Saving Files”, http://developer.android.com/training/basics/datastorage/files.html 11 Google, “Best Practices for Testing”,http://developer.android.com/training/testing.html 12 Google, “Notifications”, http://developer.android.com/guide/topics/ui/notifiers/notifications.html 13 Google, “Google Drive, Google Play Music, Evernote, Gmail”, https://play.google.com 14 Kendall, “Object-Oriented Systems Analysis and Design Using UML”, Systems Analysis and Design, (10), pp.281-327 15 Lars Vogel (2013), “Android BroadcastReceiverTutorial”,http://www.vogella.com/tutorials, 16 MKLab, StarUML UML Designer Tool 17 Open Handset Alliance, “Members”,http://www.openhandsetalliance.com/oha_members.html 18 Rasim M Alguliev, Ramiz M Aliguliyev, Makrufa S Hajirahimova, Chingiz A Mehdiyev (2011),“MCMR: Maximum coverage and minimum redundant text summarization model”, Expert Systems with Applications, Expert Systems with Applications, 38, pp.14514–14522 19 Silicon Image, “HDMI Standard”,http://www.siliconimage.com/technologies/hdmi/ 20 TechSmith, Snagit Screen Capture Tool 56 PHỤ LỤC Một số mã nguồn cài đặt Phương thức “bind” lớp NoteActivity Phương thức hiển thị thông tin giao diện Trong có thông tin danh sách ghi chép privatevoid bind() { if(m_oNotes == null) { m_oNotes = new ArrayList(); } m_oEntryListAdapter = new EntryListAdapter(this, R.layout.list_entry_note_item, m_oNotes); if(m_oListView != null) { m_oListView.setAdapter(m_oEntryListAdapter); } m_arrTags = getDistictTagName(); if(m_arrTags == null) { m_arrTags = new ArrayList(); } m_arrTags.add(0, "Tất cả"); m_oTagAdapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, m_arrTags); m_oTagAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); m_oSpinner.setAdapter(m_oTagAdapter); } Phương thức “onTextChanged” lớp EditInfoFragment Phương thức tự động lưu thông tin ghi chép private TextWatcher m_oTitleTextWatcher = new TextWatcher(){ @Override publicvoid onTextChanged(CharSequence s, int start, int before, int count){ if(m_oNote != null){ m_oNote.setTitle(m_oTitle.getText().toString()); boolean l_bOk = m_oNote.save( (Activity)m_ActivityInterface); if(l_bOk){ m_ActivityInterface.noteInfoChanged( EditInfoFragment.this,m_oNote); } } } }; 57 Phương thức “choice” lớp TextSummarizer Phương thức cài đặt thuật toán nhánh cận privatevoidchoice(int p_iIndex){ if(p_iIndex>=m_arrTempChoice.length){ if(m_TempSolutionValue > m_SolutionValue){ m_SolutionValue = m_TempSolutionValue; for(int i=0;i[...]... Trên cơ sở những yêu cầu đã trình bày ở trên, phần mềm VNUNote được xây dựng để đáp ứng những thiết hụt về phần mềm của thiết bị VNUPadtrong việchỗ trợ người học ghi chép và lưu trữ tài liệu học tập tại Đại học Quốc gia Hà Nội Việc xây dựng phần mềm VNUNote thể hiện đúng triết lý thiết kế của thiết bị VNUPadlà sử dụng phục vụ các hoạt động học tập và nghiên cứu tại Đại học Quốc gia Hà Nội Và phần mềm. .. học tập và nghiên cứu thì chưa có Thiết bị VNUPad ra đời với mục đích hỗ trợ người học trong việc học tập và nghiên cứu tại Đại học Quốc gia Hà Nội. Việc học tập của người học thì có nhiều yếu tố, trong đó có việc ghi chép bài giảng Sử dụng các thiết bị máy tính cầm tay để ghi chép trong quá trình nghe giảng đã trở lên phổ biến và tiện dụng Hiện tại trên Android có nhiều phần mềm ghi chép Các phần mềm. .. còn thiếu nhiều phần mềm chuyên dụng phục vụ trong Đại học Quốc gia Hà Nội Vì thế hiện nay thiết bị vẫn đang được nghiên cứu nâng cấp cả phần cứng lẫn phần mềm 1.3 Các phần mềm đã có trên Android có thể sử dụng trên VNUPad Hiện nay có rất nhiều phần mềm có sẵn được cung cấp trên kho ứng dụng trực tuyến Google Play cho Android Kho ứng dụng Google Play là một kho ứng dụng đồ sộ với hàng triệu ứng dụng... dụng cho VNUPad Thiết bị VNUPad sử dụng hệ điều hành Android Nên việc phát triển các ứng dụng cho VNUPad được thực hiện theo quy trình và công cụ phát triển phần mềm cho Android Các ứng dụng trên Android được phát triển bằng ngôn ngữ lập trình Java, là một ngôn ngữ hướng đối tượng hiện đại và phổ biến hiện nay Công cụ lập trình thông dụng cho Android là Eclipse, có hai phiên bản Eclipse cho Window và. .. chép kết hợp với thời gian học tập và biểu tượng ứng dụng của phần mềm VNUNote Biểu tượng ứng dụng VNUNote xuất hiện trong một thông báo sẽ cho người học nhận biết thông báo đó là thông báo học tập Thông tin tiêu đề ghi chép sẽ giúp người học biết được rằng đây là lịch học của môn học nào Thông tin thời gian môn học sẽ cho người học biết lịch được thông báo vào lúc nào và môn học bắt đầu khi nào Hình... hợp với lịch học tập Đó là lịch thông báo sẽ hiển thị hàng tuần vào đúng ngày và thời gian đã được thiết lập trong các ghi chép Thông báo sẽ được hiển thị trên thanh thông báo của hệ điều hành Android và sẽ hiển thị tại đó cho đến khi người học biết và xử lý Lịch thông báo được thiết lập cho mỗi ghi chép ngay khi người học cập nhật thông tin thời gian trong giao diện sửa thông tin của phần mềm Trong mỗi... cập nhật phần mềm 18 Chƣơng 2 KHẢO SÁT NGHIỆP VỤ CHO PHẦN MỀM VNUNOTE 2.1 Nhu cầu xây dựng phần mềm VNUNote Xuất phát từ bài toán xây dựng phần mềm cho VNUPad Việc sử dụng một số phần mềm hiện tại trên Android như đã nói ở trên có thể đáp ứng được một số chức năng của thiết bị như truy cập Internet, nghe nhạc, xem phim, gửi thư điện tử cũng như các công việc văn phòng Tuy nhiên, các phần mềm chuyên... Nội Và phần mềm VNUNote sẽ góp phần làm phong phú hơn kho ứng dụng trong quá trình phát triển và hoàn thiện thiết bị VNUPad 19 2.2 Các yêu cầu nghiệp vụ cho phần mềm VNUNote 2.2.1 Nghiệp vụ hỗ trợ ghi chép Hỗ trợ ghi chép cho người học là nghiệp vụ chính của phần mềm VNUNote Theo đó, phần mềm sẽ cho phép người học nhập dữ liệu học tập bằng bàn phím ảo của hệ điều hành Android Dữ liệu ghi chép sẽ được... chính xác cho người học như khi nó được thiết lập Thông tin thông báo của ứng dụng sẽ tồn tại lâu dài cho đến khi người học bấm vào nó để mở ghi chép hoặc tự xoá đi để đảm bảo người học không bị lỡ lịch học 2.2.5 Nghiệp vụ tự động tóm tắt nội dung Để hỗ trợ tối đa việc học tập của người học và tạo sự khác biệt so với các phần mềm ghi chép hiện tại Ứng dụng VNUNote sẽ có khả năng tóm tắt nội dung ghi... hệ điều hành và các phần mềm ngày xưa Đây là một phương pháp tốt nhưng độ phức tạp cao và do đó chi phí phát triển và bảo trì phần mềm tăng lên Kiến trúc hướng đối tượng và hướng dịch vụ là các kiến trúc mới cho phát triển các phần mềm hiện đại Nếu như kiến trúc hướng đối tượng là dùng để thiết kế các phần mềm độc lập thì kiến trúc hướng dịch vụ được sử dụng để phát triển một tập hợp các phần mềm, dịch ...2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN DƢƠNG TRINH PHÁT TRIỂN PHẦN MỀM CHO NGƢỜI HỌC TẠI ĐẠI HỌC QUỐC GIA HÀ NỘI TRÊN NỀN ANDROID VÀ VNUPAD Ngành: Công nghệ... văn phát triển phần mềm cho người học Đại học Quốc gia Hà Nội Android VNUPad thực hướng dẫn khoa học Tiến sĩ Lê Quang Minh Luận văn hoàn thành thời gian học tập Trường Đại học Công nghệ, Đại học. .. thiếu nhiều phần mềm chuyên dụng phục vụ Đại học Quốc gia Hà Nội Vì thiết bị nghiên cứu nâng cấp phần cứng lẫn phần mềm 1.3 Các phần mềm có Android sử dụng VNUPad Hiện có nhiều phần mềm có sẵn

Ngày đăng: 03/11/2015, 17:13

Xem thêm: Phát triền phần mềm cho người học tại đại học quốc gia hà nội trên nền android và VNUPAD

TỪ KHÓA LIÊN QUAN

w