论文题目 | 基于Android的毕业生管理系统的设计与开发 | |
开 题 报 告 内 容 | ||
选题来源 | □基金项目 □横向课题 ■自选 □其它 | |
论文选题的意义、主要研究内容和文献资料调研情况 | 一、研究意义 当前,移动通信技术与互联网技术的飞速发展与深度融合,移动互联网发展空间巨大。在高校和社会中,智能手机的普及,使手机上网的时间更长,空间更为灵活。我们可以充分发挥这一优势和特点,在大学毕业生中推出毕业生管理系统,使得服务师生更方便快捷、工作效率更高。 毕业生管理系统包括毕业生就业帮助模块,同学录模块,相册模块,同行论坛模块,七嘴八舌模块和信箱模块。就业帮助模块主要给毕业生提供招聘会信息推送服务,给毕业生推送本校和其他学校的招聘宣讲会,招聘会时间,地点和各公司情况,使学生可以随时随地查看,了解有关情况,可以方便同学们就业。毕业生管理系统的同学录模块方便用户查看同学们的联系方式和住址等信息和及时更新自己的相关信息来相互联系。相册模块帮助用户查看同学们的相片,了解昔日朋友的生活状况。同行讨论模块帮助用户在全国各地的同专业毕业生们之间讨论交流跟该专业相关的各种问题来促进该科目发展。七嘴八舌模块实现本班同学们的一起聊天功能。信箱模块中,用户可以给自己同班同学以及同行讨论里面的用户写信来相互交流。该毕业生管理系统通过以上功能在大学毕业生就业中,校友会管理中帮助用户,实现他们生活,工作效率的提高。 二、研究现状 目前,很多学校都实现了教学,日常以及教务的管理信息化。而对于毕业生及校友会管理的相关研究仍然是欠缺的。可以说很多的相关问题都处在一个有待提高的探索阶段。 目前存在着的毕业生管理系统呈现以下各个特点:主要对本科毕业生信息进行管理;功能不健全,出现偏重现象。有一些侧重于毕业生信息管理方面,实现了信息统计与管理的便捷性。有一些侧重于毕业生就业平台的构建上,实现信息的发布和管理功能。开放性存在差异,多数高校开放是校内的,另外的则是向全社会开放。而且目前存在的毕业生管理系统大多数是向学校和在校应届毕业生毕业生提供服务的,而针对往届毕业生的毕业生管理系统研究很少。 三、研究内容 (一)Android 众所周知,Android是基于Linux内核的一款系统,它的架构是以Linux内核为核心,以C、C++建立运行环境和运行库,在此之上发展应用层运行框架,支持开发者开发应用从设计模式来讲,Android系统从开发者角度出发,在设计上采用了MVC模式,这是最基本的软件设计模式,在此基础上开发者可深度架构自己的项目。所谓的MVC,就是Model,View,Controller的首字母组合起来的一种设计模式,主要思想就是把显示与逻辑实现分离。Model用于保存上下文状态、View用于显示、而Controller则是用于处理用户交互。交互是Controller,而显示更新只通过View进行,这两者与Model交换界面状态信息。 将交互的实现逻辑进行进一步的拆分: (1)Activity:显示与交互功能的结合。 (2)Service:无显示和交互功能的结合。 (3)Content Provider:数据交互功能。 (4)Broadcast Receiver:广播交互功能。 由于Android交互抽象为以上四个基本组件,使得Android的交互功能的实现更加明确和简洁。从静态来看,程序是这些功能组建的容器:从动态来看,应用程序就是承载某些功能的进程。 Android的数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络。从开发者的角度来讲它可以分为以下五种方式: (1)SharedPreferences:共享偏好。在Android当中SharedPreferences使用最多的地方也是用来保存配置(Settings)信息,它来专门有PreferenceActivity用来封装,开发者可以直接使用PreferenceActivity和一些相关的专门为Preference封装的组件。 (2)Internal Storage:内部存储空间。使用内部存储主要有二个方式,一个是文件操作,一个是文件夹操作,Context中都提供了相应的函数来支持。内部存储是系统本身和系统应用程序主要的数据存储所在地,要尽量避免使用。上面所谈到的Shared Preferences和下面要谈到的SQLite数据库也都是存储在内部存储空间上的。 (3)External Storage:外部存储空间。很多程序都在使用外部存储卡,但很少有程序去主动清理数据,与内部存储不同的是,当程序卸载时,它在外部存储所创建的文件数据是不会被清除的。 (4)SQLite Database:数据库。Android对数据库的支持很好,它本身集成了SQLite数据库,每个应用都可以方便的使用它,或者更确切的说,Android完全依赖于SQLite数据库,它所有的系统数据和用到的结构化数据都存储在数据库中。 (5)Intemet:网络;因为移动终端的网络稳定性,以及所产生的流量让用户难以接受,但若是对于非常重要的实时数据,或是需要发送给远端服务器处理的,也可以考虑使用网络实时发送。 (二)SQLite SQLite是一款轻量级的关系型数据库,由于它占用的资源非常少,常被用到嵌入式设备中。SQLite支持Windows、Linux、Unix等主流操作系统,兼容性良好,可使用多种开发语言通过ODBC接1:1操作SQLite。SQLite由以下几个组建集成:SQLite编译器、内核、后端和附件。 SQLite通过虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLite内核变得更加容易。SQLite和其他主要的SQL数据库没有什么区别,它的优点就是高效。另一个优点就是不要求严格的数据类型,支持弱类型;创建一个表时,通过CREATE TABLE语句中指定某一列的数据类型,即可把任何数据类型放入任何列中。当插入值数据到数据库时,SQLite会检查其类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型;如果数据的类型无法转换,则该值将作为其本身具有的类型存储。除了上述功能外,SQLite是一个完整的SOL系统,拥有完整的触发器、事务等等。 Android系统作为目前最主流的移动操作系统之一,根据手机等移动设备资源特点,在Android系统上集成了SQLite这样一款轻量级的、嵌入式的、开源的关系型数据库。开发Android应用程序时,一定需要在Android系统上存储数据,使用SQLite数据库是一种非常好的选择。Android运行时环境包含了完整的SQLite。Activity可以通过Content Provider或者Service访问一个数据库。 Android并不自动提供数据库。在Android应用程序中使用SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android提供了SQLiteOpenHelper类帮助创建一个数据库,通过继承SQLiteOpenHelper类,就可创建数据库。SQLiteOpenHelper类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。在创建成功后,系统就会在/data/data/[PACKAGE下录目_databases/NAME生成一个“.db”的数据库文件。Android系统提供了数据库操作的增、删、改、查四个基本操作和直接执行SQL语句的方法,非常方便开发者的使用。 (三)基本设计 概要设计是软件项目需求分析和详细设计之间的桥梁,本文主要从总体设计、接口设计和数据库设计三个方面进行分析,其主要任务是把系统需求分析的用例图扩展转换为软件结构和数据结构。 总体设计将对项目的需求规定、运行环境、项目的结构、流程分析和代码架构进行分析。
需求规定根据第三章的项目需求分析,总结为:项目是基于Android平台的毕业生管理系统,包含了就业、毕业生相互联系两大方面的需求。此外项目还需满足安全性、可靠性、易用性三个方面的非功能性需求。
运行环境项目的运行环境为:Android 4.0。 项目结构分析项目的结构分析如下:项目由就业帮助、同学录、相册、同行论坛、七嘴八舌、信箱、后台管理等模块组成。 其具体模块功能框架图如图1所示:
图1
项目代码架构分析以MVC为基本设计思想,项目将代码结构分为:model、view、controller、database、protocol、tools六层。model层用于保存状态,view层用于显示,controller层处理业务逻辑,database层实现数据的持久化和本地化,protocol层解析执行协议的数据,tools是公共层,通过调用可完成比如下载之类的功能。 项目数据交互分析以后台服务器为界,项目在客户端第一次运行时,controller层使用代理模式实现protocol层的接口,使protocol请求网络访问服务器后台数据,并解析数据,解析完成后由protocol存入database层;protocol层的任务结束后提示controller层数据请求、解析和持久化成功完成;controller层接收到成功的消息,取出database层的数据放入view层,完成界面初始化。项目非第一次运行时,请求网络更新数据;如果有网络,则清空数据库更新数据,没有网络则提示用户打开网络。数据的承载以model的方式。数据交互的分析有利于代码逻辑的理解和实现,也是项目的核心骨架。 接口设计接口设计分为内部接口设计和外部接口设计。内部接口设计用于定义项目内部接口,外部接口设计用于定义项目与服务器后台的数据交互接口。 四、研究方法 (一)可用性测试 可用性测试是指在设计过程中被用来改善产品的可用性的一系列方法。在典型的可用性测试中,用户研究员会根据测试目标设计一系列操作任务,通过测试5~10名用户完成这些任务的过程来观察用户实际如何使用产品,尤其是发现这些用户遇到的问题及原因,并最终达成测试目标。在测试完成后,用户研究员会针对问题所在,提出改进的建议。 (二)用户访谈 对用户对本系统的使用情况,满意度,遇到的问题和建议进行访谈。 在访谈中可以与用户有更长时间、更深入的交流,通过面对面沟通、电话等方式都可以与用户直接进行交流。访谈法操作方便,可以深入地探索被访者的内心与看法,容易达到理想的效果,因此也是较为常用的用户研究方法。访谈法一般在调查对象较少的情况下采用,因此常与问卷法、测试法等其他方法结合使用。
五、参考文献 [1]杨红霞. 南山学院毕业生管理系统设计与实现[D].山东:山东大学,2012 [2]佚名.毕业信息管理系统[D].广东:仲恺农业工程学院,2014 [3]邵长恒,赵焕杰. Android程序开发实用教程,第一章Android概述,第二章Android开发环境与开发工具[M].信息技术,2014 [4]邵长恒,赵焕杰. Android程序开发实用教程,第十一章Android中的数据储存[M].信息技术,2014 [5]游戏陀螺. TechWeb,如何让你的App成为经典?腾讯有7种用户研究方法
| |
指导教师 审定意见 |
指导教师签名: 年 月 日 | |
教学科研基层组织或合作单位审定意见 |
负责人签名: 年 月 日 | |
备 注 |
|