管理技术与软件质量、质量保证(zhhf03)解读

上传人:我** 文档编号:113796188 上传时间:2019-11-09 格式:PPT 页数:58 大小:180KB
返回 下载 相关 举报
管理技术与软件质量、质量保证(zhhf03)解读_第1页
第1页 / 共58页
管理技术与软件质量、质量保证(zhhf03)解读_第2页
第2页 / 共58页
管理技术与软件质量、质量保证(zhhf03)解读_第3页
第3页 / 共58页
管理技术与软件质量、质量保证(zhhf03)解读_第4页
第4页 / 共58页
管理技术与软件质量、质量保证(zhhf03)解读_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《管理技术与软件质量、质量保证(zhhf03)解读》由会员分享,可在线阅读,更多相关《管理技术与软件质量、质量保证(zhhf03)解读(58页珍藏版)》请在金锄头文库上搜索。

1、软件质量和软件质量保证的基本概念 质量度量模型 软件复杂性 软件可靠性 软件评审与软件容错技术,第十三章 管理技术与软件质量保证,软件工程管理是对软件生命周期中的一切活动的管理,尤其是对软件开发过程的管理。 软件工程管理涉及到很多学科,如:系统工程学、标准化、管理学、逻辑学、数学等。 软件工程管理涉及到诸多方面的内容,如软件工程项目计划、制定软件工程规范、软件开发成本估算、软件项目进度安排、软件配置管理、软件工程标准化等。 软件工程管理的具体内容包括对开发人员、组织机构、用户、过程控制,文档资料等方面的管理。,软件开发成本估算,p276,Effort Estimation,Several ty

2、pes of costs Facilities Staff Methods Tools The biggest component of cost is Effort Staffs effort represented by staff-days We must estimate effort as early as possible,Effort Estimation Methods,Expert Judgment Rand Delphi technique Wolverton (1974) cost model Algorithmic Methods Walston and Felix(1

3、977) Boehms Constructive Cost Model(COCOMO) Machine-Learning Method,Rand公司Delphi技术的步骤:,组织者发给每位专家一份规格说明书和一张估算表。 专家研究规格说明书。可召集小组会议,就估算问题进行讨论 专家提出三个不同的估算值:最小值x,最大值y, 最可能值z。并无记名填表,说明理由。 计算: 召集会议,对大的变动之处进行讨论。基于讨论再一次估算 再次无记名填表。从(4)到(6)适当重复几次,最终获得一个多数专家公认的软件规模(KLOC),软件项目计划,在软件项目管理过程中一个关键的活动是制定项目计划,它是软件开发工作

4、的第一步。项目计划的目标是为项目负责人提供一个框架,使之能合理地估算软件项目开发所需资源、经费和开发进度,并控制软件项目开发过程按此计划进行。本节主要软件项目计划的内容、软件开发成本估算与风险分析、软件项目的进度安排。,软件项目计划内容,范围。对该软件项目的综合描述,定义其所要做的工作以及性能限制,它包括:项目目标、主发功能、性能限制、系统接口、特殊要求、开发概述。 资源。包括:人员资源、硬件资源、软件资源等。 进度安排。进度安排的主要工具有:工程网络图、Gantt图、任务资源表。 成本估算。保证项目能在预算内按时完成。 培训计划。为用户各级人员制定培训计划。,Estimating Compl

5、etion,Critical Path Method ( CPM ) Real time or actual time Available time Slack time Slack time = available time - real time Calculate slack time for each activity Critical path,Project Personnel,Staff roles and characteristic Work Styles Project organization,Staff Roles and Characteristic,Ability

6、to perform the work Interest in the work Experience with similar applications Experience with similar tools or languages Experience with similar techniques Experience with similar development environment Training Ability to communication with others Ability to share responsibility with others Manage

7、ment skills,Work Styles,Four communication styles Extrovert: When communicating ideas, they directly tell others their thoughts Introvert: When communicating ideas, they ask for suggestions from others before forming an opinion Intuitive: They base their decision on feeling about and emotional react

8、ions to a problem Rational: They decide primarily by examining the facts and carefully consider all options,Work Styles,Intuitive,Rational,Extrovert,Introvert,Intuitive Extrovert: Tells others Acknowledges feels,Intuitive Introvert : Asks others Acknowledges feels,Rational Introvert : Asks others De

9、cides logically,Rational Extrovert : Tells others Decides logically,我是这样克服羞怯和恐惧的我一个劲地让自己出丑,直到习以为常。 萧伯纳,一句名言,软件开发的组织机构,三种组织结构 主程序员组织机构 专家组织机构 民主组织机构 To choose an appropriate structure in term of The backgrounds and work styles of team members The number of people on the team The management styles of

