软件工程 北京大学张海藩
第一章、软件工程概述
- 软件工程研究领域包括软件的开发方法、软件的生命周期和软件的工程实践。
2.软件危机时指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
3.软件危机的表现
①软件开发的成本和进度的估计,常常不准确
②用户对已经完成的软件系统不满意
③软件产品的质量靠不住
④软件不可维护的
⑤没有适当的文档资料
⑥软件成本在计算机系统的总成本中所占的比例上升
⑦软件产品供不应求,即开发效率的提高的速度,既跟不上硬件的发展速度,也跟不上计算机应用的普及程度
4.软件危机的原因
①软件本身的特点有关
a.不同于硬件,它是逻辑部件而不是物理部件
b.不同于一般程序,它是规模庞大、程序复杂。多人合作开发,严格的体系
②软件开发和维护的方法不准确有关
a.在实践中采用了错误的方法和技术,是软件危机的主要原因。忽视需求,轻视维护。
b.对用户要求没有完整准确的认识就匆忙编写程序,是失败的主要原因之一。
c.程序只是软件产品的一个组成部分
5.软件工程
指导计算机软件开发和维护的工程学科。采用工程的概念 原理 技术和方法来开发和维护软件,用最好的技术和方法,开发高质量的软件并有效的维护它,就是软件工程。
6.软件工程知识体系 10个领域
需求
设计
构建(开发)
测试
维护
配置管理
工程管理
工程过程
工具和方法
软件质量
软件的定义 开发和运行维护。
2.1软件生命周期 8个基本任务。
问题定义
可行性研究
需求分析
概要设计
详细设计
编码和单元测试
综合测试
软件维护
过程模型
瀑布模型 快速模型 螺旋模型 统一过程模型 敏捷模型
2.1瀑布模型waterfall model

特点:
1.阶段间具有顺序性和依赖性
2.推迟实现的观点
3.质量保证的观点

瀑布模型的优点
1.开发人员采用规范的方法
2.每个阶段必须提交文档
3.每个阶段的产品经过质量保证小组的认定
文档驱动的,只能通过文档去了解
2.3快速原型模型

一个特点就是快速,能够在原型确定以后快速的抛弃。
在计算机下自动生成的,可节约成本。
2.4增量模型
也称作是渐增模型

优点:
1.在短时间可以完成一些有用的产品
2.逐步增加功能可以给用户较充裕的时间学习和适应产品,减少带来的冲击
极限编程过程

数据结构
软件工程
操作系统
任爱华 刘刚
网友评论