【转载】计算机软件工程项目管理策略研究 (鲁若峰)

摘要:伴随科学技术水平的不断提升,计算机在各领域中得到越来越广泛的应用,其软件工程项目数量也随之增多;计算机软件工程 管理在成功开发软件项目中,发挥着重要作用,其主要内容为用户管理、开发人员管理、文档管理、用户管理等。本文结合当前实况, 围绕计算机软件工程项目管理的主要内容,探讨了开展此方面管理的具体方案,望能为此领域研究提供些许借鉴。

关键词:计算机;软件工程;项目管理

当前,在开发计算机软件时,时常会出现仅注重技术而轻视管理 的情况,因此,在软件工程当中,管理便成为其中比较薄弱的环节。 在对软件工程进行管理时,如果出现失控情况,那么便容易引发软件危机,导致软件产品出现各种各样的问题,如生产率低、质量差及进 度难以保证、资金浪费等。所以软件工程管理影响甚至决定着软件项 目开发的成败。所谓软件工程管理,从根本上来讲,就是对软件项目整个开发过程所进行的管理,同时还是对软件生命周期中所有活动所 展开的管理。而基于工程学层面来分析,即为对软件工程各个要素进 行统一全面性管理,如项目成本、知识资源、产品质量、项目周期即 项目范围等。本文结合当前实况,就计算机软件工程项目管理的具体 内容及方案探讨如下。

1  软件工程项目的特点分析

(1)软件产品具有不可见性。软件具有非物质性特点,其有着 不够直接的可见性,需采用专门的软件工程方法与有效测试手段,方 能从中感知软件的存在;(2)软件产品具有多样性、不确定性特点, 无标准化的软件过程;(3)针对大型项目来讲,通常是一次性项目, 其具有风险大、工作量大、系统结构复杂、需求不确定等特点,另外, 还采用了许多先进技术,如数据挖掘、多维分析等。

2  软件工程项目管理的主要内容

2.1 文档资料管理

对于软件工程项目的管理而言,其通常是通过管理文档资料来达 成或实现的。因为在实际开发时,大部分活动内容均会在文档资料上 记录,各阶段的文档资料不仅是对之前工作的复审,而且还是后续工 作开展的基础。在整个文档管理工作当中,文档标准化为其关键所在, 其需要将各种内容整合在一起(比如初步设计、中间过程及最终结果 等),以此来构建一套更为健全且合理的文档资料。

2.2 对控制的管理

要想使软件的开发过程能够遵照既定的计划来开展,首先要做的 便是严格控制整个开发过程。需指出的是,计划是控制的根基所在, 其在具体内容上,主要有质量控制、人员控制、进度控制及经费控制 等。所谓进度控制,从基础层面来分析,即为了确保项目可以按照既 定时间表来推进,保证项目按期完成所开展的控制手段;而对于人员 控制来讲,就是为开发人员的稳定性、积极性提供切实保障;经费控 制需要编制全面且详细的经费预算,确保项目能够在既定经费计划内 完成。而对于质量控制来讲,主要通过复审各阶段来提供切实保障, 提高项目各阶段的工程质量。

2.3 用户管理

针对用户而言,其不仅是软件产品的使用者,而且还是最终评价 者,所以,在实际开发时,时刻需要与用户紧密配合。对于项目负责 人来讲,不仅要做到与用户之间的深入联系,而且还应掌握用户的需 求与心理,将来自用户的干扰给消除掉。

2.4 组织机构管理

组织机构除了要求由合理的人员分工之外,还要求有良好的组织 结构以及高效的通讯基础。通常情况下,组织机构的形式主要有如下 几种:其一,民主组织。即采用比较传统的民主管理方式,让每个人 轮流担任组长,以此来更好的调动大家的创造性与积极性,但在实际 操作管理中,却存在着较大难度,现实应用的并不错。其二,专家组。 将各开发人眼均当作某一方面的专家,注重个人才能的发挥。需强调 的是,由此些专家所建立的机构,可以将每个人的才能、积极性充分 发挥出来。其三,主程序员组织机构。为了能够切实提高全组的统一 协调性,IBM 公司根据自身实际,提出了具有深远影响的主程序员 组织机构,就是由 1 名高级工程师支持协调、计划与复审组的所有技 术活动。而对于技术员而言,其主要负责活动的分析与开发。

2.5 开发人员管理

针对开发人员来讲,其主要包括资料员、高级程序员、项目负责 人、初级程序员及系统分析员等。在项目实施中,所有开发人员都需 要做到明确分工,各司其职,另外,职责不同,其素质要求也存在差 异。比如项目负责人,其除了要有敏锐的洞察力、判断力之外,还应 有卓越的组织能力,尤其是遇到一些重大问题时,能够做出正确决策 的能力;针对系统分析员来讲,不仅要有分析、解决现实问题的能力, 而且还要有概括能力、社交活动能力等;对于程序员而言,除了要有 丰富的开发经验之外,还应有熟练的编程能力。

3  软件工程管理的方案分析

