一、 软件开发工具的由来

计算机语言和软件开发工具的发展和历史

机器语言(第一代语言):难以记忆的、无意义的、二进 制的字符串

汇编语言(第二代语言)针对难以记忆的、无意义的、二进 制的字符串、人们试图用英语中具 有一定意义的单词(或单词的缩写) 来代替它,这就是所谓“助记忆 码”,或汇编码。

高级程序设计语言(第三代语言 FORTRAN ALGOL COBOL )-20世纪60年代初:优点:实现了计算机语言对机器的独立性,可移植性大大增强。 不足:过程化语言,需要程序员一步一步安排好执行的次序

非过程化语言(第四代语言,4GL):人们希望机器能够自动地完成更多的工作,包括自动安排某些工作的 顺序,做到只要给机器下达做什么的命令,由机器自己去安排执行的 顺序。这就是第四代语言———非过程化语言的思想。

***********************

操作系统:操作系统与汇编语言几乎同时出现。 它改善了人们应用计算机的条件。操作系统 自动地完成系统初始化、文件管理、内存管 理、作业管理、处理机管理等一系列工作, 把计算机系统中的各种资源有效地、协调地 管理起来,把原先由操作员担负的大部分职 责接过来。

“软件危机” : 20世纪60年代末期

简述高级程序设计语言相对于低级语言有哪些突破?

①高级程序设计语言突破了与机器指令一 一对应的限制。

②用尽可能接近自然语言的表达方式描述人们设想的处理过程,而把这种表 达方式向机器指令的转化工作,交给专门的“工具”——编译系统去完成;

③高级设计语言实现了对机器的独立性,提高了程序的可移植性

简述高级程序设计语言的不足?

过程化语言,需要安排执行的内容与次序,需要考虑解决问题的细节。清楚 如何解决问题,加重了用户的负担。

二、 软件开发工具的概念

**********************************软件开发工具************************************************

软件开发工具的概念

在高级程序设计语言(第三代语言)的基础上 为提高软件开发的质量和效率 从规划、分析、设计、测试、文档和管理等各方面 对软件开发者提供各种不同程度的帮助的一类新型的软件

软件开发工具的发展过程

1. 没有专用的软件开发工具阶段(20世纪70年代末-80年代初): 利用通用软件作为辅助工具帮助开发人员编写文档或画图,可以减少 很多工作量,但有很多工作是通用软件无法完成的。

2. 专用的软件开发工具阶段: 是面对某一工作阶段或某一工作任务的工具。 优点是能提高软件开发的质量和效率。 缺点是一致性的保持困难,对软件的开发缺乏全面的、统一的支撑环境

3. 集成的软件开发环境阶段: 进入集成的软件开发环境阶段的标志是IBM在1989年提出的名为 AD/Cycle的巨大的理论框架。

4. 21世纪的软件开发新阶段: 有两个鲜明的特点: 第一是面向网络,不仅基于网络,而且用于网络。 第二是开源软件的兴起和运用。

为什么说软件是人类知识与经验的结晶(编-规-用-提高)?

  • 有事先编好的指令(程序),硬件才能完成任务;
  • 这些指令就是人们在实践中形成的工作规范;
  • 可以对不同的数据反复使用;
  • 进一步提高了人类的能力。

软件开发的五个阶段及其特点:

最初阶段:用机器语言写成机器指令,供硬件执行

第二阶段:用汇编语言开发软件,汇编程序完成转换机器指令

第三阶段:用高级语言开发软件,编译程序完成转换机器指令

第四阶段:在各种软件开发工具帮助下开发软件,编译程序完成转换机器指令

新阶段:由软件架构师完成架构设计,程序员用软件开发工具完成程序开发;编译程序完成转换机器指令

为什么说软件开发工具的提出与使用是软件技术发展的一个新的阶段(自动-分析设计 、 项目版本管理)?

①自动化程度的提高,编程中的部分工作已由工具代替执行。

②将需求分析和架构设计包括在软件工作的范围之内,从而使软件开发 过程进一步向用户方面延伸。

③将软件开发工作延伸到项目及版本管理。

④吸收了许多管理科学的内容与方法

什么是CASE工具?

  • 计算机辅助软件工程(Computer Aided Software Engineering)
  • 计算机辅助系统工程(Computer Aided System Engineering)

三、 软件开发工具的功能与性能

******************************软件开发的过程:***************************************

 软件开发工具的功能要求

  • 认识与描述客观系统  :主要用于第一个阶段—需求分析阶段
  • 存储及管理开发过程中的信息
  • 代码的编写或生成
  • 文档的编写或生成
  • 软件项目的管理:为项目管理人员提供支持

 软件开发工具应具备的性能(表一方可环)

(1) 表达能力或描述能力

(2) 保持信息一致性的能力

(3) 使用的方便程度(更重要)

(4) 工具的可靠程度(最重要)

(5) 对硬件和软件环境的要求(不应当超出它所支持的应用软件的环境要求)

四、 软件开发工具的类别

********************按工作阶段划分******************************

