1引言 ............................................................................................................................................... 2 1.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 4程序2(标识符)设计说明......................................................................................................... 9
详细设计说明书
1引言
1.1编写目的
该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。
在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。
1.2背景
说明:
A. 软件系统的名称: BS网上商城系统 B. 任务提出者: BS电子商务公司 开发者:LEI_SKY软件开发小组
C. 本系统将是一个独立的系统,目前所产生的输出都是独立的 本系统将使用MySql作为数据库的存储系统
1.3定义
A. .B/S(Brower/Server)
B. .IIS 5.0(Internet Information Server)
C. .HTML(Hypertext Markup Language,超文本标记语言) D. .CSS(Cascading Style Sheets,层叠样式表单) E. .JSP(Java Server Pages)
1.4参考资料
相关的文件包括:
A. 内部文件《BS网上商城电子商务系统案例研究项目》
B. 《BS网上商城电子商务系统案例研究项目合同 20110710 - 01》
C. 《BS网上商城电子商务系统案例研究项目可行性分析》 参考资料:
A. 国家标准《软件需求说明书(GB856T——88); 》 B. 《网站开发项目教程》陈密方 中国铁道出版社 《软件测试》朱少名 电子工业出版社\ 合同:
A. 《BS网上商城电子商务系统案例研究项目合同 20110710 - 01》
2程序系统的结构
图1: BS网上商城前台功能结构图
图2: BS网上商城后台功能结构图
3产品管理程序设计说明
3.1程序描述
产品管理程序功能的描述:
商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这
些信息进行增加,修改和删除操作. 软件应该提供对管理员的增加,修改和删除的操 作。
3.2功能
表1:产品信息管理程序模块IPO表
3.3性能
在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理
员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
3.4输人项
表2:输入项信息表
3.5输出项
表3:输出项信息表
3.6算法
产品添加算法: function check() { Var selectedCategory
document.formAdd.categoryId.options[document.formAdd.categoryId.selectedIndex];
var selectedValue = selectedCategory.value; if(二级分类不等于2) { alert("请选择第二级分类!"); document.formAdd.categoryId.focus(); return false; } else { selectedCategory.value = 将二级分类的pid设为0; } return true; }
多个产品一块删除算法:
String[] idArray = request.getParameterValues("id"); if(idArray == null || idArray.length == 0) { out.println("ID号输入错误!"); return; }
public void delete(String[] idArray) { String conditionStr = " where id in ("; for (int i = 0; i
=
conditionStr += 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功能
表4:用户管理程序模块IPO表
4.3性能
在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
4.4输人项
表5:用户管理程序模块输入信息表
4.5输出项
表6:用户管理程序模块输出信息表
4.6算法
会员列表信息算法:
final int PAGE_SIZE = 2; //每页显示多少条记录 final int PAGES_PER_TIME = 10;//每次显示多少个页码链接 int pageNo = 1; String strPageNo = request.getParameter("pageNo"); if (strPageNo != null && !strPageNo.trim().equals("")) { try { pageNo = Integer.parseInt(strPageNo); } catch (NumberFormatException e) { pageNo = 1;
} } if (pageNo
List users = new ArrayList(); int totalRecords = User.getUsers(users, pageNo, PAGE_SIZE); int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE; if (pageNo > totalPages) pageNo = totalPages; totalPages) break; if(pageNo == i) { %>
采用如上所示的分页算法。
4.7流程逻辑
图10:会员管理模块流程图
4.8接口
图11: 会员管理模块界面
与本程序关联的User表:
图12:User表的信息图
4.9存储分配
本模块由及其自动分配内存。
4.10注释设计
1. 模块首部的注释:用户验证程序。
2. 对调用函数的注释:调用加密函数MD5。
4.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统自动关闭。
4.12测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
4.13尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可
能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:
1、公告通知模块;
2、统计分析模块;
3、 广告模块;//广告模块是整个网上商城系统中的盈利板块之一
4、 完善个人信息空间;//增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。
5订单管理程序设计说明
5.1程序描述
订单管理程序功能的描述:
订单的信息全部通过终端保存在数据库服务器, 管理员可以对这些信息进行增
加, 修改和删除操作. 软件应该提供对订单的增加和删除的操作.;会员可以通过登 录查看自己的订单信息及过去的交易记录
5.2功能
表7:订单程序模块的IPO表
5.3性能
在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
5.4输人项
表8:订单程序模块的输入项信息表
5.5输出项
表9:订单程序模块的输出向信息表
5.6算法
订单列表所用到的算法: 分页算法
private static final int PAGE_SIZE = 2; %>
String strPageNo = request.getParameter("pageno"); int pageNo = 1;
if(strPageNo != null) { pageNo = Integer.parseInt(strPageNo); }
if(pageNo
//get all the users
List orders = new ArrayList();
int totalRecords = OrderMgr.getInstance().getOrders(orders, pageNo, PAGE_SIZE);
int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE; if(pageNo > totalPages) pageNo = totalPages; %>
按id进行展现算法:
SalesOrder so = OrderMgr.getInstance().loadById(uid); public SalesOrder loadById(int id) { Connection conn = DB.getConn();
Statement stmt = DB.getStatement(conn); ResultSet rs = null; SalesOrder so = null; try { String sql = "select salesorder.id, salesorder.userid, salesorder.odate, salesorder.addr, salesorder.status , " + " user.id uid, user.username, user.password, user.addr uaddr, user.phone, user.rdate from salesorder " + " join user on (salesorder.userid = user.id) where salesorder.id = " + id; rs = DB.getResultSet(stmt, sql); if(rs.next()) { User u = new User(); u.setId(rs.getInt("uid")); u.setAddr(rs.getString("uaddr")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setPhone(rs.getString("phone")); u.setRdate(rs.getTimestamp("rdate")); so = new SalesOrder(); so.setId(rs.getInt("id")); so.setAddr(rs.getString("addr")); so.setODate(rs.getTimestamp("odate")); so.setStatus(rs.getInt("status")); so.setUser(u); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(stmt); DB.close(conn); } return so; }
5.7流程逻辑
图13:订单管理程序模块流程图
5.8接口
图14: 产品模块界面
与本程序关联的salesorder表:
图15:salesorder表的信息图
5.9存储分配
本模块由及其自动分配内存。
5.10注释设计
1. 模块首部的注释:用户验证程序。
2. 对调用函数的注释:调用加密函数MD5。
5.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统自动关闭。
5.12测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
5.13尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:
1、公告通知模块;
2、统计分析模块;
3、 广告模块;//广告模块是整个网上商城系统中的盈利板块之一
4、 完善个人信息空间;//增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。
6类别管理程序设计说明
6.1程序描述
类别管理程序功能的描述:
商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这
些信息进行增加,修改和删除操作. 软件详细展示商品的类别信息。并且商品的添加必 须在二级子类别及以下添加。
6.2功能
6.3性能
在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数
据的修改也要求保持对应的准确性;
管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。
用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数
6.4输人项
表11:类别管理程序模块的输入项信息表
6.5输出项
表12:类别管理程序模块的输出项信息表
6.6算法
类别列表中用到的特殊算法:
for (int i = 0; i
判断当前的id的类别的grade 是第几级,如果是第0级则直接现在当前的类别名,如果是第1级则在当前类别名前加“----”输出,每增加一个级别相应的在加“----”,但是级别数不超过2。
6.7流程逻辑
图16:产品类别模块流程图
6.8接口
图17:类别模块界面
与本程序关联的Category表:
图18:Category表的信息图
6.9存储分配
本模块由及其自动分配内存。
6.10注释设计
1. 模块首部的注释:用户验证程序。
2. 对调用函数的注释:调用加密函数MD5。
6.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统自动关闭。
6.12测试计划
对本单元进行单元测试。
进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。
进行白盒测试,检验各程序路径是否能执行到。
6.13尚未解决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:
1、公告通知模块;
2、统计分析模块;
3、 广告模块;//广告模块是整个网上商城系统中的盈利板块之一
4、 完善个人信息空间;//增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。 最后:本系统由于经费问题,对界面没有特别人性化的设计。 在后续的版本中我们将会改善这个问题。
"> |