进入信息时代以来,很多数据都需要配套软件协助处理,这样可以解决传统方式带来的管理困扰。比如耗时长,成本高,维护数据困难,数据易丢失等缺点。本次使用数据库工具MySQL和编程技术JSP开发的布卡维纳红酒网页,可以实现目标用户群需要的功能,其中管理员管理产品,管理产品类型,管理公告和用户。用户查看产品,收藏产品,对产品发布留言信息,查看公告。
总之,布卡维纳红酒网页是基于计算机进行数据的处理,则可以短时间内批量完成数据的管理,就连基本的数据录入,更改错误的数据,统计数据等操作要求都可以轻松完成,这样的系统的运用可以减少很多繁琐的工作量,让数据的管理人员提升效率,节省数据处理投入的资金和时间。同时,布卡维纳红酒网页本身就有配套的数据库,用于保存系统的后台数据,对于数据保存的容量则是传统模式不能相比的,在数据安全性上,也有相应的加密技术提供保护,所以数据泄露和被人窃取都不是易事。
关键词:布卡维纳红酒网页;MySQL;JSP
Abstract
Since entering the information age, a lot of data needs supporting software to assist in processing, which can solve the management problems caused by traditional methods. For example, it is time-consuming, costly, difficult to maintain data, and easy to lose data. This time, the Bukavina wine webpage developed by the database tool MySQL and programming technology JSP can realize the functions required by the target user group, in which the administrator manages products, manages product types, manages announcements and users. Users view products, bookmark products, post messages to products, and view announcements.
In short, the Bucavina wine webpage is computer-based data processing, and data management can be completed in batches in a short time. Even basic data entry, modification of wrong data, statistical data and other operational requirements can be easily completed. The application of the system can reduce a lot of tedious workload, allow data managers to improve efficiency, and save money and time invested in data processing. At the same time, the Bucavina wine webpage itself has a supporting database to store the background data of the system. The data storage capacity is incomparable with the traditional model. In terms of data security, there is also corresponding encryption technology to provide protection. , So data leakage and being stolen are not easy tasks.
Key Words:Bucavina wine webpage; MySQL; JSP
第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 JSP技术 3
2.2 MySQL数据库 3
2.3 Java语言 4
2.4 SSM框架 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1运行可行性分析 5
3.1.2经济可行性分析 5
3.1.3技术可行性分析 6
3.2系统流程分析 6
3.3 系统性能分析 9
3.3.1系统安全性 9
3.3.2系统可扩展性 9
3.3.3系统易维护性 9
3.4系统功能分析 10
第四章 系统设计 12
4.1布局设计原则 12
4.2功能模块设计 13
4.3数据库设计 14
4.3.1数据库E-R图 14
4.3.2 数据库表结构 17
第五章 系统实现 20
5.1 管理员功能实现 20
5.1.1 产品信息管理 20
5.1.2 用户管理 20
5.1.3 公告信息管理 21
5.2 用户功能实现 21
5.2.1 产品信息 21
5.2.2 公告信息 22
5.2.3 修改个人信息 23
第六章 系统测试 24
6.1?测试方案? 24
6.2 系统测试用例 26
6.2.1 登录功能测试 26
6.2.2 注册功能测试 26
6.3 测试的结果 27
结 论 28
参考文献 29
致 谢 30
1.1 研究背景
时代总是在进步的,自从进入了信息时代,面对大量的不同种类的数据,仅仅依靠有限的人力去处理,显然是不行的,毕竟人工处理大量的数据会耗费较长时间,而且数据的错误率也会提升,另外,在对数据进行检索时,也是一件既耗费体力,又耗费时间的事情。因此,引进当前的信息技术开发的系统去解决传统管理模式带来的各种困扰成为一种趋势。本次打算开发布卡维纳红酒网页,让布卡维纳红酒展示信息的管理完全依赖于计算机,包括录入信息,维护信息等都在计算机上操作,简单方便,在优化信息管理流程的基础上,进一步实现信息管理的规范化和系统化。也让布卡维纳红酒展示信息的管理人员从之前的繁琐工作中解脱出来,让他们提升自身素质,提高自身管理能力,把布卡维纳红酒网页的作用发挥到最大,从而产生更大的效益。
1.2 研究意义
布卡维纳红酒网页的出现,可以解决传统模式带来的问题,比如传统模式不能批量处理数据,处理效率低,耗时长,浪费大量人力和物力,数据易出错等问题。布卡维纳红酒网页是基于计算机进行数据的处理,则可以短时间内批量完成数据的管理,就连基本的数据录入,更改错误的数据,统计数据等操作要求都可以轻松完成,这样的系统的运用可以减少很多繁琐的工作量,让数据的管理人员提升效率,节省数据处理投入的资金和时间。同时,布卡维纳红酒网页本身就有配套的数据库,用于保存系统的后台数据,对于数据保存的容量则是传统模式不能相比的,在数据安全性上,也有相应的加密技术提供保护,所以数据泄露和被人窃取都不是易事。另外,布卡维纳红酒网页对操作人员录入的数据进行实时检验,可以及时反馈错误信息,使录入数据的准确率得到提高,也充分保证了系统数据的可靠性。总之,布卡维纳红酒网页值得信赖,可以完成数据的高效率处理工作。
1.3 研究内容
本文对布卡维纳红酒网页的描述,将按照如下章节进行。
第一章:根据前期的调研,和对参考资料的分析总结,明确系统研究背景意义;
第二章:通过对当前开发技术的分析,选定开发本系统的开发语言和工具;
第三章:在用户需求的基础上,结合相似系统的功能,分析并确定本系统的功能,分析本系统开发可行性问题;
第四章:在第三章的基础上,进一步细分系统功能,要设计出系统各个模块的功能,同时,对配套数据库进行设计;
第五章:在第四章基础上,要运用编程技术,全面实现布卡维纳红酒网页的功能;
第六章:检测制作的布卡维纳红酒网页功能是否运行正常,性能是否达标;
布卡维纳红酒网页作为一款应用软件,其开发是需要搭建的一定的编程环境,对使用的工具和技术都有相应要求,接下来就介绍本系统中运用到的工具和技术。
2.1 JSP技术
JSP技术是有一定的规则的,首先JSP里可以用Java语言写在标记内,可以混合HTML语言以及XHTML语言代码进行混合编辑,并且进行书写Java语句或者用其他标签,用标签的话都需要用特殊的符号进行描述,编写Java语言的代码需要用特殊符号标记起来,用<%作为开始,中间书写Java语句,以%>作为结束标签,必须是有开头和结尾的,不然会编译出错的,必须是成对出现也必须有闭合的。JSP可以处理表单数据,因为JSP也算是一种Servlet,也可以把数据提交给Servlet处理也是可以的。其实对用户来讲,实现动态数据的网页就可以了,但是后台也是需要对数据进行一些加工的,JSP技术正好也是可以做到数据加工的。JSP可以直接通过JDBC来操作数据库,对数据进行页面展示,也可以记录用户的访问的信息和选择信息等,并且可以使用JavaBean组件,还可以通过Session在不同的网页上传递信息和共享相关的信息。动态网页有很多规范和标准,比如CGI规范或者ISAPI规范这些。标准是固定的,但是JSP技术是比CGI规范更加强壮。比如JSP性能对比上超过CGI,更优秀,原因是因为可以在一个JSP文件里嵌入很多元素,如果元素一样多的话,用CGI就变成了需要很多文件,而受制于硬盘读写效率的影响,用时少就是优秀,能耗少就是强劲。JSP是完整的应用平台Java EE 中不可缺少的一部分。
2.2 MySQL数据库
自从学习了关系型数据库的语法之后,也逐渐的了解了一些属于关系型数据库范畴的几个常见的数据库。比如Oracle数据库和MySQL数据库,以及Microsoft SQL Server数据库和DB2数据库这几种。在这几个关系型数据库之中,对MySQL数据库印象最好。首先MySQL数据库有各种平台的服务器版本,这样就能实现跨平台运行以及移植。其次,MySQL数据库可以进行网络连接,这样可以对本地账户和应用程序账户进行有效的区分,这样在数据库的安全性上面也有很好的保证。再次,MySQL数据库在中小数据量的运行效率上面比其他数据库占用服务器资源最少,所以很多企业都选择了MySQL数据库作为首选。在开发上面,各种图形界面管理工具也是层出不穷,并且还比较好用,从各个方面综合考虑对比的情况下,选择了MySQL数据库作为应用程序所选的数据库软件。
2.3 Java语言
Java语言发展有25年多了,在互联网行业经过这么多年的发展,还依然在市场的占有率上有半壁江山,依然受到很多程序员的喜爱,好多从业人员进行学习,随着互联网从业人员的增加,并没有降低Java语言的江湖地位,算是一个常青藤。Java语言学习很简单,当然这是针对于前辈C++来讲的,C++语言相当的强悍。Java取消了很多C++特征,比如go to这些语句,还有取消了主文件,让所有的文件都是类,类里都是数组和各种对象,还让Java自己处理各种对象的引用和回收,让开发人员只需要创建对象,使用对象,编辑代码逻辑,不需要关注性能方面,让数据的各种存储交给Java自己处理,可以花更多的时间研究应用程序之间的关系,让开发变得更专注,就像赛车的驾驶员一样,只需要了解各种车辆的性能,并且进行操作,不需要研究轱辘如何制造,这样让程序开发更加的细化。
2.4 SSM框架
SSM框架是三个框架的合称,分别是Spring框架和SpringMVC框架以及MyBatis框架。三个框架随着时间的发展,越来越变成了当今Java语言的开发主流,帮助程序开发人员专注于业务逻辑以及配置相关操作,能自动生成的都支持自动生成,避免了很多耦合性出错,通过控制反转和依赖注入,让程序开发变成配置文件开发,简单明了,让创建的Java对象都能通过自身来进行创建。面向切面的操作让程序开发也变成了部门协同,公共事务都交给了SpringAOP来操作,让程序开发变得更加专注。MyBatis越来越智能,可以用配置文件和SQL语句混合开发,可以像操作Java语言一样操作数据库。
通常,对于系统的开发并不是一朝一夕就可以完成的,它需要经历很多的步骤,其中系统分析就是其中的一个,接下来还会有系统的设计和实现,最后一个步骤是系统测试。
3.1可行性分析
一个系统能不能完成开发,以及该系统是否可以带来收益等,都是需要提前分析的。而可行性研究就是分析这些问题,并得出结论,这个环节对项目是否开展起着重要作用。
3.1.1运行可行性分析
首先本系统的运行环境都是当前使用率比较高的软件,通过网络可以下载安装,其次本系统对于运行设备的要求比较低,满足4个G的内存的电脑都可以使用。而当下硬件设备的升级,几乎大部分电脑都是内存8个G,所以运行设备也符合要求。最后,本系统不用于处理繁多的类似商业软件的信息内容,占用的空间比较小。一般的电脑都可以运行。
3.1.2经济可行性分析
任何一个项目在开发前,其在经济上的可行性问题是值得研究的,本项目布卡维纳红酒网页,其在数据的处理上要求比较简单,并且其管理的数据量比较小,因此,该项目的开发周期并不会耽误很长时间,项目的开发需要支出的费用也不高。加上该项目需要管理的数据量较少,对于性能条件一般的计算机都可以满足项目的运行要求,从后期管理成本上来看,需要投入该项目的管理费用也不高。但是该项目一旦投入使用,会给使用者带来一定的收益,也能节省信息管理成本,如此,这样一个低成本投入,但能够带来大量收益的项目布卡维纳红酒网页在经济上是可行的。
3.1.3技术可行性分析
互联网的发展非常迅速,跟互联网挂钩的程序也逐渐被广泛关注,尤其是当下被大众熟知的B/S结构的程序,加上SSM技术的发展与成熟,如今可以很快速的使用模块化的代码开发一个基于B/S结构的项目程序。
通过系统运行,经济和技术上的可行性分析,对布卡维纳红酒网页的开发确实具有必要性,让管理的信息都计算机化,可以缩短在数据处理上消耗的时间,提高工作效率。
3.2系统流程分析
本系统在完成数据的处理时,其内部都设置了相应的处理流程,比如注册时,数据的最终去向以及对每项数据的判断等,这些都是提前进行了分析的,然后在编码时,把这种判断逻辑写入了系统中。让系统在面对同样的事务处理需求时,执行对应的逻辑处理规则。
目前很多的系统除了管理员的登录信息是编码时提前写入的信息,其他的用户的资料大多都是通过注册把资料写入系统中,让数据库中保存已注册用户的资料。注册功能其对应的流程如下。只有每项必填数据都符合要求,用户的资料才会被数据库保存。
图3.1用户注册流程图
在本系统的数据库中,所有用户的资料都会单独保存在一张数据表里面,也就意味着这张用户数据表里面的用户名和密码都是可以进行本系统的登录功能的,其登录流程如下。用户提交的登录信息都是必填项,不能漏掉,数据格式和内容都要准确才可以进入功能操作区。
图3.2 用户登录流程图
本系统中保存的数据都是具有参考价值的,所以在录入数据时,要确保数据的准确性,其录入数据的流程见下图。这些数据都是经过检验合格之后才会被数据库保存。
图3.3 信息添加流程图
3.3 系统性能分析
在进行系统分析期间,有一个很重要的环节,就是需要对系统的性能进行分析。可以说系统的性能跟系统的质量是成正比关系,也就是说系统性能也好,系统质量越可靠,系统性能不好,就代表着系统的质量不行,也就意味着系统在实际中的使用中,会出现中途崩溃,或者系统的数据容易泄露等风险。所以,提前进行系统性能的分析,就可以在系统设计实现中,避免出现上述风险问题。
描述系统性能的特征有可扩展性,易维护性,安全性等。
3.3.1系统安全性
一个系统是否安全,直接影响用户的使用。系统安全体现在数据上的保密性。通常,很多系统都设置了登录功能,或针对游客设置的注册功能等,无论是登录中需要使用的账号密码,还是用户注册产生的私密数据等都是系统中的宝贵资源,一旦数据泄露,一些非法人员就会从中谋取利益,或通过用户注册留下的电话骚扰用户,给用户带来身心上的伤害。所以一般针对此类关键数据,通常会直接进行加密保存。让数据始终保持安全状态。
3.3.2系统可扩展性
面对当前用户的使用需求设计的系统并不一定适用于未来。所以需要使用前瞻性的眼光来看待系统,提前预留好空间,方便在今后对系统进行升级,或者扩充系统功能。因此,系统需要具备可扩展性的特性。
3.3.3系统易维护性
系统在保持长时间使用中,难免会出现一些问题。所以在处理这些问题时,可能会对系统进行部分改动。而系统改动的难易程度就体现出系统是否具备易维护性,通常一个易于维护的系统,在面对系统改动时,将会很容易,而且也会节省时间和资金。
3.4系统功能分析
本系统的功能不会像市场上的商业程序一样具备复杂的功能,其提供的功能只能满足目标用户的一般的系统内容浏览和简单的信息处理功能。
本系统确定设置管理员权限和用户权限。
设置的管理员功能可以见下图用例图。管理员管理产品,管理产品类型,管理公告和用户。
图3.4 管理员用例图
设置
的用户功能可以见下图用例图。用户查看产品,收藏产品,对产品发布留言信息,查看公告。
图3.5 用户用例图
设计时,通常把用户需求作为对系统功能和数据库的设计重点,殊不知,系统设计时,注重用户体验也是比较关键的设计内容。比如一个系统已经实现了用户需要的功能,但是其界面布局比较混乱,同时界面中各个元素的搭配也不合理,这样一旦访问者访问系统,在短时间内无法找到需要的信息,就容易产生视觉疲劳,直接影响用户对系统的使用。所以,系统设计时,也需要关注用户的使用体验。由于用户之间的差别,比如教育程度,职业,地区等因素的不同,用户产生的行为也会存在差异,所以设计人员既要考虑用户之间的行为差异,也要考虑他们之间的共性。在尊重用户习惯的基础上,进行页面设计布局。达到用户可以多次访问系统的目的。
4.1布局设计原则
进行页面的布局,就要划分系统的各个模块,然后根据这些模块的重要程度进行布局,也需要关注用户比较在意的关键信息,利用合理的布局方式,传达出系统想要表达的信息内容,也让用户快速高效地获取需要的信息。布局虽然是页面设计的核心,但是也要讲究页面内容的协调性,统一性和均衡性。
布局设计也要考虑基本原则,接下来的内容就对此进行阐述。
第一点:参考系统需求,把系统的内容进行划分,按照重要程度的不同进行布局,并把相似或相近的信息内容集中展示在同一个区域,让访问者可以更流畅的阅读信息;
第二点:页面中比较重要的区域是靠上靠左的位置,所以这部分区域应该放置系统中比较重要的模块,毕竟这部分区域可以吸引用户眼球,让用户进入页面中,就可以发现需要的信息。对于一些次要的模块,则可以放置在页面中靠下和靠右的位置。如此设计安排,才可以发挥出页面设计实用性的特点;
第三点:根据用户习惯设计页面,虽然大部分用户具有操作上的共性特征,但他们之间还是存在区别,常见的影响用户操作习惯的因素有:年龄,学历,职业,性别等。所以设计时在考虑用户的共性特征时,也需要尽量尊重用户的不同习惯。
4.2功能模块设计
下图为管理员的功能设计,管理员管理产品,管理产品类型,管理公告和用户。
图4.1 管理员功能结构图
下图为用户的功能设计,用户查看产品,收藏产品,对产品发布留言信息,查看公告。
图4.2 用户功能结构图
4.3数据库设计
布卡维纳红酒网页选用关系数据库作为程序的后台支持,之所以选择关系数据库主要还是因为它易于使用,而且也方便进行数据维护,尤其是提供强大的SQL查询语言。还有就是关系数据库采用的二维表模型,跟现实生活中的逻辑非常贴近,与网状模型,层次模型相比较,可以发现还是关系模型更容易被接受。
4.3.1数据库E-R图
这部分内容需要根据用户需求当中的数据信息,进行拆分,并仔细分析,要从这些数据中标识出E-R模型需要使用的数据,其中有实体,有实体具备的属性,有基于实体间的关系。在获取了这些数据之后,就可以使用认可度比较高的Visio工具来完成E-R模型的建模。建模期间,只要注意Visio工具中,绘制E-R模型的各个符号代表的含义,并能够正确把实体,属性还有关系等数据完整表示就可以了。使用这样的方法可以节省数据库设计的时间,而且还可以直观表达设计的内容,以及它们之间存在的联系。
(1)设计的用户实体,其具备的属性如下图。
图4.4 用户实体属性图
(2)设计的产品实体,其具备的属性如下图。
图4.5 产品实体属性图
(3)设计的公告实体,其具备的属性如下图。
图4.6 公告实体属性图
(4)设计的管理员实体,其具备的属性如下图。
图4.7 管理员实体属性图
(5)设计的实体间关系如下图。
图4.8 实体间关系E-R图
4.3.2 数据库表结构
程序编码基本都是参照设计的方案进行的,包括设计的数据库也是对后面的编码有着一定的影响。通常来说,数据库就是保存数据,不管其设计得好坏,都不会丧失它本身的数据保存功能。设计数据库的好坏,其区别在于,对数据存取的效率。设计比较好的数据库,在数据查询,存储以及更新上,可以快速做出响应。设计不好的数据库,很多时候不仅会延长数据的处理时间,还会容易出错。因此,设计数据库也是程序开发中很关键的环节。
针对本系统设计的数据库,按照数据库设计的原则,即设计数据库的三大范式进行。各个数据表的结构都是根据E-R模型进行的物理转化,对于一些细节问题,包括表的命名,字段的命名,字段类型和长度的设计等都比较规范化,这样做的目的也是方便后期系统编程。
表4.1 产品信息表
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
chanpin_name varchar(200) 是 NULL 产品名称
chanpin_types int(200) 是 NULL 产品类型
chanpin_jinghanlinag int(200) 是 NULL 单瓶净含量
chanpin_baozhiqi varchar(200) 是 NULL 保质期
chanpin_peiliao varchar(200) 是 NULL 配料表
chanpin_changhe varchar(200) 是 NULL 饮酒场合
chanpin_photo varchar(200) 是 NULL 产品缩略图
chanpin_new_money decimal(10,2) 是 NULL 产品单价
chanpin_content text 是 NULL 产品简介
create_time timestamp 是 NULL 创建时间
表4.2 产品收藏信息表
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
chanpin_id int(11) 是 NULL 产品id
yonghu_id int(11) 是 NULL 用户id
insert_time timestamp 是 NULL 收藏时间
create_time timestamp 是 NULL 创建时间
表4.3 产品留言信息表
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
chanpin_id int(11) 是 NULL 产品id
yonghu_id int(11) 是 NULL 用户id
chanpin_liuyan_content text 是 NULL 留言内容
reply_content text 是 NULL 回复内容
insert_time timestamp 是 NULL 留言时间
create_time timestamp 是 NULL 创建时间
表4.4 公告信息表
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
news_name varchar(200) 是 NULL 公告名称
news_photo varchar(200) 是 NULL 公告图片
news_content text 是 NULL 公告详情
create_time timestamp 是 NULL 创建时间
表4.5 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.6 用户信息表
字段 类型 空 默认 注释
id (主键) int(11) 否 主键
username varchar(200) 是 NULL 账户
password varchar(200) 是 NULL 密码
yonghu_name varchar(200) 是 NULL 用户姓名
sex_types int(11) 是 NULL 性别
yonghu_id_number varchar(200) 是 NULL 身份证号
yonghu_phone varchar(200) 是 NULL 手机号
yonghu_email varchar(200) 是 NULL 邮箱
yonghu_photo varchar(200) 是 NULL 照片
create_time timestamp 是 NULL 创建时间
这部分工作主要由程序编制人员完成。通常在面对一个大型的系统时,这些程序编制人员就会明确分工,每个人都完成不同的功能模块,在用代码实现功能的基础上,提前预留好接口,最后才将他们已完成的功能模块通过接口进行组合。
5.1 管理员功能实现
5.1.1 产品信息管理
管理产品信息是管理员的功能。其运行效果图如下。管理员添加产品信息,查询产品信息,修改产品信息等操作都是在本页面完成。
图5.1 产品信息管理页面
5.1.2 用户管理
管理用户信息是管理员的功能。其运行效果图如下。管理员可以为忘记密码的用户重置密码,可以修改用户信息,包括修改用户照片,修改用户手机号等信息。
图5.2 用户管理页面
5.1.3 公告信息管理
管理公告信息是管理员的功能。其运行效果图如下。管理员具有发布公告信息的权限,可以对之前发布的公告的标题与内容进行更改,可以删除指定的公告信息。
图5.3 公告信息管理页面
5.2 用户功能实现
5.2.1 产品信息
查看产品信息是用户的功能。其运行效果图如下。用户可以在当前页面对产品进行收藏,可以在页面底端对本页面显示的产品进行留言。
图5.4 产品信息页面
5.2.2 公告信息
查看公告信息是用户的功能。其运行效果图如下。用户查看公告信息,可以根据公告名称查询公告,可以点击公告的标题进行其对应内容的查看操作。
图5.5 公告信息页面
5.2.3 修改个人信息
用户在当前模块能够修改个人信息,其运行效果图如下。用户检查个人资料是否在注册时登记错误,并对登记错误的数据,比如手机号,邮箱等数据进行更正。
图5.6 修改个人信息页面
面对制作完成的系统,接下来需要开展的工作是对其进行测试。这个环节需要利用各种方式,去发现目标系统中存在的问题,并及时分析和解决,让目标系统最终可以被用户验收。
6.1?测试方案?
系统进入测试阶段,就要确定测试方案,毕竟这部分内容非常关键。测试时,要对前面设计的系统功能进行检测,看刚刚完成编码的系统是否在功能上符合用户需求,同时还要在各个功能模块里面进行测试数据的输入,并查看预期的结果与系统实际反馈的结果是否一致,另外,为了检测系统各个模块的错误,也要设计输入一些不符合操作规范的数据,检测系统能不能正常应对或者显示报错提示。截止目前,常用的两种测试方法即:黑盒和白盒测试,它们分别用于不同的测试内容。以下就对这两种方法进行了描述。
黑盒测试方法:这个测试主要还是运用在程序的各个接口测试,使用这个方法主要还是检查程序实现的功能是否跟功能需求文档匹配,它关注的主要还是功能实现,而忽视了程序的内部运行原理,以及程序在操作逻辑上的处理过程。通常进行黑盒测试,大部分都没有让用户参与。常见的除了功能测试外,它也会涉及到其它的测试,比如系统的安全性测试,恢复性测试,容量和负载性测试,以及稳定性和可靠性测试等。
白盒测试方法:这个测试主要还是注重程序内部的逻辑,包括检测程序是如何工作的,是否跟预期设定的操作逻辑一致,同时白盒测试对程序代码的检测比较彻底,可以及时把代码层面隐藏的错误给找出来,因为程序代码的每条路径都要经过检测,所以这样的方式对于代码优化也有好处。
本节针对本系统的检测也设置了相应的测试步骤,首先是模块测试,然后是集成测试,最后是验收测试。
模块测试:这个测试环节的操作员,一般都是编写程序的人员,他们会划分系统的功能模块,然后把每个功能模块都当成一个单元进行测试,因此单元测试也是模块测试的别称。这部分测试通常就是验证程序各个功能可以运行,以及发现一些来源于编码和程序设计的问题。对于模块测试,常见的错误主要有下面5个。
第一个常见错误:则是单元接口;
第二个常见错误:则是局部数据结构;
第三个常见错误:则是独立路径;
第四个常见错误:则是出错处理通路;
第五个常见错误:则是跟上述错误相关的边界条件;
总之,模块测试也是基于白盒测试,在对各模块内部的检测中,发现可能存在的错误。
集成测试:进行这个环节的测试的前提是,模块测试已经完成,然后把系统的各个模块进行组合并开始测试,测试时,主要还是检查系统各个模块连接的接口是否正确。当模块测试通过之后,把它们进行组合时,也会出现一些问题,所以在模块组合时,也进行整体性的测试,也非常重要。
集成测试常用的方法则是渐增式方法,相比非渐增式来说,渐增式用得比较多,也比较受欢迎,其中的原因有以下4点。
第一点:同样是测试,采用渐增式方法可以节约成本,开销不高;
第二点:采用渐增式方法可以短时间内暴露模块间接口的错误问题;
第三点:采用渐增式方法可以更容易对错误的位置进行判断;
第四点:采用渐增式方法可以更彻底地测试系统;
通过上面的比较分析,选用渐增式方式测试本系统,但是主要是运用渐增式里面的混合法进行集成测试。用自上而下的方式测试程序结构的较上层;对程序结构的较下层,则是采用自下而上的方式,这两种方式搭配使用完成本系统的集成测试。
验收测试:这个步骤就需要未来使用程序的人进行参与了,主要还是检测程序是否可以按照用户预定的方式进行工作,此部分测试主要还是在功能检测上,参考标准就是提前设计的功能需求文档,所以,采用黑盒测试法比较符合要求。一般来说,进行到验收测试这个环节,都会产生两种结果。一种是程序提供的功能跟用户之前要求的功能保持一致;这个就是未来使用程序的用户想要达到的效果。还有一种是程序提供的功能跟用户预定的功能需求有差距;总的来说,这个阶段主要还是验证程序跟需求文档之间的差距问题。
6.2 系统测试用例
很多时候,需要对系统中的指定功能进行数据检验,检验不同数据的录入,其产生的结果或反馈的信息跟预定的需求是否有差别。
6.2.1 登录功能测试
作为布卡维纳红酒网页的入门门槛,其登录功能扮演着相当重要的作用,可以把非条件用户置之门外保护系统安全,同时还能引导不同用户进入不同的操作区。本系统的登录功能测试表如下。每当有不同形式的数据进行录入时,该系统会对每条数据进行判断。准确录入的数据才会让访问者登录进入功能操作区。
表6.1 登录功能测试表
测试内容 录入的数据 预期结果 最终结果
输入用户表的账号和密码 账号:user
密码:user 登录成功 登录成功
随意输入账号和密码 账号:uuu
密码:uuu 提示信息错误 提示信息错误
输入用户表的账号,密码随意输入 账号:user
密码:uuu 提示账号密码不匹配 提示账号密码不匹配
随意输入账号,输入用户表的密码 账号:uuu
密码:user 提示账号密码不匹配 提示账号密码不匹配
6.2.2 注册功能测试
如果访问者需要操作本系统的功能,前提是要在用户表里面有登录本系统的个人资料。注册功能就是让游客变成用户的一种操作方式。注册功能测试表如下。只要不是本系统用户,注册时登记的账号不能与用户表已有的账号重复就行。
表6.2 注册功能测试表
测试内容 录入的数据 预期结果 最终结果
输入用户表的账号 账号:user 操作失败 操作失败
输入用户表没有的账号 账号:uuu 操作成功 操作成功
6.3 测试的结果
在对布卡维纳红酒网页进行测试后,发现本系统具有的统一界面和清楚的导航设计让系统具备了易操作性的特点,在与用户需求进行比较后,发现本系统具备的功能比较完善,在运行环境中可以正常使用,这里运行环境与本系统的生产环境相似。总之,布卡维纳红酒网页测试合格。
为了完成布卡维纳红酒网页的设计实现,我重新回顾了以往的专业知识,并重点学习了编程技术,其中有JAVA语言的学习,也学习了MySQL数据库的运用,还有界面布局等方面的知识。有了这些知识的填充,并依靠导师的帮助,我才能够独立设计制作本系统。
系统在开发前,先要确定使用用户是谁,以及确定程序的适用范围等,如此才可以对系统定位。只有准确定位系统,才可以节省开发时间,并省去一些不必要的麻烦。系统的功能是对使用用户进行调研获取,当然,系统的功能也采取了历来的一些相似系统的功能。而系统设计则是基于功能需求分析,这也是比较重要的环节,需要认真对待。因为此设计方案对后期的编码起着重要的作用,不仅可以降低编码期间的出错率,还可以提高编码速度,毕竟系统的实现部分,基本都是参照系统设计的方案进展的。当系统编码完成,也会进行最后的测试环节,当开发的系统检验合格之后,系统开发才能够结束。本系统的开发也是遵循这样的流程,即分析功能,设计系统模块,设计数据库,实现系统功能,测试系统等。
本系统具有较完善的功能,使用者基本可以使用本系统去处理相关数据,而且系统可以较长时间进行工作。对于系统的操作,使用者也易于上手,毕竟本系统在设计时,就对页面中的导航模块进行重点设计,把页面中的重点区域用来展示系统的导航功能,让使用者进入系统界面,可以第一时间发现系统的导航,并使用系统的导航功能找到需要的内容。对于系统的安全性,本系统在保存用户账号密码数据时,也是用当下流行的MD5加密技术来保障数据安全,也在系统的登录模块设置了安全验证规则,引导符合条件的用户进入系统指定页面。
本系统具备一定的优势的同时,它也会暴露出自身的缺陷,比如,本系统在编码过程中,对使用的变量的命名不方便记忆,并且也不规范,代码编写也不规范,缺少关键代码的注释等,还有系统的目录规划不合理等问题。
综上所述,本系统还需要时间来完善,本人也需要加强技术知识的学习与实践,在今后的工作中,我也需要注重个人能力的培养,及时吸收编程技术知识,然后运用先进成熟的技术去重构本系统,让系统日益完善。
[1]吴运驰.快速搭建企业展示型网站[J].电脑知识与技术,2018,14(24):267-268.
[2]周灵,王莉莉,宋燕燕,段红秀,李云琳.一种基于HTML5的品牌宣传网站设计[J].计算机时代,2016(08):19-22.
[3]白露.基于Web的化妆品展示网站开发[J].赤峰学院学报(自然科学版),2016,27(04):55-57.
[4]张明亮.JSP技术在互联网软件中的应用优势研究[J].软件工程,2019,22(10):19-21+6.
[5]赵晓丹.网页开发中的JSP技术分析[J].南方农机,2019,50(20):247-248.
[6]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2015,42(11):5-7.
[7]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.
[8]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2016,21(13):47-49.
[9]秦超,潘猛,张鹏.处理MySQL的典型问题[J].网络安全和信息化,2018(04):70-72.
[10]李仕伟,周坤,刘新蕊,李宝林.MySQL数据库优化技术[J].信息与电脑(理论版),2016(12):173-174.
[11]张云健.计算机软件Java编程特点及其技术应用[J].信息与电脑(理论版),2019(13):97-98.
[12]刘星淇.Java编程语言的特点与应用分析[J].通讯世界,2019,26(09):149-150.
[13]岳青玲.Java面向对象编程的三大特性[J].电子技术与软件工程,2019(24):239-240.
[14]谢懿.计算机软件JAVA编程特点及其技术分析[J].农家参谋,2020(01):166.
[15]乔岚.基于MyBatis和Spring的JavaEE数据持久层的研究与应用[J].信息与电脑(理论版),2017(08):73-76.
[16]邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(01):39-43.
[17]于万波.网站开发与应用案例教程[M].清华大学出版社,2015.
[18]Xuan Yin, Wei Zheng, Ming Zhang, Jing Zhang, G. Zhuang, T. Ding. A modularized operator interface framework for Tokamak based on MVC design pattern[J]. Fusion Engineering and Design, 2018.
[19]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea. Efficient runtime aspect weaving for Java applications[J]. Information and Software Technology,2018,100.
自从来到了这个校园,我觉得我改变了很多,我的性格也变得开朗,我的知识也得到了增长,还有我对社会的认知也得到了改变。因为,处于这个校园中,有来自五湖四海的同学们,我们都可以在一起学习,课后还可以互相攀谈,感觉这样的生活真的很有趣,还有校园的老师们,他们都具备较高的学历,拥有丰富的专业知识,而且他们一直都很认真的教授我们知识。
到现在为止,我都不后悔来到这个学校,因为大学校园跟高中时所处的环境不一样,大学校园的时间节点是碎片化的,可以根据自身情况综合利用,可以用来学习知识,也可以用来去社会上实践,增长社会见识,为毕业后的工作打下基础等。然而,这一切都即将结束,因为毕业了就要离开校园,真正步入社会进行生活。
在这最后的时间里,我想对身边的人表示感谢。首先是导师,他陪伴着我度过了毕业设计制作的这段时间,还提供给我各种帮助,其中有系统选题方面的建议,功能分析上的意见,编程技术的指导等,还时不时关怀我,让我不要焦躁,设计制作的每个环节都督促我认真完成,遇到问题后,先尝试自行解决,没有思路时,导师就会帮助我,并提供解决问题的办法。所以,我能上交项目程序,导师功不可没。其次是班上的同学,虽然在这几年的朝夕相处中,我们彼此互相关怀,遇到问题,相互帮助,这些同学丰富了我的校园生活。最后是校园的老师们,他们辛苦教学,传授知识给我们,才让我们能够成长,我们也学到了本事,面对学习中或生活中的问题,我们也有能力去解决。
总之,面临毕业,我希望我的老师们可以心想事成,班上的同学都能找到好工作,我的母校前景更辉煌!