1、软件过程基础:1.休哈特(shewhart):质量改进奠基人贡献:计划-执行-检查(Plan-Do-See)的概念。 出版 The Economic Control of Manufactured Products2. 戴明(Deming) 1) 质量改进。 2) PDCA循环。Deming最早提出了PDCA循环的概念,所以又称为“戴明环”。PDCA循环是能使任何一项活动有效进行的一种合乎逻辑的工作程序,是一个基本的质量工具。 PDCA- Plan, Do, Check, Action 3)十四点原则。 树立改进产品和服务的坚定目标采用新的思维方法停止依赖检验的办法获得质量不再凭价格标签进货坚
2、持不懈地提高产品质量和生产率岗位培训制度化管理者的作用应突出强调排除畏难情绪打破部门和人员之间的障碍不再给操作人员提空洞的口号取消对操作人员规定的工作定额和指标不再采用按年度对人员工件进行评估创建积极的自我提高计划制度让每个员工都投入到提高产品质量的活动中去3. 朱兰(Juran) 1) 适用性质量质量的本质内涵是“适用性”,而所谓适用性是使产品在试用期间能满足使用者的需求。Juran提出质量不仅要满足明确的需求,也要满足潜在的需求。这一思想使质量管理范围从生产过程中的控制进一步扩大到产品开发和工艺设计阶段。2) 质量三步曲 3) Juran质量螺旋(quality loop)4) 80/20
3、原则 4. 克劳士比(Crosby) 提出了“零缺陷”的概念1) 质量管理的绝对性(1)质量就是符合要求,而不是“完美”。(2)质量来自于预防,而不是检验。 (3)质量的标准是“零缺陷”,而不是可接受质量水平。(4)质量的衡量标准是“不符合要求的代价”2) 质量改进的基本要素 6C “变革管理的六个阶段”:领悟(comprehension)理解质量真谛承诺(commitment)制定质量策略的决心能力(capability)教育与培训沟通(communication)成功的经验文档化、制度化改正(correction)预防与提高绩效坚持(continuance)强调质量管理成为一种工作方式PD
4、CA模型 IDEAL: I:Initiating 开始 D: Diagnosing 诊断、评价E: Establishing 建立A: Acting 执行L: Leveraging 调整模型常用软件过程改进模型软件能力成熟度模型(Capability Maturity Model,CMM)等级1)初始级2)可重复级3)已定义级4)已经管理级5)优化级CMMI:2000年整合软件工程(SW)、系统工程(SE)、集成产品(IPPD)开发等专业领域而发表了整合式模型CMMI v1.0版敏捷过程极限编程 (XP)Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。PSP着重于软件开发人员的个
5、人能力提升,体现在估算能力、计划能力、计划执行以及质量管理等方面TSP能够提供了一个已经定义的团队构建过程;一个团队作业框架;一个有效的管理环境。Rational统一过程(Rational Unified Process,RUP)最佳实践 (1)迭代式开发 (2)管理需求 (3)使用基于构件的体系结构 (4)可视化建模 (5)验证软件质量(6)控制软件变更平衡敏捷与规范结论:1敏捷与规范,软件开发中看似对立的两个属性,实际上相得益彰。2计划驱动的开发人员必须敏捷,敏捷开发人员必须规范。成功的关键在于找到两者的平衡点。3这个平衡点随项目所处的环境以及所涉及的风险而变化。仅凭一腔热情径直地采用极端
6、方法的开发人员,必须学会如何根据实际情况恰当地平衡敏捷与规范。思考:如何刻画软件过程特征?个人软件过程(psp)PSP作用个人级别估算和计划承诺和拒绝承诺理解和改进工业水准的过程和规范客观决策的数据PSP基本度量项即时间缺陷规模日程(TSP)PSP 典型规模度量方式LOC FPPROBE(PROxy Based Estimation)简单方法计算简单,但是,不稳定正态分布法相对稳定,在历史数据基本符合正态分布的情况下,可以给出非常好的相对大小矩阵对数正态分布法更加符合人们对于程序的规模的直观感觉在PSP中为确保估算质量,对于历史数据的相关性要求r0.7在PSP中要求显著性s0.05关于估算的思
7、考与讨论估算可能做到准确嘛?要估算哪些东西?估算准确对应不同的估算对象,其含义有差异吗?该如何正确理解估算以及估算在软件项目中的作用质量与设计软件项目的日程、成本以及质量三大目标统一于质量目标软件质量的概念:软件质量为“与软件产品满足规定的和隐含的需求能力有关的特征或者特性的全体”PSP质量策略用缺陷管理来替代质量管理;高质量产品也就意味着要求组成软件产品的各个组件基本无缺陷各个组件的高质量是通过高质量评审来实现的质量指标:质量指标之一 :YieldYield指标用以度量每个阶段在消除缺陷方面的效率Phase Yield = 100 * (某阶段发现的缺陷个数)/(某阶段注入的缺陷个数+进入该
8、阶段前遗留的缺陷个数)Process Yield = 100 * (第一次编译前发现的缺陷个数)/(第一次编译前注入的缺陷个数)质量指标之二: A/FRA/FR = PSP质检成本/PSP失效成本PSP中定义的失效成本为编译时间和单元测试时间之和。PSP中定义的质检成本为设计评审时间与代码评审时间之和。质量指标之三:PQI5个数据乘积设计质量:设计的时间应该大于编码的时间设计评审质量:设计评审的时间应该大于设计时间的50%代码评审质量:代码评审时间应该大于编码时间的50%代码质量:代码的编译缺陷密度应当小于10个/千行程序质量:代码单元测试缺陷密度应当小于5个/千行PQI 越大,质量越高质量指
9、标之四:Review Rate在PSP的实践中,代码评审速度小于200 LOC/小时,文档评审速度小于4 Page/小时质量指标之五:DRL缺陷消除效率比度量的是不同缺陷消除手段消除缺陷的效率。其计算方式是以某个测试阶段(一般为单元测试)每小时发现的缺陷数为基础,其他阶段每小时发现缺陷数与该测试阶段每小时发现的缺陷的比值就是DRL。评审的其他考虑因素打印后评审往往效果更好评审时机选择 :编译(UT)之前 VS. 之后?个人评审和小组评审:先个人再小组缺陷预防PSP设计模板操作规格模板(Operational Specification Template, 简称OST)功能规格模板(Functi
10、onal Specification Template, 简称FST)状态规格模板(State Specification Template,简称SST)逻辑规格模板(Logical Specification Template,简称LST)OSTOST描述的是系统与外界的交互,具体而言,是描述“用户”与待设计系统的正常情况和异常情况下的交互OST可以用来定义测试场景和测试用例,也可以作为和系统用户讨论需求的基础,特别是操作相关的需求描述FSTFST描述的是系统对外的接口,这是一种静态信息的描述SSTSST可以精确定义程序的所有的状态、状态之间的转换以及伴随着每次状态转换的动作LSTLST可以
11、精确描述系统的内部静态逻辑。为了消除描述的二义性,一般建议用伪代码配合形式化符号来描述设计结果。设计验证方法方法状态机验证符号化执行验证执行表验证跟踪表验证正确性验证PSP如何支持质量目标的实现?PSP的对设计过程如何管理?PSP如何保障设计的质量?团队工程开发团队需求开发是如何进行的?团队设计应当如何组织?团队实现有哪些策略需要注意?团队集成有哪些策略?验证和确认在开发工作中如何应用客户需求:描述的是客户的期望产品需求:描述的是开发团队所提供的解决方案。即针对上述的客户需求,开发团队设计出一个可以帮助客户解决工作当中碰到的问题的方案产品组件需求:描述的是组成产品的各个组件的需求规格。与产品需
12、求相比,这是更低层次上,更为细致的描述了上述解决方案中的某个组件的功能、性能、形式等。验证(Verification)活动也是检验获得的产品和产品组件能不能满足各自事先定义好的需求规格;确认(Validation)活动是为了确保产品可以满足客户的需求以及实际操作场景的要求需求开发需求获取需求汇总需求验证需求文档制作团队设计设计过程与PSP基本一致,额外考虑如下内容:团队智慧的使用设计标准设计复用设计的可测试性支持设计的可用性支持等要求实现策略评审的考虑复用策略可测试性考虑集成策略选择大爆炸集成策略逐一添加集成策略集簇集成策略扁平化集成策略验证与确认活动环境准备对象选择活动实施结果分析团队项目管
13、理团队项目计划包含哪些内容?上述计划该如何开发?团队项目进度如何跟踪与管理?项目总结该总结什么内容?WBS:工作分解结构(Work Breakdown Structure,简称WBS)是以可交付成果为导向对满足项目目标和开发交付产物的项目相关工作进行的分解。它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义.WBS作用:范围基线提供整体观不遗漏可交付物明确各个角色的责任工作包定义估算和计划的基础理解工作,分析风险开发策略是在产品组件需求基础之上,明确每个产品组件的获得方式与顺序,从而在项目团队内部建立起大家都理解的产品开发策略。注意事项WBS的使用产品组件开发顺序的考虑产品
14、组件获得方式的考虑生命周期模型:技术实现项目启动项目策划需求开发集成与测试交付与维护需求管理配置管理风险管理验证 确认 项目总结风险计划风险管理大致分成两部分,即风险识别和风险应对。风险应对典型的策略包括:风险转嫁风险解决风险缓解团队项目跟踪与管理项目的挣值管理方法(Earned Value Management,简称EVM)是用来客观度量项目进度的一种项目管理方法里程碑评审软件项目的里程碑往往是指某个时间点,用以标记某项工作的完成或者阶段的结束纠偏活动的管理典型的纠偏活动包括偏差原因分析纠偏措施定义纠偏措施管理项目总结1.基于PMBOK的总结范围管理、时间管理、成本管理、质量管理、人力资源管
15、理、沟通管理、风险管理、采购管理和整合管理9大知识领域2. TSP项目总结介绍 TSP也提供了一种项目总结的方式,在这种方式当中,团队成员结合自己的角色,总结自己角色相关工作的得失,提出下一个开发周期的改进建议。典型角色包括项目组长、计划经理、开发经理、质量经理、过程经理和支持经理、工程师TSP总结过程阶段:准备阶段过程数据评审阶段人员角色评价阶段总结报告撰写阶段项目支持活动配置项是在配置管理当中作为单独实体进行管理和控制的工作产品集合基线是配置项持续演进的稳定基础。发布一个基线包括该基线所有的配置项以及这些配置项的最新变更,因此,可以将基线作为接下来工作的基础。典型的发布基线时间点为需求分析
16、之后、设计完成之后、单元测试之后以及最终产品发布。配置管理是以技术和管理的手段来监督和指导如下工作的规程CMMI 2006:GQM是一种应用非常广泛的建立软件度量体系的方法。GQM从管理的目标出发,将目标归纳、分解为度量的指标, 并把这些指标提炼成可以测量的值,是一种科学的、系统的思考问题的方式。概念层(目标Goal)目标是为某个特定的对象而定义的。这里的对象是指软件产品、软件过程以及相关的资源等。定义的目标基于不同原因和不同质量模型,也要参考不同的角色视图与特定的环境。操作层(问题 Question)基于一定的刻画上述目标是否达成或者目标达成的进展情况的模型,使用一系列的问题来定义所研究的对
17、象, 然后得出评价或评估特定目标达成进展情况。所选择的问题应当尽量体现质量相关的话题。量化层( 度量 Metric)试图以量化的方式回答上述操作层识别出来的问题。GQM示例-PMG: 确保稳定性、可预测性的开发过程来满足计划的里程碑。Q: 我的项目是否按照计划的轨迹前进,计划的里程碑都能实现吗?M: 软件项目开发工作的挥发性(分支、流、统一变更管理(UCM)活动)。 3、通过活动,使学生养成博览群书的好习惯。B比率分析法和比较分析法不能测算出各因素的影响程度。C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相
18、互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。C成本报表是对外报告的会计报表。C成本分析的首要程序是发现问题、分析原因。C成本会计的对象是指成本核算。C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。C成本计算方法中的最基本的方法是分步法。XD当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本 中。D定额法是为了简化成本计算而采用的一种成本计算方法。F“废品损失”账户月末没有余额。F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。F分步法的一个重要特点是各步骤之间要进行成本结转。(
19、)G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错G工资费用就是成本项目。()G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对J计算计时工资费用,应以考勤记录中的工作时间记录为依据。()J简化的分批法就是不计算在产品成本的分批法。()J简化分批法是不分批计算在产品成本的方法。对 J加班加点工资既可能是直接计人费用,又可能是间接计人费用。J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,XK可修复废品是指技术上可以修复使用的废品。错K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。P品种法只适用于大量大批的单步骤生产的企业
20、。Q企业的制造费用一定要通过“制造费用”科目核算。Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。 S生产车间耗用的材料,全部计入“直接材料”成本项目。 S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。()W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性支出。XY以应付票据去偿付购买材料的费用,是成本性支出。XY原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。()Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对Z直接生产费用就是直接计人费用。XZ逐步结转分步法也称为计列半成品分步法。A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)