5.2 部分源代码摘录及分析
5.2.1 数据库连接问题和实现
首先安装SQL Server数据库软件时,在选择【验证模式】时,选择混合验证模式,在学习的时候可以设置用户名sa,密码为空;利用JDBC驱动程序连接数据库一定要设置好驱动程序,使用数据源名称时,首先要在控制面板配置好数据源。
本系统采用通过JDBC驱动连接数据库的方式链接数据库。需要在微软的官方网站下载Microsoft SQL Server Driver for JDBC驱动程序在本地机器上进行安装。
public Boolean connect(){
try{
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)
newInstance();
//注册驱动程序
String url=”jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName
=cdstore”;
//连接字符串,cdstore为数据库名称
String user=”sa”; //数据库用户名称
String password=””; //数据库密码,这里设为空
conn= DriverManager.getConnection(url,user,password); //获得连接
……
5.2.2 JSP的大小写敏感
JSP程序是区分大小写的,在编写JSP程序时一定注意不要将大小写混淆,例如:
String acd;与String Acd;
他们代表两个不同的字符串形变量。用过其他编程语言的人最容易犯这个错误。
另外,在浏览器的地址栏中输入的,访问JSP页面的地址也是区分大小写的。例如:8080/CDshop/a.jsp与:8080/CDshop/A.jsp访问的将是两个不同的页面。
5.2.3 管理用户登陆bean的编写为了验证用户的合法性,系统需要用户输入用户名和密码,管理用户的登陆由JavaBean:login.java来完成。login类类图如图5-2所示。
SHAPE \* MERGEFORMAT
第四章中的图4-13中省略了部分方法,下面简单介绍getSql()方法。
这个方法的功能是根据用户的不同获得不同的查询SQL语句,返回的是字符串型的SQL语句。其设计思路见图5-3所示。
SHAPE \* MERGEFORMAT
5.3 本章小结通过本章的系统实现,最组件的的编写介绍,可以概要的说明系统的实现的前提条件和一些方法。
第6章 系统运行评估在线CD销售系统开发完毕到投入使用之前,需要进行一系列系统集成和确认测试。软件测试的根本目的应该是找出软件中存在的漏洞和问题,而开发人员往往不容易找出自己的程序中存在的漏洞和问题,所以从理论上讲,系统的测试工作应该由专业测试人员进行。但鉴于本系统为个人毕业设计作品,所以暂时由本人进行测试[10]。
6.1软件测试概述软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
6.1.1软件测试的目的软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
6.1.2软件测试的原则软件测试从不同的角度出发会派生出两种不同的测试原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品,从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件质量的信心。
为了达到上述的原则,那么需要注意以下几点:
(1) 应当把“尽早和不断的测试”作为开发者的座右铭。
(2) 程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完。
(3) 设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
(4) 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
(5) 对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
(6) 制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(7) 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
(8) 妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
6.2 系统测试
6.2.1 系统入口测试要点
测试要点:用户名、密码和验证码。
测试路径:用户名、密码验证码是否为真。
测试结果:为真,进入系统;为假,提示重新输入用户信息。
适用范围:管理员登录、用户登录等。
6.2.2 数据录入测试要点测试要点:数据录入类型。
测试路径:录入类型是否正确。
测试结果:录入类型正确能写入数据库增加新记录;否则提示重新输入。
当录入数据为数据表中限定的类型时,才能增加新的记录;若录入的数据类型不正确,则无法增加新的记录。
适用范围:添加类别、添加信息。
6.2.3 用户界面窗体设计测试窗体大小。大小要合适,控件布局合理;
缩放窗体。窗体上的控件应随窗体的大小变化而变化;
显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。
经过测试,发现系统用户界面窗体的大小在大部分台式机和笔记本电脑显示器上效果不一。后经分析发现,开发使用的笔记本电脑系宽屏设计,因此造成了一般尺寸的台式机显示器显示不正常的现象。及时修改页面大小可以修正此问题。其他功能未发现异常。
6.2.4 文本框的测试输入正常的字母或数字;
输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多25个字符,尝试输入 26个字符,检查程序能否正确处理;
输入默认值,空白,空格;
若只允许输入字母,尝试输入数字;反之;尝试输入字母;
利用复制,粘贴等操作强制输入程序不允许的输入数据;
输入特殊字符集,例如,NUL及\n等;
输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示;
经过测试,系统在文本框输入功能中表现正常,在出现异常输入时能够及时报错并提醒用户重新输入。
6.3 本章小结本章首先是对系统的测试方法进行了讨论,找出最适合本系统设计的测试方法,最后分析本系统的测试过程。我们一定要注意好养成一个尽早和不断的测试的习惯,这样才能及早发现问题。
总结本系统设计并实现一个在线CD销售网站的模型。本网站采用了流行的三层架构,通过将整个系统分为不同的逻辑模块,大大降低了应用程序系统开发和维护的成本,提高了系统模块的复用性,同时使系统的可扩展性大大提高。由于JSP自身的优点,本网站对系统的要求较低,兼容性很好,为网站的推广使用提供了便利和可能。
在线CD销售系统的开发过程中,通过对JSP技术的学习和运用,我充分体会到了JSP技术在系统移植方面出众的优点以及它的无限魅力。JSP技术正在不同的方式影响者企业、个人和开发人员。对于个人,JSP技术将网络商店变得更加普遍的同时也更加个性化。对于企业和网站开发人员,JSP技术让开发变得更加简便和实用,与传统开发方法相比执行效率也更高,它将改变企业的销售模式,使IT真正成为企业成功的重要因素。本系统也存在一些问题,界面不够美观、 购物车功能尚不完善,相信在今后不断的开发和维护过程中,系统的功能会一步步趋于完善,真正做到购销双方都得心应手。
1 徐成志, 申丁.组建中小型电子商务网站的研究[J]. 泰山学院学报, 2004, 26:54-60
2 夏阳,张强,陈小林.基于ASP.Net的电子商务网站设计[J].计算机工程与设计,2004:11-15
3 余杰.JSP动态网站建设[M].北京:国防工业出版社,2002:101-125
4 胡铮.数据库管理[M].北京:华夏出版社,2006:56-65
5 姜力.SQL Server数据库设计与管理[M].北京:中国林业出版社,北京大学出版社,2006:7-55
6 玛依拉·别克强塔伊娃.基于JSP技术的通用考试系统[J]. 计算机应用, 2003:104-135
7 Robert Brunner. JSP: Practical Guide for Programmers (The Practical Guides). San Francisco: Morgan Kaufm, , ann Publisher, 2003:29-48
8 孙梅. JSP应用的安全性研究[J] .佳木斯大学学报(自然科学版), 2003,(04):56-78
9 任艳,李九龄.应用JSP进行数据库信息发布[J]. 计算机工程与应用, 2002,(07):36-72
10 张海藩.软件工程. 北京:人民邮电出版社, 2004:128-139