软件工程

Posted 王云十三

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程相关的知识,希望对你有一定的参考价值。

1、什么是软件工程:

  想明白软件工程的定义,首先要明白什么是工程:“工程”一词有广义和狭义之分。就狭义而言,工程定义为“以某组设想的目标为依据,应用有关的科学知识和技术手段,通过“一群人”的有组织活动将某个(或某些)现有实体(自然的或人造的)转化为具有预期使用价值的“人造产品过程”。就广义而言,工程则定义为由“一群人”为达到某种“目的”,在一个较长时间周期内进行协作活动的过程。

  所以,通过以上的定义可以看出,工程首先是一个“一群人”的活动,不是个体的活动;其次是,工程的目的是“人造产品”。相应的,软件工程,就是:一群人为了完成一个(此处省略若干形容词)软件的活动。

  通过上述粗略的定义,应有几个疑问:

  第一,这个要完成的软件,应该是怎样的?就是该用怎样的形容词来形容这个软件,既是软件工程的目标。那么这个目标是什么呢,上有定义,证曰:正确性(达到预期的功能要求)、可用性(基本结构、实现及文档为用户可用的程度)、开销合宜(开发、运行的整体开销满足用户要求);

  第二,由于是一堆人来完成的一项活动,有人的地方就有江湖,所以啊,这个活动该怎么筹划和安排,才能达到“天下太平”的理想情境呢?既是软件工程的过程。过程嘛,通过上个问题可以这么解:开发出一个能满足所有需求的成品所需要的全部步骤。这不废话嘛!所以再分解下,证曰:软件工程的过程包括开发过程、运行过程、维护过程,整体涵盖了需求整理、软件(概要&详细)设计、功能实现及确认、后续测试和维护等活动。

  第三,既然是活动,既然有好多人参加,那么,至少得先定一个帮规吧,不然乱糟糟的,什么都完成不了。这就是规则,软件工程的原则:围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。这些原则都是在开始实施软件工程的前期,由大神级高手亲自或指导下制定的,最好遵守,否则后果不可设想(想想六大派围攻光明顶就知道了)。

 

2、软件工程有什么用?为什么要用软件工程?

   起初,世上没有光。咳咳,跑错片场了,回归正题。软件工程的由来,其实就是其存在的目的和意义。那么,软件工程这个玩意,是什么时候兴起的呢?诸葛亮的一张无中生有?不可能滴。他是有历史原因的:在“猿少”年代,软件开发是件“崇高而伟大”的职业(猿区就随便自吹自擂),但是随着“猿族崛起”,越来越多的人参与程序开发,软硬件也极大的发展,但是(重点),开发的效率却越发的低了。于是就有“深思猿”曰:为毛?缺一开发思想而。所以,就有“猿”码千行,而后出尘,说我得道了,是xxxx道,其他也有猿得道,且道不尽相同,于是,大家将各种道汇集总结到一起,筛选验证,最后得出一个有效的规则,这就是“工程”。(以上纯属胡扯,大致意思对就行)

  所以啊,软件工程的作用,就是保证软件开发的效率和开发方向的正确性,能保证开发工作的顺利完成。为嘛需要?你做一款软件难道想着做一半就不做了?谁给付钱啊?

 

3、怎么利用软件工程的东西来为自己服务?

  以上胡扯了那么多,大致算是说明白了什么是软件工程了(没明白也没辙,这玩意到现在都每一个统一的定义)。所以啊,这么个好东西,怎么用到实际中去创造价值呢?我也不知道,正在研究。整体感觉这个东西太庞大了,学起来很复杂很麻烦,就算理论知道了,实际中用到的还只是凤毛麟角而已。找本书慢慢啃吧,别想着网上能有速成的教材,都是骗子。

以上是关于软件工程的主要内容,如果未能解决你的问题,请参考以下文章

软件工程概论-第二节:软件工程

关于对软件工程的了解

软件工程展望

敏捷软件工程和传统软件工程的比较

软件工程知识大纲

初学软件工程