计算机科学与技术本科生毕业论文——基于Android的移动OA办公的设计与实现_第1页
计算机科学与技术本科生毕业论文——基于Android的移动OA办公的设计与实现_第2页
计算机科学与技术本科生毕业论文——基于Android的移动OA办公的设计与实现_第3页
计算机科学与技术本科生毕业论文——基于Android的移动OA办公的设计与实现_第4页
计算机科学与技术本科生毕业论文——基于Android的移动OA办公的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本科生毕业论文(设计)题 目:基于Android的移动OA办公的设计与实现 目 录TOC o 1-5 h u HYPERLINK l _Toc29713 摘要 PAGEREF _Toc29713 4 HYPERLINK l _Toc31271 关键词 PAGEREF _Toc31271 4 HYPERLINK l _Toc29713 Abstract PAGEREF _Toc29713 4 HYPERLINK l _Toc31271 Key word PAGEREF _Toc31271 4 HYPERLINK l _Toc28819 1 绪论 PAGEREF _Toc28819 4 HYPE

2、RLINK l _Toc4405 1.1选题背景意义 PAGEREF _Toc4405 4 HYPERLINK l _Toc2515 1.2国内外研究概况 PAGEREF _Toc2515 5 HYPERLINK l _Toc7643 1.3研究目的和内容 PAGEREF _Toc7643 6 HYPERLINK l _Toc32715 1.3.1研究目的 PAGEREF _Toc32715 6 HYPERLINK l _Toc30928 1.3.2研究内容 PAGEREF _Toc30928 6 HYPERLINK l _Toc1655 1.4技术路线 PAGEREF _Toc1655 6

3、HYPERLINK l _Toc13264 1.5论文组织结构 PAGEREF _Toc13264 7 HYPERLINK l _Toc10117 2 Android开发技术 PAGEREF _Toc10117 8 HYPERLINK l _Toc7446 2.1 Android客户端开发技术 PAGEREF _Toc7446 8 HYPERLINK l _Toc16006 2.1.1 Activity活动 PAGEREF _Toc16006 8 HYPERLINK l _Toc19369 2.1.2 Intent接收器 PAGEREF _Toc19369 8 HYPERLINK l _Toc

4、4513 2.1.3 Android线程间的通信 PAGEREF _Toc4513 9 HYPERLINK l _Toc31044 2.2 服务器端开发技术 PAGEREF _Toc31044 9 HYPERLINK l _Toc3113 2.2.1 HTTP协议 PAGEREF _Toc3113 9 HYPERLINK l _Toc21180 2.2.2 HttpClient PAGEREF _Toc21180 9 HYPERLINK l _Toc11055 2.2.3 JSON PAGEREF _Toc11055 10 HYPERLINK l _Toc24453 2.2.4 Springm

5、vc PAGEREF _Toc24453 10 HYPERLINK l _Toc739 3 Android移动办公的需求分析 PAGEREF _Toc739 11 HYPERLINK l _Toc11094 3.1基于UML的需求分析方法和流程 PAGEREF _Toc11094 11 HYPERLINK l _Toc13522 3.2功能业务分析 PAGEREF _Toc13522 11 HYPERLINK l _Toc17878 3.3 系统用例图 PAGEREF _Toc17878 12 HYPERLINK l _Toc1825 3.4 基于UML的个人办公模块的需求分析 PAGEREF

6、 _Toc1825 12 HYPERLINK l _Toc13932 3.4.1 个人办公模块用例及活动图 PAGEREF _Toc13932 12 HYPERLINK l _Toc7795 3.5 基于UML的公共办公模块的需求分析 PAGEREF _Toc7795 16 HYPERLINK l _Toc22100 3.5.1 公共办公模块用例及活动图 PAGEREF _Toc22100 16 HYPERLINK l _Toc10689 3.6系统类图 PAGEREF _Toc10689 18 HYPERLINK l _Toc7552 3.6.1个人办公模块类图 PAGEREF _Toc75

7、52 18 HYPERLINK l _Toc6815 3.6.2公共办公模块类图 PAGEREF _Toc6815 19 HYPERLINK l _Toc29399 4 系统设计 PAGEREF _Toc29399 19 HYPERLINK l _Toc12642 4.1 数据库设计 PAGEREF _Toc12642 19 HYPERLINK l _Toc15964 4.1.1 数据库概念结构设计 PAGEREF _Toc15964 19 HYPERLINK l _Toc8974 4.1.2 数据库逻辑结构设计 PAGEREF _Toc8974 21 HYPERLINK l _Toc2503

8、2 4.2 系统顺序图 PAGEREF _Toc25032 24 HYPERLINK l _Toc29393 5 系统实现 PAGEREF _Toc29393 26 HYPERLINK l _Toc31257 5.1 Android客户端实现 PAGEREF _Toc31257 26 HYPERLINK l _Toc11431 5.1.1 考勤功能实现 PAGEREF _Toc11431 26 HYPERLINK l _Toc6074 5.1.2 审批功能实现 PAGEREF _Toc6074 27 HYPERLINK l _Toc31353 5.1.3 通知公告功能实现 PAGEREF _T

