华南理工大学《软件工程》复习资料
什么是软件工程?
软件工程是一门工程学科,涉及软件生产的各个方面,它既是一个创造的过
程,又是一个逐步进行的过程,从最初的系统描述到使用后的系统维护。
软件工程定义:
鲍威尔(Fritz Bauer):“建立并使用完善的工程化原则,以较经济的手段获
得能在实际机器上有效运行的可靠软件的一系列方法”。
软件工程项目的基本目标是:
(1)付出较低的开发成本;
(2)达到要求的软件功能;
(3)取得较好的软件性能;
(4)开发的软件易于移植;
(5)需要较低的维护费用;
(6)能按时完成开发工作,及时交互使用。
软件工程是对技术(或社会)实体的分析、设计、建造、验证和管理。因此工
程须回答下列问题:
要解决的问题是什么?
要用于解决该问题的实体具有什么特点?
如何实现该实体(解决方案)?
如何建造该实体?
采用什么方法去发现该实体设计和建造过程中产生的错误?
瀑布模型存在的问题:
1、实际的项目很少按照该模型给出的顺序进行.开发过程中变化可能引起混乱;
2、用户常常难以清楚的给出所有需求;
3、在软件开发初期指明软件系统的全部需求是困难的,有时甚至是不现实的。
而瀑布模型在需求分析阶段要求客户和系统分析员必须做到这一点才能开展后
续阶段的工作;
4、需求确定后,用户和软件项目负责人要等相当长的时间(经过设计、实现、
测试、运行)才能得到一份软件的最初版本。
螺旋模型具有以下的优点:
(1)螺旋模型支持用户需求的动态变化;
(2)螺旋模型中,需求分析和软件实现是相互依赖、紧密联系的软件开发活动。
(3)螺旋模型为用户参与软件开发的所有关键决策提供了方便。
(4)螺旋模型有助于提高目标软件的适应能力。
(5)螺旋模型为项目管理人员及时调整管理决策提供了便利,从而降低了软件
开发的风险。
◆原型模型(快速原型法)——针对软件开发初期确定软件系统需求方面存在
着一定困难的情况下,软件开发人员根据客户提出的问题域,抓住中心快速地
开发出一个原型,它向客户展示了待开发软件系统的全部或部分功能和性能,
在征求客户对原型意见的过程中,进一步修改、完善、确认软件系统的需求并
达到一致的理解。它是一种常用的模型。
◆快速原型方法关键在于快速地实现可运行的原型,以便尽快提交用户确认,