




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第一章第一章 软件工程介绍软件工程介绍 1 软件的特点 软件的特点 P4 软件是设计开发的 而非传统意义上的生产制造 软件不会 磨损 但会退化 不断的变更是软件退化的根本原因 磨损的硬件部件可以用备用的构件替换 而软件却不存在备用构件 2 可复用构件的含义与应用实例 可复用构件的含义与应用实例 P6 含义 现代的可复用构件封装了数据和对数据的处理 使得软件工程师能够利用可复用的构件构建新的应 用程序 应用实例 例如 现在的用户界面就使用可复用构件构造图形窗口 下拉菜单和各种交互机制 并采用可 复用构件库存储和管理构造用户界面所需要的数据结构和处理逻辑 3 软件维护的四种主要类型 软件维护的四种主要类型 P8 程序纠错 调整软件以适应新的环境 满足用户新特性和功能的需求 对软件实施再工程以便在现代应用中发挥作用 4 对软件神话的正确认识 对软件神话的正确认识 P10 11 详解见课本 9 大神话 管理神话 用户神话 从业者神话 第二章第二章 过程综述过程综述 1 理解软件工程包括的内容理解软件工程包括的内容 P17 软件过程 软件过程构成了软件项目管理控制的基础 并且建立了一个环境以便于技术方法的采用 工 作产品 模型 文档 数据 报告 表格等 的产生 里程碑的建立 质量的保证 正常变更的 正确管理 软件工程方法 软件工程方法依赖于一组基本原则 这些原则涵盖了软件工程所有技术领域 包括建模 和其他描述性技术等 软件工程工具 软件工程工具为过程和方法提供自动化或半自动化的支持 2 五个最基本的过程框架活动五个最基本的过程框架活动 P18 1 沟通沟通 这个框架活动包含了与客户 和其他共利益者 之间大量的交流和协作 还包括需求获取以 及其他相关活动 2 策划策划 指为后续的软件工程工作制定计划 它描述了需要执行的技术任务 可能的风险 资源需求 工作产品和工作进度计划 3 建模建模 包括创建模型和设计两方面 创建模型有助于客户和开发人员更好地理解软件需求 设计可 以实现需求 4 构建构建 包括编码 手写或者自动生成的 和测试 测试是为了发现编码中的错误 5 部署部署 软件 全部或者完成的部分 交付到用户 用户对其进行评测并给出反馈意见 3 采用软件过程模型鱼项目成功之间是否有必然的因果关系采用软件过程模型鱼项目成功之间是否有必然的因果关系 P21 对软件过程的适应性调整是项目成功的关键 2 4 CMMI 的观点及给我们的启发的观点及给我们的启发 P24 25 观点观点 为了避免过于简化问题 CMMI 认为软件开发过程必须严肃对待 必须详细计划 一致控 制 准确跟踪 专业化地执行 必须以项目共利益者的要求 软件工程师的技能和最终产品的质量为核心 启发启发 CMMI 是软件工程的伟大成就 在构建计算机软件时到底该采用哪些活动和动作 CMMI 对 此提供了全面的讨论 尽管软件组织不会采纳 CMMI 的所有细节 但是 每个软件开发队伍都应该接受其主旨 并从其对软件工程过程和实践的讨论中提高认识 第三章第三章 过程模型过程模型 1 瀑布模型适用情况瀑布模型适用情况 p33 需求必须是准确定义和相对稳定的 2 增量模型的基本特点增量模型的基本特点 p34 p35 1 迫切需要为用户迅速提供一套功能有限的软件产品 然后在后续的版本中再细化和扩展功能 2 增量模型发布一系列称为增量的版本 随着每个版本的交付 逐步为用户提供更多的功能 3 运用增量模型的时候 第一个增量往往是核心产品 4 增量过程模型 具有迭代的性质 3 原型开发原型开发 p37 1 理想状况下 原型系统提供了定义软件需求的一种机制 2 在大多数项目中 构建的第一个系统通常都会被丢弃 4 螺旋模型的特点螺旋模型的特点 p39 1 螺旋模型是一种演进式软件过程模型 2 在每次演进的时候 都要考虑风险 3 螺旋的第一圈一般开发出产品的规格说明 接下来开发产品的原型系统 并在每次的迭代中逐步 完善 开发不同的软件版本 第五章第五章 系统工程系统工程 1 系统工程的观点 系统工程的观点 P72 1 软件工程化之前必须了解该软件所处的外部 系统 2 软件工程从系统工程演变而来 3 相比之前只专注于软件个体的情况 系统工程关注各种要素的分析 设计 并将其组织成系统 第六章第六章 需求工程需求工程 1 需求工程的基本概念需求工程的基本概念 P87 88 需求工程的概念 1 作用 需求工程帮助软件工程师更好地理解他们将要解决的问题 2 人员 软件工程师 有时涉及系统工程师或分析师 和项目共利益者 项目经理 客户 最终用 户 都将参与需求工程 3 步骤 1 需求工程首先定义将要解决的问题范围和性质 2 引导 帮助客户定义需要什么 3 精练需求 精确定义和修改基本需求 当客户提出问题后 就要进行协商 优先次序如何 定义 什么是必需的 何时需要 4 以某种形式明确说明问题 再经过评审或确认以保证我们和客户对于问题的理解是一 致的 4 重要性 需求工程为设计和构造奠定了 坚实的基础 如果没有需求工程 那么实现的软件很有可 能无法满足客户的需求 3 2 需求工程过程的需求工程过程的 7 个活动个活动 P89 92 1 需求工程过程通过执行七个不同的活动来完成 需求工程过程通过执行七个不同的活动来完成 起始 导出 精化 协商 规格说明 确认和管理起始 导出 精化 协商 规格说明 确认和管理 起始 在项目起始阶段 软件工程师会询问一些似乎与项目无直接关系的问题 目的是对问题 方 案需求方 期望方案的本质 客户和开发人员之间初步的交流和合作的效果建立基本的谅解 导出 2 清晰地理解客户的需求为什么很困难的 清晰地理解客户的需求为什么很困难的 为此需求工程师必须以有条理的方式展开需求收 集活动 精化 3 精化的最终结果是形成一个分析模型 该模型定义了问题的信息域 功能域和行为域 精化的最终结果是形成一个分析模型 该模型定义了问题的信息域 功能域和行为域 协商 4 不同的客户或用户提出了相互冲突的需求 需求工程师必须通过协商过程来调解这些冲突 不同的客户或用户提出了相互冲突的需求 需求工程师必须通过协商过程来调解这些冲突 规格说明 5 规格说明是需求工程师完成的最终工作作品 它将作为软件工程师后续活动的基础 规格说明是需求工程师完成的最终工作作品 它将作为软件工程师后续活动的基础 它描述了一个基于计算机系统的功能和性能 以及那些将影响系统开发的约束它描述了一个基于计算机系统的功能和性能 以及那些将影响系统开发的约束 确认 6 确认这一步将对需求工程的工作产品进行质量评估 确认这一步将对需求工程的工作产品进行质量评估 管理 7 需求管理是用于帮助项目组在项目进展中标识 控制和跟踪需求以及变更需求的一组活动 需求管理是用于帮助项目组在项目进展中标识 控制和跟踪需求以及变更需求的一组活动 第七章第七章 构建分析模型构建分析模型 1 1 分析模型的作用分析模型的作用 P108P108 1 需求分析向软件设计者提供信息 功能和行为的表示 2 这些表示可以被转化为结构 接口和构件级的设计 3 在软件完成后 分析模型和需求规格说明就为开发人员和客户提供了评估软件质量的手段 2 2 分析的经验原则分析的经验原则 P109P109 1 不要陷入细节 即不要试图解释系统将如何工作 2 关于基础结构和其他非功能的模型应推延到设计阶段再考虑 3 尽可能保持模型简洁 3 3 构建分析模型的方法构建分析模型的方法 P107P107 1 基于场景的建模 2 面向流的建模 3 基于类的建模 4 行为建模 4 4 掌握面向流的建模的方法掌握面向流的建模的方法 考试时会给图 要会检验图上的错误 考试时会给图 要会检验图上的错误 画 DFD 的方法与注意事项 PPT 上的示意图 画 DFD 的方法 一 顶层 DFD 依据 系统的业务流程图 重点 识别作为数据源点与终点的外部实体 作用 明确系统的范围和目标 4 检验顶层 DFD 与业务规则是否一致 数据能否守恒 画 DFD 的方法 二 建立 DD 说明顶层 DFD 对顶层 DFD 进行分解 为什么要分解 如何分解 根据业务规则 分类管理 自顶向下 逐步细化 分解结束的标准 处理算法的意义明确 功能简单易实现 画 DFD 的方法 三 分解 DFD 分解后形成 0 层 1 层 2 层 DFD 图形中的每个元素需要一个合适的唯一的名称 分解后要对处理算法进行编号 分解的同时需要建立 DD 进行说明 画 DFD 的方法 四 检验方法检验方法 分解能否与业务逻辑自然衔接 每个处理的数据是否守恒 分解后能否与上一层保持数据平衡 DD 是否完整 一致 第八章第八章 设计工程设计工程 1 设计工程的基本概念 设计工程的基本概念 内容 目标 特点 内容 目标 特点 P146 147 1 内容 设计工程包括一套原理 概念和实践 可以指导道高质量的系统或产品开发 2 目标 设计工程的目标是创作出坚固 适用和赏心悦目的模型或设计表示 3 特点 1 计算机软件设计工程随着新的方法 更好的分析和更广泛的理解的演化而不断变化 2 当前大多数软件设计方法都缺少那些更经典的工程设计学科所具有的深度 灵活性和定 量性 2 软件设计的重要性 软件设计的重要性 P148 软件设计的重要性可以用一个词来表达 质量 详解看课本 3 优势设计的特征 优势设计的特征 P149 1 设计应展示出这样一种结构 a 已经使用可识别的体系结构风格或模式创建 b 由展示出良 好设计特征的构件构成 c 能够以演化的方式实现 从而便于实现和测试 2 设计应该模块化 也就是说 软件应按照逻辑划分为元素或子系统 3 设计应该包含数据 体系结构 接口和构件的清楚的表示 4 设计应导出数据结构 这些数据结构适于要实现的类 并由可识别的数据模式提取 5 设计应导出显示独立功能特征的构件 6 设计应导出接口 这些接口降低了构件之间以及与外部环境连接的复杂性 7 设计的导出应根据软件需求分析过程中获取的信息采用可重复使用的方法进行 8 应使用能够有效传达其意义的表示法来表达设计 5 4 模块化原则 模块化原则 P153 1 分而治之 2 可以得出结论 如果我们无限制地划分软件 那么开发它所需的工作量会变得很小到可以忽略 不幸的是 其他因素开始起作用 导致这个结论是不成立的 3 随着模块数量增加 集成模块的工作量 成本 也在增加 4 我们缺乏必要的技术的来精确地预测 M 5 信息隐藏及其作用 信息隐藏及其作用 P153 154 含义 信息隐蔽的目的是在一个模块接口后面隐蔽数据结构的细节和过程的处理 模块的用户不需要 知道细节 作用 1 把信息隐蔽用作模块化系统的一个设计标准 在测试和随后的软件维护过程中 在需要 修改时将提供最大的益处 2 因为大多数数据和程序对软件的其他部分是隐蔽的 因此在修改过程中 无意地引入错 误并传播到软件其他地方的可能性会很小 6 功能独立 功能独立 P154 1 具体体现 1 通过开发具有 专一 功能和 避免 与其他模块过多交互的模块 可以实现功能独立 2 我们希望软件设计时要使每个模块仅涉及需求的某个特定子功能 3 每个模块只有一个接口 2 重要性 1 功能被分割而且接口被简化 2 独立模块更容易维护 和测试 因为修改设计或修改代码所引起的负作用被限制 减少了 错误扩散 3 模块复用也成为可能 4 功能独立是优秀设计的关键 而设计又是软件质量的关键 3 定性标准 独立性可以使用两条定性的标准评估 内聚性和耦合性 7 求精 求精 P154 1 逐步求精是一种自顶向下的设计策略 2 求精实际上是一个细化的过程 3 高抽象级上定义的功能陈述只是概念性描述 没有细节 4 并随着每个精化 细化 的持续进行将提供越来越多的细节 5 跳过求精步骤而直接转移到最底层的细节 这将导致错误和疏忽 并使设计更加难以评审 还是 进行逐步求精为好 8 重构 重构 P155 1 技术核心 不改变代码 设计 的外部行为而是改进其内部结构 2 处理结果将实现一个更容易集成 更容易测试和更容易维护的软件 重构的目的是优化设计结构 而不是提高效率 9 设计模型的四个主要元素 设计模型的四个主要元素 P158 设计模型为 4 个主要元素 数据 体系结构 构件和接口 6 第九章第九章 进行体系结构设计进行体系结构设计 1 什么是软件体系结构什么是软件体系结构 PPT 软件体系结构是具有一定形式的结构化元素 即构件的集合 包括处理构件 数据构件和连接构件 处理 构件负责对数据进行加工 数据构件是被加工的信息 连接构件把体系结构的不同部分组组合连接起来 这一定义注重区分处理构件 数据构件和连接构件 这一方法在其他的定义和方法中基本上得到保持 PPT 上找不到 百度的 2 映射数据流到软件体系结构映射数据流到软件体系结构 PPT 两种映射方法 事物映射 变换映射变换型 DFD 事务型 DFD 初始 SC 变换映射的初始 SC 模型 主模块 输入模块变换控制模块输出模块 事务映射的初始 SC 模型 事务控制模块 接收模块动作发送模块 动作 1 模块动作 2 模块动作 3 模块 7 变换映射方法 确定变换中心 一级分解 二级分解 确定输入 输出的边界 顶层和第二层的四个模块 DFD 中的每个处理对应一个适当的模块 变换映射例 第一步 确定输入流和输出流的边界 就可以找出变换中心 第二步 按一级分解的要求 确定四个模块 主模块 输入模块 变换控制模块 输出模块 第三步 二级分解自顶向下分解 设计出每个分支的中 下层模块 事务映射方法 二级分解不考 二级分解不考 确定事务中心 一级分解 二级分解 事务映射例 第一步 确定 1 事务中心 2 接收路径 3 动作路径 第二步 按一级分解的要求 确定接收和发送的模块 第十章 构件级设计建模 1 什么是构件 什么是构件 P197 198 1 构件是计算机软件中的一个模块化的构造块 2 严格定义上系统中某一定型化的 可配置的和可替换的部件才是构件 3 在面向对象软件工程环境中 构件包括一个协作类集合 8 4 在传统软件工程环境中 一个构件就是程序的一个功能要素 2 构件级设计建模的意义构件级设计建模的意义 P197 当设计模型被转化为源代码时 必须遵循一系列设计原则 以保证不仅能够完成转化任务 而且还能 够保证不在开始时就引入错误 3 设计传统构件设计传统构件 决策表分为四个部分 左上部列出了所有条件 左下部列出了所有可能的动作 右半部构成了一个矩 阵 表示条件的组合以及特定条件组合对应的动作 因此矩阵的每一列可解释为一条处理规则 开发决策表步骤 1 列出特定过程 或模块 相关的所有动作 2 列出执行该过程的所有条件 或所有决策 3 将特定的条件组合与特定的动作相关联 消除不可能的条件组合 或者找出所有可能的条件排 列 4 定义规则 指出一组条件对应哪个或哪些动作 实例参考 书 P215 216 掌握决策表的应用 第十一章第十一章 完成用户界面设计完成用户界面设计 1 界面设计的黄金规则 界面设计的黄金规则 P222 224 1 置用户于控制之下 2 减少用户的记忆负担 3 保持界面一致 第十二章第十二章 软件测试策略软件测试策略 1 软件测试的组织 软件测试的组织 P246 错误的认识 1 软件开发人员根本不应该做测试 2 应当让那些无情地爱挑毛病的陌生人做软件测试 3 测试人员仅在测试步骤即将开始时参与项目 正确的观点 1 软件开发人员总是要负责程序的个别单元 构件 的测试 确保每个单元完成其功能或显示出被 设计的行为 2 在大多数情况下 开发者也进行集成测试 集成测试是其中一个测试步骤 它将给出整个软件体 系结构的构造 和测试 3 只有在软件体系结构完成后 独立的测试组才开始介入 2 传统的软件测试总体策略 传统的软件测试总体策略 P247 图图 12 1 软件测试策略也可以放在螺旋模型中来考虑 1 单元测试 起始于螺旋的漩涡中心 侧重于以源代码形式实现的每个单元 即构件 2 集成测试 沿着螺旋向外 侧重于软件体系结构的设计和构造 3 确认测试 沿着螺旋向外再走一圈 依据已经建立的软件 对需求进行确认 4 系统测试 螺旋最外圈 将软件与系统的其他成分作为一个整体来测试 3 单元测试 单元测试 P250 251 基本概念 侧重点 1 单元测试侧重于软件设计的最小单元 软件构件或模块 的验证工作 2 利用构件级设计描述作为指南 测试重要的控制路径以发现模块内的错误 3 单元测试侧重于构件中的内部处理逻辑和数据结构 9 单元测试内容 1 测试模块的接口是为了保证被测程序单元的信息能够正常地流入和流出 2 检查局部数据结构以确保临时存储的数据在算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市2025商务部投资促进事务局招聘13人笔试历年参考题库附带答案详解
- 八公山区2025安徽淮南八公山区老年学校(大学)工作人员特设岗位招聘1人笔试历年参考题库附带答案详解
- 乌当区2025贵州乌当区农业农村局招聘驻嘉旺屠宰场动物检疫协检人员笔试历年参考题库附带答案详解
- 黔西南布依族苗族自治州2025贵州黔西南州贞丰县事业单位引进高层次人才和急需紧缺人才25人笔试历年参考题库附带答案详解
- 2025浙江温州市鹿通文化旅游有限公司招聘11人笔试参考题库附带答案详解
- 2025年河北石家庄市供热管理集团有限公司劳务派遣制人员14人笔试参考题库附带答案详解
- 2025年广西盐业集团公开招聘18人笔试参考题库附带答案详解
- 2025年国网青海省电力公司高校毕业生招聘(第二批)调剂笔试参考题库附带答案详解
- 2025年中国铁路南宁局集团有限公司招聘高校毕业生73人三(本科及以上学历)笔试参考题库附带答案详解
- 2025年2月云南思茅产业园区紧缺人才127人笔试参考题库附带答案详解
- 音乐感知:从听觉到绘画
- QGDW11703-2017电力视频监控设备技术规范
- 手抄报设计花边课件
- 无人机操控技术 教案 3.2无人机模拟器基本设置
- 16949体系培训计划
- T/CAZG 003-2019亚洲象饲养管理技术规范
- 火锅店股东协议合同协议
- 高中英语3500词词汇
- 四川遂宁历年中考作文题与审题指导(2004-2024)
- 电梯曳引钢丝绳维护保养制度
- 老年人防烫伤安全教育
评论
0/150
提交评论