全面软件质量管理

合集下载

软件质量保证和管理

软件质量保证和管理

软件质量保证和管理1. 引言软件质量保证和管理是在软件开发生命周期中非常重要的一个环节。

它涵盖了质量保证和质量管理的工作,旨在确保软件在整个开发过程中达到预期的质量标准。

在本文档中,我们将介绍软件质量保证和管理的一些基本概念和方法,以及实施这些方法的一些建议。

2. 质量保证软件质量保证是通过一系列的计划、活动和评估来确保软件产品的质量。

它的目标是预防缺陷的产生,并在软件开发过程中及时发现和修复缺陷。

下面是一些常见的质量保证方法:2.1 需求管理需求管理是一个重要的质量保证活动。

它确保软件开发团队和客户在需求定义和验证上达成一致。

通过详细的需求分析和验证,可以降低后续开发阶段出现需求不清晰或不一致的风险。

2.2 设计评审在软件开发过程中,设计评审是一个重要的质量保证活动。

通过评审软件设计文档,可以发现潜在的设计问题,并及时进行调整。

设计评审通常包括对软件架构、模块设计和接口设计的评估。

2.3 代码审查代码审查是一种通过审查代码来发现缺陷和改进代码质量的活动。

它涵盖了静态代码分析、代码复查和代码测试等多个方面。

代码审查可以帮助开发团队及时发现并修复潜在的缺陷,提高代码的可维护性和可读性。

2.4 测试计划和执行在软件开发过程中,测试是质量保证的关键环节。

测试计划和执行包括测试策略的定义、测试用例的编写和执行、缺陷管理等活动。

通过全面的测试,可以发现和修复软件中的缺陷,提高软件的可靠性和稳定性。

3. 质量管理软件质量管理是通过制定和执行一系列策略、指导文件和实施方法来管理软件质量的过程。

它的目标是确保软件开发过程中的质量管理活动能够有效地实施,并与组织的质量管理体系相一致。

下面是一些常见的质量管理方法:3.1 质量计划质量计划是软件质量管理的起点。

在软件开发项目开始之前,需要制定一个详细的质量计划,包括质量目标、质量标准、质量指标和质量保证方法等内容。

质量计划还需要与项目管理计划相一致,确保质量管理活动能够有效地与项目开发进度相协调。

软件质量管理方法

软件质量管理方法

软件质量管理方法软件质量管理是确保软件产品满足客户需求并具有高质量的关键过程。

以下是一些常见的软件质量管理方法:1. 质量保证(QA):通过在软件开发过程中实施一系列质量保证活动,确保软件质量。

这些活动包括代码审查、测试、缺陷跟踪和管理等。

2. 敏捷开发:一种灵活的软件开发方法,强调对变化的适应性和快速交付价值。

通过敏捷开发,团队可以更好地响应需求变化,提高软件质量。

3. 持续集成(CI)/ 持续部署(CD):CI/CD是自动化的软件开发和部署流程,通过定期集成和部署代码,减少错误并提高软件质量。

4. 缺陷预防:通过分析历史问题和数据,识别和预防缺陷。

常见的缺陷预防方法包括因果图、故障模式和效果分析等。

5. 静态代码分析:通过检查源代码中的语法错误、风格问题和潜在缺陷,提高软件质量。

静态代码分析工具可以自动执行这些检查。

6. 动态分析:通过在运行时检查程序的行为,发现潜在的错误和缺陷。

动态分析方法包括测试、压力测试和监视等。

7. 需求管理:通过明确记录和管理客户需求,确保软件满足客户期望。

需求管理过程包括需求收集、分析和验证等。

8. 配置管理:通过控制软件产品的配置信息,确保软件的一致性和可追溯性。

配置管理过程包括配置项标识、版本控制和变更控制等。

9. 评审和审计:通过内部或外部的评审和审计,确保软件质量管理体系的有效性。

评审和审计过程包括代码审查、过程审计和产品审核等。

10. 持续改进:通过不断改进软件开发过程和方法,提高软件质量。

持续改进方法包括敏捷改进、六西格玛和精益开发等。

以上方法不是孤立的,它们可以结合使用以实现更有效的软件质量管理。

