前两章主要的内容是软件开发工具的产生,以及这个大背景下的软件开发过程的发展
下边是这两章的思维导图,现在我比较喜欢在做完题之后画思维导图,这时候对这本书是比较了解的,所以知识点更加容易被串联起来,能更好的画成属于自己风格的思维导图,更加贴合自己思维的导图,这样的导图也更容易被自己记住
第一章主要的内容是引出软件开发工具的提出,软件开发工具的由来是什么。说到工具,一定是为了提高人们工作效率才会用到的,所以我们首先要了解的是软件的发展过程,分为5个阶段的发展,第一代是机器语言的时代,然后渐渐的出现了汇编语言,用一些比较简单的单词来代替无意义的机器指令,让机器语言变得更加易懂,然后就是高级程序设计语言阶段,他解决了指令与机器的一一对应限制,也解决了机器独立性的问题,主要是因为我们有了编译系统,如果说第二阶段只是用少数的词汇代替无意义的机器语言,编译系统与之相比简直就是一个小翻译,可以把不同语言写出来的代码用不动的编译器编译成机器语言,但是这时候还是有一些没有解决的问题,那就是程序的处理过程,需要人为的定义其执行的次序
随着软件的发展,人们开发的软件越来越高级,软件解决的问题也越来越复杂,不在只有一个程序员在做,而是有了项目组的概念,软件开发过程也逐渐趋向于工程化,所以人们需要使用工具来提高软件的开发效率,20世纪70年代末,出现了通用软件辅助工具,例如各种文字处理工具,开人员便编写文档或画图可以使用通用工具,减少了很多工作量,这个阶段也有很多问题,有很多问题是通用软件工具解决不了的问题,所以到了20世纪八十年代,我们有了专用软件开发工具,但是这并没有解决一致性的问题,因为零散的、分散的支持各个工作阶段、各项具体工作的专用工具之间没有联系,缺少统一的支撑环境
这一问题促使了集成的软件工具的产生,到了21世纪,随着互联网的兴起,软件开发工具的功能和效率提高到了一个新的阶段。
从这个发展过程中,我们可以看出软件开发工具是在高级程序设计语言之后,软件技术进一步发展的产物,他的目的在于提供人们开发软件各种不同方面、不同程度的支持和帮助,而且他支持软件开发的全过程,而不仅限于编码或其他稳定的工作阶段