个体软件过程(PSP)详解
项目管理-TSPPSP
PSP/TSP 个人 团 个人/团 队软件过程
钟爱平
PSP个人软件过程
1、何谓PSP 、何谓PSP
•个体软件过程(personal software process ,psp)是由 美国carnegie mellon大学软件工程研究所(cmu/sei)的 watts s. humphrey领导开发的,于1995年它的推出, 在软件工程界引起了极大的轰动,可以说是由定向软件 工程走向定量软件工程的一个标志。
PSP个人软件过程
③
④
召集所有团队成员开PSP会议,这一步相 当重要。在这一步,需要确认项目整体目 标,项目风险管理,责任到人,工期评估, 工作量饱和度评估,缺陷注入评估(质量 管理),变更管理。一次会议是远远不够 的。 PSP把每个任务都分为不同的阶段,一般 来说有HLD,DLD,DLDR,Code,CR,Unit Test, IT这几个阶段,项目定义分工明确以后, 应该严格按照这几个阶段实施。
PSP个人软件过程
•psp是一种可用于控制、管理和改进个人工作方式的自 我改善过程,是一个包括软件开发表格、指南和规程的 结构化框架。 •psp为基于个体和小型群组软件过程的优化提供了具体而 有效的途径,例如如何制订计划,如何控制质量,如何 与其他人相互协作等等。 •自己就是自己的项目经理是PSP的宗旨
TSP/PSP
附PSP/TSP工作薄
Microsoft Office Excel 97-2003 工作表
TSP团队软件过程
最终目的在于指导开发人员如何在最少的时间内,以预定 的费用生产出高质量的软件产品,所采用的方法是对群组 开发过程的定义、度量和改进。
TSP团队软件过程
2、实现tsp方法需要具备的条件 、实现 方法需要具备的条件 需要有高层主管和各级经理的支持,以取 得必要的资源 整个软件开发小组至少应在cmm的第二级 (可重复层)。 全体软件开发人员必须经过psp的培训, 并有按tsp工作的愿望和热情。
人软件过程(PSP)简介
个人软件过程(PSP)简介一、前言个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。
PSP能够说明个体软件过程的原则;帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。
二、个体软件过程简介1. 综述在本次课上,我学习了个人软件过程(Personal Software Process,PSP)的相关知识,在本次报告中,将结合一些资料对个人软件过程的相关概念进行介绍,并写一下我自己的观点。
要开发高质量的软件,必须改进软件生产过程,这是软件工程的常识。
目前,业界公认由CMU/SEI开发的软件能力成熟度模型SW-CMM是当前最好的软件过程,并且CMM已经成为事实上的软件过程工业标准。
但是,CMM虽然提供了一个有力的软件过程改进框架,却只告诉我们"应该做什么",而没有告诉我们"应该怎样做",并未提供有关实现关键过程域所需要的具体知识和技能。
为了弥补这个欠缺,Humphrey又主持开发了个体软件过程(Personal Software Process,PSP)。
2. 个体度量过程PSP0和PSP0.1PSP0是建立个体过程的第一步。
通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括计划、开发(包括设计、编码、编译和测试)以及后置处理三个阶段,并要作一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排除的缺陷个数等,用作为测量在PSP的过程中进步的基准。
PSP0.1增加了编码标准、程序规模度量和过程改善建议等三个关键过程域,其中过程改善建议表格用于随时记录过程中存在的问题、解决问题的措施以及改进过程的方法,以提高软件开发人员的质量意识和过程意识。
PSP基本技术
PSP基本技术PSP(Personal Software Process,个体软件过程)是一个过程描述、测度和方法的结构化集合,能够帮助软件工程师改善其个人性能。
通过采用一些表格、脚本和标准,可帮助软件工程师估算和计划其工作,从而体现了定义过程及测量其质量和生产率的意义。
一个基本的PSP原则是:每个人都是不同的,对于某个工程师有效的方法不一定适合另一个,PSP帮助工程师测量和跟踪他们自己的工作,使得他们能够找到最适合自己的方法。
软件工程师在做项目的开发计划时,或是由经验而来,或是由用户需求而定,往往存在计划与实际相差比较大的情况,或者是前松后紧,遗漏过多,造成维护量的增加。
如何减少这种情况的发生?就需要把经验量化并做出分析。
通过记录项目的估算情况与实际情况,并进行比较分析,则既利于有经验的软件工程师提高以后项目的预测率,也利于新手软件开发人员参考其他工程师的经验。
项目的开发成本是一个很重要的问题。
通过记录项目的估算成本与实际成本,提高软件开发人员对项目成本估算的准确度,这对在项目早期就有一个清楚的认识大有帮助,以利于以后工作的规划与开展。
通过记录软件工程师在项目设计及编写代码阶段出现的错误及解决办法,以及记录测试与维护阶段出现的错误、缺陷及解决办法,并产生报告,列出经常出现的错误及错误类型,可把错误尽量控制在交付用户使用前,并尽量减少错误的发生。
需要注意的是,PSP的目的是为了改善软件工程师的开发性能,而提高性能在于早期对项目有一个比较准确的把握。
项目评估的准确度依赖于历史数据的积累,只有正确的历史数据越来越充分,在评估新项目时所采用的指标数才会越准确。
在项目进展过程中,还需要根据影响因素的变化不断调整估算指标。
项目估算现在软件在大多数基于计算机的系统中已成为最昂贵的部分,如果软件成本估算的误差很大,就会使盈利变成亏损。
软件项目估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,想一次性整体解决比较困难。
软件工程与开发技术(西电第二版)第22章 个人软件过程(PSP)幻灯片PPT
第22章 个人软件过程(PSP)
PSP建立了一套工作计划和绩效考评体系,在培训实践 的各个阶段分别进行度量,最后进行分析比较,最后工程师 们(甚至包括公司领导)将会直接地感受到软件开发规范化带 来的好处。
第22章 个人软件过程(PSP)
22.1 PSP的基本概念 在Watts Humphrey最初倡导将CMM应用于软件 之后,他打算将CMM应用到编写小程序的过程当中。 许多人都想知道如何将CMM应用到小团体或者小的 软件开发小组的工作当中。当CMM应用到这样的团 体时,在明确该干什么这一点上,需要更多的指导。 在开发模块化程序时,Humphrey亲自使用了 CMM五个等级的所有惯例。在1989年4月他开始这 一项目后不久,软件工程学会吸收他为其中的一员, 专门从事PSP研究。在随后的三年里,他开发了62 个程序并定义了15个PSP过程版本。他使用Pascal、
第22章 个人软件过程(PSP)
软件工程师采用PSP,能够改变现在手工作坊式的软件 开发习惯,提高自己的工作质量和工作效率;提高个人的工 作性能,保证能够按时完成任务,逐步使工作失误不断减少, 工作不用经常加班加点,与别人合作愉快;能够不断提高项 目估算的准确性,有助于把握资源能力,进行更好的计划和 跟踪;有助于建立个人软件过程能力的度量指标:规模估计、 工作量估计、工作质量估计、工作效率估计、工作量阶段分 配等,不断地提高个人的过程能力。
第22章 个人软件过程(PSP)
第22章 个人软件过程(PSP)
22.1 PSP的基本概念 22.2 PSP过程简介 22.3 PSP的数据收集与度量 22.4 PSP质量管理 22.5 PSP与设计 22.6 PSP的发展 22.7 小结
第22章 个人软件过程(PSP)
浅析个体软件过程(PSP)
我 们 知 道 , 开 发 高 质 量 的 软 件 , 须 改 进 软 件 生 产 过 程 .9 7年 前 后, 国 卡 内基 一 要 必 18 美
梅 隆 大 学 软 件 工 程 研 究 所 ( f r gn eig I s t t, r e i Meln Unv ri , o wa S t e En ie r n t u e Can ge n i l i s y o e t
C MM 虽 已成 为 事 实 上 的 软 件 过 程 工 业 标 准 , 它 未 提 供 实 现 CMM 关 键 过 程 域 所 需 但
程序 设 计 语 言 、 发 工 具 或 设 计 方 法 , 原 则 可 以应 用 于 任 何 软 件 开 发 和 维 护 任 务 中 . 开 其 要 的 具 体 知 识 和 技 能 由于 C MM 1 1版 本 的 1 关 键 过 程 域 中 有 1 . 8个 2个 与 P P有 关 , 以 s 所 软 件 工 程 师 有 必 要接 受 P P培 训 . 据 Hu he S 根 mp ry对 1 4位 参 与 P P培 切『 软 件 开 发 人 员 0 S 的 的统 计 … , 应 用 P P之 后 , 开 发 的 软 件 质 量 和 生 产 效 率 得 到 很 大 改 善 :在开 发 过 程 中 总 在 S 所 的缺 陷减 少 5 % ;在 测 试 阶 段 发 现 的 缺 陷 减 少 7 . % ;生 产 率提 高 2 . % 80 19 08
第3 1卷
1 1 P P的 工 作 改 进 过 程 . S
P P软件 工程 规范 为软 件工程 师提供 了发展个 人技 能的结构 化框架 . 软件行 业, S 在 如果
不 经 过 P P培 训 , 只 能 在 工 作 中通 过 实 践 逐 步 掌 握 这 些 技 能 和 方 法 , 样 不 仅 软 件 开 发 S 就 这 周 期 长 , 付 出很 大 的 代 价 , 且 风 险 也 比较 大 . 要 而 按 照 P P规 程 , S 改进 软 件 过 程 的步 骤 大 致 如 图 1所 示 . 首 先 需 要 明 确 质 量 目标 , 就 是 软 件 在 功 能 和 性 能 上 必 须 也 满 足 的要 求 和 用 户 潜 在 的 需 求 ;其 次是 度 量 产 品 质 量 , 为 目标 因 只 是 一 个 原 则 性 的东 西 . 不 便 于 实 际 操 作 和 判 断 . 须 对 目标 还 必 进 行分鹪 和度 量 , 软 件质 量能 够 “ 量 ” 使 测 ;然 后 是 理 解 当 前 过 程 , 找 同 题 , 对 过 程 进 行 调 整 ;最 后 应 用调 整 后 的 过 程 , 量 查 并 度
个体软件过程PSP
Zhao Changkuan (Northeastern University Compute Center ,China 11004) neu_zhao@
软件工程
软件开发项目的目标是满足需求的高性能软件产品,而软件开发条件是 已有的技术储备、人员、财力等资源,制约因素是资源有限。同时,开 发风险很多,例如不稳定的需求、不成熟技术、缺乏有效管理。有报告 指出“一半以上的软件项目严重拖期且超过预算,而四分之一的项目没 有完成就被取消了。只有低于30%的项目是成功的”。从中可以看出, 软件开发项目需要有一套有效的管理方法,这也是当前软件工程领域的 专家和学者共同致力于研究的问题。
条目
输入
描述
任务需求说明文档 项目计划总结表(已经填写资源估算的) 时间记录日志 程序(经过测试并正常运行)
输出
程序(经过完全测试) 项目计划总结表 时间和缺陷记录日志
过程活动
活动 任务描述 缺陷记录 缺陷检查
活动内容 编写任务需求说明文档 评审项目计划总结表,确保所有缺陷已经记录 发现并补充遗漏缺陷记录 确保缺陷记录日志的准确性 发现和修正不准确的缺陷记录
测试
编译程序,确保程序无运行错误 发现并修复设计和编码缺陷,填写缺陷记录日志 填写时间记录日志
Zhao Changkuan (Northeastern University Compute Center ,China 11004) neu_zhao@
PSP0 级:总结过程管理
主要工作是对项目的实际完成时间、引入缺陷、排除进行记录总结,并 修整其中可能出现的差错。总结的目的在于为以后的软件项目开发提供 依据,同时提升程序员的计划和管理技能。
Zhao Changkuan (Northeastern University Compute Center ,China 11004) neu_zhao@
PSP-1-绪论
个体软件过程 —— 绪论
欧阳柳波 湖南大学软件学院
2013-9-9
1
1.软件工程师的任务
基本任务:
(1) 开发出高质量的软件产品; (2) 在预期的费用内进行工作; (3) 在预定的进度下完成任务.
行之有效的方法:
(1) 制定工作计划; (2) 按制定的计划进行工作; (3) 尽最大努力
个体软件过程(PSP)是为帮助软件工程师完成 出色的工作而设计的,它提供详细的估计和计 划方法,告诉工程师如何按照计划去跟踪任务 的执行情况,如何利用已定义的过程来指导工 作. PSP正在推广到工业企业中. 通过对PSP的系统学习和实践,将有效地改善工 作性能.
3
2013-9-9
3.高质量工作的规范
PSP规范提供了SE所需的改进个人技能的 结构化方法. 规范不是繁琐的限制,而是一个学习和自 我提高的框架. 没有经过PSP培训的SE在工作中不仅要付 出很大的代价和时间,而且具有越来越大 的风险.
4
2013-9-9
4.高质量工作的重要性
一个软件系统的质量是由它每一部份的质量决 定的, 不管它是多小或看起来多么不重要,之中 出现缺陷就有可能破坏整个系统. 软件中的异常情况随时都可能发生,看起来不可 能的情况出现的周期也只是稍稍长一点而已. 只有高质量的工作才能不断编写出高质量的程 序,开发人员及其产品才会获得雇主和客户的高 度评价.
PSP TSP整理
PSP部分PSP(Personal Software Process)即个人软件过程,是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
PSP注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。
经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分利用PSP,从而保证了项目整体的进度和质量。
学校的学生团队不会太大,学生个人的技能将直接影响到项目整体的进度和质量,要保证学生个人的工作质量就需要实施PSPPSP作用:使用自底向上的方法来改进过程,向每个软件工程师表明过程改进的原则,使他们能够明白如何有效地生产出高质量的软件。
为基于个体和小型群组软件过程的优化提供了具体而有效的途径。
其研究与实践填补了cmm的空白。
帮助软件工程师在个人的基础上运用过程的原则,借助于psp提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的评估、计划和预测更加准确、更加有效,进而改进个人的工作表现,提高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组织范围的软件工程过程改进。
项目管理平台中体现PSP的地方:项目管理平台中的任务指派、任务跟踪、源代码统计、阶段总结TSP部分TSP(Team Software Process)即团队软件过程,是为开发软件产品的开发团队提供指导,TSP侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。
TSP注重团队的高效工作和产品交付能力,结合PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,展示了如何去生产高质量的产品。
按tsp原理对开发小组的基本度量要素o所编文档的页数。
个体软件过程(PSP)和团队软件过程(TSP)简介
什么是个体软件过程〔PSP〕
个体软件过程〔PSP〕是一个为了开发软件或者执行任 何其它定义活动的个体过程。个体软件过程〔PSP〕包 括: 定义步骤 表单 标准 它供给了用来觉察和治理你工作的测量和分析框架。 它也是一个定义的过程来帮助你提高你的个人力量
个体软件过程〔PSP〕过程流
1. 由脚本〔Scripts〕来支持过程。 2. 过程包括:打算〔Planning〕->设计〔Design〕->代码
学习个体软件过程〔PSP〕-2
PSP0:Current process、Time recoding、Defect recording、Defect type standard(当前软件过程,工作时间记录,程序缺陷记录,缺陷类型标准) PSP0.1:Coding standard、Size measurement、Process improvement proposal〔PIP〕(编码标准、软件规模度量、过程改善建议) PSP1:Size estimating、Test report〔软件规模估量、测试报告软件规模估量、 测试报告〕 PSP1.1:Task planning、Schedule planning〔任务规划、进度安排〕 PSP2:Code reviews、Design reviews〔代码评审、设计评审〕 PSP2.1:Design templates〔设计模板〕 PSP3:循环开发 TSP:Team development〔团队开发〕
软件产品规模越来越大
摩尔定律:18个月增长为两倍,5年增长为19倍。
大规模的软件工程常常失败
1. 随着尺寸的增长,工程越来越麻烦。 2. 这是一个扩展性的问题:现在的软件实践并不适合
扩展,随着尺寸增大,工程就会陷入逆境。 3. 〔Standish混乱报告[1999年]〕
个体软件过程的研究与实施
关键词 : 个体软件过程 (PSP) ; 软件质 量; 过程框架; 软件过程
1、引言
Dem ing称为操作过程, 也是用户在使用过程时 应该遵守的一系列步骤, 当软件工程师按照这
些脚本工作时, 他们按时记录所用时间和缺陷 数据及缺陷日 并在工作最后, 志 在后置处理阶 段, 日 从 志记录中总结所用时间和缺陷数据, 测 量程序规模, 并把它们添人项目 计划总结表中。 所有这些完成后, 连同完成的计划总结表一起 交付给最终的产品。 ( 1) 个体度量过程PSPO和PSPO PSPO .1o 的目的是建立个体过程基线, 通过这一步, 学会
2006年3月 科杖任济市场
个 软 过 的究 实 体 件 程研 与施
陈友明 文海英(湖南 科技学院 计算 机与信息 科学系 湖南永州 425000)
摘 要: 个体软件过程 (PSP) 是 当前软 件行业的重要技术,给开发者提供 了一个进行 软件开发标准化框架, 本文在阐述了个体软件 过程 (PSP) 原理的基础上 ,结合软件过程的 实施过程,探讨了实施个体软件过程PSP时要 注意的问题 ,力求帮助软件从业人员发展个人
一个增量都具有很高的质量 。在这样 的前提
PSP设计是基于下述计划和质量原理进行 的: 每一个工程师都是不同的, 他们有 自己的 特点; 为了能发挥 自己最大工作效率, 每个工 程师们必须作自己的工作计划, 而且必须依据 他们自己的个人数据来做他们的计划; 为了协 调一致的改进他们的性能,工程师们必须使用 精心定义和度量的过程; 为了生产高质量的产 品, 工程师们必须对他的产品质量负责, 好产 品是无缺陷生产的, 所以每个工程师们必须致
软件过程 (Softw Process) 是人们用来 are
开发和维护软件及其附属产品 (如项 目计划、 设计文档、代码、 用户手册等等) 的活动、方 法和实践。PSP制定了一系列软件过程来指导 软件工程师提高工作效率和保证软件质量。
个体软件过程PSP新版恨死高分下载
84
2
软件工程师对自已的要求
• 一个软件工程师的任务就是在预定的进度下交 付高质量的软件产品。
• 软件工程师常常关心个人技术技能,但往往不 太注意个人技术技能的发挥效率以及方法。
• 为了稳定的生产高质量的产品,工程师必须计 划、度量和跟踪产品的质量,而且必须从工作 的开始就关注产品的质量。
• 软件规模估计的前提是要清楚所需完成 的任务,并对任务做一定的分解,并且要 分解到可估算以及尽量接近估算准确的 程度,软件规模估计是计划的前提。
• 任务分解与开发方法和实现技术有较大 的关系。
• 问题:解释这种关系
84
17
个体计划过程PSP1.1
• PSP1.1的主要过程是任务和进度的规划。 • 计划的主要内容包括完成什么任务,完成
84
6
CMM、TSP、PSP之间的关系
• CMM的18个关键过程域中,有12个与PSP 紧密相关,有16个TSP紧密相关。
• 学习PSP和TSP不仅有助于工程师改善工作 效率,而目也非常有利于组织的改善过程。
• 据统计,软件项目开发成本的70%取决于软 件开发人员个人的技能、经验和工作习惯。
• 因此,软件开发人员如能接受PSP培训,对 该单位软件能力成熟度的升级是一个有力的 保证。
84
41
阶段计划
• 阶段计划就是将一个大的任务分为若干 小阶段以分段执行。
• 分段执行的优点是便于计划、实施、跟 踪、检查和改进。
84
42
产品计划
• 制定产品计划的活动
– 收集历史项目数据 – 估算程序和文档规模 – 制定程序和文档规范、标准
个体软件过程(PSP)详解共63页
1、纪律是管,就难以成功。
3、道德行为训练,不是通过语言影响 ,而是 让儿童 练习良 好道德 行为, 克服懒 惰、轻 率、不 守纪律 、颓废 等不良 行为。 4、学校没有纪律便如磨房里没有水。 ——夸 美纽斯
5、教导儿童服从真理、服从集体,养 成儿童 自觉的 纪律性 ,这是 儿童道 德教育 最重要 的部分 。—— 陈鹤琴
66、节制使快乐增加并使享受加强。 ——德 谟克利 特 67、今天应做的事没有做,明天再早也 是耽误 了。——裴斯 泰洛齐 68、决定一个人的一生,以及整个命运 的,只 是一瞬 之间。 ——歌 德 69、懒人无法享受休息之乐。——拉布 克 70、浪费时间是一桩大罪过。——卢梭
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
2.4——工程记事本(续)--工程记事本内容
18
总结
计划和管理时间的第一步是要弄清楚现在是如何 利用时间的。为了做到这一点,需要把活动分成几个主 要的类。然后,用一种标准的方法把每项活动所花费的 时间记录下来。为了方便记录和查阅数据,采用了工程 记事本。
19
个体软件过程
第3章 时间跟踪
20
36
6.2——认真制定承诺
承诺要认真制订并要进行适当的管理。可以遵照如下的步骤来确保承诺 是认真制定并且是管理得很好。
• • • 在同意承诺之前要对所做的工作进行分析。例如,你是否够细致的查看了要做的 用一个机会支持承诺。对于任何规模的工作,认真制定承诺的方法是先为所做的 把协议文档化。语言常常会引起误解。即使两个人达成口头上的一致,他们也经 工作并判定能够完成这项工作? 工作制订一个机会。 常很难就书面的协议陈述达成一致,所以当出现问题时双方该怎么办?所以需要把协 议合同化来解决问题。 • 如果不能满足承诺,及时告诉对方并努力将给对方造成的影响减小到最小的程度。
这对你的工程生涯是有益的。为了不断提高工作的质量,必须树 立目标、对产品质量进行度量、了解工作的过程、改变并重用这
个过程、度量和分析结果,最后要反复地对过程进行持续改进。
11
个体软件过程
第2章 时间管理
12
2.1——原来时间花在了这些地方...
• 7年在浴室里 • 6年在吃东西 • 5年在排队 • 3年在开会 • 2年在接电话 • 8个月在看垃圾邮件 • 6个月在红灯前一动不动 • 你的一天要被打扰73次,每天带回家1个小时
15
2.4——工程记事本
在本课程中,将使用工程记事本来记录时间 的使用情况。工程记事本的用途主要有:
•记录作业,跟踪所承诺的工作,作课堂笔记等等; •作为遵循正确的工程实施方案的凭证; •保护你的知识资产。
16
2.4——工程记事本(续)
在记事本里,给每一页编号,留出前两页作为 目录。在目录中,列出那些你认为将来需要查找的条 目,如下表所示:
37
6.3——处理没有完成的承诺
如果已经确定无法完成某个承诺,要尽快通知对方,并共同解决已经发 生的问题。例如,双方商量可以延长工期或是缩小工作的范围。对于软件开 发来说,通常的策略是在原进度或接近原进度的基础上交付一个具有较少功 能的版本,然后再对产品进行一次或多次添加功能。 通过适当地定义追加功
•产品计划:一种基于活动的计划,例如开发一个程序或 写一份报告;产品计划是关于制作产品活动期间的时间安 排。
27
4.2——阶段计划的实行条件和过程
1.以周为单位进行活动总结表。 2.必须清楚时间的使用情况(记录周活动表中)。 3.总结时间日志数据。 4.计算阶段时间和工作效率。 5.制作并实施阶段计划。
数量。
33
如何在产品计划过程中使用规模 度量。 介绍规模度量方法是为了帮助估计产品规模。本章讲述了应该从代码 行来确定程序的规模。工业化的软件项目常常需要其他的规模度量,如菜单、 文件、屏幕和报告。 产品计划的第一步是要估计产品的规模。为了做出准确的估计,需要 要到以前的规模数据。把以前的规模数据按照功能分类是有帮助的。这样, 就可以估计出新程序中各类代码会有多少行。随着所积累的数据越来越多, 做出的估计就会越来越准确。
28
4.3——产品计划
一份合适的产品计划包括以下三个方面: 1.待开发产品的规模及其重要的特性。 2.完成工作所需时间的估计。 3.项目进度计划。
产品可以是一个可执行的程序、一个程序方案或是一个测试计划。产品计划要说 明所要开发的产品,它包含产品规模、工作时间和进度三方面的估计。更复杂的产品 需要更加详细的计划以及许多其他方面的信息,如责任分工、人员配置计划、产品或
34
个体软件过程
第6章 承诺的管理
35
6.1——什么是承诺
做出承诺是一种思想状态。无论是出于什么原因,你承担了一项工作,就 会觉得应该做这件事情。但是,承诺不仅仅是你要做的那些事情;它还说明 有人希望你来做这些事情。实际上,这是承诺的关键问题:你向谁作出了承 诺?从法律或者合同的角度来说,你对别人负有义务:你的经理,你的雇主。 更重要的是你给自己制定了更深层次的承诺。 一个真正的承诺既是个人的承诺也有合同的效应,并且它需要双方或多 方在如下问题上达成明确和自愿的一致。 1.要做什么(事情)。 2.判断工作是否完成的准则。 3.由谁来完成任务。 4.何时完成任务。 5.作为回报所支付的报酬或其他考虑。 6.由谁来提供这些报酬或其他考虑。
8
1.6——如何提高工作质量
提高工作质量仅仅靠努力是不行的,在很 大程度上工作的方式决定了所能得到的结果,因 此要想提高工作质量,必须改进工作方式,即进 行过程改进。
9
1.7——过程改进步骤
定义质量目标
度量产品质量
了解过程 循环和持 续改进
对过程进行调整
应用调整后的过程
测量结果 将结果与目标进行比较
课本已经准备考试。
31
个体软件过程
第5章 产品规模
32
5.1——规模度量
规模比较法:由于各种任务的规模和复杂程度的差异很大,所以掌握一种比较它们规模的方法
是很有帮助的。 例:想一想阅读许多章节的书这项作业。有了阅读前4章所用的时间的数据,就可以估 计出阅读第6章要用的时间(采用平均时间)。
使用规模度量的注意事项:规模的复杂度、类型的多样化、涵盖域大小
3.1——为什么要进行时间跟踪
要想提高工作质量,必须进行过程改进。过程改 进的第一步就是定义质量目标,即明确定义将要完成的 任务并估计出完成每一项任务所要花费的时间。
为了做到这一点,必须对时间进行实际的测量,即 进行时间跟踪。
21
3.2——怎样进行时间跟踪
我们用分钟作为时间跟踪的测量单位,并使用标准 的时间记录日志来记录时间数据。
2
个体软件过程
第1章 软件工程师的任务
3
1.1——什么是软件工程
定义1:是指导计算机软件开发和维护的工程学科。 定义2:是研究和应用如何以系统性的、规范化的、可定 量的方法去开发、操纵和维护软件、即把工程应用到软 件上。 核心思想: 是把软件产品(就像其他工业品一样)看作 是一个工程产品来处理,把需求计划、可行性研究、工 程审核、质量监督等工程化的概念引入到软件生产中, 期望达到工程项目的三个基本要素:进度、经费、质量
能的顺序和时间,往往能够将客户所受的干扰减少到最小的程度。
如果还没有非常努力地去满足承诺,就不能轻易放弃。问自己这样一些问题:你 是否和有关专家讨论来寻找更好的方法?增加资源能否加快工作的进度?是否还有更 巧妙的设计方案?彻底地考察各种可能的情况,然后,如果确实没有其他的办法,不 要耽误时间,马上处理这些问题。 没有完成承诺通常会带来不便和不快。这就是为什么人们在面对这种问题时经常 要推迟到最后一刻。就像鸵鸟一样,他们在推迟这种不快,并希望问题自己解决。不 幸的是,把头埋在沙堆里只会增加破坏性,耽误客户选择可能有的其他方案,加大了 不满意的程度。
程序规模估计:有很多方法可以在开发程序之前估计出程序的规模。但是所有的规模度量方法都涉 及大量的判断。首先要查看所开发程序的需求,然后把新程序按程序的规模等级与以前编写的程序 排列在一起。最后判断新程序的规模可能落于从前编写的程序的哪个规模范围,进而估计出可能的 代码行。 较大规模的估计:对于小程序来说,随着程序规模的增大,它们可能会包含很多函数和过程。把每 一个函数和过程分别列出来,就能快速建立起历史估计数据的基础。有了更多的数据之后,可以把 每一类程序用不同的表格保存。可以用一份表格保存计算,一份保存文本处理过程,一份保存控制 等。在每一份表格中,把程序的各个功能按规模大小排列,并且列出包括这些功能的程序的名称和
哪些错误,哪些地方可以进行改进; •为了管理好时间,首先制定时间分配计划,然后按照计 划去做;
14
2.3——了解时间的使用情况
进行时间管理的实践,第一步要了解现在是如何 利用时间的,为此需要遵循下面几个步骤: 将主要活动分类;
1.记录每项主要活动所花费的时间;
2.用标准的方法记录时间; 3.将时间数据保存在合适的地方。
的工作,还会读5分钟的书,和爱人说4分钟话, 做3分钟运动,在和宝宝玩两分钟。
13
2.2——时间管理的逻辑原理
•人们很可能象上星期那样安排这星期的时间; •为了制定切实可行的计划,必须对所用的时间进行跟踪; •为了检查时间估计和计划的准确性,必须把它们写成文 档并在今后与实际情况进行比较;
•为了制定出更准确的计划,需要知道以前的计划中存在
注:建议在公司T系统中以“小时”为单位记录每个功能模块的所用时间,最后根据同一类 型的功能模块形成报表。
25
个体软件过程
第4章 阶段计划与产品计划
26
4.1——阶段计划和产品计划
•阶段计划:一种计划是基于时间段的,时间段即日历上 的一段时间,如一天、一周、一个月或一年。阶段计划是 关于在这段时期内对时间的安排。
10
总结
软件工程师应该计划要做的工作,然后按照这个计划来
工作。这样就能够在规定的预算和时间内开发高质量的产品。个
体软件工程(PSP)就是为使软件工程师更好地工作而设计的一 个框架。它指出如何估价和计划工作,如何按照这些计划来跟踪 自己的性能,以及如何提高程序的质量。
提高质量的方法需要花费一定的时间去学习和实践,但
4
1.2—什么是软件过程
定义:针对一个给定的目标的一系列操作步骤。
软件过程:是人们用于开发和维护软件及其相关产品
(项目计划、设计文件、编程、测试、用户手册)的一 系列活动、方法、实践和改造。
5
1.3——什么是软件工程
定义1:是指导计算机软件开发和维护的工程学科。 定义2:是研究和应用如何以系统性的、规范化的、可定 量的方法去开发、操纵和维护软件、即把工程应用到软 件上。 核心思想: 是把软件产品(就像其他工业品一样)看作 是一个工程产品来处理,把需求计划、可行性研究、工 程审核、质量监督等工程化的概念引入到软件生产中, 期望达到工程项目的三个基本要素:进度、经费、质量