软件工程 网上商城项目 详细设计说明书.docx
《软件工程 网上商城项目 详细设计说明书.docx》由会员分享,可在线阅读,更多相关《软件工程 网上商城项目 详细设计说明书.docx(36页珍藏版)》请在冰豆网上搜索。
软件工程网上商城项目详细设计说明书
1引言21.1编写目的.................................................................................................................................2
1.2背景.........................................................................................................................................2
1.3定义.........................................................................................................................................2
1.4参考资料.................................................................................................................................2
2程序系统的结构...........................................................................................................................3
3程序1(标识符)设计说明.........................................................................................................4
3.1程序描述.................................................................................................................................4
3.2功能.........................................................................................................................................4
3.3性能.........................................................................................................................................4
3.4输人项.....................................................................................................................................4
3.5输出项.....................................................................................................................................5
3.6算法.........................................................................................................................................6
3.7流程逻辑.................................................................................................................................6
3.8接口.........................................................................................................................................8
3.9存储分配.................................................................................................................................8
3.10注释设计...............................................................................................................................8
3.11限制条件...............................................................................................................................9
3.12测试计划...............................................................................................................................9
3.13尚未解决的问题...................................................................................................................9
9.........................................................................................................(标识符)设计说明2程序4.
详细设计说明书
1引言
1.1编写目的
该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。
在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。
本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。
1.2背景
说明:
A.软件系统的名称:
BS网上商城系统
B.任务提出者:
BS电子商务公司
开发者:
LEI_SKY软件开发小组
C.本系统将是一个独立的系统,目前所产生的输出都是独立的
本系统将使用MySql作为数据库的存储系统
1.3定义
A..B/S(Brower/Server)
B..IIS5.0(InternetInformationServer)
C..HTML(HypertextMarkupLanguage,超文本标记语言)
D..CSS(CascadingStyleSheets,层叠样式表单)
E..JSP(JavaServerPages)
1.4参考资料
相关的文件包括:
网上商城电子商务系统案例研究项目》BS内部文件《A.
B.《BS网上商城电子商务系统案例研究项目合同20110710-01》
C.《BS网上商城电子商务系统案例研究项目可行性分析》
参考资料:
A.国家标准《软件需求说明书(GB856T——88);》
B.《网站开发项目教程》陈密方中国铁道出版社
《软件测试》朱少名电子工业出版社\
合同:
A.《BS网上商城电子商务系统案例研究项目合同20110710-01》
2程序系统的结构
前台功能模块商品查询
商品展示
商品购物
商城公告
用户管理
订单查询
新品上架
特价商品
销售排行
购物车
收银台
会员注册
会员登录
会员资料
图1:
BS网上商城前台功能结构图
后台功能模块会员修改
用户管理
类别管理
产品管理
订单管理
统计分析
退出系统
订产类产产订单单品别品品删添修删查修除加改除看改
会员删除
会员查看
类别添加
类别修改
网站访问列表
会员购买比例列表
图2:
BS网上商城后台功能结构图
3产品管理程序设计说明
3.1程序描述
产品管理程序功能的描述:
商品的种类信息,详细信息全部通过终端保存在数据库服务器,管理员可以对这
些信息进行增加,修改和删除操作.软件应该提供对管理员的增加,修改和删除的操
作。
3.2功能
系统名称
BS网上商城
模块名称
产品模块
模块编号
T001
作者
XXX
日期
2011/7/16
模块简述
此模块用于对产品进行增加、修改、删除、搜索等
调用模块
添加、查看、修改、删除、搜索模块
被调用模块
无
输入
项目
一个指定产品的信息或添加一个新产品
格式
所有信息严格按照数据库中表的字段的数据类型填入
处理
当输入产品的信息通过系统调用查看、修改、添加、删除、搜查时,对应的信息被数据库保存。
当提交的信息不成功是,提示相应的处理并返回
输出
新产品被输入或者旧的产品信息被新的产品信息所代替并保存在数据库
局部数据元素
约束条件
无
注释
涉及的表:
产品信息表(Product)
表1:
产品信息管理程序模块IPO表
3.3性能
管理,会员,订单,商品(在输入产品信息时严格执行数据库表所要求的精度,在执行数据
员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:
在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。
管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。
如果管理员输入的参数与
要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求:
用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下
输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
3.4输人项
名称
标识
数据类型
有效范围
输入方式
输入媒体
输入数据来源
安全保密条件
数量
频度
新产品
varchar
255
手动输入
键盘、鼠标
商城新产品
无
待定
待定
指定以产品修改
varchar
255
手动输入
键盘、鼠标
数据库中也有产品
无
待定
待定
指定以产品删除
数据库中已有产品
无
待定
待定
产品搜索
varchar
255
手动输入
键盘、鼠标
数据库中已有产品
无
待定
待定
表2:
输入项信息表
3.5输出项
名称是否添加是新产品产品添加界面否是是否修改产品信息产品修改界面否
标识
数据类型
有效范围
输出方式
输出媒体
对应图形符号说明
安全保密条件
数量
频度
新产品被添加
varchar
255
自动输出
无
待定
待定
对应产品被修改
varchar
255
自动输出
无
待定
待定
对应产品被删除
自动输出
无
待定
待定
对应产品被搜索
varchar
255产品列表
自动输出
无
待定
待定
表3:
输出项信息表
3.6算法
产品添加算法:
functioncheck(){
VarselectedCategory
=
document.formAdd.categoryId.options[document.formAdd.categoryId.selectedIndex];
varselectedValue=selectedCategory.value;
2){if(二级分类不等于
);请选择第二级分类!
污牥?
document.formAdd.categoryId.focus();
returnfalse;
}else{
0;pidselectedCategory.value=将二级分类的设为
}
returntrue;
}
多个产品一块删除算法:
String[]idArray=request.getParameterValues(id);
if(idArray==null||idArray.length==0){
);out.println(ID号输入错误!
return;
}
publicvoiddelete(String[]idArray){
StringconditionStr=whereidin(;
for(inti=0;iconditionStr+=idArray[i];
conditionStr+=,;
}
conditionStr=conditionStr.replaceAll(.$,));
//conditionStr=conditionStr.substring(0,conditionStr.length()-1)+);
System.out.println(conditionStr);
dao.delete(conditionStr);
}
3.7流程逻辑
是否删除是产品产品删除界面否是是否上传产品上传界面否结束
:
产品模块流程图7图
3.8接口
图8:
产品模块界面
与本程序关联的Product表:
图9:
Product表信息图
3.9存储分配
本模块由及其自动分配内存。
3.10注释设计
1.模块首部的注释:
用户验证程序。
2.对调用函数的注释:
调用加密函数MD5。
3.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:
超级用户和123456。
在三次验证错误后,系统自动关闭。
3.12测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。
输入正确的条件,预期结果,输出信息。
输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
3.13尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:
1、公告通知模块;
2、统计分析模块;
3、广告模块;//广告模块是整个网上商城系统中的盈利板块之一
4、完善个人信息空间;//增设空间留言、空间网页游戏、空间交友、产品分享、购买
心得等板块,这样可以增加用户的在线时间,收录更多的好
友,更加方便的了解产品的信息。
4用户管理程序设计说明
4.1程序描述
用户管理程序功能描述:
会员的信息全部通过终端保存在数据库服务器,管理员可以对这些信息进行增加,
修改和删除操作.软件应该提供对会员的增加,修改和删除的操作;会员本身可以对自
身信息进行增加、查看、修改等功能
4.2功能
系统名称
BS网上商城
模块名称
用户管理模块
模块编号
T002
作者
XXX
日期
2011/7/16
模块简述
此模块用于对用户信息进行查看、修改、删除等
调用模块
会员查看、修改、删除、搜索模块
被调用模块
无
输入
项目
会员的新信息或指定会员的信息
格式
所有信息严格按照数据库中表的字段的数据类型填入
处理
当输入会员的信息通过系统调用查看、修改、添加、删除时,对应的信息被数据库保存。
当提交的信息不成功是,提示相应的处理并返回
输出
新会员被输入或者旧的会员信息被新的会员信息所代替并保存在数据库或会员信息被删除
局部数据元素
约束条件
管理员通过后台登陆成功进入用户管理模块
注释
涉及的表:
会员信息表(User)
表4:
用户管理程序模块IPO表
4.3性能
在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:
在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。
管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。
如果管理员输入的参数与
要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求:
用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下
输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
4.4输人项
名称
标识
数据类型
有效范围
输入方式
输入媒体
输入数据来源
安全保密条件
数量
频度
会员查看
varchar
255
手动输入
键盘、鼠标
数据库中的已有会员
会员信息被严格保密
待定
待定
指定一会员修改
varchar
255
手动输入
键盘、鼠标
数据库中已有会员
会员信息被严格保密
待定
待定
指定一会员删除
数据库中已有会员
会员信息被严格保密
待定
待定
表5:
用户管理程序模块输入信息表
4.5输出项
名称
标识会员删除
数据类型是
有效范围是否删除会员
输出方式
输出媒体
对应图形符号说明
安全保密条件
数量
频度
会员信息被输出
界面
varchar
255否
自动输出
会员信息被严格保密
待定
待定
对应会员信息被修改
varchar
255结束
自动输出
会员信息被严格保密
待定
待定
对应会员信息被删除
自动输出
会员信息被严格保密
待定
待定
表6:
用户管理程序模块输出信息表
4.6算法
会员列表信息算法:
finalintPAGE_SIZE=2;//每页显示多少条记录
finalintPAGES_PER_TIME=10;//每次显示多少个页码链接
intpageNo=1;
StringstrPageNo=request.getParameter(pageNo);
if(strPageNo!
=null&&!
strPageNo.trim().equals(\)){
try{
pageNo=Integer.parseInt(strPageNo);
}catch(NumberFormatExceptione){
pageNo=1;
}
}
if(pageNo<=0)
pageNo=1;
Listusers=newArrayList();
inttotalRecords=User.getUsers(users,pageNo,PAGE_SIZE);
inttotalPages=(totalRecords+PAGE_SIZE-1)/PAGE_SIZE;
if(pageNo>totalPages)
pageNo=totalPages;
<%
intstart=((pageNo-1)/PAGES_PER_TIME)*PAGES_PER_TIME+1;
for(inti=start;iif(i>totalPages)break;
if(pageNo==i){
%>
<%=i%>
<%
}else{
%>
pageNo=<%=i%>><%=i%>
|
<%