软件实现与测试
一、项目中使用的代码放在GitHub上,地址如下:
安卓客户端部分代码:
https://github.com/Himoko/JBJAPP
网页端部分代码:
https://github.com/Hanyinh/JBJ.git
二、快速使用指南
1.下载和安装
通过以下网址下载软件后可以直接安装(仅支持安卓系统手机)。
https://pan.baidu.com/s/1jIgoEUy
2.初步使用
安装完成后,可以凭游客身份查看一些兼职信息,如果要进一步操作需要进行注册和登录。
3.使用
(1)游客身份
首页:
在此界面可以看到各种兼职信息,比如兼职的分类、兼职的具体信息和一些商家的广告,通过点击这些对应的按键可
进行跳转。
工作页面:
在此界面可以看到一些工作的基本信息,可以选择自己喜欢的信息,点击进一步了解。
(PS:消息模块在游客身份下只能浏览没法进行操作。模块在游客身份下会显示登入或者注册的按钮。)
(2)注册
在注册的时候可选择委托方注册或受托方注册。
(3)委托方
a.委托方注册
通过手机号注册,进行短信认证和根据提示进行信息填写。
b.我的模块
在我的模块可以进行兼职的发布、以往兼职信息的查看、修改个人信息、修改已经发布过的兼职信息、对已经完成
的兼职进行操作。
c.消息模块
在消息模块,可以与委托方和软件客服进行聊天。
(4)受托方
a.受托方注册
通过手机号注册,进行短信认证和根据提示进行信息填写。
b.我的模块
在我的模块可以查看兼职信息、个人信息、对个人信息进行修改和对应结束的兼职进行操作。
c.消息模块
在消息模块,可以与受托方和软件客服进行聊天。
(5)登入
受托方和委托方的登入都一样,通过手机号和密码进行登入,如果忘记密码可以进行短信认证找回密码,或者直接通过
短信认证登入。
三、代码实现(对部分代码进行分析)
1.安卓客户端
(1)轮播图功能
这段代码主要是为轮播图初始化定时器,首先创建timer对象,然后判断该activity是否还在,也就是不为空,接着设置定时
器,保证图片暂停三秒,也就是三秒轮播一张图片,当然在运行时,要判断是否轮播,然后发送消息给Handler。在退出程序后,
还有重写Destroy的函数,移除未被处理的消息,保证内存不会泄漏。
(2)由欢迎页面跳转至主页面
这段代码是用于欢迎界面结束后,自动跳转到主界面,可以用于在欢迎界面进行分线程加载数据,保证在进入主界面后数据加
载完成。先是设置一个定时器,当等待时间到达之后,再新建Intent对象,然后启动主界面的activity,并结束欢迎界面。
(3)从数据库获取数据
这段代码是用于从数据库获取数据,首先,先连接数据库,新建数据库帮助对象,使用getReadableDatabase,这里还可以使用
getWriteableDatabase,这两者的区别是,getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就
只能读而不能写,倘若使用的是getWritableDatabase() 方法就会出错。getReadableDatabase()方法则是先以读写方式打开数据库,如
果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。然后定义游标,将从数据库获取的数
据存在游标中,然后一条条进行遍历,将游标的数据存到数组中,然后再展示到界面上。
2.网页端
(1)注册登录界面设计部分
上面的代码设置了两个框架,一个是注册登录的框架,一个是首页等界面的框架。将框架的“display”属性设置为“block”属性
就为显示,设置为“none”就是把框架给隐藏起来。一开始的时候注册登录框架是隐藏起来的,当点击了注册登录之后,就把首页
等框架隐藏起来,把注册登录的框架给显示出来。
实现后的登录界面效果为下图:
(2)验证码的设置
验证码的组成部分设置为26个小写字母和26个大写字母以及0-9的10个数字,然后从中随机出4个从而形成的验证码,并且把
这4个字符以字符串的方式返回,然后把数据存入session()中,然后判断与用户所输入的验证码是否一样。generateVerify函数
用于产生随机的4个字符。
实现后的验证界面效果如下图:
(3)修改用户个人信息
如果用户修改个人信息,就通过连接数据库,然后把数据库相应的内容给修改。使用MySql数据库存储用户的信息,所以使用
mysqli进行数据库的连接,当用户成功连接数据库后根据用户id获得用户的相关信息,修改成功后返回“修改成功”信息,修改
信息的显示通过ajax实现,这样可以避免刷新整个页面造成用户等待时间过程,带来不好的体验感。
四、软件测试
1.测试目的
(1)测试所设计功能是否能够正常运行。
(2)测试界面是否足够的友好,布局是否美观,操作是否简单。
(3)测试功能是否完善,是否能满足用户需求。
(4)测试软件性能如何。运行是否流畅。
2.测试内容
(1)运行测试。
(2)逻辑测试。
(3)系统处理能力测试。
(4)安全性测试。
(5)性能测试。
(6)稳定性测试。
(7)易用性测试。
3.测试结果
(1)注册测试
一切功能正常,在系统提示的合法格式内,无出错现象。
(2)登录测试
测试结果正常,能进行正常登录。
(3)用户操作手册测试
按照用户操作手册进行操作,细节操作并无问题,但发现了一些容错和反馈信息方面的问题,以及部分功能模块无法实现或
出错。
(4)逻辑测试
此阶段测试首先对软件设计进行了深度的评判,检查软件设计在某些方面是否有悖于正常逻辑思维。例如一个人在同一时间接取
的兼职无上限等。测试结果正常,软件设计符合正常逻辑。
(5)系统处理能力测试
实现大量用户的同时操作,单个用户的多个操作。测试结果,处理能力太弱,对多个用户同时进行操作就会出现数据错误。
(6)安全性测试
在测试过程中,检查系统的安全性,登录安全,信息安全,检查是否会受到外部攻击货是否有出现系统漏洞。测试之后发
现软件的保密性不够好,存在着被攻击后能被他人获取数据的风险。
(7)性能测试
对运行速度进行测试,对软件快速的进行操作,测试结果性能一般,过快操作出现卡顿。当处理的任务较多时程序的响应
时间较长。
(8)稳定性测试
在进行该项测试过程中,软件没有出现死机或者网络瘫痪、程序崩溃等问题。
(9)易用性测试
在进行该项测试过程中,找了几位从未使用过软件的同学进行软件使用,经过一段时间的使用了本软件的界面设计布局比较
否合理,但外形不够美观,操作简单,帮助文档易读易懂。