资源描述
中原工学院软件学院
三级实践课题设计任务书
姓 名
杨帆
测试 专业 112 班
题 目
网上购物系统的设计与开发
设
计
任
务
设计与开发一个比较完善的基于Web的网络购物系统,为广大网民提供一个自由安全的购物平台。主要功能包括:
2. 系统后台:管理员对网站公告信息的发布与维护;对商城商品的上架下架操作;管理员对用户订单的维护。
3. 系统前台:顾客界面,快捷方便美观,对购物达到自由安全; 实现用户注册,和购买商品等功能。
开发工具:MyEclipse8.5、SQL Server 2008、Photoshop、PowerDesigner、ea
时
间
进
度
第17周(2012/12/31~2013/1/6):系统需求分析,进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,列出数据库数据表,之后以列出的关系模型为依据进行;
第18周(2013/1/7~2013/1/13):对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试;
第19周(2013/1/14~2013/1/17):对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。
原 主
始 要
资 参
料 考
与 文
献
[01]杨云. ASP.NET典型系统开发 [M]:北京.人民邮电出版社. 2006.6
[02]千丽霞.ASP&ASP.NET150例[M]:北京.清华大学出版社. 2004.5
[03]刘勇.SQL Server2000基础教程[M]: 清华大学出版社. 2005.2
指导教师签字: 马峰 2013 年 1 月 16 日
摘 要
随着信息时代的带来,足不出户便知天下事,网络带来的便利性已经深入人心。伴随着网络的发展,上网聊天,阅览新闻,网络游戏以及网络购物等已经屡见不鲜,如何在这个时代实现网络盈利成为了各商家的发展机遇。
网上商城系统开发存在的两个问题就是后台的管理与消费者操作的方便性,系统从数据库开发的基本内容入手,利用JAVA技术开发了基于Web的在线用户管理模块、在线商品销售模块、在线后台管理模块。实现了最重要的商品销售功能,也就是管理库房中的商品,及管理用户的购物车,从而实现结帐等一系列功能。另外网上商品销售系统还提供给用户查找数据库中商品相关记录的功能。同时,为了保证商品交易的正常进行,还实现了用户的登录注册功能。网上商城系统按照软件工程的要求,对系统进行需求分析,总体设计,详细设计,编码与测试,在此基础上将理论知识与开发技术运用到系统的实现过程当中,完成了网上商城平台的构建。经过大量的系统测试发现,JAVA网站的访问速度较块,安全性较好,有很强的实用性。
商品价格幅度大,商品种类少以及售后无保证一直是购物的弊端。然而,信息化给这样的一个状况带来了一个契机,给予信息化的网购系统就在这种情况下变的越来越受欢迎,它给广大用户带来了更加高效且安全的购物方式,使得用户有更加宽广的选择空间和消费需求。因此,网购系统显得格外重要。本网购系统通过对用户网络购物流程的具体分析,设计了直观有效的界面,而且详细的规划了系统的数据流程、E-R图等,并运用测试实例,充分体现了信息化在网络购物中的重要性、及时性和实效性。
关键词:网络购物系统,界面设计,数据流程图,E-R图,测试用例
目 录
摘 要 1
第1章 项目分析 1
1.1 问题描述 1
1.2技术分析 1
1.3系统进度计划 1
第2章 系统分析与设计 2
2.1 系统分析 2
2.1.1 项目参与者 2
2.1.2 用例及用例规约 2
2.1.3 用例图 3
2.2 系统设计 3
2.2.1购物流程图 4
2.2.2系统体系结构设计 4
2.3 数据库设计 5
2.3.1 E-R图 5
2.3.2表的设计 6
第3章 系统前台的实现 8
3.1用户注册模块 9
3.2用户登录模块 10
3.3订单查询模块 12
第4章 后台功能模块的实现 13
4.1管理员登录模块 13
4.2添加商品模块 14
4.3订单信息管理模块 15
4.4查询用户信息模块 16
4.5添加公告模块 17
第5章 系统的测试 19
5.1 系统测试的目的 19
5.2 系统测试的性能要求 19
5.3 系统用例 19
5.3.1后台-管理员-登陆 20
5.3.2会员管理-会员信息查看 21
5.3.3商品管理-商品基本信息查看 21
5.3.4商品管理-添加商品 21
5.3.5订单管理-订单信息 22
第6章 结束语 23
附录: 主要源程序 26
杨帆 网上购物系统
第1章 项目分析
本章包括问题描述,技术分析及工程进度计划。问题描述告诉我们项目是做什么的。通过技术分析,我们更加明确项目是否可行。而工程进度计划,则将指导项目开发的开发过程,保证项目按时完成。
1.1 问题描述
实现用户通过网络购物,把网购的结果通过前台传送到后台数据库,经过后台处理数据库,让管理员通过电脑上的管理界面软件看到用户的网购情况。
此外,本系统中还有对订单管理以及用户注册会员等功能,对用户的购物情况进行记录,以及对商品的销量以及库存进行统计,使网购所产生的各种情况能在数据库中得以保存。
本系统力求在目标上尽量满足用户的需求。
1.2技术分析
开发环境需求:
硬件需求:CPU PIII 500以上的PC服务器,内存1GB以上,硬盘8GB以上。操作系统:Windows XP 、Windows 7
软件需求:Microsoft Visual Studio 2005,SQL Server 2008,eclipse 8.5,PowerDesigner
1.3系统进度计划
第一周对系统进行需求分析,进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,并列出数据库数据表;
第二周对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试,并对界面进行整合;
第三周对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。
页脚格式
第2章 系统分析与设计
系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好,更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统功能进行细致的分析,从而才能够开发出完整的系统设计。
2.1 系统分析
网上购物实现的功能非常多,最重要的就是管理员对商品的管理实现和用户的购物的实现。前者主要包括管理员对商品的添加,对商品的归类,对用户购物订单的处理,以及管理员对网站的维护操作。至于用户主要是在线浏览所有商品,按需求搜索相关商品,以及注册为会员后对个人购物车的操作,购物结束后生成订单信息的查看。整个系统对从用户购物到结款,管理员从管理网站、管理商品、处理订单都设计的非常精细,完全是一套功能完善网上购物系统。
2.1.1 项目参与者
杨帆、刘德鑫、王玺、郝斌宇
2.1.2 用例及用例规约
(1) 登录功能。如果是网上商城的用户,购买前需填写用户名、密码进行登录后即可进行购买。
(2) 注册功能。注册时需要填写用户邮箱、用户姓名、密码、地址、联系电话等必要信息。注册后,用户可修改个人信息及密码等。
(3) 选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中,添加完即跳转到购物车查看所要购买的物品。
(4) 操作购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。还可以选择需要购买的物品打钩提交订单,保留没提交订单的商品继续留在购物车。
(5) 订单确认。用户在购物车点击结算后跳转到订单确认页面,确认所购买的物品,总额以及收货地址然后付款。
(6) 付款功能。顾客在订单确认后,要选择付款方式,并付款给销售方,然后才可以收到货。
(7) 确认收货。用户在商家发货后可以确认收货,然后对所购买的商品进行评价或进商城留言。
(8)浏览商城公告信息。
管理员功能:
(1)管理商品及商品信息维护功能。管理员可以添加、查询、修改、删除商品。
(2)订单管理功能。管理员可以查询订单,根据用户是否确认、是否付款、是否发货、是否归档将订单分类并进行管理。
(3) 公告管理功能。管理员可以对公告进行发布、查询、修改和删除。
(4) 用户管理功能。管理员可以查看自己和用户信息并进行增删改查。
(5)用户留言管理:删除和查询。
2.1.3 用例图
图2.1 E-R图
2.2 系统设计
悦购网上商城共分为两个部分,一部分是面向用户的前台管理部分,包括:首页、新用户注册、购物车、购物提交订单、付款等操作;另外一部分是后台理管理部分,这部分的内容包括:产品的管理用户、查看订单、商品管理、管理用户、修改信息等。
2.2.1购物流程图
没有注册
用户注册
修改资料
没有登入
用户登入
商品浏览
修改数量
购买商品
查看购物蓝
放进购物蓝
删除商品
下订单
支付
商品发派
图2.2 购物系统流程图
2.2.2系统体系结构设计
以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。
网上购物中心
后台部分
前台部分
用户管理
个人资料管理
购物车管理
订单查询
留言板管理
管理员登录
添加商品
订单信息管理
查询用户信息
添加公告
图2.3 系统体系
2.3 数据库设计
数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的环节。数据库的好坏将直接对应用系统的效率以及实现的效果产生影响。一个好的数据库结构设计将减少系统数据库的存储量,并且能够大大提高系统中数据的完整性和一致性,这样一来,使系统具有了较快的响应速度,大大简化了基于此数据库的应用程序的实现等。
2.3.1 E-R图
E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解。
用户
购买
商品
n
1
支付
订单
n
1
发表
留言
1
n
修改
用户信息息
1
1
图2.4 E-R图
2.3.2表的设计
表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、超级链接信息、管理员信息、公告信息等。下面是为数据库设计的表:
1.用户信息表users用来保存用户信息。表users的结构如表2-3-1下。
表2-3-1
Users
名称
字段名
主外键
长度
用户id
user_id
Pk
用户姓名
user_name
用户密码
user_pwd
用户地址
user_addr
用户电话
user_ph
用户性别
User_sex
邮箱
User-E-mail
2.管理员信息表Ad主要用于记录管理员的信息。如表2-3-2所示。
表2-3-2
Ad
名称
字段名
主外键
长度
管理员编号
Admin_id
Pk
管理员密码
Admin _pwd
3.商品信息表Goods_type用来保存商品信息。表Goods_type的结构如表2-3-3下。
表2-3-3
Goods_type
名称
字段名
主外键
长度
商品编号
type _id
Pk
商品类名
type _name
4.商品信息表GoodsInfo用来保存商品的基础信息。结构如表2-3-4所示。
表2-3-4
GoodsInfo
名称
字段名
主外键
字段长度
商品货号
Goods_id
Pk
商品名称
Goods_name
商品价格
Goods_ price
商品类型
Goods_git
商品外观
Goods_pic
库存
Goods_last
商品厂家
Good_pub
详细简介(购买说明)
Goods_intro
5.订单表orderInfo用来记录新生成的订单。表orderInfo的结构如表2-3-5
所示。
表2-3-5
orderInfo
名称
字段名
主外键
长度
订单编号
Order_id
Pk
用户编号
user_id
联系方式
user_ph
商品名称
goods_name
购物日期
goods_date
总价
total_price
订单状态
order_sta
6.公告信息表PublicInfo主要用于记录后台调价的公共信息。表PublicInfo的结构如表2-3-6所示。
表2-3-6
PublicInfo
名称
字段名
主外键
长度
公告编号
pub_id
Pk
管理员编号
admins_id
公告名称
pub_name
公告内容
pub_content
发布日期
pub_date
第3章 系统前台的实现
整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。
前台功能模块分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块5个部分。前台首页主要有以下几个部分:
(1)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;
(2)用户登录:用户在此注册、登录或找回密码;
(3)商品分类搜索:用户按商品类别进行搜索显示;
(4)销售排行榜:按照商品的销售数量显示销售排行信息;
(5)商品展示区:按后台添加商品的时间顺序展示商品;
(6)友情链接:显示友情链接信息;
(7)后台登录入口:管理员可以通过该入口登录后台。
首页运行结果如图3.1所示。
图 3.1 首页运行结果
3.1用户注册模块
用户注册
当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面中用户自定义JavaScript检验用户注册信息不允许为空。
用户注册页面如图3.2所示。
图 3.2 用户注册页面运行结果
为了便于网站对用户的管理,在index.htm用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。
用户注册的流程图如图3.3所示。
开 始
否
是
是
结 束
接收注册信息
数据是否为空
两次密码是否一致
查询数据库
用户名是否被占用
是
否
否
注册成功
注册失败
图3.3用户注册系统流程图
3.2用户登录模块
用户登录窗口设置在首页上,主要用来接收用户录入的用户名及密码。单击“注册”按钮时,会提交到页面执行;单击“登录”按钮时,系统将对输入的用户名和密码进行验证,如果数据表中用户名和密码存在就显示登陆成功,并返回首页,否则弹出错误提示信息。
图 3.4用户登录界面
用户登录的流程图如图3.5所示。
开 始
结 束
接收登录信息
查询数据库
数据是否正确
否
是
登录失败
登录成功
图 3.5 用户登录系统流程图
3.3订单查询模块
用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。
订单查询模块流程图如图3.6所示。
开 始
结 束
接收订单号信息
查询数据库
订单号是否存在
否
是
显示出订单信息
无该订单号
图 3.6 订单查询模块流程图
第4章 后台功能模块的实现
后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。后台包括管理员登录模块、添加商品模块、订单信息管理模块、查询用户信息管理模块、添加发布公告。
4.1管理员登录模块
进入管理员登录页面,该页面的功能是对管理员身份进行验证。在管理登录页面中,是通过JavaScript来实现录入数据完整性验证的。用户输入登录ID和密码后单击“登录”按钮时,如果录入数据完整性验证通过,系统会将数据提交到登录页面,该页面用来判断输入信息在数据库中Admin表是否存在提交的用户名和密码,如果登录ID及密码有效,就保存用户名信息,管理员有权对网站进行维护;反之则提示错误。
登录页面如图4.1所示。
图 4.1 管理员登录页面运行结果
流程图如图4.2所示。
开 始
否
是
是
结 束
接收登录信息
数据是否为空
数据是否有效
查询数据库
否
登录成功
图4.2 管理员登录系统流程图
4.2添加商品模块
单击导航区中的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库中,以提供前台首页商品展示所需要的数据依据。用户单击“添加”按钮后添加商品如图4.3所示。
图 4.3 添加商品信息页面运行结果
流程图如图4.4所示。
开 始
结 束
接收商品信息
查询数据库
数据是否为空
是
否
信息插入数据库
是否重复录入
是
否
数据是否正确
否
是
插入是否成功
是
否
添加商品失败
添加商品成功
图 4.4 添加商品信息模块流程图
4.3订单信息管理模块
用户在前台购物所产生的订单并不能立即执行,需要系统管理员在后台进行订单信息管理审核以确认它的执行性。用户单击导航区中的“订单信息管理”超链接进入用户订单处理页面,该页面上会显示近期所有没被处理的订单。用户订单处理页面显示的是用户基本信息,要想知道订单中所涉及的商品,需要单击对应订单号的超链接打开商品订购详单页面才行。
商品订购详单主要通过提交的订单号从tb_Shop表中查询处对应的商品并显示在页面中,管理员审核后可通过复选框来设置订单是否执行。程序中利用admin/shop.jsp来完成这些功能。当选中“是/否”复选框时,系统会根据提交的订单号更新数据表,如果更新成功,则转到spif.jsp也执行。
流程图如图4.5所示。
开 始
是
否
查询数据库
是
结 束
否
显示全部未处
理的订单信息
是否删除订单
数据库是否为空
更新数据库
更新数据库是否成功
删除订单成功
没有未处理的订单
是
否
查看订购详单
是否执行
否
更新数据库
更新是否成功
是
是
否
订单执行成功
图4.5 订单信息管理模块流程图
4.4查询用户信息模块
查询用户信息模块用来完成对注册用户的浏览及删除功能。如果用户蓄意性注册或者在很长时间内没有订单产生,管理员就可以将该用户信息删除。单击导航区中的“查询用户信息”超链接进入用户信息页面,就可以看到用户信息。在这一部分的设计中,也使用了分页显示功能。对于一些失信用户只需要单击右侧的“删除”超链接,即可转到admin/deluser.jsp页中做删除处理。
流程图如图4.6所示。
开 始
结 束
显示用户的信息
更新数据库
是否删除用户
是
否
删除用户成功
更新是否成功
是
否
删除用户失败
查询数据库
数据库是否为空
是
否
没有用户注册
图 4.6 查询用户信息模块流程图
4.5添加公告模块
用户在后台首页导航区中单击“添加链接”即可进入添加友情链接页面,该页面用户在前台显示友情链接信息。
添加公告页面如图4.7所示。
图 4.7 添加公告页面运行结果
用户单击“提交”按钮后,系统将添加链接页面的数据表单提交admin/addlink.jsp页面处理。若添加失败,则提示故障信息,并返回页面。流程图如图4.8所示。
开 始
结 束
接收链接信息
数据是否为空
是
数据插入数据库
否
插入是否成功
是
否
添加链接失败
添加链接成功
图 4.8 添加链接模块流程图
第5章 系统的测试
5.1 系统测试的目的
(1)软件测试是为了发现错误而执行程序的过程;
(2)测试是为了证明程序有错,而不是证明程序无错误;
(3)一个好的测试用例是在于它能发现至今未发现的错误;
(4)一个成功的测试是发现了至今未发现的错误的测试。
测试是为了发现程序和系统中的错误而执行程序的过程。它的目标是在精心控制的环境下,通过系统的方法来检查程序,以便发现程序中的错误。测试工作是保证系统质量的关键,也是对系统最终的评审。
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。
这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
5.2 系统测试的性能要求
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。
在运行时对系统整体性能要有一定的要求,要求:软硬件要求:系统环境windows XP+NetBeans+sqlServer
系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。
5.3 系统用例
5.3.1后台-管理员-登陆
编号
UC-01
编写者
杨帆
测试项
登陆
前提条件
进入登陆界面
操作步骤
输入数据/动作
预期结果
实际结果
有效数据
输入正确的用户名和密码,按“登陆”按钮。
用户名=“yf”密码=“123”
登陆成功,跳转的主界面
登陆成功,跳转的主界面
无效数据
用户名为空,输入正确的密码,按“登陆”按钮。用户名=“”密码=“123”
提示:用户名不能为空
提示:用户名为必填项
用户名为真正用户名的大写,输入正确的密码,按“登陆”按钮。用户名=“ADMIN”密码=“”
提示:用户名不存在
成功登陆
用户名为空,输入错误的密码,按“登陆”按钮。用户名=“”密码=“1”
提示:用户名不能为空
提示:用户名为必填项
输入正确的用户名,密码为空(密码不为空),按“登陆”按钮。用户名=“yf”密码=“”
提示:输入用户不存在或用户名密码有误
提示:密码有误
输入正确的用户名,密码为空(密码为空),按“登陆”按钮。用户名=“yf”密码=“ 空格 ”
提示:输入用户不存在或用户名密码有误??
登陆成功
输入正确的用户名,错误的密码,按“登陆”按钮。用户名=“yf”密码=“1”
提示:输入用户不存在或用户名密码有误
提示:密码有误
输入用户名和错误的密码均为空,用户名=“”密码=“”
提示:用户名不能为空
提示:用户名不能为空
输入错误的用户名和错误密码,按“登陆”按钮。用户名=“zz”密码=“1”
提示:用户用户名有误
提示:用户名有误
输入正确的用户名密码为一些恒等式
用户名=“yf”
提示:用户名密码有误
提示:用户名密码有误
在浏览器上,直接输入主页网址
返回到登陆页面
返回到登陆页面
5.3.2会员管理-会员信息查看
编号
UC-02
编写者
杨帆
测试项
会员信息查看
前提条件
管理员成功登陆
操作步骤
管路员请求会员管理下的“会员信息查看”
输入数据/动作
预期结果
实际结果
1.查询成功
不进行输入直接点击“查询”
默认显示所有用户信息,并进行分页,每页显示5条记录
默认显示所有用户信息,并进行分页,每页显示5条记录
输入存在的用户编号,请求“查询”
显示该用户信息相关信息
显示该用户信息相关信息
2.查询失败
输入不存在的用户编号
提示:管用户不存在
提示:管用户不存在
输入汉字,或特殊字符
提示:只能进行输入字母或是数字
提示:只能进行输入字母或是数字
5.3.3商品管理-商品基本信息查看
编号
UC-03
编写者
杨帆
测试项
商品基本信息查看
前提条件
管理员成功登陆
操作步骤
管路员请求商品管理下的“商品基本信息查看”
输入数据/动作
预期结果
实际结果
1.查询成功
不进行输入直接点击“查询”
默认显示所有商品信息,并进行分页,每页显示5条记录
默认显示所有商品信息,并进行分页,每页显示5条记录
输入存在的商品名字,请求“查询”
显示该商品信息相关信息
显示该商品信息相关信息
2.查询失败
输入不存在的商品编号
提示:输入不存在的商品编号
提示:输入不存在的商品编号
输入汉字,或特殊字符
提示:只能进行输入字母或是数字
提示:只能进行输入字母或是数字
5.3.4商品管理-添加商品
编号
UC-04
编写者
杨帆
测试项
添加商品
前提条件
管理员成功登陆
操作步骤
管路员请求商品管理下的“添加商品”
输入数据/动作
预期结果
实际结果
1.添加成功
输入合法的相关信息,点击“提交”按钮
提示“添加成功”,点击“确认”返回到
提示“添加成功”,点击“确认”返回到
只输入商品编号输入商品编号,点击“提交”
提示:商品添加成功
提示:商品添加成功
2.添加失败
不输入商品编号,其他信息合法
提示:用户编号不能为空
提示:用户编号不能为空
商品编号输入汉字,其他信息合法
提示:商品编号不能为汉字
提示:商品编号不能为汉字
5.3.5订单管理-订单信息
编号
UC-05
编写者
杨帆
测试项
订单信息
前提条件
管理员成功登陆
操作步骤
管路员请求订单管理下的“订单信息”
输入数据/动作
预期结果
实际结果
1.查询成功
不进行输入
默认显示:所有订单信息,点击查看详情,进入到所选商品详情页面
默认显示:所有订单信息,点击查看详情,进入到所选商品详情页面
选择“已发货”连接
显示:“已发货”所有订单的有关信息
显示:“已发货”所有订单的有关信息
第6章 结束语
在本系统的开发过程中,我发现在自己在知识、经验方面都存在着不足。因此,在分析设计该系统时真是困难重重。教师的讲解、资料的查阅最终我们终于尝到了胜利的喜悦。
由于在编写需求文档时,对工具的使用不太熟练,更加增加了我们的负担,让我们的项目远远落后预期的结果。我们小组人员积极的对有关工具的的熟悉,大大的提高了我们的工作效率,让我们的做起事来得心应手。前期开发的时候,由于我们交流不够自己做自己的,结果让我们的文档在学多方面都不统一。组合起来的文档让人觉得特别紊乱,更笨不想一个团队。更重要的是,我们的宝贵时间都花费到整理文档上,让我们的进度更加迟缓。
当我们发现不统一给我们带来这么多的不便,我们就召开紧急会议,规定一个统一的格式。我完全没有想到统一的格式能给我们减少那么多的工作量。我那时才真正意识到一件事仅仅把他做成功是远远不够的,必须要寻找适当的方法,能够做到事半功倍。
另外,此时我深刻体会到一个团队的重要性了。刚开始我们遇到不同意的时候,都各干各的,都坚持自己的想法走。后来发现工作量太大了,大的一个人自规定的时间内不能完成。那是我们才真正的开始合作。现在发现之前自己是多么的无知啊,可喜的是今后在遇到类似的问题我们就变得有经验了。同时最重要的是在这次课题分析设计阶段,我们摸索出了一套分析问题和解决问题的方法,这会让我们今后能够更好的解决问题了。
参考文献
[1] 韩玉民. 计算机专业英语教学研究与实践 [J].计算机与信息技术,2008,(6):106-107.
[2] When mouse use computer.[EB/OL]. 2008-12-26.
[3]蔡翠平 唐大仕.JAVA程序设计.清华大学出版社,2003:121~127
[4] 齐治昌.软件技术实用教程.科学出版社,1998,3A:62~67
指导教师评语
成绩:
指导教师签名:
年 月 日
附录: 主要源程序
package com.it.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
public abstract class Dao {
public static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public String url = "jdbc:sqlserver://localhost:1433;databaseName=myshopping";
private Connection conn = null;
private Statement stmt = null;
protected ResultSet rs = null;
/* 封装数据库访问接口 */
static {
try {
Class.forName(DRIVER);
System.out.print("加载成功!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void getConn() {
try {
conn = DriverManager.getConnection(url, "sa", "1234");
System.out.print("连接成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/* 执行增删改通用方法 */
public void executeUpd(String sql) {
this.getConn();
try {
stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//返回一行一列的sql语句
public Object executeSimpleResult(String sql){
this.executeQuery(sql);
Object obj=null;
try {
rs.next();
obj=rs.getObject(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeRes();
}
return obj;
}
/* 执行查询的通用方法啊 */
public ResultSet executeQuery(String sql) {
this.getConn();
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
System.out.println("----------------");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
protected abstract List rs2List();
public List executeQueryLs(String sql) {
this.executeQuery(sql);// 将sql执行后的结果放到rs中
List list = this.rs2List();// 将rs中的数据放到list中
this.closeRes();// 释放资源
return list;
}
private void closeRes() {
if (rs != null) {
try {
rs.close();
} catch (SQLException
展开阅读全文