同时,实施软件质量管理需要领导层的支持和团队的参与,以确保取得良好的成果。

软件质量管理内容

软件质量管理内容

软件质量管理内容
软件质量管理是指在软件开发过程中,通过一系列的活动和措斀,确保软件产品满足用户的需求和标准,具有高质量的过程。

软件质量管理的内容通常包括以下几个方面:
1. 质量计划:制定软件质量管理计划,明确质量目标、标准和方法,确定质量管理的方针和策略。

2. 质量保证:确保软件开发过程中的质量要求得到满足,包括制定标准、规程和流程,监督和控制软件开发过程中的各个阶段和环节。

3. 质量控制:通过软件测试、评审、验证和确认等活动,确保软件产品满足质量标准和用户需求,及时发现和解决质量问题。

4. 缺陷管理:建立缺陷管理系统,记录和跟踪软件开发过程中的缺陷,及时进行分析和修复。

5. 配置管理:管理软件产品的配置项,确保软件产品的版本控制和变更管理,避免配置项混乱和冲突。

6. 过程改进:根据对软件开发过程和产品质量的评估,采取措斀改进软件开发过程和产品质量,提高软件产品的质量水平。

7. 质量培训:提供相关的质量培训,提高团队成员的质量意识和质量管理能力。

8. 质量评估:对软件产品进行质量评估和检查,确保软件产品符合质量标准和用户需求。

软件质量管理的内容可以根据具体的软件开发项目和组织的实际情况进行调整和补充。

软件质量管理是软件开发过程中非常重要的一环,对确保软件产品的质量和用户满意度起着至关重要的作用。

软件质量管理措施

软件质量管理措施

软件质量管理措施
1. 质量标准和流程:制定明确的质量标准和开发流程,明确各个开发阶段的质量要求和控制措施,以确保软件开发过程中的一致性和完整性。

2. 质量保证:通过质量保证活动,对开发过程中的各项活动进行监督和评估,以确保符合质量标准和流程要求。

3. 软件测试:建立全面的软件测试流程,包括单元测试、集成测试、系统测试和验收测试,以发现和修复软件开发中的缺陷和问题。

4. 缺陷管理:建立缺陷管理流程,跟踪和管理开发过程中发现的缺陷,确保及时修复并防止类似缺陷再次出现。

5. 配置管理:建立合理的配置管理流程,确保软件开发过程中的配置项的可控性和追踪性,有效管理版本变更和配置变更。

6. 过程改进:定期评估和改进软件开发过程,通过识别和解决潜在问题,提高质量管理水平和效率。

以上是一些常见的软件质量管理措施,通过执行这些措施,可以提高软件开发过程中的质量控制和管理,降低软件缺陷和风险,提供高质量的软件产品。

软件质量管理

软件质量管理

软件质量管理软件质量管理是指在软件开发过程中,为了保证软件产品的质量和可靠性,采取一系列管理措施和质量保证活动的过程。

好的软件质量管理可以提高软件开发过程的效率,降低出错率,最终提供高质量的软件产品。

软件质量管理的核心目标是保证软件产品的可用性、可靠性、可维护性和可扩展性。

具体来说,软件质量管理包括以下几个方面的内容:1. 软件需求管理:在软件开发过程中,需求管理是十分重要的一环。

通过对需求进行认真的梳理和分析,可以准确地把握用户的需求和期望,从而为软件开发提供清晰的方向。

需求管理包括需求收集、需求分析、需求验证等环节,通过这些环节的协调和管理,可以保证软件需求的准确性和一致性。

2. 软件设计管理:软件设计是软件开发过程中的关键环节之一。

好的软件设计可以提高软件的可维护性和可扩展性,减少软件开发过程中的错误和成本。

通过采用适当的设计模式和规范,可以提高软件的设计质量和效率,从而降低软件开发过程中的风险。

3. 软件开发管理:软件开发管理是软件质量管理的重要组成部分。

通过合理的人力资源配置、项目计划制定、进度控制和风险管理等手段,可以提高软件开发的效率和质量。

软件开发管理还包括对软件开发过程中的各种风险和问题的分析和解决,以确保软件开发过程的顺利进行。

4. 软件测试管理:软件测试是保证软件质量的关键环节。

