软件工程推进方法

上传人:ldj****22 文档编号:51433603 上传时间:2018-08-14 格式:PPT 页数:87 大小:2.01MB
返回 下载 相关 举报
软件工程推进方法_第1页
第1页 / 共87页
软件工程推进方法_第2页
第2页 / 共87页
软件工程推进方法_第3页
第3页 / 共87页
软件工程推进方法_第4页
第4页 / 共87页
软件工程推进方法_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《软件工程推进方法》由会员分享,可在线阅读,更多相关《软件工程推进方法(87页珍藏版)》请在金锄头文库上搜索。

1、软 件 工 程 推 进 方 法 李 超 成都信息工程学院 2005.6第二章 软件与软件工程 程序(语言)软件 软件危机 软件工程 第二章 软件与软件工程v 软件 q计算机和高级程序语言 标志: 1946年美国宾夕法尼亚大学研制出第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer) 计算机程序:1949年英国剑桥大学的M.V.Wilkes开发的电子延迟存储自动计算机EDSAC(Electronic Delay Storage Automatic Calculator) 根据著名数学家(Von.Naumann)倡导的结构程序的思想

2、和理论进行设计的。 基本思想:把编制好的程序蓄积在存储器中(程序和数据混在一起),从头到尾解释执行。(最初的机器语言) 第二章 软件与软件工程最初的程序都是机器语言,但 计算机硬件性能提高 计算机处理效率和处 理方法的要求提高 计算机程序用的存储 器的容量扩大计算机需求量扩大 汇编 语言 第二章 软件与软件工程高级语言 n1954年,产出了FORTRAN(科学计算); n1959年,发表了Cobol(事务处理); n1960年,发布了USP,ALGOL; n1965年,发布了Basic PL/Z; n1970年,发布了Pascal; n1972年,发布了C; n1980年,发布了Ada; n1

3、983年,发布了C#; n1993年,发布了Java.机器语言或汇编语言依赖于计算机硬件本身,程序完成 的效率低,高级语言不依赖于机种,先编译成可执行程 序,通用性强。 v 软件的概念 q 定义 软件(software)一词源于60年代,soft+ware不同阶 段对软件的认识是不同的。计算机发展初期,硬件的设计和生产占主导地位。软件定义仅仅是程序,生产方式是个体手工方式。从设计到编制在一个人头脑中完成 质量取决于个人的编程技巧 维护由本人完成 设计编制 第二章 软件与软件工程第二章 软件与软件工程v 软件的概念 q定义 但随着计算机应用需求的扩大,复杂度 增加,计算机用于大型生产作业,以及工

4、程 学原理引入到软件开发和管理中,使得计算 机软件的内涵发生深刻变化,并定义为:软件所开发的程序+数据+文档资料第二章 软件与软件工程v 软件的概念 即:软件是计算机系统中与硬件(Hardware )相互依存的另一部分,它包括程序( Program)、相关数据(Data)及说明文档 (Document)。其中,程序是按照事先设计的功能和性能要求 执行的指令序列;数据是程序能正常操纵信息的数据构;文档是与程序开发维护和使用相关的各 种图文资料。 第二章 软件与软件工程v 软件的概念 q软件的特点 软件同传统的工业品相比,有其独特性。 n软件是一种逻辑实体,具有抽象性。可 记录在纸,内存,磁盘、光

5、盘等,无法看 到本身的形态。 分析观察 考虑 判断 功能、 性能等 第二章 软件与软件工程v 软件的概念 q软件的特点 n软件没有明显的制造过程(生产方式不 同)。 p一旦研制,可大量复制。 p软件的质量控制贯穿在开发过程中。 n在使用中无磨损、老化问题。 但随适应硬件、环境、需求的变化而进 行修改等。第二章 软件与软件工程v软件的概念 n软件对硬件和运行环境有着不同程度的依赖性 。 n软件产品包括通用的和定制的,且大多数为定 制的。 n软件的成本相当昂贵。 n软件开发工作涉及很多社会因素 eg: 机构、体 制、管理方式等。 n软件的复杂性在增加。 它是有史以来,人类生产的复杂度最高的工业产

