北邮软件工程课件第12章 控制
软件工程第12讲

客户
修理行为
形态:系统必须的,意味 形态:可选的,意味着 着一个修理行为必须有一 存在不需要修理的情况 个客户。
CHAPTER 12 ANALYSIS MODELING
12.3.3 实体-关系图(ERD)
ERD最初是由Peter Chen为关系数据库 系统的设计提出的,并被其他人进行了 扩展,目的是表示数据对象和关系。
软件工程
电子教案 王树林
CHAPTER 12 ANALYSIS MODELING
结构化分析是一种建立模型的活动。 12.1 简史
1960 分析建摸 12.2 分析模型的元素
分析模型必须达到三个主要目标: (1) 描述客户的需要;(2)建立创建软件 设计的基础;(3)定义在软件完成后 可以被确认的一组需求。
U 信息流精化
CHAPTER 12 ANALYSIS MODELING
当信息在软件中移动时,它会被一系列变 换所修改。可以用来抽象地表示系统或 软件。DFD既提供了功能建摸机制,也 提供了信息流建摸机制。
12.4.2 针对实时系统的扩展
CHAPTER 12 ANALYSIS MODELING
半连续 数据流 控制加工
CHAPTER 12 ANALYSIS MODELING
数据对象可能是一个外部实体(生产或消费信 息的任何事物)、一个事物(报告或显示)、 一次行为(一个电话呼叫),或事件(一个 警报)、一个角色(销售人员),一个组织 单元(某个统计部门)、一个地点(如仓 库),或一个结构(如文件)。
数据对象是相互关联的。 数据对象只封装了数据。
操作命令和 数据
复印 读操作输入 信息
重新加载 需求
重加载纸
管理 复印
显示 复印 状态 向用户显
第12章软件工程课件

第12章 软件工程项目管理基础 项目负责人还应当集中注意力理解待解决的问题;管理新 想法、新思路的交流;通过语言和行为在整个项目组中贯彻质 量至上的意识。一个有效的软件项目负责人应当能够准确地诊 断出技术的和管理的问题,把以往的成功经验应用到新环境下; 策划系统的解决方案并激励开发人员实现方案。如果最初的方 案遭遇挫折,项目负责人应当灵活地改进方案。
3
2
3
协调技术的协协
图12.1 协调和通信技术的价值及使用
第12章 软件工程项目管理基础
12.3 问 题 管 理
所谓问题,包括需求问题和工程过程问题两重含义。 问题管理要解决两个问题:问题界定与问题的分解划分。 和用户的深入交流是本项工作得以完成的保障。也可以认为问 题管理的实质就是初始需求管理,包括获取需求和精化需求两 项内容。 问题界定要明确就当前认识层次而言,确定的软件范围是 什么。据此可以制定初步的开发计划;问题的分解进一步评估 和精化软件功能,为量化估算提供基础。软件范围的确定可以 从三个层面上来描述。
第12章 软件工程项目管理基础 (2) 正式的、个人间的通信交流,如状态复审会议、产品 互查等等。 (3) 非正式的、个人间的交流,例如个人间针对特定问题 的讨论等。 (4) 电子通信:包括电子邮件、网络会议等通信方式。 对于由N个成员组成的小组来说,通信的路径有N×(N-1) 条。随着N值的增加,通信与协调工作的复杂性急剧增加。所以, 软件工程的基本原则中,要求建立“少而精”的开发小组。同 样,因为通信协调工作的复杂性,在项目开发的后期靠增加开 发人员来赶进度并不是明智之举。
第12章 软件工程项目管理基础 项目负责人必须掌管整个项目,在必要时对项目进程进行 调控,必须保证优秀的技术人员能够最充分地发挥技术特长, 奖励有主动性和做出成绩的人员,并鼓励在项目约束范围内进 行创新。项目负责人应当具有较强的语言交流能力,以期充分 理解下属的意见并与之交流。 良好的心态对于一个优秀的项目负责人来说是不可或缺的。 当项目出现困难时,项目负责人必须能够承受较大的压力,保 持对项目的控制能力。
软件工程基础第12章PPT课件

▪软件质量的特性:
➢功能性
➢可靠性
➢易使用性
➢效率
17
第17页/共21页
12.6.2 软件质量保证措施
• 软件质量保证是软件工程管理的重要内容。
包括以下措施: ❖应用好的技术方法 ❖测试软件 ❖进行正式的技术评审 ❖标准的实施 ❖ ❖程序正确性证明Байду номын сангаас❖记录、保存和报告软件过程信息
18
第18页/共21页
• 1. 计算最早时刻
• 2. 计算最迟时刻
• 3. 关键路径
12
• 4. 机动时间
第12页/共21页
对图12.1所示的工程中各项任务的进度安排, 可用Gantt图画出:
13
第13页/共21页
1. 开发人员12.4 人员组织 2. 组织机构 • 按课题划分的模式(Project Format) • 按职能划分的模式(Functional Format) • 矩阵形模式(Matrix Format) • 程序设计小组的组织形式有3种:
数为 3。
10
第10页/共21页
12.3 进度计划 12.3.1 Gantt 图
11
第11页/共21页
12.3.2 工程网络技术
• 工程网络技术又 称 PERT(Program Evaluation and Review Te c h n i q u e ) 技 术 , 利用PERT图制定 进度计划。
12.7 软件工程标准与软件文档
12.7.1 软件工程标准
• 1. • 2.软件工程标准的分类 ➢FIPS 135是美国国家标准局发布的《软件文档管理指南》 ➢NSAC-39是美国核子安全分析中心发布的《安全参数显示系统
北邮软件项目管理PPT

