2022年软件工程导论复习重点总结很全3.docx





《2022年软件工程导论复习重点总结很全3.docx》由会员分享,可在线阅读,更多相关《2022年软件工程导论复习重点总结很全3.docx(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 第 1 章软件工程学概述1.1 软件危机1.1.1 软件危机的介绍软件危机 软件萧条、软件困扰 :是指在运算机软件的开发和爱护过程中所遇到的一系列严峻问题;软件危机包含下述两方面的问题 : 如何开发软件 ,满意对软件日益增长的需求 ; 如何爱护数量不断膨胀的已有软件;软件危机的典型表现 : 1 对软件开发成本和进度的估量常常很不精确 ; 2 用户对 “已完成的 ”软件系统不中意的现象常常发生 ; 3 软件产品的质量往往靠不住 ; 4 软件常常是不行爱护的 ; 5 软件通常没有适当的文档资料 ; 6 软件成本在运算机系统总成本中所占的比例逐年上升
2、 ; 7 软件开发生产率提高的速度 1.1.2 产生软件危机的缘由 1 与软件本身的特点有关,远远跟不上运算机应用快速普及深化的趋势;2 与软件开发与爱护的方法不正确有关名师归纳总结 - - - - - - -第 1 页,共 48 页精选学习资料 - - - - - - - - - 1.1.3 排除软件危机的途径 对运算机软件有正确的熟悉;熟悉到软件开发是一种组织良好、治理严密、各类人员协同协作、共同完成的 工程项目;应当推广使用在实践中总结出来的开发软件的胜利技术和方法 ,并连续 讨论探究;应当开发和使用更好的软件工具;总之 ,为明白决软件危机 ,既要有技术措施 方法和工具 ,又要有必要的组
3、织治理 措施;1.2 1.2.1 软件工程的介绍 软件工程 :是指导运算机软件开发和爱护的一门工程学科;采纳工程的概念、原理、技术和方法来开发与爱护软件 前能够得到的最好的技术方法结合起来 护它 ,这就是软件工程; 期中考软件工程的本质特性 : 软件工程关注于大型程序的构造,把经过时间考查而证明正确的治理技术和当 ,以经济地开发出高质量的软件并有效地维软件工程的中心课题是掌握复杂性 软件常常变化 开发软件的效率特别重要 和谐地合作是开发软件的关键 软件必需有效地支持它的用户名师归纳总结 - - - - - - -第 2 页,共 48 页精选学习资料 - - - - - - - - - 在软件工
4、程领域中是由具有一种文化背景的人替具有另一种文化背景的人制造 产品 1.2.2 软件工程的基本原理 用分阶段的生命周期方案严格治理 坚持进行阶段评审 实行严格的产品掌握 采纳现代程序设计技术 结果应能清晰地审查 开发小组的人员应当少而精 承认不断改进软件工程实践的必要性 1.2.3 软件工程方法学 软件工程包括技术和治理两方面的内容;软件工程方法学 3 要素 :方法、工具、过程1.传统方法学 生命周期方法学或结构化范型 强调自顶向下2.面对对象方法学 强调主动地多次反复迭代 面对对象方法学 4 个要点 :对象、类、继承、消息 1.3 软件生命周期 必考 三个时期八个阶段 :软件生命周期由软件定
5、义、软件开发和运行爱护 也称为软 件爱护三个时期组成 ,每个时期又进一步划分成如干个阶段;名师归纳总结 - - - - - - -第 3 页,共 48 页精选学习资料 - - - - - - - - - 三个时期 :八个阶段 : 软件生命周期软件定义 软件开发 软件爱护 问题定义 可行性讨论 需求分析 概要设计 具体设计 编码和单元测试 综合测试运行爱护 系统设计 系统实现 1.4 软件过程 1.4.1 瀑布模型名师归纳总结 - - - - - - -第 4 页,共 48 页精选学习资料 - - - - - - - - - 1.4.2 快速原型模型 1.4.3 增量模型 1.4.4 螺旋模型
6、1.4.5 喷泉模型 第 2 章可行性讨论 2.1 可行性讨论的任务 可行性讨论的目的 : 不是解决问题 ,而是确定问题是否值得去解决;可行性讨论的实质 : 进行一次大大压缩简化了的系统分析和设计的过程 抽象的方式进行的系统分析和设计的过程;可行性讨论的内容 : ,也就是在较高层次上以较第一进一步分析和澄清问题定义 ,导出系统的规律模型 ; 然后从系统规律模型动身 ,探究如干种可供挑选的主要解法 即系统实现方案 ; 对每种解法都讨论它的可行性 主要方面 : ,至少应当从三方面讨论每种解法的可行性;技术可行性 ,经济可行性 ,操作可行性 , 其他方面 : 运行可行性 ,法律可行性 , 名师归纳总
7、结 - - - - - - -第 5 页,共 48 页精选学习资料 - - - - - - - - - 2.2 可行性讨论过程 1.复查系统规模和目标 2. 讨论目前正在使用的系统 3. 导出新系统的高层规律模型 4. 进一步定义问题 5. 导出和评判供挑选的解法 6. 举荐行动方针 7. 草拟开发方案 8. 书写文档提交审查 2.3 系统流程图 系统流程图 :是概括地描画物理系统的传统工具;表达的是数据在系统各部件 之间流淌的情形 ,而不是对数据进行加工处理的掌握过程;2.4 数据流图 2.4.1符号 基本符号 : 名师归纳总结 - - - - - - -第 6 页,共 48 页精选学习资料
8、 - - - - - - - - - 数据储备 :数据储备是处于静止状态的数据 ; 数据流 :数据流是处于运动中的数据;附加符号 : 星号 *: 表示 “与”关系 加号 +:表示 “或”关系 异或 :表示互斥关系 2.5 数据字典 数据流图和数据字典共同构成系统的规律模型;2.5.1 数据字典的内容 数据字典的组成 :数据流数据流重量 即数据元素 数据储备处理 2.5.2定义数据的方法 方法 :对数据自顶向下分解;名师归纳总结 - - - - - - -第 7 页,共 48 页精选学习资料 - - - - - - - - - 数据组成方式 三种基本类型 :次序挑选重复附加类型 :可选 符号 :
9、 =意思是等价于 或定义为 ; +意思是和 即,连接两个重量 ; 意思是或 即,从方括弧内列出的如干个重量中挑选一个 择的重量 ; ,通常用 “ | ”号隔开供选 意思是重复 即,重复花括弧内的重量 ;常常使用上限和下限进一步注释表示 重复的花括弧; 意思是可选 即,圆括弧里的重量可有可无;2.5.3数据字典的实现 运算机实现人工实现 2.6 成本/效益分析 2.6.1 成本估量 :1. 代码行技术 2. 任务分解技术 3. 自动估量成本技术 2.6.2 成本/效益分析的方法 成本 /效益分析涉及的 4 个概念 : 1. 货币的时间价值 2. 投资回收期 3. 纯收入名师归纳总结 - - -
10、- - - -第 8 页,共 48 页精选学习资料 - - - - - - - - - 4. 投资回收率 :P = F1/ 1 + j + F2/ 1 + j 2 + + Fn 1 + j n第 3 章需求分析需求分析的任务 : 需求分析是软件定义时期的最终一个阶段,它的基本任务是精确地回答“系统必须做什么 .” 这个问题;确定系统必需完成哪些工作 的要求;,也就是对目标系统提出完整、精确、清晰、具体系统分析员应当写出软件需求规格说明书 ,以书面形式精确地描述软件需求 3.1 需求分析的任务 确定对系统的综合要求 分析系统的数据要求导出系统的规律模型修正系统开发方案 3.1.1确定对系统的综合
11、要求 1.功能需求 2. 性能需求 3. 牢靠性和可用性需求 4. 出错处理需求 5. 接口需求名师归纳总结 - - - - - - -第 9 页,共 48 页精选学习资料 - - - - - - - - - 6. 约束 7. 逆向需求 8. 将来可能提出的要求 3.1.2 分析系统的数据要求 建立数据模型 ER 图 描画数据结构 层次方框图和 Warnier 图 数据结构规范化 3.2 与用户沟通猎取需求的方法 访谈 :1. 正式访谈 2. 非正式访谈 3. 调查表 4. 情形分析技术 面对数据流自顶向下求精 简易的应用规格说明技术 快速建立软件原型 :1 第四代技术 4GL2 可重用的软件
12、构件 3 形式化规格说明 和原型环境 3.3 分析建模与规格说明 3.3.1 分析建模需求分析过程应当建立3 种模型 :数据模型功能模型行为模型数据字典是分析模型的核心 实体 -联系图用于建立数据模型的图形 数据流图是建立功能模型的基础名师归纳总结 - - - - - - -第 10 页,共 48 页精选学习资料 - - - - - - - - - 状态转换图是行为建模的基础 3.4 实体-联系图 数据模型中包含 3 种相互关联的信息 :数据对象、数据对象的属性、数据对象 彼此间相互连接的关系 3.4 状态转换图 3.6.1状态 状态图分类 : 表示系统循环运行过程 ,通常不关怀循环是怎样启动
13、的;表示系统单程生命期 ,需要标明初始状态和最终状态;3.6.2大事大事就是引起系统做动作或 3.6.3符号3.7 其他图形工具 3.7.1 层次方框图 3.7.2Warnier图 3.7.3IPO图和转换状态的掌握信息;名师归纳总结 - - - - - - -第 11 页,共 48 页精选学习资料 - - - - - - - - - 3.8 验证软件需求 重点 3.8.1 从哪些方面验证软件需求的正确性 一样性完整性现实性有效性第五章总体设计 5.1 设计过程 由两个主要阶段组成 : 系统设计阶段 ,确定系统的具体实现方案 荐正确方案:设想供挑选的方案选取合理的方案推结构设计阶段 ,确定软件
14、结构 :功能分解设计软件结构设计数据库制定测试文档 书写文档审查和复查 5.2 设计原理 5.2.1 模块化 模块化的作用 : 采纳模块化原理可以使软件结构清晰,不仅简洁设计也简洁阅读和懂得;模块化使软件简洁测试和调试 ,因而有助于提高软件的牢靠性;模块化能够提高软件的可修改性;模块化也有助于软件开发工程的组织治理;5.2.2抽象5.2.3逐步求精名师归纳总结 - - - - - - -第 12 页,共 48 页精选学习资料 - - - - - - - - - 5.2.4信息隐匿和局部化 5.2.5 模块独立 尽量使用数据耦合 , 少用掌握耦合和特点耦合 , 限制公共环境耦合的范畴 , 完全不
15、用内容耦合;七种内聚的优劣评分结果 : 高内聚 :功能内聚 次序内聚中内聚 :通信内聚 过程内聚低内聚 :时间内聚 规律内聚偶然内聚 5.3 启示规章 1.改进软件结构提高模块独立性 2.模块规模应当适中 3.深度、宽度、扇出和扇入都应适当名师归纳总结 - - - - - - -第 13 页,共 48 页精选学习资料 - - - - - - - - - 4.模块的作用域应当在掌握域之内5.力争降低模块接口的复杂程度 6. 设计单入口单出口的模块 7. 模块功能应当可以猜测 5.4 描画软件结构的图形工具 5.4.1 层次图和 HIPO 图 1. 层次图 H 图名师归纳总结 - - - - -
16、- -第 14 页,共 48 页精选学习资料 - - - - - - - - - 层次图用来描画软件的层次结构;很适于在自顶向下设计软件的过程中使用;2.HIPO 图 5.4.2结构图 5.5 面对数据流的设计方法 结构化设计方法 简称 SD 方法 ,也就是基于数据流的设计方法;5.5.1概念面对数据流的设计方法把信息流映射成软件结构 方法;信息流有两种类型 :变换流事务流 第 6 章具体设计 6.1 结构程序设计 经典的结构程序设计 : ,信息流的类型打算了映射的只答应使用次序、 IF-THEN-ELSE 型分支和 DO-WHILE 型循环这 3 种基本控 制结构 ; 扩展的结构程序设计 :
17、 假如除了上述 3 种基本掌握结构之外 ,仍答应使用 DO-CASE 型多分支结构和 DO-UNTIL 型循环结构 ; 修正的结构程序设计 : 再加上答应使用 LEAVE 或 BREAK 结构;6.2 人机界面设计 6.2.1设计问题名师归纳总结 - - - - - - -第 15 页,共 48 页精选学习资料 - - - - - - - - - 设计人机界面过程中会遇到的 4 个问题 : 系统响应时间 :长度易变性 用户帮忙设施 :集成的帮忙设施附加的帮忙设施 出错信息处理 命令交互 6.2.3 人机界面设计指南 一般交互指南 信息显示指南 数据输入指南 6.3 过程设计的工具 6.3.1
18、程序流程图 程序框图 程序流程图的主要缺点 : 程序流程图本质上不是逐步求精的好工具 制流程 ,而不去考虑程序的全局结构;,它诱使程序员过早地考虑程序的控程序流程图中用箭头代表掌握流 ,因此程序员不受任何约束 ,可以完全不顾结构程序设计的精神 ,随便转移掌握;程序流程图不易表示数据结构;6.3.2盒图N-S 图盒图具有下述特点 : 名师归纳总结 - - - - - - -第 16 页,共 48 页精选学习资料 - - - - - - - - - 功能域明确;不行能任意转移掌握;很简洁确定局部和全程数据的作用域;很简洁表现嵌套关系 ,也可以表示模块的层次结构;6.3.3 PAD 图易;它用二维树
19、形结构的图来表示程序的掌握流 ,将这种图翻译成程序代码比较容PAD 图的主要优点如下 : 使用表示结构化掌握结构的 PAD 符号设计出来的程序必定是结构化程序;PAD 图所描画的程序结构特别清晰;PAD 图表现程序规律易读、易懂、易记;简洁将 PAD 图转换成高级语言源程序 ,这种转换可用软件工具自动完成;即可表示程序规律 ,也可描画数据结构;名师归纳总结 - - - - - - -第 17 页,共 48 页精选学习资料 - - - - - - - - - PAD 图的符号支持自顶向下、逐步求精方法的使用;6.3.4 判定表判定表却能够清晰地表示复杂的条件组合与应做的动作之间的对应关系;判定表
20、的缺点 : 判定表的含义不是一眼就能看出来的 个简短的学习过程;,初次接触这种工具的人懂得它需要有一当数据元素的值多于两个时 ,判定表的简洁程度也将下降;6.3.5 判定树 判定树的优点 : 它的形式简洁 ,一眼就可以看出其含义 ,因此易于把握和使用;判定树的缺点 : 简洁性不如判定表 ,数据元素的同一个值往往要重复写多遍 ,而且越接近树的叶 端重复次数越多;画判定树时分枝的次序可能对最终画出的判定树的简洁程度有较大影响;6.3.6 过程设计语言 伪码 伪代码的基本掌握结构 : 名师归纳总结 - - - - - - -第 18 页,共 48 页精选学习资料 - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 软件工程 导论 复习 重点 总结

限制150内