快速开发高质量软件的实战应用

讲师:董轶 发布日期:12-25 浏览量:98
软件质量管理的主要目标是确保软件满足要求,即满足干系人的需求和期望,企业的根本目标是为获取更多的利润,在实际运作软件项目时,项目的进度、成本和质量往往存在着矛盾。如果不惜一切代价追求高质量,付出的代价超过收益,则失去商业价值,如果为了抢占市场而把速度作为最高优先级,那么没有足够时间,如何保证产品的性能指标?如何在考虑各种制约因素的前提下,提升软件质量,多快好省地开发出符合要求的软件,成为软件开发制胜的关键。


质量不是检验出来的,而是设计和制造出来的。遵循这一基本质量管理原则,课程将覆盖软件开发过程的端到端的各个环节,做好质量管理规划,在软件需求分析、系统设计、编码、评审和测试等各个环节,分享多年积累的实践经验和实战案例,帮助掌握提升软件质量的关键活动,并用可视化监控方法实施全面质量管理。


本课程《快速开发高质量软件的实战应用》将全面、深入剖析适应于不同环境的软件质量管理方法,并提供具有实操性的工具和方法,助力企业提升软件项目的质量管理水平。
1.掌握软件开发生命周期和质量管理模型,建立整体认知;


2.掌握软件项目估算的特点,能够正确判断计划对项目产生的实际影响,识别其中的常见误区;


3.掌握软件项目需求工作的特点,以及引领和驾驭需求的多种方法;


4.理解软件设计工作不到位会带来的严重后果;


5.掌握召开有效的技术评审会议的方法,以及如何解决常见的问题;


6.掌握软件系统测试用例的设计方法、典型性能问题出现的场景及应对策略;


7.掌握制定质量管理计划的方法,以及如何通过质量保证人员提升产品质量。
课程导入:


1.讲师自我经历介绍,建立链接 【开场破冰】


2.澄清课程的目标,达成共识,强化心理预期 【目标共建】





第一讲:软件质量管理的常见误区和对策


一、常见问题——认知误区阻碍质量提升


1.软件项目管理的难点


小组研讨:讨论典型的软件项目所犯的错误


2.软件项目管理的典型错误


3.掌握平衡——通盘考虑多个制约因素


工具:项目管理铁三角和七大制约因素


二、提出对策——软件产品开发过程方法论


从小作坊到正规军:个人英雄→查质量→做质量→流程机制


1.敏捷软件开发方法——迭代模型 & 增量模型


2.ISO9000族质量管理体系、CMMI软件成熟度模型


3.重量级方法论:


IBM RUP(Rational Unified Process),统一软件开发过程模型


集成产品开发IPD(Integrated Product Development)


小组研讨:选择实际项目,根据项目特点选择合适的项目管理方法


4.软件产品开发过程介绍


(1)软件产品开发过程模型


横向:售前立项│产品开发│产品试运行│产品移交和收尾


纵向:营销过程│项目管理过程│产品研发过程│项目支持过程


(2)软件产品开发项目的组织结构和角色——12种角色


(3)软件产品开发过程模型中的过程域、主要活动和主要工作成果


软件产品开发过程模型
































第二讲:软件产品开发过程——营销过程详解


一、产品创意和需求研究


1.本过程域的2个活动及其工作成果


2.本过程域的关键管控点


二、产品试用和市场宣传


1.本过程域的2个活动及其工作成果


2.本过程域的关键管控点


三、合同项目售前管理


1.本过程域的4个活动及其工作成果


2.本过程域的关键管控点


四、客户维护和项目验收


1.本过程域的4个活动及其工作成果


2.本过程域的关键管控点





第三讲:软件产品开发过程——项目管理过程详解


一、立项管理


1.本过程域的4个活动及其工作成果


2.本过程域的关键管控点


二、项目规划和监控


1.本过程域的6个活动及其工作成果


2.QA人员在项目规划过程中提供支持指导


A:根据项目特点帮助选择正确的项目生命周期


