第一篇:《软件项目管理》期末复习知识点总结
西南交通大学软件项目管理期末复习
第一章、第二章(略)第三章
1、软件过程模型的特征:
原型模型:创新性项目;技术攻关;快速验证。线性模型:一般性的软件开发过程(可定量管理)增量模型:软件产品。(可定量管理)
2、软件过程的选择依据 软件需求的确定性程度 似软件项目的开发经验
软件项目的性质(项目类型/产品类型) 客户的时间要求。
3、软件管理与工程的区别
工程:专注于事,专注于过程,专注于实施 管理:专注于人,专注于结果,专注于协调
4、软件管理要解决的问题
目标问题 范围问题 资源问题 组织问题 计划问题 实施控制
第四章
1、管理的地位
低于决策层而高于执行层
2、管理的基本职能
领导、组织、计划、指挥(控制)、协调
3、管理的过程
分析、计划、实施控制、总结检查 戴明环:计划、执行、检查、改进
第五章 组织+流程=业务
项目是一种旨在创造某种独特产品或服务的临时性努力。2 项目的内容
• 项目目标 • 项目范围
• 项目时间 • 项目投入 • 项目质量 • 项目风险 项目管理:是通过项目经理和项目组织的努力,运用系统 理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体系。4 项目管理的内容
• 定义项目 • 制定项目计划 • 项目组织实施 • 项目控制 • 项目的结束 5 项目管理的特点
• 项目管理是一项复杂的工作。• 项目管理具有创造性。• 项目管理需要集权领导和建立专门的项 目组织。• 项目负责人在项目管理中起着非常重要 的作用。6 项目管理的理解
• 项目管理是一种管理方法体系。
• 项目管理对象是项目,目的是更好地实现项目目标。• 项目管理的任务、职能:对资源进行计划、组织与控制。
• 项目管理职能主要是由项目经理执行的。
第六章 1 项目管理的核心内容
项目范围管理 项目时间管理 项目成本管理 2 项目的基本目标
– 技术目标(内容、质量)– 经济目标(成本、利润)
– 时间目标(完成时间、交付时间)3 项目目标的概括
• 项目的基本目标:在规定的时间内,在规定的经费预算内,保证项目 任务符合质量地完成。
• 项目 基本目标中,包括了范围、时间与经费的要求。对应这三项基本 目标三大管理领域:项目范围管理、项目时间管理、项目成本管理。
第七章项目的启动与组织
1、立项申请。
2、组建项目组
2.1组织设计原理
• 组织设计的目的是解决劳动分工的问题。
• 组织设计的任务是提供组织结构图和编制职务说明书。
• 组织设计要点: – 职务设计与分析 – 部门划分 – 结构的调整与平衡
• 组织设计的原则 – 因事设职与因人设职相结合 – 权责对等的原则 – 命令统一的原则
2.2项目的组织模式
职能式、项目式、矩阵式、混合式
软件项目组的角色 – 项目经理 – 架构设计师(总工/技术负责人)– 设计人员 – 程序员 – 配置人员 – 测试人员 2.3项目经理应具备的素质
领导能力 沟通能力 谈判能力 问题解决能力 影响组织能力
3、策划/制作任务书
项目任务书:描述、里程碑、评价标准、假设与约束条件、利益干系人
4、项目开工会
第八章 范围管理
1、范围管理的三大工作:项目范围的识别、安排、控制
2、一个思维——自顶向下,逐步细化 一个分析工具——层次方框图
3、软件生命周期与项目生命周期的区别
4、软件产品的结构
• 软件产品结构是用户需求的概览;
• 需求分析是软件产品范 围核定的主要方法,由 需求规格说明书进行描述。• 需求规格书的主要内容: – 功能要求 – 性能要求 – 运行环境要求
• 需求规格决定了产品范围
5、软件项目的工作结构——WBS
• 软件生命周期、项目生命 周期决定了软件的工作结构;工作结构决定了项目 范围。
• 项目范围是指交付具有规定特征和功能的产品或服务所必须完成的工作。
• WBS的用途 – 项目范围控制 – 工作任务分配 – 资源分配 – 计划制定 – 费用估算 • WBS分解原则:可执行、全覆盖、80小时原则
6、项目范围的安排:项目计划
• 项目计划的内容:任务安排、时间安排、资源安排
• 任务的先后顺序及时间需求是项目时间、资源计划的基础。
• 注意可平行执行的任务与具有先后顺序的任务。
第九章 时间管理
1、三大工作:项目活动的时间分析、项目时间的计划、项目进度的控制
2、时间管理的五个主要过程
2.1活动定义
--确定为完成各种项目可交付成果所必须进行的诸项具体活动
2.2活动顺序
--确定活动之间的依赖关系,并形成文档;
2.3活动时间估算
--估算完成单项活动所需要的工作时段数;
2.4制定进度计划
--分析活动顺序、活动历时和资源需求,编制进度 计划;
2.5进度计划控制
--控制项目进度计划的变化。
3、项目活动图
项目活动图是项目活动及其逻辑关系(依赖关系)的图解表示。
3.1箭头图 基本符号:
活动(任务),箭线表示,箭尾i表示作业开始,箭头表示作业结束。事件,用 “○”表示,“○”是两条或两条以上箭线的交结点,又称为结点。
路径,自活动始点开始,顺着箭线的方向,经过一系列连续不断的作业和事件直至网络终点的通道。
一条路线上各项作业的时间之和是该路线的总长度(路长)。
关键路径,在一个网络图中有很多条路线,其中总长度最长的路线称为“关键路线”,关键路线上的各事件为关键事件,关键时间的周期等于整个工程的总工期。
3.2前导图
•基本符号:
项目任务,由矩形节点表示。 箭头,代表任务之间的依赖关系。• 节点的描述
最早开始时间(ES) 最迟开始时间(LS) 最早结束时间(EF) 最迟结束时间(LF)。
浮动时间性是关于活动的机动性的术语,它是一个活动在不影响项目完成时间下可以延迟的时间量。
浮动时间的计算
PLOAT TIME=LS-ES=LF-EF 关键路径
是决定项目历时的一系列活动,是项目整个过程中最长的路径。浮动时间小于或等于某指定值(通常是0)的活动来确定关键路径,关健路径上的任何活动延迟,都会导致整个项目完成时间的延迟,代表可以完成项目的最短时间量。关健活动,关健路径上的任一个活动均是关健活动。
4、进度计划 4.1进度计划表 4.2进度计划图
5、资源分配
5.1资源是指人员、设备和材料
5.2 资源分配是向一个项目的活动指派资源 5.3资源表:将所需每种资源的多少量化。
5.4资源甘特图:类似于甘特图,确定一个活动所用资源的时间段。5.5 资源柱状图: 也称资源负荷图,用于表明所需资源的总数。
6、两类不同计划方法的项目:受资源约束的进度计划与受时间约束的进度计划
6.1 基于资源的方法(也称受资源约束的进度计划):将可利用的资源分 配到活动,根据所识别的资源的可利用性,允许改变网络进度计划,历时可能会延长。
6.2受时间约束的进度计划:网络进度是固定的。缺少活动所需的资源用 负的浮动时间表示,浮动时间可能会变成负值。
7、进度控制 7.1进度记载
基于网络计划的进度记载
1、各活动实际作业时间记载
2、各活动实际开始、结束日期记载
3、已完活动记载
4、绘制实际网络图
7.2计划检查
检查关键路径的情况;
• 检查其它路径的情况,查看是否有新的关键路径;
7.3计划调整 • 调整方法
– 采取组织措施或技术措施缩短关键路径上的后继作业时间; – 重新安排活动次序,调整力量,重新编制网络计划。•历时压缩:如何缩短进度计划
赶工:采取措施压缩项目总历时,在成本与进度间权衡,向关键活动增加资源,赶工经常会增加成本。
快速跟进:通常按顺序进行的活动,如设计和施工,因为要压缩项目进度,而将其重叠安排。快速跟进常常要重新返工,通常会增加风险。
赶工与快速跟进,首先均是在关键路径上进行,一旦压缩了历时,就要重新检查关健路径。历时压缩后,可能出现新的关健路径。
•资源利用:如何提高资源使用率或生产率
加班工作:增加劳动力费用,可能会降低生产率。
倒班工作:提高设备使用率。
学习曲线:重复的工作可以提高生产率。
第十讲 成本管理
1、三大工作
项目成本分析与估算、项目成本计划(财务预算)、项目成本控制
2、成本管理与范围界定
项目范围是项目成本估算的依据,项目成本估算反作用于项目范围,如根据估算结果更改项目范围。
3、项目成本估算过程 3.1估算依据
• WBS • 资源需求 • 活动工期 • 估算资料
• 历史信息 • 成本会计科目 • 已识别风险 3.2 成本估算 • 类比估算法
以过去类似活动的参数值或规模指标为基础,估算未来活动。
• 参数估算法
利用历史数据(如软件的代码行数)之间的统计关系来估算范围、成本,计划工作量ⅹ历史单位成本=活动成本
• 自下而上估算法
对工作组成部分进行估算,最后汇总得到整个工作的总投入。
• 三点估算法
•最可能的时间(Tm)、最乐观时间(To)、最悲观时间(Tp),按公式(To+4Tm+Tp)/6 3.3成本计划
•成本管理计划(财务预算)
4、财务管理工具 4.1资产负债表 4.2现金流量表 4.3利润表 4.4会计科目
5、项目融资
股权融资+债券融资= 项目融资
6、项目成本控制
6.1项目成本控制涉及对于各种能够引起项目成本变化因素的控制(事前控制),项目实施过程的成本控制(事中控制)和项目实际成本变动的控制(事后控制)三个方面。6.2控制依据: 项目成本基线;
项目的成本管理绩效报告; 项目的变更请求; 项目成本管理计划。
6.3项目成本控制的关键是项目不确定性成本的控制。项目不确定性成本控制的根本任务是识别和消除不确定性事件,从而避免不确定性成本发生。6.4项目不确定性成本的成因:
项目具体活动本身的不确定性(可发生或不发生); 活动规模及其所耗资源数量的不确定性;
项目活动所耗资源价格的不确定性(价格可高可低)。
第十一章 软件项目计划管理
1、计划阶段任务 工作分解结构-活动排序-资源工期成本估算-进度计划-风险沟通计划-项目计划
2、工作分解结构 2.1分解原则 完全穷尽,彼此独立 2.2最底层的特征
一个清晰的任务完成,一个清晰的责任人,能够估算工作量和工期,长度小于80小时
2.3 WBS与责任落实
3、活动排序 3.1 方法
按照客观规律排序、按照目标要求排序、按照轻重缓急排序、按照项目内在关系。3.2技巧
利用WBS,由低到高 3.3工期
4、前导图(PDM)资源、工期和成本估算
4.1资源类型:人员、物资、技术
4.2 考虑因素:我需要什么?什么时候需要?需要多少?由谁拍板? 4.3 估算方法:
参照第十章3.2+专家判断法
5、进度计划
5.1 进度计划:根据WBS、活动排序、工期估算和所需资源的结果进行分析,制定出项目计划。5.2 工具 甘特图法与关键路径法(参照第九章3.1)
6、风险沟通计划 6.1识别风险 头脑风暴法 6.2评估风险等级
用高、中、低评价考虑发生的可能性、对项目产生的影响。6.3制定风险响应计划 规避、转移、减轻、接受 6.4沟通计划
“四个适当”—适当时间将适当信息通过适当的渠道发送给适当的利益干系人。沟通原则:及时准确,信息量恰到好处
7、项目计划 7.1关键点:
明确项目范围、全面的风险识别、各关键干系人的识别和沟通计划 7.2常见问题: 对任务的分解不充分
风险防范意识不强和没有沟通计划 计划通常由个人制定,没有达到团队共识
第十二章 质量管理1、2、三个过程:质量计划编制-质量保证-质量控制 PDCA循环(By戴明)
计划(Plan)→实施(Do)→检查(Chick)→行动(Act)→计划(Plan)
3、质量计划编制
3.1 输入:关于质量的组织政策、特定的项目范围 说明书、产品描述、相关标准和准则。
3.2 输出:质量管理计划和为确保整个项目生命周期质量的各种检查表 3.3 IT项目中影响质量的范围部分包括
– 功能性 – 特色 – 系统输出 – 性能 – 可靠性 – 可维护性
4、质量保证
4.1 质量保证包括与满足一个项目相关的质量标准有关的所有资源与活动。4.2 工具
• 实验设计:也可以用来帮助保证和提高产品质量
• 基准比较分析法:是用于质量改进的技术,它是将具体项目时间或产品特性与那些在项目执行组织内部或外部的其他项目或产品的相应特性进行比较,从而产生质量改进的思想。
• 质量审计:是对特定质量管理活动的结构化审查,找出教训,改进现在或将来项目的执行。
5、质量控制
5.1质量控制:指监视项目的具体结果,确定其是否符合相关 的质量标准,并判断如何杜绝造成不合格结果的根源。质量控制应贯穿于项目的始终。5.2输入:接受决策、返工和过程调整。
– 接受决策:作为项目一部分而生产的产品或服务是否被接受或拒 绝。– 返工:指采取行动,是拒收事项达到和满足产品需求或规范或干 系人的其他期望。返工非常昂贵,要尽量避免。– 过程调整:是指在质量控制度量的基础上,纠正或防止进一步质 量问题的发生。
5.3 质量控制工具 5.3.1帕累托图:
5.3.2 6σ标准:
标准差在质量控制上很重要,因为它是一个决 定有缺陷个体的可接收数据的关键因素。6σ很常用。
5.3.3 测试
– 单元测试 – 综合测试 – 系统测试 – 用户验收测试
6、CMM/CMMI 6.1 CMM:软件能力成熟度模型
CMMI:综合能力成熟度模型 6.2基本原理
CMM强调连续的软件过程改进。该连续的改进基于多个演化步骤。CMM将这些演化步骤划分成五个级别。这种分级结构的理论依据是软件质量原理。每一级别都包括若干目标。当满足某一目标后,软件过程的相应部分便确定下来。五级成熟度定义了一个标准,用以度量机构的软件过程成熟度和评价其软件过程能力。
6.3基本内容
• 机构和资源的管理:涉及机构本身的责任,人员和其它资源设施。
• 软件工程过程及其管理:涉及软件工程过 程,即软件过程的深度、范围和完整性以 及如何度量、管理和改进这样的过程。
• 工具和技术:软件工程过程中使用的开发 工具和技术。
6.4CMM的五个成熟度级别
• 初始级 : 混沌
• 可重复级:有规章、经过训练的过程
• 定义级:标准化、一致的过程
• 管理级:可预测过程
• 优化级:可持续改进的过程 6.5关键实施KP • 关键过程域KPA(Key Process Areas)
一组相关联的活动;通过执行这些活动可以实现既定的过程能力。
• 关键实施KP(Key Practices)
使关键过程域得以有效实现和制度化的最大的基础设施和活动。
除第一级外,SW-CMM的每一级都是按完全相同的结构组 成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论 哪个KPA,它们的实施活动都统一按五个公共属性进行组织。
1、目标
每一个KPA都确定了一组目标,若这组目标在每一个项目都能实现,则 说明企业满足了该KPA的要求。若满足了一个级别的所有KPA要求,则表明达到了这个级别 所要求的能力。
2、实施能力
实施能力一般包括资源保证、人员培训等内容。它是企业实施KPA的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行KPA的活动。
3、执行活动
执行过程描述了执行KPA所需求的必要角色和步骤,一般包括计划、执行的任务、任务执行的跟踪等。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。
4、度量分析
描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。
5、实施验证
验证执行活动是否与建立的过程一致。实施验证涉及到管理的评审和审计以及质量保证活动
6.6 五个公共属性
第十三章 软件项目的实施、监控与收尾
1、实施、监控阶段任务 沟通--项目监控--变更管理
2、沟通 2.1组内沟通
沟通需求:职责、授权、协调、状态。
会议:项目开工会、成员进度汇报、项目进展回(及时公开恰到好处)2.2 与高层、客户沟通
谁?为什么需要信息?需要什么样的信息?何种详尽程度?频度如何?你的目标?什么样的方法? 2.3 项目沟通要点
全体成员达成共识、沟通项目计划、规则,互相尊重,主动倾听,双赢。
3、项目监控 3.1 监控要点--高风险的任务
--与项目里程碑有关的进展--使用的资源和费用--人员的表现 3.2监控的方法和工具
项目进度计划表、会议、观察检查、跟踪行动计划、定期反馈及报告
4、变更管理 4.1变更源头
委托人:新的想法和欲望 团队:冲突
优先级:市场、其他项目影响 其他:法规、环境、企业变革等
4.2变更过程
提交变更申请-申请影响分析-评审分析结果-批准-实施变更,跟踪及发布动态
5、项目收尾 5.1评估与验收
财务、时间、质量、人力资源、环境、项目计划、项目控制 5.2 项目总结 5.3文件归档
第十四讲
企业人才类型与素质结构
高级技术人才:预备程序员-初级程序员-中级程序员-高级程序员-设计员-分析员-架构师 高级管理人才:预备程序员-配置经理-SQA经理-产品经理-研发部经理
高级综合人才:预备程序员-项目组长-项目负责人-项目经理-项目总监-技术总监
第二篇:软件测试期末复习知识点总结
1.软件测试:是由“验证(verrificatione)”和“有效性确认(validation)”活动构成的整体: “验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证过程提供证据表明软件相关产品与所有生命周期活动的要求(如正确性、完整性、一致性、准确性等)相一致。相当于以软件产品设计规格说明书为标准进行软件测试的活动。
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。一切从客户出发,理解客户的需求,对软件需求定义、设计的怀疑,发现需求定义和产品设计中的问题。这主要通过各种软件评审活动来实现,包括让客户参加评审、测试活动。
软件测试过程:(1)测试组织和管理(2)测试计划(3)测试用例实际(4)测试实施(5)测试结果分析(6)测试评审与报告 软件测试方法:白盒测试方法、黑盒测试方法、静态测试与动态测试、主动测试与被动测试、形式化测试方法、基于风险的测试、模糊测试方法、ALAC测试和随机测试方法
2.单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。
静态测试就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。
动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效的测试用例,对于的输入输出关系来分析被测程序的运行情况,来发现缺陷。静态测试、动态测试的区别:1.静态测试用于预防,动态测试用于矫正;2.多次的静态测试比动态测试的效率高;3,静态测试综合测试程序代码;4.在相当短的时间里,测试的覆盖率能达到100%,而动态测试经常只能达到50%测试左右;5.动态测试比静态测试更花时间; 6.静态测试比动态测试更能发现bug;7.静态测试的执行可以在程序编码编译前,动态是中能在编译后才能执行。
3.功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。
集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试,其主要目的是检查软件单位之间的接口是否正确。集成测试包括非增量测试和增量测试两种方式,集成测试的策略主要有自顶向下和自底向上两种。
功能测试、集成测试区别:
4.回归测试:目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。程序在发现严重软件缺陷要进行修改或版本升级要新增功能,这时需要对软件进行修改,修改后的程序要进行测试,这时要检验软件所进行的修改是否正确,保证改动不会带来新的严重错误。
5.桩程序(Stub),也称桩模块:用以模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。驱动程序(Driver),也称驱动模块:用以模拟被测模块的上级模块,能够调用被测模块。在测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。
软件缺陷:软件缺陷是指计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需求。标准定义,从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件测试步骤: 即单元测试、集成测试、确认测试和系统测试。
1.开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。2.集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。3.确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。4.系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
软件测试流程:需求分析和定义、系统设计、详细功能设计、编码、单元测试、功能测试、系统测试、验收测试
软件测试涉及的关键问题:1.测试过程和开发过程是同时开始,同时结束的,两者保持同步的关系;2.测试过程是对开发过程中阶段性成果和最终产品进行验证的过程,所以两者相互依赖;3.测试过程中的工作重点和开发工作的重点可能不一样,两者有各自的特点
黑盒测试的特点:1.不基于对系统内部的设计和实现。2.用例设计基于功能的定义和需求说明书。3.关注于测试数据的选择和测试结果的分析。
测试方法有:等价类划分、边界值分析法、判定表方法、因果图法、正交实验法、功能图法、错误推测法
黑盒测试缺点:1.对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;2.对于内部实现的bug不容易发现;3.不能提供直观的测试覆盖率。
白盒测试的特点:1.需要了解系统的整体设计和实现;2.对源代码进行审查;3.在单元测试阶段发现大量的缺陷;4.关注于系统的控制流和数据流;
测试方法有:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径测试法
白盒测试缺点:1.不能确保系统是否完全符合需求说明书;2.白盒测试的代价会大于黑盒测试;3.需要源代码首先完成才能进行测试;
集成测试中自顶向下和自底向上方法
自顶向下法:从主控模块(主程序)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。具体步骤是:1.对主控模块进行测试,测试时用桩程序代替所有直接附属于主控模块的模块;2.根据选定的结合策略,每次用一个实际模块代替一个桩程序;3.在结合下一个模块的同时进行测试;4.为了保证加入模块没有引进新的错误,可能需要进行回归测试。优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。缺点:需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力
自底向上法:从“原子”模块(即在软件结构最底层的模块)开始集成以进行测试,具体策略是:1.把底层模块组合成实现某个特定的软件子功能的族;2.写一个驱动程序,协调测试数据的输入输出;3.对由模块组成的子功能族进行测试;4.去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来形成更大的子功能族。优缺点:刚好和自顶向上相反
简述增量式集成测试的自顶向下和自底向上两种测试方法:自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是
需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架
集成测试自底向上和自顶向下集成方法优缺点是什么?
自底向上集成方法尽早的对底层实用历程进行测试,可以避免编写众多的桩模块,使得系统底层的众多问题及早得到解决。缺点是在一些顶层构件非常重要的情况下,却将其放到了最后集成。
自顶向下集成方法则尽早进行了顶层控制模块的测试和集成,使得系统整体上得到验证,但却将底层实用历程的测试放到了最后。某些具有关键性能或作用的底层模块的问题将在最后才可能被发现。
简述系统测试过程的主要步骤及每个步骤的测试依据。
功能测试:测试依据是系统功能需求;
性能测试:测试依据是其他软件需求;
验收测试:测试依据是客户需求规格说明书;
安装测试:测试依据是用户环境
第三篇:软件项目管理知识点总结
第一章概述
1项目是指在一定约束条件下具有特定目标的一项一次性任务。
2.项目的特点
一次性;有确定的起点和终点
目标明确性:成果性目标,约束性目标;
整体性:开展的活动密切相关
独特性:每个项目都是唯一的不可逆转性:无论结果如何,项目结束,结果确定。
3.项目的生命周期:项目启动、项目计划、项目实施、项目结束。
4.项目管理的要素:客户满意度、工作范围、组织、时间、质量、成本
TQC:时间质量成本成功因素:TQC+范围
5软件项目管理的定义
根据PMI项目管理的定义总结:在软件项目活动中运用一系列的知识、技能、工具和技术,以满足软件需求方的整体要求。
6.项目管理特点:综合性、创造性、时间性第二章软件项目需求管理
1软件需求的抽象层次:原始问题空间(原始问题描述、用户需求);解决方案空间(系统需求、软件设计描述)
2软件需求:用户需求和系统需求:
①用户需求:从用户角度描述系统的需求,只描述系统的外部行为,并且只通过自然语言、图表、图形等叙述
②系统需求:从开发人员角度描述系统的需求,是系统实现的依据,通常采用结构化语言、PDL过程设计语言等描述。
系统需求:功能需求、非功能需求、领域需求
3、需求工程的组成:需求开发和需求管理
需求开发:需求的获取、需求分析、规格说明和需求验证
需求管理:变更管理、版本控制、需求跟踪和版本状态
4需求管理的必要性
①需求供求双方固有的矛盾
②需求具有易变性和难以表达性
③需求错误出现的高频性和修复的高昂成本
5需求管理的目标:是在客户与项目组织之间建立对客户需求的共同理解。
①使软件需求受控,并建立供软件工程和管理使用的需求基线;
②使软件计划、产品和活动与软件需求保持一致。
6、需求变更的原因
①在项目的早期所有的问题不可能完全定义;
②随着软件项目的进行,开发人员对问题的理解发生变化,这些变化反馈到需求中;
③大型系统的需求可能是冲突或是矛盾的,系统需求是它们之间的妥协,这种妥协可能发生变化;④系统购买者和最终用户很少是同一人;
7、需求变更管理过程
首先要建立变更控制委员会,分析、讨论、评审、执行。
第三章软件项目的成本管理
1软件项目的成本:为完成软件项目而支付的货币量
2软件项目的时间估算点:客户需求产品定义系统设计系统实现系统运行
3对软件规模的估计要从软件的分解开始。软件的分层结构对应工作分解结构(WBS)4软件规模的度量标准:LOC代码行和FP功能点
5成本估算方法:专家判定、类比、自顶向下、自底向上、算法模型(cocom(自底向上)、cocomoⅡ、putnam(自顶向下))
6、三层次的产品分级结构:模块、子系统、系统
7、估算的时机和精度是相互矛盾的。第四章软件配置管理
1软件项目配置管理:是识别定义系统中的配置项,在软件生命周期中控制他们的变更,记录并报告配置项和变更请求的状态,并验证他们的完整性和正确性的一个过程。2软件配置项:SCI出于配置管理的目的而为软件要素设置的单位。
3基线:开发过程的里程碑,以一个或多个软件配置项的交付为标准;基线由通过正式评审的软件配置项组成,是进一步开发的基础;基线只有通过正式的变更控制过程才能改变。4基线的两个基本功能:①对基线进行适当控制,禁止任何来源的交互②为程序员提供灵活的服务,确保他们能够比较容易地对自己的代码进行修改测试
5软件配置管理主要功能:配置标识、配置控制、配置状态报告及配置审核
6配置控制委员会:CCB 负责评审和批准对基线的变更
7软件的配置项组成:正确性、一致性、完备性、有效性、可追踪性。
8确定变更是否正确的措施:正式技术审核和软件配置审核.9配置审核的种类:过程审核、功能审核、物理审核、质量系统审核
第五章人力资源管理
1、软件项目中的人力资源管理包括:所有的项目干系人:资助者、客户、项目组成员、支持人员及供应商等。
人力资源管理就是有效地发挥每个项目干系人作用的过程。
2软件开发中人员与时间具有非线性替换关系。第六章质量管理
1软件质量六大特性:功能性、可靠性、可用性、效率、可维护性、可移植性
2、过程质量控制是主动的、系统的、先期的;
产品质量控制是被动的、个体的、后期的;两者都要重视。
3.CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级
4.CMMI的两种表示方式:连续性表示和分阶表示
5软件过程能力等级(连续性表示法):不完备级、已执行级、收管理级、已定义级、定量管理
级、持续优化级。
第七章风险管理
1.风险的定义:损失的可能性
2.风险的属性:可能性损失
3软件风险:就是有关软件项目风险、软件开发过程风险和软件产品风险。
4.风险管理过程:风险识别、风险分析、风险计划、风险跟踪、风险应对(风险最小化,机会最大化)
5.风险应对策略包括:避免、转移、缓解、接受、研究、储备以及退避。
6软件项目管理的主要风险类别:①资源风险②需求风险③项目接口风险④设计风险⑤管理风险⑥开发过程风险⑦项目集成风险。
第四篇:软件项目管理知识点总结
中原工学员信息商务学院
P1项目的特征:1.目标性2.相关性3.周期性4.独特性5.约束性6.不确定性
P2 软件项目是一种特殊的项目,他创造的唯一产品或者服务是逻辑载体,没有具体的形状和尺寸,只有逻辑的规模和运行的效果。P3 软件项目要素组成:软件开发的过程、软件开发的结果、软件开发赖以生存的资源以及软件客户。项目目标成功实现的制约因素:项目范围、成本、进度计划、客户满意度。项目管理分为:战略管理、运作管理、项目管理。
P4 项目管理定义:是指一定的主体,为了实现其目标,利用各种有效的手段,对执行中的项目周期的各阶段工作进行计划、组织、协调、指挥、控制,已取得良好经济效益的各项活动的总和。
P5 软件项目管理和其他管理相比有相当的特殊性:1.软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以保证。2.项目周期长,复杂度高,变数多。3.软件需要满足一群人的期望。
P6 软件项目管理的根本目的是为了让软件项目尤其是大型软件项目的整个软件生命周期都能在管理者的控制之下,已预定成本按期、按质的完成软件并交付用户使用。
项目管理的五要素:技术、方法、团队建设、信息、沟通。P7 软件项目管理的四大变量:范围、质量、成本、交期。
P24 投标文件有两种:1.建议书(乙方根据甲方提出的产品的性质、目标、功能等,提交的完整的技术方案和报价)2.报价单(乙方根据甲方提出的产品的特定型号、标准、数量等要求提交必要的报价材料等)P26 项目经理的职责:1.开发计划2.组织实施3.项目控制
项目经理的权利:1.制定项目有关决策2.挑选项目成员的权利3.对项目获得的资源进行再分配。(其中 职责>权利)P27 生存期模型:V模型、瀑布模型、原型模型、增量模型、螺旋模型,渐进式阶段模型等。
瀑布模型优点:适用于项目简单,规模小,要求项目所有的活动都严格按照顺序执行,一个阶段的输出时下一阶段的输入。V模型:强调测试的重要性,它将开发活动与测试活动紧密地联系在一起。(及时发现错误)原型模型:设计符合客户需求的页面,达成共识再编程。
增量模型:可以避免一次投资太多带来的风险,将主要的功能或风险大的功能首先实现,然后逐步完善。(适用于开始时,明确了大部分的需求,但是需求可能会发生变化的项目)
螺旋式模型:是针对风险比较大的项目设计的模型,应对变化的灵活性上很有优势。
P44 软件需求:指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的性能。P45 软件需求包括三个层次:1.业务需求2.用户需求3.功能需求
P47 进行需求获取的时候应该注意什么问题:1.识别真正的客户2.正确理解客户的需求3.具备较强的忍耐力和清晰的思维4.说服和教育客户5.需求获取阶段建立分析小组,进行交流,相互学习。
P48 需求分析完成的标志是提交一份完整的软件需求规格说明书。P53 需求管理主要的工作如下:(自己看)
P53 项目管理的第一法则是:“做正确的事,其次是正确的做事。” P54 解决复杂问题不二法门:化繁为简,分而治之。
P57 任务分解的方法:类比、自顶向下(采用演绎推理法,从一般到特殊的方向进行)、自底向上(采用发挥创造力的解决问题的方法,从特殊到一般的方向进行)等。
P59 如果对项目人员来说,这个项目是一个崭新的项目,采用自底向上的方法。
P67 项目进度计划的主要过程:首先根据任务分解的结果(WBS)再进一步分解出主要的任务,确立任务之间的关联关系,然后估算出每个任务需要的资源、历时,最后编制出项目的进度计划。
P66 任务关联关系:开始->结束;开始->开始;结束->结束;结束->开始。
任务关联关系的依据:1.强制性依赖关系(因为客观规律和物质条件的限制造成的)2.软逻辑关系(是认为主观的,自己的偏好进行的)3.外部依赖关系(是项目活动与非项目活动之间的依赖关系,例如:环境测试依赖于外部提供的环境设备)
P67 进度管理图示1.甘特图2.网络图(PDM(优先图或节点法)ADM箭线法 CDM(条件箭线图,很少用))3.里程碑图4.资源图
P80 资源平衡方法是通过调整任务的时间来协调资源的冲突,这个方法的主要目的是形成平稳连续的资源需求,最有效的利用资源,使资源闲置时间最小化,同时,尽量避免超出资源能力。
P97 自下而上估算法是利用任务分解图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。
计科122班
P98 参数模型估算法的进本思想是:找到软件工作量的各种成本影响因子,并判定它对工作量所产生影响的程度是可加的、乘数的还是指数的,以期望得到最佳的模型算法表达式。当某个因子只影响系统的局部时,我们一般说它是可加的;当某个因子对整个系统具有全局性的影响时,我们则说它是乘数的或指数的。
P112 国际ISO定义:质量是产品或者服务满足明确和隐含需要能力的性能特性的总体。P112 一个项目的主要内容是成本、进度、质量。
P116 质量控制是确定项目结果与质量标准是否相符,同时确定消除不符的原因和方法,控制产品的质量,及时纠正缺陷的过程。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据;软件质量控制主要就是发现和消除软件产品的缺陷。
P117 质量成本包括预防成本和缺项成本。(其中,预防成本>缺陷成本)预防成本是为确保项目质量而进行预防工作所耗费的费用。缺陷成本是为确保项目质量而修复缺项工作所耗费的费用。
P127 团队成员包括:企业内部的人、供应商、承包商、客户等。
项目管理中的组织结构可以总结为三种类型:职能型、项目型、矩阵型。矩阵型沟通最复杂,项目型在项目收尾时,团队成员和项目经理压力比较大。
P135 沟通管理的基本原则是:及时性、准确性、完整性、可理解性。
P141 风险定义:软件风险是指软件开发过程中及软件产品自身可能造成的伤害或者损失。
P142 风险的类型:商业风险、管理风险、人员风险、技术风险、开发环境风险、客户风险、过程风险、产品规模风险等。P143 风险的基本性质:客观性、不确定性、不利性、可变性、相对性、风险和利益相对性。
P145 风险识别是试图系统化地确定对项目计划的威胁,识别已知和可预测的风险,只有识别出这些风险,项目管理者才有可能避免这些风险,且当必要时控制这些风险。
风险识别的方法:德尔菲方法、头脑风暴法、情景分析法、风险条目检查表。
P152 定性风险评估:只要是针对风险概率及后果进行定性的评价。(历史资料法、概率分布法、风险后果估计法)
P153 定量风险分析:是在定性分析的了逻辑基础上,给出各个风险源的风险量化指标及其发生概率,再通一定的方法合成,得到系统风险的量化值。(访谈、盈亏平衡分析法、敏感性分析、决策树分析、模拟法等)
P156 风险应对计划:回避风险(是通过分析找出发生风险事件的原因,对可能发生的风险尽可能的规避,采取主动放弃或拒绝使用导致风险的方案)、转移风险、损失控制(损失预防、损失抑制、)、自留风险、风险规划的结果。P161 风险管理过程包括:风险识别、风险评估、风险规划、风险控制等。
P166 软件外包:其实质是软件开发过程从企业内部部分或全部延伸到外部的管理规范与管理技术。
P173 基线是一个或者多个配置项的集合,他们的内容和状态已经通过技术的复审,并在生存期的某一阶段被接受了。基线配置项可能包括所有的设计文档和源程序等;非基线配置项可能包括项目的各类计划和报告等。
P180 配置审计的只要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。P185 配置管理包括三个只要的要素:人、规范、工具。
P194 项目集成计划定义是指,通过使用其他专项计划过程所生成的结果(项目的各种专项计划),运用整体和综合平衡的方法制定出的,用于指导项目实施和管理的整体性、综合性、全局性、协调统一的整体计划文件。
集成计划的编写过程:1.项目信息收集2.确定项目计划初步方案3.项目计划的综合平衡4.项目计划最终方案编制5.软件项目计划评审、批准。P207 变更控制的目的就是为了防止配置项被随意修改而导致混乱。
P214 挣值分析也称以获取价值分析,是对项目实施的进度、成本状态进行绩效评估的有效方法,是计算实际花在一个项目上的工作量,以及预预 P223 代码走查是在代码编写阶段,开发人员检查自己代码的过程,代码走查是非常有效的方法,它可以检查到其他测试方法无法检测的错误,好多的逻辑错误是无法通过测试手段发现的,很多的项目证明这是一个很好地质量控制方法。P226 质量度量方法:1.尺度度量(定量度量,直接度量)2.二元度量(定性度量,间接度量)P230 项目成员的激励:薪酬激励、机会激励、环境激励、情感激励 P233 团队的建设包括:组建阶段、磨合阶段、规范阶段、执行阶段。
P235 团队管理过程中已改主意的方面:1.创建有实际存在感的项目团队2.建立奖励机制3.确立良好人际关系4.设置工作授权系统 P236 按照评审的时间属性,可以将项目评审分为:定期评审、阶段评审、事件评审等。
P260 项目管理的经验和建议1.平衡关系2.高效原则3.分解原则4.实时控制原则5.分类管理原则6.简单有效原则7.规模管理原则
第五篇:《软件系统分析与设计》期末复习知识点总结
一、方法论模型。
1、BOOCH、OMT、OOSE、Coad-Yourdon(前三者组成UML)
2、UML包括9种图,分别为用例图、静态图(包图、类图、对象图)、实现图(构件图、部署图)、行为图(活动图、状态图、交互图(顺序图、协作图))基本规范,泛化关联,包含关联,扩展关联
3、基本模型——类图、需求模型——用例图、辅助模型——其他各种图
4、两大工具:Rose、PowerDesigner
5、方法三要素:模型、工具和过程
6、结构化分析三视图模型E-R、DFD、STD
7、OMT方法的三大模型:对象模型、功能模型、动态模型
8、Coad/Yourdon方法的五大层次:对象-类、结构、主题、属性、服务
二、基本建模(类图与对象图)
1、类之间的关系:关联关系、依赖关系、泛化关系。
2、抽象类与接口:抽象类有些方法可以提供实现代码,接口所有的方法都没有提供实现代码。抽象类只能被继承,接口只能被实现。
3、类的版型:实体类(数据库、文件等)、边界类(如窗体、对话框)、控制类(协调交互)
三、需求建模(用例图)
1、参与者指系统以外的、需要使用系统或与系统交互的外部实体。可以分为:人、外部设备、外部系统。
2、参与者之间的关系:泛化关系,参与者与用例之间的关系:关联关系。用例之间的关系:泛化关系,包含关系,扩展关系。包含关系和扩展关系都是依赖关系的特例。
3、用例是对一个参与者使用系统的一项功能时所进行的交互过程的一个文字描述序列。是参与者可以感受到的系统服务或功能单元。
4、用例描述是一个关于参与者与系统如何交互的规范说明(包含用例用例名称、用例描述、基本事件流、参与者、前置后置条件等)
5、用例的进一步描述:活动图、顺序图(通信图)
四、行为建模(状态图与活动图)
1、行为模型包括:状态模型(状态图,单对象)、活动模型(活动图,多对象)、交互模型(顺序图,多对象)。
2、调用事件表示的是对操作的调用,变化事件一个布尔表达式变量的值发生变化。时间事件满足某一时间表达式的情况的出现。信号事件就是由一个对象异步地发送、并由另一个对象(即状态图所对应的对象)接收的已命名的实体。调用事件状态图内对象和外部对象都能发起,信号事件只能由外部发起。
3、对象处于不同的状态,导致后续要执行不同的操作。这些操作可能归属于不同的用例。一个用例的执行对应一个顺序图。顺序图刻画了多个对象之间的消息发送关系。需要多个用例的顺序图,来融合地描述一个对象的完整状态图。
4、活动表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。
5、分叉表示的是一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的。汇合正好与分叉相反,表示两个或多个控制流被一个控制流代替。
6、泳道(swimlane)是活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每个泳道代表一个责任区。关心的是其所代表的职责。
7、活动图用途:对业务过程进行建模。对某个方法具体过程建模。
8、状态与活动的区别:状态是一个对象所处的境况。通常是执行了一个(或多个)活动后的结局。活动是一段程序代码的执行,对应于若干个步骤的集成。不同的状态会导致不同的功能(对应于若干个活动)的执行。一个方法可能需要多个(也可以是一个)活动来完成。一个活动只能属于一个方法。一个用例对应于若干个活动。
五、交互建模(顺序图和协作图)
1、静态结构使用类图,动态结构使用顺序图、协作图、状态图、活动图。
2、对象:同类图中的对象,是类的实例
生命线:从对象图标向下延伸的一条虚线,表示对象存在的生命期 控制焦点(激活期):对象执行一个动作的时间段 消息:对象间的一次通信
调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。调用消息可以用来表示同步的意义。
3、顺序图一般对应一个用例。一个类中的职责对应该对象执行一个动作。
4、对象:同类图中的对象,是类的实例 ;链:对象之间的连接关系;消息:对象间的一次通信;对象生命周期:对象名称之后标以{new}约束表示创建对象,标以{destroy}约束表示销毁对象
5、协作图的建模同顺序图的建模,或者:可以从顺序图直接变换过来,或者:根据类图,画出对应的对象图。在链上附着消息。
6、顺序图和协作图的联系:都用于描述系统中对象之间的交互协作完成一项功能,彼此可以相互转换。区别:顺序图强调的是消息的时间顺序;协作图强调的是对象的空间位置关系。顺序图中有对象生命线和控制焦点;协作图中有路径,消息必须要有消息顺序号。顺序图可以表示生命线的分叉;协作图可以表示多对象、主动对象。