6、品。 第二章 软件与软件工程v软件分类 软件分类方法各种各样,很难给出 一个分类标准,可从不同的角度分类。 q按规模大小划分 n 大规模软件:大型的航空管理 系统 n 中规模软件:财务管理系统 n 小规模软件:工资计算 硬件基本软件硬件基本软件硬件软件第二章 软件与软件工程 v 软件分类 软件分类方法各种各样,很难给出一个分类 标准,可从不同的角度分类。q按层次划分 使 用 者 此阶段的软件同于第4第 5阶段的个别应用软件中间件个别应用软件共通应用软件应用软件存储器(ROM)存储器 (ROM)硬件软件第1阶段第2阶段第3阶段第4阶段第5阶段存储器(ROM)个别应用软件共通应用软件硬件基本软件

7、存储器(ROM)第二章 软件与软件工程v 软件分类 q按层次划分 基本软件:系统软件和支撑软件基本软件系统软件 支撑软件 操作系统 语言处理程序 服务性程序 数据库管理系统计算机网络软件 协助用户开发的工具软件 第二章 软件与软件工程v 软件分类 中间件:基本软件和应用软件之间的软件,即它是把各种各样的应用软件的共通部分抽取出来。目的是减轻软件开发的负担,提高开发效率,如现在流行的工作流软件。 应用软件:共通应用软件(商品化软件)CAD、财务个别应用软件(定制软件) 第二章 软件与软件工程v 软件工程 q软件危机的出现 软件是计算机系统不可分割的重要组成部分 ,软件危机的出现则是计算机系统发展

8、的产物 。20世纪40年代中期60年代中期:软件是为解决具体问题而专门编写的,是 规模比较小的程序,程序编写者和使用者为同 一人,软件开发具有明显的个体化特征。20世纪60年代中期70年代中期:重要特征是出现了“软件作坊”。但随着计 算机应用软件的不同扩展,出现了一些始料不 及的问题: v 软件工程 q软件危机的出现 n花大量的时间和精力去修改程序中的错误; n花大量的时间和精力去修改程序,以满足用户 不断变化的新要求; n花大量的时间和精力去修改程序,以满足硬件 不断升级的新环境。 结果: 第二章 软件与软件工程软件开发成本急剧上升 软件危机(Soft Ware Crisis) 质量越来越得

9、不到保证第二章 软件与软件工程v 软件工程 定义:是计算机软件开发和维护过程 中遇到的一系列严重问题的集中体现 。这些问题不仅局限于所开发的软件 不能正常工作,还包括如何开发软件 ,如何维护现有软件,以及如何满足 不断增长的软件需求。 第二章 软件与软件工程v 软件工程 q从软件危机到倡导软件工程为了摆脱软件危机所造成的困境, 北大西洋公约组织(NATO)的科学 委员会于1968年联邦德国召开的研讨 会上第一次提出了“软件危机”,并且 提出了解决“软件危机”的“软件工程” 概念。软件危机的表现: 第二章 软件与软件工程v 软件工程 q从软件危机到倡导软件工程软件 危机软件规模扩大软件案件堆积软

10、件开发费用增大软件生产性低软件技术者不足软件质量低下软件工程 (1968年NATO科学委员会主 持的学术会议上提出)第二章 软件与软件工程v 软件工程 q从软件危机到倡导软件工程根据软件危机产生的原因及表现,人们 提出必须科学地解决这些问题,提出了用 “软件工程”的概念,其主要思路是把人类 长期以来从事各种工程项目所积累起来的 行之有效的原理、概念、技术和方法,特 别是人类从事计算机硬件研究和开发的经 验教训,应用到软件的开发和维护中。第二章 软件与软件工程v 软件工程 q软件工程的概念 n在NATO会议上给出的定义:软件工程是用来建立和使用合理的工 程原则,以经济地获得可靠的,且在真实机 器

11、上可以高效工作的软件。 nIEEE标准术语给出的定义:软件工程是将系统的、规则的、可计 量的方法应用到软件的开发、操作及维护中 。也就是说,将工程学应用到软件开发中。 第二章 软件与软件工程v 软件工程 q软件工程的概念 n后来,经过一系列的发展和演变, 对软件工程给出了一个全面而科学的 定义:软件工程是软件开发、运行、维 护和引退的系统方法。软件工程是为了 经济地获得能够在实际机器上有效运行 的可靠软件而建立和使用的一系列完善 的工程化原则。第二章 软件与软件工程v 软件工程 q软件工程的概念 包括两方面内容:软件开发技术和软 件项目管理。 p软件开发技术:包括软件开发方 法学、软件工具和软

