技术开发 频道

软件隐喻的本质与模式

  4.软件隐喻模式的指导意义

  三种不同的隐喻模式实际上代表了从宏观到细节、从抽象到具体的发展趋势,对于软件项目管理和项目开发而言,具有现实的指导意义。

  利用蓝图模式的软件隐喻,我们可以制定宏观的计划与目标,甚至可以在一定程度上决定公司的决策。例如采用“软件工程”或“软件工艺”的隐喻,就代表了截然不同的用人方式与管理机制。软件工程意味着人海战术,软件企业需要根据CMM(能力成熟度模型)对软件组织的定义,科学化、标准化、工程化地完成软件项目的开发。而软件工艺则更注重“学徒制”的培育方式,重视软件工匠乃至于软件工艺大师在团队中的核心作用,随之带来的是全新的管理方式。

  蓝图模式的软件隐喻带来的影响是公司级的,而地图模式的软件隐喻则体现在项目的整个开发过程中。例如我们选择的软件生命周期,会直接影响我们的开发模式和项目管理模式。又如我们对软件本身隐喻的理解,是培植(growing)系统,是系统生长(accretion),还是建造(building)软件?项目合作开发是一场游戏(game),还是一个集市(bazaar),或者像园艺(gardening)一样,甚至像耕田、像捕猎、或像是跟恐龙一起淹死在“焦油坑”里?这些理解都会决定我们对软件开发的态度,甚至决定我们选择的软件开发方式和团队合作模式。

  图示模式的软件隐喻决定细节的成败,同时也影响了团队成员的交流方式。如果对这种模式的隐喻缺乏共同理解,就可能带来不必要的沟通障碍。最能体现图示模式的是UML(Unified Modeling Language,统一建模语言),它通过引入用例图、类图、时序图、状态图等图示,对需求建模、设计建模都起到了统一的规范作用。这完全符合图示模式的隐喻内涵,无疑具有影响深远的指导意义。

  5.结束语

  软件隐喻描述了软件领域中各种特定的现象和事物。借助这些隐喻,我们能更深刻地理解软件开发的过程。然而,软件隐喻不像算法那样是可预测的、确定性的、不可变化的,它具有启发意义,同时又是随意的。这种特质使得它显得不可捉摸,招致许多人对它的质疑,认为在以严谨著称的软件开发中引入一种修辞手法,会造成混淆视听的效果。究其原因所在,主要在于人们对隐喻的本质缺乏足够的认识,仅仅注意到了隐喻的修辞特性,而忽略了隐喻的认知作用。

  此外,一直以来,我们缺乏对软件隐喻科学的归纳,从而导致隐喻的混乱无序、错综复杂,无法建立一套行之有效的指导原则。因此,若要合理地运用软件隐喻,使得我们能够借助隐喻的力量推动我们对软件开发过程的认识与理解,其关键是要认清软件隐喻作为认知隐喻的本质,同时通过对软件隐喻的模式划分,并以其作为指导,在软件开发过程中找到或者组合适合于自己项目组的软件隐喻,适当地引申软件隐喻的含义,就能从其蕴含的深刻启发中受益。

0
相关文章