




免费预览已结束,剩余42页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一、引言1二、需求分析3(一)系统总体描述3(二)系统需求目标51、客户端的需求分析52、服务器的需求分析6(二)系统运行环境61、“日程管理系统”的客户端62、“日程管理系统”的数据库服务器7(三)实现思路和方法7(四)系统开发环境81、数据库的使用82、开发平台103、系统开发环境10(五)数据流程图10三、总体设计13(一)系统总体设计描述13(二)系统模块图141、系统总体结构142、系统模块描述16(三)数据库总体设计181、数据库设计介绍182、 E-R图183、数据库表设计20四、详细设计和系统实现23(一)详细设计和系统实现23(二)功能模块的设计和实现231、用户管理模块242、日程数据增、删、改模块263、数据库读写模块284、系统中其他功能的实现30五、测试与评估31(一)测试环境31(二)测试计划311、交互测试313、功能测试34(三)测试结果与评价40六、结束语42参考文献4445移动校园日程管理摘 要:如今随着信息技术的高速发展,越来越多的学校将虚拟校园和现实校园相结合,探索出开展移动学习的新途径、新方法,使得学生们能随时、随地、任意设备的进行学习。学生对移动学习内容和设备的需求催生了移动学习内容服务和软硬件服务平台的市场。智能移动终端已经成为现代人们生活所必不可少的物品,将其作为“移动校园”的日程管理系统是一个很好的选择。这样不仅可以实现学生随时随地的学习,还能大大提高学校和培训机构的管理效率和服务水平。本系统在智能移动终端Android操作系统上利用校园移动通信网进行数据传输,满足了校园用户在学习区域内的任何地点对自己的日程数据进行管理和操作。本系统的客户端是基于安卓手机平台的日程管理系统,具有基本的日程活动的增、删、改、查功能,在日历浏览中可突出显示有安排的日期。用户可根据不同的活动设置任务,便于对日程的管理。本系统还具备提醒功能,可以帮助用户管理重要的活动,并且实现与网络数据同步的功能;网络服务端是利用Tomcat发布的WebService,使用MySQL作为服务数据库。客户端与服务器之间使用XML数据格式进行数据交换。关键字:移动校园;Android;WebService一、引言在这个移动互联网越来越普及的时代,智能移动终端已经成为我们日常生活中不可缺少的获得信息的重要渠道。无所不在的智能移动终端将打破传统意义上的计算机概念:使用更方便、移动更容易、功能更加多样化的各种具有计算机功能的设备大量出现,并且在需要时,可以随时通过无线方式连接到移动通信网络中,以便高效地交换信息和获得各种服务。这种设备人们称之为移动设备(Mobile Device)。移动设备最根本的特征是移动性,即能够利用无线电波、微波或者红外线等传输介质允许通信中的设备在一定范围内自由移动,其位置不受束缚,从而实现通信双方至少有一方在移动中进行信息传输和交换的目的。移动设备从产生到现在的历史并不长,然而其发展速度却远远超出人们的预料。目前,随着移动设备越来越普及以及移动硬件性能的提升,移动校园服务平台在各大校园纷纷孕育出现,并且受到广大用户的好评。移动校园是一种基于传统互联网和移动互联网技术,以移动通信设备为信息载体,为学生营造情景交互式的学习氛围,实现在学习环境、学习资源和学习活动上均以学生为中心的虚拟校园。而目前国内最常见的移动开发平台有Symbian,iPhone,Windows Phone以及Android。但是如今国内国外有着非常多的Android系统的用户。自从2011年第一季度,Android在全球份额首次超过Symbian,跃居全球第一。根据IDC(InternetDataCenter互联网数据中心)最新的报告显示,截止到2013年Android设备占据了全球智能手机市场的78.6%,而且这一趋势仍在上升。Android是Google在2005年收购的一款基于Linux内核为触摸屏设计的半开源智能手机操作系统,主要应用与移动设备,Google成立了Open Handset Alliance(OHA,开放手机设备联盟)。Android系统最初由Andy Rubin开发制作,成立的OHA用来共同研发改良Android系统,随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。如今Android操作系统被扩展到了平板电脑以及其他领域。从2009年4月30号官方发布1.5 Cupcake版本后Android更新的速度飞快,到了2010年12月7号发布了Android 2.3 Gingerbread,其用户量已经爆发式的增长,每年的激活设备量不断的增加,而且当时的Android Market中的应用数量也在飞快增长,给开发者带来了一个潜力很大的平台。再到2011年10月19号,Android 4.0 Ice Cream Sandwich发布,Google带来了全新的UI界面,相对于2.3是个很大的跨越。 Android 4.0后Google同样是以很快的速度发布了Android 4.1 Jelly Bean 和Android 4.2,截至本文撰写时,Android最新版是Android 4.4.3。如今的Android相对于2009年第一版本已经是很成熟的平台了,本系统之所以选择了Android一方面是由于上述原因另一方面则是考虑到Android的普及化,Android设备在价格上较苹果的iOS设备低廉。考虑到如今的移动校园服务平台发展现状,以及Android平台系统自身所拥有的优势。因此,基于Android平台开发一款手机应用软件具有较大的意义和可行性。二、需求分析(一)系统总体描述本系统是一个基于Axis2开发的WebService和基于安卓平台的智能移动终端日程管理软件。系统的体系结构是传统的C/S结构,即大家熟知的客户机和服务器结构。智能移动客户端为用户提供日程管理方面的服务,包括日历的查看、日历上日期对应日程的查看、日程的增加、日程的删除、日程的修改、对本地客户端的设置修改以及对用户自己的相关信息的注册修改等。数据库服务器发布在移动校园局域网上,在远端提供数据存储、数据分析等功能,各种基于安卓的智能移动终端可以通过WiFi接入移动校园局域网中。数据库服务器承担较大的数据负荷,并随时等待响应客户程序发来的请求,服务器程序根据预定的规则作出应答,送回结果。 图2-1 系统示意图本系统有助于用户记住重要的日程并及时给予提醒,也有助于用户更好的调节自己的时间来合理地规划学习和生活,同时也满足了校园用户在学习区域内的任何地点对自己的日程数据进行管理和操作,极大地提高了便利性和实用性。(二)系统需求目标1、客户端的需求分析(1)日程信息的基本管理作为一款日程管理类Android App,日程信息的基本管理即增、删、改、查,其中“增”的方式是手动添加日程的相关信息;“删”是删除录入的信息;“改”提供了对录入信息的修改;“查”在系统的各处都有体现,从数据库拉取数据,提供各种信息的显示。(2)定时提醒以及设置提醒模式可以让用户根据日程时间,手动设置系统的提醒时间,当系统到预设时间,将会通过响铃以及震动提醒用户日程即将到来;在一些特殊场合下,如课堂、会议室等地方,不便于使用响铃来提醒用户,这种情况下用户可以手动设置提醒模式为只有震动没有响铃。(3)日历显示本系统可以生成1900年至2100年这201年的公历和农历之间的对应日期并且以日历的形式显示出来,当用户添加的日程信息后可以在日历界面上清晰的标注出来,让用户对日程信息一目了然给,同时也方便用户的查询和修改。(4)用户管理每个用户都拥有自己的账号,用以向数据库服务器进行身份验证,并方便数据库服务器分类管理每个用户的日程信息,并提供信息机密性的保证。用户使用账号和密码登录客户端,并从数据库服务器获取自己的日程信息;用户登录客户端后可以修改自己的密码以及其他用户信息;当用户登录后,若该账号在其他地方登录,则用户进行下一次操作时,系统在本地会自动登出该账号,用以提醒用户该账号的相关信息存在泄露的可能性,这样做从一定程度上也保证了用户信息的机密性。2、服务器的需求分析个人电脑连接上移动校园网通过WiFi等无线信道为各个智能移动终端上的客户端提供数据的存储管理功能,数据库服务程序长期运行,随时等待客户程序发来的请求,一旦收到相关请求,服务器程序根据预定编写好的程序规则作出应答,并把处理结果送回相应的客户程序。(二)系统运行环境1、“日程管理系统”的客户端“日程管理系统”的客户端是基于移动平台,如今的移动领域有Apple的iOS,Google的Android,以及Microsoft的Windows Phone三大平台,其中Android的市场份额在三大平台中是最大的,另外Android的框架结构中处于顶层的是应用开发层,而且是基于Java语言的开发。所以该“日程管理系统”采用Android平台为广大的在校用户提供一个日程管理的解决方案。为了设计更好的用户体验,适应智能移动终端的快速更新换代,该“日程管理系统”的客户端采用Android 4.4.2的SDK开发,这不可避免地导致低于此版本的Android无法完全的使用本客户端,因为该客户端用到了4.0版本的新特性。系统运行环境:平台Android,SDK版本4.0+。2、“日程管理系统”的数据库服务器“日程管理系统”的数据库服务器是基于Apache Axis开发的WebService,利用Apache Tomcat 6.0在个人电脑上发布该WebService。同时个人电脑连接WiFi发射热点,通过无线信道为各个智能移动终端提供数据服务。同时,因为MySQL在Web应用方面是最好的关系数据库管理系统,与其他数据库管理系统相比具有体积小、速度快、总体拥有成本低以及开发源码等特点,所以数据库服务器选择使用MySQL Workbench 6.0 CE来存储和管理数据。系统运行环境:Windows 7,安装有Apache Tomcat 6.0和MySQL Workbench 6.0 CE,个人电脑连接有WiFi发射热点。(三)实现思路和方法系统的实现思路:首先,进行“日程管理系统”的数据库结构的设计,日程的信息包括日程名称、时间、地点等,将这些基本信息存储到数据库后,用关系表来存储每一条记录,并且设定表与表这间的关联关系;其次,客户端的实现,在Android平台上开发“日程管理系统”的客户端,让后台数据库服务器的数据可视化显示出来,并让用户方便对相关数据进行操作,包括对日程信息的增、删、改、查等基本数据操作;客户端则负责与用户交互,并控制手机响铃震动提醒用户日程时间等功能。然后,后台数据库服务器的实现,基于Apache Axis 2插件编写数据库服务器响应客户端程序的规则,让用户对后台数据库的操作“透明化”,即隐藏数据在无线移动网络中复杂的传输交互过程。后台数据库服务器程序开发完成后,使用Apache Tomcat 6.0作为WebService发布在校园局域网中,供校园用户接入使用。最后,客户端接入移动校园网调用WebService,实现对后台数据库的基本操作。(四)系统开发环境Android的应用层软件的开发是基于Java的,所以开发环境选择的是MyEclipse 2013,开发Android需要安装Google提供的ADT插件,虽然Google在2013年的I/O大会上发布了自己的基于idea的开发工具Android Studio 0.1 Preview版本,但是考虑到新平台需要长时间的磨合适应以及自己开发时间紧迫的缘故,故继续使用MyEclipse 2013,Android的SDK使用的版本是4.4.2,另外使用的JDK版本是1.7.0_15。1、数据库的使用本“日程管理系统”使用了两个数据库管理系统,分别是在客户端上使用Android平台自身提供的SQLite,在数据库服务器上使用的是MySQL Workbench 6.0 CE。SQLite简介:SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。需要做的仅仅是把它正确的编译到你的程序。SQLite具有零配置、可移植、Compactness、简单、灵活、可靠的特点。图2-2 SQLite数据库结构图SQLite架构:SQLite采用了模块的设计,它有三个子系统,包括八个独立的模块构成。因此移动平台的数据库解决方案大多是采用SQLite,能够满足开发者的一般数据的存储需求。MySQL Workbench 6.0 CE简介:MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。可以使用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移。MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本。该软件支持Windows和Linux系统。MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间和需要的难以变更和管理的文档任务。MySQL工作台可在Windows,Linux和Mac上使用。2、开发平台开发平台:Android3、系统开发环境开发环境:Windows 7+MyEclipse 2013+Android SDK+ADT+ Apache Tomcat 6.0+ Apache Axis 2+MySQL Workbench 6.0 CE(五)数据流程图数据流程图是结构化系统分析的工具。数据流程有四种基本符号:外部项、数据流、处理逻辑(加工)、数据元素和数据存储。本系统数据流总体,表示了系统基本的数据流程。为表达稍微复杂的时间问题需要按照问题的层次结构进行自顶向下逐步分解,并以分层的数据流图反映这种结构关系。先把整个数据处理过程看成一个加工过程,它的输入数据和输出数据实际上反映了系统与外界环境的接口。这就是分层数据图的顶层,也成作总体图。本系统中网络数据库的读写接口作为一个重点,连接着数据库、输入和输出,如图2-3所示。图2-3 系统总体图下面对数据的加工做进一步的细化和完善。本“日程管理系统”的数据处理,根据功能上包括4个子系统,分别为数据输入子系统、数据查询子系统、数据删除子系统、数据更新子系统。根据进一步的细化分析,我们可以画出表示这几个子系统的数据流图,即“日程管理系统”各个功能的数据流图,如图2-4和2-5所示。图2-4 用户登录系统的数据流图图2-5 用户添加日程信息的数据流图三、总体设计(一)系统总体设计描述系统的设计阶段所需要解决的问题是构建整个项目的总体框架,因为如果自己没有一个明确的框架,那么代码编写到后面一旦出现错误,就会变得越来越乱,不得不重新开始以前工作。所以说系统总体设计阶段很重要。软件工程同时也是一门工程性的学科,所以需要对本系统提前搭建一个总体的框架。总体设计是软件开发人员根据软件需求说明书的要求,运用结构化程序设计思想,将软件自上而下逐步求精分解成多个软件模块,知道分解成每一个模块只具有单一的功能,能用一个或者几个程序实现的树形结构为止。总体设计阶段还要定义各个模块之间的数据传递关系,数据存储关系,输入输出格式,以及对于运行环境的各自要求。经过需求分析阶段的工作,本“日程管理系统”所需要完成的功能,即需要做什么已经形成书面文字需求规格说明书,现在所要做的工作是设计整个系统的工作原理。总体设计过程可分为两个主要阶段:功能设计,根据在校用户对“日程管理系统”的需求做出相应的功能上的决策,结合网上相关资料以及线下的调查决定设计本“日程管理系统”的相应功能;结构设计,确定整个软件的结构,有哪些子类所组成。其中功能设计是在需求分析的基础上进行的,这里的“功能”是泛指的概念,例如软件所要实现的功能,还包括系统设计时的数据处理,实现功能的算法。而结构设计,是将整个系统按照不同的功能和层次划分为一个一个相对简单而独立的模块,每个模块实现系统的某一项具体的功能,自顶向下,初步求精,这样增加了软件的可复用性,而且对于代码的结构则更加清晰明了,阅读起来也更加有条理,维护起来的也更加方便省时。(二)系统模块图1、系统总体结构模块层次图,是描述软件层次特性的工具,描述某个模块负责管理控制哪些模块以及上下级模块或者是统计模块之间的数据传递关系,能够清楚的表明系统的结构,并可用来粗略的估计系统的规模。优点也是显而易见的,能够很清楚地表达系统结构,保证思路清晰,缺点是只能够粗略地表达而不能表达整个系统的逻辑。根据需求分析得到的数据流图,由用户的需求以及完善系统所添加的一些功能得到系统的模块层次图。系统只要实现数据;录入(添加用户、添加日程信息)、数据查询(显示日程的相关信息)、数据统计(日程记录统计等)以及数据更新删除等。如图3-1所示。图3-1 总体模块图其中数据显示是一个稍微复杂的模块,数据显示视图模块包括日程日历显示模块、日程列表显示模块、日程添加显示模块以及日程修改或删除显示模块。现在将把数据显示模块进一步细化得到图3-2.图3-2 数据显示模块细化2、系统模块描述系统的概要设计客户端的功能模块说明:(1)用户管理模块:在本模块中包括用户信息注册模块、用户登录模块和用户信息修改模块。用户信息注册模块是当用户首次使用本系统时,用户向数据库服务器提交合法的用户名、密码以及联系方式等用户个人信息;用户登录模块是用户登录时向数据库服务器凭借用户名和密码以验证用户身份的合法性,同时这样可以保护用户的日程信息的机密性和完整性;用户信息修改模块提供给用户修改用户密码以及联系方式的功能。(2)日历查看模块:本模块拥有一个完整的日历界面,包括头部的年月日、闰年的显示,还有每个日期都分别有阳历和阴历的日期显示,并且日历中包含了各个重要的节日、节气或纪念日等。在日历界面上每个日期都会跳转到当前日期的日程添加界面或者是日程显示界面。日历界面上还有对存在日立的标记,有利于用户更好的管理日程信息。(3)日程管理模块:在本模块中包括最近的日程显示界面和日历页面所跳转到的日程显示界面或者是日程添加界面。最近的日程显示界面提示用户距离当前日期最近的日程名称、时间以及倒计时的天数,方便用户快速地查询重要的信息。日历日期所对应的日程显示界面也是相应的显示。而在日程添加界面中包含了显示界面所对应的各项数据,包括日程名称、时间、提醒时间、地点、重复类型,添加日程成功后会有对应日历日期的标记。另外也有对日程信息的一系列管理操作的功能,包括查询、删除和修改等。(4)设置界面模块:在设置中包括了对日程的提醒类型和重复类型的默认设置。(5)关于界面模块:关于界面中包含了本软件的设计信息以及一些基本信息。数据库服务器的功能模块说明:(1)用户操作模块:在数据库服务器程序中,客户端会发出不同的申请,而本模块负责为这些不同的申请做出相应规则的响应,并把这些方法封装成远程可调用的服务方法。客户端发出增加、删除、修改日程信息或者用户信息的申请,以及客户端检查该账号是否在异地登录等。(2)数据传输模块:在用户登录“日程管理系统”后,由客户端向数据库服务器请求传输该用户的相关日程信息,服务程序负责把日程信息转化为可串行的对象,并通过无线移动网络传输给客户端。客户端与服务器交互的相关协议,如表3-1所示。表3-1 客户端与服务器网络连接结果网络层次相关协议应用层HTTP协议运输层TCP和UDP协议网络层IP协议数据链路层IEEE 802.11物理层无线WiFi(三)数据库总体设计1、数据库设计介绍数据库是指自描述的完整记录的集合。数据库除了包含用户的源数据之外,还包含关于它本身结构的描述。另外,数据库还包含用来表示数据之间的关系和提高数据库应用的性能的索引。最后,数据库还包含关于使用数据库的应用程序的数据。本“日程管理系统”是管理用户添加的日程信息。正如我们所知道的,一个日程信息包括日程的名称、日期时间、提醒日期时间、活动地点、提醒类型等这些基本属性。而这些基本属性中日程名称2、 E-R图概念模型是对信息世界建模,所以概念模型能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法有很多,其中最为著名最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。E-R图由实体、实体的属性以及实体之间的关系三部分组成,实体是具有相同的性质并且彼此之间可以相互区分的现实世界对象的集合;属性是实体所具有的特征,它是描述实体或者关系的性质的数据项,实体之间的关系通过直线连接。本“日程管理系统”中,主要有以下实体:用户信息,日程信息,活动信息。用户的属性有ID,用户名,密码,联系方式和最后一次登录时间等,其中ID是自增长的而且是唯一编号的;日程信息的属性包括ID,日程名称,提醒时间和提醒周期等;活动信息的属性有ID,活动地点,活动参加人员等。设计的E-R图如图3-3所示:图3-3 数据库E-R图如图3-3所示,图中实体的属性只选取重要的属性展示。每一个日程信息与用户信息存在一定的隶属关系,则需要在日程信息添加用户的ID作为外键进行标识。这样设计的有点有利于扩展系统的功能,例如用户成功登陆后,服务器程序可以依据用户的ID进行查找该用户相关的日程记录的信息。同时给查询数据库也带来了诸多方便,只需要在查询的时候增加新增的属性即可。3、数据库表设计一共设计了4张表,分别是:(1)用户信息表(用户的ID, 用户名, 密码, 用户最近一次的登录时间, 用户的联系方式);表3-1 用户信息表(user_info)字段数据类型是否主键说明UserIDINT是用户的IDUerNameVARCHAR(45)否用户名UserPasswordVARCHAR(45)否用户密码UserLasttimeVARCHAR(45)否最近一次的登录时间UserConnectionVARCHAR(45)否联系方式(2)活动信息表(活动的ID, 活动名称, 活动时间, 活动地点);表3-2 活动信息表(activity_info)字段数据类型是否主键说明ActivityIDINT是活动的IDNameVARCHAR否活动名称ActivityTimeVARCHAR否活动时间ActivityPlaceVARCHAR否活动地点(3)日程信息表(日程的ID, 日程名称, 日程时间, 日程循环周期, 提醒类型,用户的ID);表3-3 日程信息表(calendar_info)字段数据类型是否主键说明CalendarIDINT是日程的IDNameVARCHAR否日程名称AlarmTimeVARCHAR否日程时间CalendarCycleVARCHAR否日程循环周期AlarmTypeVARCHAR否提醒类型ParticipatorIDINT否用户的ID(4)活动参加联系表(记录的ID,活动的ID,用户的ID);表3-4活动参加联系表(participator_info)字段数据类型是否主键说明RecordIDINT是记录的IDActivityIDINT否活动的IDUserIDINT否用户的ID四、详细设计和系统实现(一)详细设计和系统实现详细设计阶段的目标:确定应该怎么样实现系统,给出软件模块结构中各个模块内部过程描述。该阶段是用程序设计语言来描述所要完成系统的功能,即代码实现的一个设计过程。详细设计阶段要确定模块的算法以及数据结构,其任务是设计出系统的蓝图,这样就可以在后期系统的实现中根据详细设计中的蓝图很合理的设计各个模块。其中需要遵循的几个原则:模块的逻辑描述要清晰易懂,正确可靠;设计出的处理过程应该尽可能的简单易读;选择恰当的描述工具来描述每一个模块的算法。系统实现也就是编码阶段。编码就是指将软件详细设计的说明书用程序设计语言翻译出来的代码。软件的设计开发过程,最后就是通过编码对功能的实现。运用软件功能方法设计软计,主要是为了提高软件质量,软件质量在很大程度上取决于设计的质量,同时编码的好坏也是影响软件质量的十分重要的因素。另外,编码质量的好坏,也直接影响了软件测试和软件维护工作的进行。但是系统实现是在系统设计的基础上的,系统设计确定下来了,就基本上定下了系统的实现。(二)功能模块的设计和实现本章介绍本“日程管理系统”的各模块的设计和实现。首先在MyEclipse中配置好ADT和Android SDK等开发环境然后新建一个Android项目,项目名称为mycalendar,然后在Android项目中的AndroidManifest.xml文件中配置本客户端软件需要使用的权限,像网络连接权限,震动权限等。在Android中权限是通过配置文件中声明来向系统请求权限,安装时会将软件所请求的权限显示并要求用户授权。本“日程管理系统”中,所需要的权限有:VIBRATE, SYSTEM_ALERT_WINDOW, GET_TASKS, 以及INTERNET四项权限。Android开发中用户界面和控制代码是分开的,所以可以在Layout布局中布局好界面,然后再来写代码,几个重要的布局以及本设计所涉及到的布局如LinearLayout、RelativeLayout等。关于数据库服务器的搭建,首先需要在MySQL Workbench 6.0 CE创建好四张表,然后在MyEclipse中配置好Apache Tomcat 6.0、 Apache Axis 2等服务端的开发环境并且建立一个Web Project项目,项目名称为myservice,然后在Web Project项目中添加mysql-connector的jar文件,保证项目可以与本机上的MySQL Workbench 6.0 CE建立连接。接下来,在项目中编写数据库读写接口,并且把对数据库的各种操作封装为WebService的接口方法,之后通过Axis2 Service Archiver生成WebService并且利用Apache Tomcat 6.0发布服务。1、用户管理模块运行本“日程管理系统”进入“登录欢迎界面”停留3秒钟后自动进入“用户登录界面”,在本界面上有两个功能按钮,分别是登录日程管理系统和切换至“注册账号界面”;还有两个TextView负责用户输入自己的账号和密码提交给数据库服务器进行身份验证用的;还有一个CheckBox,用来记录已经登录过的账号和密码,方便用户下一次直接登录系统而不必反复输入账号和密码。 图4-1 系统欢迎界面 图4-2 系统登录界面当用户首次使用本“日程管理系统”时,可以选择注册新账号,点击“登录界面”右下方的“注册账号”的按钮,进入“注册账号界面”。其中“注册账号界面”包括两个功能按钮,分别是返回“登录界面”和确认注册信息的功能;还有四个TextView,分别让用户输入注册的新用户名、密码、确认密码和联系方式,其中用户名作为本“日程管理系统”唯一识别用户的数据字段,不允许出现两个重复的用户名,所以当用户申请的新用户名已经存在的话,客户端程序会提醒用户本次注册因用户名已存在而失败。当用户在两个TextView输入账号和密码,点击“登录”按钮,客户端会做一定的预处理,保证向后台数据库服务器的信息的合法性,即提前检查TextView的内容是否为空以及账号和密码中是否隐含有SQL注入攻击的危险等等。之后客户端等待后代数据库返回的数据,并根据返回的数据进行判断该账号和密码的合法性以及是否跳转进入“日程管理系统”的“主界面”。在输入账号的TextView左边有一个下拉按钮,点击会出现过去在客户端上登录过的账号,这样做也是为了避免用户重复操作。在后台数据库服务器中为了保证用户的信息安全不被攻击者窃取,因此用户提交的注册信息,特别是用户密码,使用Hash函数进行加密,采取非明文的存储方式。而当用户登录时,用户的验证信息在传输过程中同样采用加密的形式,这样极大地保证了系统的安全性。2、日程数据增、删、改模块进入“日程管理系统”之后,系统自动切换到“日历显示界面”,在该界面中大部分是一份本月日历,用户可以任意选择其中某一天,选中后该日期的底色会透明变成淡蓝色,选中后再一次点击时,系统会判断这一天是否包含其他的日程信息,如果没有,则进入“添加日程信息界面”,该界面由上到下分别是两个控制按钮,实现返回和确认的功能;之后是六个有关日程信息的采集选项。如图4-3所示。图4-3 添加日程信息界面如果选中的日期存在日程信息,则进入到“列表显示界面”,在该界面中用ListView组建把该日期中所有的日程信息分条目列举出来。如图4-4所示。图4-4 列表显示界面在“列表显示界面”中,用户点击某一列日程信息,则进入到“修改日程信息界面”,该界面与“添加日程信息界面”大致一样,但多出来“删除”功能按钮,当用户单击该功能按钮时,客户端向数据库服务器发送删除该用户此条日程信息记录,客户端内部则释放相关的震铃提醒程序。3、数据库读写模块在Web Project中建立数据库ConnectionFactory类、数据库操作接口IOperationCore类、数据库操作接口实现OperationCoreImpl类以及数据库操作BOperationAdapter类,使得程序对数据库的操作对用户“透明”。根据上面建立的数据库接口,实现服务器程序的业务模块,包括:(1)addRecordInfo(2)getLoadActivityInfo(3)getHello(4)getName(5)queryUsers(6)userLoad(7)userRegister(8)getLoadPInfo(9)getLoadCalendarInfo(10)getGreeting(11)checkUserLoading(12)isUserExist(13)delUserInfo(14)getLoadUserInfo(15)userExit(16)delRecordInfo(17)updateRecordInfo(18)editPassword其中(3)、(4)、(10)是留待以后的扩展使用的。图4-5 WebService发布4、系统中其他功能的实现(1)提醒以及响铃模式切换的实现使用Android系统的AlarmManager来进行定时提醒,系统中运行着广播接收进程MyReceive和服务进程FloatWindowService,它们的作用是检查一天中需要提醒的日程,如需要提醒使用AlarmManager来设置一个定时的Intent,该Intent用户启动PlayMusic活动,活动启动时会根据Intent传递的信息,决定采取同时震动并响铃,或者是只采取震动的形式进行提醒用户。(2)服务悬浮窗以及日程小助手的实现本“日程管理系统”的悬浮窗模块分为小窗口和大窗口,分别有FloatWindowSmallView和FloatWindowBigView定义其属性与内容,小悬浮窗在“日程管理系统”退出时启动,并一直在手机屏幕的侧边显示;而大悬浮窗就是日程小助手,用来及时提醒用户即将发生的日程。这两个窗口之间的转化由MyWindowManager类和系统运行的服务进程FloatWindowService控制决定。 图4-6 悬浮窗提示界面 图4-7 悬浮窗小窗口五、测试与评估(一)测试环境为了获得更好的体验,测试在Android 4.0+系统上进行。手机型号:小米M1;系统版本:Android4.0.3;(二)测试计划1、交互测试(1)“日历显示”交互用户登录进入“日程管理系统”的主界面后,选择当前日期,双击日期方格后,进入添加日程信息的界面。用户点击日程时间,系统自动弹出选择日期和时间Dialog,可以在日期时间的数字上下滑动来设置定义。点击设置后,选择的日期和时间显示在相应的TextView上。图5-1 设置日程日期图5-2 设置提醒时间图5-3 选择提醒周期用户点击周期一栏的按钮,系统系统弹出单选Dialog,点击某一选项后,相关的TextView即显示选择的结果。用户填写完日程信息并单击保存按钮后,系统弹出Toast提示用户成功添加日程信息并返回“日历显示界面”,并且界面更新,将刚刚添加的日程信息所在的日期方格的左上角显示标记。测试结果:符合一般交互设计理念。(2)“列表显示”交互用户登录进入“日程管理系统”的主界面后,选择有日程信息标记的日期,双击日期方格后,进入“列表显示界面”,界面中显示本日期所包含的的日程信息总数,以及在下面分条目列出每一个日程信息的最基本的信息,包括日程名称,时间,提示类型等。测试结果:符合一般交互设计理念。3、功能测试“日程管理系统”的功能在2.1节中已经概述过。在功能测试章节中,我们对在2.1中列出的每一项功能做系统的测试,看功能是否已经实现。(1)日程信息添加功能测试(当前时间是6月2日)测试用例目的:测试系统的添加日程信息功能;测试用例执行步骤:在“添加日程信息界面”添加某个日程信息(毕业设计, 2014年6月2日, 南楼106,不重复提醒,闹铃震动提醒)。点击“保存”按钮会淡出一个Toast提示用户成功添加日程信息,返回“日历显示界面”。继续选择可以继续添加一个日程信息(论文答辩, 2014年6月2日, 教学楼, 不重复提醒, 震动提醒)。图5-4 日历显示界面预期结果:在“日历显示界面”2014年6月2日的日期格子的左上角的出现标记;再一次双击这一日期的格子,进入到“列表显示界面”,显示的日程信息与刚刚添加的信息相符。实际结果:符合预期。(2)日程信息删除功能测试测试用例目的:测试系统的删除日程信息功能;测试用例执行步骤:在“修改日程信息界面”,点击右上角“删除”按钮,然后再点击弹出Dialog的“确定”键,再观察结果。预期结果:点击“确定”键后,退回“列表显示界面”,被选中的日程信息在其中消失。实际结果:符合预期。(3)日程信息修改功能测试测试用例目的:测试系统的修改日程信息功能;测试用例执行步骤:在“修改日程信息界面”,重新调整日程信息。调整后的日程信息(毕业视频, 2014年6月3日, 宿舍楼,不重复提醒,闹铃震动提醒),点击“保存”按钮预期结果:点击“保存”键后,退回“列表显示界面”,被选中的日程信息与修改后的日程信息相一致。实际结果:符合预期。(4)定时提醒功能测试测试用例目的:测试系统的定时提醒功能;测试用例执行步骤:在“添加日程信息界面”,新增一个日程信息并且提醒时间据当前时间2分钟后,提醒方式设置为闹铃震动。添加成功后,退出本“日程管理系统”,等待大约两分钟,观察结果。 图5-5 定时提醒预期结果:2分钟后,关于日程提示的Activity启动,播放预先设定好的铃声并震动。实际结果:符合预期。(5)日历显示功能测试测试用例目的:测试系统的日历显示功能;测试用例执行步骤:进入系统“日历显示界面”,单击“月份显示”TextView左右两侧的ImageView,或者手动按下手机侧边的控制音量加减的按键;也可以单击“菜单”图标的ImageView,弹出下拉框后,选择日期“跳转到”,之后弹出DatePickerDialog选择任意一天的日期。之后单击“今天”图标的ImageView。预期结果:当单击“下一月”(“上一月”)的ImageView或者按下音量“-”(音量“+”)时,日历显示界面会自动跟新界面进入下一个月(上一个月)的日历界面;当使用“跳转到”选择某一天日期,日历显示界面会更新至那一天日期所在月份的日历界面;当单击“今天”图标的ImageView时,日历显示界面会更新会当前月份的日历界面。实际结果:符合预期。(6)用户注册功能测试测试用例目的:测试系统的注册功能;测试用例执行步骤:在“用户注册界面”,在所有EditView都空白时,点击“确定“按钮;添加一个新用户信息(tonghua, dksdks,,但两次输入的密码不相符;添加一个已经存在的用户名;根据系统提示修改完善后,单击“确定”按钮。 预期结果:当所有EditView都是空白并点击“确定”按钮时,系统会弹出Toast提示用户名和密码一栏不能为空;当在重复输入密码的EditView里输入的与密码的EditView的输入不一致时,一旦界面的焦点离开重复输入密码的EditView之后,系统会立刻提示用户两次输入的密码不一致;当添加的用户名已经存在时,一旦界面焦点离开用户名的EditView之后,系统会立即提示用户该用户名已经存在,建议重新填写;当所有输入都正确合法时,点击“确定”按钮之后,系统弹出Toast提示注册成功,并自动返回到“用户登录界面”。图5-6 用户注册界面实际结果:符合预期。(7)用户登录功能测试测试用例目的:测试系统的登录功能;测试用例执行步骤:进入系统“用户登录界面”,输入刚刚注册过的用户登录信息(tonghua, dksdks),直接点击“登录”按钮;输入错误的用户名或者密码,直接点击“登录”按钮;再点击“登录”按钮勾选“记住密码”的CheckBox,登录系统之后退出后,再一次启动“日程管理系统”。图5-7 用户登录界面预期结果:当输入正确合法的用户信息时,界面切换进入到系统的主界面;当输入的是错误的用户名或者密码时,系统会弹出Toast提醒用户账号或者密码不正确;当勾选“记住密码”CheckBox后登录后,再一次启动本“日程管理系统”进入到“用户登录界面”时,用户名和密码自动填写好,用户只需点击“登录”按钮即可登录系统。实际结果:符合预期。(8)数据库服务器功能测试测试用例目的:测试系统的数据库服务器功能;测试用例执行步骤:在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七台河水泥假山施工方案
- 校园招聘薪酬方案范本
- 工地阶层分工方案范本
- 2025标准版国际贸易合同范本
- 2025年控制测量学试题及答案
- 水下工程打捞施工方案
- 《2025修改合同条款部分内容补充协议书》
- 荆州河道亮化施工方案
- 2025南平延平塔前镇卫生院招聘医师模拟试卷及完整答案详解1套
- 玻纤石膏板施工方案
- DB32/T+4860-2024+电镀园区环境管理技术规范
- 室内安装标识标牌施工方案
- GB/T 17775-2024旅游景区质量等级划分
- 小学数学情境教学设计案例分析
- 《福建省整体装配式卫浴间标准设计图集》
- 中药冷敷技术操作方法及常见疾病的中药冷敷技术
- 地方政府的组织结构课件
- 【公开课教案】《蹲踞式起跑》教案
- 病毒性脑炎临床路径(2016年版)
- 装修公司审计报告范本
- 从问题专题到课题学校科研活动的设计和实施公开课一等奖市优质课赛课获奖课件
评论
0/150
提交评论