承上启下¾项目、项目的特征¾项目管理知识体系¾软件项目管理过程1项目初始项目结束项目执行控制项目计划项目初始软件开发项目管理第一篇第 1 章软件项目初始2本章要点一、项目立项二、合同项目三、项目授权四、项目生存期五、案例分析34软件项目立项启动顾客顾客需求满意产品输入输出产品实现甲方项目立项明确项目的目标、时间表、项目使用的资源和经费,而且得到执行该项目的项目经理和项目发起人的认可56Make or Buy 决策Make-or-Buy 决策,确定待开发产品的哪些部分应当“采购”、“外包开发”或者“自主研发”。
7¾如果选择自己开发软件的策略,公司需要花费¥25,000,根据历史信息,维护这个软件每个月需要的费用是¥2,500。
¾如果选择购买软件公司产品的策略,需要¥17,000,同时软件公司为每个安装的软件进行维护的费用是每月¥2,700。
8自制方案购买方案成本差异自制需要25,000美元购买需要17,000美元制造差异是8,000美元每月的费用2,500美元每月的费用2,700美元服务差异200美元解决方案自制方案可以承受的月份数:8000/200=40如果软件的生存期在40个月以内,可以选择购买方案如果软件的生存期不在40个月以内,可以选择自制方案.9Make or Buy决策10软件项目启动顾客顾客需求满意产品输入输出产品实现甲方乙方11项目立项¾内部项目¾合同项目本章要点一、项目立项二、合同项目三、项目授权四、项目生存期五、案例分析1213合同项目Sales Service DeliveryPM Contract NegotiationProposalQA/Legal GAPKick off技术合同概念技术合同是法人之间、法人和公民之间、公民之间以技术开发、技术转让、技术咨询和技术服务为内容,明确相互权利义务关系所达成的协议14合同的生存期合同准备合同签署合同管理合同终止15甲方合同初始1.合同准备2.合同签署3.合同管理4.合同结束161、合同准备招标书定义(采购需求定义)供方选择合同文本准备171.1、招标书定义需求定义商务条件确定验收标准确定资料汇集采购需求认可编写招标文件需方申请招标文件附件:SOW:Statement Of Work18招标书示例n第1章投标邀请n第2章投标人须知前附表n第3章投标人须知n 1. 说明n 2. 招标文件n 3. 招标文件的编制n 4. 投标文件的密封和递交n 5. 开标与评标n 6. 授予合同n第4章合同专用条款n第5章合同通用条款n第6章合同格式n第7章XXXX软件系统规划设计要求与目标招标书示例(续)n第8章附件(投标文件格式)n 1. 投标书格式n 2. 开标一览表格式n 3. 投标分项报价表格式n 4. 技术规格偏离表格式n 5. 商务条款偏离表格式n 6. 投标保证金保函格式n7. 法定代表人授权书格式n8. 资格证明文件格式n9. 履约保证金保函格式n10. 投标人情况表格式n11. 投标人财务状况表格式n12. 投标人XXXX/XXXX年的财务报表n13. 投标人专业技术人员一览表格式n14. 投标人近二年已完成的与招标内容相同或相似的项目一览表格式n15. 投标人正在承担的与招标内容相同或相似的项目一览表格式n16. 投标人资产目前处于抵押、担保状况格式n17. 投标人近三年结束正在履行的合同引起仲裁或诉讼的格式n第9章评标标准1.2、供方选择招标收集供方的建议书评定供方最终供方确定招标文件最终供方名单建议书21221.3、合同文本准备合同草案制定合同草案评审合同草案修订合同草案确认采购资料合同草案2、合同签署谈判日程确定合同草案提交合同条款协商合同签署文本确定合同签署文本审阅合同签署合同草案合同签署文本任务书下达任务书任务书任务书Project charter23乙方合同初始1.合同准备2.合同签署3.合同管理4.合同结束241、合同准备项目分析竞标合同文本准备25261.1、项目分析需求管理者确定需求分析需求分析评审项目规模估算项目初步实施规划初步实施规划评审需求分析报告项目分析任务书招标书项目初步计划项目风险分析1.2、竞标技术能力要求确定人力资源要求确定实现环境要求确定企业能力判定评估结果评审能力评估结果需求分析报告项目计划需求成熟度评估用户支持保证评估用户资金保证评估项目决策编写项目建议书项目建议书可行性分析参加竞标资金、管理要求确定27281.3、合同文本准备合同草案制定合同草案评审合同草案修订合同草案确认采购资料合同草案2、合同签署谈判日程确定合同草案提交合同条款协商合同签署文本确定合同签署文本审阅合同签署合同草案合同签署文本任务书下达任务书任务书任务书Project charter29内部项目企业内部项目实施的核心是确定任务范围和相关各方进行有效地配合在内部项目实施中,仅仅在合同签署过程中定义了一个协议签署过程其它方面可参考甲乙方的过程30本章要点一、项目立项二、合同项目三、项目授权四、项目生存期五、案例分析3132项目章程(Project Charter )确认项目存在的文件,包括对项目的确认、对项目经理的授权和项目目标的概述等 包括要素¾项目的正式名称¾项目发起人及联系方式¾项目经理级联系方式¾项目目标¾关于项目的业务情况(项目的开展情况)¾项目的最高目标和可交付成果¾团队开展工作的一般性描述¾开展工作的基本时间安排(详细的时间安排在项目计划中列举)¾项目资源、预算、成员以及供应商项目章程实例项目经理的角色1.项目组织的领导者2.项目组织的管理者3.项目组织的决策者4.项目组织的分析者5.项目组织的计划者6.项目组织的控制者7.项目组织的组织者8.项目组织的评价者9.项目组织的协调者33项目经理的责任1.开发计划2.组织实施3.项目控制34项目经理的权利9制定决策9挑选成员9分配资源35项目经理的能力9沟通能力9协调能力9项目控制能力9资源管理与控制能力9服务意识与能力9个人人格魅力等9基本的计算机及网络的应用能力9对IT新技术的接受能力9较强的自我更新能力等36本章要点一、项目立项二、合同项目三、项目授权四、项目生存期五、案例分析3738生存期模型选择Product realization Input OutputProductCustomer Requirements CustomerSatisfaction软件生存期模型软件开发的一种框架说明了软件的活动和进行软件开发的过程这个模型可以是以活动为中心,可以以产品为中心的39软件生存期模型特征描述了开发的主要阶段定义了每一个阶段要完成的主要过程和活动规范了每一个阶段的输入和输出提供了一个框架,可以将必要的活动映射到该框架中40常用生存期模型瀑布模型WaterfallV模型V-shaped原型模型Prototyping增量式模型Incremental螺旋式模型Spiral快速应用开发RAD渐近式阶段模型41WaterFall model需求分析设计实施测试维护42WaterFall model适合的项目在项目开始前,项目的需求很明确在项目开始前,解决方案也很明确类似的项目如:公司的财务系统库存管理系统短期项目4344V模型接收测试系统测试项目规化需求分析总体设计详细设计编码和调试集成测试单元测试V模型适合的项目在项目开始前,项目的需求很明确在项目开始前,解决方案也很明确对系统的性能安全很严格的项目类似的项目如:航天飞机等公司的财务系统4546PrototypePrototype 模型适合的项目在项目开始前,项目的需求不明确需要减少项目需求的不确定性类似的项目如:确定显示界面第一次开发的产品,验证可行性4748Incremental Model 核心功能核心功能第一增量第二增量第三增量核心功能112123……增量模型适合的项目项目开始,明确了需求的大部分,但是需求可能会发生变化对于市场和用户把握不是很准,需要逐步了解对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的49。
软件工程12讲义

