软件工程的管理工作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

谈软件工程的管理工作

(贵州大学计算机科学与技术学院贵州贵阳550025)

中图分类号:tp文献标识码:a 文章编号:1007-0745(2008)09-00

摘要:软件工程的成败,与软件工程管理工作的好坏有着密切的关系,因此,本文对软件工程管理工作的内容进行了详细的介绍。关键词:软件工程;管理工作

一、引言

软件工程管理就是对软件项目开发过程的管理,具体地说,就是对整个软件生命期的一切活动进行营理。管理作为一门科学是在大工业出现以后逐步形成的,在当今的信息社会中,管理的重要性日益为人们所认识,尤其为决策人物所重视。对任何工程来说,工程的成败,都与管理的好坏有密切关系。软件工程更不例外,一个软件项目的成败,很大程度上取决于项目负责人的管理水平和管理艺术,软件工程管理已开始引起计算机软件界的重视。

二、软件工程管理工作的内容

目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。可根据软件产品的特点,分析软件工程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。

(一)开发人员

软件开发人员一般分为:项目负责人、系统分析员、高级程序员、

初级程序员、资料员和其他辅助人员。根据项目的规模大小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个阶段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合。没有一个和谐的工作气氛很难完成一个复杂的软件项目。

(二)组织机构

组织机构不等于开发人员的简单集合。组织机构要求:好的组织结构、合理的人员分工和有效的通讯。下面介绍三种组织机构。1、主程序员组织机构。ibm公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师主持计划、协调和复审组的全部技术活动,技术人员负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失。

2、专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重。

3、民主组织。民主组织由从事各方面工作的人员轮流担任组长。

很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。

(三)用户

软件是为用户开发的,因此在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态,防止来自用户的各种干扰和阻力。

1、用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨干,才能真正了解到用户的要求。要使他们认识到:计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益;让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。

2、用户求快求全。这种表现来自对使用计算机持积极态度的人。他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到:开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。如果为了迎合这部分用户求快的要求而不按软件工程的开发方法工作,将开发不出好的系统。计算机并不是万能的,有些杂乱无章的、随机的、没有规律的事物,计算机是无法处理的。另外,即使计算机能够处理的事情,系统也不能一下于包罗万象,贪大求全。要根据现有的条件量力而

行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差。

3、用户需求变化。在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的。因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求;另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求。例如:软件需求分析阶段结束后,软件的设计目标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。

4、控制。为保证软件开发按预定的计划进行,对开发过程要实施控制,控制是以计划为基础的。由于软件产品的特殊性和软件工程的不成熟,制订软件进度计划比较困难。通常把一个大的开发任务分为若干期工程,然后再制订各期工程的具体计划,这样才能保证计划实际可行,便于控制。在制订计划时要适当留有余地,控制包括进度控制、人员控制、经费控制和质量控制。进度控制是为了保证项目按预定的时间表进行。进度的拖延可能导致项目的失败或失去先进性,增加用户对开发机构的不信任感和影响开发人员的工作情绪。人员控制是对开发组织内部人员控制。就是要保证开发人

员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。

5、文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理工作很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料,文档标准化是文档管理的重要方面。

三、结束语

尽管开展软件工程化工作已多年,也取得了长足的进展,但还存在不少问题,诸如“重技术轻管理”、对软件的标准化工作重视不够等等。在新的形式下我们应该进一步推行软件工程,强化软件工程管理工作,不断提高软件的质量。

参考文献:

[1]郝滨滨.软件工程管理方法与实践[j].舰船电子工程,2004.4,24(4).

[2]冯玉琳,赵宝华.软件工程[m].合肥:中国科技大学出版社,1992.

相关文档
最新文档