文档介绍:软件工程
电子教案
王树林
第一部分产品和过程
这部分我们主要解决下列问题
究竟什么是计算机软件?
为什么我们要不断努力建造高质量的软件系统?
关于软件存在什么样的神话
什么是软件过程?
线性过程和迭代过程有何区别?
软件开发中可以应用什么过程模型?
在软件工程中已提出了什么高级的过程模型?
第一章产品
软件工程---一个过程,一组方法和一系列工具;
计算机软件:新的驱动力;推动着社会各行各业迅猛发展。
软件的发展
软件具有双重角色,(1)它是一种产品;
(2)它又是开发和运行产品的载体。
实际上,它还是一个信息转换器。
第一章产品
早期面向批处理
第二阶段多用户实时数据库软件产品
第三阶段分布式系统嵌入“智能”低成本硬件消费者的影响大众化
第四阶段强大的桌面系统面向对象技术专家系统人工神经网络并行计算网络计算机
第一章产品
软件的发展存在许多问题
(1) 硬件的发展一直超过软件;
(2)我们建造新程序的能力远远不能满足人们对新程序的需求,同时我们开发新程序的速度也远远不能满足商业和市场的需求。
(3)计算机的普遍使用已使得社会越来越依赖于可靠的软件。
第一章产品
(4)我们一直在不断努力建造具有高可靠性和高质量的计算机软件
(5)拙劣的设计和资源的缺乏使得我们难以支持和增强已有软件。
为了解决这些问题,我们需要软件工程实践
第一章产品
产业的观点
早期开发系统围绕硬件转,硬件成本最高程序设计是一门艺术,开发者可以为所欲为;
今天软件是最大的成本项,管理者和开发人员不断地问:
(1)为什么需要那么长时间才能结束开发?
(2)为什么成本如此之高?
(3)为什么我们不能在把产品交给用户之前就发现所有的问题。
第一章产品
(4)为什么我们在软件开发过程中难以度量其进展?
老化的软件工厂
许多公司都有一个老化的软件工厂,成千上万的软件需要修改。
20年前开发的系统经过许多的修改已变得不可维护了,一些关键的工程应用,由于不断地修改和老化,已经没有人能够了解其内部结构。
第一章产品
软件的竞争
早期许多公司雇佣的软件开发人员仅仅在公司内部服务,每个程序都是自己开发的,
目前已发生了很大的变化,那些曾经要开发的软件已能够在货架上买到。
成本、进度和质量将是未来若干年中导致软件激烈竞争的主要因素。
美国西欧韩国新加坡印度日本中国东欧等。
第一章产品
软件
软件是:
(1)能够完成预定功能和性能的可执行的指令;
(2)使得程序能够适当地操作信息的数据结构;
(3)描述程序的操作和使用的文档。