编辑:
2014-06-05
4.3 界面设计
为了提高代码的重用性,在线CD销售系统的界面采用框架形式,即页面头尾部分只需要设计一次。之后的jsp文件,其中只需写上以下两句代码,就可以看见页面头尾效果。
<%@include file=”inc/head.inc”>
<%@include file=”inc/tail.inc”>
4.3.1 用户图形界面的设计
(1) 用户登陆模块设计
为了验证用户是否合法,系统需要用户提供用户名和密码来进行验证,这一功能由用户登陆模块完成。本模块需要运用login.java这个bean,来设计一个表单让用户输入用户名和密码。在本模块中,对于用户输入的用户名和密码,系统在发现错误时,应及时做出错误报告。
用户登陆模块的预览效果如图4-16所示。
(2) 在线购买功能模块设计
针对用户界面,由于“CD列表”和用户导航条等部分是只有用户界面可以看到的,所以将这两部分设计成一个新的框架形式,提高复用性。在本模块中用户可以浏览现有CD、用不同的方法查找CD(分类查询、关键字查询)、查看CD详细资料、把CD放入购物车、转到其他模块等。
(3) 我的购物车功能模块设计
在本模块中,用户可以修改购买数量、删除已经选购的CD、提交购物车(在提交时可以简单附言说明)、清空购物车、继续购买或查询CD、转到其他模块等。
(4) 订单信息功能模块设计
本模块中用户可以看见自己已经提交的所有订单,可以查看订单的详细情况。确认订单时,系统采用弹出窗口的形式显示相信信息,在弹出窗口中可以进行付款。
(5) 销量统计功能模块设计
这个模块可以显示销量排名在前100的CD名称和数量。销量统计模块首先生成销量统计管理类op_sale_statistics的实例对象,然后调用该对象的getSaleNumOrder()方法,从数据库取出销量前100名的CD的名称和销售数量并显示在页面上。
销量统计功能模块的运行效果图如图4-20所示。
4.3.2 管理员图形界面的设计 (1) 管理员登陆功能模块设计
为了验证管理员的身份,系统需要进行用户名和密码的验证,与用户图形界面的设计类似,本模块也需要运用login.java这个bean,设计一个表单让管理员输入用户名和密码。
(2) 现有CD管理功能模块设计
在这个模块里,管理员拥有对现有CD的详细资料进行查看、修改CD名称、删除CD
等权限。
(3) 添加新CD功能模块设计
在这个模块中,要添加一段JavaScript代码,对表单数据的合法性进行验证。
(4) 添加新CD分类功能模块设计
这个模块列出了商店现有CD分类,管理员可以删除现有分类,也可以添加新的分类。但在删除操作之前,通过在连接的onclick事件里调用confirm方法,提醒用户是否真的要删除选中的信息,减少误操作。
(5) 订单管理功能模块设计
管理员可以查看下订单用户的详细资料、查看订单的详细情况并且可以删除订单。
订单管理模块中首先生成op_buy类的对象,然后调用该对象的ger()Order方法,取得当前商店的所有订单,分页显示在页面上,下单用户名提供链接,当管理员在用户名列单击某个用户名时,能够弹出新的页面显示该用户的详细资料。然后为每个订单提供查看订单详细情况和删除订单的链接,当管理员单击“详细情况”链接时能够弹出新的窗口显示订单信息。当管理员单击“删除”链接时弹出提示,提示管理员是否确认删除当前订单,如果管理员选择“是”,则从数据库删除该订单,如果选择“否”,则退回详细订单情况页面。
(6) 用户管理功能模块
管理员通过这个模块对用户进行管理,其中包括:查看用户资料、修改用户资料、删除已存在用户等。
4.4 本章小结
本章主要对系统的详细设计过程进行阐述。详细设计是在总体设计基础上进一步细化、具体化、物理化,主要内容有:模块设计是按照功能独立、规模适当的模块化设计方法,对总体设计中各大模块进一步分细,成为各功能小模块,并绘出它们之间的联系及各模块内容及功能,它们的算法及流程;数据分级分类及编码设计;数据库设计。详细设计阶段最重要的目标就是编写出可读性好、容易理解、容易测试、容易修改的程序,对系统实现具有重大意义。
第5章 系统实现
5.1 组件的编写
基于系统功能分析,首先利用JBuilder新建一个工程,在这个工程里新建议个包cdshop,然后在这个包下新建三个包cd、util和run。
5.1.1 util包
如图4-12所示,util包里包含2个类,作用分别为:
(1) DataBase类:主要负责数据库的连接。
(2) dataFormat类:负责数据的格式转换,如将字符串格式化成HTML代码输出等。
5.1.2 cd包
这个包中共有6个类,其作用为:
(1) allorder类:订单列表类。
(2) cd类:CD类,时CD实体的抽象。
(3) cdclass类:CD分类类,是CD分类实体的抽象。
(4) order类:订单类,是订单实体的抽象。
(5) shopcar类:购物车类,是购物车实体的抽象。
(6) user类:用户类,是用户实体的的抽象。
5.1.3 run包
在系统run包下,共包含了6个类,分别是:
(1) login类:管理用户登陆类。
(2) op_cd类:管理CD类,包括CD的查询、修改、删除、添加等。
(3) op_cdclass类:管理CD分类类,包括CD分类的查询、删除和添加。
(4) op_buy类:管理订单类,包括订单的查询、添加、修改和删除。
(5) op_user类:管理用户类,包括用户的查询、添加、删除和修改等。
(6) op_sale_statistics类:管理CD的销售统计。
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页面的地址也是区分大小写的。例如http://127.0.0.1:8080/CDshop/a.jsp与http://127.0.0.1:8080/CDshop/A.jsp访问的将是两个不同的页面。
5.2.3 管理用户登陆bean的编写
为了验证用户的合法性,系统需要用户输入用户名和密码,管理用户的登陆由JavaBean:login.java来完成。
第四章中的图4-13中省略了部分方法,下面简单介绍getSql()方法。
这个方法的功能是根据用户的不同获得不同的查询SQL语句,返回的是字符串型的SQL语句。
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及 等;
输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示;
经过测试,系统在文本框输入功能中表现正常,在出现异常输入时能够及时报错并提醒用户重新输入。
6.3 本章小结
本章首先是对系统的测试方法进行了讨论,找出最适合本系统设计的测试方法,最后分析本系统的测试过程。我们一定要注意好养成一个尽早和不断的测试的习惯,这样才能及早发现问题。
总结
本系统设计并实现一个在线CD销售网站的模型。本网站采用了流行的三层架构,通过将整个系统分为不同的逻辑模块,大大降低了应用程序系统开发和维护的成本,提高了系统模块的复用性,同时使系统的可扩展性大大提高。由于JSP自身的优点,本网站对系统的要求较低,兼容性很好,为网站的推广使用提供了便利和可能。
在线CD销售系统的开发过程中,通过对JSP技术的学习和运用,我充分体会到了JSP技术在系统移植方面出众的优点以及它的无限魅力。JSP技术正在不同的方式影响者企业、个人和开发人员。对于个人,JSP技术将网络商店变得更加普遍的同时也更加个性化。对于企业和网站开发人员,JSP技术让开发变得更加简便和实用,与传统开发方法相比执行效率也更高,它将改变企业的销售模式,使IT真正成为企业成功的重要因素。本系统也存在一些问题,界面不够美观、 购物车功能尚不完善,相信在今后不断的开发和维护过程中,系统的功能会一步步趋于完善,真正做到购销双方都得心应手。
相关推荐
标签:JSP论文
精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。