12、件工程环境。 p软件开发项目管理:包括软件度 量、项目预算、进度控制、人员组 织、配置管理、项目计划等。 第二章 软件与软件工程v 软件工程 q软件工程的概念 n软件工程的三个要素是: 方法 它为软件开发 提供了“如何做”的 技术。如,项目计划需求分析结构设计过程设计程序设计软件测试及维护等 工具 “用什么做 “的技术,计算 机辅助软件工 程,CASE( Computer Aided Software Engineering) 过程 定义了方 法使用的先后 顺序文档质量保证里程碑 第二章 软件与软件工程 v 软件工程 n软件工程的基本内容软件开发业务系统 需求说明 确定设 计制 造检 查维 护

13、机械开发业务系统的 需求说明很 难确定收集、整理用 户模糊的要求 ,确定系统化 的范围,策定新 系统的构想软件开发步骤与机械开发步骤的比较第二章 软件与软件工程 v 软件工程 n软件工程的基本内容软件开发业务系统 需求说明 确定设 计制 造检 查维 护机械开发根据设计内 容而正确地 采用设计技 巧和方法与机械设计不 同的是,确定的 设计方法没有, 而是在综合应 用各种各样的 设计文档资料 上下功夫,应用 已实践过的设 计经验解决研究 开发的要 素,进行 零部件设 计,容易 分业设计软件开发步骤与机械开发步骤的比较第二章 软件与软件工程 v 软件工程 n软件工程的基本内容业务系统 需求说明 确定

14、设 计制 造检 查维 护机械开发制造是人性 化最强的部 分,这是软 件研究开发 的特色已作成的作业 内容,其他人很 难理解,各人的 开发进度也很 难一致,个人的 个性和技术的 发挥很充分作业流程 、作业内 容明确、 机械化效 率高软件开发步骤与机械开发步骤的比较软件开发第二章 软件与软件工程 v 软件工程 n软件工程的基本内容业务系统 需求说明 确定设 计制 造检 查维 护机械开发检查已开发 软件的品质 ,很难完美错误很多,检 查项目很多, 每个开发项目 检查内容都不 同,要进行完 美的检查很难容易确定 性能检查 、外观检 查等方面 的检查基 准软件开发步骤与机械开发步骤的比较软件开发第二章

15、软件与软件工程 v 软件工程 n软件工程的基本内容业务系统 需求说明 确定设 计制 造检 查维 护机械开发除了进行故 障维护、保 持性能外, 还要积极地 追求功能而 进行必要的 修正、扩充随着需求、应 用环境的变化, 软件的功能扩 充、变更等方 面的维护量很 大尽可能维 持该机械 的性能软件开发步骤与机械开发步骤的比较软件开发第二章 软件与软件工程v 软件工程 n软件工程的基本内容软件工程学包括的内容有理论、结构、方法、环境、工具、技法、管理等。 但主要因素有: 自顶向下模型 螺旋型 结构化 面向对象开发模型 等 结构化方法 面向对象方法 算法 开发语言 CASE工具等 通用机 办公用计算机

16、个人用计算机 网络 综合开发环境 OS操作系统 等环境 Environment技法 Technigue软件开发工程管理方法论 Methodology第二章 软件与软件工程v 软件工程 q软件工程的概念 n软件工程学p方法论:软件工程的方法是指软 件开发所采用的模型、结构,它是 指导研制软件的某种规范。第二章 软件与软件工程v 软件工程 q软件工程的概念 n软件工程学 p技法:技法是指在软件开发、维护过 程中所使用的程序系统,它包括算法, 所选用的开发语言,所选择的开发工具 ,如CASE工具(Computer Aided Software Engineering,这是用于系统 分析、设计、开发、测试等综合支援开 发工程的工具)。良好的软件开发技法 、开发工具,可提高软件开发效率,使 之半自动化或者自动化进行开发。第二章 软件与软件工程v 软件工程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号