计算机技术与软件专业技术资格(水平)考试
软考高级-系统架构设计师
系统架构设计师必学知识点
七、软件工程基础
1.软件开发方法
名称 特点
结构化方法
将整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据,
按顺序完成。应用最广泛。特点是注重开发过程的整体性和全局性。
缺点
是开发周期长;
文档设计说明繁琐,工作效率低;开发前要求全面获取需求和所有变更,但这不现实。
原型法
基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的
最终系统需求。
面向对象方法
用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用,
以达到复用的目的。其特点是在整个开发过程中使用的是同一套工具。面向对象方法主要
涉及分析、设计、实现三个阶段。
敏捷开发
一种以人为核心、迭代、循序渐进的开发方法,适用于一开始并没有或不能完整地确定出
需求和范围的项目,或者需要应对迅速变化的环境,或者需求和范围难以事先确定,或者
能够以有利于干系人的方式定义较小的增量改进。
2.软件开发模型
(1)瀑布模型
该模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、
编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。
瀑布模型的优点是,容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产 品测试。不
足之处是,客户必须能够完整、正确和清晰地表达他们的需要;在开始的两个或 3 个阶段中,很难评估真
正的进度状态;当接近项目结束时,出现了大量的集成和测试工作:直 到项目结束之前,都不能演示系统
的能力。在瀑布模型中,需求或设计中的错误往往只有到了 项目后期才能够被发现,对于项目风险的控制
能力较弱,从而导致项目常常延期完成,开发费 用超出预算。
(2)增量模型