这是一本2005年的书,距离今天已经接近20年,老师将它列为推荐读物就说明这本书的一些观点仍然值得我们学习。
在书中,作者把程序分为算法,结构,方法。把复杂庞大的软件工程抽丝剥茧,拆分成脉络,相较于平时我写过的小的程序,养成分类的习惯尤为重要,并且在需求分析阶段,要学会摒弃那些无关紧要的细节,抓住核心需求,这样才能为后续的工作奠定坚实的基础。
书中还提到对于团队的协作,让我从管理者的第一角度出发,明白作为团队的一员,如何才能高校的解决问题,让我反思自己在团队中的角色和作用,以及如何更好地与他人协作。并且要从大局的角度出发,优先团体利益。
另外,与客户的沟通也十分重要。尽量通俗易懂的与客户交流,才能更好的达成一致,也能更好的表达想法让沟通更加高效。
做过程不是工程的主要目的,实现才是目的,所以过程的模型是灵活的,总体还是瀑布型的结构。这也提醒我在平时作业里要更有逻辑的分析问题,带着解决问题的目的去寻找答案。
语言是实现目的的工具,真正重要的是过程,方法的结合。并且工程是需要多恩合作的,通过对既有行为归纳总结为方法可以更好地实现团队组织模式,这也提醒我,要加强对面向对象的理解,掌握模型化语言的工具。
尽管本书割裂了软件工程的各个要素,并从每个孤立的层面来审视。然而实质上,你应该回归到软件工程的本体上来思考问题,而不是仅关注于每一个局部的要素。工程的整体问题仍旧是“实现”。
总的来说,这本年龄与我相仿的书向我介绍了软件工程以及实际实现中的一些基本概念,虽然没告诉我实际的开发技术,但是为我阐明了各个关系,提醒我要站在团队的角度看问题,站在整体的角度看问题。