前言:寻找写作灵感?中文期刊网用心挑选的计算机软件工程管理策略探究,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:伴随科学技术水平的不断提升,计算机在各领域中得到越来越广泛的应用,其软件工程项目数量也随之增多;计算机软件工程管理在成功开发软件项目中,发挥着重要作用,其主要内容为用户管理、开发人员管理、文档管理、用户管理等。本文结合当前实况,围绕计算机软件工程项目管理的主要内容,探讨了开展此方面管理的具体方案,望能为此领域研究提供些许借鉴。
关键词:计算机;软件工程;项目管理
当前,在开发计算机软件时,时常会出现仅注重技术而轻视管理的情况,因此,在软件工程当中,管理便成为其中比较薄弱的环节。在对软件工程进行管理时,如果出现失控情况,那么便容易引发软件危机,导致软件产品出现各种各样的问题,如生产率低、质量差及进度难以保证、资金浪费等。所以软件工程管理影响甚至决定着软件项目开发的成败。所谓软件工程管理,从根本上来讲,就是对软件项目整个开发过程所进行的管理,同时还是对软件生命周期中所有活动所展开的管理。而基于工程学层面来分析,即为对软件工程各个要素进行统一全面性管理,如项目成本、知识资源、产品质量、项目周期即项目范围等。本文结合当前实况,就计算机软件工程项目管理的具体内容及方案探讨如下。
1软件工程项目的特点分析
(1)软件产品具有不可见性。软件具有非物质性特点,其有着不够直接的可见性,需采用专门的软件工程方法与有效测试手段,方能从中感知软件的存在;(2)软件产品具有多样性、不确定性特点,无标准化的软件过程;(3)针对大型项目来讲,通常是一次性项目,其具有风险大、工作量大、系统结构复杂、需求不确定等特点,另外,还采用了许多先进技术,如数据挖掘、多维分析等。
2软件工程项目管理的主要内容
2.1文档资料管理。对于软件工程项目的管理而言,其通常是通过管理文档资料来达成或实现的。因为在实际开发时,大部分活动内容均会在文档资料上记录,各阶段的文档资料不仅是对之前工作的复审,而且还是后续工作开展的基础。在整个文档管理工作当中,文档标准化为其关键所在,其需要将各种内容整合在一起(比如初步设计、中间过程及最终结果等),以此来构建一套更为健全且合理的文档资料。
2.2对控制的管理。要想使软件的开发过程能够遵照既定的计划来开展,首先要做的便是严格控制整个开发过程。需指出的是,计划是控制的根基所在,其在具体内容上,主要有质量控制、人员控制、进度控制及经费控制等。所谓进度控制,从基础层面来分析,即为了确保项目可以按照既定时间表来推进,保证项目按期完成所开展的控制手段;而对于人员控制来讲,就是为开发人员的稳定性、积极性提供切实保障;经费控制需要编制全面且详细的经费预算,确保项目能够在既定经费计划内完成。而对于质量控制来讲,主要通过复审各阶段来提供切实保障,提高项目各阶段的工程质量。
2.3用户管理。针对用户而言,其不仅是软件产品的使用者,而且还是最终评价者,所以,在实际开发时,时刻需要与用户紧密配合。对于项目负责人来讲,不仅要做到与用户之间的深入联系,而且还应掌握用户的需求与心理,将来自用户的干扰给消除掉。
2.4组织机构管理。组织机构除了要求由合理的人员分工之外,还要求有良好的组织结构以及高效的通讯基础。通常情况下,组织机构的形式主要有如下几种:其一,民主组织。即采用比较传统的民主管理方式,让每个人轮流担任组长,以此来更好的调动大家的创造性与积极性,但在实际操作管理中,却存在着较大难度,现实应用的并不错。其二,专家组。将各开发人眼均当作某一方面的专家,注重个人才能的发挥。需强调的是,由此些专家所建立的机构,可以将每个人的才能、积极性充分发挥出来。其三,主程序员组织机构。为了能够切实提高全组的统一协调性,IBM公司根据自身实际,提出了具有深远影响的主程序员组织机构,就是由1名高级工程师支持协调、计划与复审组的所有技术活动。而对于技术员而言,其主要负责活动的分析与开发。
2.5开发人员管理。针对开发人员来讲,其主要包括资料员、高级程序员、项目负责人、初级程序员及系统分析员等。在项目实施中,所有开发人员都需要做到明确分工,各司其职,另外,职责不同,其素质要求也存在差异。比如项目负责人,其除了要有敏锐的洞察力、判断力之外,还应有卓越的组织能力,尤其是遇到一些重大问题时,能够做出正确决策的能力;针对系统分析员来讲,不仅要有分析、解决现实问题的能力,而且还要有概括能力、社交活动能力等;对于程序员而言,除了要有丰富的开发经验之外,还应有熟练的编程能力。
3软件工程管理的方案分析
3.1以软件能力成熟模型(CMM)为基础的软件工程项目管理软件能力成熟模型是一种由卡内基梅隆大学软件工程研究所(CMUSEI)于1987年研究出的对软件承包商能力进行评价,且辅助其改善软件质量的执行方法。其主要目的就是帮助软件企业对整个软件工程开发过程展开全面性、持续性且深入性管理与改进,促进其开发与改进能力的提升,使其能够在不超预算、按时的开发出高水平、高质量的软件。针对CMM来讲,其所注重的是工程能力的提高以及软件开发过程的管理,为了能够切实提高软件企业的过程能力,还专门提供了先进且实用的五级阶梯式进化框架。需指出的是,所有软件企业所开展且严格执行的软件过程,可能在某一方面使较为成熟、稳定的,而在其他方面,可能不够成熟,但从总体上来分析,其属于五个级别当中的某一个。所以,针对软件开发单位而言,首先要做的便是对自己正处在哪一级别加以明确,然后方能有针对性、目的性的依据此级别的相关要求,制定解决方案,消除所存在的问题。
3.2CMM中的分布式软件工程管理方案分析。3.2.1分布式软件工程管理分析。针对服务器C/S、客户机来讲,因其体系结构主要存在如下问题:MIS系统维护成本高;服务器限制了客户端的具体数目,使得系统有着比较差的延展性;处理逻辑难以实现共享,代码有着较差的重复性;如果服务器发生故障,借助此服务器的应用系统会处于瘫痪状态;针对此些不足或缺点,本文提出了三层分布式结构,如图1所示。针对此种结构而言,其不仅能是系统的性能得到提升,而且还能强化系统的可扩展性、灵活性以及客户机的可管理性、应用的可靠性等,因而在相关领域中,以得到比较广泛的应用。需要指出的是,当分析、设备或者测试此分布系统时,需要考虑此种结构的软件工程问题,也就是分布式软件工程。在整个分布式环境体系当中,应用程序不再像以往那样以一种整体形式而提供给用户,而是成为在网络上运行的服务对象。还需强调的是,相比于C/S软件工程,分布式软件工程管理主要将选用何种分布式软件构件以及怎样对软件构件进行分布当作考虑对象,此外,分布式软件工程管理还注重分布式结构的各种问题,如测试、设计及分析建模等。3.2.2分布式软件工程管理方案框架。针对软件组织而言,实际就是利用网络软件来开发分布式软件工程,而在实际开发过程中,要想使工程管理能够更加有序、高效、协调化开展,首先需要对软件组织所对应的软件过程下定义,然后通过解释软件过程,对工程项目行为进行高消化控制。针对分布式软件工程框架逻辑结构当中的协同平台来讲,其主要职责就是提供协作应用程序,比如工作流、电子邮件、角色定义及文档管理等,为用户提供协作工具,满足协作运用的运行环境需要,此外,还会根据现实需要,提供许多用于扩展平台框架的借口。在启动项目之前,需要先将软件企业成员与CMM角色间的映射完成。在CMM实践过程当中,需要注重其过程的管理与控制,确保全部角色协同工作(统一基线下),这有助于文档的管理。此外,还需要强调的是,在分布式软件工程项目管理中,依据角色的功能,把用户划分成高级主管(PM)、软件工程过程组(SEPG)与其他成员。其中,对于SEPG而言,其主要职责就是定义软件组织,且对标准过程进行维护,另外,还负责裁剪过程,收集与机构的标准软件过程有关的信息。而对于PM来讲,其主要职责就是启动项目,指派人员,及负责项目的各项实施。针对其他成员来分析,即为在协同框架下,将软件开发任务合作完成。
4结语
综上,在当今信息技术日渐发展与完善的大背景下,计算机行业呈现出迅猛的发展势头,且日渐成为人们生活、工作当中难以分割的重要组成部分;随着计算机应用越发广泛,其软件工程项目也不断增多,致使许多软件开发人员融入软件工程项目的研发当中。本文围绕软件工程项目的主要内容,基于软件能力成熟模型,探讨了软件工程项目的管理策略,以此为相关管理研究提供一些思路。
作者:鲁若峰 单位:湖北第二师范学院