下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十三章 管理技术,13.1 管理的目的与内容 一、目的 方法、工具和管理(过程)是软件工程的三要素。 大型软件开发,需要一定的人力、物力、财力、时间、技术、工具.为使软件项目按照预定的成本、进度、质量顺利完成,需要对成本、人员、进度、质量、风险等进行分析与管理.由于软件产品是逻辑的,而不是物理的,软件项目的施工是开发小组集体的智力劳动,使用的开发工具是建立在计算机系统上的软件。因此,软件项目管理不仅有它的特殊性,也有一定的困难.,山西大学计算机与信息技术学院 软件工程 主讲人: 李桂成,二、内容 就其内容而言,有四个部分 1、成本管理(费用管理) 目的:对软件开发进行成本核算,使软件生产按照
2、商品生产的经济规律办事. 任务: .以简单实用和科学的方法估算出软件的开发费用,作为签订开发合同的根据. .管理开发费用的有效使用,用经济手段来保证,产品如期按质完成. 2、质量管理 目的:保证软件产品,包括最终程序和文挡的质量. 任务: .制定软件质量保证计划. .按照软件质量评价体系控制软件质量要素. .对阶段性的软件产品进行评审。 .对最终产品进行验证和确认(确保软件产品的质量),3、配置管理 目的: 通过对于程序、文挡和数据的各种版本所进行的管理,保证资料的完整性. 任务: .确认软件配置中的各种对象(成份) .管理软件的各种版本. .建立系统. .控制对软件的修改. .审计配置. .
3、报告配置状况.,4、项目管理 目的: 以合理的费用和进度,圆满完成计划所规定的软件项目. 任务: .制定项目实施计划. .对人员进行组织、分工. .按照计划的进度及要求进行软件开 发,最终完成各项任务.,13.2 成本管理(估计) 成本估算 由于软件是逻辑产品,成本估算涉及人、技术、环境、政策等多种因素。因此,在项目完成之前,很难精确地估算出项目的开销.常用的估算方法有四种: 参照已完成的类似项目,估算待开发项目的成本和工作量. 将大的项目分解成若干个小的子项目,在估算出每个子项目成本和工作量之后,再估算整个项目. 将软件项目按软件生存周期分解,分别估算出软件项目在软件开发各个阶段的工作量和成
4、本,并汇总、估算出整个项目的工作量和成本. 根据实验或历史数据给出软件项目工作量或成本的经验估算公式.,一、经验估算模型之一CoCoMo模型 1981年Boehm在他的名著软件工程经济学一书中,详细介绍了他提出的“构造成本模型”(Constructive Cost Model)简称CoCoMO模型。在这种模型中,软件开发工作量表示成如下形式:,例: 假定要在微处理器上开发一个嵌入式的电信处理程序,程序规模为10000行,试计算所需的工作量与开发时间。,二、经验优先模型之二putnam模型 1978年,putnam提出了大型软件项目工作量(30人年)估算模型,它是一个动态多变量模型,适用于软件开
5、发的各个阶段,相应的方程为:,三、标准值模型(专家测定技术),成本效益分析 度量效益的几种方法: 货币的时间价值 投资回收期 纯收入 投资回收率,13.3 质量管理 一、软件质量 软件质量是软件的生命,它直接影响软件的使用和维护,由于开发者、管理者、维护者和用户在软件的开发维护和使用中所处的地位不同,他们对软件质量的理解和要求也不同,如:用户关心软件的性能和可靠性,维护人员关心软件正确性、可理解性和可修改性,管理者关心开发标准、经费、时间、功能等.因此,应该对软件质量给出一个客观、科学的定义并尽量予以量化。,1983年ANSI/IEEEEstd729给出的软件质量的定义: 软件产品满足规定的和
6、隐含的与需求能力有关的全部特征和特性,包括: 1软件产品质量满足用户要求的程度; 2软件各种属性的组合程度; 3用户对软件产品的综合反映程度; 4软件在使用过程中满足组用户要求的程度.,二、软件质量要素,三、质量保证 1 审查 审查就是在软件生命周期每个阶段结束之前,都正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审查. 审查过程可能有6个步骤: (1) 计划:组织审查组,分发材料,安排日程等 (2) 概貌介绍:当项目复杂时,可考虑由作者介绍概貌 (3) 准备:评审员阅读材料取得有关项目的知识 (4)评审会:目的是发现和记录错误,通常每次会议不超过90分钟 (5) 返工:作者修正已
7、经发现的问题 (6) 复审:判断返工十分真正解决了问题,一般说来,至少在生命周期每个阶段结束之前,应该进行一次正式的审查,某些阶段可能需要进行多次审查. 开发阶段与响应的检验项目,2. 复查和管理复审 复查即时检查已有的材料,以断定特定阶段的工作是否能够开始或继续,每个阶段开始时的复查,是为了肯定前一个阶段结束时确实进行了认真的复审,已经具备了开始当前阶段工作所必需的材料. 管理复审通常指向开发组织或使用部门的管理人员,提供有关项目的总体状况,成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查.,13.4 配置管理 软件配置管理(Software Configuration Mana
8、gement)SCM是对软件修改进行确认、组织和控制的技术,用来协调和控制整个系统过程,其目的是为了减少混乱,提高软件生产率. 软件配置-是一个软件在生存周期内,它的各种形式,各种版本的文档与程序的总和. 基线各个阶段产品的复审时间均称为基线.基线之前更改自由,基线之后严格管理. 中心思想:在软件开发的进程中,开发者有权对本阶段的阶段产品进行更改,但一旦阶段产品通过了复审,就应该将它交给配置管理人员去控制,任何人(包括编制这一文档的人员)需要对它更改时,都要经过正式的批准手续.,一、软件配置项(SCI)软件配置管理的对象 1.系统规格说明; 2.软件项目规划; 3.需求分析结果; 4.初步用户
9、手册; 5.设计规格说明书; 6.源代码清单; 7.测试规格说明书; 8.操作和安装手册; 9.可执行程序; 10.数据库描述; 11.联机用户手册; 12.维护文档; 13.软件工程的标准; 14.软件工具.,二、基线技术 基线(baseline)标志软件开发过程中的各个里程碑,任何一个软件配置项SCI如设计说明书,一旦形成文档并复审通过,而成为一个基线,它标志开发过程中一个阶段的结束. 在软件开发过程中,由于各种原因,可能需要变动需求、预算、进度和实际方案,尽管这些变动请求中绝大部分是合理的,但在不同的时机作出不同的变动,难易程度和造成的影响差别甚大,软件配置管理中引入基线概念后,可以有效
10、的控制变动,对于它成为基线的SCI,虽然可以修改,但必须按照一个特殊的、正式的过程进行评估,确认每一处修改。相反,对于未成为基线的SCI,可以进行非正式修改.,三、软件配置管理任务 1. 确认配置对象 基本对象:如每个模块的源代码,一套测试用例等 复合对象:由若干基本对象组成,每个对象有名字、描 述、资源列表和实际存在体. 2. 版本控制要解决以下问题 1.根据不同的用户需求要配置不同的系统 2.保存系统老版本,为以后调查问题使用 3. 建立一个系统新版本,使它包含某些决策而抛弃另一些 4.高效存储项目的多个版本 5.支持两位以上工程师同时在一个项目中工作,3. 系统建立 (考虑以下问题) 1
11、.建立系统时使用了哪些源代码和编译程序选件 2.某个项目修改后,系统哪些部分需要重新编译 3.建立系统时是否有编译或警告错误 4.建立系统的正确步骤 5.安装使用一个新编译程序有什么影响 4. 修改控制 (变更控制) 软件生存期内的全部软件配置是软件产品的真正代表,必须使其保持精确.软件工程过程中任意阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息,并把精确、清晰的信息传递到软件工程过程的后续步骤.,把人的努力与自动工具合起来,建立一套机制,有意识地控制修改.,5. 配置审计 软件的完整性,是指软件开发后期的产品能够满足用户所提出的对软件的要求.软件配置审核的目
12、的就是要证实整个软件生存期中各项产品在技术上和管理上的完整性.同时还要确保所有文档的内容变动不超出当初确定的软件要求范围,使得软件配置具有良好的可跟踪性.这是软件变更控制人员掌握配置情况、进行审批的依据.软件配置审核提出并解释以下问题:,1. ECO(工程变动命令)中指定的修改是否都已完成?还另加了哪些修改? 2. 是否做过正式技术复审? 3. 是否严格遵守软件工程标准 4. 修改过的SCI(软件配置项)是否做了特殊标记?(日期、人员等) 5. 是否完成了与本次修改有关的注释、记录和报告等事宜 6. 所有相关的SCI是否一并修改?,6. 配置状况报告 (Configuration Status
13、 ReportingCSR) 为了清楚及时的记载软件配置的变化,不至于到后期贻误,需要对开发的过程做系统的记录,以反映开发活动的历史情况.这就是配置状态登录的任务.登录主要根据变更控制小组会议的记录,产生配置状态报告.报告对于每项变更,记录以下问题: 1.发生了什么事情? 2.谁做的? 3. 何时发生的? 4.有什么影响?,13.5 项目管理 一. 风险分析 1. 风险标识(项目风险 技术风险 商业风险)与估算 风险分析实际上是4个不同的活动,即风险识别、风险估计、风 险评价和风险驾驭 风险识别就是要系统的确定对息怒计划(估算、进度、资源分配)的威胁,通过识别已知的或可预测的风险,就能设法避开
14、风险或驾驭风险。用不同的方法对风险进行分类是可能的。风险可分为项目风险、技术风险、商业风险。 项目风险由于项目在预算、进度、人力、资源、顾客和需求等方面的原因对软 件项目产生的不良影响。 技术风险软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题对软件项目带来的危害。 商业风险开发了一个没人需要的优质软件或推销部门不知如何销售这一软件产品或开发的产品不符合公司的产品销售.,附:人员配备风险检测表 1)开发人员的水平如何 2)开发人员在技术上是否配套 3)开发人员的数量如何 4)开发人员是否能够自始至终地参加软件开发工作 5)开发人员是否能够集中全部精力投入软件开发工作 6)开发人员对自
15、己的工作是否有正确的期望 7)开发人员是否接受过必要的培训 8)开发人员的流动是否能够保证工作人员的连续性 用0,1,2,3,4,5 5个等级回答,完全肯定取0,反之取5,中间情况取1,2,3,4 值越大风险越大.,2. 风险评价和管理 1)项目开发前应控制产生风险的原因,在项目开工后应想法设法减轻风险的影响。 2)了解导致项目开发人员变动的原因,在项目开发期间应控制上述原因,尽量减少人员的流动。 3)在工作方法和技术上应采取适当措施防止因人员流动给工作带来损失。 4)项目在开发过程中应及时分布并交流项目开发的信息。 5)建立组织机构,确定文档标准,并及时生成文档。 6)经常对工作进行集体复审
16、,使多数人都能了解工作的细节,跟上工作进度。 7)为关键技术准备后备人员。,二进度安排 软件项目的进度安排与任何一个多任务工作的进度安排差不多,因此,只要稍加修改,就可以把用于一般开发项目的进度安排的技术和工具应用于软件项目。 软件项目的进度计划和工作的实际进展情况也需要采用图示的方法描述,特别是对各项任务之间进度的相互依赖关系。这里介绍几种有效的图示方法。在这几种图示方法中,有几个信息必须明确标明: 各个任务的计划开始时间、完成时间 各个任务完成的标志(即文档编写和评审) 各个任务参与的人数,各个任务与工作量之间的衔接情况 完成各个任务的物理资源和数据资源,1. Gantt图(横道图),Ga
17、ntt图有三个主要缺点: (1)不能显式地描绘各项作业彼此间的依赖关系; (2)进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象; (3)计划中有潜力的部分及潜力的大小不准确,往往造成潜力的浪费.,2计划评审技术(Program Evaluation and Review Technique)也称工程网络技术 1)建立PERT图 2)找出关键路径 3)标出最迟开始时间 4) 说明确保关键路径上的各项活动按时完成,因为在该路径上的任何活动如 有延期,整个项目将随之延期。 通过缩短关键路径上的某些活动的时间,达到缩短项目的开发时间的目的。,三.人员组织(开发时间宁可长些,开发人员宁
18、可少些) 软件项目的开发实践表明,软件开发各个阶段所需要的技术人员类型、层次和数量是不同的.软件项目的计划与分析阶段只需要少数人,主要是系统分析员、从事软件系统论证和概要设计的软件高级工程师和项目高级管理员.概要设计时要增加一部分高级程序员,软件测试员.在此过程中软件开发管理人员和各类专门人员也逐渐增加,到测试阶段结束时,软件开发人员的数量达到顶峰.软件运行初期,参加软件维护的人员也比较多,过早解散软件开发人员会给软件维护带来意想不到的困难.软件运行一段时间之后,由于软件开发人员参与纠正性维护,软件出错率会很快衰减,这时软件开发人员也就可以逐步撤出.如果系统不做适应性或完善性维护,需要留守的人
19、员就不多了向一个已经延期的软件项目追加开发人员,可能使项目完成的更晚.,软件开发组织的管理机构,计划与分析:少数人 系统分析员 高级工程师 高级管理员 概要: 增加一部分高级程序员 详细: 增加软件工程师和程序员 编码测试:还要增加程序员,软件测试员,管 理人员及各类人员 测试末期:人数达到顶峰 运行初期:维护人员较多 运行后期:维护人员减少 如何合理的配备人员,也是成功地完成软件项目的切实保证.所谓合理地配备人员是指,按不同阶段适时任用人员,恰当掌握用人标准., 项目开发挨各阶段所需人员 一个软件项目完成的快慢,取决于参与开发人员的多少.在开发的整个过程中,多数软件项目是以恒定人力配备的.
20、配备人员的原则 配备软件人员时,应注意以下3个原则: a)重质量 b)重培训 c)双阶梯提升, 对项目经理人员的要求 软件经理人员是工作的组织者,他的管理能力的强弱是项目成败的关键.除去一般的管理要求外,他应具有以下能力: a)把用户提出的非技术性的要求加以整理提炼,以技术说明书的形式转告给分析员和测试员 b)能说服用户放弃一些不切实际的要求,以保证合理的要求得以满足 c) 能够把表面上似乎无关的要求集中在一起,归结为”需要什么”,”要解决什么问题”.这是一种综合问题的能力 d) 要懂得心理学,能说服上级领导和用户,让他们理解什么是不合理的要求.但又要使他们毫不勉强,乐于接受,并受到启发.,
21、评价人员的条件 软件项目中人的因素越来越受到重视.在评价和任用软件人员时,必须掌握一定的标准.人员素质的优劣常常影响到项目的成败.能否达到以下这些条件是不应忽视的. a)牢固掌握计算机软件的基础知识和技能; b)善于分析和综合问题,具有严密的逻辑思维能力; c)工作踏实、细致,不靠碰运气,遵循标准和规范,具有严格的科学作风; d)工作中表现出有耐心、有毅力、有责任心; e)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系; f)具有良好的书面和口头表达能力.,指导与检验 指导的目的是在软件项目的过程中,动员和促进工作人员积极完成所分配的任务.实际上,指导也属于人员管理的范围,是组
22、织好软件项目不可缺少的工作.,四 项目计划 1. 内容 1概述 一般性地叙述开发项目,描述计划组织,并且概述这个文档其余部分的内容. 2计划 讨论项目开发周期-需求分析阶段,总体设计阶段,详细设计阶段等等.详细说明每个阶段应该完成的日期,并且指出不同阶段可以互相重叠的时间等等. 3组织计划 规定从事这个开发项目的每个小组的具体责任. 4测试计划 概述应进行的测试和需要的工具,以及完成系统测试的过程和分工.在这一节中并不包括具体的测试方案.,5变动控制计划 确定在系统开发过程中需求变动的管理控制机制. 6文档计划 这一节的目的是定义和管理与项目有关的文档. 7培训计划 培训从事开发工作的程序员和
23、使用系统的用户的计划. 8复审和报告计划 讨论如何报告项目的状况,并且确定对项目进展情况进行正式复审的计划. 9安装和运行计划 描述在用户现场安装该系统的过程.,10资源和配置计划 概述关键的细节计划-进度里程碑和按合同规定应交付的系统配置成分. 11索引 上述项目计划内容大部分已经在前面的章节中详细讨论过,本节只讨论项目报告和变动控制两个问题. 2. 报告 3. 变动控制,五1. 软件过程 软件过程是软件生存期中的一系列相关软件工程活动的集合.每个软件过程是由一组工作任务、项目里程碑、软件工程产品和交付物、质量保证(SQA,Software Qualitiy Assurance)点等组成. 软件过程的改进 1983年美国TRW公司B W Boehm提出著名的软件工程7条原则:(如下),1)按软件生存期分阶段指定计划并认真实施; 2)逐个阶段进行确认; 3)坚持严格的产品控制; 4)适用现代程序设计技术; 5)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内分泌科科普
- 内分泌用药官方培训课件
- 冀时调培训课件
- 兽药质检流程培训课件
- 计量确认记录的管理制度(3篇)
- 车站精细管理制度(3篇)
- 酒店给水设备区管理制度(3篇)
- 兽药GSP培训课件
- 《GA 447-2003警服材料 精梳涤棉混纺格子布》专题研究报告
- 2026年及未来5年市场数据中国KTV点歌系统行业市场竞争格局及发展趋势预测报告
- 《山东省市政工程消耗量定额》2016版交底培训资料
- 《中医六经辨证》课件
- 挂名合同协议书
- 苏教版高中化学必修二知识点
- 2024年国家公务员考试国考中国人民银行结构化面试真题试题试卷及答案解析
- 2025年中考语文一轮复习:民俗类散文阅读 讲义(含练习题及答案)
- 高中数学选择性必修一课件第一章 空间向量与立体几何章末复习(人教A版)
- 标准商品房买卖合同文本大全
- LY/T 3408-2024林下经济术语
- 2025年湖南邵阳市新邵县经济开发区建设有限公司招聘笔试参考题库附带答案详解
- 2023-2024学年八年级(上)期末数学试卷
评论
0/150
提交评论