- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章软件工程管理
1
第十章 软件工程管理
10.1 软件工程管理概述
软件工程管理是对软件项目的开发管理,是对整个软件生存期的所有活动进行管理。
任何工程的成败,都与管理的好坏密切相关,软件工程更不例外。尤其是软件产品的特殊
性,软件工程的管理对于保证软件产品的质量具有极为重要的作用,是软件项目开发成功
的关键。
由软件危机引出软件工程,这是计算机发展史上一个重大进展。为了对付大型复杂的
软件系统,必须采用传统的“分解”方法。软件工程的分解是从横向(空间)和纵向(时
间)两个方面进行的。横向分解就是把一个大系统分解为若干小系统,一个小系统分解为
若干个子系统,一个子系统分解为若干个模块,一个模块分解为若干过程。纵向分解就是
生存期,把软件开发分解为几个阶段,每个阶段有不同的任务、特点和方法。为此,软件
工程管理需要有相应的管理策略和技术。
随着软件的规模和复杂度的不断增大,开发人员的增加以及开发时间的增长,这些都
增加了软件工程管理的难度,同时也突出了软件工程管理的必要性和重要性。事实证明由
管理失败造成的后果要比开发技术错误造成的后果更为严重。很少由软件项目的实施进程
能准确地符合预定目标、进度和预算的,这也就足以说明软件管理的重要。
例如:Windows 2000的开发是微软公司历史上最艰巨的任务,仅仅是核心部门的成员
就有 2500 人,测试用的代码就有 1000 万行,测试中所用到的脚本程序就有 6500 种。类
似规模如此之大的软件系统,如果没有科学的、规范的、有效的管理,是不可能成功的。
因此软件工程管理是软件工程的重要研究内容之一。
10.1.1 软件管理的任务与目标
为使软件项目开发成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的
资源、要实现的任务、经历的里程碑、花费的工作量,以及进度的安排等等做到心中有数。
而软件项目管理可以提供这些信息。任何技术先进的大型项目的开发如果没有一套科学的
管理方法和严格的组织领导,是不可能取得成功的。即使在管理技术较成熟的发达国家中
尚且如此,在我国管理技术不高、资金比较紧缺的情况下,大型软件项目开发的管理方法
及技术就显得尤为重要。
软件工程管理的对象是软件工程项目,因此软件工程管理涉及的范围覆盖了整个软件
工程过程。
软件工程管理的主要任务有:
1.软件可行性分析。即从技术上、经济上和社会上等方面对软件开发项目进行估算,
避免盲目投资,减少损失。
2
2.软件项目的成本估算。从理论到具体的模型在开发前估算软件项目的成本,减少盲
目工作。
3.软件生产率。通过对影响软件生产率的五种因素(人、问题、过程、产品和资源)
进行分析,在软件开发时,更好地进行软件资源配置。
4.软件项目质量管理。软件项目的质量管理也是软件项目开发的重要内容,对于影响
软件质量的因素和质量的度量都是质量管理的基本内容。
5.软件计划。开发软件项目的计划涉及到实施项目的各个环节,带有全局的性质。计
划的合理性和准确性往往关系着项目的成败。
6.软件开发人员管理。软件开发的主体是软件开发人员,对软件开发人员的管理十分
重要,它直接关系到如何发挥最大的工作效率和软件项目是否开发成功。
10.1.2 软件的作用范围
确定软件的作用范围是软件项目计划的第一项活动。是要对用户要求解决的问题进行
确切定义,进一步分析软件开发的风险,估算成本,以便制定软件开发计划。
软件作用范围包括功能、性能、限制和可靠性。在成本估算开始之前,应对软件的功
能进行评价,并对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与
功能有关,因此常常采用某种程度的功能分解。
性能的考虑包括处理和响应时间的需求。约束条件则是标识外部硬件、可用存储或者
其它现有系统对软件的限制。功能、性能和约束必须在一起进行评价。当性能限制不同时,
为实现同样的功能,开发工作量可能相差一个数量级。如果功能保持相同而性能可变,则
开发软件所需的工作量和成本将有显著的差异。
关于软件范围的叙述都应给出定量的数据(例如,同时使用该软件的用户数目,发送
表格的长短,最大允许响应时间等等),指明约束条件或限制(例如,产品成本限制了存
储的容量),此外还要叙述某些质量因素(例如,设计的算法是否容易理解、高效,是否
使用合适的程序设计语言等)。
通常从以下方面考虑软件的作用范围:第一软件的功能、性能;第二接口(与硬件、
软件工具、人、过程的一系列操作);最后是软件的可靠性。
软件与其它系统元素是相互作用的。
10.1.3 资源要求
软件项目开发前,首先必须对软件项目所需的资源进行估算。软件开发所需的资源,
一般采用“金字塔”形,如图 10.1。
其中:
人:人员的技术水平,专业和
文档评论(0)