软件工程
2.2.8 持久保存对象
保存数据: 为实现在不同程序之间传递数据。 为恢复被中断了的程序的运行。
面向对象语言的保存数据方法: 不提供直接存储对象的机制。 把当前的执行状态完整地保存在磁盘上。 提供访问磁盘对象的输入输出操作。
软件工程
2.2.9 参数化类
定义: 使用一个或多个类型去参数化类的机制。
作用: 程序员可以先定义一个参数化的类模板, 然后把数据类型作为参数传递进来,从而把 这个类模板应用在不同的应用程序中,或用 在同一应用程序的不同部分。
软件工程
2.2.10 开发环境
基本的软件工具:
编辑程序 编译程序或解释程序 浏览工具 调试器
2.2.1 支持类与对象概念的机制
面向对象语言允许用户动态创建对象
这就意味着系统必须处理内存管理问题。
管理内存的方法:
由语言的运行机制自动管理。
▪ 方便安全,但必须采用先进的垃圾收集算法才能 减少开销。
由程序员编写释放内存的代码。
▪ 某些面向对象的语言允许程序员定义析构函数, 每当一个对象超出范围或被显式删除时,就自动 调用析构函数。
软件工程
2.3 选择面向对象语言需要考虑到因素
将来能否占主导地位
决定选用哪种编程语言的往往是成本之类 的经济因素。
可重用性
采用面向对象方法开发软件的基本目的和 主要优点。
类库和开发环境
语言、开发环境和类库3个因素合起来, 共同决定了可重用性。
其他因素
软件工程
目录
1.面向对象实现概述 2.程序设计语言 3.程序设计风格 4.测试策略 5.设计测试用例
软件工程第12章

