北京理工大学教学课件
需求规格说明书 系统分析员
设计说明书 程序 软件产品 改进的软件产品 开发组 程序员 测试小组
北京理工大学软件学院
1.3.3 硬件、软件生命周期的比较
生 命 初 期 故 障 率 由于副作用造成 的故障率提高 磨 损 后
故 障 率
修 改
实际曲线 理想曲线
足不了市场需求; 软件质量无保证 软件系统开发人员数量少,质量低. 软件系统维护难度大. 软件开发缺乏合适的工具和方法 软件的版权问题得不到保证
北京理工大学软件学院
1.2.7 yet, Success Hasn t Come Easily 53% 16%
成功的标准:
用户在使用
O, E, R )
其中:
I=(i1,i2,… ,in) E=(e1,e2,…,en) 输入集合。Ij表示一个抽象的输入数据类型
O=(O1,O2,…,On) 输出集合。Oj表示一个抽象的输出数据类型
构成集合。ei表示一个子系统或一个构件 R=(r1,r2,…,rn) 构件关系集合.ri表示一个关系。
北京理工大学软件学院
软件的应用领域
系统软件 实时软件 商业软件 工程和科学计算软件 嵌入式软件 个人计算机软件 基于Web的软件(网站) 人工智能软件
北京理工大学软件学院
1.2软件基本概念、分类、特点
1.2.1 软件
软件是计算机系统中与硬件相互依存的另一
部分,包括程序、数据及相关文档的完整集合。
1.2.2 软件的特点
1. 是逻辑实体,非物理实体,具抽象性;
2. 没有明显的制作过程;
3. 运行、使用期间不存在磨损、老化;
4. 软件的开发、运行受计算机系统的限制;
5. 复杂性高,成本昂贵。 6. 涉及社会因素。
北京理工大学软件学院
1.2.3 软件分类
1. 基于软件大的功能框架: * 系统软件 * 支撑(工具)软件 * 应用软件 2. 基于软件工作方式: * 实时处理 * 分时处理 * 交互处理 * 批处理
三要素 可 执 行 的
程序:按事先设计的功能、性能要求执行的指令 (语句)序列; 数据:使程序能正常操纵信息的数据结构;
文档:与程序开发、维护和使用有关的图文资料。
北京理工大学软件学院
计算机软件定义(GB)
软件表示 S = ( I,
与计算机系统的操作有关的计算机程序、规程、
规则,以及可能有的文件、文档及数据。
北京理工大学软件学院
第一章
软件工程概述
北京理工大学软件学院
第一章 软件工程概述的内容 1.1 引言
1.2 软件基本概念、分类、特点
1.3 软件工程的发展过程
1.4 软件工程的活动
1.5 软件过程模型 1.6 Rational统一过程模型
北京理工大学软件学院
1.1 引 言
为什么要讲软件和软件工程?
唯有对软件和软件的开发过程,有充分的认识,才能更好 的开发出过程受控、质量受控的软件产品。
对于软件和软件工程的认识是困难的,但软件开发过程又 存在很多困惑,需要对此有正确的、深刻的认识。
北京理工大学软件学院
1.1 引 言
软件不仅仅是在计算机运行的程序
任何预先定义好的程序步骤的地方,都有软件的身影
软件从设计、实现、维护和传统工程有相同的基础
北京理工大学软件学院
1.2.4 软件开发技术面临的问题
管理者的错误观点: •我们已经有标准和规程了 •我们已经有好的开发平台 和工具了 •我们可目 ,缓解项目的压力 用 户
开发者的错误观点:
北京理工大学教学课件
软件工程
北京理工大学软件学院
课 名:软件工程
参考教材:
1、张海藩,软件工程导论(第5版),清华 大学出版社,2008 2、齐治昌等,软件工程(第二版),高等教 育出版社,2006 3、郑人杰等,软件工程概论,机械工业出版 社,2010
教学方式:授课+实验 课时: 40
北京理工大学软件学院
管 理 者 •编完程序就大功告成 •程序未运行前,没有质量问题 •最后项目完成只提交程序 •软件工程,就是写文档,增加开 发成本 开发者
1软件开发的 错误观点
用户的错误观点: •因为知道项目的目标,可先编程序。 •不考虑项目将来怎样,以后要变改就行了
北京理工大学软件学院
1.2.5 软件危机
概括地说,软件危机包含下述两个方面的问题
教学目的和要求:
(1) 掌握软件工程的基本概念 (2)学会软件工程项目开发过程的分析、设 计、编码要求以及测试、维护的基本策 略和方法 (3)了解软件工程项目管理的基本内容和方 法
北京理工大学软件学院
主要内容为:
(1)软件工程概述: 软件工程发展、过程模型. (2) 软件工程技术: 软件工程分析方法、软件工 程系统设计方法、软件测试技术 (3)软件维护:软件的可维性、软件维护的任务及 过程、 软件维护的副作用 (4) 软件项目管理技术: 软件项目管理的基本概 念、项目计划、 风险分析、软件质量保证、软件 配置管理
用户使用软件很容易
做完要做的事
31%
成功
争议
失败
失败的根本原因
开发人员写出的软件达不到用户要求: 人的能力问题. 当前技术发展问题 系统平台问题
北京理工大学软件学院
1.3
软件工程的发展
1.3.1 软件的发展
在软件危机形式下,软件工程诞生了,1968年在北大 西洋公约组织(NATO)的德国开的学术会议上,软件 工程术语首次提出
:如何开发软件,以满足对软件日益增长的需 求;如何维护数量不断膨胀的已有软件。 在软件开发和维护的过程中存在这么多严重问 题,一方面与软件本身的特点有关,另一方面 也和软件开发与维护的方法不正确有关。
北京理工大学软件学院
1.2.6.软件危机的主要特点
软件开发周期大大超过规定日期;
软件系统开发成本高,周期长,质量差,满
北京理工大学软件学院
1.3.2 软件生命周期(Software
Life Cycle)
软件产品或软件系统从设计、投入使用到被淘汰的全过程
北京理工大学软件学院
阶段
计划
基本任务
理解工作范围
工作成果
计划任务书
完成人
用户
需求分析
概要设计 详细设计 编码 测试 维护
定义用户需求
建立软件结构 确定模块结构 编写程序 发现和排除问题 运行和管理