9、oc31353 28 HYPERLINK l _Toc8644 5.2 服务器端实现 PAGEREF _Toc8644 28 HYPERLINK l _Toc19197 5.2.1 JSON数据格式解析实现 PAGEREF _Toc19197 28 HYPERLINK l _Toc2295 5.2.2 服务器端网络响应模块伪代码 PAGEREF _Toc2295 29 HYPERLINK l _Toc7499 5.3 数据库操作实现 PAGEREF _Toc7499 30 HYPERLINK l _Toc17403 5.3.1 配置Mybatis PAGEREF _Toc17403 30 HY

10、PERLINK l _Toc31122 5.3.2 服务器端操作数据库模块伪代码 PAGEREF _Toc31122 30 HYPERLINK l _Toc7623 6 系统测试 PAGEREF _Toc7623 31 HYPERLINK l _Toc23660 6.1 系统测试方法与流程 PAGEREF _Toc23660 31 HYPERLINK l _Toc28700 6.2 功能测试 PAGEREF _Toc28700 31 HYPERLINK l _Toc4575 6.2.1 用户注册 PAGEREF _Toc4575 31 HYPERLINK l _Toc29454 6.2.2 登

11、陆用例 PAGEREF _Toc29454 32 HYPERLINK l _Toc9544 6.2.3 修改个人信息用例 PAGEREF _Toc9544 32 HYPERLINK l _Toc20918 6.2.4 用户考勤用例 PAGEREF _Toc20918 33 HYPERLINK l _Toc30150 6.2.5 通知公告用例 PAGEREF _Toc30150 34 HYPERLINK l _Toc30074 6.2.6请假申请用例 PAGEREF _Toc30074 35 HYPERLINK l _Toc15074 6.2.7 加班审批用例 PAGEREF _Toc15074

12、 36 HYPERLINK l _Toc17553 6.2.8 员工信息查询用例 PAGEREF _Toc17553 37 HYPERLINK l _Toc25473 6.2.9 邮件用例 PAGEREF _Toc25473 37 HYPERLINK l _Toc13739 6.2.10 转正申请查询用例 PAGEREF _Toc13739 38 HYPERLINK l _Toc18792 7 总结与展望 PAGEREF _Toc18792 39 HYPERLINK l _Toc27118 7.1 总结 PAGEREF _Toc27118 39 HYPERLINK l _Toc18328 7.

13、2 展望 PAGEREF _Toc18328 39 HYPERLINK l _Toc22539 致谢 PAGEREF _Toc22539 39 HYPERLINK l _Toc21656 参考文献 PAGEREF _Toc21656 39 基于Android的移动OA办公的设计与实现摘要:OA办公系统是现代企业处理事务的重要工具,但传统办公系统应用终端只能通过 PC 接入网络进行办公限制了办公地点。Android手机在智能手机市场中的的占有率最高,本设计旨在基于Android平台下开发一个C/S架构的移动OA办公系统,使得用户可以通过本系统随时随地办公。整个系统采用面向对象的开发方法,根据上班

14、人群的需求设计系统功能,通过android应用、Tomcat服务器以及Mysql数据库等开发技术实现了考勤签到、发送邮件、注册登录、加班请假申请、转正离职申请、审批、通知公告及相关管理功能。最后通过在三星手机上安装测试,各个功能模块均已实现,具有较完备的功能。关键词:移动办公;Android开发;OA系统;C/S架构A design and implementation of mobile OA officebased on Android platform Abstracts:OAsystemisthesignificanttooltodealwithaffairsbymodernenter

15、prise.Nevertheless,traditionalofficesystemlimitstheofficelocationbecauseuserscanonlyapplypcasapplicationterminaltogetaccesstothenetwork.Android mobile phones in the smart phone market share of the highest,Thisdesignisaimedatdeveloping a mobileOAsystembasedon C/Sstructureand Androidplatform,sothatuse

16、rscouldworkwhereverandwhenever.Thewholesystemadoptstheobject-orienteddevelopmentmethodanddesignsfunctionsaccordingtothedemandsofofficeworkers.Itimplementsthefunctionincludingattendancemanagement,sendingemails,applyingforovertimeworkandaskingforleave,loginandregistrationmodule,applyingforresignationa

17、ndbecomingafullmember,approvalofinformation,announcementmanagementandseveralmanagementmodules.Finally,thissystemistestedbyinstallingontheSamsun mobile phone.Eachfunction modulehasbeenimplementedandworkswell.Key words:Mobile office;Android development;OA system;C/S structure1 绪论1.1选题背景意义 建立在网络互联的基础上、