最后,将软件、硬件等要素构成一个完整的基于计算 机的系统,再进行系统测试,使系统测试与系统定义 相对应,即在系统定义阶段就应制定系统测试计划。
④逻辑错误。如多分支、判断条件不正确等。
按照错误的性质和范围进行分类
4.数据错误 ①动态数据错误。
②静态数据错误。静态数据指直接或间接地出现 在程序或数据库中的数据,其内容和格式都是 固定的。因此在内容或格式上都可能存在错误。
③数据内容错误。是指由于内容被破坏或被错误 地解释而造成的错误。
④数据结构错误。包括数据结构说明错误和数据 结构使用错误。
⑥用穷举测试是不现实的,一般通过设计测试用 例,充分覆盖所有条件或所有语句即可。
⑦长期妥善保存测试计划、测试用例、出错统计 和有关的分析报告。
12.1.2 软件测试的步骤
部件 代码 部件 代码
部件 代码
单元测试 单元测试
…
单元测试
设计 规格说明
系统 功能需求
其他 软件需求
用户需求 规格说明
用户 环境
(x>1) AND (y=0) Fc
(x=2) OR (z>1) Fe 结束
T b 语句段1 T d 语句段2
3)条件覆盖
条件覆盖是指设计足够的测试用例,使每个判定表 达式中的每个条件的每种可能值都至少出现一次。
如图,共有4个条件:x > 1,y = 0,x = 2,z > 1。
条件覆盖要求设计测试用例,覆盖第一个判定表达
x=2,y=0,z=3
软件工程-第12章第4节-2图文模板

12.4.2 对象图
12.4.2 对象图
1. 作用 对象图是类图的一种变形,它是类图的一种实例 化。一张对象图表示的是与其对应的类图的一个 具体实例,即系统在某一时期或某个特定时刻可 能存在的具体对象实例以及它们相互之间的具体 关系。 对象图并不像类图那样具有重要地位,但是可以 通过具体实例分析,更具体直观地了解复杂系统
12.4.3 包图
2. 包 包是一种将类分组成更高层次的单位。包也是一个高 内聚、低耦合的类的集合。包的图符是一个矩形框的 左上角带有一个小的矩形框,如图12.9(a)所示。在小 矩形框内标注包的名字,在大矩形框内标注包的内容。 若不关心包的内容和细节,只关心包的整体,则把包 的名字标注在大矩形框内。包的内容可以是类的列表、 类图或者是另一个包图。包的构造型有系统和子系统
12.4.3 包图
3. 关系 包与包之间的关系有依赖关系和泛化关系。 1) 依赖关系 如果两个包中的任意两个类之间存在依赖关系, 则这两个包之间就存在依赖关系。包之间的依赖 关系用虚线箭头来表示。例如,有A、B两个包, 若B包中的类依赖于A包中的类,则B包依赖于A包, 虚线箭头由B包指向A包,如图12.9(b)所示。
12.4.2 对象图
2. 对象 对象的图符表示为两个区域的矩形框,上面区域中标 注对象名,下面区域中标注对象的属性。对象名有3种 标注方式: 对象名:类名。可完整地标注一个对象。 对象名。可简单地标注一个特定对象。 :类名。可标注该类泛指的一个对象。 标注的对象名均要加下划线。对象的图符表示如图
12.4.2 对象图
3. 链
链是指对象之间的关联。如同对象是类的实例一样,
链是类之间关联的实例。链的图形表示与关联相似,
对象名用:类两名个对象对象之名 间的一:类条名连线来表示对象。1 链的链图名符表对示象2 属性值
北京邮电大学管理学课件-控制与控制过程

充分考虑原先计划实施的影响
注意消除人们对纠偏措施的疑虑
乐考无忧,考研我有!
13
控制活动
控制过程 有效控制
适时控制 适度控制 客观控制 弹性控制
有效控制
• 有效控制的特征:
弹性 控制 有效 控制 适度 控制 客观 控制
适时 控制
思考题
思考题
乐考无忧,考研我有!
17
控制活动
控制过程 有效控制
适时控制 适度控制 客观控制 弹性控制
弹性控制
• 有效的控制系统应在遇到突发的、无力抗 拒的变化情况下仍能发挥作用,维持企业 的运营 • 弹性控制通常与控制的标准有关
思考题
• 一般地说,弹性控制要求企业制定弹性的 计划和弹性的衡量标准
控制过程
有效控制 思考题
2. 为了控制耦合系统的运行,必须确定系统 的控制标准Z(控制标准Z的值是不断变化 的某个参数集的函数,即Z=f(S)) 3. 通过对系统的调节来纠正系统输出与标准 值Z之间的偏差,从而实现对系统的控制
乐考无忧,考研我有!
3
控制活动
控制的必要性 控制的基本原理 控制类型
第十四章
第一节 第二节 第三节
控制与控制过程
控制活动 控制过程 有效控制
乐考无忧,考研我有!
控制活动
控制的必要性 控制的基本原理 控制类型
控制的必要性
• “尽管计划可以制定出来,组织结构可以 调整得非常有效,员工的积极性也可以调 动起来,但是这仍然不能保证所有的行动 按计划执行,不能保证管理者追求的目标 一定能达到”
19
控制活动
控制的必要性 控制的基本原理 控制类型
控制类型
(3)自适应控制:没有明确的先行量,控 制标准Z是过去时刻已达状态Kt的函数 (4)最佳控制:标准Z值由某一目标函数 的最大值或最小值构成,这种函数通常含 有输入量X,传递因子S和K及各种附加参 数C,即:
软件工程--控制

