大道至简—现实中的软件工程—思考还是思想

大道至简进行到第七八章,也就趋于完结了。第七章讲的是现实中的软件工程。第八章则是关于思考和思想的。

其实关于软件工程,每个大公司手里都有自己的一把算盘,他们在标准、理论、语言上争来夺去,未必全都是出于“软件实现”考虑,他们对于统一理论,统一工具,统一过程的企图,其最终目的不过是在整个软件工程体系中取得全面性的胜利,可是在算盘上的绝大多数人,都只是用于计算胜负的一枚算子。

所以,我们不难看出,除了软件工程的推动之外,商业因素也在推动着软件工程体系的发展,从开始的自生自灭,到后来的它激发展,商业在一定范围内起着作用。可是无论软件工程的发展速度如何,各个工程层面上的关注点并不会发生什么本质性变化。

在理想状态下,“软件工程=过程+方法+工具”,但是 一个工程真正成功的关键,不是组织团队的优秀程度,而是维护团队运作的资本,因为假如一旦没有了资本,也就没有了运作,团队的存在就没有了必要性和可能性,项目便会死亡。

下面说说在大道至简里我所理解的AOPAOP首先是方法论,是指示,他是用来考察对象的思想方法。其次是引导,在目标上实现这些需求时,目标所需要表现出来的公共特性。引导特性可能需要配合编译器来实现。还有一点是元数据,如果需要,为既有对象实体再补充一些参考数据。

MDA也是一个方法论层面上的名词,它讨论的是“创建出机器可读和高度抽象的模型”的方法。

下面说说关于思考与思想的事。

思考问题的方法可以是由点及面,也可以是统揽全局的,也就是说是自上而下还是自下而上的。软件工程中的三要素到底是什么呢?他们分别是工具,方法和过程,这三个要素互相作用,缺一不可。方法在过程和环节上有贯通性,所以保证方法实施的工具也会出现在各个环节和层面上,他们之间交汇共生。我们其实都应该回到软件工程的本体上来思考一下,而不仅仅是关注于某一个局部要素。故软件工程的整体问题还是“实现”。

关于RUP,书中所说,很形象的将它比喻成了一个杂物箱,在这个杂物相里“包容”了全部的已知理论,RUP能不能被用起来,取决于我们的辨识能力,应用能力和组织能力。

UML是一种符号文字,每一个字符都有着象征意义,出于沟通的必要,这种语言的象征意义在一个图中应当被表达的足够准确和详细,乃至针对于 不同的阅读者来说都能提供充足的信息。在工程中使用UML 图,应该有相应的文字来进行描述。

事实上在软件工程中,经营者离开发者很远,他们位于不同的地位,扮演着不同的角色,当然他们的关注层面会不相同。在需求阶段,我们会面对“目标问题”,然而,在大多数的时候,与此相反的是我们在项目交付和试用的时候会碰到客户在质量上的投诉。

我们在工程进行时还要注意细节。

软件工程的灵活性决定了死读《软件工程》的人也许并不会做真正的软件,在实践中,学会总结,学会变通,学会成长。

posted on 2015-11-14 20:54  倾晴  阅读(327)  评论(0编辑  收藏  举报

导航