您好,欢迎访问广东培训网!
当前位置:首页 > 企业内训 > 企业经营 > 课程内容

高级软件需求分析师

  • 课程类型:内训课
  • 培训天数:3天
  • 用手机看:
    手机扫码
  • 授课老师:推荐
  • 课程编号:NX26963
  • 费用预算:根据方案进行定制
在线咨询
培训对象

软件开发企业的需求分析师、系统架构师、需求分析团队成员、资深开发人员、负责软件产品规划与定义的相关人员、需要了解软件开发全过程的管理人员。

课程简介

在软件组织中,需求分析师的作用举足轻重。统计表明,软件缺陷一半以上的原因来自于需求分析中的问题。仅凭这个数字,就足以告诉我们要提高软件的质量、增强产品的竞争力,培养高水平的分析师队伍,定义合理的需求过程,坚持正确的需求规范是多么重要。但是目前在软件需求分析领域,还存在着过程粗糙、方法随意、分析欠深入等问题,进而极大的影响产品质量,这正是在软件项目中,我们需要对需求分析下功夫的最大原因,本课程的主要思想如下:

1,需求工程在整个软件工程中的地位十分特殊,良好的需求将支撑整个工程项目有序而高效的进展,并对产品质量控制提供依据。目前在创新成为重要主题的环境下,软件开发已演变成通过反馈逐步求精的过程,在这个过程中需求变更不可避免,因此我们不再认为需求仅仅是一个前期的工作,而几乎在整个过程每个点中都在发挥作用,这就对需求分析方法提出了新的要求。

2,软件需求是一项在复杂环境中高风险、高影响力的活动,所以单靠经验肯定是不行的,我们需要把问题抽象出来进行理论分析,发现它们之间的逻辑,通过缜密的逻辑思维,从系统的观点把方方面面的问题都关注到。这就需要以系统工程学的方法来处理需求,需求分析师需要有系统思考的能力。

3,需求分析的本质是在问题域中,为现实世界中的问题找到解决方案。事实上软件工程学就是发现问题并提出解决方案的一种工程方法。为了对“问题”这个主题有更加透彻的理解,我们需要更加理性的来探讨“问题”,需要有能力技巧性的处理问题,从而提出解决问题的产品构思。

4,需求分析师不能仅仅是记录员,他需要理解客户思维,帮助客户理清问题。这就需要分析师的工作有一整套方法论来支撑。包括业务建模、产品建模、在建模的过程中收集与理清想法,把握问题的关键,发现需求背后的需求,从而构思出真正符合客户需要的产品。在这样的过程中,要求分析师应该具有相当强的归纳能力。

5,面对日益复杂的软件系统,软件复用被认为是解决“软件危机”、提高软件开发效率和质量的重要途径。在这个背景下,需求分析就需要关注共性和个性(变化性)这两个非常重要的特征。抽取了共性,就可以减少重复劳动,抓住了变化性,就可以使关注点更集中,这也为构建可维护、易扩展、可移植的行业软件提供基础性的支持。为此,在需求分析中就需要形成一套完整的可复用方法论,需要为需求分析注入新的思想,上升到一个新高度。那么我们该如何去想如何去做呢?

6,软件产品的价值在于其不断的创新,企业唯有将创新纳入有效的管理规划之中,遵循明确的指导原则和方法论,进行持续不断的系统化创新,才能长久地保持竞争优势。分析师的作用不仅仅是了解客户的需要,更需要以一种创新思维参与产品构思,帮助客户从自己的现状中释放出来,这就要求分析师具有很强的创新能力。

7,目前在需求分析中广泛使用用例方法,但这也是误解最多的一种方法。我们必须对用例有深刻而正确的理解。如果编写恰当,不需要把用例转换为需求的其它形式,就可以准确地对系统行为进行详细地描述。编写有效用例,正确而专业的书写需求文档,完整定义功能性、非功能性需求及其测试条件,都是提升需求分析质量的重要控制点。

8,随着对软件质量的要求越来越高,在需求分析中正确定义质量需求成为高质量产品开发的起点。而以可度量的方式描述质量属性与验收条件,又成为良好需求的难点。为此,我们必须寻找一套可行的方法,以符合标准的方式挖掘和定义非功能性需求。我么我们该如何去做呢?

9,近年来,由于项目越来越大、越来越复杂,应对软件的易变性就不可能完全从需求分析方法本身解决问题,而需要有更加合理的项目过程。需求分析师需要对软件开发过程及其相应的需求分析方法有深刻的理解,从而主动使需求分析成为整个软件开发过程中有效的一环,为高质量软件开发提供关键的支撑。

本课程的授课特点是在理论指导下进行案例教学,通过汇集许多专家多年来理论和实践的总结,使课程既有理论高度,又强调提升实践技巧,使理论与实践完美结合,达到从根本上提升企业需求分析能力的目的。在授课过程中还强调了如何根据具体环境,寻找更加合适的方法,从而避免死板僵化毫无生气的分析模式,代之以生动活泼富有创造性的分析过程,通过学习,希望企业项目开发达到一个新的水平。