************************按集成程度划分**************************

专用工具: 面对某一工作阶段或某一工作任务

集成工具: 面对软件开发全过程 依赖于机器与软件

*********************按与硬件、软件的关系划分*****************

依赖于软硬件 如:设计工具

独立于软硬件 如:分析工具、计划工具

五、 软件开发工具的研究与应用

转载于:https://www.cnblogs.com/jalja/p/11562323.html

软件开发工具(第1章:绪论)相关推荐

  1. 自考之——我看《软件开发工具》

    <软件开发工具>由理论篇和实践篇构成.实践篇是选取一种详细的软件开发工具Eclipse来进行介绍,帮助我们加深对软件开发工具的理解.在这篇文章里,我就不说这部分内容了. 这里,我主要是对理 ...

  2. 自考那些事儿(四):软件开发工具(理论篇)

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 本篇是对上篇博文(自考那些事儿:软件开发工具(总述篇))的理论部分进行了细化. 从软件 ...

  3. 《软件开发工具》要点

    2019独角兽企业重金招聘Python工程师标准>>> 1.绪论 2.软件开发过程及其组织 3.软件开发工具的理论基础 4.软件开发工具的技术要素 5.软件开发工具的使用与开发 6. ...

  4. Viusal Studio 是软件开发工具,很棒的工具。

    (干了很久的程序员了,想分享一下我的开发经历,也是对我自己经历的记录,以后自己可以回顾一下这段经历,希望大家喜欢.) Visual Studio 是软件开发工具,很棒的工具.打个比方,木匠可以做家具, ...

  5. 【03173】2021年10月高等教育自学考试-软件开发工具

    一.选择题 下列各项中属于集成化开发工具的是 A.WORDSTAR B.FLOW C.Dictionary / 3000 D.Visual Studio 两种典型的开发环境: Eclipse和Visu ...

  6. 天翼云从业认证(1.8)了解软件开发的环境、软件基础架构和常用软件开发工具

    常用开发环境 软件是一系列按照特定顺序组织的计算机数据和指令的集合. 软件特点 软件开发流程:调研沟通/获取需求.需求分析.产品设计.界面设计.设计原型图.程序编码.测试.打包发布.产品上线 软件开发 ...

  7. Valgrind ---内存调试,内存泄漏检测以及性能分析的软件开发工具

    Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具.Valgrind这个名字取自北欧神话中英灵殿的入口. 一般使用方式  valgrind --leak-check=full ...

  8. 自考的那些事儿(三):软件开发工具(总述篇)

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 君子性非异也,善假于物也!-<劝学>(荀子) ####[前言] 纵观人类发展的历史长 ...

  9. 软件开发工具【七】 之 Eclipse入门

    感谢内容提供者:金牛区吴迪软件开发工作室 接上一篇:软件开发工具[六] 之 软件开发工具的现状与发展 文章目录 一.Eclipse简介 1.Eclipse是啥 2.Eclipse的体系结构 二.Ecl ...

最新文章

  1. 收发电子邮件属于计算机在方面的应用,计算机应用基础复习题(供参考).doc
  2. esxi添加网卡驱动
  3. magento SEO
  4. PostgreSQL的几种分布式架构对比
  5. java定时任务_java:springBoot使用@Scheduled注解配置定时任务
  6. java id自增_Java分布式自增长ID实现方案
  7. python中math函数库矩阵_Python中矩阵库Numpy基本操作详解
  8. 面试常备题---插入排序
  9. gradle文件利用java解析_使用文件读取Gradle Multi项目构建
  10. [转] 面试70问经典回答
  11. 计算机一级幻灯片样式,PPT怎么设置单个幻灯片为背景样式4?网友:原来这么简单!...
  12. 一文将 DCDC 的 Layout 讲的明明白白,收藏这篇就够了
  13. ToString格式转换大全(1)
  14. Java根据模板生成PDF文件|添加盖章|添加水印
  15. 使用reaver命令穷举PIN码破解WPA2-PSK加密的无线网络
  16. html语言下上标对齐,HTML 标记语言全面详细解 一天学会
  17. 【每日一题】 959. 由斜杠划分区域
  18. conda 清除已经下载的缓冲包
  19. 使用pnpm+vue-cli,出现报错:Error: command failed: pnpm install --reporter silent --shamefully-hoist
  20. 【正点原子FPGA连载】第二章 实验平台简介 -摘自【正点原子】新起点之FPGA开发指南_V2.1

热门文章

  1. linux GCC、GDB、Makefile
  2. 如何解决UltraCompare中中文显示乱码的问题
  3. 玩转GIT系列之【git submodule update出错提示子模组未对路径注册】
  4. 强大的Perl中的正则
  5. C#中的Dispose模式
  6. MOSSE目标跟踪算法的理解
  7. 图像梯度增强_使用梯度增强机在R中进行分类
  8. 端到端机器学习_端到端机器学习项目:评论分类
  9. 农村民间借贷一分利息,有借条受法律保护吗?
  10. 整顿满月,如今现金贷生不如死