18、使企业内部信息得以快速共享、可以满足企业工作协同应用需要的软件系统,一般称为 OA(Office Automation 办公自动化)系统1。由于客户的需求的不断提高和科技的迅猛发展,Office Automation一直被赋予新定义。Office Automation可以方便用户处理越来越复杂的各种数据和流程,能够更深入的了解许多公司自身的最新信息、运转及最终情况,这要求办公系统有新的提高。老式办公系统的应用终基本上是在 PC 上安装,用户只能在有PC时才能办公,活动范围局限性强,很难与当代快节奏的办公方式相适应,导致办公效率低。 当下的一段时间,技术的发展也使得设备硬件也持续更新,我们的生活

19、已广泛受到很多网络上的影响,移动互联网行业快速发展,对于科技发达的国家来说显得尤为显著。不再局限于单纯的互联网连接,而是以移动终端为交互平台,通过大型服务器建设,云计算技术的支持,为用户提供方便快捷,全方位的信息服务。国内的Smart phone市场正在迅猛的发展着,2007年Android平台发布,很快就成为了全世界较为有影响的平台2-3。 因此本课题提出了基于android平台的移动OA办公系统的实现,让用户可以通过android手机就能够办公,不再受在固定场所才能办公的地点限制,为用户提供了极大地便捷。1.2国内外研究概况 移动互联网近几年的迅猛发展与突飞猛进的进步,它起到了对移动办公出

20、现的关键作用。16年前起步时,移动启动了“移动梦网”计划,促使移动办公的出现和最初的发展,并且在起步的第二年已经执行了“移动梦网”的计划,移动总部对外放出消息:所有移动手机用户可随意享用“移动梦网”中的许多服务,这些许多服务中就有我们所说的“移动办公服务”。自此,其他很多的企业也跟着它的影响,开始慢慢执行移动信息化的一些部署4,如何实现移动办公这一问题一直主要技术的发展所影响,另外技术的发展也在不断的提高着用户体验度。其实,很多外国国家在这个领域的各项研究都会比我国的各项相应研究提前了很长时间。GOOGLE公司推出了在线处理的两项应用服务,分别是常用文档和电子表格,自此之后用户就能通过Web的

21、方式在自己本地电脑上面且在没有安装任何办公应用软件的情况下进行网上办公;在GOOGLE公司推出的同一时间,Microsoft Corporation也推出了Office Mobile2010,实现了在移动设备上进行移动办公5。 在王晓飞6的研究中,重点围绕信息安全功能,利用智能卡技术,开发了 安全接入平台模块,将用户的个人证书植入到SD中,由于接口调用,利用证书实现增加密码的操作提高安全性。在传递讯息时利用HTTPS协议实现在传递过程中密码不被泄露。Server采用 Native客户端前置server架构,使用老式OA server接口来完实现功能,利用前置机专用的密码机提供密码操作服务,主要

22、实现了安全接入平台功能、以及流程处理、XML解析、用户设置、客户端更新等功能模块。 在谭翔纬7的研究中,根据移动传统OA系统的特点,并根据性能分析提出自己的解决方案,网络端采用 Http 的 get/post 方式,通过XML标记来描述数据,利用XML解析方式完成跨平台数据交换,客户端的软件设计采用MVC 模式,后台数据库采用 MySQL进行数据存储,系统实现了公文、邮件管理及系统管理等功能。 在简擎炬8的研究中,采用混合(Hybrid)开发模式,利用Android 多线程支持库Message Queue类提供一些十分有效的机制实现线程管理,服务器端为开源的 Tomcat,客户端与服务器之间的

23、通信利用 XMPP协议来实现。对用户设定的数据、终端设备的 IMEI 码核心讯息通过 3DES 等方式来保障,实现了基本的用户名密码认证,系统主要实现了身份验证、IP 设置、签到签退、电子邮件、消息通知、企业动态、会议查询功能、考勤查询、人事管理等功能。 目前,移动互联技术的高速发展以及3G网络技术不断发展成熟。Google Inc开发出了具有创造性意义的Android操作系统,为可移动电话应用软件的开发建立了一个可以自由发挥的系统平台9。虽然现在很多企业都有自己的移动办公软件,但是依然有许多问题没有克服,一些公司为了自身提高利益增设娱乐功能但实际上几乎没有什么用途,并且占用系统内存导致容易出

24、现内存不足的情况等等。1.3研究目的和内容1.3.1研究目的 基于PC端办公系统移动性差的不足,本设计通过考察调研及需求分析,设计移动OA系统功能,设计数据库表。基于Android平台,Tomcat服务器以及MySQL数据库,完成“移动办公系统”的实现。主要实现以下功能:(1)用户验证模块:注册、登录、注销(2)用户动态模块:考勤签到、考勤查询、收发邮件(3)流程审批模块:转正申请批复、离职申请批复、加班批复、请假批复(4)通知公告模块:查看通知、发布通知、删除通知(5)个人信息模块:个人资料查询、个人资料修改、密码重置(6)公司信息模块:员工资料查询、部门信息查询(7)申请信息模块:加班记录