10、the customers and developers,主程序员组织机构,由一位高级工程师(主程序员)主持计划、协调和复审全部技术活动;一位辅助工程师协助主程序员工作,并在必要时代替主程序员工作;若干名技术人员负责分析和开发活动;可以有一位或几位专家和一位资料员协助软件开发机构的工作。资料员非常重要,负责保管和维护所有的软件文档资料,帮助收集软件的数据,并在研究、分析、评价文档资料的准备方面进行协助工作。 主程序员组织机构突出了主程序员的领导,责任集中在少数人身上,减少了人员之间的通信量,有利于提高软件质量。,专家组织机构,专家组织机构是由若干专家组成一个开发机构,强调每个专家的才能,充分发

11、挥每专家的作用。这种组织机构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难。,民主组织机构,民主组织机构由从事各方面工作的人员轮流担任组长。很显然,这种组织机构对动积极性和个人的创造性是很值得称道的。但是由于过多的进行组长的信息“转移”,人员之间的通信量大,不符合软件工程化的方向,一般不适合大型项目的开发。,Chief programmer team organization,Comparison of Organizational Structure,软件质量定义,软件质量定义为: 1)与所确定的功能和性能需求的一致性。 2)与所成文的开发标准的一致性。 3)与所有专业开发的软

12、件所期望的隐含特性的一致性,质量定义反映了以下三个问题,软件需求是度量软件质量的基础。有符合需求的软件就不具备质量。 专门的标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。 往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。,软件质量的度量和评价,影响软件质量的因素可以分为两大类: ()可以直接度量的因素,如单位时间内千行代码(KLOC)中所产生的错误数。 ()只能间接度量的因素,如可用性或可维护性。 Boehm软件质量度量模型

13、 McCall软件质量度量模型 (P291 图13-6) ISO的软件质量评价模型,软件质量保证,软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。,软件质量保证包括的主要功能,质量方针的制定; 质量保证方针的质量保证标准的制定; 质量保证体系和建立和管理; 明确各阶段的质量保证工作; 各阶段的质量评审; 确保设计质量; 重要质量问题的提出现分析; 总结实现阶段的质量保证活动; 整理面向用户的文档、说明书等; 产品质量鉴定、质量保证系统鉴定; 质量信息的收集、分析和使用。

14、,质量保证的主要任务,正确定义用户要求。 开发和应用新软件的方法。最普遍公认的成功方法就是软件工程学的方法。 提高软件开发的工程能力。在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法提高开发软件的能力。 提高软件的复用率和软件的可重用性。 发挥每个开发者的能力。 明确规定进度管理、质量管理、交接检查、维护体制等方面的要求,建立跟踪检查的体制。改善对外部协作部门的开发管理。 排除无效劳动。最大的无效劳动是因需求规格说明有误、设计有误而造成的返工。另一种较大的无效劳动是重复劳动,即相似的软件在几个地方同时开发。 提高计划和管理质量。,软件评审,设计质量设计的规格说明书符合用户

15、要求的程度。 程序质量把程序按照设计规格说明所规定的情况正确执行的程度。 软件的规格说明分为外部规格说明和内部规格说明 外部规格说明是从用户角度来看的规格 内部规格说明是为了实现外部规格的更详细的规格,即软件模块结构与模块处理过程的设计。 设计质量是由外部规格说明决定的,程序质量是由内部规格说明决定的。,设计质量的评审内容,评价软件的规格说明是否合乎用户的要求。 评审可靠性,即是否能避免输入异常、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代替手段或恢复手段。 评审保密措施实现情况,即是否提供对使用系统资格进行检查;对特定数据的使用资格、特殊功能的作用资格进行检查,在查出有违反使用资格

16、情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等。 评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等。 评审性能实现情况,即是否达到所规定性能的目标值。 评审软件是否具有可修改性、可扩充性、可互换性和可移植性。 评审软件是否具有可测试性。 评审软件是否具有复用性。,程序质量的评审内容,程序质量评审主要是对软件结构、与运行环境的接口、变更影响而进行的评审活动。 软件结构的评审主要针对 软件的功能结构 功能的通用性 模块层次 模块结构 处理过程的结构等 与运行环境的接口的评审主要检查项目 与硬件的接口。包括与硬件的接口约定,即根据硬件的使用说明等所做出的规定;硬件故障时的处理和超载时的处理。 与用户的接口。包括与用户的接口约定;输入数据的结构;输出数据的结构;异常输入时的处理;超载输入时的处理;用户存取资格的检查等。,软件容错技术,容错软件的四种定义: )规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号