软件项目的设计.docx
25页软件项目的设计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、程序系统的结构后台功能模 块用户管理 类别管理 产品管理 订单管理 统计分析 退出系统会员购买比例列表网站访问列表订单修改订单查看产品删除产品修改产品添加类别删除类别修改类别添加图 2 : BS 网上商城后台功能结构图2、产品管理程序设计说明2.1程序描述产品管理程序功能的描述:商品的种类信息, 详细信息全部通过终端保存在数据库服务器, 管理员可以对这 些信息进行增加,修改和删除操作. 软件应该提供对管理员的增加,修改和删除的操 作2.2 功能系统名称BS网上商城模块名称产品模块模块编号T001作者XXX日期2011/7/16模块简述此模块用于对产品进行增加、修改、删除、搜索等调用模块被调用模块添加、查看、修改、删除、搜 索模块无输入项目格式一个指定产品的信息或添加一个新产品所有信息严格按照数据库中表的字段的数据类型填入处理输出局部数据元素约束条件当输入产品的信息通过系统调用查看、修改、添加、删除、搜查时,对应的信息被数据库 保存。
当提交的信息不成功是,提示相应的处理并返回新产品被输入或者旧的产品信息被新的产品信息所代替并保存在数据库注释无涉及的表:产品信息表(Product)表 1 :产品信息管理程序模块 IPO 表2.3 性能在输入产品信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理 员)增加的时候,不允许出现因为程序的原因导致增加操作失败 ,也不允许发生重复增加的数 据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数 据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员 提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求管理员工作过程中可 以利用工具或查询有关数据库对象的精度信息已决定输入的参数如果管理员输入的参数与 要求不符将得到提示并重新进行操作用户输入精度的要求取决于相应功能所需参数的精度要求 : 用户浏览的页面内如果需 要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数2.4输人项名称标识数据类 型有效范围输入方 式输入媒 体输入数 据来源安全保 密条件数量频度新产品varchar255手动输入键盘、 鼠标商城新产品无待定待定指定以 产品修 改varchar255手动输入键盘、 鼠标数据库 中也有 产品无待定待定指定以 产品删 除数据库 中已有 产品无待定待定产品搜 索varchar255手动输入键盘、 鼠标数据库 中已有 产品无待定待定表 2 :输入项信息表2.5输出项名称标识数据类 型有效范围输出方 式输出媒 体对应图 形符号 说明安全保 密条件数量频度新产品 被添加varchar255自动输出无待定待定对应产 品被修 改varchar255自动输出无待定待定对应产 品被删 除自动输出无待定待定对应产 品被搜 索varchar255自动输出无待定待定表 3:输出项信息表2.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 < 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 接口1 q宙尸■滞1 ・哥円主;fI ^VIHI -I * AfirMI --S> w1 -"也F■苗看:F IBVti氐JI■甩厂3J*ungyu■JI.&□iGH A上丼厂1!TT3i ft-ISFft■Bit■收上舒阿号祖1吓坯:林至G菲:1^""HhttS;mN■ni・話*且图8:产品模块界面与本程序关联的Product表:栏位|索引|朴键|触发器|选【页|注辽类型辰度+逬位I允诈空?…idint110□.r'-nam亡vardnar2550deecrvarchar25f0nornnalpricedouble00nennberpricedouble0Qpdatedaietime□0categoryidintn0图9: Product表信息图3・1测试计划对本单元进行单元测试。
进行黑盒测试,检验能否实现功能输入正确的条件,预期结果,输出信息输入错误 的条件,预期结果,无法输出信息,提示输入正确条件进行白盒测试,检验各程序路径是否能执行到4.1程序描述用户管理程序功能描述: 会员的信息全部通过终端保存在数据库服务器, 管理员可以对这些信息进行增加, 修改和删除操作. 软件应该提供对会员的增加,修改和删除的操作;会员本身可以对自 身信息进行增加、查看、修改等功能4.2 功能调用模块被调用模块输入会员查看、修改、删除、搜索 模块无项目格式会员的新信息或指定会员的信息所有信息严格按照数据库中表的字段的数据类型填入处理输出局部数据元素约束条件当输入会员的信息通过系统调用查看、修改、添加、删除时,对应的信息被数据库保存 当提交的信息不成功是,提示相应的处理并返回新会员被输入或者旧的会员信息被新的会员信息所代替并保存在数据库或会员信息被删除注释管理员通过后台登陆成功进入用户管理模块 涉及的表:会员信息表(User)系统名称BS网上商城模块名称用户管理模块模块编号T002作者XXX日期2011/7/16模块简述此模块用于对用户信息进行查看、修改、删除等表 4 :用户管理程序模块 IPO 表4.3 性能在输入会员信息时严格执行数据库表所要求的精度,在执行数据(商品,订单,会员,管理 员)增加的时候,不允许出现因为程序的原因导致增加操作失败 ,也不允许发生重复增加的数 据;在执行数据删除操作的时候,不允许因为程序的原因发生多删除数据,删除失败的情况;数 据的修改也要求保持对应的准确性;管理员输入的精度要求主要取决于数据库的相关数据类型要求:在数据库为系统管理员 提 供的多种视图中将有各类数据库对象的相关数据类型及精度要求。
管理员工作过程中可 以利用工具或查询有关数据库对象的精度信息已决定输入的参数如果管理员输入的参数与 要求不符将得到提示并重新进行操作用户输入精度的要求取决于相应功能所需参数的精度要求 : 用户浏览的页面内如果需要用户输入相关的信息或参数将给出详细的数据类型说明,并且如果用户在非恶意的情况下 输入了错误的数据类型参数,系统将自动提示用户再次输入正确的参数4.4 输人项名称标识数据类 型有效范围输入方 式输入媒 体输入数 据来源安全保 密条件数量频度会员查 看varchar255手动。





