版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 软件工程技术基础n4.1 软件工程的基本原则n4.2 软件开发过程n4.3 软件开发中的系统分析与设计方法n4.4 软件开发管理技术第4章 软件工程技术基础从20世纪60年代末开始出现了“软件危机”。它的主要表现是:软件质量难以保证;成本增长难以控制,极少有在预定的成本预算内完成的;软件开发进度难以控制,周期拖得很长;软件的维护很困难,维护人员和费用不断增加等等。第4章 软件工程技术基础 “软件工程”主要思想是按工程化的原则和方法来组织和规范软件开发过程,解决软件研制中面临的困难和混乱,从而根本上解决软件危机。 所谓软件工程,就是研究大规模程序设计的方法、工具和管理的一门工程科学。4.
2、1 软件工程的基本原则软件工程的基本原则包括:n划分软件生命期:在时间上进行分解,将软件开发过程分解为一系列的分阶段的任务。n进行计划评审:和一般工程项目一样,软件开发要严格按计划管理,坚持进行阶段评审。n编制软件文档:在软件工程每一阶段都要编制完整、精确的文档。4.1.1 软件生命期 一般说来,软件从产生、发展到淘汰要经历定义、开发和维护三大阶段。更详细划分,又可分为六个或七个阶段。 具体来说,即定义阶段的可行性论证与开发计划、需求分析,开发阶段的概要设计、详细设计和编码,维护阶段的测试、运行维护。4.1.2 计划与评审软件工程按软件开发活动步骤应该制定以下计划:n项目实施总计划n软件配置管
3、理计划n软件质量保证计划n测试计划n安全保密计划n系统安装计划n运行和维护管理计划4.1.3 编制软件文档文档具有如下主要作用:n(1)作为开发人员在一定阶段内承担任务的工作结果和结束标志。n(2)向管理人员提供软件开发工作的进展情况,把软件开发过程中的一些“不可见”的事物转换成“可见”的文字资料。 n(3)记录开发过程中的技术信息,以便协调工作,并作为下一阶段工作的基础。 4.1.3 编制软件文档n(4)提供有关软件维护、培训、流通和运行信息,有助于管理人员、开发人员、操作人员和用户之间工作的了解。n(5)向未来用户介绍软件的功能和能力,使之能判断该软件能否适合使用者的需要。4.2.1 软件
4、开发过程模型 软件开发的目标就是在规定的投资和时间限制内,开发出符合用户需求的高质量软件。4.2 软件开发过程4.2.1 软件开发过程模型软件开发过程模型主要有两类:n1. 瀑布模型 瀑布型开发方法遵循软件生命期的划分,明确规定每个阶段的任务。瀑布型开发方法的阶段划分和开发过程如图6.1所示。4.2.1 软件开发过程模型4.2.1 软件开发过程模型 瀑布型开发方法适合于在软件需求比较明确、开发技术比较成熟、工程管理比较严格的场合下使用。各种应用软件的开发均可使用此法。4.2.1 软件开发过程模型n 2渐增模型 渐增型开发方法不要求从一开始就有一个完整的软件需求定义。渐增型开发方法允许从部分需求
5、定义出发。先建立一个不完全的系统,通过测试运行整个系统取得经验和反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复进行,直至软件人员和用户对所设计完成的软件系统满意为止,如图6.2所示。4.2.1 软件开发过程模型4.2.1 软件开发过程模型 渐增型开发方法适合于那些用户需求不太明确,而是要在开发过程中不断认识、不断获取新的知识去丰富和完善的系统。对于研究性质的实验软件,一般采用此法。4.2.2 可行性论证可行性研究主要集中在如下两个方面:n经济可行性:这是对经济合理性进行评价,包括对项目进行成本效益分析,比较项目开发的成本与预期将得到的效益。n技术可行性:分析技术风险的各种因素,例
6、如有关技术是否成熟?有没有胜任开发该系统的熟练技术人员?为开发项目的所有硬件、软件资源能否按期得到等等。4.2.2 可行性论证可行性报告应包括以下几个方面:n背景情况:包括国内外水平、历史现状和市场需求。n系统描述:包括总体方案和技术路线、课题分解、关键技术、计划目标和阶段目标。n成本效益分析:即经济可行性,包括经费核算和预期经济效益。n技术风险评价:即技术可行性,包括技术实力、设备条件和已有工作基础。n其他与项目有关的问题:如法律问题,确定由于系统开发可能引起的侵权或法律责任等。4.2.3 需求分析需求分析阶段的具体任务大体包括以下几方面:1. 确定系统的要求n系统功能要求:系统必须完成的所
7、有功能,这是最主要的需求。n系统性能要求:与具体系统的实现有关。一般包括系统的响应时间(系统的反应速度)、系统所需的存储空间、系统的可靠性(平均无故障时间)等等。4.2.3 需求分析n系统运行要求:即系统运行时所处环境的要求。n系统未来可能提出的要求4.2.3 需求分析2分析系统的数据要求n数据流图(data flow diagram,简称DFD)是描述数据处理过程的有力工具。DFD从数据传递和加工的角度,以图形的方式描述数据处理系统的工作情况。n数据词典(data dictionary,简称DD)是分析数据处理的另一常用工具,通常与DFD图配合使用。数据词典的任务是对DFD中出现的所有数据元
8、素给出明确定义,使DFD中的数据流名字、加工名字和文件名字具有确切的解释。所有名字按词条给出定义。全体定义构成数据词典。4.2.3 需求分析4.2.3 需求分析3修正开发计划4编写文档 这阶段主要要完成两份文档:软件需求规格说明书和初步用户手册。 经过需求分析阶段的工作,系统必须“做什么”已经清楚了,接下来就是决定“怎么做”。 概要设计也称总体设计。它的主要任务有两个: (1)设计软件系统结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系; (2)设计主要数据结构。4.2.4 概要设计4.2.4 概要设计1. 概要设计的过程n (1)选取最佳实现方案:4.2.4 概要
9、设计n(2)设计软件总体结构:通过对系统进行功能分解,来划分功能模块。应该把模块组织成良好的层次系统。上层模块调用下层模块,最下层的模块完成最基本、最具体的功能。软件结构一般用层次图或结构图来描述。4.2.4 概要设计n(3)设计主要数据结构:决定主要算法的数据结构、文件结构或数据库模式。分析员应该对数据库作进一步设计,包括模式、子模式、完整性、安全性设计。n(4)完成用户手册:对需求分析阶段编写的初步用户手册进行重新审定、完善,在概要设计的基础上确定用户使用的要求。4.2.4 概要设计n(5)制定初步测试计划:完成概要设计以后,应对测试的策略、方法和步骤等提出明确的要求。n(6)概要设计评审
10、:评审时待别要着重以下几个方面:软件的整体结构和各子系统的结构、各部分之间的联系、用户接口等等。4.2.4 概要设计2模块化软件设计的基本概念和原理n(1)模块化 模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,从而完成指定的功能,满足问题的要求。4.2.4 概要设计4.2.4 概要设计n(2)信息隐蔽和局部化 信息隐蔽:在设计模块时,应让一个模块内包含的信息(过程和数据)对于其他不需要这些信息的模块来说,是不能访问的。 所谓局部化:是把一些关系密切的软件元素尽可能地放在一起。4.2.4 概要设计n(3)模块独立 模块独立指的是:每个模块完成一个相对独
11、立的特定子功能,与其他模块之间的关系尽量简单。 模块独立的程度由两个标准耦合和内聚来衡量。n耦合是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块间接口的复杂程度。n内聚是对模块内各个无素彼此结合的紧密程度的度量。4.2.4 概要设计4.2.4 概要设计(4)模块划分的原则n改进软件结构提高模块独立性,降低模块接口的复杂程度。n模块规模应该适中。n深度、宽度、扇出和扇入都应适当。 深度表示软件结构中控制的层数,它往往能粗略标志个系统的大小和复杂程度。如果层数过多则应考虑模块能否合并。 宽度是软件结构同一层次上的模块总数的最大值。一般说来宽度越大系统越复杂。 4.2.4 概要设计扇
12、出是一个模块直接控制(调用)的模块数目。扇出过大意味着模块过分复杂,过小也不好。在设计得好的系统中,通常模块扇出是3或4。 一个模块的扇入表明有多少个上级模块直接调用它。n设计单入口单出口的模块。4.2.4 概要设计4.2.4 概要设计3软件结构的表示n通常在概要设计时,采用层次图来描述软件的层次结构,它很适合在自顶向下设计软件的过程中使用。4.2.4 概要设计4.2.5 详细设计 详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统。 也就是说,经过整个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把整个描述直接翻译成用某种程序设计语言书写的程序。4.2.5 详细设计
13、描述程序处理过程的工具称为详细设计的工具,它们可以分为图形、表格和语言三类。下面介绍几种常用的表示工具。1程序流程图 程序流程图又称为程序框图,如图65所示。4.2.5 详细设计4.2.5 详细设计n它的主要优点是对控制流程的描绘很直观,便于初学者掌握。n程序流程图的主要缺点有:程序流程图本质上不是逐步求精、细化的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不易表示数据结构。4.2.5 详细设计2盒图(NS图) Nassi和Shneiderman提出了NS图
14、,又称为盒图。它有下述特点:n功能域(即一个待定控制结构的作用域)明确。可以从盒图上一眼就看出来。n不可能任意转移控制。n很容易确定局部和全程数据的作用城。n很容易表现嵌套关系,也可以表示模块的层次结构。4.2.5 详细设计4.2.5 详细设计3PAD图 PAD是问题分析图(problem analysis diagram)的英文缩写,自1973年由日本日立公司发明以后得到一定程度的推广。它用二维树形结构图来表示程序的控制流,将这种图翻译成程序代码比较容易。图6.7给出了PAD图的基本符号。4.2.5 详细设计4.2.5 详细设计PAD图的主要优点如下:n使用PAD符号所设计出来的程序必然是结
15、构化程序。nPAD图所描绘的程序结构十分清晰。n用PAD图表现程序逻辑,易读、易懂、易记。n容易将PAD图转换成高级语言源程序。nPAD图既可用于表示程序逻辑,也可用于描绘数据结构。4.2.5 详细设计nPAD图支持自顶向下、逐步求精方法的使用。 4.2.5 详细设计4过程设计语言(PDL) PDL也称为伪码,这是一个笼统的名称,现在有许多种不同的过程设计语言在使用。它是用正文形式表示数据和处理过程的设计工具。4.2.5 详细设计Procedure 查找错拼单词 isbegin 把整个文件分离成单词; 查字典; 显示字典中查不到的单词end4.2.5 详细设计PDL具有下述特点:n它具有结构化
16、控制、数据说明和模块化的特点。n仅有少量的语法规则,大量使用自然语言语句,能灵活方便地描述程序算法。n既包括简单的数据结构,又包括复杂的数据结构(如链表)。n提供各种接口描述模式。4.2.5 详细设计nPDL具有如下一些优点:可以作为注释直接插在源程序中间。可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。已经有自动处理程序存在,而且可以自动由PDL生成程序代码。nPDL的缺点是不如图形工具形象直观,描述复杂的条件组合与动作的对应关系时,不够简单。4.2.6 软件编码 编码是设计的自然结果,也就是把软件设计的结果翻译成用某种程序设计语言书写的程序。4.2.6 软件编
17、码 源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准。编写程序时主要应注意以下几个方面。n(1)程序内部文档:包括恰当的标识符、适当的注释和程序代码的布局等等。n(2)语句构造:每个语句都应该简单而直接,不能为了提高效率而使程序变得过分复杂。4.2.6 软件编码n(3)输入输出:在设计和编写程序时应该考虑有关输入输出的规则。n(4)效率:包括时间效率和空间效率(存储效率)。4.2.7 软件测试 软件测试是保证软件质量的关键,也是对需求、设计和编码的最终评审。1.软件测试的目标测试的目的是找出错误。成功的测试是一种能暴露出尚未发现的错误的测试。6.2.7 软件测试2. 软件测试的原则测试
18、工作不应由开发软件的个人或小组承担。在计划测试时,不应默认不会找到错误。测试文件必须说明预期的测试结果。对合法的和非法的输入条件都要进行测试。4.2.7 软件测试3. 软件测试的方法 软件测试有黑盒测试和白盒测试两类方法。n黑盒测试也称为功能测试或数据驱动测试。它把程序看成是一个黑盒子,完全不考虑程序的内部结构和处理过程,只对程序的接口进行测试,即检查程序是否能适当地接收输入数据并产生正确的输出信息。4.2.7 软件测试n白盒测试是把程序看成是一个透明的白盒子,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑来测试,检验程序中的每条通路是否都能正确工作。因此,白盒测试又称为结构测
19、试或逻辑驱动测试。4.2.7 软件测试4. 设计测试方案n测试方案包括预定测试的功能、应该输入的测试数据和预期结果。其中最困难的问题是设计测试用的输入数据,即测试用例。n设计测试方案的基本目标是,确定一组最可能发现某个错误或某类错误的测试数据。主要设计技术有适用于黑盒测试的等价划分、边界值分析和错误推测法等等,以及适用于白盒测试的逻辑覆盖法。通常的做法是,用黑盒法设计基本的测试方案,再用白盒法补充一些方案。4.2.7 软件测试4.2.7 软件测试5软件测试的步骤n(1)单元测试(模块测试) 主要测试模块的五个特性:模块接口、模块的内部数据结构、重要的执行路径、错误处理路径、边缘条件。n(2)组
20、装测试 主要任务是按照选定的策赂,采用系统化的方法,将经过单元测试的模块按预先制定的计划逐步进行组装和测试,测试的目的在于发现与模块接口有关的问题,并将各个模块构成一个设计所要求的软件系统。4.2.7 软件测试n(3)确认测试 确认测试的任务是检验所开发的软件,看它是否能按顾客提出的要求运行,也就是是否符合软件规格说明书中确定的软件技术指标。4.2.7 软件测试4.2.8 软件维护n软件维护是软件生存周期的最后一个阶段。它是指已完成开发工作,交付使用以后,对软件产品所进行的一些软件工程活动。1. 软件维护的必要性改正在运行中新发现的软件错误和设计上的缺陷。这些错误和缺陷是在开发后期测试阶段未能
21、发现的。适应功能需求变化,增强软件的功能,并提高软件的性能。4.2.8 软件维护要求已运行的软件能适应待定的硬件、软件的工作环境或是要求适应已变动的数据或文件。使投入运行的软件与其他相关的程序有良好的接口,利于协同工作。使运行软件的应用范围得到必要的扩充。4.2.8 软件维护2软件维护的内容 n(1)改正性维护是在软件运行中发生异常或故障时进行的。n(2)适应性维护是为了使该软件能适应外部环境的变动,例如,新的操作系统和新的版本不断涌现。此外,“数据环境”的变动也要求进行适应性维护。n(3)完善性维护是为了扩充软件的功能,提高原有软件性能而开展的软件工程活动。4.3 软件开发中的系统分析与设计
22、方法 结构化的系统分析与设计方法是软件工程领域的经典方法,为软件工程的产生与兴起发挥了重要的作用,是目前最成熟的,也是应用得最多、最广泛的方法。许多方法都是源于对它的改进或扩充,如快速原型方法。 面向对象的系统分析与设计方法在90年代开始逐渐走向成熟,表现了蓬勃的生命力,为软件工程的发展注入了新的活力。毫无疑问,面向对象方法将是未来最有发展前途的软件工程技术。4.3 软件开发中的系统分析与设计方法4.3.1 结构化系统方法n1. 结构化分析方法 结构化分析方法(structured analysis)简称SA方法,是面向数据流进行需求分析的方法。 结构化分析方法适合于数据处理类型软件的需求分析
23、。由于利用图形来表达需求,显得清晰、简明,避免了冗长、重复、难于阅读和修改等缺点,易于学习和掌握。4.3.1 结构化系统方法结构化分析方法包括:n判定表n判定树n数据流图n数据词典n结构化语言 数据流图用以表达系统内数据的运动情况,是SA的最主要部分;数据词典定义系统中的数据;结构化语言、判定表和判定树用来描述数据流的加工。4.3.1 结构化系统方法(1)数据流图 数据流图简称DFD,它是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据处理系统的工作情况。在数据流图中有四种基本符号:4.3.1 结构化系统方法4.3.1 结构化系统方法n数据流是沿箭头指向传送数据
24、的通道,它们大多是在加工之间传输被加工数据的命名通道。同一数据流图上不能有两个数据流同名。多个数据流可以指向一个加工,也可从某个加工散发出多个数据流。n加工以数据结构或数据内容为加工对象。加工的名字常可写为一个动宾结构,简明扼要地表明了完成的是什么功能。4.3.1 结构化系统方法n文件在数据流图中起着暂时保存数据的作用,所以也被称作数据存储,它可以是数据库或任何形式的数据组织。指向文件的数据流可理解为写入文件,从文件引出的数据流理解为自文件读出。n数据流图上的第4种元紊是数据源点或终点,它表示图中所出现数据的始发点或终止点,是数据流图的外围环境部分。在实际问题中它可能是人员、计算机外部设备或传
25、感装置。4.3.1 结构化系统方法4.3.1 结构化系统方法 (2)数据词典 数据词典的任务是对数据流图中出现的所有数据元素给出明确定义。它使数据流图上的数据流名字、加工名字和文件名字具有确切的解释。4.3.1 结构化系统方法4.3.1 结构化系统方法在数据词典的定义式中,出现的符号可能有以下几个:4.3.1 结构化系统方法n对应图68的数据词典如下:借书证证号+单位+姓名+年龄+职务+证章|密码借书单证号+姓名+1书号+书名5索书单借书单+可借标记拒绝非法证|不合格单|证单不符已借出索书单+己借出标记供书单证号+姓名+1书号+书名+可供标记|已借出标记54.3.1 结构化系统方法借书记录借书
26、单+还书日期库存书目书号+书名+作者+出版社+出版年代+库存总数+借出册数借书登记卡借书日期+供书单4.3.1 结构化系统方法2. 结构化设计方法 采用自顶向下方法。 利用该方法可以从数据流图向系统结构图进行转换,因而可以和需求分析阶段所采用的结构化分析方法很好地衔接。n(1)结构化设计方法的步骤 首先研究、分析以及审查数据流图,然后根据数据流图决定问题的类型。4.3.1 结构化系统方法n(2)数据处理问题的两种类型变换型4.3.1 结构化系统方法相应地,这类系统的典型软件结构如图6.10所示。4.3.1 结构化系统方法事务处理型 事务处理型问题通常是在接受一项事务后,根据该事务的特点和性质,
27、选择分派给一个适当的处理单元,然后给出结果。4.3.1 结构化系统方法4.3.1 结构化系统方法4.3.1 结构化系统方法(3)从数据流图导出初始结构图n变换型问题4.3.1 结构化系统方法4.3.1 结构化系统方法n事务处理型问题4.3.1 结构化系统方法4.3.1 结构化系统方法n3. 结构化编程方法结构化编程(SP)主要包括两个方面: (1)在代码编写时,强调采用单入口单出口的基本控制结构(顺序、选择、循环),避免使用GOTO语句。 (2)在软件设计和实现过程中,提倡采用自顶向下和逐步细化的原则。4.3.1 结构化系统方法使用结构程序设计技术主要有以下一些好处: (1)自顶向下逐步细化的
28、方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。 (2)结构化程序有清晰的层次结构,易于阅读和理解。 (3)使用单入口单出口的控制结构而不使用GOTO语句,使得程序逻辑结构清晰,易读易懂易测试,容易保证程序的正确性。4.3.2 快速原型方法 快速原型方法是迅速地根据软件系统的需求产生出软件系统的一个原型的过程。 该原型要表现出目标系统的功能和行为特性。 原型法打破了传统的自顶向下开发模式,是目前比较流行的实用开发模式之一。4.3.2 快速原型方法n1为什么采用原型法 原因1:并非所有需求都能预先定义 原因2:项目参加者之间存在通信障碍 原因3:目前存在建造快速
29、原型的工具4.3.2 快速原型方法n2. 实现原型的一般途径(1)用于验证软件需求的原型(2)用于验证设计方案的原型(3)用于演进成目标系统的原型1. 面向对象方法的产生 传统的方法主要是面向过程的,也就是在分析设计时更多地从过程处理的角度进行。系统框架结构,系统模块的划分、设计都是基于系统所实现的功能,而功能是系统中最易变的部分。这样,如果系统需求发生一些变化(例如需要改进某些功能或者扩充某些新的功能),系统的结构就会受到破坏。4.3.3 面向对象方法4.3.3 面向对象方法 在实际系统中,最稳定的部分是对象。 传统的结构化分析和设计方法中存在迥然不同的表示方法。例如在分析阶段采用DFD表示
30、,而在设计阶段采用结构图的表示方法。多年来,专业人员在分析和设计过程中一直受到基本表示法变换的困扰。而在面向对象方法中,从分析(OOA)、设计(OOD)到编程实现(OOP)采用的都是同样的表示方法。4.3.3 面向对象方法2. 面向对象方法的优点(1)可重用性:继承是面向对象方法的一个重要机制。用面向对象方法设计的系统的基本对象类可以被其他新系统重用。(2)可维护性:通过面向对象方法构造的系统由于建立在系统对象类的基础上,结构比较稳定。当系统的功能要求扩充或改善时,可以在保持系统结构不变的情况下进行维护。4.3.3 面向对象方法(3)表示方法的一致性:面向对象方法在系统的整个开发过程中,从OO
31、A到OOD, 直到OOP,采用一致的表示方法,从而加强了分析、设计和编程之间的内在一致性,并且改善了用户、分析员、设计员以及程序员之间的信息交流。4.3.3 面向对象方法3. 面向对象方法的基本概念n对象(object):客观世界是由实体及实体间的联系组成的。我们把客观世界的实体称为问题空间的对象。n类(class):类描述的是具有相似性质的一组对象。n方法(method):允许作用于某个对象上的各种操作。4.3.3 面向对象方法n消息(message):用来请求对象执行某一处理或回答某些信息的要求。n继承(inheritance):表示类之间的相似性的机制。如果类X继承类Y,则X为Y的子类,
32、Y为X的父类(超类)。n封装(encapsulation):是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。用户只能见到对象封装界面上的信息,不必知道实现的细节。封装一方面通过数据抽象,把相关的信息结合在一起,另一方面简化了接口。4.3.3 面向对象方法4面向对象的分析和设计方法简介 OOA(面向对象分析)是针对问题域和系统责任的,不考虑与系统实现有关的因素。OOA模型由5个层次构成,即类及对象层、结构层、主题层、属性层和服务层。构造OOA模型的方法: (1)发现对象及类 (2)识别结构:结构指的是类之间的关系,可分为一般特殊结构和整体部分结构。4.3.3 面向对象方法(3)区分
33、主题:主题表示的是类的划分。(4)定义属性:属性是一些数据,类中的每个对象都有它自己的属性值。要为所有的类定义它们的属性。(5)定义服务:服务就是对象提供的或所能完成的操作(在一般的OO术语中,称之 为方法)。实例连接:表示一个对象需要其他对象的某些状态信息。消息连接:表示一个对象为了完成服务需要什么信息4.3.3 面向对象方法 OOA活动识别并且定义直接反映问题域的类和对象。OOD活动则识别并且定义为实现这个系统所需添加的类和对象,它们反映系统需求的一个具体实现。OOD模型由问题域、人机交互、任务管理和数据管理四个部分构成。OOD模型中的问题域部分就是OOA的分析结果。图6.18描述了OOD
34、模型结构。4.3.3 面向对象方法n在OOD模型中,人机交互部分包括有效的人机交互所需的显示和输入对象和类。n任务管理部分包括任务的定义、通信和协调。n数据管理部分提供了存储和检索对象的基本结构。4.3.3 面向对象方法4.4 软件开发管理技术4.4.1 质量管理1软件质量 国际标准化组织(ISO)于1985年提出了一个质量度量模型。它由高、中、低三个层次组成,并对高、中层建立了国际标准,低层由用户自行制定。下面简要介绍其高层模型。在这个高层模型中,质量因素由8个元素组成,即:4.4.1 质量管理n正确性:程序满足规范书及完成用户目标的程度。n可靠性:程序在所需精度下完成其功能的期望程度。n效率:软件完成其功能所需的资源。n安全性:对未经许可人员接近软件或数据所施加的控制程度。n可使用性:人员学习操作软件、准备输入和解释输出所需的努力。 4.4.1 质量管理n可维护性:在需求变更时,更改软件或弥补软件缺陷的容易程度。n灵活性:改变一个操作程序所需的努力。n连接性:与其他系统耦合所需的努力。4.4.1 质量管理2. 质量保证(1)技术审查 审查就是在软件生存周期每个阶段结束之前,都正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审查。(2)管理复审 管理复审是指向开发组织或使用部门
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版特色餐饮店铺出租管理协议3篇
- 2025版小额贷款抵押合同财务报告披露要求3篇
- 买卖合同纠纷代理词3篇
- 二零二五版荐知识产权担保交易合同集3篇
- 二零二五年度城市通勤车辆出租合作协议4篇
- 二零二五年度员工借款争议调解及劳动法执行合同
- 二零二五年度农业OEM产品种植与加工合同范本3篇
- 二零二五年度工业厂房租赁市场拓展合同范本3篇
- 二零二五年度光伏充电桩场地共享租赁合同3篇
- 2025年度仓储物流零星维修施工合同协议书3篇
- 湖北省黄石市阳新县2024-2025学年八年级上学期数学期末考试题 含答案
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 《00541语言学概论》自考复习题库(含答案)
- 《无砟轨道施工与组织》 课件 第十讲双块式无砟轨道施工工艺
- 江苏省南京市、盐城市2023-2024学年高三上学期期末调研测试+英语+ 含答案
- 2024新版《药品管理法》培训课件
- 《阻燃材料与技术》课件 第7讲 阻燃橡胶材料
- 爆炸物运输安全保障方案
- 江苏省南京市2025届高三学业水平调研考试数学试卷(解析版)
- 2024年黑龙江省哈尔滨市中考数学试卷(附答案)
评论
0/150
提交评论