西门子TP700人机界面
*通用的做法就是按照ISO/IEC 9126:1991****来评价一款软件的质量。
ISO/IEC9126:1991是*通用的一个评价软件质量的****,它不仅对软件质量进行了定义,还制订了软件测试的规范流程,包括测试计划的撰写、测试用例的设计等。ISO/IEC9126:1991标准由6个特性和27个子特性组成员,每个成员都可以在“看板”上了解自己的工作任务及整个团队的工作进度。项目开始之后,从目前执行的任务和过程开始,团队会针对每个成员的工作做出持续、增量、渐进式的改变。
1.1.3 软件质量概述
软件产品与其他产品一样,都是有质量要求的,软件质量关系着软件使用程度与使用寿命,一款高质量的软件更受用户欢迎,它除了满足客户的显式需求之外,往往还满足了客户隐式需求。下面分别从软件质量的概念、软件质量模型、影响软件质量的因素这几个方面介绍软件质量的相关知识。型软件,使成本计算变得简单容易,客户始终参与每个阶段的开发,保证了项目不偏离正确方向,也保证了项目的可控制性。5.敏捷模型
敏捷模型是20世纪90年代兴起的一种软件开发模型。在现代社会,技术发展非常快,软件开发也是在快节奏的环境中进行的。在业务快速变换的环境下,往往无法在软件开发之前收集到完整而详尽的软件需求。没有完整的软件需求
的软件开发模型就难以展开工作。
为了解决这个问题,人们提出了敏捷开发模型。敏捷模型以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷模型中,软件项目在构建初期被拆分为多个相互联系而又独立运行的子项目,迭代完成各个子项目,开发过程中,各个子项目都要经过开发测试。当客户有需求变更时,敏捷模型能够迅速地对某个子项目做出修改以满足客户的需求。在这个过程中,软件一直处于可使用状态。
除了响应需求,敏捷模型还有一个重要的概念——迭代,就是不断对产品进行细微、渐
螺旋模型由巴利·玻姆(BarryBoehm)于1988年提出,该模型融合了瀑布模型、快速原型模型,它*大的特点是引入了其他模型所忽略的风险分析,如果项目不能排除重大风险,就停止项目从而减小损失。这种模型比较适合开发复杂的大型软件。
螺旋模型将整个项目开发过程划分为几个不同的阶段,每个阶段按部就班地执行,这种划分方式采用了瀑布模型。每个阶段在开始之前都要进行风险评估,如果能消除重大风险则可以开始该阶段任务。在每个阶段,构建软件原型,根据快速原型模型完成这个迭代过程,产出*终完善的产品,进入下一个阶段,同样下一个阶段开始之前也要进行风险评估,这样循环往复直到完成所有阶段的任务。螺旋模型的若干个阶段是沿着螺线方式进行的进行的,无法适应用户需求变更,用户只能等到*后才能看到开发成
发风险。如果开发与瀑布模型相比,快速原型模型克服了需求不明确带来的风险,适用于不能预先确定需求的软件项目。但快速原型模型关键在于快速构建软件原型,准确地设计出软件原型存在一定的难度。这种开发模型也不利于开发人员对产品进行扩展。3.迭代模型
迭代模型又称为增量模型或演化模型,它将一个完整的软件拆分成不同的组件,逐个组件地开发测试,每完成一个组件就展现给客户,让客户确认这一部件功能和性能是否达到客户需求,*终确定无误,将组件集成到软件体系结构中。整个开发工作被组织为一系列短期、简单的小项目,称为一系列迭代,每一个迭代都需要经过需求分析→软件设计→编码→测试的过程人员与客户对需求理解有偏差,到*后开发完成后,*终成果与客户需求可能会差之千里。
使用瀑布模型开发软件时,如果早期犯的错误在项目完成后才发现,此时再修改原来的错误需要付出巨大的代价。瀑布模型要求每一个阶段必须有结果产出,这就势必增加了文档的数量,使软件开发的工作量变大。
对于现代软件来说,软件开发各阶段之间的关系大部分不会是线性的,很难使用瀑布模型开发软件,瀑布模型不再适合现代软件开发,已经被逐渐废弃。2.快速原型模型
快速原型模型与瀑布模型正好它在*初确定用户需求时快速构造出一个可以运行的软件原型,这个软件原型向用户展示待开发软件的全部或部分功能和性能,客户对该原型,是软件开发的导航图,它能够清晰、直观地表达软件开发的全过程,以及每个阶段要进行的活动和要完成的任务。开发人员在选择开发模型时,要根据软件的特点、开发人员的参与方式选择稳定可靠的开发模型。
自有软件开发以来,软件开发模型也从*初的“边做边改”发展出了多个模型,下面以软件开发模型发展历史为顺序,介绍几个典型的开发模型。