25、、转正申请、离职申请、请假申请、申请状态及 详情查询,删除已审批申请1.3.2研究内容本课题旨在安卓系统所提供的开源平台实现移动电话的办公应用系统。 (1)移动OA办公系统需求分析及功能设计在南京市对企业中的办公系统调研考察,分析现有办公系统的功能及用户办公流程,总结出具有移动特性办公系统的主要需求。根据大部分企业中用户主要办公需求,结合现有软件的功能,进行系统功能设计,包括申请信息、个人信息、流程审批、注册登录、用户动态、通知公告以及公司信息七大模块。 (2)系统数据库设计通过需求分析及功能设计,按照一定方法创建移动OA办公系统数据库表,绘制E-R图,服务器端能完成对MySQL 数据库操作。

26、 (3)系统功能实现 客户端: a.利用 xml 配置生成Android 客户端的用户界面,利用Activity类实现 界面组件 b.利用HttpClient 的对象发出服务请求,用于与系统服务器端的信息交 流 c.通过Intent接收服务/活动实现 Activity界面之间的交互 服务器端:采用 Tomcat 服务器,利用java语言作为开发工具,设计相应的controller类处理客户端的请求并发送http响应,JSON数据解析等。 (4)程序测试:在 Android 手机上安装项目生成的“.apk”文件,进行功能测试。1.4技术路线根据研究目的、内容设计技术路线如图1-1。图1-1 技术

27、路线图1.5论文组织结构 第一章 绪论。本章特别阐述了基于Android 的可以移动的办公系统的设计与实现、课题的研究背景及意义,并且介绍说明了国内外的大致情况,确定的表达出了本课题的执行目标和内容还有技术路线,在结尾给出了论文的组织结构。 第二章 开发技术。从 Android 客户端、网络端以及MySQL 数据库端三个方面简要说明本文所使用的主要技术理论。 第三章 需求分析。本章论述了系统要实现的功能,并采用面向对象的需求分析方法进行需求分析。 第四章 系统设计。本章论述了系统数据库的结构设计,系统功能流程设计利用面向对象的设计方法实现。 第五章 系统实现。本章介绍了系统各个主要功能是如何实

28、现的以及主要实现算法和功能类。 第六章 程序测试。通过在手机上的安装,并实时操作程序进行数据与功能的测试分析,调试程序,修正错误,完善程序。 第七章 总结与展望。通过对开发结果和开发过程进行分析,总结其中所遇到的问题与解决办法,并通过经验总结,提升自我能力。2 Android开发技术Andriod系统开发整体分为三个层次,客户端层,服务器端层及数据库层,系统整体开发层次模型如表2-1 所示。表2-1 android开发技术总体框架客户端模块 服务器端模块 数据库UI设计 Activity(活动) 通信模块 Intent(意图) 客户端管理模块 MySQL数据库存储ContentProvider

29、(内容提供器) 数据处理模块 service(服务) 在本系统开发过程中,主要应用到如下几种关键技术,现分别从客户端、网络端以及数据库存储端三个方面进行介绍。2.1 Android客户端开发技术 本系统Android客户端主要用到了Activity组件和Intent组件,线程之间的交互通过 Handler 来实现。所有的界面通过继承Activity类来实现,当需要执行某个意图时调用 startActivity 或者startActivityForResult 方法传递 Intent(意图),激活 Activity。Handler机制是由于Android 的线程默认使用主线程,如果将耗时的操作放

30、在主线程来进行,会导致主线程非常慢,使用Handler来实现子线程和主线程的交互,加快 UI 响应速度。以下将进行详细介绍。2.1.1 Activity活动 Activity 为安卓开发程序的术语所称作的表示层,是其中相当关键的一个部分,在最初研究的时候任何界面上的信息都全部是利用Activity基类来完成的 10。它的每个呈现在用户面前的图形状态及其安排都各相对应着一个 xml 文件,它完成应用程序的呈现在用户面前的图形状态的方式是利用 View ,并且通过setContentView()方法同xml布局文件进行栓定。假设安卓的应用里面有不止一个的呈现在用户面前的图形状态布局,则此应用就会含

31、有不止一个 Activity,并且由它们组合成了Activity栈,另可得出目前正运行的的Activity 就处在栈顶。2.1.2 Intent接收器 Intent 是 安卓内部不同部分之间进行相互传递信息的“容器”,能在全部体系里传递信息又能给指定的 Activity和Service 来完成用户的某种目的。系统将能够判断出某个目标来完成用户的动作。若是想激活 Activity,可以利用 startActivity 也可以是startActivityForResult的方式来进行Intent的传送。 两者区别在于是否需要返回结果给上一个活动。伪码如下:public void onClick(V

32、iew v)Intent intent=new Intent(MianActivity.this,ChooseApplyActivity.class);/创建意图startActivity(intent);/调用startActivity方法执行意图2.1.3 Android线程间的通信 主线程与子线程之间交互通过 Handler 来实现。在设计的开发中使用sendEmptyMessage(int what)方法。what 是用户定义的消息变量,根据每次接受到的变量数值来处理相应的操作。下面重点介绍一下 Handler 的详细概念与作用11。 定义:Handler 主要是来承接一些子线程传递的