B:根据组织裁剪指南和项目特点定义软件过程


C:帮助识别项目高层风险,如跨团队、跨项目的依赖关系


D:帮助制定培训计划


3.软件项目估算和规划的难点


A:客户要求压缩进度,项目经理怎么办?


B:过于乐观的进度计划产生的根源


C:过于乐观的进度计划的不良后果


D:进度谈判策略——双赢的解决方案


小组研讨:合理估算项目进度,讨论以下因素之间的逻辑关系


估算进度 VS.实际进度


项目进度 VS.项目费用


估算进度 VS.完成可能性


案例分析:某商业银行1号工程缘何受挫?项目失败的导火索是什么?


三、风险管控和变更控制


1.本过程域的2个活动及其工作成果


2.本过程域的关键管控点


3.软件项目风险分类及其解析


核心理念:从救火模式到未雨绸缪


|政治法律|客户|子承包商/供应商


|上级领导/行政部门/合作部门|项目规划


|项目团队|需求|综合技术/开发能力


四、结项管理


1.本过程域的3个活动及其工作成果


2.本过程域的关键管控点





第四讲:软件产品开发过程——产品研发过程详解


一、需求开发和管理


1.本过程域的6个活动及其工作成果


案例分析:


一个危机整改项目——某农信社渠道软件平台需求管理的典型错误


2.把控质量问题的源头——软件需求分析


(1)基本概念:什么是需求、客户和用户?


要求(明确说出)+ 期望(未明确说出)


需求和设计界限不明:写需求时考虑如何实现,写设计时发现需求模糊


(2)软件项目失败的典型原因


(3)软件需求的特点:分散性、模糊性、矛盾性、潜在性


3.如何引领软件需求工作


(1)对待需求工作的态度


(2)需求开发的7个主要困难与对策


(3)如何引领需求工作——破解需求的冰山


需求研究的重点——洞察三类需求


✱ 客户没有说出来的需求(Unsay)


✱ 客户没有想到的需求(UnWanted)


✱ 客户没有预期的需求(Unexpected)


(4)攻城为下,攻心为上——关注对方的5种心理状态


(5)谁是选择解决方案的最佳人选——识别真正问题


(6)控制项目范围蔓延 [攻守兼备]


A:采用敏捷方法拥抱变化


工具:敏捷合同


B:与客户对需求变更流程达成共识


C:预测潜在需求变更的4类方法


模板:《软件项目配置变更申请单》


小组研讨:如何应对多变的软件需求?


工具:软件缺陷修复/变更成本曲线


二、系统设计


1.本过程域的4个活动及其工作成果


2.打好软件质量的基础——软件系统设计


典型错误:接口设计不详细造成严重的质量问题


案例分析:典型生产事故根因分析——


某互联网金融平台交易金额扩大100倍的质量问题


3.关键业务连续性的架构设计策略


案例分析:银行关键业务系统架构设计核心策略


金融平台门户潮涌解决方案


三、开发和集成


1.本过程域的3个活动及其工作成果


2.本过程域的关键管控点


四、测试管理


1.本过程域的3个活动及其工作成果


2.软件缺陷的表现形式、产生原因和产生过程


软件错误>软件缺陷>软件故障>软件失效


3.软件测试的分类与比较


单元测试→集成测试→确认与系统测试→验收测试


4.如何制定测试计划


测试范围,测试目标,测试里程碑、交付物、WBS、工作量估算、进度计划、资源需求(人力、软硬件资源)、测试组织结构等


5.软件测试用例设计方法


(1)测试用例的7大要素


(2)如何编写测试用例


A:什么是好的测试用例


B:白盒测试用例设计方法


C:黑盒测试用例设计方法


模版:《软件测试用例表》


6.测试过程常见典型问题分析


软件性能测试分类


案例分析:高并发压力下,容易出现软件性能问题的几个典型场景


五、软硬件系统集成


1.本过程域的4个活动及其工作成果


2.本过程域的关键管控点


