在这几十年的的软件的发展过程中,实现方法最先出现,而后才有的分析和设计方法。为了更大规模的软件系统而有了团队组织模式,而团队的协作决定了过程模型的产生,在过程环节中的沟通问题导致了模型化语言的出现。软件工程的理论体系已初具规模。
从最初的简单的编程开始,到现在工程团队的组织开发,实现才是目的。可以说,在软件工程中,实现,是软件开发的本质的需求。在实现这一本质需求的过程中,出于实际的需要,我们设计了一些的数据结构或逻辑结构来映射物理模型。而后基于某种数据结构编程实践的不断积累,决定了方法理论的产生。那么怎样才能实现呢?
首先程序的实现需要语言。作者通过自身的经历,告诉我们,他之前的执着的追求语言细节,专注于不同的语言的事情,以及通过这些事情以后明白了语言只是工具,只是传达我们思想的工具。是的,成天讨论这门语言好,或者那么语言坏的人,甚至是可悲的。人们之间的各种语言,包括各个国家之间的语言,甚至小到方言,不就是方便了大家的交流。同样程序语言只是为了让计算机更好的执行我们的命令,听懂我们的话。所以何种语言并不重要。
程序的本源的定义是“程序=算法+结构”。小的源代码是一个个算法作为指导思想,结构作为骨架搭建起来的。大的程序就是无数个的小代码组合起来的。由小到大,如是而已。编程的精义便是循环和分支。编程实践中,就是在这之间来回打转而已。
推动逻辑向前发展的是方法。方法是实践的结果。方法不是创造的,是实践积累达到某种程度,瓜熟蒂落的结果。方法是对以前做的,从事的,实现的事情的总结。正如模式一样,模式也是一种方法,模式是对你昨天编写的代码的行为的内在规律的归纳,抽取和提升。理解过程需要编程经验,经验来源于无数次的回顾。
过程解决的是角色之间关系问题。过程中的问题就是角色,沟通和环节的问题。哪些环节重要当然还是取决于具体的项目。项目经理要做的就是沟通的问题。团队协作紧密,是工程成功的保障。
随着项目的不断扩大,软件的任务量也在增加。现实中让一个人花大把的时间去完成一项浩大的工程是不现实的。项目的复杂与庞大,对于团队意识有了更高的要求。
项目经理需要学会管理。然而管理又分为工程环节中文档配置等的管理和人力资源,项目投资等的管理。项目经理应该侧重的应该就是后者。项目各个阶段的计划,员工的需求,项目回顾,与团队成员进行有关细节的交流则是你的工作。好的项目经理不是不犯错误的人,而是尽可能减少错误来获得成功的人。但对于重复犯得错误确是不能宽容的。经验会帮助你走的更远。