33、信号等, 并用此来进行对主线程的协助最终可以实现对UI的更新。 作用:(1)传递信息,接收从子线程发送过来的一些数据,用这些数据来更新UI。 在 Android 中,通常在主线程中进行对于 UI 的操作。Handler对象在主线程中初始化,需绑定在主线程的消息队列中。实现发送消息的操作通过sendMessage(Message msg)方法。接收 Messgae 后,进行相类似的一些操作是通过在重写的 handleMessage()方法来实现的。(2)在传递Runnable对象时,用于进行不一样的运行动作的先后来通过Handler 绑定的消息队列。在Handler 对象在进行恢复最初状态时,会

34、自行的栓定住讯息的队列。将 Runnable 对象发送到消息队列中,按照队列的机制按顺序执行不同的 Runnable对象中的 run方法。 2.2 服务器端开发技术在整个课题里,用户们同相应服务中心是采用了相互之间交换数据信息,并且其是依靠Http请求+Json数据格式的方式来实现的。在这里面,用户群体是利用了被称作开源项目HttpClient的技术,用于执行Http请求发送到服务端,并接收服务端返回的Http响应。Web服务使用开源框架Spring、spring MVC、MyBatis集成开发。2.2.1 HTTP协议 超文本传输协议是进行信息传递的协议,它明确细致的给予了关于浏览器和万维网

35、之间相互传递数据信息的规则。通过HTTP协议既能让电脑以高速和高准确率来运送所要传输的文档,还能够分辨出其是文档的哪部分数据信息,甚至明确哪些信息第一个展现出来。此协议是目前为止最常被使用也很关键的网络应用层协议12。它的运行利用的是具有代表性的client/server 模式, 用户那边的端口就是安排在许多电脑上的浏览器, 而服务器则是安排在网上的主机,提供着万维网服务的主机13。一开始用户的端口发出连接请求, 服务器接收后并且回复,这样两者之间就出现了一条 TCP 连接;随后客户端发出请求;最后一步是服务器对客户端的请求进行处理,最终再一次回复客户端,以上用的就是请求/响应的方法。 2.2

36、.2 HttpClient Http 协议在 Java 编程中会经常出现。由于协议应用自身较为复杂,就让实际的开发时仍然会存在着一定的困难14。 对于以上的特定情况, Apache为了提供支持 HTTP 协议,发明了新颖的、效率好的、有很多功能的客户端编程工具包开源组件HttpClient,并且它给予了HTTP 协议新版本的支持15。功能有:包括GET,POST,PUT及HEAD等http的方法并支持 HTTPS 协议和代理服务器等16。在实际开发中 Http 协议编程是利用HttpClient 组件来解决。Android 集成了org.apache.http.client.HttpClien

37、t,能完成HTTP GET和POST 操作17。操作实现步骤如下: (1)首先创立HttpClient 的客户端对象; (2)生成回应的请求讯息; (3)用execute()方法传送HTTP POST(或 GET)请求,之后返回HttpResponse对象,再通过getStatusCode 得到响应的返回码来确定请求有无成功(如果返回码为200,说明为成功请求); (4)分析返回讯息18。2.2.3 JSON JSON,全称为 JavaScript Object Oritation,属于轻量级交换格式,它提供了多种语言之间完成数据交换的能力19。JSON主要具有两种数据结构:一是键值对,另外一

38、种为有序集合。常用的JSON解析也有两种: (1)利用 JSONOBject,此种方法根据服务器返回的数据,需要按照键名来依次取值,再返回多条数据,常和循环遍历一同使用。 (2)利用 GSON。此种方法需要调用谷歌提供的 GSON 开源库,将 Jar 包提前配置在工程中。方法实现原理为 GSON 可以讲一段 JSON 格式的字符串映射为一个对象,前提是我们需要自定义一个实例用语接收数据对象,在本应用主要应用此方法。 2.2.4 SpringmvcSpring给与的是管理业务对象的服务,它是以包括控制反转原则和面向方面编程思想两项为根本。Spring框架提供MVC模块20是一种高度可配置的MVC

39、框架,用于构建Web应用程序的全功能。Springmvc阐述了MVC的根本意义,它为Controller还有其他一些程序提供了很多类似功能,它能向MVC添加反转控制,这样可以降低一些程序的耦合性,只需简单的配置改变就能动态地改变组件的灵活性。Spring MVC的Web框架属于Web框架的一种,它被用在请求驱动中。它共有三个部分来组成本身框架,分别为Model,View,Controller。Dispatcherservlet是SpringMVC的关键部分,其可以把请求分发到应的处理程序,让这些业程序处理这请求。2.3 数据存储端相关技术本设计数据库采用Mybatis框架及Mysql数据库。通