六、部署试用


1.本过程域的4个活动及其工作成果


2.本过程域的关键管控点


七、系统运维


1.本过程域的3个活动及其工作成果


2.本过程域的关键管控点





第五讲:软件产品开发过程——项目支持过程详解


一、软件配置管理和文档管理


1.软件配置管理的概念


2.软件代码管理、文档管理的一般规则


3.技术文档质量


(1)技术文档的重要性和5C原则


(2)技术文档的15个基本要求


(3)什么是好的软件需求规格说明书——10大标准


(4)文档编写中需考虑的3个因素


敏捷软件开发不用写文档吗?


误区:对敏捷宣言的错误理解


案例分析:典型生产事故根因分析——


某银行核心业务系统动账交易失败的质量问题


4.软件项目全生命周期的文档要求


GB/T8567-2006计算机软件文档编制规范——25种软件文档


A:管理文档(10份)


B:技术文档(8份)


C:用户文档(7份)


示例:技术文档的核心内容


简介:目的和范围


总体概述:软件概述、软件功能、用户特征、假设和依赖


具体需求:功能需求、性能需求、接口需求(用户接口、软件接口、硬件


接口、通信接口)


设计约束:标准约束、硬件约束、技术限制


质量属性:可维护性、可靠性、安全性、可移植性、易用性


依赖关系:需求内外部依赖关系


二、软件质量管理(测试管理、技术评审、缺陷跟踪、质量保证)


1.全面软件质量管理模型和5个活动


制定质量管理计划


A:技术评审(同行评审)


B:测试管理


C:质量保证:过程审查 & 产品审查


审查内容、审查方式、审查时间/频度、工作量


D:缺陷跟踪


E:发布管理


模版:《软件质量管理计划》


案例分析:某大型软件项目的质量测量指标之争论


2.软件质量特性


(1)什么是软件产品质量


(2)软件10大质量要素


正确性│健壮性│可靠性│性能│易用性│


清晰性│安全性│可扩展性│兼容性│可移植性


小组研讨:讨论实际项目中,软件系统哪些质量要素对于商业价值很重要?


3.软件全生命周期的质量成本


A:质量成本分类:


一致性成本——预防成本、评估成本


非一致性成本——内部失效成本、外部失效成本


B:对质量活动进行成本效益分析


工具:质量成本效益曲线


4.项目经理与QA人员的关系


QA必须具有独立性


QA人员推进工作的难点和困惑:


-质量出了问题,是质管人员的错吗?


-质量保证能够保证质量吗?


案例分析:一个两败俱伤的项目—启动不成功,满盘皆输


案例分析:某大型软件项目QA人员错位导致的质量失控


关于项目计划,QA与PM多次发生冲突,如何解决?


软件修复后紧急上线,QA与项目经理发生冲突,如何解决?


5.持续过程改进的难点和推进方法


难点:高速公路上换轮胎


策略:找到合适的切入点,平衡流程和效率


破解:组织文化带来的改进阻碍


6.技术评审,关键问题


(1)技术评审实施的6个步骤


(2)评审会议为什么虎头蛇尾——常见的6大问题


小组研讨:技术评审存在的问题及如何解决?


如何提升评审效果,避免走形式?


案例分析和模版展示:


某银行技术评审检查单(各类评审的关键点和要素)


架构评审、需求评审、设计评审、代码评审、测试用例等评审


7.缺陷管理及统计分析


A:缺陷统计维度:缺陷来源6种、缺陷类型15种、缺陷严重程度S1-S5、


缺陷优先级P1-P5、缺陷状态6种


B:缺陷统计分析:缺陷趋势分析、缺陷密度分析、缺陷分布分析、


缺陷各维度分析(严重程度、种类、根源等)


三、客户服务支持管理


1.本过程域的2个活动及其工作成果


2.本过程域的关键管控点


四、统计分析


1.本过程域的2个活动及其工作成果


2.本过程域的关键管控点





课程总结和答疑
分享
联系客服
返回顶部