在线交易二手市场系统详细设计.docx
《在线交易二手市场系统详细设计.docx》由会员分享,可在线阅读,更多相关《在线交易二手市场系统详细设计.docx(18页珍藏版)》请在冰豆网上搜索。
在线交易二手市场系统详细设计
Preparedon22November2020
在线交易二手市场系统详细设计
在线交易二手市场系统概要设计说明书
概要设计说明书
信息与电气工程学院
软工1401
**
201422******
在线交易二手市场详细设计报告
·1引言
·编写目的
编写本说明物品的目的在于对在本阶段中对系统所做的所有
详细设计进行说明。
本文档供项目经理、设计人员、开发人员、测试人员参考。
·背景
开发软件名称:
在线交易二手市场系统
项目任务提出者:
项目开发者:
用户:
运行软件的中心:
本系统采用B/S,采用Tomcat服务器作为操作系统的工作站,采用作为开发软件的数据库服务程序。
·定义
B/S:
全称Browser/Server,即浏览器/服务器。
·参考资料
1.《详细设计说明物品》(GB8567-88)
2.编号:
oldGoods’strade_kexingxingfenxi《在线交易二手市场系统可行性分析报告》
3.编号:
oldGoods’strade_xuqiufenxi《在线交易二手市场系统需求分析报告》
4.编号:
oldGoods’strade_gaiyaosheji《在线交易二手市场系统概要设计说明物品》
5.《软件工程导论》张海藩,清华大学出版社
6.《软件项目管理》郭宁,清华大学出版社
2程序系统的结构
图1系统程序功能层级图
表1程序功能与模块的关系
会员登录
购物车
订单
会员信息
管理员登陆
物品信息
检索物品
√
√
加入购物车
√
√
√
提交订单
√
√
√
√
修改会员信息
√
√
查询订单
√
√
修改物品信息
√
√
维护物品信息
√
√
录入物品信息
√
√
冻结会员
√
√
解冻会员
√
√
订单处理
√
√
用户:
1.检索物品(SelectGoods):
根据物品籍的物品名、作者、ISBN、版本等信息,调用物品籍信息模块进行检索;
图2检索物品程序
2.修改会员信息(UserInfo):
需要会员登录,可以修改会员的所有信息,包括学号、姓名、密码、专业等等,以保证会员的信息正确性;
图3修改会员信息程序
3.加入购物车(ShopCart):
需要会员登录,调用购物车模块和物品信息模块,将选购的物品加入购物车,方便对物品的统一管理;
图4加入购物车程序
4.提交订单(Order):
需要会员登录,调用购物车模块和物品信息模块,获得购物车中物品信息信息,以及用户地址、联系方式等信息,然后提交订单,调用订单模块生成订单;
图5提交订单程序
5.查询订单(OrderItem):
需要会员登录,调用订单模块,列出订单的订单号、地址、金额等信息;
图6查询订单程序
管理员:
6.录入物品信息(UpdateGoodsInfo):
需要管理员登陆,调用物品信息模块,将新购的物品信息录入,包括物品名、作者、ISBN、版本等信息;
图7录入物品信息程序
7.修改物品信息(ChangeGoodsInfo):
需要管理员登陆,调用物品信息模块,对物品信息进行修改,包括物品名、作者、ISBN等信息;
图8修改会员信息程序
8.维护物品信息(GoodsInfo):
需要管理员登陆,调用物品信息模块,记录并维护新购入和已卖出的物品信息;
图9维护物品信息程序
9.处理订单(ProcessOrder):
需要管理员登陆,调用订单模块,处理会员提交的订单信息,
图10处理订单程序
10.冻结会员(FreezeUser):
需要管理员登陆,调用会员信息模块,会员有不良交易记录,需要冻结会员一段时间,使其不能继续交易;
图11冻结会员程序
11.解冻会员(UnfreezeUser):
需要管理员登陆,调用会员信息模块,当会员的冻结时间到了之后就需要解冻会员,使其可以正常交易;
图12解冻会员程序
3会员购物品程序设计说明
程序描述
本程序包括会员检索物品、加入购物车、提交订单三个子模块,这三个模块是有着前后的逻辑顺序,即后面的以前面的为基础,其目的是为了实现会员买物品的功能。
本程序的特点是非常驻内存、是子程序、不可重人的、无覆盖要求、是顺序处理。
功能
图13会员购物品程序IPO图
1.检索物品模块输入的是物品关键字信息(物品名,作者,ISBN等等),然后经过系统对数据库查找,输出与之匹配的物品信息。
2.在会员检索物品之后,需要对购买的物品加入购物车,以便于对物品信息统一管理,这个过程由系统处理,然后输出的就是购物车物品信息。
3.会员在完成检索物品、加入购物车模块之后,系统将物品信息和会员基本信息绑定生成订单信息,以方便管理员的统一操作。
性能
3.3.1精度
查询物品请求信息:
文本
有关价格信息:
货币人民币,数字保留小数点后两位
有关日期信息:
年/月/日格式
输出信息全部为文本信息。
3.3.2时间特性要求
用户检索,系统及时响应(<=3s)。
加入购物车,系统响应时间(<=3s)
用户提交订单,系统及时处理(<=3s)。
3.3.3灵活性
1.操作方式上的变化:
用户可以根据关键字对物品信息进行模糊查询。
2.同其他软件的接口的变化:
数据库接口发生变化时,修改相应的模式接口,以保证页面显示不变。
3.精度和有效时限的变化:
订单如果一周内不被签收,撤回订单。
4.计划的变化或改进:
对业务要求的变化,团队统一讨论、修改、确定并执行。
输入项
表2会员购物品程序输入项
名称
标识
格式类型
有效范围
输入方式
数量频度
输入媒体
数据来源
安全保密
物品名
GoodsName
Varchar
长度不超过20
系统生成
加入购物车之前
系统
系统生成
无
物品号
Isbn
Varchar
长度不超过20
系统生成
加入购物车之前
系统
系统生成
无
作者
author
Varchar
长度不超过20
系统生成
加入购物车之前
系统
系统生成
无
出版社
publish
Varchar
长度不超过20
系统生成
加入购物车之前
系统
系统生成
无
出版日期
publishDate
Date
2000年以后到现在日期
系统生成
加入购物车之前
系统
系统生成
无
价格
price
Float
~
系统生成
加入购物车之前
系统
系统生成
无
分类
separate
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
图片号
picture
Varchar
无
手动输入
每次输入
键盘
手动输入
无
用户地址
location
Varchar
长度不超过20
手动输入
生成订单之前
手动输入
手动输入
无
联系方式
telephone
Varchar
长度不超过20
手动输入
生成订单之前
手动输入
手动输入
无
输出项
表3会员购物程序输入项
名称
标识
格式类型
有效范围
输出方式
数量频度
输出媒体
输出图形符号说明
安全保密
物品名
GoodsName
Varchar
长度不超过20
系统生成
检索物品之后
系统
无
无
所有者
Woner
Varchar
长度不超过20
系统生成
检索物品之后
系统
无
无
分类
separate
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
价格
price
Float
~
系统生成
检索物品之后
系统
无
无
用户地址
location
Varchar
长度不超过20
系统生成
提交订单之后
系统
无
无
联系方式
Telephone
Varchar
长度不超过20
系统生成
生成订单之后
系统
无
无
算法
无特殊算法
流程逻辑
图14会员购物品流程图
以上流程图是会员购物品流程,会员首先登录系统,然后进入首页检索物品,可以按照物品籍的关键字信息(物品号、物品名、作者、ISBN)查找物品,然后将要购买的物品加入购物车,然后如果想继续购物品可以重复上面的操作,如果会员已经买够了,最终将订单提交,交由管理员处理。
接口
表4检索物品
执行条件
输入检索内容,物品名、作者、ISBN、版本等
属性
Stringmessage;
DBConnectiondb;
方法
PublicvoidSeek(Stringmessage)
{(message);}
表5加入购物车
执行条件
选择订购物品
属性
StringGoodsId,GoodsName,;
doubleprice,allGoodssPrice;
intamount;
ShoppingCartshoppingCart;
方法
publicvoidaddGoodss(StringGoodsId,StringGoodsName,doubleprice,intamount){
}
publicvoiddeleteGoodss(StringGoodsId){
}
publicvoidchangeAmount(StringGoodsId,intamount){
}
publicdoublegetAllGoodssPrice(){
;
}
publicvoidclearShoppingCart(){
=0;
}
表6提交订单
执行条件
确认选购物品的信息
属性
Stringusername;
Stringtelephone;
Stringaddress;
ShopCartshopcart;
方法
Publicvoidaddorder(ShopCartshopcart,Stringusername,Stringtelephone,Stringaddress)
{}
各个模块与主模块会员购物品模块及其他模块的关系如图所示:
图18模块关系图
以上三个模块与主模块及其他模块的关系如下:
a.检索物品模块
①直接被主模块会员购物品模块调用,生成物品检索页面,用户在文本框中输入检索内容,页面显示物品信息;
②该模块通过链接调用加入购物车模块,用户把需要购买的物品加入购物车。
b.加入购物车模块
①通过检索模块被主模块调用,把物品信息添加到购物车;
②该模块调用提交订单模块,用户把购物车中的物品作为订单提交。
c.提交订单模块
①通过购物车模块被主模块调用,用户修改确认订单信息后,点击提交按钮提交订单。
存储分配
无特殊要求
注释设计
为每一个类编写类注释,说明本该类的作用、使用方法、作者列表、当前版本和完成时间、参考类;
为每一个方法编写方法注释,说明该方法的作用、输入参数的作用和取值范围、返回值、抛出的异常;
为每一个属性编写属性注释,说明其作用、取值范围、注意事项,为局部变量编写行末注释;
对使用的循环、分支、抛出异常块编写注释,说明该逻辑实现的功能。
限制条件
a.检索物品信息
1.输入的检索信息不能为空;
2.输入的物品物品号(isbn)必须是字符,不超过20位,不能为空,且不能与数据库中其他物品号重复;
3.输入的物品名字(GoodsName)必须是字符,不超过20位,不能为空;
4.输入的物品作者(woner)必须是字符,不能为空;
b.提交订单
订单中物品数量不能为0。
测试计划
a.测试技术要求
1.进行人工静态检查,保证代码的逻辑正确性、清晰性、规范性、一致性;
2.进行动态测试,通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误或缺陷。
b.检索物品
1.测试搜索框的输入数据长度是否符合中的规定,如果有不符合,提示该项“**必须在**长度内”,若符合,则满足要求;
2.测试搜索框的内容是否为空,若为空,提示“该框不能为空”,若不为空,则满足要求。
c.提交订单
测试订单中物品数量是否为0,若为0,提示“物品数量不能为0”,若大于0,则满足要求。
尚未解决的问题
无
4管理员管理物品信息程序设计说明
程序描述
本程序设计说明仅以“物品管理模块”为例说明如何物品写程序设计说明,其他模块可参考本设计说明。
“物品管理模块”用于物品信息录入、维护和修改。
管理员登陆是本模块执行的前提,只有管理员登陆之后才有权对物品信息进行管理。
功能
图19管理员管理物品程序的IPO图
物品信息修改的功能是修改物品的物品号(isbn)、物品名(GoodsName)、作者(author)、出版社(publish)、出版日期(PublishDate)、价格(price)、分类(separate),图片(picture),检查格式更新数据库后显示成功更新数据库。
物品信息录入的功能是把物品信息录入数据库,然后显示成功插入数据库提示信息。
维护物品信息即对新买入和已卖出的物品信息进行记录。
性能
4.3.1精度
有关价格信息:
货币人民币,数字保留小数点后两位
有关日期信息:
年/月/日格式
物品中其他的信息:
文本
4.3.2时间特性要求
物品信息修改模块占用物品数据库时间<3s
4.3.3灵活性
当物品缺少数据库里给出的物品属性时,可默认为缺省值
输人项
表7输入物品信息表
名称
标识
格式类型
有效范围
输入方式
数量频度
输入媒体
数据来源
安全保密
物品号
isbn
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
物品名
GoodsName
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
作者
author
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
价格
Float
保留小数点后两位
~
手动输入
每次输入
键盘
手动输入
无
分类
separate
Varchar
长度不超过20
手动输入
每次输入
键盘
手动输入
无
输出项
以JSP网页的形式显示输出项
A在修改物品信息程序中,当修改物品信息成功时,显示“修改数据成功”,并显示修改的物品信息
B在录入物品信息程序中,当录入物品信息成功时,显示“插入数据成功”,并显示录入物品信息
算法
无
流程逻辑
图19管理员管理物品模块的流程逻辑图
接口
表8修改物品信息
执行条件
修改物品信息
属性
Stringsql;
DBConnectiondb;
方法
PublicvoidModifyGoodsInfo(Stringsql)
{(sql);
}
表9录入物品信息
执行条件
录入新购的物品信息
属性
Stringsql;
DBConnectiondb;
方法
PublicvoidInsertGoodsInfo(Stringsql)
{(sql);
}
修改物品信息模块与主模块及其他模块的关系如下:
1模块直接被主模块管理员管理物品模块调用,生成窗体,供用户输入数据使用。
2该模块直接调用数据库连接模块,取得数据库连接。
录入物品信息模块与主模块及其他模块的关系如下:
1模块直接被主模块管理员管理物品模块调用,生成窗体,供用户输入数据使用。
2该模块直接调用数据库连接模块,取得数据库连接。
存储分配
无特殊要求
注释设计
a.加在程序单元首部,说明本程序的作用。
b.对程序中的变量代表的意思、范围进行注释。
c.对程序中的函数或过程所起的作用进行注释。
限制条件
a.修改物品信息
1.输入项中物品物品号(isbn)必须是字符,不超过20位,不能为空,且不能与数据库中其他物品号重复;
2.输入项中物品名字(GoodsName)必须是字符,不超过20位,不能为空;
3.输入项中物品作者(author)必须是字符,不能为空;
4.输入项中价格(price)必须是Float类型,小数点保留两位,不能为空。
b.录入物品信息
1.输入项中物品编号(id)必须是字符类型,不超过20位,不能为空,且不能与数据库中其他编号重复;
2.输入项中物品物品号(isbn)必须是字符,不超过20位,不能为空,且不能与数据库中其他物品号重复;
3.输入项中物品名字(GoodsName)必须是字符,不超过20位,不能为空;
4.输入项中物品作者(author)必须是字符,不超过20位,不能为空;
5.输入项中价格(price)必须是Float类型,小数点保留两位,不能为空。
测试计划
a.修改物品信息
1.若物品物品号与数据库中其他物品号重复,则提示“物品号重复,请重新填写”,若不重复,则满足要求;
2.分别测试所有输入框的输入数据长度是否符合中的规定,如果有不符合,提示该项“**必须在**长度内”,若符合,则满足要求;
3.分别测试所有输入框是否为空,若为空,提示“该框不能为空”,若不为空,则满足要求;
4.若出现写数据库错误,则提示无法连接的具体原因。
若无,则满足要求。
b.录入物品信息
1.若物品编号与数据库中其他编号重复,则提示“编号重复,请重新填写”,若不重复,则满足要求;
2.若物品物品号与数据库中其他物品号重复,则提示“物品号重复,请重新填写”,若不重复,则满足要求;
3.分别测试所有输入框的输入数据长度是否符合中的规定,如果有不符合,提示该项“**必须在**长度内”,若符合,则满足要求;
4.分别测试所有输入框是否为空,若为空,提示“该框不能为空”,若不为空,则满足要求;
5.若出现写数据库错误,则提示无法连接的具体原因。
若无,则满足要求。
尚未解决的问题
无