40、过MyBatis能够消除掉大多数JDBC代码和对结果集的检索封装,利用MyBatis能使用简单的XML映射成SQL语句,实现对Mysql数据库的访问。用于配置与原始映射,把接口和POJO映射成数据库中的记录。2.3.1 MySQL 常用的关系型数据库管理系统包括了SQL Server、Oracle、MYSQL、Access等,它们基本都支持 SQL语言进行数据操作。MySQL 是一个关系型数据库管理系统,体积小、速度总体拥有成本低以及开源的特点。除此之外,它为多种编程语言提供了 API,支持多线程可以充分利用系统 CPU资源,优化的 SQL 查询算法,可以有效地提高查询速度,由于本系统后端为小

41、型数据库,所以选择采用MySQL21。2.3.2 MyBtis 从MyBatis框架中可找到多种操作型关系数据的含义和方法,它是非常有用的对于数据方面的访问的方式、解决数据的方法22。MyBatis框架中有最重要的两个组件,分别为DAO与SQL Map,MyBatis DAO的关键目的是将应用程序的数据访问层和持久层两个层面的表示方式和位置进行抽象化,SQL Map是MyBatisDatabase Layer的关键所在,SQL Map能够用简单的XML把Java Bean、Map等映射成SQL语句,最终执行后可以获得Java Bean、XML、Map等对象。MyBatis SQLMap能很大程

42、度上的让访问数据库的一些代码少很多,另外它还可以给与一个非常简单的框架。3 Android移动办公的需求分析3.1基于UML的需求分析方法和流程 需求分析是指把准备设计的软件的可行性分析做到精化,并考虑周全各种可能性及解法,完成对系统应做那些任务的分析,对系统提出全面、精准、明确并详细的要求。用于表示分析模型的UML图形机制主要是活动图、类图等。这里采用基于用例的需求分析法,即用例本质上是用户与系统之间为达到某个目的而进行的某种形式的交互的描述。而流程主要活动主要分为如下:(1)需求优先级分析;(2)用例分析;(3)分析模型评审;(4)为辅助需求分析而构建快速原型。3.2功能业务分析 为实现本

43、设计经过调研发现,现代化社会大部分企业里都有自己的OA办公系统,用户使用OA系统来处理越来越复杂的工作数据及相关信息,但是传统的办公系统移动终端大部分安装在PC上,限制了用户的办公地点和设备,已经无法满足用户办公节奏愈来愈快的需求,一个在任何时候和地方都可以进行办公的移动办公系统是不可或缺的。通过在南京市里对一些企业办公系统的调研考察后,通过分析得到本应用的主要需求,功能模块包括: 用户验证模块:实现相应的用户数据库,实现用户的注册、登录、注销等功能。只有在用户登陆后才能执行用户考勤,提报申请,审批及查看通知等操作。 用户动态模块:可以实现用户考勤签到、签退,填写迟到或早退说明,查看自己的考勤

44、记录,可以收发邮件。 流程审批模块:部门主管用户可以对转正申请、离职申请、加班申请以及请假申请等进行批复,并可以查看批复历史记录。 申请信息模块:用户可以提交加班、请假时间及原因,或提交转正、离职申请等,并查询自己的加班、请假、转正或离职等申请详情以及申请状态,对于已审批的申请用户可进行删除。 通知公告模块:用户可以查看公司通知或部门通知,部门主管用户可以新建通知或删除自己发布的通知。 个人信息模块:用户可以查询个人资料并修改个人资料,可以重新设置密码。公司信息模块:可以查找同事基本资料及联系资料、快捷的给某同事打电话或发短信,查看公司部门信息。系统功能模块图如下图3-1所示: 图3-1 系统

45、功能模块图3.3 系统用例图 经过调研,本系统面向的主要参与者有两类:员工与领导。另外需注意,角色为领导的用户依据权限级别设置的不同身份不一,包括中级或高级领导等。在系统顶层用例图(图3-2)中员工和领导基本可以使用的功能都相同,只是有个别功能模块中的子功能只能给权限较高的领导角色使用,和用例间的联系是信息交换,分析得到以下系统用例图。 图3-2 系统用例图3.4 基于UML的个人办公模块的需求分析 根据以上系统顶层用例图,将系统主要分为个人办公和公共办公两大模块,给出以下用例及活动图。3.4.1 个人办公模块用例及活动图根据系统用例图可知个人办公模块包含申请信息、个人信息、用户动态及流程审批

