上海艾纵企业管理咨询有限公司 - 课程体系 - 专题课程 - 软件项目管理技术专题


您好!欢迎来到上海艾纵企业管理咨询有限公司!

加入收藏

登录注册

400-676-1955

专题课程

软件需求分析

我要报名

编辑日期 2018-06-11  阅读次数:399 次


【课程背景】

在经济蓬勃发展的今天,客户的信息化需求变化非常快,这对软件企业提出了严峻的挑战,对需求的快速反应能力体现了一个软件企业的核心竞争能力,国内软件企业软件开发过程远未成熟,却还要常常面临国外同行的竞争。如何在这样一个激烈的市场竞争环境中既积累产品技术、又能够迅速把握市场机会,软件需求开发和管理能力成为了关键。

课程围绕如何获得高质量的需求,介绍软件需求开发和需求管理过程,还利用讲师实际的经验,与学员共同分析本企业需求工作中的问题,并特别针对需求工作中的常见难点进行分析,包括如何在需求工作中与客户进行主动合作、如何保证需求的完整性和准确性、如何编写高质量的需求文档、如何在不断满足客户需求的同时积累企业的核心产品能力。课程不仅仅给学员在需求工程上一个完整的整体认识、还培训了学员在需求开发和需求管理的实际操作能力。

课程结合行业环境和软件企业具体发展状态来讲述软件需求开发与需求管理,对不同态势下的软件企业的需求工作具有实际的参考价值。

随着软件技术以及开发工具的发展,面向对象的分析设计初步成为软件开发的主流,然而在实际开发过程中,开发人员由于对面向对象理解的不透彻,以及受传统软件工程和过程化思维的影响,并不能很好的应用面向对象进行分析与设计,徒有其表。 因此,本课程以需求和设计为主线,UML作为建模语言,详细论述面向对象思想在业务建模、需求分析以及系统设计中的应用,使开发人员对面向对象的分析设计方法能有一个清晰的认识。

课程基于成熟的平台化开发管理模式、工具及方法,并结合国内出色研发管理企业的典型实践,针对企业的实际,帮助您掌握平台化研发管理的核心思想、组织模式以及系统的方法与工具,进而实现平台化、模块化开发,提升企业的核心竞争力。

【培训收益】

1、市场人员编写的客户需求不是非常详细,研发需要整理成客户需求文档,交给市场确认,甚至是到客户现场确认。

2、 很多软件项目经理很委屈,“用户都不知道自己要什么,我又如何知道啊?”到底谁应该更了解需求?是用户?还是开发方自己?

3、 需求应该如何分解,详细到什么程度?哪个阶段完成需求文档?由谁负责编写需求文档?

4、 有的项目需求变更频繁,如何控制变更?

5、 需求开发的时间,有的项目组时间长(40%),有的项目组时间短(10%),对项目管理工作带来挑战。

6、 有些企业的高层管理喜欢给软件开发团队定交付期限,“必须一个月之内拿出来,这是死命令”,这样做有效吗?是不是还有更有效的方法?

7、 有些开发团队对需求变更不负重荷,提出“要引导客户的需求?”,可强势的客户并不认可软件企业的引导,开发推断如何在需求变更中处于主动地位?

8、 到底什么是高质量的需求,是更好的模型么?需求如何进行评审?

9、 很多开发方不愿意编写需求"直接写代码不是更好吗?干嘛浪费时间写那些没有人看的东西呢?"编写需求真的是浪费时间的工作么?为什么出现这种现象呢?

 

【培训对象】

企业CEO/总经理、研发总监、研发经理/项目经理/技术经理/产品经理、系统工程师、产品规划从业者

 

【课程时长】

12小时(2天)

【课程大纲】

1.     案例及概述

本章节学习目标:讨论需求问题的现状及问题的严重性

1.1.   案例分析

1.2.   需求的重要性解读

1.3.   什么是需求工程?

1.4.   什么是需求开发?

1.5.   什么是需求管理?

1.6.   需求开发与需求管理的关系

1.7.   需求工程的推荐方法

1.8.   迭代的需求开发过程(敏捷方法,适应变更)

 

2.     认识软件需求

本章节学习目标:掌握软件需求的基本概念、理清思路

2.1.   什么是软件的需求?为什么不同的人理解差异那么大?

2.1.1.       问题探讨

2.1.2.       需求的定义

2.1.3.       需求的影响因素

l   目标是不是需求,对需求有什么影响

l   需求范围应该从那里开始

l   干系人应包括那些,如何影响需求

l   目标、范围、干系人如何互相影响

2.2.   需求的层次划分与分类

2.2.1.       业务需求

2.2.2.       用户需求、业务规则、质量属性

2.2.3.       功能需求、系统需求、外部接口与约束

2.3.   何为出色的需求

2.4.   案例分析与演练1

 

3.     业务需求

本章学习目标:理解业务需求的重要性和其对用户需求、功能需求的指导作用,以及如何获取和分析编写业务需求,掌握软件项目“方向盘”。

3.1.   业务需求的组成

3.2.   业务需求的来源

3.3.   软件产品的业务目标

3.4.   软件产品的前景与范围

3.5.   干系人及特征

3.6.   业务需求如何编写、模板范例及说明

