版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目的设计1实验目的1)掌握系统总体结构的设计;2)掌握系统接口设计,数据结构设计;3)掌握系统概要设计的环节和方法。4)掌握模块的程序描述;5)纯熟使用流程图、PDL等具体描述工具;6)掌握具体设计的环节和方法。2实验规定规定完毕概要设计和部分具体设计,运用word和visio或其它建模工具写出设计文档。需要给出系统合理的解决方案;包含模块及模块间调用关系;部分关键模块的实现方案。3实验内容1)重要解决实现该系统需求的程序模块设计问题。(涉及如何把该系统划提成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。)2)进行软件系统的结构设计、逐个模块的程序描述(涉及各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)4实验环节1)一方面拟定系统总体设计方案(分清系统是事务型还是加工型)。2)完毕系统的模块结构图及模块的功能说明。3)完毕系统的接口设计。4)完毕系统的数据结构设计写出该课题的可行性报告,熟悉相应的软件开发环境。5)一方面进行程序系统的结构设计。6)然后对重要程序进行描述。5实验学时2学时。6实验结果上交所制作的流程图文献和实验报告。7思考题1)系统设计和需求分析的关系是什么?两者必须先后关联吗?2)如何描绘系统的体系结构?3)如何绘制符合规范的流程图。4)如何组织对设计阶段工作的评审?项目开发一方面要做的事是什么?
1、程序系统的结构前台功能模块前台功能模块商城公告订单查询用户管理商品购物商品查询商品展示商城公告订单查询用户管理商品购物商品查询商品展示销售排行特价商品新销售排行特价商品新品上架会员资料会员公路会员注册收银台购物卡会员资料会员公路会员注册收银台购物卡图1:BS网上商城前台功能结构图图2:BS网上商城后台功能结构图2、产品管理程序设计说明2.1程序描述产品管理程序功能的描述:商品的种类信息,具体信息所有通过终端保存在数据库服务器,管理员可以对这些信息进行增长,修改和删除操作.软件应当提供对管理员的增长,修改和删除的操作。2.2功能系统名称BS网上商城模块名称产品模块模块编号T001作者XXX日期2023/7/16模块简述此模块用于对产品进行增长、修改、删除、搜索等调用模块添加、查看、修改、删除、搜索模块被调用模块无输入项目一个指定产品的信息或添加一个新产品格式所有信息严格按照数据库中表的字段的数据类型填入解决当输入产品的信息通过系统调用查看、修改、添加、删除、搜查时,相应的信息被数据库保存。当提交的信息不成功是,提醒相应的解决并返回输出新产品被输入或者旧的产品信息被新的产品信息所代替并保存在数据库局部数据元素约束条件无注释涉及的表:产品信息表(Product)表1:产品信息管理程序模块IPO表2.3性能在输入产品信息时严格执行数据库表所规定的精度,在执行数据(商品,订单,会员,管理员)增长的时候,不允许出现由于程序的因素导致增长操作失败,也不允许发生反复增长的数据;在执行数据删除操作的时候,不允许由于程序的因素发生多删除数据,删除失败的情况;数据的修改也规定保持相应的准确性;管理员输入的精度规定重要取决于数据库的相关数据类型规定:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度规定。管理员工作过程中可以运用工具或查询有关数据库对象的精度信息已决定输入的参数。假如管理员输入的参数与规定不符将得到提醒并重新进行操作。用户输入精度的规定取决于相应功能所需参数的精度规定:用户浏览的页面内假如需要用户输入相关的信息或参数将给出具体的数据类型说明,并且假如用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提醒用户再次输入对的的参数2.4输人项名称标记数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度新产品varchar255手动输入键盘、鼠标商城新产品无待定待定指定以产品修改varchar255手动输入键盘、鼠标数据库中也有产品无待定待定指定以产品删除数据库中已有产品无待定待定产品搜索varchar255手动输入键盘、鼠标数据库中已有产品无待定待定表2:输入项信息表2.5输出项名称标记数据类型有效范围输出方式输出媒体相应图形符号说明安全保密条件数量频度新产品被添加varchar255自动输出无待定待定相应产品被修改varchar255自动输出无待定待定相应产品被删除自动输出无待定待定相应产品被搜索varchar255自动输出无待定待定表3:输出项信息表2.6算法产品添加算法:functioncheck(){ VarselectedCategory=document.formAdd.categoryId.options[document.formAdd.categoryId.selectedIndex]; varselectedValue=selectedCategory.value; if(二级分类不等于2){ alert("请选择第二级分类!"); document.formAdd.categoryId.focus(); returnfalse; }else{ selectedCategory.value=将二级分类的pid设为0; } returntrue;}多个产品一块删除算法:String[]idArray=request.getParameterValues("id");if(idArray==null||idArray.length==0){ out.println("ID号输入错误!"); return;}publicvoiddelete(String[]idArray){ StringconditionStr="whereidin("; for(inti=0;i<idArray.length;i++){ conditionStr+=idArray[i]; conditionStr+=","; } conditionStr=conditionStr.replaceAll(".$",")"); //conditionStr=conditionStr.substring(0,conditionStr.length()-1)+")";System.out.println(conditionStr); dao.delete(conditionStr); }2.7流程逻辑图7:产品模块流程图2.8接口图8:产品模块界面与本程序关联的Product表:图9:Product表信息图3.1测试计划对本单元进行单元测试。进行黑盒测试,检查能否实现功能。输入对的的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提醒输入对的条件。进行白盒测试,检查各程序途径是否能执行到。4.1程序描述用户管理程序功能描述:会员的信息所有通过终端保存在数据库服务器,管理员可以对这些信息进行增长,修改和删除操作.软件应当提供对会员的增长,修改和删除的操作;会员自身可以对自身信息进行增长、查看、修改等功能4.2功能系统名称BS网上商城模块名称用户管理模块模块编号T002作者XXX日期2023/7/16模块简述此模块用于对用户信息进行查看、修改、删除等调用模块会员查看、修改、删除、搜索模块被调用模块无输入项目会员的新信息或指定会员的信息格式所有信息严格按照数据库中表的字段的数据类型填入解决当输入会员的信息通过系统调用查看、修改、添加、删除时,相应的信息被数据库保存。当提交的信息不成功是,提醒相应的解决并返回输出新会员被输入或者旧的会员信息被新的会员信息所代替并保存在数据库或会员信息被删除局部数据元素约束条件管理员通过后台登陆成功进入用户管理模块注释涉及的表:会员信息表(User)表4:用户管理程序模块IPO表4.3性能在输入会员信息时严格执行数据库表所规定的精度,在执行数据(商品,订单,会员,管理员)增长的时候,不允许出现由于程序的因素导致增长操作失败,也不允许发生反复增长的数据;在执行数据删除操作的时候,不允许由于程序的因素发生多删除数据,删除失败的情况;数据的修改也规定保持相应的准确性;管理员输入的精度规定重要取决于数据库的相关数据类型规定:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度规定。管理员工作过程中可以运用工具或查询有关数据库对象的精度信息已决定输入的参数。假如管理员输入的参数与规定不符将得到提醒并重新进行操作。用户输入精度的规定取决于相应功能所需参数的精度规定:用户浏览的页面内假如需要用户输入相关的信息或参数将给出具体的数据类型说明,并且假如用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提醒用户再次输入对的的参数4.4输人项名称标记数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度会员查看varchar255手动输入键盘、鼠标数据库中的已有会员会员信息被严格保密待定待定指定一会员修改varchar255手动输入键盘、鼠标数据库中已有会员会员信息被严格保密待定待定指定一会员删除数据库中已有会员会员信息被严格保密待定待定表5:用户管理程序模块输入信息表4.5输出项名称标记数据类型有效范围输出方式输出媒体相应图形符号说明安全保密条件数量频度会员信息被输出varchar255自动输出会员信息被严格保密待定待定相应会员信息被修改varchar255自动输出会员信息被严格保密待定待定相应会员信息被删除自动输出会员信息被严格保密待定待定表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;List<User>users=newArrayList<User>(); 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;i<start+PAGES_PER_TIME;i++){ if(i>totalPages)break; if(pageNo==i){%><tdbgcolor="#ffffff"> <u><b><%=i%></b></u> </td><%}else{%><td> <ahref="UserList.jsp?pageNo=<%=i%>"><%=i%></a> </td><% }}%>采用如上所示的分页算法。4.7流程逻辑图10:会员管理模块流程图4.8接口图11:会员管理模块界面与本程序关联的User表:图12:User表的信息图4.12测试计划对本单元进行单元测试。进行黑盒测试,检查能否实现功能。输入对的的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提醒输入对的条件。进行白盒测试,检查各程序途径是否能执行到。5订单管理程序设计说明5.1程序描述订单管理程序功能的描述:订单的信息所有通过终端保存在数据库服务器,管理员可以对这些信息进行增加,修改和删除操作.软件应当提供对订单的增长和删除的操作.;会员可以通过登录查看自己的订单信息及过去的交易记录5.2功能系统名称BS网上商城模块名称订单模块模块编号T003作者XXX日期2023/7/16模块简述此模块用于对订单进行查看、修改、删除等调用模块订单的查看、修改、删除模块被调用模块无输入项目产品的订单列表信息格式所有信息严格按照数据库中表的字段的数据类型填入解决当订单的信息通过系统调用查看、修改、删除时,相应的信息被数据库保存。当提交的信息不成功是,提醒相应的解决并返回输出原订单信息被新的信息代替,并保存在数据库局部数据元素约束条件无注释涉及的表:订单信息表(SalesOrder)表7:订单程序模块的IPO表5.3性能在执行数据(商品,订单,会员,管理员)增长的时候,不允许出现由于程序的因素导致增长操作失败,也不允许发生反复增长的数据;在执行数据删除操作的时候,不允许由于程序的因素发生多删除数据,删除失败的情况;数据的修改也规定保持相应的准确性;管理员输入的精度规定重要取决于数据库的相关数据类型规定:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度规定。管理员工作过程中可以运用工具或查询有关数据库对象的精度信息已决定输入的参数。假如管理员输入的参数与规定不符将得到提醒并重新进行操作。用户输入精度的规定取决于相应功能所需参数的精度规定:用户浏览的页面内假如需要用户输入相关的信息或参数将给出具体的数据类型说明,并且假如用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提醒用户再次输入对的的参数5.4输人项名称标记数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度订单查看varchar255手动输入键盘、鼠标数据库中的已有订单订单会员信息被严格保密待定待定指定一订单修改varchar255手动输入键盘、鼠标数据库中已有订单订单会员信息被严格保密待定待定指定一订单删除数据库中已有订单订单会员信息被严格保密待定待定表8:订单程序模块的输入项信息表5.5输出项名称标记数据类型有效范围输出方式输出媒体相应图形符号说明安全保密条件数量频度订单信息被输出varchar255自动输出订单会员信息被严格保密待定待定相应订单信息被修改varchar255自动输出订单会员信息被严格保密待定待定相应订单信息被删除自动输出订单会员信息被严格保密待定待定表9:订单程序模块的输出向信息表5.6算法订单列表所用到的算法:分页算法<%!privatestaticfinalintPAGE_SIZE=2;%><%StringstrPageNo=request.getParameter("pageno");intpageNo=1;if(strPageNo!=null){ pageNo=Integer.parseInt(strPageNo);}if(pageNo<1)pageNo=1;%><%//getalltheusersList<SalesOrder>orders=newArrayList<SalesOrder>();inttotalRecords=OrderMgr.getInstance().getOrders(orders,pageNo,PAGE_SIZE);inttotalPages=(totalRecords+PAGE_SIZE-1)/PAGE_SIZE;if(pageNo>totalPages)pageNo=totalPages;%>按id进行展现算法:SalesOrderso=OrderMgr.getInstance().loadById(uid);publicSalesOrderloadById(intid){ Connectionconn=DB.getConn(); Statementstmt=DB.getStatement(conn); ResultSetrs=null; SalesOrderso=null; try{ Stringsql="selectsalesorder.id,salesorder.userid,salesorder.odate,salesorder.addr,salesorder.status,"+ "user.iduid,user.username,user.password,user.addruaddr,user.phone,user.rdatefromsalesorder"+ "joinuseron(salesorder.userid=user.id)wheresalesorder.id="+id; rs=DB.getResultSet(stmt,sql); if(rs.next()){ Useru=newUser(); 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=newSalesOrder(); so.setId(rs.getInt("id")); so.setAddr(rs.getString("addr")); so.setODate(rs.getTimestamp("odate")); so.setStatus(rs.getInt("status")); so.setUser(u); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ DB.close(rs); DB.close(stmt); DB.close(conn); } returnso; }5.7流程逻辑图13:订单管理程序模块流程图5.8接口图14:产品模块界面与本程序关联的salesorder表:图15:salesorder表的信息图5.12测试计划对本单元进行单元测试。进行黑盒测试,检查能否实现功能。输入对的的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提醒输入对的条件。进行白盒测试,检查各程序途径是否能执行到。类别管理程序设计说明6.1程序描述类别管理程序功能的描述:商品的种类信息,具体信息所有通过终端保存在数据库服务器,管理员可以对这些信息进行增长,修改和删除操作.软件具体展示商品的类别信息。并且商品的添加必须在二级子类别及以下添加。6.2功能系统名称BS网上商城模块名称类别管理模块模块编号T001作者XXX日期2023/7/16模块简述此模块用于对类别进行查看、增长、修改、删除等调用模块添加、查看、修改、删除模块被调用模块无输入项目一个指定类别的信息或输入一个新的类别格式所有信息严格按照数据库中表的字段的数据类型填入解决当输入产品的类别信息通过系统调用查看、修改、添加、删除时,相应的信息被数据库保存。当提交的信息不成功是,提醒相应的解决并返回输出新产品类别被输入或者旧的产品类别信息被新的产品类别信息所代替并保存在数据库局部数据元素约束条件无注释涉及的表:类别表(Category)表10:类别管理程序模块的IPO表6.3性能在输入产品信息时严格执行数据库表所规定的精度,在执行数据(商品,订单,会员,管理员)增长的时候,不允许出现由于程序的因素导致增长操作失败,也不允许发生反复增长的数据;在执行数据删除操作的时候,不允许由于程序的因素发生多删除数据,删除失败的情况;数据的修改也规定保持相应的准确性;管理员输入的精度规定重要取决于数据库的相关数据类型规定:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度规
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 富达输电司机安全培训课件
- 富洋烧烤店培训课件教学
- 2026年家具清洗服务合同协议
- 2026年汽车租赁保险条款合同协议
- 2026年解除婚姻合同协议书
- 宠物买卖协议2026年合同签署版
- 2026年智慧城市物联网建设合同协议
- 网络安全服务合同2026年合规审查协议
- 2026年智能办公系统合同协议
- 2026年家政服务合同模板规范范本
- 教育培训机构董事会决策机制范文
- 胰岛素皮下注射团体标准解读
- 《电气安装与维修》课件 项目四 YL-G156A 型能力测试单元-智能排故板
- 海洋能技术的经济性分析
- 云南省昭通市2024-2025学年七年级上学期期末历史试题(含答案)
- 2025年度解除房屋租赁合同后的产权交接及费用结算通知
- 四川省绵阳市2024-2025学年高一上学期期末地理试题( 含答案)
- 医院培训课件:《黄帝内针临床运用》
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 广东省民间信仰活动场所登记编号证样式和填写说明
评论
0/150
提交评论