当前位置:文档之家› 软件工程-网上商城项目-详细设计说明书

软件工程-网上商城项目-详细设计说明书

1引言 (2)编写目的 (2)背景 (2)定义 (2)参考资料 (2)2程序系统的结构 (2)3程序1(标识符)设计说明 (2)程序描述 (3)功能 (3)性能 (3)输人项 (3)输出项 (3)算法 (3)流程逻辑 (3)接口 (3)存储分配 (4)注释设计 (4)限制条件 (4)测试计划 (4)尚未解决的问题 (4)4程序2(标识符)设计说明 (4)详细设计说明书1引言编写目的该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。

在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。

本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。

软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。

背景说明:A.软件系统的名称: BS网上商城系统B.任务提出者: BS电子商务公司开发者:LEI_SKY软件开发小组C. 本系统将是一个独立的系统,目前所产生的输出都是独立的本系统将使用MySql作为数据库的存储系统定义A. .B/S(Brower/Server)B. .IIS (Internet Information Server)C. .HTML(Hypertext Markup Language,超文本标记语言)D. .CSS(Cascading Style Sheets,层叠样式表单)E. .JSP(Java Server Pages)参考资料相关的文件包括:A. 内部文件《BS网上商城电子商务系统案例研究项目》B. 《BS网上商城电子商务系统案例研究项目合同 - 01》C. 《BS网上商城电子商务系统案例研究项目可行性分析》参考资料:A. 国家标准《软件需求说明书(GB856T——88); 》B. 《网站开发项目教程》陈密方中国铁道出版社《软件测试》朱少名电子工业出版社\合同:A. 《BS网上商城电子商务系统案例研究项目合同 - 01》2程序系统的结构图1: BS网上商城前台功能结构图图2: BS网上商城后台功能结构图3产品管理程序设计说明程序描述产品管理程序功能的描述:商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这些信息进行增加,修改和删除操作. 软件应该提供对管理员的增加,修改和删除的操作。

功能表1:产品信息管理程序模块IPO表性能在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。

管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。

如果管理员输入的参数与要求不符将得到提示并重新进行操作。

用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数输人项表2:输入项信息表输出项表3:输出项信息表算法产品添加算法:function check() {Var selectedCategory = var selectedValue = ;if(二级分类不等于2) {alert("请选择第二级分类!");return false;} else {= 将二级分类的pid设为0;}return true;}多个产品一块删除算法:String[] idArray = ("id");if(idArray == null || == 0) {("ID号输入错误!");return;}public void delete(String[] idArray) {String conditionStr = " where id in (";for (int i = 0; i < ; i++) {conditionStr += idArray[i];conditionStr += ",";}conditionStr = (".$", ")");产品列表是否添加新产品是否修改产品信息否是否删除产品否是否上传否结束否产品添加界面是产品修改界面是产品删除界面是产品上传界面是模块首部的注释:用户验证程序。

2. 对调用函数的注释:调用加密函数MD5。

限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。

在三次验证错误后,系统自动关闭。

测试计划对本单元进行单元测试。

进行黑盒测试,检验能否实现功能。

输入正确的条件,预期结果,输出信息。

输入错误的条件,预期结果,无法输出信息,提示输入正确条件。

进行白盒测试,检验各程序路径是否能执行到。

尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:1、公告通知模块;2、统计分析模块;3、广告模块;软件应该提供对会员的增加,修改和删除的操作;会员本身可以对自身信息进行增加、查看、修改等功能功能表4:用户管理程序模块IPO表性能在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。

管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。

如果管理员输入的参数与要求不符将得到提示并重新进行操作。

用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数输人项表5:用户管理程序模块输入信息表输出项表6:用户管理程序模块输出信息表算法会员列表信息算法:f inal int PAGE_SIZE = 2; quals("")) {try {pageNo = (strPageNo);} catch (NumberFormatException e) {pageNo = 1;}}if (pageNo <= 0)pageNo = 1;List<User> users = new ArrayList<User>();int totalRecords = (users, pageNo, PAGE_SIZE);int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;if (pageNo > totalPages)pageNo = totalPages;<%int start = ((pageNo - 1) / PAGES_PER_TIME) * PAGES_PER_TIME + 1;for(int i=start; i<start+PAGES_PER_TIME; i++) {if(i > totalPages) break;if(pageNo == i) {%><td bgcolor="#ffffff">&nbsp;<u><b><%=i %></b></u>&nbsp;</td><%} else {%><td>&nbsp;<a href="pageNo=<%=i%>"><%=i%></a>&nbsp;</td><%}}%>采用如上所示的分页算法。

流程逻辑会员列表是否添加新会员是否修改会员信息否是否删除会员否结束会员添加界面是会员修改界面是会员删除界面是否图10:会员管理模块流程图接口图11: 会员管理模块界面与本程序关联的User表:图12:User表的信息图存储分配本模块由及其自动分配内存。

注释设计1. 模块首部的注释:用户验证程序。

2. 对调用函数的注释:调用加密函数MD5。

限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。

在三次验证错误后,系统自动关闭。

测试计划对本单元进行单元测试。

进行黑盒测试,检验能否实现功能。

输入正确的条件,预期结果,输出信息。

输入错误的条件,预期结果,无法输出信息,提示输入正确条件。

进行白盒测试,检验各程序路径是否能执行到。

尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:1、公告通知模块;2、统计分析模块;3、广告模块;软件应该提供对订单的增加和删除的操作.;会员可以通过登录查看自己的订单信息及过去的交易记录功能表7:订单程序模块的IPO表性能在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。

管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。

如果管理员输入的参数与要求不符将得到提示并重新进行操作。

用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数输人项表8:订单程序模块的输入项信息表输出项表9:订单程序模块的输出向信息表算法订单列表所用到的算法:分页算法<%!private static final int PAGE_SIZE = 2;%><%String strPageNo = ("pageno");int pageNo = 1;if(strPageNo != null) {pageNo = (strPageNo);}if(pageNo < 1) pageNo = 1;%><%etOrders(orders, pageNo, PAGE_SIZE);int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;if(pageNo > totalPages) pageNo = totalPages;%>按id进行展现算法:SalesOrder so = ().loadById(uid);public SalesOrder loadById(int id) {Connection conn = ();Statement stmt = (conn);ResultSet rs = null;SalesOrder so = null;try {String sql = "select , , , , , " +" uid, , , uaddr, , from salesorder " +" join user on = where = " + id;rs = (stmt, sql);if()) {User u = new User();("uid"));("uaddr"));("username"));("password"));("phone"));("rdate"));so = new SalesOrder();("id"));("addr"));("odate"));("status"));(u);}} catch (SQLException e) {();} finally {(rs);(stmt);(conn);}return so;}流程逻辑图13:订单管理程序模块流程图接口图14:产品模块界面与本程序关联的salesorder表:图15:salesorder表的信息图存储分配本模块由及其自动分配内存。

相关主题