2015/10/9
13.1.2 风险识别
风险识别包括确定风险的来源、风险产生
的条件,描述风险特征和确定哪些风险事件 有可能影响整个项目。 风险识别分为三步进行:
收集资料
估计项目风险形势
将潜在的风险识别出来
2015/10/9
13.1.2 风险识别
风险识别的方法:
文件审查:
对项目计划、假设、先前的项目文档 和其他信息等项目文件进行系统和结构性的审查。 信息收集技术: 包括德尔菲法(匿名反馈的函询 法)、头脑风暴法、访谈法、SWOT(优势、弱点、 机会与威胁)分析法。 检查表:用来记录和整理数据的常用工具。 假设分析:根据一套假定、设想或假设进行构思 与制定。 图解技术:因果图、系统或过程流程图等。
2015/10/9
13.1.1 风险与项目风险
项目风险:
项目风险是指由于项目所处环境和条件 的不确定性,项目的最终结果与项目利害关 系人的期望产生背离,并给项目干系人带来 损失的可能性。 项目风险涉及到对以下问题的理解:项 目中可能发生的潜在问题,以它们如何妨碍 项目的成功。
2015/10/9
13.1.1 风险与项目风险
13.1.2风险识别
风险识别就是采用系统化的方法,识别出
项目中已知的和可预测到的风险。 对项目进行风险管理,首先必须对存在的 风险进行识别,以明确对项目构成威胁的 因素,便于制定规避风险和降低风险的计 划和策略。 风险识别是一项反复的过程,项目团队应 该参与该过程,以便形成针对风险的应对 措施,并保持一种责任感。
2015/10/9
13.1.4 处理风险的策略
1. 风险缓解
如果软件项目组采用主动的策略来处理风险, 则避免风险总是最好的策略。这可以通过建立风险 缓解计划来达到。
第十二章 软件项目执行控制

chapter__12
27
进度控制的建议
进度有张有弛,不做过分要求 注意关键路径,尤其存在多条关键路径的时候 确保检查点的定义是明确的
chapter__12
28
跟踪实际成本
计算任务的实际成本 每天更新实际成本 查看任务成本是否与预算相符
chapter__12
29
跟踪项目资源状况
本规则可以克服对工作的进展情况主观的估计 问题,以及自下而上详细估算工作量太大的缺 点
最常用的规则 前提是任务分解的足够详细
例如:软件工作包《1周
chapter__12
48
挣值(已获取价值)实例
任务A:$100 任务B:$100
计划 实际
今天
开始 $50
结束 $50
共计 $100
$50
软件开发项目管理
北京邮电大学软件学院 韩万江
chapter__12
0
承上启下
项
项 目
项 目
目 执
项 目
初 始
计 划
行 控
结 束
制
chapter__12
1
软件开发项目管理计划小结
合同 需求
核心计划
活动 排序
活动
活动历 时估计
WBS
成本估 计
编制 计划
成本预 算
辅助计划
质量管理计划 配置管理计划 风险管理计划 人力/沟通计划 合同计划
chapter__12
58
性能分析实例
任务A:$100 任务B:$100
计划 实际
今天
开始 $50
$50
结束 $50
共计 $100
$50
$100
软件工程(第二版)-电子教案 第12章软件工程项目管理

软件项目管理
常见管理技术及工具简介 软件过程成熟度模型 利用CMM对软件机构进行成熟度评估 项目管理认证体系IPMP和PMP
软件工程项目管理
通过软件项目管理,可以保证在给定资源与环境下, 有效地组织人力、物力、财力,在预期的时间内,完成 预定软件项目。 项目管理的内容包括项目计划管理、质量管理、人 员组织管理、文档管理、成本控制和配置管理。由于软 件的易变动性,软件配置的管理成为软件项目管理的重 点内容。 软件项目管理开始于任何技术活动之前,贯穿于软 件的整个生命周期之中。
(1)配置标识与版本控制
(2)变更控制 (3)软件配置审核 (4)向有关人员报告变更
常见管理技术及工具简介
常见工具简介 1、 Microsoft Visual SourceSafe 6.0(VSS) Microsoft Visual SourceSafe 6.0是由微软开发和 维护的源代码版本控制软件。Visual SourceSafe 是一种 源代码控制系统,它提供了完善的版本和配置管理功能, 以及安全保护和跟踪检查功能。 2、 Concurrent Version System (并发版本管理系统) Concurrent Version System (并行版本系统),简 称CVS,用于版本管理。它是一个C/S系统,多个开发人员 通过一个中心版本控制系统来记录文件版本,从而达到保 证文件同步的目的 。
常见管理技术及工具简介
软件项目管理的主要内容 1、项目计划管理
项目计划内容包括: (1)范围:定义该软件项目所要做的工作以及性能限制 (2)资源:包括人员资源、软硬件资源的管理 (3)进度安排
其主要的方法有:工程网络图、cantt图、任务资源表。
北邮软件项目管理—15-核心计划执行控制

