大道至简的第七章告诉我们的是软件工程存在于我们的现实生活之中,而第八章告诉我们的是思考和思想的重要性。
首先,从现实来说,一切无非就是为了利益,就好比从一个企业或者说一个公司的角度来看,软件工程并不是在于如何去实现一个工程目标,而在于如何用软件去竞争,竞争市场、竞争客户。在一个大公司看来,对统一理论、统一工具、统一过程的企图,其最终目的是在整个软件工程体系中的全面胜出,而软件工程呢,只是其算盘上的一枚棋子,是使其成功的工具。我们作为软件工程的学生,应该抛开这些利益关系,站在一名程序员的角度去看待软件工程,从而回到软件工程中去。而回到工程中的关键就在于我们要去读懂软件工程的模型。在程序与“方法层面,是关注于具体的实现的;而在过程和工”层面,更首要考虑的是团队问题。从角色的角度上来说:开发经理思考项目的实施方案和管理具体的开发行为;而项目经理则保障团队的稳定性和一致性。所以,过程和角色在软件工程中占有很重要的位置。我们就应该重视过程,做好其中的每一个环节;重视角色,协调好每个角色在软件工程的作用。所以在我看来,我们应该从现实中去理解软件工程,知道做一切的东西无非就是为了利益,为了利益去使用软件工程去竞争。但是我们也应该回到软件工程去,去协调好角色,做好过程,从而更好地去完成一个工程目标。
牛屎图中描述的工具、方法与过程也被称为软件工程的三个要素,他们并不是孤立的而是相互作用的。过程就既有实施过程的工具,或者说是方法。所以说,我们不能从每个孤立的层面去审视软件工程,实质上,我们应该回归到软件工程的本体上来思考问题,而不是仅关注于每一个局部的要素。工程的整体问题仍旧是“实现”。在角色的处理方面,我们要知道,经营者离开发者很远,反之亦然。我们要了解不同角色在软件工程中的分工,不应该去强迫而应该从中协调。在软件工程中,实现目标与保证质量是存在矛盾的。在遇到矛盾的时候,我们就要学会分析问题,从细节上去了解问题,才能更好地解决问题。
最后,作为软件工程的学生,我们应该把软件工程学活了,要学会去做工程,但不能拘泥于死板的方法,我们要有自己的思考和想法,才能在软件工程的路上走得更远!