一 .软件开发模式
1.瀑布模型
它就是将生命周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水
步骤分为:需求分析,系统设计,程序设计,编码,测试,运行及维护。
优点:(1).强迫开发人员采用规范的方法
(2).严格规定了每个阶段必须提交的文件
(3).要求每个阶段的产品必须经过质量小组的仔细验证
(4).因为有文档维护时容易
缺点:不适应用户需求的变化,它还是线性的,只有在开发完用户才能结果,每个阶段之间产生了大量的文档,导致工作量变大。
2.快速原型模式
第一步是先建造一个快速模型,通过逐步调整原型
来满足用户的需求,开发人员就可以确定客户真正的需求。
第二步就是在第一步的基础上开发至客户满意。
该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护。
3.螺旋模型
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
螺旋模型沿着螺线进行若干次迭代,有四种象限代表了以下活动。
- 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件。
- 风险分析:分析评估所选方案,考虑如何识别和消除风险。
- 实施工程:实施软件开发和验证。
- 客户评估:评价开发工作,提出修正建议,制定下一步计划。
4.迭代模式
迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。它类似小型的瀑布式项目。
优点:降低了开支风险,比如开发人员重复某个迭代,只是这一个开发有误的费用,而不是全部的。可以加快开发人员的效率。用户通常是在后续不断细化, 迭代过程适应需求的变化会更简单。
使用条件:1、在项目开发早期需求可能就有所变化。
2、高风险项目。
3、用户可不同程度地参与整个项目的开发过程。
5.增量模型
特点:增量模型的特点就是引进了增量包的概念,无须等所有的需求全部出来,只要某个需求的增量包出来就可以开发。虽然某个增量包可能还需要进一步适应用户的需求并且更改,但只要这个增量足够小,其影响对整个项目来说是可以承受的。‘
优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果当配备的人员无法在规定的时间完成产品时,它提供了推出核心产品的途径,可以对客户起到镇定剂的作用。增量能够有计划的管理技术风险。
缺点:如果增量包之间相交的情况且未好好处理,则必须做全盘分析。在开发中需求也是避免不了的,增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
6.敏捷开发模式
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
核心思想:强调面对面沟通。 把精力集中在可执行的程序上,可运行的程序胜于综合性文档。有超强的适应能力,敏捷开发就是快。
二、软件质量的概述
软件产品与其他产品一样,都是有质量要求的,软件质量关系着软件使用程度与使用寿命,一款高质量的软 件更受用户欢迎。还可以从软件质量的概 念、软件质量模型、影响软件质量的因素这几个方面知道软件质量的相关知识。
1.软件质量的概 念
主要就分三个层次:满足需求规定,满足用户需求,满足用户隐式需求
2.软件质量模型
ISO/EC 9126:1991是最通用的一个评价软件质量的国际标准,它不仅对软件质量进行了定义,而且还制订了软件测 试的规范流程,包括测试计划的撰写、测试用例的设计等。
3.影响软件质量的因素
需求模糊,软件开发缺乏规范性文件指导,软件开发人员问题,缺乏软件质量控制管理