通过系统的测试活动,可以发现和修复软件中存在的问题和错误,提高软件的功能完整性和稳定性。

软件测试管理包括测试需求分析、测试用例设计、测试执行和问题管理等环节,通过这些环节的协调和管理,可以提高软件测试的效率和成果。

5. 软件配置管理:软件配置管理是为了管理软件开发过程中的各个阶段和环节中所产生的各种配置项。

通过有效的配置管理,可以确保软件开发过程中的各个版本和配置的一致性和可追溯性,提高软件开发的效率和质量。

6. 软件评审和审计:软件评审和审计是对软件质量进行全面检查和评估的手段。

通过软件评审和审计,可以发现软件开发过程中存在的问题和风险,提出相应的改进措施,从而提高软件质量。

软件质量管理制度

软件质量管理制度

软件质量管理制度第一章总则第一条为了规范和提高软件质量管理工作,确保软件产品符合质量要求,提高公司软件产品的市场竞争力,制定本制度。

第二条本制度适用于公司所有软件产品的开发、测试、维护和升级等所有软件产品生命周期的各个阶段。

第三条公司软件开发部门应当建立和完善软件质量管理制度,确保所有软件产品的质量符合标准和客户需求。

第四条公司软件质量管理制度的执行责任单位为软件开发部门,定期对软件产品进行质量管理评估,确保软件产品的质量稳定和持续提升。

第五条公司软件质量管理制度的具体内容包括软件质量目标、质量管理责任、质量管理体系、质量管理程序、质量管理工具和质量管理改进等方面。

第二章质量管理目标第六条公司软件质量管理目标为:确保软件产品的质量符合国家标准和客户需求,提高软件产品的市场竞争力和用户满意度。

第七条公司软件质量管理目标分解为具体质量目标,并落实到每一个软件产品的开发、测试、维护和升级等具体工作环节。

第八条具体软件产品的质量目标应当根据产品的特点、开发阶段和客户需求进行细化和具体规定,确保每个软件产品的质量得到保障。

第九条公司软件产品的质量目标应当定期进行评估和调整,并向各相关部门和人员进行通报和宣传,确保软件产品的质量目标落实到每个岗位和每个员工。

第三章质量管理责任第十条公司软件产品的质量管理责任由软件开发部门负责,统一制定软件产品的质量目标和质量计划,并分解到各个项目组和相关岗位。

第十一条软件开发部门应当指定专门的质量管理人员,负责软件产品的质量管理工作,包括软件产品的设计评审、编码规范、测试计划、验收标准等方面。

第十二条软件开发部门应当对质量管理人员进行专门培训和考核,并根据其绩效给予相应的奖励和惩罚,形成质量管理人员的责任意识和责任感。

第十三条公司各相关部门和岗位应当配合软件开发部门开展软件产品的质量管理工作,并主动积极地提出改进建议和意见,促进软件产品质量的持续提升。

第四章质量管理体系第十四条软件开发部门应当建立完善的软件产品质量管理体系,包括质量目标制定、质量计划编制、质量标准规定、质量控制过程、质量评估测量、质量改进措施等方面。

软件质量管理工作内容

软件质量管理工作内容

软件质量管理工作内容随着信息技术的迅速发展,软件已经成为现代社会中不可或缺的一部分。

软件质量管理是保证软件开发过程中质量的重要手段。

本文将从软件质量管理的概念和意义、软件质量管理的目标、软件质量管理的工作内容以及软件质量管理的方法和技术等几个方面进行阐述。

一、软件质量管理的概念和意义软件质量管理是指在软件开发过程中,通过一系列的技术手段和管理方法,对软件产品的质量进行管理和控制,以确保软件产品的可靠性、稳定性、安全性和可维护性等方面的高水平。

软件质量管理的意义在于,它可以保证软件产品的质量,提高软件产品的可靠性和稳定性,并且可以让软件产品更好地满足用户的需求和期望。

二、软件质量管理的目标软件质量管理的目标是为了保证软件产品的质量和满足用户的需求。

具体来说,软件质量管理的目标包括以下几个方面:1. 确保软件产品的可靠性和稳定性。

软件产品的可靠性和稳定性是软件质量管理的首要目标。

