APP下载

基于Java语言的超市账单管理系统的设计与实现

2016-12-06朱丽华

安阳工学院学报 2016年6期
关键词:账单供应商数据库

刘 波,朱丽华

(安阳工学院a.飞行学院;b.计算机科学与信息工程学院,河南安阳455000)

基于Java语言的超市账单管理系统的设计与实现

刘 波a,朱丽华b

(安阳工学院a.飞行学院;b.计算机科学与信息工程学院,河南安阳455000)

系统以Oracle作为后台数据库,Java作为前台开发工具,运用自顶向下逐层分解的模块化结构设计思想和面向对象的设计方法,完成管理系统的主要模块。最后对软件的页面功能以及后期软件Bug进行测试,测试结果表明该软件可实现账单管理的基本功能。

Java;Oracle;数据库;超市管理

D01∶10.19329/j.cnki.1673-2928.2016.06.009

现代科学技术的飞速发展使得科技产品不断更新,尤其是以计算机为代表的科技产品,已经成为人们离不开的工具,已经渗入到人们生活的方方面面。计算机越来越普及,随之各种软件也相应而出。许多企业为加速发展,也用上了相应软件。超市行业的不断发展壮大,同样需要一套系统软件来管理,超市账单管理系统是小型超市商品销售和管理的重要工具,对于日常的管理和运营起到重要的作用。

本系统采用面向对象编程思想的Java语言,借助于Eclipse平台,为用户提供可视化结构设计界面,可以满足系统的开发。

1 系统实现的关键技术

1.1 Java语言

Java语言是一种面向对象的编程语言[1],不仅仅是其跨平台性,更多的是因为它的灵活性和实用性较强,可以说是比较经典和强悍的,而且Java有强大的文件和标准库支持以及快捷方便的数据库接口等优势[2]。这些优点可以满足系统功能的要求,结合使用Eclipse和Oracle数据库工具,可以将软件高效率开发出来。

1.2 Eclipse开发平台

Eclipse的前身是IBM的Visual Age。由于意识到Visual Age存在难以扩展、底层技术较为脆弱、很难与WebSphere Studio软件集成、进一步发展甚为困难、面临包括Symantec公司的Visual和Borland公司的JBuilder等开发工具的竞争压力,IBM决定创建一个更开放的并且可以为IBM其他开发工具提供支持的一体化开发平台。Eclipse采用开放源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其推广应用速度。

Eclipse测试和性能工具平台(TPTP):提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。

Eclipse Web工具平台计划(WTP):用Java企业版Web应用程序开发工具来扩展Eclipse平台,它由以下部分组成:HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的源代码编辑器;XSD和WSDL的图形界面编辑器;Java企业版的“项目性质”(project nature)、建构器(builder)和模型(model);一个Java企业版的导航(navigator)、一个Web服务(Web service)向导和浏览器;一个WS-I测试工具和数据库访问查询的工具与模型。

1.3 数据库技术

本系统采用Oracle数据库,Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合,是目前最流行的客户/服务器(Cli⁃ent/Server)体系结构的数据库之一。它由至少一个表空间和数据库模式对象组成,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间,而其中的模式对象和关系形成了数据库的关系设计,使用数据库建表时需要考虑表中的属性、类型以及表之间的主外键关系,作为目前储存数据的主要工具,在常见的系统开发中Oracle不可缺少。

2 系统设计及功能分析

2.1 设计思想

该系统主要分为前台显示和后台维护两大部

分,采用目前流行的面向对象的思想,将实体封装成对应的数据类,增加程序的可读性、扩展性并提高效率。主要分为几个相对独立的模块,但是各模块要进行集中式管理。按照SpringMVC模式进行设计,模型层使用三层架构来实现(如图1),控制层使用Controller,显示层使用jsp页面,系统采用这样的架构有较强的可维护和扩展性[3]。方便用户操作,提高用户的体验感,前端显示的页面简洁大方。合理健全的数据库设计,在设计表时要考虑表中的属性、类型和长度以及所需使用的数据存储在数据库中,以便提高程序的安全性。高内聚低耦合,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的,在系统模块设计时合理的规划职能,多使用接口而不是继承,满足易于变更和重用的特点,提高程序的健壮性[3]。编写该程序时参考一些大型网站或者经典系统的设计思想进行开发,提高程序的可行性。该系统的主要设计如图2。

图1 MVC各层之间的关系

2.2 设计原则

本系统在满足开发需求基础上,遵循操作便捷且良好的用户体验,以更好地满足用户[4],在这次开发过程中遵循如下原则:

1)操作方便的原则:设计的系统操作便捷、界面美观大方,功能满足设计需求;

2)准确原则:输入的信息有误(如加账单时不存在对应的供应商、账单出现负数、已经生成的账单被删除、添加用户时信息的及时验证等),可以提示用户信息有误,使用户能够及时准确的进行输入;

3)后台程序的可读性原则:为了便于后期在此基础上修改程序,方便IT人员及时、高效的对代码处理和升级维护,在编写项目时应该做好代码注释;

4)实用性的原则:软件的功能满足实际需求并能够处理一些额外的要求,同时应扩大空间,便于功能的增加;

5)优化的原则:去掉没有必要的操作和高效的算法,多使用接口,少使用继承,减少代码量;

图2 系统的主要功能流程图

2.3 系统功能设计

