1.软件工程概述
2021-04-14 09:58:53 1 举报
AI智能生成
🔸软件工程概述
作者其他创作
大纲/内容
计算机软件
什么是软件
软件 = 程序 + 数据 + 文档
程序
为实现设计的功能和性能要求而编写的
指令序列
指令序列
数据
使指令能够正常操纵信息的数据结构
文档
与程序开发,维护和使用有关的图文资
料
料
软件的分类
按用途划分
系统软件
嵌入式软件
实时软件
人工智能软件
个人计算机软件
商业管理软件
工程与科学计算软件
按规模划分
微型
小型
中型
大型
甚大型
极大型
软件的特征
软件有,硬件没有的特征
是一种逻辑实体,具有抽象性
没有物理实体,非可视性
软件的生产与硬件不同
批量生产的难易程度
产品生产方法不同
软件主要成本集中在开发过程,硬件主要集
中在原材料
中在原材料
软件产品不会“磨损”
软件危机
是指在软件开发和软件维护过
程中所存在的一系列严重问题
程中所存在的一系列严重问题
表现
软件开发无计划性,成本和工期经常失控
软件产品不能满足用户的实际需求
软件产品的质量无保证
软件的可复用性和可维护性较差
开发过程不规范,缺乏合格的文档资料
软件开发的人力成本持续上升
软件开发的生产率低下,满足不了急剧增长
的软件需求
的软件需求
原因
软件是逻辑产品,开发进度、成本难以估计
和控制
和控制
维护过程复杂,代价大
用户对软件需求的描述不准确,有遗漏,有
二义
二义
忽视需求分析的重要性
文档不完备,不规范
过分强调编码技巧,忽视软件的可维护性
大型软件项目需多人协同完成,缺乏管理经
验
验
缺乏有力的方法学和支持工具
解决途径
推广使用成功的开发技术和方法
消除 错误的概念和做法
使用软件工具和软件工程支持环境
加强软件管理
软件的发展
程序设计阶段
20世纪50~60年代
程序系统阶段
20世纪60~70年代
软件工程阶段
20世纪70年代~现在
1968-1982:瀑布过程
1983-1995:质量标准体系
20世纪90年代-现在:敏捷开发
三个阶段特点比较
软件生命周期
软件产品从策划、定义、开发、使用与维
护直到最后废弃所经过的一个漫长时期
护直到最后废弃所经过的一个漫长时期
阶段
三个阶段
软件定义
需求分析,项目策划,可行性研究,
软件开发
对算法的设计,数据结构,体系架构的实现
运行与维护
软件应用,应用中的纠错和改进
软件工程
概念
Fritz Bauer
建立并使用完善的工程化原则,
以较经济的手段获得能在实际机器上有效
运行的可靠软件的一系列方法
以较经济的手段获得能在实际机器上有效
运行的可靠软件的一系列方法
IEEE
(1) 将系统化的、规范的、可度量的
方法应用于软件的开发、运行和维护的过
程;即将工程化方法应用于软件开发和维
护过程中;
方法应用于软件的开发、运行和维护的过
程;即将工程化方法应用于软件开发和维
护过程中;
(2) 对(1)中所述方法的研究
核心思想
采用工程的概念、原理、技术和方法来开
发和维护软件,把经过实践考验而证明是
正确的管理技术和当前能够得到的最好的
技术方法结合起来,从而大大提高软件开
发的成功率和生产率。
发和维护软件,把经过实践考验而证明是
正确的管理技术和当前能够得到的最好的
技术方法结合起来,从而大大提高软件开
发的成功率和生产率。
基本要素
方法
为软件开发提供了“如何
做某项工作的”的技术指南
做某项工作的”的技术指南
工具
为软件工程方法提供了自
动的或半自动的软件支撑环境
动的或半自动的软件支撑环境
过程
定义了如何把各种方法和
工具进行综合才能使软件开发合理,及时
的进行
工具进行综合才能使软件开发合理,及时
的进行
基本原则
著名软件工程专家B.W.Boehm在1983年提
出了软件工程的七项基本原则
出了软件工程的七项基本原则
(1) 用分阶段的生命周期计划严格管理软件工程过
程
程
(2) 坚持在软件工程过程中进行阶段评审
(3) 实行严格的产品控制
(4) 采用现代的开发技术进行软件的设计与开发
(5) 工作结果应当是能够清楚地审查的
(6) 开发小组的人员应该“少而精”
(7) 承认不断改进软件工程实践的必要性
0 条评论
下一页