1引言
1.1编写目的
本文档将描述对网上书店(电子商务网站)项目的可行性研究,为了方便广大用户的使用。就网上书店而言,由于网络已经覆盖全球,信息量大而独具优势。售书的理念也很简单,就是读者可以自己寻找自己喜爱的书为替读者找寻他们想要的书。对于读者来说,网上书店近在咫尺,并且永不下班关门,读者可以随时随地自由地查询和订购图书,读者无需亲临书店,一档一档地找,一本一本地翻,只要坐在电脑前,开机上网即可买到所需书籍,而且读者的挑选余地也大多了,检索也很方便,同时还减少了购书过程中的支出,另外应当看到图书选购必得翻阅详看,耗时费力,特别是热衷购书者,几乎都是奋力开拓事业者和苦心求学深造者,时间对他们而言无比宝贵,网上购书节省了大量时间,这对于那些没有时间经常逛传统书店或其住所离传统书店较远的读者来说,具有实际意义。因此网上售书必将有长足的发展。本系统的主要目的是实现图书的在线销售,包括管理库房中的图书,以及管理用户的购物车,从而实现结帐等一系列功能,让用户足不出户就能够在网上书店购买到自己所需的图书,形成书店和用户双赢的局面。 1.2背景
开发软件的名称:网上书店 项目的提出者: 客户
项目的开发者: 屈妙、冯智妮、高丽媛 项目的用户: 网上读者
该软件系统同一些教育机构有联系,学习者可以在网上订阅自己需要的图书. 1.3定义
(1)电子商务:电子商务源于英文ELECTRONIC COMMERCE,简写为EC。 (2)SQL:Structured Query Language(结构化查询语言) 1.4参考资料
1. 齐治昌 谭庆平 宁 洪 《软件工程》 高等教育出版社 2. 郑人杰 殷人昆 陶永雷 《实用软件工程》 清华大学出版社 3. 胥光辉 金凤林 丁 力 《软件工程方法与实践》 机械工业出版社 4.《软件设计文档国家标准》GB8567-88 2可行性研究的前提 2.1要求
● 功能 :对书店的图书信息和用户(书店工作人员,网站注册用户即潜在购书者)的信息进行有效的管理;对图书的进存销等环节进行信息化管理;实现读者网上浏览图书,网上购书的可能;通过论坛同读者进行有效的沟通;通过聊天室实现作者和读者的实时交流;处理读者网上的投诉和建议。
● 性能:数据库的录入;图书检索;用户信息查询;图书信息查询;论坛和bbs互动;网上购书;
● 安全与保密要求 :书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改,添加;书店图书的信息只能由书店管理人员添加,修改;所有注册用户信息只能由书店管理人员查询。
操作系统 :Win9X/2000/2003/XP Web Server:Tomcat 5.0或以上
浏览器 :Internet Explorer,Netscape Navigator
1
完成日期 :2009年6月 3号 (一)前台实现功能
1、新客户注册 2、用户登录
3、书籍分类(作者或图书名)搜索 4、实现购物车功能模块 5、前台页面管理 (二)后台管理实现功能
1、用户注册信息管理
2、订单添加/删除/修改管理功能 3、书籍信息管理 4、订单查询功能
系统名称 客户管理系统 书籍管理 系统监控 系统管理 功能模块 新客户注册 注册信息管理 书籍目录管理 书籍管理 新添书籍 新书上架 分类搜索 后台用户管理 购物车管理 个人信息维护 前台页面管理 功能的主要内容 客户注册成为新会员 对客户注册信息进行管理 添加/删除/修改 维护书籍信息 添加新书籍 列出新书籍 列出书籍搜索情况 管理用户信息 管理购物信息 维护个人信息完全 页面风格管理 2.2目标
本系统希望通过构建一个J2EE架构的电子商务网站,利用日益繁荣的互联网,为传统的书店打造一个新的销售平台。本系统希望通过电子信息化的手段对书店的进存销等环节进行管理,以达到人力与设备费用的减少,服务能力的提高,管理信息服务的改进,工作人员利用率的提高等目标。 2.3条件、假定和限制
● 建议开发软件运行的最短寿命:五个月
● 进行显然方案选择比较的期限 :暂时不考虑 ● 经费来源和使用限制 :暂时不考虑 ● 法律和政策方面的限制 :暂时不考虑
● 硬件、软件、运行环境和开发环境的条件和限制 :在Windows XP下使用 ● 建议开发软件投入使用的最迟时间 :五个月 2.4进行可行性研究的方法 对系统的简要描述
随着计算机、网络通讯和信息技术,特别是Java技术的发展。电子商务在国际上得到广泛的应用,取得了巨大的成功。我国也不例外,特别是各大电子商务网站从无到有,得到很大的发展,并取得成功。为了适应新环境下的新的销售模式和顾客销售方式的改变,我们小组开发这个网上书店电子商务网站。它是基于Internet/Intranet 及Web技术,建立以Browser/Server 为结构模式、以数据库为后台核心应用、以服务,销售为目的信息平台。采
2
用建议系统可能带来的影响 技术可行性
1.硬件:计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。 2.系统软件:
(1)操作系统Windows XP/2000接口能力强,数据库管理系统的功能足够。 (2)Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。
(3)除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。 ·经济可行性
从经济角度看,书店对系统的投资要小于系统对书店的回报,书店决策者才会实施系统计划。从本系统开发的角度出发,系统开发成功会减低人员费用的支出,办公用品的支出,同时,大量的用户增加会给书店无法量化的估计,会使书店获得更大的收益。 ·操作可行性
本系统大概需要四个月的时间完成。前三个星期主要是以看书以及收集有关系统方面的资料为主,接下来就是对系统的分析,到做数据库,界面,以及中间的连接。系统对于熟悉JSP编程的作者来说是可行的。 2.5评价尺度
3对现有系统的分析
从网上书店自身来看,目前还存在不少问题,主要表现为:主页信息量小,内容和形式缺乏吸引力,更新不够及时;未能对图书馆市场进行有效细分,服务方式比较单一;分类体系不尽合理,图书分类查询系统尚需完善;营销方式不够灵活。
在计算机联网的网络上作业,就可进行远距离的图书销售与订购。一般应具有如下功能:(1)向上网顾客提供图书期刊在线电子版(虚拟版),供顾客订购 、下载;(2)提供新书目、新书内容介绍、书评等,供顾客选择图书时参考;(3)提供书店存货书目,供顾客挑选或补全、补缺;(4)提供网上书店的有关资料,如营业执照等,让顾客了解网上书店的可信程度;(5)开辟网上论坛,供顾客在网上讨论有关图书内容与网上发行中的有关问题;(6)通过网络收集顾客采访图书的计划与要求,顾客的阅读爱好、兴趣、阅读历史和对网上书店的建议与要求;(7)网上订购图书、期刊;(8)安全认证、数字签名、网上结算和支付,并提供正式发票;(9)图书配送;(10)退货处理;(11)质量监控。但是由于时间及本人能力方面的一些条件所限,本次设计的网络书店销售管理系统主要是以实现购书和定单的功能作为设计的重点,实现了网络书店的一些最基本和必须的功能,其他的详细复杂的功能将在以后的改进中不断的完善。 但是,由于节省时间、节约费用、操作方便等优势,网上书店拥有广阔的前景。我们可以看到网上购物已经成为一种不可抵挡的时尚潮流。在中国,网上书店不仅有发展的必要,也有发展的基础,发展网上书店的各方面条件也日趋成熟。 3.1处理流程和数据流程
说明:未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。
3
图1 系统结构图
1未注册用户注册信息登陆信息用户注册2用户登陆用户信息3购买图书+登陆信息++定单数据注册用户处理结果信息4后台处理处理结果信息管理员登陆信息管理员+
图2 系统顶层数据流图
根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第二层数据流图,分别如图3和图4
1.前台购书
用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交定单,等待定单的处理结果。
系统第二层数据流图(前台购书)如下图所示。
4
[用户信息]用户登陆3.1图书信息图书查询购物车处理反馈图书信息更新图书信息3.2图书信息图书信息存储购物车信息存储确认图书信息3.3定单提交[定单数据]
2.后台管理
管理员可以登陆到后台,查看相关的定单信息,然后修改定单的信息,主要是审核定单的有效性。
系统第二层数据流图(后台管理)如下图所示。
后台处理图3系统第二层数据流图(前台购书)
购买图书[定单数据]4.1定单数据定单查询[管理员登陆信息]管理员4.2定单处理[处理结果信息][处理结果信息]注册用户更新定单数据定单数据存储管理员
图4 系统第二层数据流图(后台管理)
5
3.2第三层数据流图——用户登录处理
为保证数据的有效和客户的管理,系统必须登录后才能进行购买图书的相关操作,登录是系统安全和数据有效性验证的第一部分。
系统第三层数据流图(用户登录)如下图所示。
用户注册[登陆信息]用户信息用户信息存储2.1登陆判定处理+[登陆信息][用户信息]注册用户购买图书
图5系统第三层数据流图(用户登录)
3.3工作负荷
工作:开发系统 包括界面和数据库 3.4费用开支
员工工资、购买软件、系统维护费用 3.5人员
设计人员 开发人员 维护人员 3.6设备
该系统需要服务器2台(一台提供服务,一台备份),开发阶段需要两台微机作为模拟网络环境来开发。具体的网络布线按用户要求配置。 3.6局限性
处理时间赶不上需要,响应不及时,数据存储能力不足,处理功能不够 4.所建议的系统
4.1对所建议系统的说明 4.2处理流程和数据流程 4.3改进之处
1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。一次写入,之后,可以运行在任何具有符合Java语法结构的环境。取代之过去单一平台开发。
2)JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖
3)生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程。 JSP组件(Javabean,或定制的JSP标签)是跨平台可重用的。Javabean组件可以访问数据库,并能以分布式系统模式工作于WINDOWS平台。
4)易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。JSP
6
突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。 4.4影响
4.4.1对设备的影响 4.4.2对软件的影响
因为采用了tomcat技术开发,所以系统运行需要安装有 tomcat 4.4.3对用户单位机构的影响
用户需要有必须的网络设备,如网卡等,以便接入互联网。 4.4.4对系统运行过程的影响
系统调试期半月,在开始必须对初始数据进行录入,包括所有的书目信息等,这个期间还需要接受新用户的注册。在半月的调试期结束,系统通过检验后,将要优化该系统的性能,把一些发挥不良的组件重新开发,或者加入合适的补丁文件。系统稳定后的主要工作是加强该系统安全性。 4.4.5对开发的影响
开发需要购买新的软件,搭建新的开发环境。 4.4.6对地点和设施的影响 4.4.7对经费开支的影响
员工的工资及系统实施的各项费用。 4.5局限性
由于资金和人力等方面的不足可能会造成用户使用中的一些缺陷, 4.6技术条件方面的可行性
1.硬件:计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。 2.系统软件:
(1)操作系统Windows XP/2000接口能力强,数据库管理系统的功能足够。 (2)Java语言是一种优秀的编程语言。“The San Francisco product is written almost entirely in java and is believed to be one of the largest java development efforts at this time”从这可以看出Java的发展是很快的。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译
(3)除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。
3.有专用的开发应用软件:
(1)mySQL,主要针对数据库的建立。
(2)Dreamweaver,主要针对网页的制作。Dreamweaver 是Macromedia公司推出的可视化网页制作工具,制作出来的网页兼容性比较好,制作效率也很高。可以控制和删除冗余代码,使网页文件的结构更加合理,从而能够快速下载。与其他软件不同,Deamweaver采用的是浮动面版的设计风格,而Dreamweaver的直观性与高效性是其他软件所无法比拟的。 5可选择的其他系统方案 6投资及效益分析 6.1支出
员工的工资及系统实施的各项费用。 6.1.1基本建设投资
数据通讯设备;
7
环境保护设备; 安全与保密设备; 数据库管理软件。 6.1.2其他一次性支出
研究(需求的研究和设计的研究); 数据库的建立;
检查费用和技术管理性费用;
培训费、开发安装人员所需要的一次性支出; 6.1.3非一次性支出
设备的租金和维护费用; 软件的租金和维护费用;
数据通讯方面的租金和维护费用; 人员的工资、奖金; 6.2收益 无
6.2.1一次性收益 无
6.2.2非一次性收益 无
7社会因素方面的可行性 7.1法律方面的可行性 7.2使用方面的可行性
该系统是一个电子商务网站,所以操作简易,用户购书不需要了解整个书店的工作流程,只需要按照提示一步步操作即可完成购书等其他活动。
项目开发计划
1引言
1.1编写目的
本文档将描述对网上书店(电子商务网站)项目的实施计划和,为了方便广大用户的使用。
1.2 背景、定义、参考资料同上文档 2项目概述 2.1工作内容
总体设计、界面设计、数据库开发,系统调试与维护 2.2主要参加人员:小组成员 2.3产品 2.3.1程序
登录模块中的主要程序介绍:
user_name=request.getParameter(\"user_name\");//获得用户名 user_pass=request.getParameter(\"user_pass\");//获得用户密码
String sql select * from member where user_name='\"+user_name+\"'\"; ResultSet rs;//建立相关的记录集 rs=mdb.executeQuery(sql);
下面只需要查看记录集是不是为空,如果为空,则说明登陆失败;否则,登陆成功。
8
登陆模块中的主要程序介绍:
String sql1; sql1=\"Insert into
member(user_name,user_pass,user_adds,user_mail,user_tel,user_regip,user_postcode,user_namec,user_type)
values('\"+user_name+\"','\"+user_pass+\"','\"+user_adds+\"','\"+user_mail+\"','\"+user_tel+\"','\"+request.getRemoteHost()+\"','\"+user_postcode+\"','\"+getStr(request.getParameter(\"user_namec\"))+\"','会员')\"; mdb.executeInsert(sql1);
数据通过验证后,向数据库输入数据,数据库会保存相关的注册信息。 订单模块主要代码实现:
try {
Class.forName(sDBDriver); }
//处理异常
catch(java.lang.ClassNotFoundException e) {
System.err.println(\"数据库连接:\"+e.getMessage()); }//数据库的连接
conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement(); for(int i=0;i int mUpdate=stmt.executeUpdate(\"update basket set basket_admincheck=true where sub_number='\"+id[i]+\"'\"); //对定单数据进行具体到更新操作,更新两张表中的信息。 本模块是系统的核心,主要负责定单的审查,是定单的流程最后一个环节,也是最重要的一个环节。书店的任何数据都和定单数据有直接或者间接的关系,有效的定单和书店的经济利益有直接的关系,收入和支出都是由定单引起的。程序当中也严格限制数据的有效性,无效数据不会录入到数据库中。 主要的查询代码: String hw_name,sort_id; if(session.getAttribute(\"sort_id\")==null){ hw_name=getStr(request.getParameter(\"hw_name\")); sql=\"select * from hw where hw_name like '%\"+hw_name+\"%' order by hw_id DESC\"; rs=mdb.executeQuery(sql); } else{ sort_id=request.getParameter(\"sort_id\"); hw_name=getStr(request.getParameter(\"hw_name\")); sql=\"select * from hw where sort_id='\"+sort_id+\"' and hw_name like '%\"+hw_name+\"%' order by hw_id DESC\"; rs=mdb.executeQuery(sql); 9 } 主要的程序设计思路是通过控件传递关键字给SQL语句,然后在数据库中进行查询操作。 2.3.2文件 可行性研究报告-----导出系统的高层逻辑模型 项目开发计划-------项目的开发进度和人员分工等计划 软件需求说明书-----对目标系统提出完整,准确,清晰,具体的要求 概要设计说明书------各功能模块的大体设计 详细设计说明书------各模块的详细设计 软件开发项目计划编制过程------对各个阶段工作的具体进度安排 测试计划-------通过测试使系统达到预定的要求 测试分析报告-------对系统进行系统测试和功能模块测试 项目开发总结报告------对项目总体进行评价 2.3.3服务 对用户进行软件使用的培训,对系统进行安装和后期维护 2.3.4非移交的产品 2.4验收标准 2.5完成项目的最迟期限 三个月后 3实施计划 3.1工作任务的分解与人员分工 需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,小组成员协同工作 3.2接口人员 负责本项目同用户的接口人员:实现接口的功能,为代码的可重用提供服务 3.3进度 各项工作的开展顺序:需求分析、概要设计、详细设计、测试直到维护 工作 需求分析 概要设计 详细设计 测试维护 开始时间 第二周 第五周 第七周 第十二周 完成时间 第四周 第七周 第十二周 第十六周 3.4预算 数据通讯设备; 数据库管理软件。 研究(需求的研究和设计的研究); 数据库的建立; 检查费用和技术管理性费用; 培训费、开发安装人员所需要的一次性支出; 数据通讯方面的租金和维护费用; 人员的工资、奖金; 3.5关键问题 关键问题:模块功能实现 技术难点:编程和系统后期维护 10 4支持条件 4.1计算机系统支持 4.2需由用户承担的工作 用户需提供有关系统的资料,如系统的总体功能和界面设计的大体风格等 4.3由外单位提供的条件 5专题计划要点 安全保密计划:对管理者的身份进行验证 配置管理计划:操作系统和运行环境的硬件要求 用户培训计划:使操作人员熟练掌握系统的基本操作 软件需求说明书 1引言 1.1编写目的 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。此阶段就是准确地回答“系统必须做什么”这个问题,对目标系统提出完整、准确、清晰、具体的要求 1.2 背景、定义、参考资料同上文档 2任务概述 2.1目标 管理员可以维护客户注册信息、维护图书信息、处理订定单信息、维护系统公告、网上售书。游客可以在线注册为会员、购书。本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。 2.2用户的特点 最终用户的特点:会基本操作电脑,熟悉网上购书流程以及相关的安全维护知识。 操作人员、维护人员:能熟练操作计算机,熟悉基本软件维护知识,针对本系统,操作 人员熟悉本系统的操作流程。 软件的预期使用频度:每天大概累计几百人 2.3假定和约束 无 3需求规定 3.1对功能的规定 网上书店系统是一个典型的JSP数据库开发应用程序,由前台图书展示及销售、后台管理两部分组成。 1、前台商品展示及销售: 该部分主要包括新书上架、购物车、非会员注册、会员登录、图书公告及图书浏览,图书搜索等功能。 2、后台管理: 该部分主要对商城内的一些基础数据进行有效管理,包括图书管理、会员管理、订单管理、公告管理订单查询、图书查询、用户信息查询等。 网上书店系统 登录系统 11 管理员 客 户 购物车 图书展台 特 新图销添查价 书书售加看书 上分排至购籍 架 类行 购物浏物 车 览 车 网上书店前台 收银台 会员管理 订单管理 从购物车移出图书 清空购物车 填写订单信息 购书结帐 会员注册 会员登录 会员资料修改 订单查询 图2 网上书店前台层次图 网上书店后台 图书管理 修该图书信息 添 加 用户管理 删除图书信息 查看用户信息 订单管理 查执看行订订单单 信息 公告管理 查看公告信息 添加公告信息 删除公告信息 退出 退出后台管理 查看 图 书 信息 图书信息 图 3 网上书店后台层次图 12 前台会员购买图书用例关系图 图 4 前台会员购买图书用例关系图 后台管理员操作用例关系图 图5 后台管理员操作用例关系图 3.2对性能的规定 3.2.1精度 用户注册时:用户名长度不得少于6 密码:长度不得少于6 邮箱:必须使用正确的邮箱格式 3.2.2时间特性要求 无 13 3.2.3灵活性 无 3.3输人输出要求 非会员输入:注册用户名(长度不得少于6),注册密码,确认密码,电子邮箱地址 输出:注册成功或失败 会员输入:用户名,密码 输出:首页 管理员员输入:管理员号,密码 输出:后台管理页面 查询图书输入:书名或作者 输出:图书信息 3.4数据管理能力要求 无 3.5故障处理要求 无 3.6其他专门要求 用户单位对安全保密的要求:设置登录系统,管理员和用户设置不同的权限 对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。 4运行环境规定 4.1 该系统需要服务器2台(一台提供服务,一台备份),开发阶段需要两台微机作为模拟网络环境来开发。具体的网络布线按用户要求配置。 4.2支持软件 程序版本 Tomcat+SQLSERVER存储过程版 项目 操作系统 数据引擎 权限要求 详细 Windows XP mySql 对mySql数据库具有建表、备份的权限对mySql数据库具有建表、备份的权限 双XEON2.4GCPU 1G内存 RAID5数据冗余磁盘阵列或更高 JSP+Javabean mySql Tomcat5.0 Myeclipse、Macromedia Dreamweaver、Adobe Photoshop 硬件要求 设计模式 数据库 运行服务器 开发工具 4.3接口 该软件同其他软件之间无接口、无数据通信协议 4.4控制 说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。 14 概要设计说明书 1引言 1.1编写目的 编写本说明书的目的在于: (1)将系统划分成物理元素,即程序、文件、数据库、文档等。 (2)设计软件结构,即将需求规格转换为体系结构,划分出程序的基本模块组成,确定模块间的相互关系,并确定系统的数据结构。 2)本说明书的用途在于寻找实现目标系统的各种不同方案,分析员从这些可供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的物理元素,进行成本\\效益分析,从中选出一个最佳方案向用户和使用部门负责推荐。如果用户和使用部门负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。 3)本说明书的主要读者为系统分析员和用户和使用部门的有关人员,为后面的系统开发提供依据。 1.2背景、定义、参考资料同上文档 2总体设计 2.1需求规定 该系统可以实现图书管理和用户购买图书,图书管理因管理员和用户不同又可再细分,管理员登录后可以对书籍进行增加、删除和修改功能,用户可以查找书籍;用户登录后可以购买书籍,更改购物车中书籍的数量,删除购物车中的书籍 2.2运行环境 服务器: CPU: PIII 500以上;内存:512M以上;硬盘:15G以上; 支持软件:Win9X/2000/2003/XP,tomcat5.0, Myeclipse 数据库系统:mysql; 2.3基本设计概念和处理流程 下面将各大功能模块的处理流程显示如下: 1.登录功能: 15 开始 输入用户名(Username)和密码(Password) 获取表单的用户名(Username)和密码(Password) 是 用户名和密码是否为空 否 连接数据库User表 否 是否存在用户 是 成功登录 提示错误信息:密码错误,不存在该用户 设置session值存取用户名和id,跳转到首页 关闭数据连接 图 1 登录模块处理流程 16 2.用户注册: 开始 输入用户注册信息获得用户信息 用户名username 密码 password 邮箱地址u_mail 获取表单中的注册信息,是否填写完整 否 是 连接数据库User表 是 用户是否可以注册 在User表中自动生成用户id,并将用户的信息写入表中 关闭数据连接 图2 用户注册模块处理流程 17 3.图书查询: 开始 将书籍名称、类别、出版社名称放入session 中 连接数据库Classify表和Supplier表,下拉菜单中显示已有的类别和出版社,在文本框输入书名三选一查询书籍 否 处理汉化问题 是 获取session中书籍名称、类别、出版社名称(分页显示时获得rs) 获取文本框和下拉菜单中的值 按照查询条件连接Product,Supplier,Classify表是否有值 文本框和下拉菜单中是否有值 是 在表单中分页显示查询到的书籍记录,将书籍的id传给book.jsp显示该书籍的详细信息 是否购买 是 获取用户名和表单中的隐含的书籍id,将书籍id存于名为(用户名+书籍id)的session中 否 关闭数据库连接 图 3 图书查询模块处理流程 否 18 4.图书详细显示: 获取书籍的id 根据id连接数据库表Product获得该书籍的详细信息 是否有记录 是 显示书籍信息 是否购买 是 获取用户名和表单中的隐含的书籍id,将书籍id存于名为(用户名+书籍id)的session中 否 否 关闭数据库连接 图 4 图书详细显示模块处理流程 19 5.购物车: 开始 是否值的长度大于该用户的用户名长度 是否为游客 获取所有的session值存于Enumeraion类中 该session值中前部分为用户名 是否有值 获取该session的值得到用户购买的书籍id 关闭数据库连接 根据id连接表Product显示该书籍名称、库存、单价 图 5 购物车模块处理流程 20 6.添加书籍: 否 获取session中用户id 否 在页面显示请先用管理员登录 是否为管理员 是 将所添加的信息传给addgo.jsp处理 是 图片上传处理 判断信息是否填入完整 在页面显示,请输入完整信息 连接表 Product添加书籍 否 是否成功 获取得到的信息 显示失败 显示成功 是 关闭数据库连接 图 6 添加图书模块处理流程 21 7.删除书籍: 获取session中用户id 设置shanchu的是 session值为文本框值 是否为管理员 否 获取shanchu的session值 是 获取文本框中的根据shanchu的session内容(删除的书值连接数据库表籍名称、类别、Product,Supplier,Classify出版社进行模糊查询) 是否有记录 是 分页显示记录集 是否文本框中有值 否 不显示记录集表格 不显示该功能,显示空页,请登录 图 7 删除书籍模块处理流程 22 删除书籍 将隐含的书籍id传到处理页面 处理页面获取删除的书籍id 连接Product表删除编号为id 的书籍 8.修改书籍: 获取session中用户id 连接表Product是 查询该书籍 是否为管理员 是否存在该书籍 获取文本框中的内容(修改的书籍名称) 显示该书籍的信息(名称、类别、出版社、作者、价格、简介、库存量、是否文本框封面、出版日期) 中有值 将修改书籍的id和相关信息传给处理页面updatego.jsp 图 8 修改书籍模块处理流程 23 获取修改的书籍信息 修改表Product中该书籍的信息 9.添加书籍: 开始 输入书籍名称(p_name) 2.4整体结构图 书籍价格(p_price) 作者(p_author) 简介(p_info) 入库时间(p_time) 库存量(p_stocks) 选择分类(c_name) 出版社(s_name) 否 是否信息完整 提示请输入完整信息 是 连接数据库Product表 否 是否添加 提示本书已存在 是 在Product表中自动生成书籍id,并将输入的书籍信息写入表格 图 9 添加图书模块处理流程 24 网上书店系统 书籍查询 管理员 登录 会员 书籍管理 购物车管理 查询 增加 删 除 书 籍 修改书籍 出版社 类别 书籍 订购书籍删除订购修改订购信息 图 10 整体结构图 2.5功能器求与程序的关系 功能名称 非会员登录 会员注册 管理员登录 书籍查询 书籍详细信息 修改书籍 删除书籍 添加书籍 添加书籍分类 订购书籍 删除已选书籍 修改订购信息 书籍管理模块 √ √ √ √ √ √ √ √ √ 购物车管理模块 登录管理模块 √ √ √ 2.6人工处理过程 网站管理员对书籍进行管理并定期维护、删除、更新,已经没有实际意义的数据,保 25 证数据的良好存储,以免造成数据的冗余。 2.7尚未解决的问题 结帐功能的实现 留言功能和论坛功能 3.接口设计 3.1用户接口 (1)登录界面:由输入用户名、密码的文本框和登录、注册按钮组成。 (2)查询界面: 查找按钮:进行图示查找。 显示区:用于显示已有图书类别,可点击进行查询; (3)购物车界面: 已购图书信息显示区:用于显示选购图书信息(名称,价格,购买数量); 数量编辑框:用于输入每种图书的数量; 提交按钮:确定购买下订单。 (4)管理员增加图书界面: 信息编辑框区: 输入图书的信息。 提交按钮:把数据提交到数据库。 (5)管理员修改图书界面: 书籍名称编辑框:用于输入查找的图书名称。 查找按钮:按姓名查找图书,并把图书信息的数据返回到信息编辑区。 信息编辑框区:对已存在图书的信息进行修改。 提交按钮:把更新数据到数据库。 (6)管理员删除图书界面: 编辑框:用于输入查找的图书名、称类别、出版社。 查找按钮:查找图书,并把图书信息的数据返回到信息显示区。 信息显示区:显示查找结果 删除按钮:每条查找到的信息结尾都有个个删除按钮用于删除当条记录。 3.2外部接口 1) 硬件接口: 有余我们使用的通信协议是TCP/IP,因此这里的硬件接口问题主要就是TCP/IP层中 的网络接口层,它负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。这就要求IP使用网络设备接口规范NDIS向网络接口层提交帧,并且IP支持广域网和本地网接口技术。在系统运行时要注意关闭那些容易受攻击和入侵的端口号,在能保证带宽的前提下仅开通系统运行所必须的端口。 2)软件接口 这里的接口问题主要就是怎样与sql数据库进行通信,以便对数据库进行读取和写入 操作。在jsp技术中是使用JABC-ODBC来解决这个问题的。具体来说开发中可能使用到的JABC-ODBC的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。 (2)记录集对象(RecordSet):用来保存查询语句的返回结果。 (3)命令对象(Command):用来执行SQL语句或者SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。 3. 3内部接口 系统中的各模块之间的接口、调用关系,以及模块间的数据传递关系如下所示: 26 各功能模块的定义如下图所示: 模块编号 GN1 GN2 GN3 GN4 GN5 GN6 GN7 GN8 GN9 GN10 模块名称 会员登录 管理员登录 用户注册 添加书籍 修改书籍 查看书籍 删除书籍 订购书籍 删除订单 修改订购信息 备注 登录模块 登录模块 登录模块 书籍管理模块 书籍管理模块 书籍管理模块 书籍管理模块 购物车管理模块 购物车管理模块 购物车管理模块 图 11 各功能模块的定义图 1)登录模块与书籍管理模块:管理员可以对数据库中的书籍进行增加、删除、修改等操作,这三种功能的权限仅局限于管理员,要进行操作需确保为管理员,调用登录模块验证用户以保证数据库的信息的正确、完整与安全。 2)登录模块与购物车管理模块:用户进入系统后可以查询书籍,若要购物则需确保用户为本系统的会员,非会员可以注册,会员成功登录后将会员信息储存于服务器中,购物过程将图书信息也储存于服务器中,当会员确认购买时,将会员信息、图书信息系和购买数量存于数据库中的customer_order表中,并更改该图书的库存量。 4.运行设计 4. 1运行模块组合 模块命名方式按照相应模块结合特性制定。命名方式为GN。 4.2运行控制 本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块 4.3运行时间 各模块运行时间均应控制在1-2秒内(其中大部分为响应用户的动作)。由于系统采用消息驱动方式,将有效提高计算机的利用率。 5.系统论据结构设计 5. 1逻辑结构设计要点 1)E-R图 27 n 添加 n 书籍分类 1 依赖 m 依赖 m 1 n 管理员 1 1 添加 管理 1 购买者 1 1 查询 出版社 n 获取 1 购物车 书籍 1 提交 1 订单 图 12 E-R图 2)每张表的定义 用户表 User 用户序号 u_id 数值型(唯一标识) 用户名 username 文本型 密码 password 文本型 邮箱地址 u_mail 文本型 书籍详细表Product 书籍编号 p_id 数值型(唯一标识) 书籍名称 p_name 文本型 书籍价格 p_price 货币型 作者 p_author 文本型 简介 p_info 文本型 顾客订单表Order 订单编号 o_id 数值型(唯一标识) 顾客编号 u_id 数值型 书籍编号 p_id 数值型 购买数量 o_number 数值型 购买日期 o_time 日期型 6系统出错处理设计 6.2补救措施 当出现大的程序问题起用备分程序;如果无法起用备分程序则只能关闭网站进行抢修。 28 6.3系统维护设计 系统的维护和管理也是一个系统的问题,也包括两个层面: 1)技术层面 包括:(1)使用较新的开发和维护技术; (2)数据库管理员管理好数据库数据 (3)专职维护人员维护硬件 2)人员层面 包括:(1)维护协议; (2)工作流程及方式方法。 详细设计说明书 1引言 1.1编写目的 编写网上书店系统详细设计说明书的目的在于从详细设计的角度明确网上书店项目的业务品种、功能范围,明确与业务主机/终端系统的接口和业务处理模式,使系统开发人员和产品管理人员明确产品功能,可以有针对性的进行系统开发、测试、验收等各方面的工作。 1.2背景、定义、参考资料同上文档 2.程序系统的结构 (1)用户管理模块 用户管理模块 注册 登录 图 1 用户管理模块图 (2)图书管理模块 图书管理模块 图书录入 图书删除 图书修改 图 2 图书管理模块图 29 (3)购物车模块 购物车模块 计算价格 添加商品 更新数量 清空购物车 移除商品 图 3 购物车模块图 (4)查询浏览模块 (5)数据库模块 3程序1(标识符)设计说明 3.1程序描述 3.1用户管理模块 用户管理模块 注册 登录 图 4 用户管理模块图 3.1.1 注册模块 1、模块描述 该模块完成用户注册的过程。 2、输入、输出 输入∶用户名、密码、邮箱E-mail。 3、模块接口关系 允许进入∶进入注册成功提示页面 拒绝进入∶返回注册页面 3.1.2登录模块 30 1、模块描述 该模块完成用户登录的过程,用户登录成功后才能完成图书购买等功能。 2、输入、输出 输入∶用户名、密码。 3、模块接口关系 允许进入∶进入书店系统 拒绝进入∶返回登录页面 4、模块算法实现 输入口令 判断是否合法 返回登录首页 进入书店系统 3.2图书管理模块 3.2.1图书录入模块 1、模块描述 该模块完成卖家用户查询图书数据库后实现书籍录入功能。 2、输入、输出 书号 图片 图书名 价格 数量 作者和图书简介 3、模块算法实现 卖家用户 单击查询按钮 判断是否有此书 点击添加按钮 不执行任何操作 提示添加成功信息 3.2.2、图书删除模块 1、模块描述 该模块完成卖家用户查询书籍数据库后实现书籍删除功能。 31 2、算法实现 卖家用户 输入书名单击查询按钮 查询是否有此书 不执行任何操作 执行书籍信息修改语句 提示成功信息 3.2.3图书修改 1、模块描述 该模块完成卖家用户查询图书数据库后实现书籍价格、数量、书籍上架时间等书籍信息修改功能。 2、输入、输出 序号 3、算法实现 卖家用户 日期 数量 价格 数据类型 有效范围 输入书名单击查询按钮 查询是否有此书 不执行任何操作 执行书籍信息修改语句 提示成功信息 3.3购物车模块 32 购物车模块 计算价格 添加商品 更新数量 清空购物车 移除商品 3.3.1 添加书籍到购物车模块 1、模块描述 该模块完成买家用户购买书籍的功能 2、算法实现 用户添加商品 获取购物车 是否有此商品 添加商品到购物车 更改车中数量 保存 3.3.2 计算价格模块 1、模块描述 该模块完成买家用户购买书籍打折后计算价格的功能 3.4查询浏览模块 1、模块描述 该模块完成注册用户查询浏览书籍、查看书籍销售排行的功能 33 注册用户 选择查询方式 退出 书名 作者 分类 销售排行榜 输入所需要求 展示商品记录 继续 3.5 数据库模块 3.5.1表books 概述 表books用于记录书籍信息 主键 表books的主键是bookid,类型int型,设置自动增量 外键 无 约束 无 索引 主键字段bookid具有自动创建聚集索引 3.5.2表booktype 概述 表booktype用于记录书籍类型信息 表定义 主键 表booktype的主键是booktypeid,类型int型,设置自动增量 外键 无 约束 无 索引 34 主键字段booktypeID具有自动创建聚集索引 3.5.3表user 概述 表user用于记录用户信息 表定义 表user定义如图所示 主键 表user的主键是userid,类型int型,设置自动增量 外键 无 约束 无 索引 主键字段userid具有自动创建聚集索引 编码规范 JAVA编码规范 命名规范 Package的命名 Package 的名字应该都是由一个小写单词组成。 包名:package com.ascent.bean package com.ascent.business; package com.ascent.business.service; package com.ascent.dao; package com.ascent.dao.hibernate; package com.ascent.struts.action; package com.ascent.struts.form; package com.ascent.util; Class的命名 类名用大写字母开头的而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。 public abstract class AbstractBook implements java.io.Serializable public abstract class AbstractCustomerorder implements java.io.Serializable public abstract class AbstractOrderitem implements java.io.Serializable public class Order extends AbstractOrder implements java.io.Serializable public class Orderitem extends AbstractOrderitem implements java.io.Serializable 方法的命名 方法名用小写字母组成的单词开头,后边跟上大写字母开头而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起。 public AbstractBook() public AbstractCustomerorder() 35 public Integer getCustorderId() public String getCustorderName() public String getTelephone() public Integer getPost() public String getEmail() public Integer getOrderId() public Order getOrder() public AbstractOrderitem() public Integer getOrderItemId() public synchronized static AppContext getInstance() private AppContext() public AbstractApplicationContext getAppContext() public void destroy() public ShoppingCart() public List getItems() public void emptyCart() public Book getBook() public int getQuantity() public int getBookId() Class中变量的命名 类中的一个变量的名字 = 类型标志 + 描述词。 变量和参数用小写字母开头的单词和大写字母开头其他字母都小写的单词组合而成。 如果通过以上规则,还出现同名的变量,可以在变量后添加后缀来解决,但后缀应该以” _”来连接. public AbstractBook(Integer bookId, String bookName, String bookAuthor, Double bookPrice, String image, String describes) public AbstractCustomerorder(Integer custorderId, String custorderName, String telephone, String address, Integer post, String email, Integer orderId) public AbstractOrderitem(Integer orderItemId, Integer quantity, Integer orderId, Integer bookId) public Orderitem(Integer orderItemId, Integer quantity, Integer orderId, Integer bookId) public AbstractOrder(Integer orderId, Integer customerId, Double totalprice) 数组的命名 本系统中未使用到数组变量 常量的命名 static final 常量的名字应该都大写,并且指出完整含义。 参数的命名 方法中参数的名字规则为第一个单词首字母小写,其后的单词的每个字母大写 public Customer getCustomer(int id); public List findCustomerByName(String name); public Customer updateCustomer(Customer customer); public void removeCustomer(Customer customer); public Order saveNewOrder(Order order); public Order findOrderById(int id); 36 JSP文件的命名 JSP文件名 = 模块(或功能)名 + 操作(增加、修改、查询、查询结果、查看等) adminlist.jsp 管理员首页 addbook.jsp 添加图书信息 bookdetail.jsp 图书详情 Booklist.jsp 管理员图书列表 Cartok.jsp 填写购物车客户信息 Headad.jsp 管理员登录首页头部 Index.jsp 主页面 Login.jsp 用户登录页面 Morebookin.jsp 更多图书页面 Reg.jsp 用户注册页面 Tail.jsp 首页底部页面 Updatesearchbook.jsp 修改查询图书(管理员) Userlist.jsp 用户信息列表 画面部品的命名 画面部品是指在开发中使用的来源于treck共通基类的各种显示用部品.这类部品的命名原则基本上和变量的命名原则类似,只是将类型标志替换成部品类型即可. 用户注册页面user/index.htm提交的数据表单如表所示。 名称 Username Password Pasa Email 名称 Username Password Email 名称 Username Email Motif Demo Form1 登录页面提交的数据表单 名称 Login Password 元素类型 Text Password 含义 用户名 密码 元素类型 Text Text Text Text 元素类型 Text Password Text 元素类型 Text Text Text Text Form 含义 用户名 密码 确认密码 Email 含义 用户名 密码 Email 含义 姓名 Email 留言主题 留言内容 Action=”addle.jsp” method=”post” 用户资料修改页面提交的数据表单 添加留言页面提交的数据表单(未实现) 添加商品信息提交的数据表单如表所示。 37 名称 Warename Wareprice Waretype Wareintro Image Str Forml 元素类型 Text Text Text Textarea Text Checkbox Form 含义 商品名称 商品价格 商品类型 商品介绍 展示图片路径 是否推荐 Action=”wcheck.jsp” method=”post” 含义 链接名称 链接地址 Action=”.link.jsp” method=”post” 添加链接页面提交的数据表单如表所示: 名称 Linkname Address Form 注释规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。 Java 的注释有三种: // 注释一行 /* ...... */ 注释若干行 除了以上两种之外,还有第三种,文档注释: /** ...... */ 注释若干行,并写入 javadoc 文档 本系统中使用第三种 /** * AbstractBook generated by MyEclipse - Hibernate Tools */ /** * AbstractCustomerorder generated by MyEclipse - Hibernate Tools */ 代码编写规范 运算符的优先级 优先级 从 高 到 低 ( ) [ ] . ! ~ ++ -- (类型) sizeof + - * & * / % + - << >> < <= > >= == != & 38 元素类型 Text Password Format 运算符 结合律 从左至右 从右至左 从左至右 从左至右 从左至右 从左至右 从左至右 从左至右 排 列 ^ | && || ?: = += -= *= /= %= &= ^= |= <<= >>= 从左至右 从左至右 从左至右 从右至左 从右至左 从左至右 编码注意事项 JSP页面中必填项用 * 标识,提交时如果必填项未填给出信息提示,并将焦点定位在未 填项。 Struts+Spring+Hibernate框架中的java异常处理统一在Action中捕获并处理,底层的 异常逐级向上抛出。 测试计划 1引言 1.1编写目的 该文档的目的是描述网上书店系统项目客户端的系统测试设计,其主要内容包括: 测试总体设计 测试用例设计 本文档的预期的读者是: 项目管理人员 测试人员 1.2背景、定义、参考资料同上文档2计划 2.1软件说明 由于本次测试是系统测试,测试的依据是系统需求,测试的设计应该满足对需求的覆盖,所以,采用的测试方法主要是黑盒测试,包括等价类划分(有效测试和无效测试)、边界值和错误猜测法等。 序号 功能项 01 02 03 04 05 06 07 所有基本页面的链接正确 所有页面的转移正确 会员信息列表正确 图书详细信息正确 正常购买图书的流程 查询图书的流程 会员登录退出的流程 测试用例 优先级 TestCase-FUNC-01 中 TestCase-FUNC-02 中 TestCase-FUNC-03 高 TestCase-FUNC-04 高 TestCase-FUNC-05 高 TestCase-FUNC-06 高 TestCase-FUNC-07 高 39 2.2测试内容 用例一:基本页面的链接 这个测试用例的测试编号是TestCase-FUNC-01,测试内容是验证所有基本页面链接的正确性,同时所有的页面都按照需求有正确的显示。表F-3是这个测试用例的具体设计。 表1:TestCase-FUNC-01测试用例 测试项目名称: 网上书店系统-客户端 测试用例编号: TestCase-FUNC-01 测试项目标题:所有基本页面的正确链接 测试人员: 小组人员 测试时间: 2009/5/3 测试内容: 验证网站首页所有链接有效 验证网站首页中图片能正确装入 验证网站首页中的超连接的连接页面与页面中指示(或 图示)相符 验证网站中各个页面的显示的信息都符合需求。 测试环境与系统配置:软件环境:Micrsoft windowXP Professional 硬件环境:P4 1.7GHz CPU + 1.7GHz 512MB 内存 网络环境:3人共享1M带宽 测试次数:每个测试过程做2次。 预期结果: 可以正确显示图片,每个链接有效,超连接的连接页面与页面中指示(或 图示)相符。 测试过程: 登陆http://localhost:8080/book 对于首页每个链接,点击进入。察看链接的页面是否相符合。 3.对于首页每个链接,点击看能否进入相应页。 测试结果:链接正确 用例二:页面转移的正确性 这个测试用例的测试编号是TestCase-FUNC-02,测试内容是测试所有转移页面链接的正确性,同时所有的页面都按照需求有正确的显示。表F-4是这个测试用例的具体设计。 表2: TestCase-FUNC-02测试用例 测试项目名称: 网上书店系统-客户端 测试用例编号:CV-FUNC-02 测试项目标题:转移页面的正确性 测试人员: 小组人员 测试时间: 2009/5/5 测试内容: 验证网站每页输入“转到 ”的输入框能正确处理输入 测试环境与系统配置: 软件环境:Micrsoft windowXP Professional 硬件环境:P4 1.7GHz CPU + 1.7GHz 512MB 内存 网络环境:3人共享1M带宽 测试次数:每个测试过程做2次。 40 预期结果: 对于正常数据能够转到相应页面,异常数据能够报错 测试过程: 登陆登陆http://localhost:8080/book 对于首页“转到 ”的输入框,依次输入如上数据 测试结果:正确 用例三:显示图书列表 这个测试用例的测试编号是TestCase-FUNC-03,测试内容是测试所有职位列表页面的正确性,同时所有的页面都按照需求有正确的显示。表F-5是这个测试用例的具体设计。 表3:TestCase-FUNC-03测试用例 测试项目名称: 网上书店系统-客户端 测试用例编号:TestCase-FUNC-03 测试项目标题: 职位列表的显示 测试人员: 小组成员 测试时间: 2009/5/7 测试内容: 验证网页上的表格是否正确显示。 验证在图书列表中是否正确显示图书名称,图书出版日期,图书类型,图书数量几项。 验证图书列表是否按职位添加日期排序 测试环境与系统配置: 软件环境:Micrsoft windowXP Professional 硬件环境:P4 1.7GHz CPU + 1.7GHz 512MB 内存 网络环境:3人共享1M带宽 测试输入数据 无 测试次数: 应在至少2种浏览器中进行测试,并刷新2次。 预期结果: 网页正确显示,在图书列表中显示图书名称,图书出版日期,图书类型,图书数量几项,按添加时间排序。 测试过程: 在IE浏览器地址栏中输入登陆http://localhost:8080/book,并刷新。 在遨游浏览器地址栏中输入登陆http://localhost:8080/book,并刷新。 用例四:图书购买流程 这个测试用例的测试编号是TestCase-FUNC-04,测试内容是测试所有职位详细信息页面的正确性,同时所有的页面都按照需求有正确的显示。表F-6是这个测试用例的具体设计。 41 表4:TestCase-FUNC-04测试用例 测试项目名称: 网上书店系统-客户端 测试用例编号:TestCase-FUNC-04 测试项目标题: 图书购买流程 测试人员: 小组人员 测试时间: 2009/5/9 测试内容: 验证页面是否正确显示了职位名称、职位描述、职位要求和招聘人数几项。 验证职位详细信息页面上的信息是否与职位列表中有关的信息相符。 测试环境与系统配置: 软件环境:Micrsoft windowXP Professional + Micrsoft IE6.0 硬件环境:P4 1.7GHz CPU + 512MB 内存 网络环境:3人共享1M带宽 测试输入数据 无 测试次数: 应至少测试3次购买过程。 预期结果: 购买成功 测试过程: -- 购买一至多本图书。 用例五:会员登录 这个测试用例的测试编号是TestCase-FUNC-05,测试内容是测试会员在正常(非正常)输入的条件下是否可以将信息成功提交,同时所有的页面都按照需求有正确的显示。表F-7是这个测试用例的具体设计。 表5:TestCase-FUNC-05测试用例 测试项目名称: 网上图书系统-客户端 测试用例编号:TestCase-FUNC-05 测试项目标题:正常登录流程的功能测试 测试内容: 登陆http://localhost:8080/book 输入帐号 输入密码 点击登录 测试环境与系统配置: 软件环境:Micrsoft windowXP Professional + Micrsoft IE6.0 硬件环境:P4 2.8GHz CPU + 2.79GHz 512MB 内存 测试次数:每个测试过程做2次。 预期结果: 不填写帐号时提示出错 不填写密码时提示出错 填写错误帐号和密码时提示出错 42 测试人员: 小组人员 测试时间: 2009/5/11 测试过程: 登陆 在文本框中分别输入帐号和密码 点击“提交” 提交并返回 用例六:图书查询 这个测试用例的测试编号是TestCase-FUNC-06,测试内容是测试查询图书在非正常输入时系统的异常处理,同时所有的页面都按照需求有正确的显示。表F-8是这个测试用例的具体设计。 表6:TestCase-FUNC-06测试用例 测试项目名称: 网上书店系统-客户端 测试用例编号:TestCase-FUNC-06 测试项目标题:基本信息页面的功能测试 测试内容: 对于基本测试页面,测试其对异常数据的处理 测试环境与系统配置:软件环境:Micrsoft windowXP Professional 硬件环境:P4 1.7GHz CPU + 1.7GHz 512MB 内存 网络环境:3人共享1M带宽 测试输入数据 留空 正确图书 错误图书 测试人员: 小组人员 测试时间: 2009/5/13 测试次数:每个测试过程做2次。 预期结果: 出现预期结果。 测试过程: 登陆登陆http://localhost:8080/book 在搜索框中输入查询图书。 点击“搜索” 提交 2.3.1进度安排 本次测试的时间、地点和人员总结如下: 测试时间:2009-5-2至2009-5-14,基本按照计划进行。 地点:学校机房 人员:测试组的全体成员共计3人 任务 测试计划与设计 测试执行 测试总结 计划开始 2009-4-28 2009-5-2 2009-5-14 计划结束 2009-5-2 2009-5-14 2009-5-20 43 角色 测试组长 小组成员 屈妙 职责 制定测试计划,组织测试工作 系统测试用例评审、测试总结报告评审 提交测试输出文档 系统测试案例编写 系统测试案例执行 填写测试跟踪结果报告 系统测试总结报告编写 测试环境的搭建 测试软件的维护 测试数据的建立 测试人员 冯智妮 测试系统管理员 高丽媛 2.3.2条件 系统的测试环境如图, 系统包括运行在同一台机器上的20虚拟用户和控制器、web服务器和数据库以及网络。 图1:系统性能测试图示 系统配置如下: (1)软件配置: 操作系统:Micrsoft windows2000 professional、Micrsoft window2000 server、Micrsoft windowXP Professional,操作系统上必须安装TOMCAT5.0或以上版本。 数据库系统: mysql 浏览器:Micrsoft IE6.0或以上版本。 (2)硬件需求: CPU:P3以上。 内存:256M以上。 硬盘:20G以上。。 2.3.3测试资料 测试方法:由于本次测试的依据是需求,所以采用黑盒测试方法。 测试策略:功能测试,主要采用等价类划分的策略。 测试手段:功能测试:手动模拟正常、异常输入 测试内容:功能测试,按照需求功能 44 项目开发总结报告 1引言 1.1编写目的 该文档的目的是描述该网上书店系统项目的开发的产品的主要功能、基本流程以及开发工作评价,其主要内容包括: 主要功能和性能 基本流程 开发工作评价 本文档的预期的读者是: 开发人员 项目管理人员 1.2背景、定义、参考资料同上文档 2实际开发结果 2.1产品 (1)网络购书中心前台文件架构如图所示: 前台首页index.jsp 首页顶部商品展示 首页底部 管理员入口 head.jsp Tail.jsp Adminlogin.jsp booklist.js 修改用户信息 用户注册 注册成功后登录 updateuser.jsp reg.jsp reglogin.jsp 修改图书信息 用户登录 图书列表 updatebook.jsp login.jsp List.jsp 订单信息 填写购物车信 orderlist.jsp 息cartok.jsp 查看购物车 viewcart.jsp 图 1 网络购书中心前台文件架构图 (2)程序系统仅有一个版本:Tomcat+mysql存储过程版 (3)根据前面的功能规划,设计出本系统主要实体有:图书信息实体,用户信息实体,留言 45 实体,订单生成实体,订单商品明细实体。 图书信息实体属性有:图书编号,名称,价格,类型,介绍等。 用户信息实体属性有:用户编号,姓名,邮箱地址等。 订单实体:订单号,用户名,定购日期,地址,付款方式,联系方式,运送方式,其它。 订单明细实体:订单号,货物名称,货物价格,货物数量。 (4)服务器配置 硬件平台: ● CPU:P4 1.8GHz ● 内存:256MB以上 软件平台: ● 操作系统:Micrsoft windows2000 professional ● 数据库:mysql ● 开发工具包:JDK Version1.4.2 ● JSP服务器:Tomcat5.0 ● 浏览器:IE5.0,推荐使用IE6.0 ● 分辨率:推荐使用1024×768像素 2.2主要功能和性能 前台各模块的功能介绍 ● 用户管理模块:为了便于网站的管理,必须有一套完整的用户管理体系,该网站用户管理 模块由用户注册,用户登录,2部分组成。 ● 订单查询模块:登录用户可以通过订单号查询订单。 ● 购物车模块:所选商品必须通过购物车进行暂存,然后生成订单。 ● 修改个人资料模块:为了保护用户信息不受非法侵害,用户登录后即可对个人的注册信息 进行修改。 ● 留言板:用户可以查看和添加留言信息。 后台功能模块的总体框架 后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。 后台包括管理员身份验证,添加商品模块,订单信息管理模块,查询用户信息管理模块,添加链接模块,公告信息管理模块组成。 1:后台功能介绍 ● 管理员身份验证,为合法用户提供一个后台入口。 ● 添加商品模块,对商品插入前台首页展示的商品信息。 ● 订单信息管理模块,网站管理着对用户订单的咨询和编辑状态。 ● 查询用户信息管理模块,查询注册所有用户,对一些非法或私信用户进行删除操作。 未达到 未实现用户留言功能,个别页面的布局不合理 2.3基本流程 客户网络购书流程 客户进行网络购书的流程说明如下: ① 客户登录商城 ② 客户选购需要的商品,并将其放入购物车中。 ③ 当客户不再需要购买其商品时,到收银台填写订单。 ④ 网站管理人员对订单进行确认,如果订单准确,进行送货服务。 46 根据上面的分析,利用UML顺序图绘制的客户网络购书流程如图所示。 书店 图书 收银台 网站 登录 挑选 不再需要 填写订单 送货 图 2 客户网络购书流程图 2.4进度 各项工作的开展顺序:需求分析、概要设计、详细设计、测试直到维护 需求分析 概要设计 详细设计 测试维护 开始时间 第二周 第五周 第七周 第十二周 完成时间 第四周 第七周 第十二周 第十六周 实际进度比计划进度延迟了,主要原因是界面设计及编码耗时太。 3开发工作评价 3.3对技术方法的评价 设计模式 数据库 运行服务器 开发工具 JSP+Javabean mysql Tomcat5.0 Myeclipse、Macromedia Dreamweaver Adobe Photoshop 3.4出错原因的分析 (1)链接出错原因:只给连接图片编号,未进行意思的命名 (2)有两个页面显示不了,出错是缺少对象: session(...)实际应用中是不会把记录集放到session中的,iis会停止响应的。 (3)问题,无法连接数据库 具体问题,无法实现注册,管理员登陆等等, java访问MySQL数据库的程序,发现总是连接失败,报异常 原因:使用的mysql的驱动程序有问题,换个驱动问题解决了。 47 4经验与教训 在这半年的课程设计过程中,我的自学能力、实际动手能力、分细解决问题的能力和团队协作意识都有了提高。课程设计,它的意义既是对我们在学校里的书本知识学习总结升华,也是对我即将走上工作岗位的一次实际性的练兵。在系统的开发过程中,遇到了各种各样的困难、挫折,我都坚持了过来;感受到了坚持对人毅力的考验和磨砺,感受到了技术难题解决的喜悦,素质修养也在这个过程中悄悄的得到了成长。 48 因篇幅问题不能全部显示,请点此查看更多更全内容