当前位置:文档之家› 第一讲软件工程

第一讲软件工程


第一讲软件工程
软件工程构成三要素
n 过程
– 管理部分
n 方法
– 技术手段
•软件工程
•过程 •工具 •方法
n 工具
– 自动或半自动地支持软件的开发和管理
n 要素之间相互关联和支持
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件工程目标(1/2)
n 正确性
– 满足用户的需求(功能、性能等)
第一讲软件工程
软件危机的表现(2 of 3)
n 软件质量得不到保证
– 软件应用面的扩大:科学计算、军事、航空航天、工业 控制、企业管理、办公、家庭
– 软件越来越多的应用于安全犹关(safety critical)的系统, 对软件质量提出更高的要求
– 80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误 – 美国阿托拉斯火箭的发射失败,原因是软件故障 – 英国1986年开发的办公室信息系统Folios经4年,因性能
– 应用扩大,代码量,1000万行,仍在不断膨胀
n 影响软件生产率和质量的因素比较复杂
– 人员的能力和水平 – 团队合作
n 缺乏有效、系统原理、原则、方法和工具的指导和 辅助
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
对软件开发的深层次认识
n 开发一个具有一定规模和复杂性的软件系统 与编写一个简单的程序不一样©Copyright XFra biblioteknjun Mao
第一讲软件工程
什么是软件危机
n 软件在开发和维护过程中遇到的一系列问题
– 困扰学术界和工业界 – 用户对软件开发缺乏信心 – 软件开发的高投入和高风险
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件危机的表现(1 of 3)
成本高
的方法和工具的指导 3. 软件工程:方法,工具和过程 4. 软件工程的目标和原则
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
3rew
演讲完毕,谢谢听讲!
再见,see you again
PPT文档演模板
2020/12/1
第一讲软件工程
率地开发出高质量的软件”
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
解决危机的管理途径
n 问题出在哪里? n 20世纪80年代末,美国DoD和工业界开始认识到管
理的重要性
– 美国DoD的一项研究表明,70%的项目由于管理不善导 致难以控制进步、成本和质量;
– 进一步的研究发现:管理是影响软件项目成功开发的全 局性因素,而技术只影响局部
n 程序例子
Main( ) { int i, j;
// 变量定义
char Str[10]; i = i + j ; // 语句说明
……}
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
什么是程序(2/2)
n 程序设计语言具有良好、严格语法和语义 n 目前程序设计语言主要有以下几种类型
n 可靠性
– 具有能够防止因概念、设计和结构等方面的不完善而造 成的系统失效,具有挽回因操作不当造成软件系统失效 的能力
n 可维护性
– 便于对软件增加新功能、改进性能、修改错误、移植
n 可重用性
– 软件易于被再次使用
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件工程目标(2/2)
第一讲-软件工程
PPT文档演模板
2020/12/1
第一讲软件工程
本讲内容
1. 软件(概念、特点) 2. 软件危机(表现和根源) 3. 软件工程(概念、目标和原则)
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
计算机软件
n 什么是计算机软件 n 计算机软件的特点
PPT文档演模板
– 如果软件开发组织不能对软件项目进行有效管理,就不 能充分发挥软件开发方法和工具的潜力,也就不能高效 率地开发出高质量的软件产品
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
本讲内容
1. 软件(概念、特点) 2. 软件危机(表现和根源) 3. 软件工程(概念、目标和原则)
– 正如建设狗窝和高楼大厦
n 大型、复杂软件系统的开发是一项工程,必 须按照工程化的方法组织软件的生产和管理, 必须经过分析、设计、实现、测试、维护等 一系列软件过程和活动
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
解决危机的技术途径
n 20世纪60年代爆发,然而实际上软件危机随着计算 机软件的产生而产生,只是在此之前其问题的严重 性没有引起人们的关注和重视
n 维护非常困难
– 软件维护的多样性 – 软件维护的复杂性 – 软件维护的副作用
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
产生软件危机的根源
n 逻辑产品,不同于物理产品 n 复杂性高
– 逻辑产品,逻辑复杂性,远高于硬件复杂性 – 软件的复杂性随规模呈指数级上升
n 规模大
n 可追踪性
– 对软件进行正向和反向追踪的能力
n 可移植性
– 从一个环境搬迁到另一个环境
n 可互操作性
– 多个软件要素相互通讯协同完成任务能力
n 有效性
– 充分利用计算机的时间和空间资源
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件工程原则(1/2)
n 抽象
– 关注事物基本、重要的部分,忽略不相关成分 – 抽象可以使我们的思维聚焦于问题本质,从而简化问题,控制问题
达不到要求,1989年取消 – 日本第5代机因为软件问题在投入50亿美元后于1993年
下马
n 由于软件质量问题导致失败的软件项目非常多
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件危机的表现(3 of 3)
n 进度难以控制
– 项目延期比比皆是 – 由于进度问题而取消的软件项目较常见 – 只有一小部分的项目能够按期完成
– 需求分析文档 – 软件设计文挡等
n 编写文档目的
– 促进对软件的开发,管理和维护; – 便于各种人员(用户,开发人员)的交流
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
文档例子
n 软件需求规格说明书
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
– 有助于软件开发人员的注意力集中于更高的抽象层次
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件工程原则(2/2)
n 局部化
– 物理模块内集中逻辑上相互关联的计算资源 – 确保模块内各成分关系密切而模快之间的关系松散,保证模块具有
良好的独立性
n 一致性
– 整个软件系统均使用统一的符号、概念和术语
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件工程
n 软件危机-->根源-->解决途径:软件工程 n 产生:1968年 NATO 计算机科学会议 n 软件工程是运用工程的、数学的、计算机等
科学概念、方法和原理来指导软件开发和管 理和维护的一门学科
PPT文档演模板
©Copyright Xinjun Mao
本讲内容
1. 软件(概念、特点) 2. 软件危机(表现和根源) 3. 软件工程(概念、目标和原则)
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
软件危机
n 什么是软件危机 n 软件危机的表现 n 产生软件危机的根源 n 解决危机的技术途径 n 解决危机的管理途径
PPT文档演模板
n 提出有效的方法和工具支持软件开发
– 1968年提出软件工程概念和思想 – 20世纪70年代的结构化软件开发方法 – 20世纪80年代的面向对象的软件开发方法 – 新的技术: 软件重用、快速原型、需求工程 – 典型技术: COM, Java, C++, J2EE, .Net, …. – 支撑工具和环境:Jbuilder, Visual Studio, WebLogic, …
软件特点
n 不会老化 n 逻辑产品 (智力, 无形) n 维护困难和复杂(完善, 纠错,…...) n 生产只需复制 n 软件开发性质如成本、进度等难以估计 n 软件的开发更加依赖于开发人员的业务素质、
智力、人员的合作、组织和管理
PPT文档演模板
©Copyright Xinjun Mao
第一讲软件工程
©Copyright Xinjun Mao
第一讲软件工程
什么是计算机软件?
n 与计算机系统操作有关的程序以及任何与之 相关的文档的集合
•可执行部分
•不可执行部分
PPT文档演模板
•程
•文档

•文档 •文档3
1
2
©Copyright Xinjun Mao
第一讲软件工程
什么是程序(1/2)
n 程序: 由程序设计语言所描述的、能为计算 机所识别、理解和处理的语句序列
– IBM 360 OS, 5000多人年, 耗时4年(1963-1966),花费 2亿多美元
– 美国空军:1955年软件占总 费用(计算机系统)的18%,70 年60%,85年达到85%
相关主题