您好,欢迎访问三七文档
1软件项目的设计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)怎样描绘系统的体系结构?23)怎样绘制符合规范的流程图。4)怎样组织对设计阶段工作的评审?项目开发首先要做的事是什么?31、程序系统的结构图1:BS网上商城前台功能结构图后台功能模块用户管理产品管理统计分析类别管理订单管理退出系统产品添加产品修改产品删除类别添加类别修改类别删除会员查看会员修改会员删除订单查看订单修改网站访问列表会员购买比例列表图2:BS网上商城后台功能结构图前台功能模块商品查询商品展示商品购物商城公告用户管理订单查询新品上架特价商品销售排行会员资料会员公路会员注册收银台购物卡42、产品管理程序设计说明2.1程序描述产品管理程序功能的描述:商品的种类信息,详细信息全部通过终端保存在数据库服务器,管理员可以对这些信息进行增加,修改和删除操作.软件应该提供对管理员的增加,修改和删除的操作。2.2功能系统名称BS网上商城模块名称产品模块模块编号T001作者XXX日期2011/7/16模块简述此模块用于对产品进行增加、修改、删除、搜索等调用模块添加、查看、修改、删除、搜索模块被调用模块无输入项目一个指定产品的信息或添加一个新产品格式所有信息严格按照数据库中表的字段的数据类型填入处理当输入产品的信息通过系统调用查看、修改、添加、删除、搜查时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出新产品被输入或者旧的产品信息被新的产品信息所代替并保存在数据库局部数据元素约束条件无注释涉及的表:产品信息表(Product)表1:产品信息管理程序模块IPO表2.3性能在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员5提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与要求不符将得到提示并重新进行操作。用户输入精度的要求取决于相应功能所需参数的精度要求:用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数2.4输人项名称标识数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度新产品varchar255手动输入键盘、鼠标商城新产品无待定待定指定以产品修改varchar255手动输入键盘、鼠标数据库中也有产品无待定待定指定以产品删除数据库中已有产品无待定待定产品搜索varchar255手动输入键盘、鼠标数据库中已有产品无待定待定表2:输入项信息表2.5输出项名称标识数据类型有效范围输出方式输出媒体对应图形符号说明安全保密条件数量频度6新产品被添加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;iidArray.length;i++){conditionStr+=idArray[i];conditionStr+=,;}conditionStr=conditionStr.replaceAll(.$,));7//conditionStr=conditionStr.substring(0,conditionStr.length()-1)+);System.out.println(conditionStr);dao.delete(conditionStr);}2.7流程逻辑产品列表是否添加新产品是否修改产品信息否是否删除产品否是否上传否结束否产品添加界面是产品修改界面是产品删除界面是产品上传界面是图7:产品模块流程图82.8接口图8:产品模块界面与本程序关联的Product表:图9:Product表信息图3.1测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。4.1程序描述用户管理程序功能描述:9会员的信息全部通过终端保存在数据库服务器,管理员可以对这些信息进行增加,修改和删除操作.软件应该提供对会员的增加,修改和删除的操作;会员本身可以对自身信息进行增加、查看、修改等功能4.2功能系统名称BS网上商城模块名称用户管理模块模块编号T002作者XXX日期2011/7/16模块简述此模块用于对用户信息进行查看、修改、删除等调用模块会员查看、修改、删除、搜索模块被调用模块无输入项目会员的新信息或指定会员的信息格式所有信息严格按照数据库中表的字段的数据类型填入处理当输入会员的信息通过系统调用查看、修改、添加、删除时,对应的信息被数据库保存。当提交的信息不成功是,提示相应的处理并返回输出新会员被输入或者旧的会员信息被新的会员信息所代替并保存在数据库或会员信息被删除局部数据元素约束条件管理员通过后台登陆成功进入用户管理模块注释涉及的表:会员信息表(User)表4:用户管理程序模块IPO表4.3性能在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理员)增加的时候,不允许出现因为程序的原因导致增加操作失败,也不允许发生重复增加的数据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员提供的多种视图中将有各类数据库对象的相关数据类型及精度要求。管理员工作过程中可以利用工具或查询有关数据库对象的精度信息已决定输入的参数。如果管理员输入的参数与要求不符将得到提示并重新进行操作。用户输入精度的要求取决于相应功能所需参数的精度要求:用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数104.4输人项名称标识数据类型有效范围输入方式输入媒体输入数据来源安全保密条件数量频度会员查看varchar255手动输入键盘、鼠标数据库中的已有会员会员信息被严格保密待定待定指定一会员修改varchar255手动输入键盘、鼠标数据库中已有会员会员信息被严格保密待定待定指定一会员删除数据库中已有会员会员信息被严格保密待定待定表5:用户管理程序模块输入信息表4.5输出项名称标识数据类型有效范围输出方式输出媒体对应图形符号说明安全保密条件数量频度会员信息被输出varchar255自动输出会员信息被严格保密待定待定对应会员信息被修改varchar255自动输出会员信息被严格保密待定待定对应会员信息被删除自动输出会员信息被严格保密待定待定表6:用户管理程序模块输出信息表4.6算法会员列表信息算法:11finalintPAGE_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;ListUserusers=newArrayListUser();inttotalRecords=User.getUsers(users,pageNo,PAGE_SIZE);inttotalPages=(totalRecords+PAGE_SIZE-1)/PAGE_SIZE;if(pageNototalPages)pageNo=totalPages;%intstart=((pageNo-1)/PAGES_PER_TIME)*PAGES_PER_TIME+1;for(inti=start;istart+PAGES_PER_TIME;i++){if(itotalPages)break;if(pageNo==i){%tdbgcolor=#ffffff ub%=i%/b/u /td%}else{%td ahref=UserList.jsp?pageNo=%=i%%=i%/a /td%}}%采用如上所示的分页算法。124.7流程逻辑会员列表是否添加新会员是否修改会员信息否是否删除会员否结束会员添加界面是会员修改界面是会员删除界面是否图10:会员管理模块流程图4.8接口图11:会员管理模块界面13与本程序关联的User表:图12:User表的信息图4.12测试计划对本单元进行单元测试。进行黑盒测试,检验能否实现功能。输入正确的条件,预期结果,输出信息。输入错误的条件,预期结果,无法输出信息,提示输入正确条件。进行白盒测试,检验各程序路径是否能执行到。5订单管理程序设计说明5.1程序描述订单管理程序
本文标题:软件项目的设计
链接地址:https://www.777doc.com/doc-3494539 .html