




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二十二章软件工程知识22.1大纲要求考试大纲中本章的要求包括:软件需求分析和定义、软件设计、测试和维护、软件重用、软件质量保证和质量评估、软件配置管理、软件开发环境、软件过程管理、基于考试大纲的分析以及历年的考试结果。本章重点介绍的知识包括:需求、特性、需求分析、任务软件架构设计和软件详细设计、软件测试过程、单元测试、集成测试、系统测试的区别、软件维护、四种类型的软件复用、软件产品质量的定义和分类、麦考尔模型、软件质量保证验证和确认的区别、管理评审和技术评审、技术评审、检验、 审核评审和审核软件配置管理过程CMM和CMMI的区别第22章软件工程知识333 22.2知识结构图需求分析概念软件需求分析需求分析目的和任务软件设计定义需求分析, 测试和维护软件工程软件设计软件测试涵活动定义过程测试方法测试阶段纠正性维护软件维护适应性维护预防性维护定义主要思想重用级别软件质量定义软件质量保证验证和确认软件配置管理制定软件配置管理计划报告软件配置审计软件发布管理和交付开发环境特征软件开发环境) 开发工具CMMT软件过程管理) (软件过程评估的意义22.3要点细节22.3.1软件需求分析和定义概念软件需求分析和定义过程理解客户需求和用户业务,在客户、用户和开发人员之间建立对要开发的软件产品的共同理解,用于3个信息系统项目管理部门的检查指南(用于上午检查),并将软件需求分析结果汇编成软件需求 规格说明书。 需求特征的可验证性:软件需求的基本特征。优先级:在资源有限时进行权衡。需求分析的目的是检测和解决需求之间的冲突。发现软件的边界以及软件与其环境之间的相互作用。详细描述系统需求以得出软件需求。需求分析的任务需求分析需要准确定义未来系统的目标,确定要构建的系统必须做什么才能满足用户的需求,并使用需求规范来表达用户的需求。需求分析有两个任务:建立分析模型。写下需求的规格。22.3 .2软件设计、测试和维护软件设计软件设计是“定义系统或组件的体系结构、组件、接口和其他特征的过程”和“这个过程的结果”。软件设计由软件需求和软件构建之间的两个活动组成:软件架构设计(也称为概要设计):描述软件的结构和组织并识别各种组件。详细的软件设计:详细描述每个组件,以便构建。软件测试是一种评估和改进产品质量并识别产品缺陷和问题的活动。软件测试的目标是程序的行为,并动态验证期望的行为是否在有限的测试用例集上实现。软件测试过程如下:(1)制定测试计划。(2)准备测试大纲。(3)设计和生成测试用例。(4)进行测试。(5)生成测试报告。软件测试方法:手动测试:手动测试用于检查程序的静态结构,以发现编译和翻译过程中无法发现的错误。包括个人审查、抽查和联合检查。第22章软件工程知识335机器测试:将设计的测试用例应用到测试程序中,比较测试结果是否与预期结果一致。包括黑盒测试(功能测试)和白盒测试(结构测试)。软件测试的三个阶段:单元测试,也称为模块测试,可以进行集成测试:又称组装测试,是根据系统设计规范的要求对模块进行测试。系统测试:是将软件、计算机硬件、外围设备和网络等已确认的其他因素结合在一起,对信息系统进行各种组装和确认测试。其目的是通过与系统需求进行比较,找出开发的系统与用户需求之间的差异和矛盾。软件维护软件维护可以定义为需要软件支持的所有活动。这些活动包括交付前完成的活动和交付后完成的活动。交付前完成的活动包括交付后运行计划和维护计划等。付款后的活动包括软件修改、培训、帮助材料等。软件维护的类型包括纠错维护、自适应维护、完美维护和预防性维护。22.3 .3软件重用定义软件重用是指利用现有软件的各种相关知识来构建新软件,以降低软件开发和维护的成本。主要思想认为软件是由具有不同功能的“组件”组成的有机体。每个组件都可以设计成一个通用工具,在设计和编写时完成相同的工作。这样,如果完成各种任务的组件被建立,编写特定软件的工作就变成了组织和连接各种不同组件的简单问题,这对软件产品的最终质量和维护有着本质的改变。复用级别(根据抽象级别)代码复用设计复用分析复用测试信息复用22.3 .4软件质量保证和质量评估软件质量定义由国际标准ISO 9126定义的软件质量“产品质量”包括“内部质量”、“外部质量”和“使用质量”。在这个质量模型中,内部质量和外部质量被分为6个质量特征,即功能性、可靠性、易用性、效率、可维护性和可移植性。使用质量分为四个质量336信息系统项目管理部考试指导(早考)属性,即有效性、生产率、安全性和满意度。麦考尔质量模型是麦考尔等人在1979年提出的软件质量模型。它将软件质量的概念建立在11个质量特征的基础上,分别面向软件产品的运行、修正和转移,如图22.1所示。积极的可靠性和可靠性效率可以使可用性完整性图22.1麦考尔质量模型软件质量管理过程包括质量保证过程、验证过程、确认过程、评审过程、审核过程等。软件质量保证软件质量保证是指一系列有计划、有组织的活动,以确保软件系统或软件产品完全满足用户的质量要求。验证和确认验证是确定软件开发过程中给定阶段的产品是否满足前一阶段建立的要求的过程。确认是指在软件开发过程结束时对软件进行评估,以确认其是否符合要求的过程。审查和审计审查和审计过程包括管理审查、技术审查、检查、走查、审计等。管理评审的目的是监控进度,确定计划和进度的状态,确认要求及其系统分配,或评价用于实现目标的管理方法的有效性。技术评审的目的是评估软件产品,识别它们与规范和标准的差异,并向管理层提供证据以表明产品是否符合规范和标准。检查的目的是检测和识别软件产品中的异常。检查通常针对产品的相对较小的部分。任何发现的异常都应记录在文件中并提交。走查类似于检查,但通常不太正式。步行通过主要由同事进行,以回顾他们作为屏障保护技术的工作。软件审计的目的是对软件产品和过程是否符合适用的规则、标准、指南、计划和程序进行独立评估。审计是一项正式组织的活动,它可以识别违规行为,生成报告,并采取更积极的行动。第二十二章软件工程知识337 22.3.5软件配置管理软件配置管理主要是管理软件生命周期各个阶段的产品和最终产品的演变和变化。其最终目标是实现软件产品的完整性、一致性和可控性,使产品在很大程度上符合用户的需求。配置管理的一个重要部分是控制变更,以便将变更对成本、工期和质量的影响降至最低。软件配置管理活动包括:软件配置管理过程的管理和规划。软件配置项目的标识。软件配置控制:配置项目的变更控制。软件配置状态报告。软件配置审计。软件发布管理和交付。22.3.6软件开发环境软件开发环境是指支持软件产品开发的软件系统,由软件工具集和环境集成机制组成。工具集应包括支持软件开发相关过程、活动和任务的软件工具,为软件开发提供全面支持。环境集成机制为工具集成和软件开发、维护和管理提供统一支持,包括数据集成、控制集成和接口集成。软件开发环境的特点是环境的服务是集成的。环境应该支持团队的工作方式,并为其提供配置管理。环境服务可以用来支持各种软件开发活动,包括分析、设计、编程、测试、调试和文档。软件开发工具的类型包括支持单一任务的工具和覆盖整个生命周期的工具。有软件需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具和质量管理工具。22.3.7软件过程管理软件过程是软件生命周期中的一系列相关活动,即开发和维护软件及相关产品的一系列活动。软件产品的质量取决于软件开发过程。拥有良好软件流程的软件组织可以开发高质量的软件产品。目前,国际公认的软件过程能力模型是美国软件工程研究所开发的CMMI模型。338信息系统项目管理部考试指导(早考)能力成熟度模型和CMMI能力成熟度模型是SEI提出的最早的能力成熟度模型,现已被CMMI取代。CMM有五个层次:初始层次:软件开发过程是暂时的,甚至是混乱的。可重复级别:组织已经建立了一个基本的项目管理过程来跟踪软件项目的成本、进度和功能。这些管理过程和方法可以重用。定义级别:管理活动和软件工程活动的软件过程被记录、标准化,并集成到组织的标准软件过程中。自我管理水平:组织和项目建立了质量和过程绩效的量化目标,作为管理过程的基础。软件过程和产品处于定量控制之下。持续优化水平:组织可以使用来自过程、创造力和技术的定量反馈来持续改进软件开发过程。CMMI(能力成熟度模型集成)是CMM的最新版本。管理硕士涵盖的领域比管理硕士多,包括软件工程、系统工程、集成产品和过程开发(IPPD-CMM)和采购(软件-CMM)。CMMI模型不仅保留了CMM的分阶段模式,而且提供了一种连续的表示方法,可以帮助组织和客户更客观、更全面地理解其过程成熟度。这两种表示在逻辑上是等价的。我们熟悉的软件能力成熟度模型是一个分阶段模型,软件工程能力成熟度模型是一个连续模型,IPD-CMM集成产品开发模型结合了分步模型和连续模型的特点。分阶段方法将模型表示为一系列“成熟度级别”阶段,每个阶段都有一组关键绩效指标,表明组织应该将重点放在哪里来改进其组织过程。每个人民军都是通过满足它来描述的连续法没有像阶段式那样的分散阶段。该模型的千帕法是千帕法的外化形式,可适用于所有千帕。这个过程可以通过实现一个通用的方法来改进。它没有明确指出目标,而是强调方法。组织可以根据自己的情况适当地定制连续模型,并将确定的KPA作为改进目标。连续方法描述过程能力成熟度模型,而分阶段方法描述组织能力成熟度模型。CMMI也有五个层次:完成层次:组织对项目的目标和努力是明确的,并且项目的目标是可以实现的。然而,由于任务完成的机会很大,组织不能保证在实施类似项目时任务仍然能够完成。项目的实施在很大程度上取决于实施者。管理水平:项目能够符合既定的计划和流程,有资源准备,对相关人员进行相应的培训,并监控整个过程。这个层次为项目组织了一系列的管理程序,消除了完成任务的随机性,保证了项目实施的成功。第二十二章软件工程知识339有一个定义的层次:一个组织不仅有一套完整的管理过程和措施,而且可以根据自己的特殊情况将管理系统和过程制度化。该组织不仅可以在类似项目中取得成功,还可以在不同的项目中成功实施。科学管理已经成为企业的文化和组织财富。量化管理水平:组织和项目为质量和过程绩效设定量化目标。通过量化技术,实现了过程的稳定性,实现了管理的准确性,减少了项目实施质量的波动。持续优化水平:组织可以使用来自过程、创造力和技术的定量反馈来持续改进软件开发过程。组织可以积极改进流程,并使用新技术来优化流程。软件过程评估的意义:软件过程改进的需要。降低软件风险的需要:软件购买者和软件制造商的需要。22.4真实问题分析1。关于白盒测试,以下陈述是正确的。a .根据程序的内部结构进行测试b .自上而下逐个添加测试c .自下而上逐个添加测试d .根据程序的规范测试程序的功能,而不考虑内部结构测试问题、分析主题和检查软件测试的内容。软件测试的关键是设计测试用例。白盒测试是一种测试方法。它将程序视为一个透明的白盒,测试人员完全理解程序的结构和处理过程。它根据程序的内部逻辑设计测试用例,并检查程序中的所有逻辑路径是否按照预定的要求正确工作。参考答案A 2。CM MI提供了两个模型表达式:“连续”和“分段”。在下面的陈述中,正确的A .前者可以描述项目管理能力成熟度,后者可以描述组织能力成熟度B .前者可以描述软件开发能力成熟度,后者可以描述项目管理能力成熟度C .前者可以描述项目管理能力成熟度,后者可以描述组织能力成熟度D .前者可以描述过程能力成熟度,后者可以描述组织能力成熟度试题来分析CMMI的基础知识。CMMI提供了两种模式表达,即连续模式和阶段模式。两种模式之间的差异见第22.3.7节。案例D 3。CM M是美国卡内基梅隆
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家能源滁州市2025秋招财务审计类面试追问及参考回答
- 固原市中石油2025秋招笔试英语专练题库及答案
- 锡林郭勒盟中石油2025秋招笔试提升练习题含答案
- 中国移动乌兰察布市2025秋招网申填写模板含开放题范文
- 南通市中石化2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 国家能源安徽地区2025秋招财务审计类面试追问及参考回答
- 白银市中石油2025秋招心理测评常考题型与答题技巧
- 2025年国防法学考试试题及答案
- 2025湖南怀化市中共芷江侗族自治县委党校公开选调教师3人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年哈尔滨市急救中心编制外合同制工作人员招聘5人考前自测高频考点模拟试题及答案详解(有一套)
- 混料错料预防措施培训课件
- 白鹿原名著导读读书分享
- 医疗设备采购 投标技术方案 (技术方案)
- 国开《建设监理》形成性作业1-4答案
- 合同法教案(第十版)教案全套
- 定密理论与实务3定密的依据课件
- 工伤预防知识培训PPT
- 同济大学信纸
- 室早的危险分层及治疗选择
- 交通运输工程施工安全监管台帐(参考)用表样表分享
- 建筑消能减震设计技术及工程实例讲解
评论
0/150
提交评论