西门子TP700控制面板
西门子TP700控制面板
使用环境下软件产品使特定用户在达到规定目标方面的能力。它是从用户观点出发,来看待软件产品用于特定环境和条件下的质量,反映的是从用户角度看到的软件产品在适当系统环境下满足其需求的程度。
使用质量用有效性、生产率、安全性、满意程度等质量特征表述。
对于一个实际的软件项目而言,想把上面的所有质量特征都做好是一件很难的事情。质量、资源和时间是项目管理的三要素,三者相互影响和制约,提高质量是有成本和时间代价的,提高质量可能带来更多资源的投入或进度的延后。因此,任何一个项目都应根据项目的实际特点来平衡好三要素,制订切实可行的质量目标。
任何形式的产品都是多个过程得到的结果,因此对过程进行管理与控制是提高产品质量的一个重要途径。对于一个软件项目,为了提高软件产品质量、缩短产品开发进度、节约产品开发成本,必须在软件开发过程的每个阶段、每个步骤上都要进行管理和控制。
• 能满足用户综合期望的程度,软件系统具有友好的用户界面,便于用户使用。
• 软件的组合特性。软件生存周期中各阶段文档齐全、规范,便于配置管理。
软件质量是各种因素的复杂组合,软件质量因素也称为软件质量特性。质量特性反映了质量的本质,讨论一个软件的质量问题,*终要归结所谓的内部质量是从内部观点出发的软件产品特性的总体,是针对内部质量需求被测量和评价的质量。在新的ISO/IEC 9126《产品质量—质量模型》中,内部质量的定义是反映软件产品在规定条件下使用时满足需求的
的质量特性到定义软件的质量特性。
那么,影响软件质量的因素都有哪对于没有开发经验的人来说,似乎自己开发的软件能够正确运行就可以了。但软件工程的结果是软件产品,一个产品的质量要求则是多方面的。实际的情况是,正确性只是反映软件质量的一个因素而已。软件的质量因素很多,如正确性、可靠性、可使用性、效率、完整性、可维护性、可测试性、灵活性、可移植性、可复用性、互连性等。
ISO从更加普遍的用户角度出发,倡导并推动了关于统一软件质量特性认识的讨论,逐渐形成了比较一致的意见,并且不断改进。在1991年发布的ISO/IEC 9126《软件质量特性与产品评价》中初步体现了这种国际性探讨的成果。ISO/IEC 9126-1991标准规定的软件质量模些?评价软件质量的标准是怎样的?换句话说,满足哪些标准才能保证软件产品具有好的质量?为了回答这些问题就需要一个易于理解的质量模型,来帮助评估软件的质量和对风险进行识别、管理。目前已有很多质量模型,它们分别定义了不同的软件质量属性,比较常见的3个质量模型是McCall模型、Boehm模型和ISO 9126,它们的共同特点是把软件质量特性定义成分层模型。比较普遍的质量特性模型是两层结构,第一层是按大类划分质量特性,叫做基本质量特性;第二层是每个大类所包含的子类质量特性;*后在各个类别的质量特性中一一列出对应的或相关的标准。
早在1976年,Boehm等人就提出软件质量模型的分层方案。1979年McCall等人改进了Boehm质量模型,又提出了一种软件质量模型,质量模型中的质量概念基于11个特性之上,这11个特性分别面向软件产品的运
而造成程序设计错误。
(4)需求变化。需求变化的影响是多方面的,客户可能不了解需求变化带来的影响,也可能知道但又不得不。
(5)金山词霸出现的错误
金山词霸2003和金山快译2003正式在全国各地上市以后,很多用户强烈批评这2款软件在某些词语翻译上的错误,并且当金山词霸2003的安装路径不按默认路径,或者用户使用其模型中较为典型的,除此之外还有喷泉模型、统一软件开发过程模型等。介绍软件过程模型的目的是为了突出软件工程中软件过程模型的重要地位,从某种意义上说,不了解软件过程模型,就不了解软件工程。
同时还应该认识到,形成一套完整而成熟的软件开发过程不是一蹴而就的,它需要一个从无序到有序、从特殊到一般、从定性到定量、*后再从静态到动态的历程,或者说软件开发组织在形成成熟的软件过程之前必须经历一系列的探索阶段。因此,有必要建立一个软件过程成熟度模型来对过程作出一个客观、公正的评价,以促进软件开发组织改进软件开发过程,这就是所谓的软件能力成熟度模型(CMM)要做的工作。
1.2 软件缺陷与软件故障1. 什么是软件缺陷和软件故障
软件是由人来完成的,所有由人做的工作都不会是****的。软件开发是很复杂的工作,开发人员很容易出现错误,虽然软件从业人员、专家和学者付出了很多努力,但软件错设计阶段应把已确定的各项需求,转换成相应的体系结构,在结构中每一组成部分都是功能明确的模块,每个模块都能体现相应的需求,这一步骤称为总体设计。然后进行详细设计,对某个模块要完成的工作进行具体的描述,以便为程序编写打下基础。
• 编码阶段的工作是编写各种层次的螺旋过程模型的一个额外
有价值。
螺旋过程模型符合典型软件项目的发展特点,但是跟简单的瀑布过程模型相比,它需要投入更多的精力来更细致地管理其过程。这主要由于每次在快速原型过程模型中,首先是快速进行系统分析,在设计人员和用户的紧密配合下,快速确定软件系统的基本要求,尽快实现一个可运行的、功能简单的原型系统,然后对原型系统逐步求精、不断扩充完善得到*终的软件系统。所谓“原型系统”就是应用系统的模型,用户在开发者的指导下试用原型,在试快速原型过程模型中,首先是快速进行系统分析,在设计人员和用户的紧密配合下,快速确定软件系统的基本要求,尽快实现一个可运行的、功能简单的原型系统,然后对原型系统逐步求精、不断扩充完善得到*终的软件系统。所谓“原型系统”就是应用系统的模型,用户在开发者的指导下试用原型,在试用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明的描述是否满足用户的期望。开发人员根据用户用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明的描述是否满足用户的期望。开发人员根据用户迭代完成之后都必须保证文档的一致性,特别是代码应该实现文档中描述的设计并且满足文档中记录的需求。此外,为了提高开发小组的生产效率,往往会在前一个迭代结束之前就开始一次新的迭代,这为协调文档的一致性增加了一定难度。
螺旋开发过程需要多少次迭代?这取决于具体的情况。例如,由3人组成的开发小组、耗时4个月的项目大概需要2次或者3次迭代,而项目若采用5次迭代,则所需要的管理费用通常会超过新增迭代所创造的价