陈松祥 甘开孟 陈小奎
摘要:为了满足客户的需求,设计了一套工程材料信息查询系统,可操作者分为商家和用户两个部分。为了系统的易于推广使用Android平台下的java语言进行开发,并使用数据库技术用以存储数据,用以确保可以存放大量的数据,并使用了客户/服务器架构用以实现前后台的连接,与数据库的联系。系统的交易过程通过第三方支付平台,用以确保安全性。并对软件进行了测试,确保了可行性。
关键词:Android系统;工程材料信息查询系统;第三方支付
中图分类号:TP919 文献标识码:A 文章编号:1009-3044(2018)30-0062-03
随着互联网技术与信息软件技术的发展,移动硬件设备的成熟,人们的生活越发便捷,越发离不开互联网与移动设备。移动设备上层出不穷的App,小程序给人们带来了各种各样的快捷享受,其中的核心便是信息。
工程建造是社会也是一个城市的基础,不同的工程所需要的材料的数量和质量也大不相同,在常规的方法中人们需要上门询问和观察过多个商家的商品后,相互比对,结合自身的需求和经济情况做出分析,才能得出较为满意的方案。该App与大量的可信赖的商家签订质量和信誉保障协议,收集了大量的优质建筑材料的信息,用户可快速准确的查询到所需建造材料的各种信息,并在室内就可以做出比对和选择,从而得出成本内最让自己满意也是质量最为可靠的方案,除此之外还可以联系专业的公司和厂家进行咨询或预约上门服务,从而节省大量的时间和精力,让宝贵的人力资源得以更高效的利用。
1 相关技术信息
1.1 Android系统
Android是一种以Linux与Java为基础的开放源代码操作系统,主要用于便携设备,对比于其他平台Android平台有几大优势。
首先是它的开放性,任何移动终端厂商加入联盟中来,有利于人员的积累,同时会产生丰富的软件源。
第二是挣脱了运营商的束缚,从各种功能到网络的接入,过去手机会受到运营商的各种制约,Android可以让用户对软件的下载更加轻松,与网络的连接也更加的快捷。
第三是丰富的硬件选择,由于Android的开放性,许多厂商会推出各种各样的产品,功能上的差异与特色却不会影响数据同步和软件兼容。
第四是Google应用的无缝结合,Google从搜索巨头到如今深入互联网的各个方面,地图,邮件等,Android都将很好地适应使用这些服务。
1.2 MySQL数据库
数据库的种类有很多,MySQl数据库是其中一种,它有体积较小、速度较快、成本相对较低、开放源代码的特点,许多中小型网站都选择它作为网站的数据库。
它是一个支持多用户,多线程的数据库服务器,同时sql语言是世界上应用最广泛,最为标准化的数据库语言,使得对数据库的添加、更新、删除等操作更加便捷。
1.3 第三方支付
所谓第三方支付,就是一些具备足够实力与信誉的第三方独立机构在与国家和各大银行达成协议后所建立的交易平台。在通过第三方支付进行的交易中,由买方选购商品后,使用第三方的账户进行付款,第三方通知卖家货款已达,进行发货,等到买家确认过货物后,确认付款给卖家,第三方再将支付款转至卖家。
2 系统分析
2.1 系统总体分析
通过扫描二维码进入到App首页,用户可通过输入手机号码获取验证码的方式进行用户注册,注册完成后回到首页选择自己想要进行的操作。首页功能有联系建材装修公司进行咨询,选择的联系方式有电话,邮箱和QQ,若用户想自己购买建材进行装修,可点击建材市场,可查询到关于各种建材的价格等信息,选择想购买的材料后添加到购物车,完善购买信息后就可以进行交易,系统模块图如下图所示。
2.2 系统模块分析
1)注册:用户注册通过输入手机号码,获取验证码,然后完善个人密码,用户名称等信息等完成注册,注册信息会录入数据库,完成用户注册。
2)登录:用户登录时需要输入用户名和密码,点击登录后,后台程序会将用户名和密码进行信息校验,然后判断是否正确然后是否授权登录。
3)商家对商品信息进行操作:商家可以对自己在商城上发布的商品信息进行修改或添加新的商品信息,操作完毕后信息会存入数据库。
4)用户对商品的操作:用户可以自主在商城中查询商品信息,也可以联系商家进行咨询,提供多种联系方式。
5)咨询商家:用户可以通过电话、邮箱、QQ等方式联系商家,咨询商品的价格,通过自己的描述商家给出合适方案,还可以联系商家上门装修。
6)购买商品:当用户选定好合适的商品后,可将商品加入购物车中,完善地址信息以及联系方式等信息后,通过第三方支付平台进行支付。
2.3 系统需求分析
系统除了满足用户的需求外,还需要满足一些除了功能性之外的需求,例如安全需求、稳定需求、页面交互需求。
1)安全性需求:系统通过手机号码实名注册,还保存了用户的个人信息,用户的隐私安全和支付安全都需要安全性的保障
2)稳定性需求:用户需要在各个界面进行跳转,系统的前后台的数据需要交互,用户进行支付,这些都要求系统需要良好的稳定性来支持。
3)页面交互性需求:为了提高用户的体验,系统需要提供良好的视觉页面,商品信息和用户信息会根据商家和用户的修改进行实时更新。
3 数据库模块分析
该表給出了存储在数据库中的各个实体以及各个实体存储在数据库中的属性,属性值可随软件上的操作进行更新。
该图表现出了各个实体与它的属性,给出了各个实体间的关系以及不同实体间所能进行的操作,用以更新属性值。
4 系统模块设计
4.1 系统功能模块设计
系统采用客户端到服务器的架构模式,通过客户端发送操作命令,服务器对数据进行管理,并对客户端发送的请求服务命令做出相应的反应操作。数据库是实现商品信息数据管理的重要部分。数据库设计的合理性是重要的,合理的数据库可以提高系统运行速度,增强用户的体验感。使用大数据相关知识对获取的数据分析,在数据库中建立相应的数据表,根据各商品的销售情况,合理的进行商品需求调整,以适应市场的发展方向。
4.2 系统界面模块设计
1)注册界面:用户扫描二维码下载App后,系统会进入注册界面,用户输入手机号码,获取验证码后输入,完善个人信息如密码,用户名,联系方式等即可完成注册,用户的个人信息会保留到数据库中,界面如下。
2)系统首页界面:用户信息校验正确登录成功后进入首页,首页功能有联系建材公司,进入建材市场,装修选材等功能,点击相应区域进入相应界面,主界面如下。
3)商品信息界面:用户若想自行购买商品,点击建材市场区域进入到商品信息界面,其中有石材,钢材,木材,水泥等商品信息。点击相应的商品后会进入相应商品的具体信息,品牌,价格等。
4)咨询商家界面:用户若想联系商家咨询商品信息或询问商家给出材料方案,可通过点击预约区域进入商家联系界面,联系方式有电话、QQ、邮箱以及在线预约。
5)添加进入购物车及购买界面:用户查看商品信息后若想购买商品,可将商品添加进购物车中,然后完善购买信息例如地址,电话号码等,即可通过第三方平台完成支付。
5 系统部分代码
public void insert(String name, String id) {
SQLiteDatabase db = super.getWritableDatabase();
// 取得数据库操作对象
ContentValues cv = new ContentValues() ;
// 定义ContentValues对象
cv.put("name", name) ; // 设置name字段内容
cv.put("id",id) ;// 设置id字段内容
db.insert(TABLENAME, null, cv) ; // 增加操作
db.close() ; // 关闭数据库操作
}
public void delete(int id) {
SQLiteDatabase db = super.getWritableDatabase();
String whereClause = "id=?" ; // 删除条件
String whereArgs[] = new String[] {String.valueOf(id)} ; // 删除id
db.delete(TABLENAME, whereClause, whereArgs) ; // 删除操作
db.close() ; // 关闭数据库操作
}
}
public void update(int id, String name, String phone) {
SQLiteDatabase db = super.getWritableDatabase(); // 取得数据库操作对象
String whereClause = "id=?" ;
// 更新条件
String whereArgs[] = new String[] {String.valueOf(id)} ; // 更新id
ContentValues cv = new ContentValues() ;
// 定义ContentValues对象
cv.put("name", name) ;
// 设置name字段内容
cv.put("id", id) ;
// 设置id字段内容
db.update(TABLENAME, cv, whereClause, whereArgs) ; // 更新操作
db.close() ; // 关闭数据库操作
}
6 系统测试与分析
6.1 测试的意义
软件开发出来后,经常并不是我们预想的结果。要想得到我们的最终产品,我们就要了解开发出来的软件,了解它的功能、缺点和不足。因此我们就需要借助测试来完善开发的软件,从而得到我们预想中的结果。
6.2 测试的目的
1)用户希望得知软件的可靠性和正确性,软件可能出现的错误以及发生错误的严重程度和几率,从而考虑是否使用该软件。
2)软件开发人员也希望通过测试能得知软件的缺陷与漏洞,从而对此做出修改和完善,更好地满足用户的需求,提高软件的可靠性,确立人们对于软件产品的质量信心。
6.3 测试方法
1)白盒测试。从内部结构考虑,按内部结构情况设计测试。已知产品的内部结构测试内部动作是否按照规格说明正常进行。
2)黑盒测试。不必考虑内部结构,仅在界面进行。通过了解产品的功能,测试功能是否能正常使用。
6.4 测试分析
功能测试主要是对系统的注册、登录、查询商品信息以及完善购物信息等模块进行测试。测试包括正常和非正常两种方式。
性能测试是對软件质量的优劣评价的一种测试。该测试主要通过虚拟机测试程序的响应时间。从而得到评价依据,以便考虑是否有必要升级产品,挺高用户的体验感和产品的好评率。
7 结束语
本篇文章介绍了在Android平台下工程材料信息查询系统,实现了对工程材料灵活快速查询,该系统可以有效解决建造材料的方案得出问题。未来可以与更多的商家合作,收集更多的商品信息,并实现与互联网的实时更新交互。不过大量的数据需要稳定的服务器来支持处理,随着用户数量的增加也需要对系统进行优化用以提高用户的体验。
参考文献:
[1] 盖索林.Android开发入门指南[M]. 2版.北京:人民邮电出版社,2012.
[2] 钱雪忠.数据库原理及应用 [M]. 2版.北京:北京邮电大学出版社,2007.
[3] 杨云君.Android的设计与实现[M].北京:机械工业出版社,2013.
[4] 卢玲,刘勇,陈小奎.浅析大数据背景下软件测试方法的挑战及其展望[J].电脑知识与技术,2017(9):40-42.
[5] 陈岩.计算机软件测试方法的分析[J].电子世界,2017(7):47.
[6] 靳岩,姚尚朗. Android 入门开发与实践[M]. 北京:人民邮件出版社,2012.
[7] 傅志红,陈兴璐. 深入浅出Google Android [M]. 北京:人民邮电出版社,2012.
【通联编辑:代影】