前言
最近在学习软件工程的相关东西,看来好多总结的博客,都还不错,但是总感觉不是很生动形象。所以我也试着总结了一下软件工程概论的一些观点和我的一些浅薄认识。
正文
首先说什么是工程,我们常见的工程都由什么呢?或者说我们熟悉的工程都由什么呢?咱们先来看看百度百科上对工程的定义,如下:
工程是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,是以最短的时间和最少的人力、物力做出高效、可靠且对人类有用的东西。将自然科学的理论应用到具体工农业生产部门中形成的各学科的总称。
概念种主要提到了物质,能源,结构,机器,产品,系统,过程,以上的七项内容是构成工程的主要元素。各种工程基本上都需要经过需求分析,设计,实现,交付等各个阶段,不同的是领域不一,各自的具体要求不尽相同。其实软件工程也是一样的。
正如哈工大徐晓飞教授讲的一个幽默故事:
机械工程就像在光线充足的房间里寻找一只猫;化学工程就像在一个黑暗房间里寻找黑猫;软件工程就像在一个没有猫的黑暗房间里寻找黑猫。
![](https://i-blog.csdnimg.cn/blog_migrate/f22ca6419c203e860e8c40489f7f7ae2.jpeg)
这个故事可以很清楚的分辨出机械工程,化学工程,与软件工程的区别和不同。
软件的特性:(1)不可视性与主观性(2)软件规模与复杂性(3)易变性与不确定性(4)精确性与模糊性
所以我们可以用自己所熟知的相关工程来类比软件工程。这样就更有助于我们去理解软件工程。
结束语
虽然说软件工程看不见摸不着但是我们用实际工程中的例子来做对比就会有一个特别生动的形象展现在自己的大脑中。因为我对机械工程比较熟悉所以我是用机械工程中的一些例子来类比的。你也不防试着对自己所熟悉的行业或者工程去做类比。