二、课程内容

第一讲需求工程的思想与方法论

1,高质量需求工程方法论

需求工程与需求开发方法论

优秀需求规格说明具有的特性

复杂系统的需求分解

分层的需求组织方法

2,需求开发过程定义

目标一:开发客户需求

目标二:开发产品需求

目标三:分析和确认需求

第二讲需求开发第一阶段:项目启动

1,项目启动过程说明

2,从问题分析开始开发需求

一切项目的需求开始于问题

在问题定义上达成共识

理解根本原因:问题背后的问题

3,分析客户问题思考产品愿景

从行业的视角思考产品愿景

从产品战略的视角思考愿景

4,初步定义解决方案的边界与约束

定义解决方案的边界

确定解决方案将受的约束

5,项目的陈述

第三讲需求开发第二阶段:开发客户需求

1,需求获取过程说明

2,业务的概念分析

在建模的过程中理解业务并获取需求

确定业务分析的范围

概念建模与概念类的识别

概念模型的关联与属性

泛化与抽象

3,业务的行为分析

发现业务事件

当前业务模型(As-IsModel)的建立

未来业务模型(To-BeModel)的建立

在建模的过程中发现功能需求

4,面向特征的领域建模

领域工程与特征模型

清晰的分离共性与变化性

重点针对变化建模

5,基于控制系统的状态变迁模型

6,用创新思维发现潜在需求

理解客户思维

关注应用层面的创新

明确创新点

有目的有组织的系统化创新

7,需求获取中如何理解用户和涉众的需要

引出需求方法论问题

创建用户代表

交流的能力与面谈技巧

理解用户的思维过程

业务用例研讨会

头脑风暴会议

8,通过原型法挖掘需求

原型是“什么”和“为什么”要原型

水平和垂直的原型

抛弃型原型或进化型原型

通过原型挖掘需求

原型法的风险评价

9,产品边界的最后确定

最终确定产品的价值与范围

客户需求说明书参考模板

第四讲需求开发第三阶段:开发产品需求

1,软件需求的严格定义及思考

软件需求的严格定义

需求的两难问题

迭代的需求和设计过程

2,深入理解用例方法

用例的完整概念

用例是规范行为的契约

用例的目标层次

用例模型及其创建

3,用例的结构化及其文档描述

包含、扩展与泛化

包含的场景描述

扩展的场景描述

用例的泛化关系及场景描述

正确编写用例的提示

4,新产品开发项目中的需求问题

有限的需求来源

模糊的需求界定

避免CPD陷阱

防止NV陷阱

第五讲需求开发第四阶段:分析需求

1,发现和分析功能性需求

细节程度和粒度

异常和可选方式

避免二义性

2,发现和分析非功能性需求

非功能性需求类型与软件质量模型

定义质量属性

冲突性的属性与取舍

不要编写解决方案

3,确定验收标准

4,分析与设定需求优先级

为什么要设定需求的优先级

不同角色的人处理优先级

设定优先级的矩阵方法

第六讲需求开发第五阶段:编写需求规格说明

1,需求编写过程说明

2,需求规格说明书模板

3,项目驱动与问题描述

4,产品限制条件的确定

5,功能性和非功能性需求的描述

工作的范围

产品的范围

功能性需求和数据需求

非功能性需求

6,阐述项目问题

7,需求文档编写的若干建议

产品需求规格说明书参考模板

善于书写良好的文档

第七讲需求的管理、验证与确认

1,需求管理的目的与任务

获得对需求一致的理解

建立利益相关方理解需求的渠道

获取对需求的承诺

2,需求跟踪

需求跟踪的动机与方法

需求跟踪中的管理活动

查找和消除不一致

3,需求变更控制

确定需求变更类型

审批变更申请

管理变更请求

4,验证与确认的基本概念

5,需求验证测试的步骤

6,需求确认与正式评审方法

7,课程的回顾与建议

稳定边界防止需求蔓延

时代呼唤优秀的软件分析师

讲师介绍

谢老师  教授,大型电子对抗项目负责人、首席系统架构师,组织过多个大型软件项目,GJB 5000A高级咨询顾问,对软件工程管理与过程具有深邃的理论见解和实践知识。

谢老师多年从事软件工程项目以及教学研究,尤其在软件系统架构和需求分析领域,曾作为首席架构师完成大型军用项目并获科技成果奖,作为首席设计师完成石油化工仿真系统,谢老师精通设计与实现,在高速公路管理系统、地铁信息化平台、大型网站、金融信息化、商用软件设计、钢铁信息化等领域担任多家公司顾问,指导开发过程管理、分析和架构设计。

谢老师多年来为企业高端人员讲授的“高级系统架构师”、“高级需求分析师”、“高质量软件项目管理”以及“外包项目管理的理论与实践”等课程,在国内软件企业、军队指挥机构、航空船舶设计研发单位以及金融、保险、证券等行业中有相当大的影响。

内训服务流程
内训服务流程
在线报名/咨询
联 系 人 :
联系方式:
公司名称:
咨询事项: