刚才我们已经说了,软件工程是什么意思呢?就是用工程的方法去进行软件的开发、管理和维护。这个很好理解。软件工程呢它有三个要素,分别是方法、工具和过程。
软件工程方法呢软件工程方法呢从最开始提出软件工程开始,我们就要面向过程啊,到8几年的面向对象,再往后是面向构建啊,到现在的面向服务。这个呢既是软件工程的一个发展,你可以把它理解为软件工程的一个发展,同时呢它也是软件工程方法的一个内容。
然后关于这个软件面的面向服务啊,昨天正好有同学问到这个面向服务的开发方法,我们简单做解释一下啊。面向服务是什么呢?面向服务其实是面向服务SO其实呢它就是描述服务之间的松耦合。
那面向服务的架构呢,实际上是定义了一种可以通过服务接口复用软件组件的方法。他这个森沃格的系统呢是来源于业务。而我们所说的面向对象啊我们所说面向对象它的模型它的模型是紧耦合是比较紧的,这个是比较松耦合啊这个是比较松的一个耦合。所以说面向服务的体系结构不是一个新鲜事物啊,它并不是说凭空出来的,它是更传统的面向对象模型的一个替代模型。
可能说起来很难理解啊,我们举个例子,比如说我们现在要播放一个CD啊我们现在要播放一个CD你可以我们可以把要播放的CD放入CD机里面,然后CD机会为你放上CD同时CD机呢就同时提供了一个CD播放服务,这里的好处是什么呢?面向服务的好处是什么呢?就是你可以用不同的CD机,你可以用A这个CD机或者B这个CD机去播放这个CD都可以放。
但是呢服务质量是否的是不同的?可能A放出来的音音质,我们说音效要比B放出来的好,其实最早大概2004年的时候啊,谷歌提出了这么一个概念叫a jx啊AJAXAJX这个概念。但是事实上在此之前呢都有类似的一个实现方法,只不过大家都是这么做,但是没有给一个统一的定义。其实你像大型系统的架构,为了方便调用啊,通常都会把各个模块给服务化。这就有点像面向服务了,但是我们说如果是上云的一些公有服务的调用为主的话,那其实面向服务就会很有必要了。一个庞大的多业务的系统啊,但是又有共用的模块啊,那那这种情况下呢,我们就有必要去专门做一个服务化处理。所以总的来说呢,这种方法目前还处于一个发展阶段啊。就是业界业界各种大咖对这种方法呢其实抱有的观念也不是也没有得到完全的统一。
所以咱们在学习细规的一个过程当中呢,去了解书上给的几种方法就行了,对吧?包括我们是看细规。上一节课的内容,也没有对这个方法进行特别的一个说明和解释啊。然后昨天正好呃这位同学在昨天正好有同学问到,我们就顺便说一下,大家了解一下面向服务这个概念就行了啊,不用过多的去纠结。那软件这个是软件工程的方法。那软件工程的过程呢,实际上啊也就是软件开发的。
你就把它理解为一个软件开发的过程就行了啊软件开发的过程就行了。我们说软件工程的过程是从问题定义开始,到需求开发,到软件设计,到软件构造,再到软件测试,那我们接下来的第一个小节的内容呢,基本上也是按照这个顺序去进行。