




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程SoftwareEngineering 计算机学院软件工程课程组 1 第2章软件质量评价 什么是好的软件 有何特点 软件评价的标准如何 什么是软件结构 什么是良软件结构 什么是模块化 模块设计时应遵循的标准是什么 2 一 软件质量评价标准 定性评价用户角度 达到需求 界面友好 简单易学开发人员角度 良结构 易测试 易维护 可移植 定量评价 软件度量 3 宏观标准 可靠性良软件结构文档齐全 4 二 软件结构 软件的各个组成部分之间的关系 5 基本概念 块扇出 直接由一个块所控制的块数扇入 直接调用它的上级块数目深度 控制的总层数宽度 跨度最宽层的跨度数 6 1 良软件结构 具有层次性 无回路块调用的软件结构 7 非良结构的调整 合并循环节点 良结构 AB 模块内部复杂性增加了 8 2 模块化 modularity 模块 Module 单元 Cell 模块化把程序划分成独立命名且可独立访问的模块 每个模块完成一个子功能 把这些模块集成起来构成一个整体 可以完成指定的功能满足用户的需求 9 模块化的依据 c x 问题x的复杂程度E x 解决问题x需要的工作量 时间 对于两个问题P1和P2ifC P1 C P2 thenE P1 E P2 若P能分解为P1 P2两个部分 由经验有 C P C P1 C P2 E P E P1 E P2 10 块的划分与总工作量之间的关系 在一个16开页面内可写完 约50行代码 11 模块的重要特征 抽象 abstraction 忽略细节 分层理解问题 自顶向下层层细化信息隐藏 informationhiding 细节隐藏可理解性修改副作用小错误副作用小 12 例 开发一个CAD软件 实现一个二维绘图系统的全部功能 供低级计算机辅助设计使用 抽象层次I 用问题环境的术语来描述这个软件该软件包括一个计算机绘图界面 向绘图员显示图形 以及一个数字化仪界面 用以代替绘图板和丁字尺 所有直线 折线 矩形 圆及曲线的描画 所有的几何计算 所有的剖面图和辅助视图都可以用这个CAD软件实现 模块化的抽象特征 13 模块化的抽象特征 抽象层次II 任务需求的描述 列出 What 而不是 How CADSOFTWARETASKS userinteractiontask 2 Ddrawingcreationtask graphicsdisplaytask drawingfilemanagementtask END 14 3 模块独立性 Moduleindependence 好设计的关键 每个模块完成一个相对独立的子功能 并且与其它模块间的接口简单 独立性的度量 Yourdon Constantine 1978 耦合 Coupling 块间联系内聚 Cohesion 块内联系 15 1 耦合 Coupling 对一个软件结构内不同模块之间互连程度的度量 16 零耦合 uncoupling 彼此完全独立 这意味着模块间无任何连接 耦合程度最低 17 数据耦合 DataCoupling 两个模块彼此间通过参数交换信息 而且交换的信息仅仅是数据 Themostdesirable 18 控制耦合 ControlCoupling 传递的信息中有控制信息 尽管有时这种控制信息以数据的形式出现 接口单一 但仍然影响被控模块的内部逻辑 19 公共环境耦合 CommonCoupling 两个或多个模块通过一个公共数据环境相互作用 问题 公共部分的改动将影响所有调用它的模块 公共部分的数据存取无法控制 复杂程度随耦合模块的个数增加而增加 20 内容耦合 ContentCoupling 一个模块访问另一个模块的内部数据一个模块不通过正常入口而转到另一个模块的内部两个模块有一部分程序代码重叠 只可能出现在汇编程序中 一个模块有多个入口 Theleastdesirable 21 内容耦合 例1 A访问C的内部数据或不通过正常入口而转入C的内部 22 内容耦合 23 耦合度与软件结构 原则 尽量使用数据耦合 少用控制耦合 限制公共环境耦合的范围 完全不用内容耦合 24 2 内聚 Cohesion Goal ascohesiveaspossible 一个模块内各个元素彼此结合的紧密程度理想内聚的模块只做一件事情模块内的高内聚往往意味着模块间的松耦合内聚更重要 25 偶然内聚 Coincidentalcohesion Unrelatedfunctions processes ordataarefoundinthesamemodule forconvenience A B 26 逻辑内聚 LogicalCohesion Logicallyrelatedfunctionsordataareplacedinthesamemodule 27 逻辑内聚 28 时间内聚 Temporalcohesion Thefunctionsarerelatedonlybythetiminginvolved initialxInitialy 29 过程内聚 Proceduralcohesion Functionsaregroupedtogetherinamoduletoensureacertainorderofperformance 30 通信内聚 Communicationalcohesion Allthefunctionsinamoduleoperateonorproducethesamedataset X从文件file读出数据由数据产生日报表由数据产生单项产品报表 31 顺序内聚 Sequentialcohesion Theoutputfromonepartofamoduleistheinputtothenextpart X输入系数求根打印方程的根 32 功能内聚 Functionalcohesion Everyprocessingelementisessentialtotheperformanceofasinglefunction X报表打印 33 内聚度与软件结构 设计时力争做到高内聚 34 三 软件度量 度量 metrics 测量 measure 估算 estimation 35 软件度量 软件复杂性度量规模文本复杂性控制结构的复杂性软件可靠性度量系统故障率软件修复与软件有效性软件可靠性估算 36 1 软件复杂性度量 规模文本复杂性控制结构的复杂性 37 1 规模度量 Size OrientedMetrics 代码行 Linesofcode LOC 生产率 LOCperperson month 代码行数 工作月Pl L E每行代码的平均成本 perLOC 总成本 代码行数Cl S L代码出错率 ErrorsperkLOC 总错误数 代码行数EQRl Ne L 38 某软件项目记录 Pl 12 1kLOC 24PM 504LOC PMCl 168000 12 1kLOC 13 88 LOCEQRl 29个 12 1Kloc 2 4个 kLOC 39 代码行数估算软件规模的特点 优点 简单易行缺点 依赖于语言不能刻画算法的难易程度开发前或初期估算困难只适用于过程式语言 不适用于4GL 40 2 文本复杂性度量 程序语言符号长度N N1 N2N1 程序中操作符总个数n1 程序中不同操作符个数N2 程序中操作数总个数n2 程序中不同操作数个数估算公式 N n1log2n1 n2log2n2程序量V Nlog2 n1 n2 41 3 控制结构的复杂性度量 1976 T J McCabe基于程序拓扑结构的软件复杂性度量模型巡回秩数V G V G e n 2 边数 结点数 2可以证明 V G 有界或无界的封闭区域个数 42 程序控制结构的复杂性 43 2 软件可靠性度量 软件的可靠性在某个给定时间间隔内 程序按照规格说明成功运行的概率 44 1 系统故障率 45 2 软件修复与软件有效性 有效性函数A t 系统在t时刻正常运行的概率可靠性函数R t 系统在 0 t 时间间隔正常运行的概率A MTTF MTTF MTTR MTTF为平均无故障时间 MTTR为平均修复时间 A为机器的稳定性 46 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年营养师考试冲刺试卷:实操技能与心理营养深度解析
- 新能源汽车发展前景
- 深层搅拌桩软基处理施工方案
- 2025年东北师范大学教师教育研究院春季学期专任教师招聘7人考前自测高频考点模拟试题及答案详解(新)
- 2024计算机四级考前冲刺练习试题及答案详解【夺冠】
- 2024计算机四级考前冲刺练习及答案详解【考点梳理】
- 2025临床执业医师测试卷(名校卷)附答案详解
- 2024-2025学年自考专业(计算机网络)考试彩蛋押题含答案详解(完整版)
- 2024自考专业(建筑工程)考试黑钻押题含答案详解(培优A卷)
- 2024-2025学年度广播电视播音员主持人能力提升B卷题库附参考答案详解【能力提升】
- 隐形眼镜测试题及答案
- Unit 3 A Lets learn湖北公开课课件
- 2025年上半年湖南湘西州龙山县事业单位招聘工作人员41人易考易错模拟试题(共500题)试卷后附参考答案
- 加油站员工绩效考核制度或加油站员工激励约束办法
- 浆砌石挡墙拆除施工技术方案
- 《陶瓷的加工和改性》课件
- 危化品泄漏事故应急处理
- 【MOOC】《操作系统A》(南京邮电大学)章节中国大学慕课答案
- 第三单元 单元学习任务 说课稿 2024-2025学年统编版高中语文必修上册
- 氩弧焊焊接不锈钢培训
- 《公共数据安全评估规范》
评论
0/150
提交评论