件改进和新软件开发提供宝贵的资料。
5.知识管理中强调人的管理及培训,人作为知识的载体,其素质的提高为软件开发提供
了智力保障。
四、软件开发过程中如何实施知识管理
从软件发展的趋势看,软件企业竞争的焦点越来越集中在概念设计和需求分析这两个
阶段。如何在这两个阶段实现软件企业、用户之间无障碍的知识交流与共享,就成为软件开
发的关键问题之一。此外,在系统设计、编程等阶段,如何有效利用已有知识来提高软件开
发的效率和质量,在整个软件开发过程中如何将隐性知识显性化,如何有效地管理软件开
发中所生成的文档等问题,都是需要考虑的。
1.软件复用。它是指重复使用“为了复用目的而设计的软件”的过程,而可复用软件则是
指为了复用目的而设计的软件。使用软件复用技术,开发人员将无需为每一个软件都重新设
计框架、编写代码。他们在接受新的软件开发任务时,首先查询已有的软件部件,然后将已
有的软件部件集成在一起实现新的软件的功能。软件复用不仅是指对源代码的复用,而从需
求分析开始,到设计、编码与测试,包括测试案例和测试脚本,都可以成为复用的对象。使
用软件复用技术具有提高软件生产率,从而降低成本、减少系统的维护代价、提高系统间的
互操作性、软件的灵活性和标准化程度等优点。检验一个软件项目是否有效地利用了知识管
理,最直接的方法之一就是看它是否重复利用了已经成熟的程序或软件部件,因此,复用
技术是软件开发中应用知识管理的重要方法。
2.隐性知识显性化。软件开发的本质是将开发的各个环节、各种不确定问题显性化,由不
可控变为可控。如软件开发过程中精神活动的
“不可见性”大大增加了过程管理的难度。因此,
软件开发管理的指导思想就是千方百计地使这些过程变为
“可见的”,成为事后可以检查的记
录。
3.知识的交流与共享。在软件开发的各个阶段,知识的交流与共享无处不在。在概念设计
与需求分析阶段,软件提供方和用户很难完全描述清楚新软件的需求,一些工作在用户看
来是习以为常的活动,而软件提供方却不知道这些活动。因此需要软件提供方与用户方进行
多次交流,以明确把握需求,为项目开发的成功和后期工作打下比较好的基础。而在系统设
计、维护等后续阶段,则强调软件开发团队成员之间的知识交流与共享,这是软件开发成功
的前提条件之一。