软件工程管理的内容与策略_第1页
软件工程管理的内容与策略_第2页
软件工程管理的内容与策略_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程管理的内容与策略

1时代对通过软件管理的应用提出的问题所有工程的成功都与管理的质量密切相关。恶意软件更不例外。一个软件项目的成功主要取决于项目负责人的管理和艺术管理。恶意软件的管理开始吸引计算机软件部门的注意。软件工程管理就是对软件项目开发过程的管理,是对整个软件生命期的一切活动进行营理。软件工程管理目前还没有引起人们的足够重视。究其原因:首先是人的传统观念,工程管理不为人们所重视;另一方面软件工程是一个新兴的学科领域,软件工程管理的问题也是刚被提出的。同时,由于软件产品的特殊性,使软件工程管理涉及到很多学科。因此,对软件工程管理,人们还缺乏经验和技术。但事实证明,由管理失误造成的后果要比程序错误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就足以说明软件工程管理的重要。2些组织机构由软件危机引出软件工程,是计算机发展史上的一个重大进展。为了对付大型复杂的软件系统,须采用传统的“分解”方法。软件工程的分解是从横向和纵向即空间和时间两个方向进行的。横向分解就是把一个大系统分解为若干个小系统,小系统分解为子系统,子系统分解为模块,模块分解为过程。纵向分解就是生命周期,把软件开发分为几个阶段,每个阶段有不同的任务、特点和方法。为此,软件工程管理需要有相应的管理策略。目前软件生产自动化程度很低,在开发过程中人是起决定性的因素,因此,软件工程管理很大程度上是对人的管理。可根据软件产品的特点,分析软件工程管理的具体内容,它包括对开发人员、组织机构、用户、文档资料等方而的管理。2.1开发人员。软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。根据项目的规模大小,有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。软件生命期各个价段的活动有分工又互相联系。因此,要求选择各类人员既能胜任工作,又要能相互很好地配合。没有一个和谐的工作气氛很难完成一个复杂的软件项目。2.2组织机构。组织机构不等于开发人员的简单集合。这里的组织机构要求:好的组织结构、合理的人员分工和有效的通讯。软件开发的组织机构没有统一的模式。下面简单介绍三种组织机构。2.2.1主程序员组织机构。IBM公司提出的主程序员组是软件系统结构化思想在组织上的体现。它的目的是为了保证全组的协调和统一。一位高级工程师(主程序员)主持计划、协调和复审组的全部技术活动。技术人员(一般2~5人)负责分析和开发活动,一位后援工程师支持高级工程师的工作,并且在该项目继续进行时,可以代替高级工程师工作,以减少可能的损失。2.2.2专家组。专家组强调每个人的才能,把每个人都看作是某一方面的专家,由这些专家组成一个开发机构。这种组织结构虽然能发挥所有工作人员的积极性,但往往有可能出现协调上的困难,选择这种方式要慎重。2.2.3民主组织。民主组织由从事各方面工作的人员轮流担任组长。很显然,这种组织结构对调动积极性和个人的创造性是很值得称道的。但是由于过多地进行组长信息“转移”不符合软件工程化的方向。2.3用户。我们是为用户开发软件的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态,防止来自用户的各种干扰和阻力。2.3.1用户不积极,不配合。这种表现通常来自对采用先进技术持怀疑态度的用户,他们心理上的抵触情绪会在行动上表现为消极、漠不关心。在需求阶段,做好这部分人的工作很重要,通过他们中的业务骨干,才能真正了解到用户的要求。要使他们认识到:计算机的发展和应用是现代化的必然趋势,使用计算机将会带来巨大的经济效益;让他们掌握新的技术和方法去取代某些可能过时的或淘汰的专长。2.3.2用户求快求全。这种表现来自对使用计算机持积极态度的人。他们中一部分人希望一个早上就能用上计算机,并且全能用上计算机。要他们认识到:开发一个软件项目不是一朝一夕就能完成的,软件工程不是靠人海战术就能加快的工期。如果为了迎合这部分用户求快的要求而不按软件工程的开发方法工作,将开发不出好的系统。正如F.Brooks所说:管理人员往往没有耐心让用户等待较好的系统。实际上,与其说管理人员没有耐心,不如说他顶不住来自用户的压力,同时还要他们认识到:计算机并不是万能的,有些杂乱无章的、随机的、没有规律的事物,计算机是无法处理的。另外,即使计算机能够处理的事情,系统也不能一下于包罗万象,贪大求全。要根据现有的条件量力而行。如果系统大而全,必然会很复杂,开发时间就拖得很长,因此可能会导致一个系统的失败或性能太差。2.3.3用户需求变化。在软件开发过程中,用户可能会不断提出新的要求和修改以前提出的要求。从软件工程的角度不希望有这种变化。但实际上,不允许用户提出变动的要求是不可能的。因为一方面每个人对新事物有一个认识过程,不可能一下子提出全面的、准确的要求;另一方而还要考虑到与用户的关系。对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求。例如:软件需求分析阶段结束后软件的设计目标已经确定,这时用户要求的重大变化要导致设计目标的变化,特别是到软件开发的后期,一般不可能满足这种变化的要求。要向用户解释清楚工程的内在规律,但对用户提出的如性能等局部方而的要求,只要是合理的,就要加以考虑。2.4控制。为保证软件开发按预定的计划进行,对开发过程要实施控制。控制是以计划为基础的。由于软件产品的特殊性和软件工程的不成熟,制订软件进度计划比较困难。通常把一个大的开发任务分为若干期工程。例如,分第一期、第二期、……。然后再制订各期工程的具体计划,这样才能保证计划实际可行,便于控制。在制订计划时要适当留有余地。控制包括进度控制、人员控制、经费控制和质量控制。进度控制是为了保证项目按预定的时间表进行。进度的拖延可能导致项目的失败或失去先进性,增加用户对开发机构的不信任感和影响开发人员的工作情绪。人员控制是对开发组织内部人员控制。就是要保证开发人员的积极性和稳定性。人员的频繁更换或流动将会大大增加软件出错误的机会。至少要保证软件项目每一期工程或软件生命期每一阶段中人员的相对稳定性。同时注意发挥每个开发人员的积极性和创造性。经费控制要编制详细的经费预算。并在各阶段进行经费的核算。在经费上失去控制,软件项目就没有经济保证。质量控制与各阶段的复审在意义和作用上是一致的,在此不再叙述。2.5文档资料。开发过程的各种活动后都要反映在文档资料上。每一个阶段的文档资料是以后各阶段工作的基础,又是对前面各阶段工作的复审。软件工程管理很大程度上是通过对文档资料管理来实现的。因此,要把开发过程中的初步设计、中间过程、最后结果等建立成一套完整的文档资料。文档标准化是文档管理的重要方面。3开发时间节点是根据开发式在当今的软件工程时代,每个项目涉及众多的人力和物力,管理问题日益突出。在实际工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论