根据超市业务的基本分析和其所需要解决的问题,设计出该系统的功能(如图3)。软件设计首先进入登录页面,根据用户登录的名字和密码,赋予不同的权限;软件设计可以有账单管理,可以查询账单信息,添加账单(前提是账单上的产品和供应商已经存在,否则添加不上),修改账单的状态(经理有此权限);软件设计可以有供应商管理,可以添加查询供应商信息、修改供货商信息操作;软

件设计可以有用户管理,可以添加用户信息、查询用户信息、修改用户信息操作;软件设计可以提供管理员和经理对于相同管理的不同操作,从而实现账单的不同管理;软件设计能实现系统数据的初始化,数据库的备份和还原。

图3 系统功能设计图

3 系统总体设计与实现

3.1 数据表结构设计

根据本项目的实际需求以及应用规模,我们只需要建立一个数据库,在该数据库中建立五个数据表,分别是:账户表数据库的设计(m_user),权限表数据库的设计(powers),用户信息表数据库的设计(u_user),供应商信息表数据库的设计(suppli⁃er),其中账户表、权限表、供应商表如下图所示∶

表1 账户表(m_user)

表2 权限表(powers)

表3 供应商(supplier)

3.2 系统首界面

本项目的所有用户登录页面如图4,如果用户点击退出系统,也会返回该页面。

图4 登录退出页面

3.3 管理员操作

管理员没有操作账单的权限,但是可以提交账单,提交之后的状态为未审核并且显示提交用户的名字。添加账单时商品的名称必须和供应商对应且已经存在,此时可以按照商品名称和是否付款进行组合查询,如图5所示。

3.4 普通用户操作

普通用户没有操作账单的权限,可以通过商品名称和供应商名称查看对应的详细信息,如图6所示。

4 系统测试运行

4.1 功能测试

首先对用户登录界面进行测试,当输入用户名和密码登录后,系统会进行信息正确性的验证,如果不正确,则给出提示信息要求用户重新输入登录信息;如果正确,则根据用户名赋给用户对应的权限进行操作。本系统是一个账单管理系统,会有经理、管理员和普通用户三个角色,所以用户登录时权限的分配是该系统的一个重点。进入主界面后,会显示账单管理、供应商管理、用户管理(此为管理员所特有模块)以及退出系统。测试采用黑盒测试法进行测试是否满足开发需求,发现问题或者Bug及时更正错误,不断反复测试,直到

运行效果达到预期目标。

图5 管理员账单

图6 用户的账单管理

1)账单管理模块

测试内容包括:信息输入的正确性和合法性测试,对账单的增、删、改、查进行测试。生成的账单为未审核的状态,在未经审核的情况下经理可对账单进行修改,经理审核之后账单不能修改且不能删除。管理员可以提交账单,但是生成账单的前提是账单上的供应商和对应的产品都存在,否则管理员不能提交该账单,同时还可以按照账单号进行查询,普通用户可以查看账单信息。

2)供应商管理模块

测试内容包括:可以按照供应商名字进行查询,同一个供应商可能供应不同的产品。管理员可以添加供应商,前提是该供应商存在供应商品。经理可以查看供应商信息、按照供应商的名字进行查询。对于没有添加的操作,普通用户可以查看、添加供应商信息。

3)用户管理模块

测试内容包括:管理员所特有的模块,可以按照用户的名字进行查询,显示用户的详细信息。

4)数据的测试

为了防止意外,造成数据丢失,所以在测试时应该有重置数据的测试以及数据库的备份和还原功能的测试。

5)测试结果

功能模块经测试实现其功能且请求响应时间都在范围内,存在的Bug已经完善,则测试结束。

4.2 功能测试

总体测试是软件开发完之后不可缺少的步骤,本系统采用渐增测试,将测试过功能块加入系统功能中,依次类推,在测试时采用有主到次的方式,最终实现把所有模块结合一起。在测试中常用到的调试技术:

1)利用Eclipse自带的debug断点调试,如图7所示。

2)打印输出语句,测试结果是否达到预期,如图8所示。

3)从调试窗口观测数据的变化。

4)在jsp页面中使用alert确定方法是否调用等。

图7 debug模式调试

图8 控制台输出信息如图

5 结束语

本系统结合了超市管理的实际情况,根据信息管理的要求,各个功能模块设计的实现能满足超市管理实际工作的要求,可以实现对超市管理信息的查询、修改、删除、增加还可以进行有条件的数据查询,并且按照指定的条件或条件组合进行计算统计等。此外该系统对使用的信息对象有很高的安全要求,对用户有严格的管理权限,对后台数据库有安全备份、升级等功能要求,完全可以保证此系统对数据操作的安全性及可靠性。

[1]侯俊杰.Java程序设计教程与实训[M].北京:科学出版社,2005.

[2]夏宽理.Java语言程序设计[M].北京:机械工业出版社,2008.

[3]HUMPHREY W S.软件工程规范[M].北京:人民邮电出版社,2004.

[4]刘炳国,韩旭,杨富荣.基于ERP系统的物资采购超市化管理[J],河北企业,2013(05):23-27.

(责任编辑:周小露)

TP311.52

A

1673-2928(2016)06-0026-04

2016-03-20

刘波(1979-)男,河南安阳人,安阳工学院飞行学院讲师,研究方向:计算机应用、数据库及信息管理系统的研究。

猜你喜欢

账单供应商数据库
账单式小康
账单式小康
又至一年“账单”发布时
数据库
数据库
数据库
闽南妈妈的“生娃”账单
数据库
供应商汇总
供应商汇总