310 likes | 514 Views
软 件 工 程. 第三部分 传统软件工程方法. 第三部分 传统软件工程方法. 本章节涉及的问题: 如何在一个大型系统的环境内设计软件?系统工程如何发挥作用? 可应用于软件需求分析的基本概念和原则是什么? 什么是结构化分析?它的各种模型如何使得软件工程师能够理解数据、功能和行为?. 第三部分 传统软件工程方法. 本章节涉及的问题: 软件设计活动中使用的基本概念和原则是什么? 如何创建数据、体系结构、界面和构件的设计模型? 可应用于软件测试的基本概念、原则和策略是什么?. 第三部分 传统软件工程方法. 本章节涉及的问题:
E N D
软 件 工 程 第三部分 传统软件工程方法
第三部分 传统软件工程方法 本章节涉及的问题: • 如何在一个大型系统的环境内设计软件?系统工程如何发挥作用? • 可应用于软件需求分析的基本概念和原则是什么? • 什么是结构化分析?它的各种模型如何使得软件工程师能够理解数据、功能和行为?
第三部分 传统软件工程方法 本章节涉及的问题: • 软件设计活动中使用的基本概念和原则是什么? • 如何创建数据、体系结构、界面和构件的设计模型? • 可应用于软件测试的基本概念、原则和策略是什么?
第三部分 传统软件工程方法 本章节涉及的问题: • 如何使用黑盒和白盒测试方法来设计有效的测试案例? • 什么技术度量可用于评估分析和设计模型、源代码、以及测试案例的质量?
第三部分 传统软件工程方法 第10章 系统工程
第十章 系统工程 • 软件工程是作为称为系统工程的过程的结果而发生的. • 当工程工作的语境着重于商业企业时,系统工程过程被称为业务过程工程. • 当一个产品被建造时,该过程称为产品工程.
第十章 系统工程 10.1 基于计算机的系统 10.2 系统工程层次结构 • 10.2.1 系统建模 • 10.2.2 系统仿真 10.3 业务过程工程:概述 10.4 产品过程:概述
第十章 系统工程 10.5 需求工程 • 10.5.1 需求诱导 • 10.5.2 需求分析和谈判 • 10.5.3 需求规约 • 10.5.4 系统建模 • 10.5.5 需求确认 • 10.5.6 需求管理 10.6 系统建模 10.7 小结
10.1 基于计算机的系统 基于计算机的系统的定义: • 元素的集合或排列,这些元素被组织在一起,以便通过处理信息完成某些预定义的目标。
基于计算机的系统的系统元素: • 软件 • 硬件 • 人员 • 数据库 • 文档 • 规程 • 系统工程师的作用是在系统的整体层次(宏元素)的语境内为特定的基于计算机的系统定义一系列元素。
10.2 系统工程层次结构 系统工程包含一组自顶向下和自底向上的方法来导航其 层次。系统工程过程通常从全局视图(WV)开始,即完整 的业务或产品领域被检查以保证能建立适当的业务或技 术语境。全局视图被精化以更完全地关注特定的兴趣领 域。在特定的领域内,对目标系统元素的需要被分析。 最后,目标系统元素的分析、设计和构造开始。 WV包含一组领域,每个领域由特定的元素构成,每个元 素被通过指定完成元素的必要功能的技术构件来实现。 在软件语境内,构件是:计算机程序,可复用的程序构 件,模块,类或对象,程序设计语言。
10.2.1 系统建模 系统工程模型完成的目标: • 定义可满足所考虑视图的需要的过程 • 表示过程的行为和行为基于的假设 • 显式地定义模型的外部(exogenous)和内部(endogenous)输入① • 表示所有连接(包括输出),将使得工程师更好的理解视图。
构造系统模型该考虑因素: 1.假设。它们可减少可能的排列和变化数量,使模型以 合理的方式反应问题。 2.简化。它使模型能以及时的方式被创建。 3.限制。帮助为系统定义边界。 4.约束。它们将指导建立模型的方式和实现模型时采用 的方法。 5.优先选择 。它们指明对所有数据、函数和技术而言 客户优先选择的体系结构。
10.3 业务过程工程:概述 业务过程工程(BPE)的目标: 定义使得业务能够有效地使用信息的体系 结构。
业务过程工程 业务过程工程是一种为实现计算体系结构而创 建一个整体计划的方法。 三种体系结构必须在业务目标的语境内被分析 和设计: • 数据体系结构:为业务或业务功能的信息需要提供 框架。 • 应用体系结构:包含为了某些业务目的而在数据体 系结构中变换数据对象的系统元素。 • 技术基础设施:为数据和应用体系结构提供基础。
10.4 产品工程:概述 产品工程的目标: 将客户对一组已定义的能力的希望映 射为可工作的产品。
10.4 产品工程:概述 体系结构包括四种系统构件: • 软件 • 硬件 • 数据(和数据库) • 人员 全局视图通过需求工程完成。从客户处得到产品的整体需求后,需求工程的工作是分配功能和行为到以上四种构件的每一种。
10.4 产品工程:概述 一旦分配完成,系统构件工程开始。系统构件工程 实际是一组并发活动,它们分别处理每一种系统构件,这些活动包括: • 软件工程 • 硬件工程 • 人机工程 • 数据库工程 工程方法必须建立和保持相互间的活跃通信。
产品工程的元素视图(element view) : 产品工程的元素视图是应用于被分配构件的工 程方法。对软件工程而言,意味着: • 分析和设计建模活动 • 构造和集成活动 代码生成 测试 支持 • {
10.4 产品工程:概述 分析步骤将分配的需求建模为: 数据、功能、行为 设计将分析模型映射到: 软件的数据、体系结构设计、接口设计、 软件构件级设计
10.5 需求工程 需求工程六个步骤: • 需求诱导 • 需求分析和谈判 • 需求规约 • 系统建模 • 需求确认 • 需求管理
10.5.1 需求诱导 需求诱导的困难: • 范围问题 • 理解问题 • 易变问题
评估业务及技术可行性 • 确定能刻画需求和了解组织的人员 • 确定“约束领域” • 定义一种或多种需求诱导方法 • 要求很多人员参与 • 确定有歧义的需求为原型实现的候选 • 创建使用场景 需求诱导指导步骤:
需要和可行性的陈述 • 系统或产品的范围的限制性陈述 • 参与需求诱导活动的客户、用户和其他风险承担者 的列表 • 系统的技术环境的描述 • 需求的列表和应用于每个需求的领域限制 • 一组使用场景,提供对在不同运行条件下系统或产 品的使用的见识 • 为更好地定义需求而开发的任意原型 需求诱导活动的工作产品:
10.5.2 需求分析和谈判 分析活动对需求进行分类并将它们组织为 相关的子集,根据和其他需求的关系来考察 每个需求,检查需求的一致性、疏忽和二 义性,以及根据客户/用户的需要对需求进 行排序。
10.5.3 需求规约 系统规约是系统和需求工程师生产的最终工作产品。它将作为硬件工程、软件工程、数据库工程、人力工程的基础。它描述了机遇计算机的系统的功能和性能以及将控制其开发的约束。规约界定了每一个分配的系统元素。系统规约也描述了系统输入和输出的信息(数据和控制)。
10.5.4 系统建模 创建一个系统构件模型的方法: • 输入 • 处理 • 输出 • 用户界面处理 • 自测试处理
10.5.5 需求确认 • 将检查规约以保证所有系统需求已经被无歧义地陈述,不一致性、疏忽和错误已被检测出并纠正,并且工作产品符合为过程、项目和产品建立的标准。
10.6 系统建模 系统模型模板用于开发系统模型。系统工程师 分配系统元素到模板内的5个处理区域的每一个: • 用户界面 • 输入 • 系统功能和控制 • 输出 • 维护和自测试
用户界面 处理和控制功能 图:系统模型模板 输入 处理 输出 处理 维护和自测试 系统建模模板使分析员能创建细节的层次。系统语境图(SCD)驻留于层次的顶层。SCD”建立了在被实现的系统和系统将运行的环境间的信息边界“。 系统流图(SFD)从SCD导出,显示主要的子系统和重要的信息(数据和控制)流线。系统模板将子系统处理划分为5个处理区域的每一个。初始系统流图变成SFD层次的顶层结点。在最初的SFD中的每一个圆角矩形可被扩展为另一个专门描述它的体系结构模板。
10.7 小结 高技术系统包含一系列元素:软件、硬件、人员、数据 库、文档、规程。 系统工程以“全局视图”开始,分析业务领域或产品以建 立所有的基本业务需求。 业务过程工程是一种系统工程方法,它被用于定义使业 务能有效地使用信息的体系结构。 产品工程是一种从系统分析开始的系统工程方法。 需求工程的活动包括诱导、分析、谈判、规约、建模、 确认、管理