其它排期:
授课讲师:专家组
课程价格:5000
培训对象:
请填写您的报名信息
时间地点:
1) 点击这里,查看最近是否开课!
2) 本次课程已过期,请留下联系方式,近期开课时我们通知您!
课程信息:
2012年12月12日--12月15日地点:北京
2012年12月19日--12月22日地点:上海
培训费:5000元/人(含教材、证书、午餐、等)食宿统一安排,费用自理。
培训对象:
软件开发企业的需求分析师、系统架构师、需求分析团队成员、资深开发人员、负责软件产品规划与定义的相关人员、需要了解软件开发全过程的管理人员。
培训要点:
在高质量软件项目中,需求工程的作用举足轻重。统计表明,软件缺陷一半以上的原因来自于需求分析中的问题。仅凭这个数字,就足以告诉我们要提高软件的质量,定义合理的需求过程,提升需求工程水平,坚持正确的需求规范是多么重要。但是目前在软件需求分析领域,还存在着过程粗糙、方法随意、分析欠深入等问题,进而极大的影响产品质量,这正是在软件项目中,我们需要对需求分析下功夫的最大原因,本课程的主要思想如下:
1,需求工程在整个软件工程中的地位十分特殊,良好的需求将支撑整个工程项目有序而高效的进展,并对产品质量控制提供依据。目前在创新成为重要主题的环境下,软件开发已演变成通过反馈逐步求精的过程,在这个过程中需求变更不可避免,因此我们不再认为需求仅仅是一个前期的工作,而几乎在整个软件开发过程中每个节点中都在发挥作用,这就对需求分析方法提出了新的要求。
2,软件需求是一项在复杂环境中高风险、高影响力的活动,所以单靠经验肯定是不行的,我们需要把问题抽象出来进行理论分析,发现它们之间的逻辑,通过缜密的逻辑思维,从系统的观点把方方面面的问题都关注到。这就需要以系统工程学的方法来处理需求,需求分析师需要有系统思考的能力。
3,需求分析的本质是在问题域中,为现实世界中的问题找到解决方案。事实上软件工程学就是发现问题并提出解决方案的一种工程方法。为了对“问题”这个主题有更加透彻的理解,我们需要更加理性的来探讨“问题”,需要有能力技巧性的处理问题,从而提出解决问题的产品构思。
4,需求分析师不能仅仅是记录员,他需要理解客户思维,帮助客户理清问题。这就需要分析师的工作有一整套方法论来支撑。包括业务建模、产品建模、在建模的过程中收集与理清想法,把握问题的关键,发现需求背后的需求,从而构思出真正符合客户需要的产品。在这样的过程中,要求分析师应该具有相当强的归纳能力。
5,面对日益复杂的软件系统,软件复用被认为是解决“软件危机”、提高软件开发效率和质量的重要途径。在这个背景下,需求分析就需要关注共性和个性(变化性)这两个非常重要的特征。抽取了共性,就可以减少重复劳动,抓住了变化性,就可以使关注点更集中,这也为构建可维护、易扩展、可移植的行业软件提供基础性的支持。为此,在需求分析中就需要形成一套完整的可复用方法论,需要为需求分析注入新的思想,上升到一个新高度。那么我们该如何去想如何去做呢?
6,软件产品的价值在于其不断的创新,企业唯有将创新纳入有效的管理规划之中,遵循明确的指导原则和方法论,进行持续不断的系统化创新,才能长久地保持竞争优势。分析师的作用不仅仅是了解客户的需要,更需要以一种创新思维参与产品构思,帮助客户从自己的现状中释放出来,这就要求分析师具有很强的创新能力。
7,在产品需求的定义中,利用业务场景描述行为是减少需求二义性的有效手段,但这也是误解最多的方法。我们必须对用例及其文档编写有深刻而正确的理解。如果编写恰当,不需要把用例转换为需求的其它形式,就可以准确地对系统行为进行详细地描述。编写有效用例,正确的书写专业的需求文档,完整定义功能性、非功能性需求及其测试条件,都是提升需求分析质量的重要控制点。
8,随着对软件质量的要求越来越高,在需求分析中正确定义质量需求成为高质量产品开发的起点。而以可度量的方式描述质量属性与验收条件,又成为良好需求的难点。为此,我们必须寻找一套可行的方法,以符合标准的方式挖掘和定义非功能性需求。
9,由于需求的易变性本质,作为一个完整的工程方法,除了需要高水平开发以外,还需要严谨与规范的需求管理。包括如何保证各方对于需求有一致的理解?如何实现需求跟踪?如何确定需求变更策略?特别是随着近年来项目越来越大、越来越复杂、越来越敏感,需要有更加合理的需求管理与质量控制方法,使需求成为整个软件开发过程中有效的一环,为高质量软件开发提供关键的支撑。
10,验证和确认是软件工程中重要的质量控制方法,为了保证需求的质量,坚持应用验证与确认也非常有效。但是,在需求工程范畴内,验证与确认到底需要关注那些问题?如何建立合理的需求质量关?如何让验证与确认真正发挥作用?有什么具体的实施方案?我们该如何去做呢?
本课程的依据于需求开发、需求管理、验证与确认的规范,并且扩展成一套完整的方法论。课程并不针对具体的产品,所举的案例本身并不重要,而是期望通过一个环境深入理解方法。课程强调的是知其然更要知其所以然,从根本上解决问题,而不是仅仅关注技能的工匠式处理问题方式。
本课程汇集了许多专家多年来理论和实践的总结,使课程既有理论高度,又能提升实践技巧,使理论与实践完美结合。在授课过程中还强调了如何根据具体环境,寻找更加合适的方法,从而避免死板僵化毫无生气的分析模式,代之以生动活泼富有创造性的分析过程,通过课程的教学,希望学员结合自己的实际,构建满足具体需要的方法,使机构的项目开发达到一个新的水平。
培训内容:
(一)系统思考:高质量软件需求工程概述
1)需求工程:需求开发与需求管理
软件需求工程模型
需求开发与软件质量
2)软件需求的严格定义及思考
需求是从外部描述产品的手段
优秀的需求所具有的特征
3)需求工程的方法与过程
解决复杂非线性问题的工程方法
利益相关方的参与是关键
需求开发与管理的过程框架
(二)需求规划:产品的目标与轮廓
1)从问题分析开始开发需求
一切项目的需求开始于问题
在问题定义上达成共识
2)分析客户问题思考产品目标
为什么目标分析十分重要
从行业的视角思考产品目标
从产品战略的视角思考目标
3)初步定义产品的轮廓
定义解决方案的边界
确定解决方案将受的约束
4)项目的陈述
(三)面向客户:如何开发客户需求
1)业务的概念分析
在建模的过程中理解业务并获取需求
确定业务分析的范围
面向对象的分析与概念建模
概念模型的关联、属性、泛化与抽象
2)业务的行为分析
发现业务事件
当前业务模型(As-Is Model)的建立
未来业务模型(To-Be Model)的建立
在建模的过程中发现功能需求
3)需求模式与需求复用
特定领域中的软件复用
面向特征的领域模型
领域行为的共性与变化分析
对变化建模
需求模式
4)基于控制系统的状态变迁模型
5)用创新思维发现潜在需求
理解客户思维
关注应用层面的创新
明确创新点
有目的有组织的系统化创新
6)需求获取中如何理解用户和涉众的需要
引出需求方法论问题
创建用户代表
交流的能力与面谈技巧
理解用户的思维过程
文档考古学
创造性研讨会
头脑风暴会议
7)通过原型法挖掘需求
原型是“什么”和“为什么”要原型
水平和垂直的原型
通过原型挖掘需求
如何使原型法获得成功
8)产品边界的最后确定
最终确定产品的价值与范围
客户需求说明书参考模板
9)需求获取问题总结
需求获取的指导方针
需求获取中的挑战
需求获取中的注意事项
何时知道你完成了需求的获取
(四)面向产品:如何开发产品需求
1)产品需求开发中的问题
复杂系统的需求分解
分层的需求组织方法
与利益相关方协商需求
2)深入理解用例方法
用例的完整概念
用例是规范行为的契约
用例的目标层次
用例模型及其创建
3)用例的结构化及其文档描述
包含、扩展与泛化
包含的场景描述
扩展的场景描述
泛化关系及场景描述
正确编写用例的提示
4)用例问题的进一步讨论
用例的益处
避免用例陷阱
利用用例组合功能结构
发现变更规律
5)新产品开发项目中的需求问题
有限的需求来源
模糊的需求界定
避免CPD陷阱
防止NV陷阱
(五)深入分析:如何分析与确认需求
1)分析与确认功能性需求
从用例模型中分析和确认功能性需求
细节程度和粒度
异常和可选方式
如何避免二义性
功能性需求的替代方式
2)分析与确认非功能性需求
非功能性需求类型与软件质量模型
定义质量属性
冲突性的属性与取舍
不要编写解决方案
3)确定验收标准
验收需要标准的原因
明确理由与测量的尺度
非功能需求的验收标准
功能性需求的验收标准
4)分析与设定需求优先级
为什么要设定需求的优先级
不同角色的人处理优先级
设定优先级的矩阵方法
(六)总结归纳:编写需求规格说明
1)需求规格说明书模板
2)项目驱动与问题描述
3)产品限制条件的确定
4)功能性和非功能性需求的描述
5)阐述项目问题
6)需求文档编写的若干建议
产品需求规格说明书参考模板
善于书写良好的文档
(七)质量控制:需求的管理、验证与确认
1)需求管理的目的与任务
2)获得对需求一致的理解
建立利益相关方理解需求的渠道
获取对需求的承诺
3)需求跟踪
需求跟踪的动机与方法
需求跟踪中的管理活动
查找和消除不一致
4)需求变更控制
确定需求变更类型
审批变更申请
管理变更请求
5)验证与确认的基本概念
6)需求验证测试的步骤
7)需求确认与正式评审方法
正式评审过程
评审前复查规格说明
需求评审的问题分离技术
需求评审的困难
稳定边界防止需求蔓延
(八)软件需求与项目估算
1)功能点估算及其对需求的作用
2)估算信息处理规模
确定估算的范围
内部逻辑文件(ILF)对复杂度的贡献
外部接口文件(EIF)对复杂度的贡献
外部输入(EI)对复杂度的贡献
外部输出(EO)对复杂度的贡献
外部查询(EQ)对复杂度的贡献
4)计算值调整因子(VAF)
5)规模估算的应用
6)项目估算对需求的反作用
(九)需求分析案例教学
1)案例背景介绍
2)需求分析场景练习
3)如何确定项目的边界
4)如何划分需求的等级
5)学员操练结果点评
(十)需求建模和文档管理案例分析
1)从客户需求到分析模型
2)需求建模操作要点
3)避免使用实例陷阱
4)编写需求文档的原则
5)需求示例的改进前后
(十一)从需求分析到架构设计案例分析
1)几个需求案例介绍
2)体会练习不同需求对架构的影响
3)逐一分析不同背景下的工作思路
4)总结如何从需求过渡到设计
5)介绍如何从需求到测试
师资:
由业界知名的需求分析师、架构师亲自授课:
谢老师 教授、高级咨询顾问,大型电子对抗项目首席系统架构师
杨老师 高级讲师,军方顾问,高级需求分析师