曹伶丽+梁振辉
摘要:该项目是在电脑中管理系统衍生出的移动端辅助软件,该项目为了方便使用者不受地域的限制而开发的一个功能性软件。主要实现的功能有:在线值班、预约查询、病历查看。
关键词:移动终端;手术作业;管理系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)10-0065-02
1 需求分析及软件框架设计
本项目是在原有的pc端大系统下开发基于Android平台的移动衍生系统。原系统的功能结构图如下:
基于以上功能pc端系统的功能,在移动端只需完成医生值班、签到、手术预约申请等少部分的功能,得到移动端系统的总体框架图如下:
用户从登录界面输入信息后与登录后有一个数据调取及匹配的工作,如果匹配失败则回到登录状态,如果成功则调出相应职务的功能(此处账号职务的定位由数据库完成)。
2 软件具体功能的实现
根据总体软件设计框架图,进行下一步软件功能的实现,具体过程及相关情况介绍如下:
2.1 开发工具需求
主要使用到java语言,用eclipse软件在windows平台上开发,再用android虚拟机及Android软件测试板,进行调试、完善软件。
2.2 各功能分析及实现
首先就是登录功能,登录只需要验证用户的帐号和密码即可,在MianActivity中实现登录功能,方法名login(String username,String password)主要逻辑是:
调用MianActivity类中的login方法传入用户名和密码然后再把数据post到login.php页面进行对数据库进行验证如果验证成功返回获取登录用户的ID号,姓名,年龄,性别等等并通过Intent将获取到的用户信息进行传递,然后进行职务匹配,如果是医生的ID号就跳转的医生的界面并提示登录成功,否则登录失败,如果出现没有连接网络或服务器异常的情况下,需要捕捉错误并提示用户无法连接网络。
MainActivity.java:
登录到用户界面,首先我们要获取从MianActivity类传过来的值一一接收,然后对各个功能的功能的按钮进行监听。
Doctor_main.java :
签到功能:定义一个i=0变量,用来判断上下班,点击在线值班调用on_duty()方法,如果i=0的话将用户名、当前时间post到Ontime.php页面上进行数据库的查找,找到指定的ID号再将当前时间写入on_word字段然后i=1,并提示正在值班,反过来如果i=1表示下班找到指定的ID号再将当前时间写入after_word字段提示已下班。
预约查询功能:分析主要是对数据库患者这个表进行筛选,如果字段中appointment等于登录用户的名字(医生名字)就用数组name[]把数据装起来,因此我们从MianActivity类传我过来name[]数组数据用Listview控件通过遍历将数据显示出来。
3 测试分析及排错
按照程序开发的设想,将设计的前台与后台数据库相联系,发现在一下的功能里面出现一些问题。前
预约查询:将相应数据遍历到指定控件时,程序无法正常运行,在经过捕捉错误一步步分析,发现是空指针错误,经过翻阅书籍发现于是加上try catch就能解决这个问题
至此,系统前台设计与后台数据库匹配完成。
4 结束语
本系统的开发是基于原有pc端系统的开发,这与一般的移动设备上的APP开发有一些不同。本系统必须要分析原来的系统结构与功能,在开发中要不断提醒,语句的使用必须要方便与原来的系统进行对接,软件的开发不仅仅是某项功能的单独实现,开发者必须有全局统观的能力。