通过严格的质量控制和测试,可以确保软件产品的可靠性和稳定性。

2. 提高软件产品的安全性。

随着互联网的普及,软件产品的安全性越来越受到关注。

软件质量管理可以提高软件产品的安全性,保护用户的隐私和数据安全。

3. 提高软件产品的可维护性。

软件产品的可维护性是指软件产品在使用过程中,能够方便地进行维护和升级。

软件质量管理可以提高软件产品的可维护性,降低维护成本和风险。

4. 满足用户的需求和期望。

软件质量管理的最终目标是满足用户的需求和期望。

通过质量管理,可以让软件产品更好地满足用户的需求和期望,提高用户的满意度。

三、软件质量管理的工作内容软件质量管理的工作内容包括以下几个方面:1. 质量计划。

在软件开发过程中,需要制定质量计划,明确质量目标和质量标准,确定质量管理的方法和技术,以确保软件产品的质量。

2. 质量控制。

在软件开发过程中,需要进行质量控制,包括对软件产品的设计、编码、测试、文档等方面进行控制,以确保软件产品的质量符合质量标准和质量目标。

软件质量管理概论

软件质量管理概论

软件质量管理概论引言软件质量管理(Software Quality Management)是指在软件开发过程中,针对软件产品或项目进行全面的管理和控制,以确保软件满足用户需求和预先定义的质量标准。

软件质量管理包括质量计划制定、质量控制和质量保证等方面,是保证软件项目顺利进行和提供高质量软件产品的关键环节。

质量管理体系概述质量管理体系是软件质量管理的核心,它为软件开发过程中的各个环节提供了一套全面的规范和指引,以确保软件开发的质量和效果。

一个完善的质量管理体系包括质量管理方针、质量目标、质量策划、质量控制和质量改进等要素。

质量管理方针质量管理方针是指组织对质量管理的整体要求和目标。

它是软件开发过程中质量管理的基石,为各个相关方明确了软件质量管理的基本原则和目标。

质量管理方针应包括以下要素: - 组织对软件质量的承诺,包括领导层对质量的重视和支持; - 对用户需求的明确和理解,确保软件开发过程中始终以用户满意为导向; - 对质量目标和指标的设定,以便于对软件质量进行评估和控制。

质量目标质量目标是质量管理的具体目标和标准。

它是根据质量管理方针和需求分析而确定的,用于评估软件开发过程中的质量水平。

质量目标应包括以下要素: - 软件性能要求,包括响应速度、稳定性和安全性等; - 用户体验要求,包括界面友好性、易用性和可访问性等; - 软件功能要求,包括功能完整性和兼容性等。

质量策划质量策划是质量管理的具体计划和措施。

它是根据质量目标和质量要求而确定的,用于指导软件开发过程中的质量控制和改进。

质量策划应包括以下要素: - 质量控制计划,包括质量检查和质量测试等; - 质量改进计划,包括缺陷修复和持续改进等; - 质量培训计划,包括对开发团队的培训和指导等。

质量控制质量控制是质量管理的具体操作和实施。

它是根据质量策划和质量目标而进行的,用于确保软件开发过程中的质量符合预期。

质量控制应包括以下要素: - 质量检查,包括对软件开发过程中的各个环节进行检查和验证; - 质量测试,包括对软件产品进行功能测试、性能测试和兼容性测试等; - 质量记录,包括对质量检查和测试结果进行记录和分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发商和客户愿意为提高安全性而投入的资金是有限的,他们要考虑值不值得。 究竟什么样的安全性是令人满意的呢?

– 一般地,如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好 处,那么这样的系统可以认为是安全的。
– 对于普通软件,并不一点要追求很高的安全性,也不能完全忽视安全性,要先分析黑客行 为。
– 开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也就会满意。

软件的易用性要让用户来评价。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是 就用“界面友好”、“方便易用”等词来评价软件产品。
2.9 清晰性

清晰意味者所有的工作成果易读、易理解,可以提高团队开发效率,降低维护代价。 开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。

– 从语义上理解,恢复不及容错那么健壮。
– Unix容错能力很强,可惜不好用。 – Windows容错能力较差,但是恢复能力很好,而且很好用。占了90%的操作系统市场。
Page 6
2. 软件质量属性和质量要素
2.6 可靠性

