软件工程
第1章概论
1
复旦大学计算机科学与工程系软件工程课程
内容摘要
计算机软件
软件工程
软件过程
软件过程模型
敏捷软件开发
CASE工具与环境
2
复旦大学计算机科学与工程系软件工程课程
内容摘要
计算机软件
软件工程
软件过程
软件过程模型
敏捷软件开发
CASE工具与环境
3
复旦大学计算机科学与工程系软件工程课程
计算机软件
计算机软件指计算机系统中的程序及其文档
程序是计算任务的处理对象和处理规则的描述
任务:以计算机为处理工具的任务都是计算任务
处理对象:数据(如数据、文字、图形、图像、声音等,它们只是表示,而无含义)或信息(数据及有关的含义)
处理规则一般指处理的动作和步骤。程序必须装入计算机内才能工作
文档是为了便于了解程序所需的阐明性资料,文档一般是给人看的,不一定装入计算机
4
复旦大学计算机科学与工程系软件工程课程
软件的发展
1946-1956年
从计算机问世到实用的高级程序语言出现前
存储容量比较小,运算速度比较慢
采用个体工作方式,用低级语言编写程序
应用领域主要是以数值数据处理为主的科学计算,其特点是输入、输出量较小
衡量程序质量的标准主要是功效,即运行时间省、占用内存小
主要研究内容是科学计算程序、服务性程序和程序库,研究对象是顺序程序
5
复旦大学计算机科学与工程系软件工程课程
1956-1968年
从实用的高级程序语言出现到软件工程出现前
存储器容量大,外围设备得到迅速发展,出现了高级程序设计语言
应用领域包括数据处理(非数值数据),其特点是计算量不大,但输入、输出量却较大
高速主机与低速外围设备的矛盾突出,出现了操作系统、并发程序、数据库及其管理系统
20世纪60年代初提出了软件一词,开始认识到文档的重要性
研究高级程序设计语言、编译程序、操作系统、支持编程的工具及各种应用软件
工作方式逐步从个体方式转向合作方式
出现软件危机
6
复旦大学计算机科学与工程系软件工程课程
1968年-至今
从软件工程出现到现在
硬件向巨型机和微型机二个方向发展,出现了计算机网络,软件方面提出了软件工程,出现了“计算机辅助软件工程”(CASE)
计算机的应用领域渗透到各个业务领域,出现了嵌入式应用,其特点是受制于它所嵌入的宿主系统
开发方式逐步由个体合作方式转向工程方式
软件工程方面的研究主要包括软件开发模型、软件开发方法及技术、软件工具与环境、软件过程、软件自动化系统等
软件方面研究以智能化、自动化、集成化、并行化、以及自然化为标志的软件开发新技术
7
复旦大学计算机科学与工程系软件工程课程
软件危机
许多软件项目不能满足客户的要求
许多软件项目超出预算和时间安排
8
复旦大学计算机科学与工程系软件工程课程
软件危机的表现
对软件开发成本和进度的估计常常很不正确
用户对“已完成的”软件系统不满意的现象经常发生
软件产品的质量往往靠不住
软件常常是不可维护的
软件通常没有适当的文档资料
软件成本在计算机系统总成本中所占的比例逐年上升
软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势
9
复旦大学计算机科学与工程系软件工程课程
软件危机的原因
软件是逻辑产品,开发进度、成本难以估计
缺乏或不完整、不一致的文档给维护带来困难
用户对软件需求的描述往往不够精确,有遗漏,有二义
软件开发人员对需求的理解与用户的本来愿望有差异
大型软件项目需多人协同完成,缺乏管理经验
开发人员不能有效地、独立自主地处理大型软件的全部关系
缺乏有力的方法学和工具的支持
软件项目的特殊性和人类智力的局限性
10
复旦大学计算机科学与工程系软件工程课程
清华软件工程课件第01章_概论 来自淘豆网m.daumloan.com转载请标明出处.