《软件工程-网上商城项目-详细设计说明书(共26页).doc》由会员分享,可在线阅读,更多相关《软件工程-网上商城项目-详细设计说明书(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业详细设计说明书1引言1.1编写目的该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。1.2背景说明:A. 软件系统的名称: BS网上商城系统B. 任务提出者: BS电子商务公司
2、开发者: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网上商城
3、电子商务系统案例研究项目合同 - 01C. BS网上商城电子商务系统案例研究项目可行性分析参考资料: A. 国家标准软件需求说明书(GB856T88); B. 网站开发项目教程陈密方 中国铁道出版社 软件测试朱少名 电子工业出版社 合同: A. BS网上商城电子商务系统案例研究项目合同 - 012程序系统的结构 图1: BS网上商城前台功能结构图 图2: BS网上商城后台功能结构图3产品管理程序设计说明3.1程序描述 产品管理程序功能的描述: 商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这 些信息进行增加,修改和删除操作. 软件应该提供对管理员的增加,修改和删除的操
4、 作。3.2功能系统名称BS网上商城模块名称产品模块模块编号T001作者XXX日期2011/7/16模块简述此模块用于对产品进行增加、修改、删除、搜索等调用模块添加、查看、修改、删除、搜索模块被调用模块无输入项目一个指定产品的信息或添加一个新产品格式所有信息严格按照数据库中表的字段的数据类型填入处理当输入产品的信息通过系统调用查看、修改、添加、删除、搜查时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出新产品被输入或者旧的产品信息被新的产品信息所代替并保存在数据库局部数据元素约束条件无注释涉及的表:产品信息表(Product) 表1:产品信息管理程序模块IPO表3.3性
5、能在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。 用户输入精度的要求取决于相应功能所需参数的精度
6、要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数3.4输人项名称标识数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度新产品varchar255手动输入键盘、鼠标商城新产品无待定待定指定以产品修改varchar255手动输入键盘、鼠标数据库中也有产品无待定待定指定以产品删除数据库中已有产品无待定待定产品搜索varchar255手动输入键盘、鼠标数据库中已有产品无待定待定 表2:输入项信息表3.5输出项名称标识数据类型有效范围输出方式输出媒体对应图形符号说明安
7、全保密条件数量频度新产品被添加varchar255自动输出无待定待定对应产品被修改varchar255自动输出无待定待定对应产品被删除自动输出无待定待定对应产品被搜索varchar255自动输出无待定待定 表3:输出项信息表3.6算法产品添加算法:function check() Var selectedCategory = document.formAdd.categoryId.optionsdocument.formAdd.categoryId.selectedIndex;var selectedValue = selectedCategory.value;if(二级分类不等于2) ale
8、rt(请选择第二级分类!);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 conditionS
9、tr = where id in (;for (int i = 0; i idArray.length; i+) conditionStr += idArrayi;conditionStr += ,;conditionStr = conditionStr.replaceAll(.$, );/conditionStr = conditionStr.substring(0, conditionStr.length() - 1) + );System.out.println(conditionStr);dao.delete(conditionStr);3.7流程逻辑 图7:产品模块流程图3.8接口
10、图8: 产品模块界面与本程序关联的Product表: 图9:Product表信息图3.9存储分配本模块由及其自动分配内存。3.10注释设计1. 模块首部的注释:用户验证程序。2. 对调用函数的注释:调用加密函数MD5。3.11限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和。在三次验证错误后,系统自动关闭。3.12测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。3.13尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一
11、般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:1、公告通知模块;2、统计分析模块;3、 广告模块;/广告模块是整个网上商城系统中的盈利板块之一4、 完善个人信息空间;/增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。4用户管理程序设计说明4.1程序描述用户管理程序功能描述: 会员的信息全部通过终端保存在数据库服务器, 管理员可以对这些信息进行增加, 修改和删除操作. 软件应该提供对会员的增加,修改和删除的操作;会员本身可以对自 身信息进行增加、查看、
12、修改等功能4.2功能系统名称BS网上商城模块名称用户管理模块模块编号T002作者XXX日期2011/7/16模块简述此模块用于对用户信息进行查看、修改、删除等调用模块会员查看、修改、删除、搜索模块被调用模块无输入项目会员的新信息或指定会员的信息格式所有信息严格按照数据库中表的字段的数据类型填入处理当输入会员的信息通过系统调用查看、修改、添加、删除时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出新会员被输入或者旧的会员信息被新的会员信息所代替并保存在数据库或会员信息被删除局部数据元素约束条件管理员通过后台登陆成功进入用户管理模块注释涉及的表:会员信息表(User) 表4
13、:用户管理程序模块IPO表4.3性能在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。 用户输入精度
14、的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数4.4输人项名称标识数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度会员查看varchar255手动输入键盘、鼠标数据库中的已有会员会员信息被严格保密待定待定指定一会员修改varchar255手动输入键盘、鼠标数据库中已有会员会员信息被严格保密待定待定指定一会员删除数据库中已有会员会员信息被严格保密待定待定 表5:用户管理程序模块输入信息表4.5输出项名称标识数据类型有效范围
15、输出方式输出媒体对应图形符号说明安全保密条件数量频度会员信息被输出varchar255自动输出会员信息被严格保密待定待定对应会员信息被修改varchar255自动输出会员信息被严格保密待定待定对应会员信息被删除自动输出会员信息被严格保密待定待定 表6:用户管理程序模块输出信息表4.6算法会员列表信息算法:final int PAGE_SIZE = 2; /每页显示多少条记录final int PAGES_PER_TIME = 10;/每次显示多少个页码链接int pageNo = 1;String strPageNo = request.getParameter(pageNo);if (str
16、PageNo != null & !strPageNo.trim().equals() try pageNo = Integer.parseInt(strPageNo); catch (NumberFormatException e) pageNo = 1;if (pageNo = 0)pageNo = 1;List users = new ArrayList();int totalRecords = User.getUsers(users, pageNo, PAGE_SIZE);int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SI
17、ZE;if (pageNo totalPages)pageNo = totalPages;%int start = (pageNo - 1) / PAGES_PER_TIME) * PAGES_PER_TIME + 1;for(int i=start; i totalPages) break;if(pageNo = i) % a href=UserList.jsp?pageNo= 采用如上所示的分页算法。 4.7流程逻辑 图10:会员管理模块流程图4.8接口 图11: 会员管理模块界面与本程序关联的User表: 图12:User表的信息图4.9存储分
18、配本模块由及其自动分配内存。4.10注释设计1. 模块首部的注释:用户验证程序。2. 对调用函数的注释:调用加密函数MD5。4.11限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和。在三次验证错误后,系统自动关闭。4.12测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。4.13尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功
19、能包括:1、公告通知模块;2、统计分析模块;3、 广告模块;/广告模块是整个网上商城系统中的盈利板块之一4、 完善个人信息空间;/增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。5订单管理程序设计说明5.1程序描述 订单管理程序功能的描述: 订单的信息全部通过终端保存在数据库服务器, 管理员可以对这些信息进行增 加, 修改和删除操作. 软件应该提供对订单的增加和删除的操作.;会员可以通过登 录查看自己的订单信息及过去的交易记录5.2功能系统名称BS网上商城模块名称订单模块模块编号T003作者XXX日期20
20、11/7/16模块简述此模块用于对订单进行查看、修改、删除等调用模块订单的查看、修改、删除模块被调用模块无输入项目产品的订单列表信息格式所有信息严格按照数据库中表的字段的数据类型填入处理当订单的信息通过系统调用查看、修改、删除时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出原订单信息被新的信息代替,并保存在数据库局部数据元素约束条件无注释涉及的表:订单信息表(SalesOrder) 表7:订单程序模块的IPO表5.3性能在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允
21、许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。 用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数5.4输人项名称标识数据类
22、型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度订单查看varchar255手动输入键盘、鼠标数据库中的已有订单订单会员信息被严格保密待定待定指定一订单修改varchar255手动输入键盘、鼠标数据库中已有订单订单会员信息被严格保密待定待定指定一订单删除数据库中已有订单订单会员信息被严格保密待定待定 表8:订单程序模块的输入项信息表5.5输出项名称标识数据类型有效范围输出方式输出媒体对应图形符号说明安全保密条件数量频度订单信息被输出varchar255自动输出订单会员信息被严格保密待定待定对应订单信息被修改varchar255自动输出订单会员信息被严格保密待定待定对应订单信息被删除自
23、动输出订单会员信息被严格保密待定待定 表9:订单程序模块的输出向信息表5.6算法订单列表所用到的算法:分页算法%String strPageNo = request.getParameter(pageno);int pageNo = 1;if(strPageNo != null) pageNo = Integer.parseInt(strPageNo);if(pageNo %/get all the usersList orders = new ArrayList();int totalRecords = OrderMgr.getInstance().getOrders(orders, pag
24、eNo, 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
25、 = 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 saleso
26、rder.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.se
27、tId(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:s
28、alesorder表的信息图5.9存储分配本模块由及其自动分配内存。5.10注释设计1. 模块首部的注释:用户验证程序。2. 对调用函数的注释:调用加密函数MD5。5.11限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和。在三次验证错误后,系统自动关闭。5.12测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。5.13尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功
29、能模块缺少的等工程或者后期版本中增加的功能包括:1、公告通知模块;2、统计分析模块;3、 广告模块;/广告模块是整个网上商城系统中的盈利板块之一4、 完善个人信息空间;/增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。6类别管理程序设计说明6.1程序描述 类别管理程序功能的描述: 商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这 些信息进行增加,修改和删除操作. 软件详细展示商品的类别信息。并且商品的添加必 须在二级子类别及以下添加。6.2功能系统名称BS网上商城模块名称类别管理
30、模块模块编号T001作者XXX日期2011/7/16模块简述此模块用于对类别进行查看、增加、修改、删除等调用模块添加、查看、修改、删除模块被调用模块无输入项目一个指定类别的信息或输入一个新的类别格式所有信息严格按照数据库中表的字段的数据类型填入处理当输入产品的类别信息通过系统调用查看、修改、添加、删除时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出新产品类别被输入或者旧的产品类别信息被新的产品类别信息所代替并保存在数据库局部数据元素约束条件无注释涉及的表:类别表(Category) 表10:类别管理程序模块的IPO表6.3性能在输入产品信息时严格执行数据库表所要求的精
31、度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与 要求不符将得到提示并重新进行操作。 用户输入精度的要求取决于相应功能所需参数的精度要求: 用户浏览的页面内如果需要用户输入相关
32、的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数6.4输人项名称标识数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度新产品类别varchar255手动输入键盘、鼠标商品新类别无待定待定指定以产品修改varchar255手动输入键盘、鼠标数据库中已有产品类别无待定待定指定以产品删除数据库中已有产品类别无待定待定 表11:类别管理程序模块的输入项信息表6.5输出项名称标识数据类型有效范围输出方式输出媒体对应图形符号说明安全保密条件数量频度新类别被添加varchar255自动输出无待定待定对应类别被修改v
33、archar255自动输出无待定待定对应类别被删除自动输出无待定待定 表12:类别管理程序模块的输出项信息表6.6算法类别列表中用到的特殊算法:for (int i = 0; i categories.size(); i+) Category c = categories.get(i);String preStr = ;for(int j=1; jc.getGrade(); j+) preStr += -;判断当前的id的类别的grade 是第几级,如果是第0级则直接现在当前的类别名,如果是第1级则在当前类别名前加“-”输出,每增加一个级别相应的在加“-”,但是级别数不超过2。6.7流程逻辑
34、图16:产品类别模块流程图6.8接口 图17:类别模块界面与本程序关联的Category表: 图18:Category表的信息图6.9存储分配本模块由及其自动分配内存。6.10注释设计1. 模块首部的注释:用户验证程序。2. 对调用函数的注释:调用加密函数MD5。6.11限制条件当系统第一次使用时,具有统一的用户ID和密码:超级用户和。在三次验证错误后,系统自动关闭。6.12测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。6.13尚未解决的问题需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,并且在开发工程中可能会出现功能不完善或者是功能模块缺少的等工程或者后期版本中增加的功能包括:1、公告通知模块;2、统计分析模块;3、 广告模块;/广告模块是整个网上商城系统中的盈利板块之一4、 完善个人信息空间;/增设空间留言、空间网页游戏、空间交友、产品分享、购买 心得等板块,这样可以增加用户的在线时间,收录更多的好 友,更加方便的了解产品的信息。最后:本系统由于经费问题,对界面没有特别人性化的设计。 在后续的版本中我们将会改善这个问题。