46、四个小模块,每个小模块又由许多子功能组成,如下图3-3所示。 图3-3 个人办公模块功能图用例归纳为: 考勤管理、流程审批、用户申请、个人信息查看与修改四个场景,具体的用例语言描述和用例活动图如下所示:(1)场景名称:用户考勤参与者实例:系统用户前置事件:启动服务器并能给Android应用访问主事件流: 选择ListView 中的签到,进入签到页面 填写签到说明,选择确认,获取当前时间,系统将信息传到服务器更新 数据库 签到成功则提示签到成功显示签到时间,点击确认返回签到页面 点击ListView 中的签退,进入签退页面 填写签退说明,点击确认按钮,获取当前时间,系统将信息传到服务器更新 数据

47、库 签退成功则提示签退成功显示签退时间,点击确认返回签退页面 点击ListView 中的考勤管理,进入考勤管理页面 选择考勤时间段,点击查询,显示考勤信息辅事件流: 若用户在进行“签到”或“签退”操作时,无特殊情况需要说明,可直接点击“确定”跳过。后置事件:考勤成功 图3-4考勤活动图(2)场景名称:流程审批参与者实例:部门主管前置事件:启动服务器并能给Android应用访问主事件流: 选择审批,选择审批类型 进入审批状态页面,选择状态,进入 ListView 页面 点击 ListView 中的Item,进入审批详细界面 服务器根据审批id返回全部详细信息 点击同意或拒绝按钮,完成审批返回到L

48、istView 页面辅事件流:后置事件:审批成功 图3-5 审批活动图(3)场景名称:用户申请参与者实例:系统用户前置事件:启动服务器并能给Android应用访问主事件流: 选择申请,进入ListView页面 在ListView页面中,选择需要申请的项目(加班、请假、转正或离职),进入相应的申请信息填写页面 若申请的是加班或请假,则需要选择加班或请假的时间,并且输入相应的原因;若提报的是转正或离职,则需要填写题目和正文 申请信息填写完毕后,点击提交,则系统将会把信息上传至服务器,并更新数据库,最后返回ListView页面 点击查询,选择查询类型 若选择转正、离职、加班或请假申请查询,进入申请状

49、态页面 选择申请状态,进入ListView页面 点击 LiistView 中的Item,进入申请详细界面 服务器根据申请id返回全部详细信息辅事件流: 如果开始时间晚于结束时间,提示结束时间必须晚于开始时间,返回主事件 流 若选择加班或请假,没有选择时间或填写原因,提示请填写完整,再返回主 事件流 若选择转正或离职,没有填写标题或内容,提示请填写完整,再返回主事件 流后置事件:用户申请、查询成功 图3-6 用户申请活动图(4)场景名称:个人信息管理参与者实例:系统用户前置事件:启动服务器并能给Android应用访问主事件流: 选择个人,进入个人信息页面 查看或修改手机号、部门、职位、年龄等信息

50、 修改密码 点击注销,进入用户注册页面辅事件流: 修改密码如果信息不完整,提示信息请填写完整,再转入主事件流 若新密码与旧密码填写不一致,提示密码不一致,再转入到主事件流 如果新手机号格式不正确,提示手机号格式错误,再转入到主事件流后置事件:个人信息修改管理完成 图3-7 个人信息管理活动图3.5 基于UML的公共办公模块的需求分析3.5.1 公共办公模块用例及活动图 公共办公模块包含通知公告和公司信息两个小模块,每个小模块又由许多子功能组成,如图3-8所示: 图3-8 公共办公模块功能图用例归纳为:通知管理及公司信息查询两个场景,具体的用例语言描述和用例活动图如下所示:(1)场景名称:通知管

51、理参与者实例:系统用户前置事件:启动服务器并能给Android应用访问主事件流: 选择通知,选择公司通知或部门通知 进入相应的ListView页面,点击ListView中的Item,进入通知详细界面 用户查看通知详情辅事件流: 如果用户是部门主管,可以点击新建按钮,发布或删除通知公告后置事件:通知管理成功 图3-9 通知管理活动图(2)场景名称:公司信息查询参与者实例:系统用户前置事件:启动服务器并能给Android应用访问主事件流: 选择查询,选择查询类型 若选择员工信息查询,输入员工姓名 服务器根据姓名返回全部详细信息 若选择部门信息查询,填写部门名称 服务器根据部门名称显示全部详细内容辅

52、事件流: 如果所要查询的信息所包含的条目过多,可能会因网络信号或手机性能的差异,造成不同程度的延迟后置事件:信息查询成功 图 3-10 公司信息查询活动图3.6系统类图通过对系统的需求分析及用例和开发架构的研究,将系统功能分为个人办公和公共办公两大模块。由于本系统分为客户端和服务器端,分别采用不同的设计方法,前者为面向对象,后者为面向过程,所以现只将客户端类图设计如下。3.6.1个人办公模块类图个人办公模块前台具有以下类:所有类通过继承Activity类实现界面,包括修改个人信息、修改密码、签到签退、考勤查询、申请界面、申请查询、加班申请信息、请假申请信息、转正申请信息、离职申请信息、流程审批

