论文部分内容阅读
摘 要:本文介绍了软件工程化实施原则,软件工程化实施中的几个问题。
关键词:软件工程;实施;问题
对于工程化的软件组织来说,由于过程的规范化、工作产品的文档化,使得过程和产品生产都是可重复的。许多工业化国家,它们的制造业都经历了从作坊到工业化的变革过程。对于软件产业依然如此。因此在我们这个没有经历过这样变革过程的国家来说,研究这种变革过程就更显得重要和有意义了。
1.软件工程化实施原则
无论是软件工程化还是CIMS应用示范项目,都是要在一个组织中实施一种新的管理理念,都是一个涉及组织许多部门的基础建设,二者之间有许多相似之处。因此我们在研究软件工程化的实施原则时,也注意对CIMS研究成果的重用。
1.1十六字方针
软件工程化涉及软件开发组织的组织、管理、技术等各方面,往往持续几年时间,具有复杂性和长期性的特点,这就要求组织坚持“效益驱动,总体规划,分步实施、重点突破”的十六字方针,正确理解并在软件工程化过程中自觉运用该方针将是软件工程化实施的关键。
(l)软件开发组织存在的基础就是创造效益,效益的体现是T、Q、C、S,对于没有效益的事情组织肯定是不愿意做的。软件工程化工作的周期往往比较长,组织能够持久的、不断的投入资源做下去,必须有效益这种动力来驱动。这就要求在规划时和实施时要考虑到效益因素。
(2)总体规划将保证组织能够持续的正确的投人资源完成正确的工作,不至于造成重复建设和浪费。在采用SW一CMM模型作为组织软件工程化水平的评价标准时,建议组织把二级和三级放在一起进行总体规划,但在实施时以二级作为实施重点。
(3)项目的复杂性使得组织不可能投人大量的资源来投入实施工作,分步实施、重点突破使得组织能够集中有限的资源打歼灭战而不是全而战争或持久战,同时分步实施也使得组织能获得经验、锻炼队伍,保证项目的成功。
1.2 组织最高管理者参与原则
软件工程化实施时需要涉及组织的变革、管理的进步、技术的革新等各方面的改变,是企业内部管理的革命。组织最高管理者必须对软件工程化有一个清醒的认识,认识到软件工程化的作用和效益的同时,又要认识到需要投入和付出,认识到改革过程中的风险。软件工程化涉及企业改革的范围和深度都比较大,没有最高管理者对一些重大问题的决策,是没有办法使软件工程化顺利进展的。
1.3培训优先原则
对我国大多数软件开发组织来说,尽管对软件工程有大概了解,但对ISO9000系列標准、SW一CMM等软件工程化评价体系,却了解较少,对在实际当中如何操作也缺少清醒的认识。因此无论是实施前、实施中还是实施后都应以培训为先导,改变人的观念,提高人的技术能力和管理能力。要在组织内部开展全方位、多层次的培训,尤其要重视岗位培训。
1.4 理论联系实际原则
无论是SW一CMM还是ISO9000系列标准仅仅反映了未来软件开发组织的过程,但如何达到这种需求并没有说明,我们必须充分认识sw一CMM、ISO9000系列标准,仔细分析软件开发组织目前的状况包括存在的问题,找出相应的解决办法,制订合理的总体方案,达到软件工程化的目的。
1.5 渐进原则
软件工程化的过程必须采用渐进原则而不是革命性的突变,这是与软件工程化的复杂性和长期性密切联系的。在总体规划下,渐进原则会逐步向日标打幻些,使人们逐步意识到进步。
对于已实施部分要加强度最,获取过程活动和技术活动的度最数据,为组织的过程改进和技术进步提供科学的决策数据,使组织持续不断的获得进步。
2.软件工程化实施中的几个问题
2.1软件系统的表示问题
软件系统的表示是技术问题,每个组织有自己的表示方法,实际上是企业机密。笔者通过项目特别是CIMS等项目的工程实践,深深感觉到一个规范化的、文档化的、标准的、完备的软件系统表示,对软件工程化工作的实施成功的巨大的影响。这个问题不解决,就无法实现软件工程化,必然导致项目开发工作的交互成本、管理成本大幅增加,“文档”成为摆设,项目拖期,必然造成软件工程化工作的失败。软件系统表示主要需解决两个问题:
(l)软件系统的表示方法
(2)软件表示的完备性、统一性、清晰性
2.2 组织的结构问题
如何建立软件开发组织的组织框架,直接与组织最高管理者的管理理念和企业运行效率有关。从总体上,木文把组织框架分为三种类型:项目型、职能部门型、项目职能部门结合型。
但这种组织形式具有以下缺点:
(1)资源浪费
每个项目都有相应的人力资源需求计划,项目建立时,同时建立相应的组织。这会造成人力资源闲置,因为没有专门的专业部门,资源不能统一调度。
(2)不利于技术进步
每一个项目中的相应专业人员独立工作,专业人员没有正式的组织进行交流,组织只能借助非正式的活动达到交流的目的,这样不能集`中所有专业人员的优势,促进相应专业的进步和提高。
一般来说,在比较大的开发组织中往往有一个人力资源部,专门负责人力资源计划以及人员技术能力的提高,提供各种方式的交流活动。而对于小的软件开发组织来说,则往往采用项目职能部门型来解决这些问题。
2.3辅助工具问题
根据软件开发组织的实际情况采用相应的辅助工具,会降低软件工程化工作的复杂度,降低工程化工作的风险。
在软件工程化工作的初期,通常会遇到“开发效率没有提高反而降低,开发成本没有降低反而提高”的问题。在遇到这些问题时,经常会出现对工程化工作的怀疑情绪,如不及时解决会导致对软件工程化信心的降低,因此组织必须及时采取相应的措施避免问题的恶化。
(1)由于工作方式和工作要求的改变,很多人对新的工作方式和工作要求不太熟悉。这可以通过加强岗位培训工作和工作实践来解决,基本上在相应岗位上工作一段时间后就会由生手变成熟练者,工作效率会大大提高。
(2)对正规的管理过程不太适应
科学的规范化的管理会造成一些工作环节的增加,有些是控制质量所必需的环节,这会造成工作时间的延长。但这是建立在高质量的基础上的,是必要的。我们可以借助协同工作环境(CSCW)来改进交互效率。本文设计的协同工作环境SW一IDS就能起到这个作用。
规范化的管理要求组织由人治转变为法治,要求项目中成员的行为遵循项目的要求和相应的规章制度。这降低了人们的随意性,会引起项目成员的逆反心理。在我国,由于人们还不太适应这种正规的、量化的管理,这个问题会显得更为突出。所以应该加强培训,转变人们的观念,在整个组织内建立法治的环境。
(3)文档编制工作量比较大
无论是1S09000系列还是SW一CMM都强调文档推动原则,文档编制量比较大,设计人员感觉60%左右(实际工作的统计数据)的工作都用在书写上。这种现象如同制造工业企业的产品设计和工艺设计,不能因为知道怎么做就不形成图纸和工艺文件。文档实际上是对人们抽象思维结果的描述,是设计人员劳动的体现。文档编制工作量大这个问题,有两种方式可以使之缓解:(l)软件重用技术;(2)助手制度。
通过重用已有的工作成果,来降低设计人员和管理人员的工作量,提高效率。软件重用不仅体现在程序代码的重用上,还包含软件需求、设计思路、项目计划等各种工作产品的重用。当然这需要有严格的管理,Sw一DS考虑到了这一点。
3.结束语
软件工程是指导计算机软件开发和维护的工程学科。软件工程的研究,已经从以技术措施(技术、方法和工具)来解决软件危机,发展到对工程管理和开发技术两方面进行综合研究的阶段,使软件工程成为一门系统的、综合性的工程学科。
关键词:软件工程;实施;问题
对于工程化的软件组织来说,由于过程的规范化、工作产品的文档化,使得过程和产品生产都是可重复的。许多工业化国家,它们的制造业都经历了从作坊到工业化的变革过程。对于软件产业依然如此。因此在我们这个没有经历过这样变革过程的国家来说,研究这种变革过程就更显得重要和有意义了。
1.软件工程化实施原则
无论是软件工程化还是CIMS应用示范项目,都是要在一个组织中实施一种新的管理理念,都是一个涉及组织许多部门的基础建设,二者之间有许多相似之处。因此我们在研究软件工程化的实施原则时,也注意对CIMS研究成果的重用。
1.1十六字方针
软件工程化涉及软件开发组织的组织、管理、技术等各方面,往往持续几年时间,具有复杂性和长期性的特点,这就要求组织坚持“效益驱动,总体规划,分步实施、重点突破”的十六字方针,正确理解并在软件工程化过程中自觉运用该方针将是软件工程化实施的关键。
(l)软件开发组织存在的基础就是创造效益,效益的体现是T、Q、C、S,对于没有效益的事情组织肯定是不愿意做的。软件工程化工作的周期往往比较长,组织能够持久的、不断的投入资源做下去,必须有效益这种动力来驱动。这就要求在规划时和实施时要考虑到效益因素。
(2)总体规划将保证组织能够持续的正确的投人资源完成正确的工作,不至于造成重复建设和浪费。在采用SW一CMM模型作为组织软件工程化水平的评价标准时,建议组织把二级和三级放在一起进行总体规划,但在实施时以二级作为实施重点。
(3)项目的复杂性使得组织不可能投人大量的资源来投入实施工作,分步实施、重点突破使得组织能够集中有限的资源打歼灭战而不是全而战争或持久战,同时分步实施也使得组织能获得经验、锻炼队伍,保证项目的成功。
1.2 组织最高管理者参与原则
软件工程化实施时需要涉及组织的变革、管理的进步、技术的革新等各方面的改变,是企业内部管理的革命。组织最高管理者必须对软件工程化有一个清醒的认识,认识到软件工程化的作用和效益的同时,又要认识到需要投入和付出,认识到改革过程中的风险。软件工程化涉及企业改革的范围和深度都比较大,没有最高管理者对一些重大问题的决策,是没有办法使软件工程化顺利进展的。
1.3培训优先原则
对我国大多数软件开发组织来说,尽管对软件工程有大概了解,但对ISO9000系列標准、SW一CMM等软件工程化评价体系,却了解较少,对在实际当中如何操作也缺少清醒的认识。因此无论是实施前、实施中还是实施后都应以培训为先导,改变人的观念,提高人的技术能力和管理能力。要在组织内部开展全方位、多层次的培训,尤其要重视岗位培训。
1.4 理论联系实际原则
无论是SW一CMM还是ISO9000系列标准仅仅反映了未来软件开发组织的过程,但如何达到这种需求并没有说明,我们必须充分认识sw一CMM、ISO9000系列标准,仔细分析软件开发组织目前的状况包括存在的问题,找出相应的解决办法,制订合理的总体方案,达到软件工程化的目的。
1.5 渐进原则
软件工程化的过程必须采用渐进原则而不是革命性的突变,这是与软件工程化的复杂性和长期性密切联系的。在总体规划下,渐进原则会逐步向日标打幻些,使人们逐步意识到进步。
对于已实施部分要加强度最,获取过程活动和技术活动的度最数据,为组织的过程改进和技术进步提供科学的决策数据,使组织持续不断的获得进步。
2.软件工程化实施中的几个问题
2.1软件系统的表示问题
软件系统的表示是技术问题,每个组织有自己的表示方法,实际上是企业机密。笔者通过项目特别是CIMS等项目的工程实践,深深感觉到一个规范化的、文档化的、标准的、完备的软件系统表示,对软件工程化工作的实施成功的巨大的影响。这个问题不解决,就无法实现软件工程化,必然导致项目开发工作的交互成本、管理成本大幅增加,“文档”成为摆设,项目拖期,必然造成软件工程化工作的失败。软件系统表示主要需解决两个问题:
(l)软件系统的表示方法
(2)软件表示的完备性、统一性、清晰性
2.2 组织的结构问题
如何建立软件开发组织的组织框架,直接与组织最高管理者的管理理念和企业运行效率有关。从总体上,木文把组织框架分为三种类型:项目型、职能部门型、项目职能部门结合型。
但这种组织形式具有以下缺点:
(1)资源浪费
每个项目都有相应的人力资源需求计划,项目建立时,同时建立相应的组织。这会造成人力资源闲置,因为没有专门的专业部门,资源不能统一调度。
(2)不利于技术进步
每一个项目中的相应专业人员独立工作,专业人员没有正式的组织进行交流,组织只能借助非正式的活动达到交流的目的,这样不能集`中所有专业人员的优势,促进相应专业的进步和提高。
一般来说,在比较大的开发组织中往往有一个人力资源部,专门负责人力资源计划以及人员技术能力的提高,提供各种方式的交流活动。而对于小的软件开发组织来说,则往往采用项目职能部门型来解决这些问题。
2.3辅助工具问题
根据软件开发组织的实际情况采用相应的辅助工具,会降低软件工程化工作的复杂度,降低工程化工作的风险。
在软件工程化工作的初期,通常会遇到“开发效率没有提高反而降低,开发成本没有降低反而提高”的问题。在遇到这些问题时,经常会出现对工程化工作的怀疑情绪,如不及时解决会导致对软件工程化信心的降低,因此组织必须及时采取相应的措施避免问题的恶化。
(1)由于工作方式和工作要求的改变,很多人对新的工作方式和工作要求不太熟悉。这可以通过加强岗位培训工作和工作实践来解决,基本上在相应岗位上工作一段时间后就会由生手变成熟练者,工作效率会大大提高。
(2)对正规的管理过程不太适应
科学的规范化的管理会造成一些工作环节的增加,有些是控制质量所必需的环节,这会造成工作时间的延长。但这是建立在高质量的基础上的,是必要的。我们可以借助协同工作环境(CSCW)来改进交互效率。本文设计的协同工作环境SW一IDS就能起到这个作用。
规范化的管理要求组织由人治转变为法治,要求项目中成员的行为遵循项目的要求和相应的规章制度。这降低了人们的随意性,会引起项目成员的逆反心理。在我国,由于人们还不太适应这种正规的、量化的管理,这个问题会显得更为突出。所以应该加强培训,转变人们的观念,在整个组织内建立法治的环境。
(3)文档编制工作量比较大
无论是1S09000系列还是SW一CMM都强调文档推动原则,文档编制量比较大,设计人员感觉60%左右(实际工作的统计数据)的工作都用在书写上。这种现象如同制造工业企业的产品设计和工艺设计,不能因为知道怎么做就不形成图纸和工艺文件。文档实际上是对人们抽象思维结果的描述,是设计人员劳动的体现。文档编制工作量大这个问题,有两种方式可以使之缓解:(l)软件重用技术;(2)助手制度。
通过重用已有的工作成果,来降低设计人员和管理人员的工作量,提高效率。软件重用不仅体现在程序代码的重用上,还包含软件需求、设计思路、项目计划等各种工作产品的重用。当然这需要有严格的管理,Sw一DS考虑到了这一点。
3.结束语
软件工程是指导计算机软件开发和维护的工程学科。软件工程的研究,已经从以技术措施(技术、方法和工具)来解决软件危机,发展到对工程管理和开发技术两方面进行综合研究的阶段,使软件工程成为一门系统的、综合性的工程学科。