这里写自定义目录标题
绪论
软件开发工具
——是先有硬件还是先有软件?
——是先有语言还是先有工具?
-------------------------------------------------
软件开发工具的由来
1.计算机语言发展史:
1)第一代语言:机器语言
例如:010101为代码的语言
2)第二代语言:汇编语言(助记忆码)
同计算机系统几乎同时出现
3)第三代语言:高级程序设计语言 (20世纪60年代初)
FORTRAN 、ALGOL、 COBOL语言
优点:可移植性、独立性
缺点:过程化语言
20世纪60年代末期 爆发“软件危机”
4)第四代语言:非过程化语言(4GL)
第一代语言 | 机器语言 |
---|---|
第二代语言 | 汇编语言 |
第三代语言 | 高级程序设计语言 |
第四代语言 | 非过程化语言 |
高级程序设计语言相对于低级语言有那些突破?
1)高级程序设计语言突破了与机器指令一一对应的限制
2)尽可能的接近自然语言,交给专门的工具去进行“编译”
3)高级程序语言实现了对机器的独立性、提高了软件的可移植性
软件开发工具的概念
在高级程序设计语言的基础上,提高软件开发的质量和效率
从规划、分析、设计、测试、文档和管理等方面对软件开发者提供各种不同程度的帮助的一种新型软件
2.软件开发工具的由来
1)没有专用的软件开发工具阶段(20世纪70年代末-80年代初)
利用通用软件作为辅助工具帮助开发人员编写文档或画图,可以减少
很多工作量,但有很多工作是通用软件无法完成的。
2) 专用的软件开发工具阶段
是面对某一工作阶段或某一工作任务的工具。
优点是能提高软件开发的质量和效率。
缺点是一致性的保持困难,对软件的开发缺乏全面的、统一的支撑环境。
3) 集成的软件开发环境阶段
进入集成的软件开发环境阶段的标志是IBM在1989年提出的名为
AD/Cycle的巨大的理论框架。
4)21世纪的软件开发新阶段
有两个鲜明的特点:
第一是面向网络,不仅基于网络,而且用于网络。
第二是开源软件的兴起和运用。
没有专用的软件开发工具 | 70年代末80年代初 |
---|---|
专用的软件开发工具 | 80年代 |
集成的软件开发环境 | 90年代 |
面向网络,开源软件的兴起和运用 | 21世纪 |
为什么说软件是人类知识与经验的结晶?
:有事先编好的指令(程序),硬件才能完成任务;
这些指令就是人们在实践中形成的工作规范;
可以对不同的数据反复使用;
进一步提高了人类的能力。
3.软件开发的五个阶段:
1 机器语言写成机器指令,由硬件开始执行 (机器语言)
2 汇编语言开发软件 汇编程序完成转换(将硬件更换成汇编) (汇编语言)
3高级语言开发软件 编译程序完成转换 (高级程序设计)
4 在各种软件开发工具帮助下开发软件 编译程序完成转换 (软件危机后)
5由架构师完成架构设计,程序员进行开放编写 (开源软件的兴起和运用)
补充术语:什么是CASE工具(记忆)
对于CASE工具有两种理解:
• 计算机辅助软件工程(Computer Aided Software Engineering)
• 计算机辅助系统工程(Computer Aided System Engineering)