软件工程第一章软件工程概念
授课老师:清华大学计算机系殷人昆
1
软件工程
提示:设计与建模要点
结构化分析建模:数据流图、实体关系图、状态迁移图、数据字典
结构化设计建模:数据流图转换为系统结构图
结构化程序设计:程序流程图、N-S图、PAD
程序环路复杂性计算
测试用例设计:逻辑覆盖、循环测试、基本路径覆盖、因果图
可靠性分析:估算测试前程序中潜在错误
OMT建模:对象模型、动态模型(状态图、事件追踪图)
UML建模:用例图、类图、顺序图、活动图
2
软件工程
软件的概念
软件的定义软件由计算机程序、数据及文档组成。
软件与硬件、数据库、人、过程等共同构成计算机系统。
软件按功能分类:应用软件、系统软件、支撑软件。
软件的发展经历了三个阶段:程序设计阶段、程序系统阶段、软件工程阶段。
3
软件工程
软件工程概念的出现源自软件危机。
软件危机的主要特征
软件价格在整个项目投入中的比例不断升高;
软件开发成本严重超标;
软件开发周期大大超过规定日期;
软件质量难于保证;
软件修改、维护困难;
失败的根本原因在于:开发人员写出的东西达不到用户要求(人的问题、技术问题)
1968 年德国人 Bauer 在北大西洋公约组织会议上的定义: "建立并使用完善的工程化原则, 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法"。
1983 年 IEEE 的软件工程定义: "软件工程是开发,运行, 维护和修复软件的系统方法"。
1993 年 IEEE 的一个更加综合的定义: "将系统化的,规范的,可度量的方法应用于软件的开发, 运行和维护的过程,即将工程化应用于软件中"。
软件工程定义
5
软件工程
软件工程框架
可
用
性
性
性
确
正
合
算
选取适宜的开发模型
采用合适的设计方法
提供高质量的工程支持
重视软件工程的管理
基本过程
支
持
过
程
组
织
过
程
目标
过程
原则
6
软件工程
软件工程框架给出了软件工程三个主要方面。
软件工程目标—包括可用性、正确性和合算性,规定了软件工程实践的结果(即软件)应具有的基本性质;
软件工程过程—包含的基本活动有需求、分析与设计、实现、确认与测试、维护与支持;
软件工程的四条原则--采用适宜的开发模型,使用恰当的开发方法,提供高质量的工程支持,实施有效的工程管理,从四个方面指导每一项工程的活动,以实现软件工程目标。
7
软件工程
软件工程的知识结构
2001年5月ISO/IEC JTC 1发布了《SWEBOK 指南 (试用版)》,即 Guide to the Software Engineering Body of Knowledge 。
SWEBOK 把软件工程学科的主体知识分为 10 个知识领域这 10 个领域包括:软件需求,软件设计,软件构造,软件测试,软件维护,软件配置管理,软件工程管理,软件工程过程,软件工程工具和方法,软件质量。
8
软件工程
软件工程的知识结构
2001年5月ISO/IEC JTC 1发布了《 (试用版)》,即 Guide to the Software Engineering Body of Knowledge。
SWEBOK把软件工程学科的主体知识分为10个知识领域。这10个领域包括:
软件需求软件设计
软件构造软件测试
软件维护软件配置管理
软件工程管理软件工程过程
软件工程工具和方法软件质量
9
软件工程
ISO 9000定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。
从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。
软件工程过程与软件生存周期
10
软件工程
清华大学郑人杰_殷仁昆教授_《软件工程讲义》-01 来自淘豆网m.daumloan.com转载请标明出处.