BCWS(Budgeted cost of work scheduled)
计划工作成本
ACWP(Actual cost of work performed)
实际工作成本
BCWP(Budgeted cost of work performed)
已获值(Earned Value)
chapter__12
24
输入: 1. BAC 2. BCWS 3. ACWP 4. BCWP
挣值分析模型
挣值分析
chapter__12
输出:
1. CV 2. CPI 3. SV 4. SPI 5. EAC 6. VAC 7. SAC 8. TCPI 25
输入
BAC(Budget At Completion)
费用的支出速度
=1:按照预算进行
>1:低于预算
<1:超出预算
chapter__12
34
性能指标图示
研究表明:进度进展到20%左右的时候,CPI趋于稳定。
chapter__12
35
挣值分析导出度量-3
工作完成的预测成本:
EAC (Estimate At Completion) =BAC/CPI 其它借鉴公式
费用差异:CV(Cost Variance )=BCWP-ACWP
=0:按照预算进行 >0:低于于预算 <0:超出于预算
chapter__12
30
成本差异实例
任务A:$100 任务B:$100
计划 实际
今天
任务C:$100
任务D:$100
时间
BCWS=$400 , BCWP=$350, 则SV=- $ 50
最新2019-软件工程——11、软件实现-PPT课件

© 2009 BUPT TSEG
北京邮电大学 通信软件工程中心
2
11.1软件实现概述
本节内容
11.1.1软件实现的目标
11.1.2软件实现的任务
© 2009 BUPT TSEG
北京邮电大学 通信软件工程中心
3
11.1软件实现概述
从宏观上讲,软件实现包括详细设计、程 序编码、单元测试和集成测试 。 从微观上来讲,软件实现指程序编码和单 元测试 。 程序编码是详细设计的继续,程序编码过 程的组织方式,编程语言特性和程序设计 风格会对软件的质量即可靠性、可读性、 可测试性和可维护性等产生深远的影响。
软件的应用领域 ; 系统用户的要求 ; 现有的工具环境 ;
开发环境成本;
程序员的水平 ; 软件可移植性的要求 ;
© 2009 BUPT TSEG 北京邮电大学 通信软件工程中心
13
常见的程序设计语言
© 2009 BUPT TSEG
北京邮电大学 通信软件工程中心
14
程序语言的应用领域
软件工程模型与方法 Models & Methods of Software Engineering
第十一章 软件实现 修佳鹏
© 2009 BUPT TSEG
本章内容
11.1 软件实现概述
11.2 程序设计语言与集成开发环境
11.3 程序设计方法
11.4 程序设计风格
15
11.2.3集成开发环境简介
集成开发环境(IDE:Integrated Development Environment) :通常指运行 在Windows操作系统中的图形界面软件系统 ,其将编辑源程序、调试程序、生成可执 行文件等功能集成到一起,极大方便了程 序员的编程工作。 IDE基本组成:
《软件工程二版》PPT课件