可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。 可靠性本来是硬件领域的术语。比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中 其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。所以一个从设计到生产 完全正确的硬件系统,在工作中未必就是可靠的。 软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈 子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运 行得好好的,说不准哪一天就不正常了,如有千年等一回的“千年虫”问题,司空见惯的“内存 泄露”、“误差累积”问题等等。


通过类比,我们这样理解软件质量: 软件质量是许多质量属性的综合体现,各种质量属性反映 了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无 从下手)。 软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、 可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。 上述这些质量属性之间“你中有我,我中有他”,非常缠绵。如果开发人员每天要面对那么多的 质量属性咬文嚼字,不久就会迂腐得像孔乙己,因此我们有必要对质量属性做些分类和整合。质 量属性可分为两大类:“功能性”与“非功能性”,后者有时也称为“能力”(Capability)。


软件可靠性分析通常采用统计方法,遗憾的是目前可供第一线开发人员使用的成果很少见,大多 数文章限于理论研究。口语中的可靠性含义宽泛,几乎囊括了正确性、健壮性。只要人们发现系 统有毛病,便归结为可靠性差。从专业角度讲,这种说法是确切的。
时隐时现的错误一般都属于可靠性问题,纠错的代价很高。例如当维护人员十万火急地赶到现场 时,错误消失了;等维护人员回家后,错误又出现了。…
可理解的东西通常是简洁的。一个原始问题可能很复杂,但高水平的人就能够把软件系统设计得 很简洁。如果软件系统臃肿不堪,它迟早会出问题。所以简洁是人们对工作“精益求精”的结果 ,而不是潦草应付的结果。与简洁对立的是“罗里罗嗦”。
千万不要把在学校里“造文章”的手法用于开发产品! – 如果把文章写得很简洁,让人很容易理解,投稿往往中不了;只有加上一些玄乎的东西, 把本来简单的弄成复杂的,才会增加投稿的命中率。
– 金山软件公司的WPS与微软的Word之争。WPS一定要与Word兼容,否则活不下去。但是Word 绝对不会与WPS兼容,除非WPS又在中国称老大。 – 中国联通和中国移动的手机互联互通问题。(互联网的价值与用户数量的平方成正比)
2.13 可移植性

软件的可移植性指的是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译 器)的能力,主要体现为代码的可移植性。 – 编程语言越低级,用它编写的程序越难移植,反之则越容易。这是因为,不同的硬件体系 结构(例如Intel CPU和SPARC CPU)使用不同的指令集和字长,而OS和编译器可以屏蔽这 种差异,所以高级语言的可移植性更好。 – Java程序号称“一次编译,到处运行”,具有100%的可移植性。为了提高Java程序的性能 ,最新的Java标准允许人们使用一些与平台相关的优化技术,这样优化后的Java程序虽然 不能“一次编译,到处运行”,仍然能够 “一次编程,到处编译”。


Page 4
2. 软件质量属性和质量要素
2.2 十大软件质量因素

功能性质量因素:正确性,健壮性,可靠性 非功能性质量因素:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性



为什么是“十大” 质量因素
逐一解释“十大” 质量因素(参见《高质量程序设计指南——C++/C语言》)
2.3 软件质量要素
参考书:《软件工程与项目管理解析》,林锐 著,电子工业出版社,2003
Page 2
1. 引言

软件质量管理是充满争论的话题。被人们奉为软件质量管理圣经的CMM和ISO9001似乎并不奏效, 现实和理想之间的差距太大。

经典软件工程教科书以及CMM和ISO9001总是抛开商业目标谈质量管理,本末倒置,纸上谈兵, 误导了大量读者,所以质量管理才变得那么艰辛。世界上还没有万能的软件质量管理圣经,我们 不要迷信CMM和ISO9000。
要多向有实战经验的同行专家请教,但是不要轻信“纸上谈兵”的专家。 本文给出了一套实用主义的“全面软件质量管理”方法。

重要的理念:商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无 缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意, 并且将提高质量所付出的代价控制在预算之内。
2.5 健壮性

