软件工程复习
1-3章
1、软件工程概述
定义:
将系统的、规范的、可度量工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
基本要素:
方法、工具和过程。
软件危机
1、 软件危机的表现:
(1)对于软件开发成本和进度的估计很不准确
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统挺满意的现象常常发生。
(3)开发的软件可靠性差
(4)软件没有适当的文档资料
(5)软件的可维护性差
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势
2、软件危机的原因
- 软件的规模日益庞大
- 软件开发的管理困难
- 软件本身的独有特点确实给开发和维护造成一些客观困难
- 软件开发和维护中许多错误认识和方法的形成可以归结与计算机发展早期软件开发的个性化特点。
- 软件开发技术落后。
- 生产方式落后
- 开发工具落后,生产率提高缓慢。
2、软件生命周期(Software Life Cycle):
软件工程最基础的概念
六个阶段
- 问题定义
- 可行性研究
- 需求分析
- 概要设计(总体设计)
- 详细设计
- 编码
- 测试与维护(时间最长)
软件生命周期模型
瀑布模型
瀑布模型主要包括开发和确认两个过程,即开发过程和确认过程。
特点:
(1)瀑布模型严格按照生命周期各个阶段来进行开发。他强调每一个阶段的严格性。
(2)瀑布模型是以文档格式驱动的。
(3)瀑布模型是以里程碑开发原则为基础,提供各阶段的检查点,确保用户需求,满足预算和时间限制。
局限性:
如果某一阶段文档出现问题,则要返回上一阶段去重新进行工作。缺乏灵活性。
原型模型
特点:
(1)利用原型法技术能快速实现系统的初步模型。
(2)采用逐步求精法使原型逐步完善。
采用原型模型适合满足如下条件的软件开发:
(1)首先得有快速建立系统原型模型的软件工具与环境。
(2)原型模型适合于那些不能预先确切定义需求的软件开发
(3)原型模型适合于项目组成员不能很好协同配合的情况。
增量模型
- 增量构造模型
- 演化提交模型
- 快速原型模型
螺旋模型
(1)综合了传统的软件生命周期模型和原型模型的优点。
(2)螺旋模型是一种将瀑布模型和增量模型结合起来运用的软件开发模型。
(3)螺旋模型是一种风险驱动的模型。
工作步骤:
- 计划
- 风险分析
- 工程
- 用户评价
喷泉模型
特点
- 5个阶段:分析、设计、实现、测试与集成
- 模型从高层返回低层无资源消耗,反映了软件过程的自然迭代
- 以分析为基础,资源消耗呈塔型,在分析阶段消耗的资源最多。
- 各阶段相互重叠反映了软件过程并行性。
- 模型强调增量开发
- 模型是对对象驱动的过程
- 模型分为系统实现和对象实现。
3、可行性研究
可行性研究步骤:
- 技术可行性研究
- 经济可行性研究
- 法律可行性研究
- 开发方案的选择性研究
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!