3.1 以软件能力成熟模型(CMM)为基础的软件工程项目管理 软件能力成熟模型是一种由卡内基梅隆大学软件工程研究所 (CMU SEI)于 1987 年研究出的对软件承包商能力进行评价,且辅助其改善软件质量的执行方法。其主要目的就是帮助软件企业对整个 软件工程开发过程展开全面性、持续性且深入性管理与改进,促进其 开发与改进能力的提升,使其能够在不超预算、按时的开发出高水平、 高质量的软件。

针对 CMM 来讲,其所注重的是工程能力的提高以及软件开发过 程的管理,为了能够切实提高软件企业的过程能力,还专门提供了先 进且实用的五级阶梯式进化框架。需指出的是,所有软件企业所开展 且严格执行的软件过程,可能在某一方面使较为成熟、稳定的,而在 其他方面,可能不够成熟,但从总体上来分析,其属于五个级别当中 的某一个。所以,针对软件开发单位而言,首先要做的便是对自己正 处在哪一级别加以明确,然后方能有针对性、目的性的依据此级别的 相关要求,制定解决方案,消除所存在的问题。

3.2 CMM 中的分布式软件工程管理方案分析

3.2.1 分布式软件工程管理分析

针对服务器 C/S、客户机来讲,因其体系结构主要存在如下问题: MIS 系统维护成本高;服务器限制了客户端的具体数目,使得系统有 着比较差的延展性;处理逻辑难以实现共享,代码有着较差的重复性; 如果服务器发生故障,借助此服务器的应用系统会处于瘫痪状态;针 对此些不足或缺点,本文提出了三层分布式结构,如图 1 所示。 

 

 针对此种结构而言,其不仅能是系统的性能得到提升,而且还能 强化系统的可扩展性、灵活性以及客户机的可管理性、应用的可靠性 等,因而在相关领域中,以得到比较广泛的应用。需要指出的是,当 分析、设备或者测试此分布系统时,需要考虑此种结构的软件工程问 题,也就是分布式软件工程。在整个分布式环境体系当中,应用程序 不再像以往那样以一种整体形式而提供给用户,而是成为在网络上运 行的服务对象。还需强调的是,相比于 C/S 软件工程,分布式软件工 程管理主要将选用何种分布式软件构件以及怎样对软件构件进行分 布当作考虑对象,此外,分布式软件工程管理还注重分布式结构的各 种问题,如测试、设计及分析建模等。

3.2.2 分布式软件工程管理方案框架

针对软件组织而言,实际就是利用网络软件来开发分布式软件工 程,而在实际开发过程中,要想使工程管理能够更加有序、高效、协 调化开展,首先需要对软件组织所对应的软件过程下定义,然后通过 解释软件过程,对工程项目行为进行高消化控制。针对分布式软件工 程框架逻辑结构当中的协同平台来讲,其主要职责就是提供协作应用 程序,比如工作流、电子邮件、角色定义及文档管理等,为用户提供 协作工具,满足协作运用的运行环境需要,

此外,还会根据现实需要, 提供许多用于扩展平台框架的借口。在启动项目之前,需要先将软件 企业成员与 CMM 角色间的映射完成。在 CMM 实践过程当中,需要 注重其过程的管理与控制,确保全部角色协同工作(统一基线下), 这有助于文档的管理。 此外,还需要强调的是,在分布式软件工程项目管理中,依据角 色的功能,把用户划分成高级主管(PM)、软件工程过程组(SEPG) 与其他成员。其中,对于 SEPG 而言,其主要职责就是定义软件组织, 且对标准过程进行维护,另外,还负责裁剪过程,收集与机构的标准 软件过程有关的信息。而对于 PM 来讲,其主要职责就是启动项目, 指派人员,及负责项目的各项实施。针对其他成员来分析,即为在协 同框架下,将软件开发任务合作完成。

4  结语

综上,在当今信息技术日渐发展与完善的大背景下,计算机行业 呈现出迅猛的发展势头,且日渐成为人们生活、工作当中难以分割的 重要组成部分;随着计算机应用越发广泛,其软件工程项目也不断增多,致使许多软件开发人员融入软件工程项目的研发当中。本文围绕 软件工程项目的主要内容,基于软件能力成熟模型,探讨了软件工程 项目的管理策略,以此为相关管理研究提供一些思路。 

参考文献: [1]赵勃,黄从玲. 试析计算机软件开发中的分层技术运用 研究[J]. 信息记录材料,2018,19(011):121-123. [2]李田英,苏艳. 计算机软件工程管理与应用分析[J]. 电脑知识与技术,2017,11(028) :72-73. [3]范丽萍. 基于计算机软件工程的数据库编程技术[J]. 电子技术与软件工程,2017,000(001):164-165. [4]邵曰攀. 加强计算机软件工程管理应用的措施分析[J]. 电脑知识与技术,2018,14(005):98-99. [5]王征. 论计算机软件工程管理与应用策略[J]. 电脑知 识与技术,2017,13(013):95-96.

 

posted @ 2021-03-28 22:42  JoeNi  阅读(339)  评论(0)    收藏  举报