53、、各种适配器接口类等,其中各个均继承自 Activity类,它是 Android 开发中的活动基类。所有和用户可以签到签退、考勤查询、申请查询及修改个人信息等,部门主管有权限对员工的申请进行流程审批。类图如图3-11所示:图3-11 个人办公模块类图3.6.2公共办公模块类图公共办公模块前台具有以下类:所有类通过继承Activity类实现界面,包括通知列表、通知编辑、通知详情、信息查询、部门信息详情、员工信息详情、部门信息详情、员工信息详情、各种适配器接口类、Http 网络连接类等。所有用户可以查询信息,包括部门信息及员工信息,员工可以查看通知,部门主管可以新建或删除通知。 类图如图3-12所

54、示: 图3-12 公共办公模块类图4 系统设计4.1 数据库设计4.1.1 数据库概念结构设计通过利用实体-关系(E-R)模型的完成数据库设计,E-R 图是一个概念模型,描述了实体、属性及联系三者的方式。它们是组成 E-R 图的必须结构。实体表达了宇宙中客观存在的事物;属性指实体所具有的每一个特性。根据需求分析,提取出用户信息、部门信息、考勤信息、加班信息、通知公告信息、转正信息等实体,各实体的E-R图如下:用户信息实体如图 4-1所示: 图 4-1 用户信息E-R 图部门信息实体如图4-2所示: 图4-2 部门信息E-R图考勤信息实体如图4-3所示: 图4-3 考勤信息E-R图加班信息实体如

55、图4-4所示: 图4-4 申请信息E-R图通知公告实体如图4-5所示: 图4-5 通知公告E-R图转正申请实体如图4-6所示: 图4-6 转正信息E-R图 经过需求分析及以上E-R图可知实体之间的关系如下图4-7所示:用户对应员工和领导两类,所有用户可以查询公司员工和部门信息,领导可以发布通知和审批员工的申请,员工可以提交申请和查询通知,所有用户可以考勤并查询。图4-7 系统E-R图4.1.2 数据库逻辑结构设计 将E-R图转化成关系模型,实体与关系模式之间一一对应,表示为一张数据库表,表中的列就是实体中的属性也对应关系的属性,按照上述数据库实体关系图得到数据库表如下:表 4-1 用户信息表(

56、oauser)描述 字段名 类型 长度 备注 用户ID id int 11 主码 姓名 name varchar 30 电话 phone varchar 15 密码 password varchar 100 性别 gender int 11 年龄 age int 11 职位 type int 11 地址 address varchar 60表 4-2 部门信息表(department)描述 字段名 类型 长度 备注部门ID id int 11 主码部门名称 name varchar 40部门描述 description varchar 400表 4-3 考勤信息表(check)描述 字段名 类

57、型 长度 备注 考勤ID check_id int 11 主码 用户ID user_id int 11 外码 考勤时间 check_time datetime 0 考勤类型 type int 11 考勤说明 reason varchar 256表 4-4 通知公告表(notice)描述 字段名 类型 长度 备注通知ID id int 11 主码 用户ID user_id int 11 外码题目 title varchar 40通知内容 context varchar 400创建时间 create_at timestamp 0部门ID department_id int 11通知类型 type

58、int 11表 4-5 加班申请表(overtimeapply)描述 字段名 类型 长度 备注 加班申请ID id int 11 主码 用户ID user_id int 11 外码 加班原因 context varchar 300 状态 status int 11 创建时间 create_at datetime 0 加班开始时间 start datetime 0 加班结束时间 end datetime 0 部门ID department_id int 11表 4-6 用户部门关系表(relation)描述 字段名 类型 长度 备注 用户ID user_id int 11 主码 部门ID dep

59、artment_id int 11 主码表 4-7 省份信息表(province)描述 字段名 类型 长度 备注 省份ID id int 11 主码 省份名称 name varchar 20表 4-8 城市信息表(city)描述 字段名 类型 长度 备注 城市ID id int 11 主码 省份ID province_id int 11 外码 城市名称 name varchar 30表 4-9 转正申请信息表(fullapply)描述 字段名 类型 长度 备注 转正申请ID id int 11 主码 用户ID user_id int 11 外码 标题 title varchar 50 正文 c

60、ontext varchar 300 状态 status int 11 创建时间 create_at datetime 0 部门ID department_id int 114.2 系统顺序图通过需求分析,每个对界面中组件的操作可以抽象成对应的一个用例,分为三个阶段分别是选择模块、选择标签、选择具体内容。接着客户端把请求发送至服务器,服务器接收请求并访问数据库,对数据库的数据进行相应的操作,然后返回数据给客户端,客户端显示操作后的新界面。在此代表性地选出一些核心功能的顺序图来绘制。修改个人信息 图4-8 修改个人信息顺序图(2)考勤查询 图4-9 考勤查询顺序图 审批 图4-10 审批顺序图(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论