软件开发工具(第1章:绪论)

一、 软件开发工具的由来

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

 

 

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

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

高级程序设计语言(第三代语言 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Saiku Table展示数据合并bug修复(二十五)

Saiku Table展示数据合并bug修复 Saiku以table的形式展示数据,如果点击了 非空的字段 按钮,则会自动进行数据合并,为空的数据行以及数据列都会自动隐藏掉。 首先我们应该定位问题: 1.查看接口返回值,会发现接口返回都正…

软件开发工具(第2章:软件开发过程及其组织)

一、软件开发的困难 程序员做好软件工作的关键是什么? 关键是两个转换: 第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换。 (不同⾏业的⼈员对于事物的认识⽅法与描述⽅法是不同的。) 第二个转换要解决的是人…

数据可视化(BI报表的开发)第四天

练习题: 先找出字符串 ‘8587263747153203552943982’ 中出现次数最多的数字及次数,然后去重后并排序(不准使用sort),使得到结果为 ‘0123456789’。 要求1:找到出现最多的数字和出现的次数 // 1、找出出…

网络经济与企业管理(第 1 章:企业管理概论)

一、企业的概念 什么是企业? 1.企业以市场为导向,以价值增值作为经济活动的目的 2.企业是从事商品生产和流通的经济组织 3.企业经营过程中要自主经营、自负盈亏、独立核算和承担风险,具有法人资格的基本经济单位 企业发展的三个时期&#xff…

去死吧!USB转串口!!!

首先,这个题目有两种歧义:1、USB转232串口(严格说就是这种)! 2、USB转USART串口(通常都是这么叫,认为就是这,理论上是错误的,歧义所在)! USB转TTL…

IDEA微服务项目的application.yml没有绿色叶子的解决办法

1.今天在写微服务项目的时候成功入坑,那么问题是啥呢?接下来和我一起走入bug的世界吧,让我们看看究竟是怎么回事。 *问题描述    1.application.yml是灰色的小格子 2.实在难看 *需要解决的最终结果 1.有绿色的小叶子 解决方案上图 1. 2. …

Ajax — 第一天

上网的目的 本质目的:浏览和消费资源 资源:文字、图片、音频、视频…资源存在哪里:服务器上 服务器的概念 是负责存放和对外提供资源的电脑。它的性能比普通的计算机好太多了 客户端 获取和消费资源的电脑,叫做客户端。 我…

Swift傻傻分不清楚系列(四)基本运算符 o_O!???

本页包含内容: 术语赋值运算符算术运算符组合赋值运算符比较运算符三目运算符空合运算符区间运算符逻辑运算符 运算符是检查、改变、合并值的特殊符号或短语。例如,加号()将两个数相加(如 let i 1 2)。更…

网络经济与企业管理(第 2 章:企业战略管理)

一、战略的性质与类型 什么是战略:企业发展的谋划 企业战略的三个层次: 企业总体战略:又称经营战略,是企业整体运营的指导思想事业层战略:又称竞争战略、业务层次战略、SBU战略, 指导具体战略经营单位。职能…

Ajax — 图书管理

注意&#xff1a;本项目基于 jQuery 文件下进行的 Ajax 请求项目&#xff0c;需要映入jQuery文件&#xff01; <body style"padding: 15px;"><!-- 添加图书的Panel面板 --><div class"panel panel-primary"><div class"panel-h…

错误: 找不到或无法加载主类 com.leyou.LeyouItemApplication Process finished with exit code 1...

在IDEA的使用过程中&#xff0c;经常断掉服务或者重启服务&#xff0c;最近断掉服务重启时突然遇到了一个启动报错&#xff1a; 错误&#xff1a;找不到或无法加载主类 猜测&#xff1a;1&#xff0c;未能成功编译&#xff1b; 尝试&#xff1a;菜单---》Build---》Rebuild Pro…

Ajax — 第二天

Ajax-02 今天内容&#xff1a; 安装浏览器插件 聊天机器人案例 Form表单提交 模板引擎&#xff08;新的概念&#xff0c;难点&#xff09; 两个案例 Chrome浏览器插件安装 安装步骤 下载插件的网站&#xff1a; https://www.gugeapps.net/ 无需扫码 http://www.cnplu…

Ajax — 评论列表

<body style"padding: 15px;"><!-- 评论面板 --><div class"panel panel-primary"><div class"panel-heading"><h3 class"panel-title">发表评论</h3></div><form class"panel-bod…

Swift傻傻分不清楚系列(七)控制流

本页包含内容&#xff1a; For-In 循环While 循环条件语句控制转移语句&#xff08;Control Transfer Statements&#xff09;提前退出检测 API 可用性 Swift提供了多种流程控制结构&#xff0c;包括可以多次执行任务的while循环&#xff0c;基于特定条件选择执行不同代码分支…

java课程之团队开发冲刺1.8

一.总结昨天进度 1.初步实现用户交互 增删课程表 二.遇到的困难 1.主界面一段程序一直报错 三.今天的任务 1.解决报错问题&#xff0c; 编写查询空教室功能 照片 燃尽图 转载于:https://www.cnblogs.com/qfsr/p/10873636.html

Ajax — 聊天机器人演示

<body><div class"wrap"><!-- 头部 Header 区域 --><div class"header"><h3>小思同学</h3><img src"img/person01.png" alt"icon" /></div><!-- 中间 聊天内容区域 --><div…

Ajax — 第三天

Ajax-03 模板引擎原理 正则回顾 区分正则方法和字符串方法 正则方法 test()exec() 字符串方法 match()replace()split()search() 正则方法由正则表达式调用&#xff1b;字符串方法由字符串调用&#xff1b; exec方法 功能&#xff1a;使用正则表达式匹配字符串&#xff0c…

d3.js 共享交换平台demo

今天在群里遇到一张图 遂来玩一玩&#xff0c;先来上图!! 点击相应按钮&#xff0c;开关线路&#xff0c;此项目的重点是计算相应图形的位置&#xff0c;由于是个性化项目就没有封装布局。好了直接上代码。 <!DOCTYPE html> <html lang"en"> <head&g…

Java知识系统回顾整理01基础05控制流程07结束外部循环

一、break是结束当前循环 二、结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] args) { //打印单数 for (int i 0; i < 10; i) { for (int j 0; j < 1…

Ajax — 新闻列表

注意&#xff1a;本项目主要利用到了template&#xff0c;模板引擎进行编写 模板引擎代码下载地址 <div id"news-list"><!-- 这里放数据 --></div>.news-item {display: flex;border: 1px solid #eee;width: 700px;padding: 10px;margin-bottom: …