您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件项目管理原理与实践复习终级
1.软件项目管理的目的:为了使软件项目能按照预定的成本、进度、质量顺利完成,而进行分析、管理的活动。项目:一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目基本特征:①项目开发是为了实现一个特定目标。②项目受预算、时间、资源的限制。③项目的复杂性、一次性。④项目以客户为中心。检查点:定期检查项目,根据现状与计划的差异进行调整。里程碑:标志阶段性工作的完成,因项目而异。基线:配置项在项目生命周期的不同时间点上,通过正式评审进入正式受控的状态。设定目标的SMART原则:S:非常详细具体的M:是能够衡量的A:要有足够的难度和挑战性。R:现实的T:要有实现的期限管理的含义:①目标是对未来的追求;②工作的本质是协调;③管理工作存在于组织;④管理工作重点是对人的管理。管理的过程:与他人协助或寻求他人帮助、权衡效力和效率的关系、充分利用有限资源、应用多变的环境、实现组织目标。项目管理的特点:①对象:是项目,或被当作项目来处理的运作;②思想:是系统管理的系统方法论;③组织:具有临时性、柔性、扁平化特点;④机制:是项目经理负责制,它强调责任、权力、利益的对等;⑤方式:是目标管理,包括进度、费用、技术、质量;⑥要点:是创造、保持一种使项目顺利进行的环境;⑦方法、工具、手段:应具有先进性、开放性。项目管理9大知识领域:①项目集成管理(全局);②项目范围、时间、成本、质量管理(核心);③项目人力资源、沟通、风险、采购管理软件项目管理原则:计划原则/Brooks原则/验收标准原则/80-20原则/帕金森原则/时间分配原则/变化原则/作业标准原则/复用和组织变革原则2.软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。~类型原始问题描述、用户需求、系统需求和软件设计描述。软件项目需求管理:使软件系统分析工程师能够结合软件项目实际,提出切实有效的项目需求管理策略,解决其在管理软件项目需求分析时面临的实际问题,从而降低软件开发成本,提升软件产品质量,提高软件企业竞争力。需求工程:指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求的定义:①用户解决问题或达到目标所需的条件或能力;②系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力;③一种反应上面两点所描述的条件或能力的文档说明。需求分析:对要解决问题详细的分析,弄清问题要求,包括需要输入的数据,想要得到的结果,应该输出的内容.需求验证:为确保需求说明准确、完整地表达必要的质量特点,客户的参与占重要位置。软件可测试性:反映了一个计算机程序能被测试的容易程度。主要是指被测实体具有可控制性、可分解性、稳定性、易理解性、可观察性的特征,该特征的主要表现是设立观察点、控制点、观察装置。软件需求层次:业务需求,用户需求,功能需求软件需求建模方法:原型分析法,结构化分析法,用例分析法,功能列表法3.规模估算方法:德尔菲方法、功能点估计方法、PERT估计法、类比估算法工作量估算:根据规模估算结果并定义了项目开发周期和裁剪项目过程后,需要项目过程中各阶段工作量和总工作量。开发工期估算:根据工作量指定项目计划,包括人员安排、工作量分解、开始和完成时间等。成本估算:对完成项目各项活动所必须的各种资源的成本的估算,涉及估算完成每项计划活动所需资源和特殊条目4.合成最终估算值的方法有:①求中值或平均值:简便,受极端估计值影响。②召开小组会议:通过讨论统一估算值,受权威者和善辩者影响。③德尔菲技术:1)协调员给专家提供软件规格说明及估算值记录表;2)专家进行估算后填表;3)协调员做小结后提供估算迭代表;4)专家进行下一轮估算后再填表;重复3)4),期间不得进行小组讨论,只能向协调员提问。软件项目估算-方法-类比:通过比较当前项目和以前类似项目获得工作量估算值。步骤:①整理项目功能列表及实现各个功能的代码行;②标识出各个功能列表与历史项目的异同点;③注意历史项目的不足之处;④通过①②得出各个功能估算值;⑤产生规模估计。软件项目估算-方法-功能点估计法:通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。~步骤:①计算输入、输出、查询、主控文件和接口需求的数目;②对这些数据加权乘;③根据复杂度用±25%或0来调整总数。工作分解结构WBS:描述工作的分级,可以将项目中的工作分解为更小、易于管理的组成部分,最后分解成具体工作的系统方法。是项目规划的基础,项目管理的主要技术之一。工作分解结构“三要素”:层次结构、编码、报告。技术方法-甘特图:用于对软件项目的阶段、活动和任务进度完成状态的跟踪。是任务活动与日历表对照图。5.项目风险管理:贯穿与开发过程的一系列管理步骤,包括对风险的识别、计划、分析、解决和监控。PMP风险管理过程:风险管理计划、风险识别、风险定性分析、风险定量分析、风险应对计划、风险监控。~分析:在识别的基础上分析可能出现的事件及其后果,以确定事件发生概率及相关后果。MSF风险管理模型:必须是主动的管理,融入学习活动。原则如下:①持续评估;②培养开放沟通环境:所有组员参与风险识别与分析,领导者鼓励建立无责备文化;③从经验中学习:大大降低不确定性,强调从项目结果中学习的重要性;④责任分担:任何组员有义务进行风险管理。风险管理计划内容:①方法论②责任与角色③预算④计时法⑤风险分类风险识别:企图采用系统化方法识别某特定项目已知的或可预测的风险。特征:不确定性、损失风险“三要素”:风险是事件,发生有概率,可造成影响。风险识别步骤:①收集资料②风险形式估计③根据直接或间接症状识别潜在风险风险识别方法:德尔菲技术、头脑风暴法、SWOT分析法、检查表、图解技术。风险应对的策略:①对于消极的风险:规避、转移、减轻;②应对风险无良策或代价大:接受,分主动与被动;③对于积极的风险:开拓、分享、提高。风险监控:跟踪风险,识别剩余风险和新出现的风险,修改风险管理计划,保证计划的实施,并评估削减风险的效果,从而保证风险管理达到预期目标。6.软件配置管理:在软件开发过程中管理软件的配置,即管理对包括源程序、数据文件、设计文档、用户文档及其组织关系等构成软件产品的原始部件的产生、修改、提取与发布,以保证整个产品的正确性、完整性及产品部件的一致性。是软件运作的支撑平台,协同项目干系人的工作,实现高效团队沟通,使工作成果及时共享。软件配置项:软件配置管理的对象,是基本管理单元。~状态:草稿、正式和修改;~分类:状态、位置、组织、产品、费用、关系、属性、SLA、供应商、维护、用户、事件。缺乏软件开发管理产生的问题:一个严重的错误被修正了,却在一段时间后又重现了;一个已经开发并经过测试的功能在手工集成后完全消失了;系统崩溃了,却很难查出是什么修改造成的;用于测试的执行程序与源代码严重不一致;新的开发人员对现有代码难以理解,不知其前因后果;无法判断耽搁功能的实现进度和整个项目的完成程度;无法确知整个产品的代码修改频度和每个版本的代码修改量。变更控制的目的:控制对产品中已标识的所有配置项的任何修改,从而实现全面控制产品的更改。事件记录:变更控制活动的输入,变更控制的输出结果,归档化的事件与变更请求,对相应软件配置项的修改。文件版本管理:是软件配置管理的基础,对文件版本的严格管理保证了版本树自由稳健成长,能随时提取版本树中的版本才能构建更复杂的软件配置管理功能。软件配置库:用于存放配置项的存储池,保存配置项的所有版本及其相关控制信息。现代软件开发工具通常可以和软件配置库直接连接访问。版本管理过程:实现完整配置管理功能的基础,主要是管理产品配置项的每一版本的生成及使用,方法有版本访问与修改控制、版本分支和合并、版本历史记录、历史版本检取。配置库对开发人员有访问控制权限,开发人员只可在工作空间(文件夹)中具有访问权。基线:有软件产品所有配置项的特定版本构成的固定产品版本,通常由代码集成或构造人员创建以保证其一致性,一经创建便成为下一基线创建前的开发标准。基线管理过程:主要解决基线创建、发布、使用、维护等方面的问题。7.合同:是具有法律效应的文件,具有合法目的,充分签约理由,签订者具有相关法律能力,是双方自愿达成的协议。是平等主体自然人、法人、非法人组织间设立、变更、终止民事权利义务关系的协议。——需方(甲方)、供方(乙方)技术合同:法人之间、法人与公民之间、公民之间以技术开发、转让、咨询和服务为内容,明确相互权利义务关系所达成的协议。是软件项目主要签订的合同。特点:①标的与技术密切联系,不同合同的技术内容不同;②履行环节多、期限长、各类费用计算复杂;③法律调整具多样性;④当事人一方具特定性(如专业技术人员);⑤应是双务合同(双方都享有权利承担义务)、有偿合同。合同签订注意问题:①规定项目实施有效范围;②付款方式;③合同变更索赔风险;④系统验收方式;⑤维护期问题。合同条款:与软件产品相关合法条款;与软件系统相关技术条款;软件适用的标准体系方面条款;软件实施方面条款;技术培训条款;支持和服务;管理咨询条款。国际通用合同类型:成本加成本百分比、成本加固定费、成本加奖金、固定总价加奖励、固定价格/总价合同管理:确保供方的执行符合合同要求。可分为需方、供方合同管理。合同终止:双方依照合同履行全部义务后即可终结合同。终结管理活动包括产品和劳务检查与验收,合同及管理的终止等。合同生命周期:合同准备、合同签署、合同管理、合同终止。供方和需方合同管理的差异:需方合同管理是对供方执行合同的情况进行监督的过程,主要包括对需求对象的验收过程和违约事件的处理过程;供方合同管理包括对合同关系适用适当的项目管理程序并把这些过程的输出统一到整个项目的管理中8.组织形式类型:①职能型:符合标准金字塔,适用由一个部门完成或技术成熟的项目,最普遍;②项目型:项目收尾时成员和经理压力较大;③矩阵型:是职能项目混合型,加强项目经理对资源控制,成员没有安全感,沟通最复杂。人力资源管理:为了开发现在员工和未来员工的最大潜能。人力资源管理过程:雇佣计划→招聘/解聘→甄选→定向→培训及人员开发→绩效评估→薪酬与福利→安全及健康保障。虚拟团队:是成员彼此在时间、空间、组织结构分开,但依靠电子技术联系的团队。10.敏捷软件开发:应对快速变化诉求的软件开发能力。什么是敏捷项目管理?简述敏捷项目管理的主要特征。敏捷项目管理是近来流行的项目管理方法论;1.更加透明;随时跟踪项目的状态和进展情况,及早发现问题和风险.2.快速交付,每次迭代都能交付可运行的软件.3.最高风险和最高优先级的需求,最优先进行开发.4.改善应对变更能力,减少大量的重计划.5.改善项目沟通.6.更好的客户参与,避免错误的假设.敏捷宣言:①个体和交互胜过过程和工具;②可以工作的软件胜过面面俱到的文档;③客户合作胜过合同谈判;④相应变化胜过循环计划。敏捷开发原则:①尽早、持续地交付有价值的软件使客户满意;②在始终欢迎客户改变需求;③要定期交付可工作软件,间隔越短越好;④整个开发期间,业务和开发人员必须一同工作;⑤围绕被激励起来的个人构建项目;⑥团队内部进行面对面交谈最有效果有效率;⑦可工作的软件使度量进度的首要标准;⑧提倡平稳开发节奏,保持长期稳定的开发速度;⑨不断关注优秀技能和设计以增强敏捷能力;⑩简单化是根本;⑪团队有组织;⑫团队定期讨论如何更有效工作并调整相应行为。论述敏捷项目管理与传统项目管理的区别:传统:事先计划分析整个项目、提倡变更、严密合同减少风险,变更需走CR流程、项目对客户可视性差、由文档和计划驱动、交付时间晚,风险发现晚;敏捷:事先粗略估计整个项目、鼓励变化、合约简化变更,增加价值、客户与开发人员紧密合作、专注交付软件、每次迭代交付可工作软件,风险发现早。敏捷方法:XP极限编程、Scrum、自适应软件开发、水晶系列方法、动态系统开发方法等。敏捷方法vs瀑布模型:瀑布:固定无弹性、难以互动、不适用于未完全了解需求或需完全改变需求
本文标题:软件项目管理原理与实践复习终级
链接地址:https://www.777doc.com/doc-7345764 .html