版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件设计的目标和目的软件设计的目标和目的 软件需求:解决软件需求:解决“做什么做什么” 需求分析:明确需求分析:明确“做什么做什么” 软件设计:解决软件设计:解决“怎么做怎么做” 映映射射F工具工具 如何描述软件的总体结构如何描述软件的总体结构F方法方法 用什么方法由问题结构导出用什么方法由问题结构导出 软件结构软件结构F评估准则评估准则 什么样的软件结构是什么样的软件结构是 “最优的最优的”软件设计方法软件设计方法F结构化设计方法结构化设计方法(SD)F面向数据结构的设计方法面向数据结构的设计方法(JSD方法方法)F面向对象的设计方法面向对象的设计方法(OOD)1 软件设计过程编码测试信息描
2、述功能描述行为描述其他描述数据设计程序模块集成并确认的软件总体结构设计过程设计设计讨论要点(1)(1)如何将分析模型转换为软件如何将分析模型转换为软件 设计?设计?(2)(2)作为软件工程师在软件设计作为软件工程师在软件设计 方面应使用方面应使用哪些基本原则和哪些基本原则和 概念?概念?数数 据据 设设 计计体系结构设计体系结构设计接口设计接口设计过程设计过程设计分析模型设计模型文件管理文件管理网络管理网络管理设备管理设备管理高速缓冲存储器高速缓冲存储器对虚拟文件的对虚拟文件的字节流字节流, ,虚拟文件可为虚拟文件可为任何设备和实任何设备和实体体抽抽象象分解分解成成本本或或工工作作量量模块数量
3、模块数量软件总成本软件总成本集成成本集成成本成本成本/ /模块模块M最小成本区域最小成本区域模模块块独独立立性性弱弱( (功能分散功能分散) )强强( (功能单一功能单一) )ABCMMOVE O TO RREAD FILE FMOVE S TO T模块模块M中的三个语句没有任何联系中的三个语句没有任何联系缺点:缺点:可理解性差,可理解性差, 可修改性差可修改性差例例: :ABCEFGABCEFGA1B1C1EFGEFG模块内部逻辑模块内部逻辑E E、F F、G G逻辑逻辑功能相似,组功能相似,组成新模块成新模块EFGEFG缺点缺点:增强了耦合程度增强了耦合程度( (控制耦合控制耦合) ) 不
4、易修改,效率低不易修改,效率低公用代码段公用代码段公用代码段公用代码段建立方程组系数矩阵建立方程组系数矩阵高斯消去法高斯消去法回回 代代高斯消去法解题流程高斯消去法解题流程读入读入成绩单成绩单审查审查成绩单成绩单统计统计成绩成绩打印打印成绩成绩读入并审查读入并审查成绩单成绩单统计并打印统计并打印成绩单成绩单产生工产生工资报表资报表计算平计算平均工资均工资职工工职工工资记录资记录职工工职工工资报表资报表平均平均工资工资产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块符符 号号 表表查找查找 添加添加 删除删除修改修改几个加工同时引用一个共同的数据几个加工同时引用一个共同的数据
5、顺序内聚性通讯内聚性无耦合没有依赖关系无耦合没有依赖关系松散耦合有松散耦合有少量依赖关系少量依赖关系紧密耦合有紧密耦合有很多依赖关系很多依赖关系模模块块独独立立性性弱弱( (低耦合低耦合) )强强( (中耦合中耦合) )( (较强耦合较强耦合) )( (强耦合强耦合) )模块模块1 1模块模块2 2模块模块3 3模块模块4 4开发票开发票计算水费计算水费单价单价数量数量金额金额计算水电费计算水电费计算水费计算水费计算电费计算电费住户情况住户情况水费水费电费电费住户情况住户情况“住户情况住户情况”是一个是一个数据结构数据结构, ,图中模块都图中模块都与此数据结构有关与此数据结构有关. .“计算水
6、费计算水费”和和“计算计算电费电费”本无关本无关, ,由于引用了此数据结构产生由于引用了此数据结构产生依赖关系依赖关系, ,它们之间也是特征耦合它们之间也是特征耦合. .计算水电费计算水电费计算水费计算水费计算电费计算电费本月本月用水量用水量本月本月用电量用电量水费水费电费电费A A计算平均分计算平均分或最高分或最高分B B平均平均/ /最高最高( (控制信号控制信号) )成绩成绩读入分数读入分数输出结果输出结果计算平均分计算平均分计算最高分计算最高分平均平均/ /最高最高? ?B BA A计算平均分计算平均分B1B1平均成绩最高成绩计算最高分计算最高分B2B2公共数据区公共数据区C CB B
7、模块模块A A、B B、C C间存在错综复杂的联系间存在错综复杂的联系一模块直接访问一模块直接访问另一模块的内部另一模块的内部信息信息 ( (程序代码程序代码或数据)或数据)最不好的耦合形式最不好的耦合形式 !ABAB模块代码重叠模块代码重叠Entry1 Entry1 多入口模块多入口模块S1S3S4S5S2P1P2P4P5P3待解问题软件“解”PS2S1S3S4S5S1S3S2S4S5S4S1S3S2S5模块的内聚度和耦合度是结构好坏的判断标准Mabdehfghifcmjopnqr深度宽度扇出扇入模块A过程说明模块A程序结构上层模块的过程描述从属模块的过程描述最低级从属模块的过程描述1. 1
8、. 程序流程图程序流程图2. 2. 盒图盒图(N-S(N-S图图) )3. 3. 问题分析图问题分析图(PAD)(PAD)4. 4. 过程设计语言过程设计语言(PDL)(PDL)( (伪码伪码) )5. 5. 判定表判定表第一个任务下一个任务再下一个任务顺序结构F 条件 Tthen部分else部分if-then-else结构循环条件 Do-while 部分 Repeat 部分 循环条件循环结构 选择条件 值2值1选择结构 值Ncase2case1 caseNA表示子程序调用(调用模块A)ABCABF条件条件TAFT条件条件then 部分部分then 部分部分else部分部分A1值值1 1A2A
9、n.条件条件值值2 2值值n nS(循环体)(循环体)DO-WHILE PS(循环体)(循环体)REPEAT UNTIL P( (先测试循环先测试循环) )( (后测试循环后测试循环) )循环条件循环条件A1A2An.ACBFX6TA:D( (调用结构调用结构) )ABCABTF条条件件WHILE CSUNTIL CS(先测试循环)(后测试循环)等价的等价的PASCALPASCAL语言:语言:REPEAT C UNTIL S等价的等价的PASCALPASCAL语言:语言:WHILE C DO S正文加工系统正文加工系统输入输入输出输出编辑编辑加标题加标题存储存储检索检索 编目录编目录添加添加删
10、除删除插入插入修改修改合并合并列表列表正文加工系统正文加工系统输入输入1.01.0输出输出2.02.0编辑编辑3.03.0加标题加标题 4.04.0存储存储5.05.0检索检索6.06.0编目录编目录 7.07.0添加添加3.13.1删除删除3.23.2插入插入3.33.3修改修改3.43.4合并合并3.53.5列表列表3.63.6命令监控器命令监控器1.01.0取得输入取得输入1.11.1输入确认输入确认 1.21.2请求确认请求确认1.31.3更新处理更新处理 1.41.4输入输入处理处理输出输出读口令请求读口令请求口令文件口令文件1 1取得输入取得输入2 2口令确认口令确认3 3请求确认请求确认请求记录请求记录权限文件权限文件4 4更新处理更新处理权限记录权限记录状态报告状态报告响应响应命令监控器命令监控器(1.0)(1.0)的的IPOIPO图图IPOIPO图图系统:模块:编号:作者:日期:被调用:调用:输出:输入:输入:局部数据元素:注释:初始处理初始处理数据检查、库存数据检查、库存询问、库存分配询问、库存分配定货处理定货处理帐单处理帐单处理启动定货销售启动定货销售工作结束工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度文化传媒内容制作合同
- 2024年大型活动保障车辆租赁合同
- 2024年上海房屋装修工程分包合同
- 2024年廉洁承诺函:双方诚信自律协议
- 教育工作者主要先进事迹(5篇)
- 中学生读书演讲稿
- 2024年度质量控制合同:MLB棒球帽正品知识分享
- 2024年工程监测与检测合同
- 2024室内外演唱会舞台安全检测合同
- 2024年国际商贸合同的科学与艺术
- YY∕T 1782-2021 骨科外固定支架力学性能测试方法(高清最新版)
- 西亚教学设计与反思
- 乙酸乙酯的反应器设计流程图
- EM277的DP通讯使用详解
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
评论
0/150
提交评论