版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
21世纪高等学校计算机类课程创新系列教材第6章软件质量、安全与风险控制0102030421世纪高等学校计算机类课程创新系列教材05目录CONTENT软件质量概述软件质量管理信息安全概述信息安全管理风险控制软件质量问题引发的事故1985年到1987年间,Therac25放射性治疗仪因输入数据顺序问题的缺陷,导致10余人死亡。这一事故凸显了软件质量问题可能带来的严重后果,即使是微小的缺陷也可能危及生命。1991年,第一次海湾战争中,爱国者导弹系统因时间计算不精确和算数计算错误,未能拦截飞毛腿导弹,造成28名士兵死亡。这表明软件在军事领域的可靠性至关重要,任何失误都可能导致灾难性后果。1996年,欧洲阿丽亚娜(ARIANE5)火箭由于软件运算位数错误,火箭的水平速度计算时产生了溢出造成火箭在高速下进行大角度水平滚转,导致该型号火箭首次测试发射后37秒被迫自行引爆。1999年,NASA火星气候探测器由于在控制软件中忘记将一处英制单位转换为公制单位,导致飞船在接近火星表面时偏离了正确的轨道,因为轨道过低而坠入火星大气层意外解体。此次事故使得花费数亿美元的飞船化为灰烬,同时对后续火星气象探测以及火星极地着陆器通讯中继任务造成了严重的不利影响。2003年,俄罗斯联盟TMA1号载人飞船由于软件故障使返回舱的导航系统失效,造成飞船返回时与飞控中心失联十余分钟。该故障还导致飞船的降落地点严重偏离预定降落点,距离偏差达近五百公里。2019年,美国星际客机(Starline)航天飞船由于“数据检索”软件出错,收集了错误的任务时间,使得飞船误判任务阶段而提前消耗掉大部分燃料,无法按预期与国际空间站实现对接,被迫提前返回地球,首次测试飞行任务宣告失败。软件质量问题引发的事故
如何控制和保证软件的质量已成为系统质量管理的关键问题。
提高软件质量、设计开发出更高质量的软件产品成为了项目总体以及软件开发人员的一致目标。21世纪高等学校计算机类课程创新系列教材软件质量6.1软件的定义软件质量是指软件产品满足基本需求及隐式需求的程度。它包括软件的功能性、可靠性、可用性、效率、可维护性和可移植性等多个方面。高质量的软件不仅满足显式需求,还能满足用户的潜在需求,如提供额外的功能或优化用户体验。从软件质量的定义,可将软件质量分为3个层次,具体如下。(1)满足需求规定:软件产品符合开发者明确定义的目标,并且能可靠运行。(2)满足用户需求:软件产品的需求是由用户产生的,软件最终的目的就是满足用户需求,解决用户的实际问题。(3)满足用户隐式需求:除了满足用户的显式需求,软件产品如果满足用户的隐式需求,即潜在的可能需要在将来开发的功能,将会极大地提升用户满意度,这就意味着软件质量更高。所谓高质量的软件,除了满足上述需求之外,对于内部人员来说,它应该也是易于维护与升级的。软件开发时,统一的符合标准的编码规范、清晰合理的代码注释、形成文档的需求分析、软件设计等资料对于软件后期的维护与升级都有很大的帮助,同时,这些资料也是软件质量的一个重要体现。6.1.1软件及其复杂性软件的定义软件质量是指软件产品满足基本需求及隐式需求的程度。它包括软件的功能性、可靠性、可用性、效率、可维护性和可移植性等多个方面。高质量的软件不仅满足显式需求,还能满足用户的潜在需求,如提供额外的功能或优化用户体验。从软件质量的定义,可将软件质量分为3个层次,具体如下。(1)满足需求规定:软件产品符合开发者明确定义的目标,并且能可靠运行。(2)满足用户需求:软件产品的需求是由用户产生的,软件最终的目的就是满足用户需求,解决用户的实际问题。(3)满足用户隐式需求:除了满足用户的显式需求,软件产品如果满足用户的隐式需求,即潜在的可能需要在将来开发的功能,将会极大地提升用户满意度,这就意味着软件质量更高。所谓高质量的软件,除了满足上述需求之外,对于内部人员来说,它应该也是易于维护与升级的。软件开发时,统一的符合标准的编码规范、清晰合理的代码注释、形成文档的需求分析、软件设计等资料对于软件后期的维护与升级都有很大的帮助,同时,这些资料也是软件质量的一个重要体现。6.1.1软件及其复杂性软件质量评价标准ISO/IEC9126:1901标准所包含的6大特性的具体含义如下。(1)功能性:在指定条件下,软件满足用户显式需求和隐式需求的能力。(2)可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。(3)可使用性:在指定条件下,软件产品被使用、理解、学习的能力。(4)效率:在指定条件下,相对于所有资源的数量,软件产品可提供适当性能的能力。(5)可维护性:指软件产品被修改的能力。修改包括修正、优化和功能规格变更的说明。(6)可移植性:指软件产品从一个环境迁移到另一个环境的能力。这6大特性及其子特性是软件质量标准的核心,软件测试工作就从这6个特性和27个子特性去测试、评价一个软件的。ISO/IEC9126:1991是最通用的软件质量评价国际标准,将软件质量分为功能性、可靠性、可用性、效率、可维护性和可移植性六大特性。该标准不仅对软件质量进行了定义,还制订了软件测试的规范流程,包括测试计划的撰写、测试用例的设计等,为软件质量评价提供了全面的指导。全面客观地评价软件质量有助于提高软件的市场竞争力。高质量的软件更容易获得用户的认可和市场的青睐。软件质量评价为软件改进提供了依据,帮助开发者发现软件中的问题并进行优化。ISO/IEC9126:1991标准软件质量评价的重要性软件质量评价标准””21世纪高等学校计算机类课程创新系列教材软件工程0201软件危机的产生早期软件开发缺乏系统化方法,多为个体化开发,导致软件质量差、开发效率低下。随着计算机技术的发展,软件规模逐渐增大,软件危机逐渐显现。软件危机的主要表现包括项目超期、超预算,甚至失败,给企业和用户带来了巨大的损失。02软件危机的影响软件危机导致项目超期、超预算,甚至失败。例如,许多大型软件项目因无法按时交付而被迫取消,给企业带来了巨大的经济损失。软件危机促使人们寻求更有效的软件开发方法,推动了软件工程的发展。软件危机软件工程有助于提高软件质量,降低开发成本。通过系统化的开发方法,可以减少软件中的缺陷,提高软件的可靠性。软件工程为软件开发提供了科学的管理方法,帮助开发者更好地控制项目进度和成本。软件工程的概念软件工程的重要性软件工程的定义软件工程是研究和应用系统化、规范性、可定量的过程化方法开发和维护软件。它结合了经过时间检验的管理方法和当前最好的技术方法。软件工程的目标是在一定成本和进度下,开发出高质量的软件产品,满足用户需求。软件可靠性的定义软件可靠性是指在规定条件下和规定时间内,软件不引起系统失效的概率。它是软件质量的重要指标之一。软件可靠性的高低直接影响系统的稳定性和用户的信任度。软件可靠性的重要性在安全攸关的复杂软件系统中,如航空、医疗等领域,软件可靠性至关重要。例如,飞机的飞行控制系统必须具备极高的可靠性,以确保飞行安全。提高软件可靠性有助于减少系统故障,保障用户安全,提升用户体验。软件可靠性软件容错的概念软件容错是指当出现设计错误时,软件仍能继续提供服务,从而将系统性能和安全性控制在可接受的范围内。容错策略的选择依赖于系统层面和软件设计的考虑,是软件开发中不可或缺的一部分。容错实际是建立在悲观假设上的技术,那就是没有消除所有的故障。容错设计的策略主要是保证系统正常并且按时正确的完成任务。支撑所有容错的一个基本思想就是冗余。使用冗余来从不可靠的组件中构造可靠的软件最早是由VonNeumann在1956年提出的。冗余(多个复本)用来检测故障和掩蔽失效。容错机制的类型功能冗余:通过复制软件单元来检测故障。例如,航天软件中常用功能冗余设计,通过多个独立的软件模块实现同一功能,确保即使部分模块出现故障,系统仍能正常运行。数据冗余:用额外信息检测数据一致性。例如,数据库系统中常用数据冗余技术,通过备份和校验机制确保数据的完整性和一致性。时间冗余:使用额外时间完成容错。例如,对于可能出现瞬时故障的系统,通过重新执行操作来恢复系统状态,确保系统的可靠运行。软件容错机制软件测试是保证软件安全的关键技术,也是保证软件质量和可靠性的重要方法。在大型软件开发项目中,测试工作量一般占据开发总工作量的40%以上。测试可以发现、定位并排除软件中的安全隐患,监测软件的行为和数据变化,为软件质量评价提供直接证据。测试无法穷举所有路径,无法发现程序中的最后一个bug。例如,一个仅有20行代码的程序,其可能的路径数量巨大,穷举测试几乎是不可能的。测试的目的是让程序执行失败,发现错误,而不是验证程序的正确性。测试只能表明错误的存在,而不能表明错误的不存在。软件测试的重要性软件测试的局限性软件测试及其局限性21世纪高等学校计算机类课程创新系列教材软件安全03【案例6-1】2018年10月29日,印尼狮航JT610航班从雅加达起飞仅13分钟后坠入爪哇海,机上189人全部遇难。2019年3月10日,埃塞俄比亚航空ET302航班从亚的斯亚贝巴飞往肯尼亚内罗毕,飞机起飞仅6分钟后坠毁,机上157人全部遇难。上述两起空难都使用了波音737Max-8型飞机。事故调查结果发现:客机中的自动防失速系统(MCAS)导致了两起致命空难。两起事故中,飞机的自动防失速系统为了回应错误的迎角信息而自动启动,飞机的自动防失速系统设计和认证没有充分考虑飞机失控的可能性。相关案例【案例6-2】2016年2月7日,日本成功发射了一颗造价2.86亿美元,名为“瞳”的卫星,卫星上携带的X射线检测仪器被寄予厚望,有望揭开黑洞等宇宙未解之谜,但时隔一个月后,“瞳”却因自旋而解体。它的设计寿命为10年,却未能正式工作10天。事后分析发现,卫星的解体是由一个底层软件错误导致的,发生错误的软件被安装在了“星体定位跟踪器”上。卫星在经过“南大西洋地磁异常区”的南非东海岸上空时,暴露在相对更高的辐射环境中,导致了“星体定位跟踪器”故障。卫星的电子设备当然都是经过防辐射处理的,但或许是工程师过于乐观,或许是“瞳”的运气太差,当年的地球磁场变化不太合理,数据变化太大,超出了卫星设计上限,从而造成了卫星的解体。信息安全保护信息的机密性、完整性和可用性。它是信息安全的一个关键问题,关系到国家、企业和个人的安全。信息安全威胁可能导致数据泄露、系统瘫痪等问题,给用户带来巨大的损失。信息安全的重要性1恶意软件、社会工程、网络攻击等威胁信息安全。例如,勒索软件通过加密用户的重要文件,要求用户支付赎金来解锁文件。信息安全威胁不仅影响个人用户,还可能对企业和国家的安全造成严重影响。信息安全的威胁2信息安全的定义随着互联网的普及,软件安全问题日益突出。例如,2018年印尼狮航JT610航班和2019年埃塞俄比亚航空ET302航班的空难,均因飞机的自动防失速系统(MCAS)设计缺陷导致,凸显了软件安全的重要性。软件安全是信息安全的重要组成部分,关系到软件系统的稳定性和用户的信任度。软件安全的重要性软件安全是指软件在受到恶意攻击时仍能正确运行。它涉及理解软件引起的安全风险并管理这些风险。软件安全是信息安全的重要组成部分,关系到软件系统的稳定性和用户的信任度。软件安全的定义软件安全的概念可信计算是在计算机中建立硬件信任根,建立信任链,从硬件到操作系统再到应用,确保整个系统的可信。可信计算平台通过硬件和软件技术的结合,防范不同类型的安全威胁,确保系统的安全运行。”可信计算有助于提高软件系统的安全性。例如,可信计算平台可以防止恶意软件的入侵,保护用户数据的安全。可信计算平台通过硬件和软件技术的结合,防范不同类型的安全威胁,确保系统的安全运行。”可信计算的概念可信计算的重要性可信计算与软件安全21世纪高等学校计算机类课程创新系列教材IT风险分析及防御策略0401IT风险包括完整性风险、存取风险、获取性风险、体系结构风险和其他相关风险。不同类型的IT风险对项目有不同的影响,例如,存取风险可能导致数据泄露,获取性风险可能导致数据不可用。IT风险的类型02IT风险管理包括风险识别、评估、处理和监控。风险识别是采用系统化方法识别项目已知和可预测的风险。风险评估是对已识别风险进行估计和评价,确定风险发生的概率与后果。风险处理是制定风险解决方案,最大限度降低风险。风险监控是对风险发生的监督和对风险管理的监督。IT风险管理IT风险及管理过程合同风险、需求变更风险、沟通不良风险等是常见的IT风险。这些风险可能导致项目超期、超预算或失败。例如,合同不科学、不严谨可能导致项目边界和责任界定不清,需求变更无限制可能导致项目进度延误。常见的IT风险通过科学的合同管理、需求变更控制、沟通机制建立等措施预防风险。例如,项目建设之初应与各方签订补充协议,明确需求变更控制流程,定期与项目干系方沟通,确保信息畅通。风险预防措施IT风险分析及预防措施IT使用者风险意识的概念IT使用者风险意识是指使用者认识到计算机系统的风险性,并自觉规避风险。培养IT使用者风险意识有助于减少信息安全事件,提高系统的安全性。培养IT使用者风险意识加强账户安全管理、软硬件维护、网络防火墙技术应用等措施有助于培养风险意识。例如,定期修改密码、安装正版软件、使用防火墙和杀毒软件等,可以有效降低信息安全风险。IT使用者的风险意识IT设计者风险意识是指设计者对软件开发过程中潜在风险的认识。提高I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国新能源项目绿色债券融资实践与信用评级方法研究
- 2026中国远程医疗服务平台发展模式探索及市场需求分析报告
- 2026轻量化材料制造行业现状技术突破与应用领域拓展规划分析研究报告
- 2026桥梁建筑钢结构施工行业供应链要素市场投资评估产品质量要素分析报告
- 2026中国智能化妆品生产生产线设备行业市场供需分析及投资评估规划分析研究报告
- 2026中国跨境电商独立站流量获取成本与品牌出海策略分析
- 2026全球半导体行业发展趋势与投资布局策略研究报告
- 2026北美自动驾驶高精地图数据采集商业模式创新报告
- 2026生物制品市场供需现状及投资计划规划分析研究报告
- 2026农业industry市场供需形势及投资发展潜力评估规划文献
- 2026届高三语文秋季开学第一课
- 2026年河南工业职业技术学院辅导员招聘考试笔试题库及答案
- 2026年湖南省中考数学试卷(含答案及解析)
- 科创板知识测评(含答案)
- 葡萄酒生产与陈酿作业指导书
- 2026年企业安全生产标准化评审员考试真题及答案
- 云南高创人才服务有限公司红河州分公司招聘笔试题库2026
- JJF 2383-2026大量程数显指示表校准规范
- DB42-T 2544-2026 装配式混合框架结构技术规程
- 设备设施检修服务方案投标文件(技术标)
- 福建中医药大学《西医诊断学》2025-2026学年期末试卷
评论
0/150
提交评论