健壮性是指在异常情况下,软件能够正常运行的能力。
正确性描述软件在需求范围之内的行为,而健壮性描述软件在需求范围之外的行为。
开发者往往把异常情况错当成正常情况而不作处理,结果降低了健壮性。 用户才不管正确性与健壮性的区别,反正软件出了差错都是开发方的错。所以提高软件的健壮性 也是开发者的义务。 健壮性有两层含义:一是容错能力,二是恢复能力。
上 海 漫 索 计 算 机 科 技 有 限 公 司
全面软件质量管理
——剖析软件质量的内涵 ——内建高质量而非修补质量
林 锐 博士
linrui@
目录
1. 引言 2. 软件质量属性和质量要素 3. 商业目标决定质量目标 4. 质量保证能够保证质量吗 5. 质量人员的状况 6. 全面软件质量管理:模型 7. 全面软件质量管理:制定质量计划 8. 全面软件质量管理:技术评审 9. 全面软件质量管理:软件测试 10. 全面软件质量管理:过程检查 11. 全面软件质量管理:缺陷跟踪工具

什么是软件质量要素?



(1)从技术角度讲,对软件整体质量影响最大的那些质量属性才是质量要素;
(2)从商业角度讲,客户最关心的、能成为卖点的质量属性才是质量要素。
对于一个特定的软件而言,我们首先判断什么是质量要素,才能给出提高质量的具体措施,而不 是一股脑地想把所有的质量属性都做好,否则不仅做不好,还可能得不偿失。 如果某些质量属性并不能产生显著的经济效益,我们可以忽略它们,把精力用在对经济效益贡献 最大的质量要素上。简而言之,只有质量要素才值得开发人员下功夫去改善。

Page 11
2. 软件质量属性和质量要素
2.12 兼容性

兼容性是指不同产品(或者新老产品)相互交换信息的能力。例如两个字处理软件的文件格式兼 容,那么它们都可以操作对方的文件,这种能力对用户很有好处。

兼容性的商业规则:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将 被瓜分。如果你经常看香港拍的“黑帮”影片,你就很容易明白这个道理。

Page 5
2. 软件质量属性和质量要素
2.4 正确性

正确性是指软件按照需求正确执行任务的能力。 “正确性”的语义涵盖了“精确性”。 正确性无疑是第一重要的软件质量属性。


技术评审和测试的第一关都是检查工作成果的正确性。
机器不会主动欺骗人,软件运行出错通常都是人造成的,所以不要找借口埋怨机器有毛病。
Page 10
2. 软件质量属性和质量要素
2.11 可扩展性

可扩展性反映软件适应“变化”的能力。 在软件开发过程中,“变化”是司空见惯的事情,如需求、设计的变化,算法的改进,程序的变 化等等。由于软件是“软”的,是否它天生就容易修改以适应“变化”?关键要看软件的规模和 复杂性 – 如果软件规模很小,问题很简单,那么修改起来的确比较容易,这时就无所谓“可扩展性 ”了。要是软件的代码只有100行,那么“软件工程”也就用不着了。 – 如果软件规模很大,问题很复杂,倘若软件的可扩展性不好,那么该软件就像用卡片造成 的房子,抽出或者塞进去一张卡片都有可能使房子倒塌。
Page 9

2. 软件质量属性和质量要素
2.10 安全性

这里安全性是指信息安全,英文是Security而不是Safety。 安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。

信息安全是一门比较深奥的学问,其发展是建立在正义与邪恶的斗争之上。这世界似乎不存在绝 对安全的系统,连美国军方的系统都频频遭黑客入侵。如今全球黑客泛滥,真是“道高一尺,魔 高一丈”啊!

现代软件产品通常采用“增量开发模式”,不断推出新版本,获取增值利润。可扩展性越来越重 要。可扩展性是系统设计阶段重点考虑的质量属性。 谈到软件的可扩展性,开发人员首先想到的是怎样提高可扩展性,于是努力去设计很好的体系结 构来提高可扩展性,却不考虑该不该做这件事。从商业角度考虑,如果某个软件将不断地推出新 版本,那么可扩展性很重要。但是如果软件永远都不会有下个版本(一次性买卖),那么根本无 需提高可扩展性,何必自找苦吃呢!
相关文档
最新文档