第一章-软件工具开发的绪论PPT课件.ppt_第1页
第一章-软件工具开发的绪论PPT课件.ppt_第2页
第一章-软件工具开发的绪论PPT课件.ppt_第3页
第一章-软件工具开发的绪论PPT课件.ppt_第4页
第一章-软件工具开发的绪论PPT课件.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论 1 1软件开发工具的由来 1 2件开发工具的概念 1 3软件开发工具的功能和性能 1 4软件开发工具的类别 1 5开发软件的研究和应用 1 学习软件开发工具的目的是什么 了解软件开发工具的概念 理论基础 基本功能 发展现状与前景 以便能够在实际工作中正确地选择与使用软件开发工具 在必要时能够参加或组织软件开发工具的自行研制 从而达到提高软件工作水平与效率之目标 2 1 1软件开发工具的由来 软件开发工具的范围定义 在高级程序设计语言的基础上 为提高软件开发的质量和效率 从规划 分析 设计 测试 成文和管理各方面 对软件开发者提供各种不同程度的帮助的一类广泛的软件 P1 3 计算机语言的发展阶段 第一代 机器语言 第二代汇编语言 第三代 高级程序设计语言 第四代 非过程化语言 P3 非过程化语言的思想 人们希望机器能自动地完成更多的工作 包括自动安排某些工作顺序 二做到只要给机器下达需要做什么的命令 由机器自己去安排执行的顺序 P3 4 软件危机 软件危机 SoftwareCrisis 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题 概括地说 主要包含两方面的问题 如何开发软件 怎样满足对软件日益增长的需求 如何维护数量不断膨胀的已有软件 5 软件危机的主要表现 1 对软件开发成本和进度的估计常常很不准确 实际成本比估计成本有可能高出一个数量级 实际进度比预期进度拖延几个月甚至几年的现象并不罕见 这种现象降低了开发组织的信誉 为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量 从而不可避免地引起用户的不满 2 用户对 已完成的 软件系统不满意的现象经常发生 软件开发人员常常在对用户需求只有模糊的了解 甚至对所要解决的问题还没有确切认识的情况下 就仓促上阵匆忙着手编写程序 软件开发人员和用户之间的交流往往很不充分 闭门造车 必然导致最终产品不符合用户实际需要 3 软件产品的质量常常靠不住 软件可靠性和质量保证的确切定量概念刚刚出现 软件质量保证技术 审查 复审和测试 还没有坚持不懈地应用到软件开发的全过程中 这些都会导致软件产品发生质量问题 6 4 软件常常是不可维护的 程序中的错误很难改正 实际上不可能使这些程序适应新的硬件环境 也不能根据用户的需求在原有程序中增加新的功能 5 软件通常没有适当的文档资料 软件不仅是程序 还应该有一整套文档资料 这些文档资料是在软件开发过程中产生出来的 而且应该是 最新的 与代码完全一致 缺乏文档必然给软件的开发和维护带来许多严重的困难和问题 6 软件成本在计算机系统总成本中所占比例逐年上升 随着微电子技术的进步和生产自动化程度的提高 硬件成本逐年下降 然而软件开发需要大量的人力 软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升 美国在1995年的调查表明 软件成本大约已占计算机系统总成本的90 7 通用软件的弱点 1 由许多工作是通用软件不能完成的 2 某些工作只能表现表面的形式 不能反映其逻辑内涵 3 难于保持一致性的困难 P4IBM的AD Cycle失败的原因 两个 1 拘泥于集中式的处理思路 2 背离了开放性的大趋势 8 1 2件开发工具的概念 软件开发工具的概念要点 继承性与创新 a 它似在高级程序设计语言 第三代 之后 软件技术进一步发展的产物 b 它的目的是在人们开发软件过程中给予人们各种不同方面 程度的支持或帮助c 支持软件开发的全过程 而不是仅限于编码或其它的特定工作阶段 P5 9 1 2件开发工具的概念 硬件和软件的关系 硬件是躯体 软件是灵魂 软件的特性 软件是看不见 莫不着的但是发挥重要作用的事先编好的指令系列 软件是用户与硬件之间的桥梁 软件包括程序和文档两个不可缺少的组成部分 10 软件开发的发展里程 四个 就是四个阶段软件开发工具学 也即软件开发工具 和软件开发方法学的区别 前者着重于实际应用和工具开发 后者着重于方法论的研究 后者是前者的理论基础 11 第四代语言 4GL 第四代语言的原意是非过程化的程序设计语言 针对以处理过程为中心的第三代语言 它希望通过某些标准处理过程的自动生成 使得用户可以只说明要求做什么 而把具体的执行步骤的安排交由软件自动处理 12 CASE技术 计算机辅助软件工程技术可以简单地定义为软件开发的自动化 通常简称为CASE ComputerAidedSoftwareEngineering 技术 1 CASE工具CASE工具不同于以往的软件工具 主要体现在以下的几个方面 支持专用的个人计算环境 使用图形功能对软件系统进行说明并建立文档 将软件生存期各阶段的工作连接在一起 收集和连接软件系统中从最初的需求到软件维护各个环节的所有信息 用人工智能技术实现软件开发和维护工作的自动化 13 2 CASE的作用CASE有如下三大作用 这些作用从根本上改变了软件系统的开发方式 一个具有快速响应 专用资源和早期查错功能的交互式开发环境 对软件的开发和维护过程中的许多环节实现了自动化 通过一个强有力的图形接口 实现了直观的程序设计 14 所见即所得 在程序设计时 对于界面上的设计只需要用键盘或鼠标在屏幕上直接设计 不用手写代码 设计人员在屏幕上看到的界面 就是所生成程序的运行界面 15 可视化编程 可视化编程 以 所见即所得 的编程思想为原则 力图实现编程工作的可视化 即随时可以看到结果 程序的调整与后果的调整同步进行 16 什么是即插即用的软件设计方法 一部分人专门生产软件组件 而另一部分人则构造整个软件的结构 并且把软件组件插入这个结构 以便迅速地完成大型软件的研制工作 这就是即插即用的软件设计方法 17 1 3软件开发工具的功能和性能 软件开发过程 阶段 成果 第一阶段 出始要求的提出成果 软件功能说明书第二阶段 总体设计成果 系统的总体设计文件及各个模块的设计任务书第三阶段 程序的编写和文档的编写 实现阶段 第四阶段 测试或调试阶段包括 模块的调试和整个软件的联调 P10 11 18 软件开发工具的功能 做什么 a 认识与描述客观系统 b 储存和管理开发过程中的信息 c 代码的编写或生成 d 文档的编制和生成 e 软件项目管理 P11 12 19 软件开发的性能 做到什么程度 a 表达能力或描述能力 b 保持信息一致性的能力 c 使用方便程度 d 工具可靠程度 e 对硬件和软件环境要求 P13 20 1 4软件开发工具的类别 按工作阶段划分 a 设计工具 第四代语言和帮助人们进行测试的工具 b 分析工具 支持需求分析 c 计划工具按集成程度划分 a 专用的 b 集成化的软件 软件工作环境 按硬件和软件的关系划分 a 依赖于特定的计算机或特定的软件 大多是审计工具 b 独立于硬件和其他的软件 21 1 4软件开发工具的类别 基于应用领域划分的工具按照应用领域的不同 应用软件可以分为事务处理 实时应用 嵌入式应用等 随着个人计算机与人工智能的发展 与这两个方面相联系的应用软件 也取得较大的进展 22 1 5开发软件的研究和应用 应用软件的开发队伍 a 计算机专业出生的技术人员 b 来个各个应用领域非计算机专业的人两类人是软件开发工具产生和发展的动力 23 软件发展的几个阶段 1 机器语言阶段 使用0 1代码进行编程 2 汇编语言阶段 使用助记符来编写程序 由汇编程序汇编成机器码 编程工作量大大降低 但仍未摆脱对硬件的依赖 与此同时 操作系统的出现从另一方面改善了人们应用计算机的条件 3 高级语言阶段 高级语言突破了与机器指令一一对应的限制 从而大大提高了程序的可移植性 4 第四代语言阶段 人们希望机器能够自动地完成更多的工作 包括自动安排某些工作的顺序 而做到只要给机器下达做什么的命令 由机器自己去安排执行的顺序 5 利用通用软件作为辅助工具的阶段利用文字处理软件来编写文档 利用绘图软件来绘制流程图等 6 专用软件开发工具阶段支持软件开发的某一个阶段或某一个环节 7 集成的软件开发工具阶段零散的 分散地支持各个工作阶段 各项具体工作的专用工具之间没有有机地联系起来 从而必然造成冲突与矛盾 以致抵消了使用工具带来的益处 这种情况导致了集成的软件开发工具的产生 24 练习 软件开发工具概念软件危机概念第四代语言 4GL 概念简答题 a 简述软件发展的几个阶段 b 试论述软件开发方法发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论