软件工程结构复杂,要涉及到用户组织内部与外部环境
(2)用户需求的多样性
软件开发失败最主要的原因是:用户对软件需求描述 不精确,可能有遗漏、有二义性、有错误。
(3)建设内容的复杂性
软件是逻辑部件:试制阶段难衡量;开发质量较难评 价,开发过程管理和控制较难。
(4)技术手段的复杂性
软件设计、实施、维护技术手段的复杂性 。
完整版ppt
5
1.1软件危机
软件包括了使计算机运行所需要的各种程 序及其有关的文档资料。其中,程序是计算机 任务的处理对象和处理规则的描述;文档是为 了理解程序所需的阐述性资料。
20世纪60至70年代,“软件危机”一词 在计算机界广为流传,其主要针对当时存在 的软件代价高和软件错误多的现象。
完整版ppt
2、软件规模庞大,有技术问题,也有管理方法问题。
3、早期开发的个体化;忽视需求分析;认为软件开发 写程序;轻视维护,对用户不了解,
4、对前期工作不能忽视,做好软件定义时期的工作, 这是降低成本,提高件质量的关键。
5、严重性:在软件开发的不同阶段修改付出代价(后 期是前期的2-3个数量级),软件维护是极端艰巨复杂的 工作,占55%~70%)
(5)建设所需资源的密集性
软件系统是资金、劳动、智力、知识密集型大型项目, 各类的信息交流不及时是完产整版生pp软t 件危机的主要原因。 12
关于软件危机的总结
1、软件是逻辑部件:试制阶段难衡量;开发质量较难
评价,开发过程管理和控制较难;运行过程才能暴露没 有检测出来的事故,相当于修改设计,软件维护困难;
在软件开发的不同阶段修改付出代价后期是前期的23个数量级软件维护是极端艰巨复杂的工作占5570完整版ppt14121121软件工程的定义与基本原理软件工程的定义与基本原理121121软件工程的定义与基本原理软件工程的定义与基本原理122122软件工程的目标软件工程的目标122122软件工程的目标软件工程的目标123123软件工程框架及原则软件工程框架及原则123123软件工程框架及原则软件工程框架及原则退出退出退出退出完整版ppt15什么是软件工程软件工程是指把系统的规范化的可以度量的方法运用于软件的开发运行和维护的过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
错误对成本 和进度影 响很小, 预 计 超 支 少 于 $ 1k 可能低于预算 交付日期提前
2. 建立风险表 建立风险表是一种简单的风险预测技术,表12.2 是风险表的一个例子。
表 12.2 排序前的风险表 风险 规模估算可能很不准确 用户数目超出计划 重用程度低于计划 终端用户抵制该系统 交付日期将要求提前 资金将流失 客户将改变需求 技术达不到预期的水平 缺少关于工具的培训 人员缺乏经验 人员流动频繁 类别 PS PS PS BU BU CU CU TE DE ST ST 概率 60% 30% 70% 40% 50% 40% 80% 30% 80% 30% 60% 影响 2 3 2 3 2 1 2 1 3 2 2
1 严重的 2
不能满足需 求,系统 性能降低 到 对项目能否成功有疑问的程度 技术 性能 有 些 降低 软件 修改 工 作 有些延迟
错误导致运 行延迟和 成本增加 , 预 计 超 支 $ 100k 至 $ 500k 资 金 有 些 短 缺, 可能 会 超 支
交付 日期 可 能 拖后
1 轻微的 2 1 可忽略的 2
(2) 文档驱动法
文档编写者向走查组成员仔细解释文档。走查组 成员在此过程中不时针对事先准备好的问题或解释过 程中发现的问题提出质疑。这种方法可能比第一种方 法更彻底,往往能检测出更多错误。经验表明,采用 文档驱动法时许多错误是由文档讲解者自己发现的。
3. 审查 审查的范围要比走查广泛得多,它的步骤也比较
2.按照风险的可预测性分类 (1) 已知风险 (2) 可预测的风险 (3) 不可预测的风险
12.1.2
风险识别
通过识别已知的和可预测的风险,项目管理者就 朝着在可能时避免风险并且在必要时控制风险的目标
迈出了第一步。
在12.1.1节中描述的每一类风险又可进一步分成 两种类型:一般性风险和特定产品的风险。一般性风
风险。
· 客户特性——与客户素质以及开发者和客户定期 通信的能力相关的风险。
Hale Waihona Puke · 过程定义——与软件过程已被定义的程度以及软 件开发组织遵守软件过程的程度相关的风险。 · 开发环境——与用来开发产品的工具的可用性和 质量相关的风险。
· 所用技术——与待开发系统的复杂性及系统所包
含的技术的“新奇性”相关的风险。 · 人员数目与经验——与参加工作的软件工程师的 总体技术水平及项目经验相关的风险。
12.1.1
软件风险分类
风险有两个显著特点。 · 不确定性:标志风险的事件可能发生也可能不 发生,也就是说,没有100%发生的风险(100%发生的风 险是施加在软件项目上的约束)。 · 损失:如果风险变成了现实,就会造成不好的 后果或损失。 1.按照风险的影响范围分类
(1) 项目风险
(2) 技术风险 (3) 商业风险
表中第4列给出的是风险后果的整体等级值,其中, 1代表灾难性的,2代表严重的,3代表轻微的,4代表 可忽略的。 一旦填好了风险表前4列的内容,就应该根据概率 和影响来排序。高概率、高影响的风险放在表的上方, 而低概率的风险放在表的下方,这样就完成了第一次 风险排序。 项目管理者研究排好序的风险表,并确定一条中 止线。该中止线是经过表中某一点的水平直线,它的 含义是,只有位于线的上方的那些风险才会得到进一 步的关注。对于处于线下方的风险要再次评估,以完 成第二次排序。
第12章 控制
一般说来,所谓控制就是掌握被控制的对象,不 让它任意活动或超出规定范围活动,尽量使一切活动 都按照预定的计划进行,向预期的目标前进。
退出
12.1 风险管理
12.2 质量保证
12.3 配置管理 12.4 小结
12.1 风险管理
软件开发几乎总会存在某些风险。对付风险应该 采取主动的策略,也就是说,早在技术工作开始之前 就应该启动风险管理活动:标识出潜在的风险,评估 它们出现的概率和影响,并且按重要性把风险排序, 然后,软件项目组制定一个计划来管理风险。 风险管理的主要目标是预防风险,但是,并非所 有风险都能预防,因此,项目组还必须制定一个处理 意外事件的计划,以便一旦风险变成现实时能够以可 控的和有效的方式作出反应。
表 12.1 评 估 风 险 后 果 因素 等级 1 灾难性的 2 性能 支持 成本 进度
不能满足需求而导致项目失败 不能 满足 要 求 的技术性能 无响 应或 无 法 支持的软件
错误导致成 本增加和 进度延迟 , 预 计 超 支 $ 500k 以 上 资 金 严 重 短 缺, 很可 能 超 出预算 不能 在预 定 的 交付 日期 内 完 成
1. 风险缓解
如果软件项目组采用主动的策略来处理风险,则 避免风险总是最好的策略。这可以通过建立风险缓解 计划来达到。 2. 风险监控 随着项目的进展,风险监控活动也就开始了。项 目管理者监控某些能指出风险概率正在变高还是变低 的因素。
3. 风险管理和意外事件计划
风险管理和意外事件计划假设缓解风险的努力失 败了,风险变成了现实。
多。一般来说,审查有5个基本步骤。
· 综述:由负责编写文档的一名成员向审查组成 员综述该文档。在综述会议结束时把文档分发给每位 与会者。 · 准备:评审员仔细阅读文档。最好列出在审查 中发现的错误的类型,并按发生频率把错误类型分级, 以辅助审查工作的进行。这些列表有助于评审员们把 注意力集中到最常发生错误的区域。
可移植性
可再用性 互运行性
12.2.2
软件质量保证措施
软件质量保证(Software Quality Assurance,通 常缩写为SQA)的措施主要有,基于非执行的测试(也称 为复审)、基于执行的测试(即本书第5章和第9章讲述 的测试)和程序正确性证明。
1. 技术复审的必要性
正式技术复审的明显优点是,能够较早地发现错 误,防止错误被传播到软件过程的后续阶段。
下面介绍影响软件质量的主要因素,这些因素是 从管理角度对软件质量的度量。可以把这些质量因素 划分成三组,它们分别反映用户在使用软件产品时的 三种不同倾向或观点。这三种倾向是:产品运行,产 品修改和产品转移。图12.1描绘了软件质量因素和上 述三种倾向(或称为产品活动)之间的关系,表12.3给
出了软件质量因素的简明定义。
· 支持风险——软件易于改错、适应和增强的不确 定程度。 · 进度风险——能够实现项目进度计划且产品能按 时交付的不确定程度。 根据风险发生时对上述四个风险因素影响的严重 程度,可以把风险后果划分成四个等级:可忽略的、 轻微的、严重的和灾难性的。表121给出了由于软件 中潜伏的错误所造成的各种后果的特点(由表中标为 “1”的行描述),或由于没有达到预期的结果所造成的 各种后果的特点(由表中标为“2”的行描述)。按照实 际后果与表中描述的特点的吻合程度,可以把风险后 果划分成四个等级中的某一个。
12.2 质量保证
质量是产品的生命,不论生产什么产品,质量都 是极端重要的。软件产品开发周期长,耗费巨大的人 力和物力,更必须特别注意保证质量。
12.2.1
软件质量
概括地说,软件质量就是“软件与明确地和隐含 地定义的需求相一致的程度”。更具体地说,软件质 量是软件符合明确地叙述的功能和性能需求、文档中 明确描述的开发标准、以及所有专业开发的软件都应 具有的隐含特征的程度。上述定义强调了下述的三个 要点。
· 软件需求是度量软件质量的基础,与需求不一 致就是质量不高。
· 指定的标准定义了一组指导软件开发的准则,
如果没有遵守这些准则,几乎肯定会导致质量不高。
· 通常,有一组没有显式描述的隐含需求(例如,
期望软件是容易维护的)。如果软件满足明确描述的需 求,但却不满足隐含的需求,那么软件的质量仍然是 值得怀疑的。
质量因素 正确性 健壮性 效率 完 整 性 (安 全 性 ) 可用性 风险
可理解性 可维修性 灵 活 性 (适 应 性 ) 可测试性
理解和使用该系统的容易程度 诊断和 改正 在运 行现场 发现 的错 误所需 要的 工作 量的 大 小 修改或改进正在运行的系统需要的工作量的多少 软件容易测试的程度 把 程 序 从 一 种 硬 件 配 置 和 ( 或 )软 件 系 统 环 境 转 移 到 另 一 种配置 和环 境时 ,需要 的工 作量 多少。 有一 种定 量度 量 的方法 是: 用原 来程序 设计 和调 试的成 本除 移植 时需 用 的费用 在 其 他 应 用 中 该 程 序 可 以 被 再 次 使 用 的 程 度 (或 范 围 ) 把该系统和另一个系统结合起来需要的工作量的多少
和影响发生变化。作为这项活动的结果,可能在表中 添加了一些新风险,删除了某些与项目不再有关系的 风险,并且改变了表中风险的相对位置。
12.1.4
处理风险的策略
对于绝大多数软件项目来说,上述的4个风险因素 (性能、成本、支持和进度)都有一个临界值,超过临 界值就会导致项目被迫终止。也就是说,如果性能下 降、成本超支、支持困难或进度延迟(或这4种因素的 组合)超过了预先定义的限度,则因风险过大项目将被 迫终止。 如果风险还没有严重到迫使项目终止的程度,则 项目组应该制定一个处理风险的策略。一个有效的策 略应该包括下述三方面的内容:风险避免(或缓解); 风险监控;风险管理和意外事件计划。
正式技术复审实际上是一类复审方法,包括走查 (Walkthrough)和审查(Inspection)等具体方法。走查 的步骤比审查少,而且没有审查那样正规。
2. 走查
(1) 参与者驱动法 参与者按照事先准备好的列表,提出他们不理解 的术语和认为不正确的术语。文档编写组的代表必须 对每个质疑做出回答,要么承认确实有错误,要么对 质疑做出解释。
12.1.3 风险预测
风险预测(也称为风险估算)试图从两个方面来评 估每个风险:风险变成现实的可能性或概率,以及当
风险变成现实时所造成的后果。
1. 评估风险后果 美国空军建议从性能、支持、成本和进度等四个 方面评估风险的后果,他们把上述四个方面称为四个 风险因素。下面给出这四个风险因素的定义。 · 性能风险——产品能满足需求且符合其使用目的 的不确定程度。 · 成本风险——能够维持项目预算的不确定程度。