3.7.   不明确的业务需求带来的常见问题

3.8.   业务需求如何决定用户需求与功能需求

3.9.   业务需求应该由谁来负责

3.10.          组织中的需求分工与需求团队

3.11.          案例分析与演练2

 

4.     需求获取

本章学习目标:理解需求获取的重要性,区别需求获取与需求收集;掌握需求获取的方法,从一开始就进行有效的“撒网捕鱼”。

4.1.   用户需求的来源

4.2.   干系人与用户,用户的参与程度对需求质量的直接影响

4.3.   从用户角度看需求

4.4.   寻找用户类,常见的分类方法

4.5.   设立用户代表,用户代表的作用

4.6.   案例分析与演练3

4.7.   需求获取的常见方法

4.8.   需求访谈

4.9.   需求研讨会

4.10.          需求整理:分类(BSA)与分层(AHP

4.11.          案例分析与演练4

4.12.          用例法

4.12.1.     用例定义

4.12.2.     参与者目标清单

4.12.3.     从业务事件发现用例

4.12.4.     业务用例与场景

4.12.5.     在业务用例中对干系人利益的保障

4.12.6.     从业务用例中提取产品用例

4.12.7.     用例模板

4.12.8.     用例开发中的常见问题

4.12.9.     用例的作用

4.13.          案例分析与演练5

4.14.          原型法(AUXURE RP

4.14.1.     使用原型法捕获客户的隐含需求

4.14.2.     原型法举例

4.15.          业务规则与术语

4.15.1.     业务规则的分类

4.15.2.     业务规则与需求

4.15.3.     术语

4.16.          寻找遗漏的需求

4.17.          关注内部需求

4.17.1.     DFXDFT等需求)

4.17.2.     RAS(性能、可靠性、可用性、可维护性)

4.18.          整理成产品包需求

4.18.1.     案例分享:具体系统产品需求包(特性需求清单)案例分享

4.19.          案例分析与演练6

5.     需求分析

本章学习目标:理解高层需求的分解和原子需求的形成,掌握需求基本视图的分析和使用方法。让各种类型和各个层次的需求有机地联系起来。

5.1.   问题探讨

5.2.   需求分解

5.2.1.       为什么需求分解

5.2.2.       需求分解结构及其作用

5.2.3.       常见分解方法

5.2.4.       需求复用

5.3.   案例分析与演练7

5.4.   需求建模

5.4.1.       常见建模方法

5.4.1.1.    DFD方法

5.4.1.2.    Use Case方法

5.4.2.       建模方法的使用

5.5.   非功能需求

5.6.   需求优先级处理,观念和时机把握

5.7.   案例分析与演练8

5.8.   需求分配,版本分配、产品线分配等

5.9.   V,R,B版本的划分

5.10.          需求评估

6.     需求编写

本章学习目标:理解需求编写与需求获取、需求分析的关系、以及需求规格的结构及如何与需求管理相结合,掌握需求编写的方法。

6.1.   问题探讨和概念澄清

6.2.   需求规格的特点和作用

6.3.   需求的标识

6.4.   需求规格的框架及汇编

6.5.   需求属性与需求矩阵的使用

6.6.   需求的存储和使用

6.7.   需求规格说明模板和使用

6.8.   需求矩阵模板

6.9.   案例分析与演练9

7.     需求确认

本章学习目标:理解需求确认在质量控制和在软件开发中的承上启下重要作用,掌握需求确认的方法

7.1.   问题探讨

7.2.   需求确认的时机

7.3.   需求评审:正式与非正式的评审

7.3.1.       业务需求的评审

7.3.2.       用户需求与功能需求的评审

7.3.3.       需求评审Checklist

7.4.   测试需求

7.5.   需求进入基线

7.6.   案例分析与演练10

 

8.     需求管理

本章学习目标:掌握如何和需求开发相结合,建立一个需求管理的“神经系统“,满足不同层面、不同角度的管理需要。

8.1.   需求基线的建立

8.2.   需求分配的确认

8.3.   需求属性扩展

8.4.   需求状态跟踪,状态跟踪在项目管理中的作用,以及常见的需求状态定义

8.5.   需求跟踪:

8.5.1.       跟踪的作用

8.5.2.       常见跟踪需求关系链

8.5.3.       跟踪方法,需求跟踪矩阵的应用

8.6.   案例分析与演练11

8.7.   需求变更

8.7.1.       需求变更的原因分析

8.7.2.       如何应对需求变更

8.7.3.       变更控制

8.7.4.       变更影响分析

8.7.5.       变更常见问题分析

8.8.   使用敏捷方法,适应需求变更

8.9.   需求驱动的软件开发计划

8.9.1.       软件项目的分级计划体系以及各个计划的相互关系

8.9.2.       需求变更驱动软件开发计划变更

8.10.          使用敏捷,需求多次迭代

8.11.          案例分析与演练12

 

9.     需求管理机制建设

本章学习目标:建立规范的需求收集和管理平台,明确需求责任人。

9.1.   建立端到端的需求管理流程

9.2.   建立统一的需求库

9.3.   明确端到端需求管理的责任人

9.4.   建立需求管理考核机制

9.5.   建立需求管理关键活动模板