版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程 第二讲 软件生存周期过程,二、软件过程 -软件开发要做那些映射-活动? -应如何正确组织开发活动,形成求解软件的 逻辑?,开发逻辑,是获取正确软件的关键.,软件开发本质,软件生存周期过程,定义,软件生存周期模型,软 件 工 程 生 存 周 期 过 程,支持过程方向(活动与定序)的建立,形成,软件开发方法学 结构化方法 面向对象方法 面向数据结构 方法 维也纳开发方 法(VDM) ,给出实现开发过程的途径,支持/管理技术与方法,作用于,2.1 软件生存周期过程 1)基本概念 为了表述软件开发需要做什么,引入了以下三个概念: 软件过程(process):活动的一个集合; 活动(activ
2、ity):任务的一个集合; 注:”软件过程”和”活动”相当于复合映射. 任务(task): 将输入转换为输出的操作。 注:”任务”相当于原子映射.,2) 过程分类 按过程的主体,可分为三类过程: (1)基本过程(primary processes) 是指那些与软件生产直接相关的活动集。 (2)支持过程(supporting processes ) 是有关各方按其目标所从事的一系列支持活动集。 (3)组织过程(institutional processes) 是指那些与软件生产组织有关的活动集。,基本过程,支持过程,组织过程,(1)基本过程 又按过程中活动的不同主体,将基本过程(类)分 为5个过
3、程:获取过程、供应过程、开发过程、 运行过程、维护过程,获取过程,基本过程,支持过程,组织过程,组织为,供应过程,开发过程,运行过程,维护过程,例如1:获取过程 获取过程是获取者所从事的活动和任务。 其目的是获得满足客户所表达的那些要求的产品或服务。 功能需求和非功能需求 约束和满足条件,例如2:供应过程 供应过程是供方为了向客户提供满足需求的软件产品或服务所从事的一系列活动和任务。 其目的是向客户提供一个满足已达成需求的产品或服务。 该过程的启动,或通过为应答需方的招标书而开始编制投标书的决定,或通过与需方签订一项提供系统、软件产品或软件服务的合同。 继之,确定为管理和保证项目所需的规程和资
4、源,包括编制项目计划,执行计划,一直到将系统、软件产品或软件服务交付给需方为止。,例如3:开发过程 (详细介绍) 是软件开发者所从事的一系列活动。 包括13个活动: 过程的实施准备 系统需求分析 系统结构设计 软件需求分析 软件体系结构设计 软件详细设计 软件编码和测试 软件集成 软件合格测试 系统集成 系统合格测试 软件安装 软件验收支持,其中的活动:软件需求分析 主要任务: 建立软件需求规格说明书,其中包括: 功能和能力规约,包括性能以及为执行软件的物理特 征和环境条件; 质量特征规约(参考); 软件接口规约;安全规约; 数据定义和数据库需求;用户操作和执行需求; 用户维护需求等, 考虑以
5、下准则,对软件需求进行评估: 是否能够跟踪到系统需求、系统结构; 从外部上,是否与系统需求保持一致; 需求内部的一致性; 是否具有可测性; 设计、实现和维护的可行性等 依据联合评审过程,对软件需求进行评审,其中的活动:软件体系结构设计 该活动是针对每一个软件项(或已标识的软件配置项) 主要任务为: 把那些对软件项的需求转变为一种体系结构,即: 其中该体系结构描述了该项的顶层结构并标识各个软件部件。其中应确保对软件项的所有需求都被分配给了相应的软件部件,并为了进行详细设计而使该项的需求得到进一步细化。软件项的体系结构应形成文档。,软件体系结构设计,In 该软件项的需求,Out 该项的软件体系结构
6、,开发关于软件项的外部接口以及软件项的各个软件部 件间的接口的顶层设计,并形成文档。 编制数据库的顶层设计,并形成文档。 编制用户文档的最初版本,并形成文档。 确定软件集成的初步测试需求和进度安排,并形成文 档。,根据下列评价准则,评价软件项的体系结构、接口和数据库 设计,评价结果应形成文档: 软件项需求的可追踪性; 与软件项需求的外部一致性; 软件部件之间的内部一致性; 所应用的设计方法和标准的适宜性; 详细设计的可行性; 运行与维护的可行性。 按照联合评审,对软件体系结构进行评审。 注:关于开发过程的其他活动和任务,可参阅有关标准.,总的来说,成功实现开发过程的结果是: 收集了软件开发需求
7、并达成协定; 开发了软件产品或基于软件的系统; 开发了证明最终产品是基于需求的中间工作产品; 在开发过程的产品之间,建立了一致性; 根据系统需求,优化了系统质量因素,例如,速度、开发成本、易用性等; 提供了证明最终产品满足需求的证据(例如,测试证据); 根据协定的需求,安装了最终产品。,(2)支持过程 又按过程中活动的不同主体,将支持过程(类)分为 8个过程:文档过程、配置管理过程、质量保证、验证过程、 确认过程、联合评审、审计过程、 问题解决等。,文档过程,基本过程,支持过程,组织过程,组织为,配置管理过程,质量保证过程,验证过程,联合评审过程,确认过程,审计过程,问题解决过程,例如1:文档
8、过程 是记录由某一过程或活动所产生信息的过程 包括4个活动:过程的实施准备 设计与开发 制作与发行 维护,其中的活动:过程的实施准备 主要任务: 开发一个计划,用于标识软件产品生存周期中要 产生的文档对于所标识的每一个文档,应给出: 标题或名字目的读者 文档输入、开发、评审、修改、提交、存储、 维护以及配置管理等的规程和责任,其中的活动:设计与开发 主要任务: 根据适用的文档标准,设计每一文档的格式、内 容说明、图表设置以及包装等。 可以使用自动化的文档工具,确保每个文档输入 数据的来源和适用性; 按文档标准,编辑并评审每一文档的格式、技术 内容和表示风格在分发前需经主管人员批准。,例如2:验
9、证过程 为什么要进行验证和确认? 出现这一问题的基本原因: 由于人们的认知能力,在抽象一个事物或一个问题时,往 往只描述其一些必要性,但不是充分的.例如: “操作系统是一组管理计算机系统资源的程序”.,All models are wrong, some models are useful. -Fox,何谓验证过程 是一个确定某项活动的软件产品是否满足在以前的活动中 施加于它们的需求和条件的过程。 可见,该过程的目的是:证实一个过程和/或项目的每一 软件工作产品和/或服务恰当地反映了已规定的需求。 验证过程可应用于供应、开发、运行或维护等过程。该过 程可以由来自同一组织一个人或多个人来实施,也
10、可以由 来自另一组织的人员来实施。,活动1,活动2,活动3, 该过程包括的活动 a) 过程实现; b) 验证。 1)过程实现 该活动包括以下6项任务: (1)确定项目是否需要进行一定的验证工作,以及验证工作 是否需要一个独立组织。分析项目需求的关键性。 关键 性的计量可按以下各项进行: A)在系统需求或软件需求中,可能引起死亡、人身伤害、任务失败、 财经损失或灾难性的设备损坏等未被发现的错误之潜在性; B)所用软件技术的成熟度,以及应用这种技术的风险; C)可用的经费和资源。,(2)如果一个项目需要进行验证工作,就应为验证该软件产品而建立一个验证过程。 (3)如果一个项目需要进行独立的验证工作
11、,就要选择一个负责进行验证的合格组织,并确保该组织具有实施验证活动的独立性和权力。 (4)基于以上有关范围、重要程度、复杂性和关键性的分析,确定需要进行验证的生存周期活动和软件产品。为这些生存周期活动和软件产品,选择以下定义的验证活动和任务,以及执行这些任务所需要的方法、技术和工具。,(5)根据已确定的验证任务,制定验证计划并形成文档。该计划应描述:要验证的生存周期活动和软件产品、每个生存周期活动和软件产品所需的验证任务,以及有关资源、职责和进度安排。该计划还应描述向需方和其他有关组织提交验证报告的规程。 (6)实现该验证计划。其中,由验证工作发现的问题和不符合项应作为问题解决过程的输入;应对
12、所有问题和不符合项给出解决方案;应为需方和其他有关组织给出可用的验证活动的结果。,2)验证 该活动包括以下7项任务: (1)合同验证。其中应考虑下面列出的准则: 供方具有满足需求的能力; 需求一致并覆盖了用户的需要; 规定了可处理需求变更和处理问题蔓延的规程; 规定了各方之间进行接口和合作的规程及其范围,包括所有权、许可权、版权和保密性; 规定了符合需求的验收准则和规程。 注:该活动可用于合同评审。,(2)过程验证。其中应考虑下面列出的准则: A)项目规划的需求是足够的、及时的; B)为项目所选择的过程是可行的、已实现的,是按计划执 行的,并是符合合同的; C)用于项目过程的标准、规程和环境是
13、满意的; D)根据合同要求,为项目配备了经过培训的人员。,(3)需求验证。其中应考虑下面列出的准则: 系统需求是一致的、可行的且是可测试的; 根据设计准则,系统需求被适当地分配给了硬件项、软 件项和手工操作; c) 软件需求是一致的、可行的且是可测试的,并准确地体现 了系统需求; d) 通过适当严格的方法表明,有关安全保密性和关键性的软 件需求是正确的。,(4) 设计验证。其中应考虑下面列出的准则: 设计是正确的、与需求一致并可追踪到需求; 设计实现了适当的事件序列、输入、输出、接口、逻辑 流,实现了按时和规模预算的分配以及错误定义、问题隔 离及恢复; 可以依据需求导出所选择的设计; 通过适当
14、严格的方法表明,设计正确地实现了安全保密性 以及其他关键性的需求。,(5)编码验证。其中应根据下面列出的准则: a) 编码可追踪到设计和需求,是可测试的和正确的,并且 符合需求和编码标准; b) 编码实现了适当的事件顺序、一致的接口、正确的数据 和控制流、完备性、恰当的按间和规模预算的分配、错 误定义、问题隔离和恢复; c) 可以由设计或需求导出所选择的编码; d) 通过适当严格的方法表明,编码正确地实现了安全保密 和其他关键性的需求。,(6)集成验证。其中应考虑下面列出的准则: a) 每个软件项的软件构件和软件单元已被完整的且正确的 集成到该软件项中; b)系统的硬件项、软件项和手工操作已被
15、完整的且正确的集 成到该系统中; c) 已根据集成计划执行了相应的集成任务。 (7)文档验证。其中应考虑下面列出的准则: a) 文档是充分的、完备的和一致的; b) 文档制订是及时的; c) 文档的配置管理遵循了规定的规程。,总的来说,成功实施验证过程的结果是: 制定并实现了验证策略; 标识了验证所有要求的软件工作产品的准则; 执行了所要求的验证活动; 标识并记录了缺陷; 给出了对顾客和其他相关方可用的验证活动的结果。,例如3:确认过程 定义:确认过程是一个确定需求和最终的、已建成的系 统或软件产品是否满足特定预期用途的过程。 可见,该过程的目的是:证实对软件工作产品特定预期使 用的需求已予实
16、现。该过程可以作为开发过程中软件验收 支持活动的一个部分来执行。该过程可以由来自同一组织 一个人或多个人来实施,也可以由来自另一组织的人员来 实施。,活动1,活动2,活动3,该过程包括的活动 a) 过程实施; b) 确认。 1)过程实现 该活动包括以下项任务: (1)确定项目是否需要进行确认工作,以及确认工作所需要 的一定组织上的独立性。 (2)如果项目需要进行确认工作,就应建立确认系统或软件 产品的一个确认过程,并选择以下定义的确认任务,其 中包括用于执行确认任务的方法、技术和工具。,(3)如果项目需要进行独立的确认工作,就应选择一个负责 执行确认工作的合格组织,并确保执行者具有执行确认任
17、务的独立性和权力。 (4)制定确认计划并形成文档。该计划主要包括以下内容: a) 要确认的软件项;b) 待执行的确认任务; c) 用于确认工作的资源、职责和进度; d) 向需方和有关各方提交确认报告的规程。 (5) 实现该确认计划。其中,由确认工作查出的问题和不符 合性,应作为问题解决过程的输入;应对全部问题和不符 合性给出解决方案;应为需方和其他有关组织给出可用的 确认结果。,2) 确认 该活动包括以下项任务: (1)为了对测试结果进行分析,准备所选择的测试需求、测 试用例和测试规格说明。 (2)确保这些测试需求、测试用例和测试规格说明体现了特 定预期用途的特殊需求。 (3)进行(1)、(2
18、)中确定的测试,一般包括: A) 强度、边界和异常输入的测试; B) 软件产品隔离错误影响测试以及使错误影响最小化能力的测试,即:在失效时,测试该软件产品是否能得体降级;在过载、边界和异常条件下,测试该软件产品是否能向操作者提出协助请求; c)代表性用户使用该软件产品成功完成其预期任务的测试。 (4)确认软件产品满足它的预期用途。 (5)在目标环境选定区域中,适当对该软件产品进行测试。,注:确认可使用除了测试之外的其他方法,例如,分析、建 模、模拟等。 总的来说,成功实施确认过程的结果是: 制定并实现了确认策略; 标识了确认所有要求的工作产品的准则; 执行了要求的确认活动; 标识并记录了问题;
19、 提供了所开发的软件工作产品适合于其预期用途的证据; 给出了对顾客和其他相关方可用的确认活动的结果。 关于其他支持过程,例如联合评审过程、审计过程、问题解 决过程等,可参阅相关标准。,关于验证和确认的执行 不论是验证还是确认的”确定”,都要进行一个分析,即: 系统化地使用一些信息,对”是否一致”这一问题给出估算. 而评估即是一个比较,如下所示: 分析一般分为动态分析和静态分析: -在动态分析中,以选定的输入,有规程地执行程序或程序 段,来得到一个估算,例如某功能可正确执行,而在特定条件 下,会发生某类错误.,标尺(目标),分析结果(主观的),显然,测试获得的信息可作为分析中使用的信息. -静态
20、分析是不执行程序的分析,例如模型评审、代码“走 查” 以及程序的形式化验证等。 可见,测试、分析和评估的关系可概括为:,分析,评估,评价,测试,支持,测试获得的数据可作为分析中使用的信息,+,系统化地使用信息对一个问题的估算,关于软件测试 概念 发现错误,减少错误带来风险的过程.,环境,被测对象,人员素质,被测对象模型,测试执行,正确?,环境模型,错误模型, 软件测试过程所涉及的要素,以及 这些要素之间的关系,正确,测试过程模型,()error(错误) deviation from the intended design which could result in unintended sys
21、tem behavior or failure. 与所期望的设计之间的偏差,该偏差可能会产生不期望的系统行为或失效. () fault(故障) abnormal condition that could lead to an error or a failure in a system. A fault can be random or systematic 导致错误或失效的不正常的条件.故障可以是偶然性的或是系统性的. ()failure(失效) deviation from the specified performance of a system. A failure is the co
22、nsequence of a fault or error in a system。 与所规约的系统性能之间的偏差.失效是系统的故障或错误的后果.,(3)组织过程(Organizational life cycle processes) 分为4个过程: 管理过程、基础设施过程、培训过程、改进过程,管理过程,基本过程,支持过程,组织过程,组织为,基础设施过程,培训过程,过程改进过程,例如1:管理过程 管理过程包括由管理其对应过程的任何一方所执行的一般 性活动和任务,管理人员负责: 产品管理; 项目管理,以及 对所应用的那些过程(例如,获取、供应、开发、运 行、维护或支持过程)的任务管理。,主要活
23、动包括: 过程的启动和范围定义 规划 实施与控制 评审与评估 测量 表决(closure),其中的活动: 过程的启动和范围定义 主要任务: 通过建立那些要承担的过程的需求,启动该管理过程 通过检查执行并管理这些过程所需要的资源(人、物 资、技术和环境)是否可用、充分和适用,以及时间 上是否可达,来建立这些过程的可行性 必要的话,按各方共识,修改这些过程的需求,以 达成完成准则.,其中的活动:规划 主要任务: 为过程的执行制定计划。该计划应包括有关活动和任务的 描述,并标识即将提供的软件产品。该计划的主要内容: 既时完成任务的进度安排; 工作量的估计; 执行任务所需要的适当资源; 任务的分配;
24、职责的分派; 与任务或过程自身有关的风险(量化); 在整个过程中采用的质量控制测量; 与过程执行有关的费用; 环境和基础设施的规约。,其中的活动:实施与控制 主要任务: 启动管理计划的实施,以满足所设定的目标和准则,并对过程实施控制。 监督过程的执行,提供过程进展的内部报告,并按照合同的规定向需方提供过程进展的外部报告。 调查、分析和解决在过程执行期间发现的问题。问题的解决可能导致对计划的变更。对变更的影响进行确定、控制和监督。问题及其解决方案应形成文档。 按协商确定的时间,报告过程进展情况,声明按计划进行,并解决进展中的疏漏情况。按照组织规程和合同的要求,这种报告包括内部报告和外部报告。,其
25、中的活动:评审与评估 主要任务: 对软件产品和计划进行评价,以确定是否满足需求。 对在过程执行期间完成的软件产品、活动和任务的评价结果进行评估,以确定是否达到目标和完成计划。,其中的活动:测量 主要任务: 建立并维护测量承诺。确保满足所有的测量过程的资源、人员和承诺的先决条件。该任务的结果是:给出了从管理到支持测量过程的承诺,提供了在该标准已为测量过程标识并分配职责方面的人员能力,提供了可用于策划和实施测量过程的资源。 规划测量过程。制定一个详细的计划以启动、指导、监督并评价数据收集、分析、解释和存储活动。该任务执行的结果是:提供了一些规划信息,包括已定义的那些组织单元所需要的信息以及已获取并
26、利用的所要求的支持技术。,按计划进行测量。根据测量计划任务的输出生成信息产品和性能测量(值)。该任务执行的结果能保证:收集到数据、以适合于后续检索和分析的方式存储数据、生成信息产品并通告组织单元、收集到性能测量(值)。 评价测量。评价度量和测量活动,并此次评价中所学到的经验存储在“测量经验库”中。根据“测量经验库”存储的、来自于本次评价的经验和特定准则来评价测量活动和测量中的任务结果。,其中的活动:表决 主要任务: 当所有软件产品、 活动和任务均完成时,应按照合 同中或组织规程中规定的准则,确定该过程是否完成 检查所软件产品、开展的活动和任务的结果和记录是 否完整这些结果和记录均应按合同中的规
27、定在适当 的环境中予以归档,例如2:基础设施过程 基础设施过程是为其他过程建立和维护所需基础设施的 过程。基础设施可以包括用于开发、运行或维护的硬件、软 件、工具、技术、标准和设施。 包括下述活动: a) 过程实施的准备; b) 建立基础设施; c) 维护基础设施。,基础设施过程中的活动:过程实施的准备 主要任务: 为满足使用这一过程的那些过程的需求,考虑适用的规 程、标准、工具和技术,定义基础设施并建立相应的 文档。 制定基础设施计划并形成文档。,基础设施过程中的活动: 建立基础设施 主要任务: 制定基础设施配置计划并形成文档,其中应考虑功能、性 能、安全、安全保密、可用性、空间要求、设备、
28、费用 和时间约束。 为了实施有关过程,及时安装基础设施。 基础设施过程中的活动: 基础设施维护 主要任务: 维护、监督和改进基础设施,以确保基础设施持续地满足 应用本过程的过程要求。其中应确定将基础设施置于配置 管理之下的程度。,例如3:改进过程 是一个建立、评估、测量、控制和改进软件生存周期过程 的过程。 主要活动: 过程建立 过程评估过程改进 其中的活动:过程建立 主要任务: 建立一组适合于所有软件生存周期过程的组织过程,以应用到其业务活动中。这些过程及其在特定情况下的应用应在组织的出版物中形成文档。合适时,应建立过程控制机制,以便开发、监督、控制和改进这些过程。,其中的活动: 过程评估 主要任务: 制定过程评估规程,将其形成文档并加以应用。应保存 并维护评估记录。 规划过程评审并按适当的间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 永嘉教师招聘笔试试题及答案分享
- 关于组织活动的考试题目及答案
- 小儿肺炎单项选择题及答案呈现
- 2026年黑龙江省人教版高二英语必修一第四章写作技能测试卷
- 2026年信息安全意识与网络安全防护技术模拟试卷
- 2026年会计信息系统实操测试卷
- 2026年科学素养提升专项训练题
- 2026年大学英语四级听力技巧专项训练
- 2026年环境工程技术综合测试卷
- 2026年江苏省北师大版初中英语上册第5单元词汇专项练习
- 2025年海南三沙市事业单位公开招聘笔试试卷(含完整答案解析)
- 江苏盐城东台市2026年专职网格员招聘考试试卷-含答案解析
- 浙江省杭州市富阳区共同体学校2026-2027学年六上数学期末调研模拟试题含解析
- 2026年公务员遴选本土实务笔试习题及答案
- 2026年1月浙江省选考物理试题(纯答案版)
- 译林版三年级英语下册Unit2 Clean our classroom作业单
- 东方枢纽集团笔试题答案
- k近邻算法课件
- 中国平安IQ测评题库
- 食物与能量的转换
- 中级护士聘任申请书范文
评论
0/150
提交评论