吕昭君
(浙江旅游职业学院,浙江杭州 311231)
请假系统APP的开发及应用
吕昭君
(浙江旅游职业学院,浙江杭州 311231)
系统梳理出设计一款请假系统所需要的技术细节,同时总结管理人员实际应用过程中反馈的问题,以期借助技术的力量使学校的管理工作更加便捷、更加人性化,并为开发人员提供一定的参考。
请假系统;安卓APP;C/S模式;学生管理
1.1 任务框架
请假系统虽然不是大型系统,但其任务框架五脏俱全,而且涉及到服务器、客户端的信息交互,多客户端的协作和配合。以浙江旅游职业学院为例,学生请假,需要班主任、辅导员、系支部书记、院领导等多级签字,因此该系统由以下几部分组成[1]。
1.1.1 学生端。根据需要可设以下几项功能:“填写假单”“显示记请假记录”“修改密码”“关闭退出”和“故障申报”等。在“填写假单”一页,可根据需要设“假单类型”“请假原因”“起止日期”“起止节次”和“上传证明文件”等。而“上传文件”可以另起一页,一般有“选择图片”“根据要求编辑图片”“上传”“取消返回”等。如何编辑压缩图片是开发难点。
1.1.2 审核端。主要分设“显示未批准假单”“显示批准假单”“统计各班级请假情况”等。这3项功能点击后都会列表形式显示记录,该列表的每一行数据都需要提供“审核”按钮,点击审核按钮跳入新的一页或者弹出窗口,之后选择“通过”“不通过”“删除该申请”等。
1.1.3 系统维护端。一般会设有“增加班级”“增加新学生”“编辑学生信息”“文件夹维护”等。而增加班级时,根据数据库的不同,需要导入到系部数据库和班级数据库,有时学生的信息变动时,一般会涉及到修改班主任信息和班级名称信息等。
1.2 需要用到的开发平台
3个端、不同的功能模块都需要一一实现,这个过程中需要用到不同的开发平台和工具。笔者采用了VS2005和Eclipse,前者用于服务器端网页的设计和响应客户端代码的编写,后者是Android版开发需要的。当然当前VS有更高的版本2015,笔者习惯用2005这个版本,读者可以根据自己需要选用。Eclipse虽然也有替代工具,比如Android Studio(简称AS),但笔者也是因为最早习惯了Eclipse,还没有使用AS。VS2015可以同时开发安卓和苹果版,有兴趣可以试用一下。
1.3 数据库的建设
以上交互都需要有数据支撑,因此学生的基础数据库如何建设。笔者采用了3个数据库:全系的数据库、分班级的数据库、请假记录数据库。全系的数据库是为了方便学生登录用的,学生只需要输入学号和密码,即可以登录到学生端中。如果分班级存放数据,显然还需要选择班级,这从服务角度来讲,是不够便捷的。分班数据库是为了以后扩展系统功能预设的。请假记录数据库目前采用的是自动序列ID为关键索引的,因为要考虑到不同的学生会有多次请假的情况,因此不能用学号或姓名作为关键索引。在数据库建设过程,遇到了比较现实的难题是,技术员得到的数据往往是Excel格式的,这可能与日常办公采用Excel做表格有关。单位提供给技术员的数据也不一定严格按照格式排列;还有如何把每一届的数据自动导入到数据库中(当然如果直接采用Excel作为数据库也可以,无须导入到Access),需要维护端开发一个专门的工具。笔者利用VS2005开发出维护端的单机版工具,方便建设数据库,远程上传批量的学生信息数据。请假记录数据库里可以根据需要,包含如下内容:ID、姓名、学号、性别、电话、系部、班级、请假原因、请假类型、起止日期、一级Pass、二级Pass和三级Pass等,一般还需要记录上传该数据的IP地址和时间。而证明文件的保存,目前采取的是按照学年、班级建设文件夹,证明文件存放在对应班级的目录下,而证明文件的名称以学号加上传的时间为唯一识别名称,并同时记录到请假记录数据库中。
1.4 网站的搭建
该系统是C/S(客户端/服务器)的交互模式,因此离不开网站的搭建,可利用单位自己的服务器存放服务器端文件,也可以根据需要搭建服务器。有些单位考虑到网站安全,禁止学生上传自己的图片,担心部分同学恶意上传带有病毒代码的图片,这也限制了该系统的应用和推广。笔者目前采用自己搭建服务器,租用了阿里巴巴(之前的万网)的空间。
1.5 不同类型的应用端
三方(学生、审核、维护)都通过向服务器发送数据和从服务器接收数据。这三方目前可以开发为不同类型的客户端,即网页版、安卓版、苹果版、电脑单机版等。
首先,网页版的开发。笔者采用了VS2005作为开发平台,具体是采用了VB.NET,文件是aspx格式,其主要核心的编码是数据库的访问、增删等。其次,苹果版的开发。开发苹果版有3种选择,一是购买苹果电脑,在MAC系统上利用XCODE开发苹果APP;二是在Windows操作系统上,用QEMU加载苹果MAC的镜像iso,虚拟一个苹果系统的环境;三是利用VS2015开发。但个人开发的苹果APP需要上传到苹果的store商店,经过审核后才可以放在商店上供用户下载,而且技术员要付款99美元。再次,Android版的开发。相对苹果的APP,安卓APP几乎是免费的,其无需购买专用的电脑,其开发平台Eclipse或AS可以免费使用,用平台开发的软件也是可以免费安装,无需上传和审核,也无需付费,虽然从技术员的角度看,有专利被侵犯的潜在可能,但从应用角度来看,无疑是方便的[2]。笔者目前主要开发的是安卓版和网页版。具体技术细节,限于篇幅,无法一一给出,在开发过程中,可能会涉及到xml文件的布局,证明文件的上传、页面间如何带参数跳转和返回、登录页面与服务器的数据交互、本地图片的预览和选择、大量数据的上传、电话的拨打以及uses-permission权限的设定等这些问题。最后,Windows单机版。为方便维护和审核,也可以考虑设计Windwos单机版,如维护数据、与计算机上的数据库交互等。
目前很多工作都转移到手机上操作,10.00~16.67cm大小的屏幕,需要实现之前1 024×768像素电脑上的功能,需要有一个良好的页面布局,否则使用者将因为难用而放弃。从应用反馈来看,主要遇到如下问题:①网页版要考虑到手机上左右手操作的习惯;②优先选择的功能要放在突出的位置;③平面设计问题,使用Eclipse做xml界面设计时拖放比较麻烦,为业界所诟病;④学生在使用时,发现无法登陆,这可能与数据导入时有遗漏有关;⑤学生的密码忘记,维护方需要查询后发短信提供;⑥学生无法上传尺寸超过规定的照片,但手机上又无法编辑大小时,作为审核的老师,还是需要学生提供纸质的证明,当前很多APP需要认证身份时,都需要申请人拍照上传,这个过程中因相机像素比较大,势必需要压缩图片;⑦误操作造成的删除需要,学生有删除权限吗,还是审核端有删除权限;⑧按照单位的统计需要,还要把学生的旷课统计进去,这似乎与请假系统无关,但如果不能提供旷课统计,似乎请假系统的应用效果也打了折扣。因此,还需要增加一个专门供学习委员上传旷课学生数据的“学习委员端”。
通过开发本系统,不仅在技术上对一个完整的系统框架有了更清晰的认识,也对学生的管理工作如何提供更加便捷的服务有了全新的体会,同时也发现当前手机操作系统的不同给技术员带来了很多苦恼,不仅要开发网页版,还要根据客户需要开发安卓版、苹果版,甚至Windows Mobile版,当然网页版是最通用的,任何操作端只要有浏览器都可以使用。但使用的体验和提供的服务功能可能不同。
今后将根据使用的反馈不断完善该系统,在此基础上不断开发更多的服务系统,让管理过程中遇到的各种困难和问题,都能够借助技术的力量变得更加便捷、更加人性化。这样不仅可以提高管理效率,也可以提高科技管理意识,让使用的双方都能体验到公正高效的管理模式。
[1]王兴晶.Visual Basic.NET数据库开发典型实例[M].北京:电子工业出版社,2002:181.
[2]Jonathan S.Harbour.Andriod游戏编程入门经典[M].北京:人民邮电出版社,2013:21.
Development and Application of Leave System APP
Lv Zhaojun
(Tourism College of Zhejiang,Hangzhou Zhejiang 311231)
Design technical details required for a leave system was systematically sort out,and feedback problems in the practical application of management personnel were summarized,to make the school management more convenient and more humane with the help of the power of technology,and to provide a reference for developers
leave system;Android APP;C/S pattern;student management
TP311.52
A
1003-5168(2016)11-0048-02
2016-10-16
吕昭君(1980-),本科,讲师,研究方向:计算机语言学,中韩语言对比,软件开发。