需求分析一概念方法实践步骤Word文档格式.docx

上传人:b****4 文档编号:8161582 上传时间:2023-05-10 格式:DOCX 页数:15 大小:131.75KB
下载 相关 举报
需求分析一概念方法实践步骤Word文档格式.docx_第1页
第1页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第2页
第2页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第3页
第3页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第4页
第4页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第5页
第5页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第6页
第6页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第7页
第7页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第8页
第8页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第9页
第9页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第10页
第10页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第11页
第11页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第12页
第12页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第13页
第13页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第14页
第14页 / 共15页
需求分析一概念方法实践步骤Word文档格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

需求分析一概念方法实践步骤Word文档格式.docx

《需求分析一概念方法实践步骤Word文档格式.docx》由会员分享,可在线阅读,更多相关《需求分析一概念方法实践步骤Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。

需求分析一概念方法实践步骤Word文档格式.docx

(软件)系统必须完成的业务功能,即为了向它的用户提供有用的功能,产品必须执行的动作。

这部分工作将分散的用户零散的需求采用结构化的方法去定义,以便支撑后续的设计、开发、测试。

系统功能需求:

(软件)系统必须具备的功能、性能、属性。

包括系统性能(功能速度、响应时间、恢复时间等等)、可靠性、易用性、安全性、移植、部署等方面的内容需求。

设计约束的需求:

影响系统实现的各种设计约束,包括开发语言、数据完整性方针、资源的限制、运行的环境的要求等等。

2. 

主要流程

需求分析阶段的主要活动围绕需求开发进行,包括制定及修改需求开发计划、开展需求调查以及分析、需求验证、需求规则说明制作、需求确认几个步骤。

1.制定及修改需求开发计划包括建立需求团队的组织并授权、对需求分析阶段的WBS进行分解、协商并制定调查分析以及评审计划、评估工作量等等方面的内容,其目的是保证各项活动有序、可控的进行。

2.需求调查以及分析的过程,主要活动通过沟通、收集项目中的各级关系人的需求,形成需求调查报告。

需求调查通过现场参观、开调查会、业务专家培训、询问沟通、设计调查表并调查、收集查阅记录等方式获取客户、用户各级组织对(软件)系统需求,分析并识别客户以及用户的需要、期望、业务要求,归纳整理后形成需求调查报告。

3.需求验证环节主要通过原型(Prototype)、POC(ProofofConcept)、用例(UseCase)或简单的功能列表的方式同客户、用户沟通逐步将业务需求、用户需求等转化为软件系统需求。

∙原型(Prototype)模拟最终软件的屏幕显示,这样用户可以看到最终软件将是什么样,有些原型可以模拟实际的操作,对关键的输入输出数据也可以一定程度的模拟。

对于用户体验为主的系统往往可以起到很好的效果。

∙POC(ProofOfConcept)原意是“为观点提供证据”。

对于关键的技术或者业务模型,论证需求、设计的可实施性,评估和确认概念设计方案,POC的评价可能引起需求和设计的调整。

一般来说,进行POC的条件:

论证业务中涉及到的模型或者算法的可行性。

论证技术模型实现的可行性、成本等。

∙用例(UseCase):

对(软件)系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。

每个用例提供了一个或多个场景,该场景说明了系统是如何同最终用户或其它系统交互(interact)的,也就是谁可以用系统做什么,从而获得一个明确的业务目标。

4. 

需求规则说明(SRS)制作:

通过需求调查和初步的需求验证后,可以建立需求制作的准则,包括确认需求规则说明(SRS)的内容、制作方法、制作工具、质量标准等等。

根据需求制作的准则制作需求规格说明(SRS),好的需求规格说明(SRS)应该遵循正确、无歧义、完备、一致、分级(重要性或稳定性)、可验证、可修改、可追踪的原则。

5. 

需求确认:

通过组织各级评审对需求分析阶段的产物,尤其最重要的结果产物需求规格说明(SRS)进行确认,以确保相关人员理解一致。

从评审方法来说,可以根据情况分为需求开发组组内评审、客户外部评审、关键关系人评审等等。

需求分析的流程往往因项目规模、作业人员、系统类型差异很大,因此必须根据实际的情况合理的裁减,以下举例几种不同情况下的具体流程:

例:

简明的需求开发的流程

第1步:

确定实现的目的、目标,基本业务需求、业务定义以及相关的评审。

从达到目的、目标的角度,重新评审业务定义,总结业务需求。

(确认客户实施的业务要求 

第2步:

使业务具体化,进行软件系统的定义(系统需求定义)。

从目的的角度,进行业务定义(功能,步骤),对系统结构进行讨论、对所要进行系统化或计算机化的功能、流程进行定义。

第3步:

一边定义业务需求、系统需求、一边对运行上的相关要求(非功能需求)进行总结

运行时间,安全应对、访问权限等系统需求以及设计约束在业务需求的基础之上、考虑系统上的限制条件之后逐步形成。

软件工程类的典型流程

主要特征:

强调客户协同、提高运作效率、屏蔽技术风险、加强边界管控

✓ 

强调同客户协同,比如确定各种约定,包括截至时间、交流方式、成果物;

强调计划管控,起目的确保进度和成本,人力资源合理使用;

采用《问题回答管理票》的方式加强需求团队以及客户的协同作业,提高生产效率,确保质量;

加强需求边界管理,控制项目整体成本;

提前对技术关键环节(技术解决方案、技术构架)进行论证,控制技术风险,减少技术带来的成本损失;

强调需求最终确认;

案例3:

软件产品类的典型流程

缩减开发周期、支撑跨部门运作、提高创造性、强调用户体验设计。

∙强调计划性以加快研发进程,缩减产品开发周期。

强调跨部门协调组织,建立统一的需求团队。

强调行业学习、创新以及交流。

分版本制作以适应产品的创造、快速变化、市场需求的适应性、进程以及成本控制。

强调交互原型的重要性,加强用户体验性设计。

需求分析

(二)内容

需求分析阶段产物可以包括需求调查报告、需求规格说明、可行性报告等多方面的内容,但是一般来说需求规格说明(硬件、软件)是最终的产物。

过程中的关键产物还包括需求调查报告。

3.1 

需求调查报告

通过现场参观、开调查会、业务专家培训、询问沟通、设计调查表并调查、收集查阅记录等方式获取客户、用户各级组织对(软件)系统需求,分析并识别客户以及用户的需要、期望、业务要求,归纳整理后形成需求调查报告。

需求调查常作为一个中间过程成果,主要强调对业务、系统的现状进行归纳整理,同时对业务中的问题、各类期望以及优化方案进行记录和整理,通过初步分析形成结构化描述。

一般需求调查报告包含目的、目标、范围、业务域概述、组织机构以及对应的岗位权限、业务现状、业务优化的期望、业务规则(算法、逻辑)、输入输出数据、其他系统的交互(如果有)等内容。

1.业务领域

业务领域主要梳理并整理项目的作业范围,同时在业务上进行梳理了解并描述各领域间的关联。

例 

业务领域以及关联关系

2.业务现状

业务现状主要描述当前业务工作中的各种处理,可以通过业务流程描述(常见可以用泳道图描述)、逐个业务场景描述、对系统功能需求描述、相关输入输出信息以及优化分析的期望等几个方面进行描述。

如果原业务有对应的(软件)系统,也可以收集原系统的对应的资料进行整理。

1) 

业务场景描述:

对业务工作中的每个处理进行对应的描述,并通过记录和整理形成结构化的场景描述。

场景描述一般包括定义场景的名称、场景相关的角色、场景的详细描述、结果产出以及当前的存在的问题以及对应的期望。

需要注意的是任何系统的引入都会一定程度地改变当前的工作模式和工作方法,所以对当前的存在的问题以及对应的期望的支撑程度往往决定了系统的价值,也必然是今后(软件)系统的焦点。

当然这些问题以及期望可以采用多种方式解决,比如通过管理制度的建设、人员能力的加强、计算模型的优化、系统化(计算机化)等等。

其实需求分析阶段的主要工作就是识别、分析那些工作是可以系统化或计算机化的工作,并辅助制度化管理流程、提高人员能力等工作提高作业的效率和质量。

例,一个移动终端希望提高购物的便利性,哪些是可以系统化的呢?

比如支付可以系统化做到移动支付,同时第3方支付还需要法律的支撑等等。

2) 

业务功能需求描述:

结合业务场景对系统的业务功能进行描述。

一般包括前置条件、输入、输出、业务规则、典型动作等。

业务功能需求描述着眼于使业务具体化,进行(软件)系统的需求调查或定义,描述方法也更加的结构化。

这一步骤中,业务规则是重要的核心,是业务场景中具体处理的细节要求,一般包括处理的详细流程、关键数据的计算方法、样式要求等等内容。

3) 

业务数据描述:

对业务场景、业务功能需求中的输入和输出数据进行结构化整理的过程。

多数新建系统,业务数据往往是分散和凌乱的,通过这个过程需要对相关的数据进行结构化的整理,并为后续的规格定义提供基础。

4) 

其他:

对业务现状整理过程,对一些过程性的资料比如原始的单据、表单通过扫描等方式进行收集汇总。

对原系统可以通过收集设计资料、屏幕截图等方式汇集整理。

3.2 

软件规格说明书(SRS)

通过需求调查以及分析、需求验证环节等步骤,需求规格说明书使业务具体化,最终对软件以及硬件系统的功能进行明确定义。

需求规格说明(SRS)对功能进行结构化的描述,以指导后续设计、开发、测试工作的开展。

需求规格说明定义系统愿景、系统范围、业务功能、系统功能、约束条件等方面的需求。

主要描述系统“Whattodo”,而后续的设计要描述系统“Howtodo”。

项目目标&

系统范围

系统范围描述项目发起的背景、希望解决的问题、系统的目的和目标以及核定项目的范围。

一般可以包含以下内容项目背景(ProjectBackground)、现状(CurrentSituation 

)、当前面临的问题(Theissueswearefacingnow)、项目目的以及目标(Objectives&

Goals)、项目范围(ProjectScope)、业务流程/功能范围(BusinessProcess/FunctionScope)、涉及组织范围(OrganizationScope)。

项目目的以及目标(Objectives&

Goals)应着眼于(系统)未来的价值,它应该是可以量化、可评价、可实现、有价值的。

系统的设计、开发、测试、验证、发布、运行等工作都围绕项目目的以及目标而进行。

需要注意:

项目目的以及目标应该细化分解成一些核心的指标,这些指标今后是可以量化或评定。

比如“节省人力和物理的投入同时提升客户满意度”可以设定为“原有维护人员规模可以缩减75%,物理投入减少80%”等。

设定明确的指标可以更加有效的推动(软件)系统、人员、制度的有效的结合,这个也是项目成功的必要条件。

很多软件项目到后期往往为了上线而上线,往往不能取得实际的效用,这个和前期目标不明确有关。

实际上,当一个项目经过数人或数百人的数月或数年辛勤工作,经过了设计、开发、测试、反复的缺陷修正、上线以及运行后,也许值得欣慰的就是达成了项目目的以及目标。

最悲剧的故事就是“不知道原来的目标是什么?

”。

项目目的以及目标也可以是多方面的,比如对用户、操作员、管理人员、决策人员分别设定不同的目标,这些也是今后系统化以及设计的指导原则。

制定项目目的以及目标需要多方面的反复讨论和确认,尤其是项目的关键决策者。

通过这些目的和目标,起码我们可以明确这个系统未来的价值。

有些情况下,决策人员并不是这些方面的专家,需求开发人员应对需求及目标提出建议和解决方案,然后耐心等待决策环境的成熟,决策慢的一个好处就是可以减少决策失误。

范围可以包括项目范围、业务范围、功能范围、组织范围等等方面的内容,界定了那些工作是需要做的,那些不需要做。

在项目中对于预算、成本、WBS、计划等方面起决定性作用。

业务功能需求

业务功能需求往往主体描述系统"

Whattodo"

,不同类型的系统业务功能需求的侧重点也不太相同,那么描述的方法和内容也有差异。

不同类型系统业务功能需求的侧重点不同

联机事务处理系统:

主要的本质是流程的电子化,所以固化流程是主要工作,需求的描述也围绕着流程进行。

管理分析信息系统:

主要的本质是数据信息化,需求的描述围绕着信息数据加工,即数据的输入、变换、处理、输出,报表往往需求的关键线索。

监控系统:

主要的本质是数据收集、状态控制等方面的内容,其本质往往是状态的管理、接口标准的处理。

这也是为什么在通过需求调查和初步的需求验证后,需要讨论并建立需求制作的准则,针对不同类型的系统,采用适合的方式、方法、工具来更有效的描述业务功能需求。

无论采用什么方式、方法描述,那么业务功能需求的共性内容包括:

业务领域、组织机构、岗位、权限、功能(用例)清单、用例说明、界面交互、数据实体、接口、规则模型等。

业务领域范围:

主要描述业务、功能的分类以及对应的范围。

组织机构、岗位、权限:

主要包含系统涉及的组织、岗位、权限的要求。

一般内容包括组织体系图、岗位说明、业务以及系统相关的权限要求。

系统功能以及数据相关的权限要求,往往会贯穿整个需求规格书的各个章节。

这种情况下,我们可以将权限要求汇集在一个单独的章节中,以便其他章节引用。

另外,权限相关的内容在系统实际导入的时候,还需要更具体的需求,比如哪些人、哪些功能等等。

功能(用例)清单:

根据需求分析的结果,对业务逐步进行分类,对每个分类进行细化梳理功能,形成用例清单。

功能(用例)清单一般包括分类、功能概要说明、功能编号等等方面的内容。

用例说明:

一般包含用例对应的编号、名称、场景概要描述、前置条件、流程、前置条件、业务规则等内容。

对于复杂的流程,也可以用流程图的方式描述对应的流程 

5) 

界面交互:

界面交互往往是关注的重点,在需求分析阶段可以通过原型的方法同客户沟通并验证业务需求。

对于界面交互比较重要的项目,可以详细描述页面的需求,一般包括以下内容:

界面的迁移、界面原型或式样(可以采用高保真图或线框图)、界面元素(输入、输出)、界面动作等等。

例, 

界面的迁移:

描述画面以及处理间的关系。

例,界面线框图:

用来描述界面的式样,一般可以用一些简单快捷的工具制作。

6) 

数据实体:

记录业务过程中的输入、输出数据的详细内容。

7) 

接口说明:

本系统内部以及其他系统间的接口,接口需求因不同业务功能差异很大,通常接口需求涉及模块对象、处理流程(时序)、性能以及容量、数据传输、数据格式、安全等方面的内容。

8) 

规则模型:

在业务处理中的专用的规则模型,比如核心的预算预估模型、各类精算模型、成本归集模型、图像处理识别模型、温度控制模型、GIS中犯罪轨迹追踪模型等等。

规则模型往往建立在一定的专业基础上,在理论模型的基础根据实际情况进行修正优化。

规则模型的需求内容要根据实际的情况进行确定。

常见的内容有基本模型、优化模型、配置调优等方面的内容。

3. 

系统功能需求

系统功能需求指除了业务功能外,系统本身根据项目目标、目的以及支撑业务功能的实现,(软件)系统本身应该具有的功能需求,一般来说系统功能包含质量、性能等方面的属性。

一般有性能(运行速度、响应性、在线用户量等)、安全和保密、可靠性、运行、移植、维护、部署、数据容量等方面的系统功能需求。

常见的系统功能需求种类有:

常见的系统功能需求种类经验汇总

系统功能性需求:

工作流功能、系统离线功能、版本发布管理功能、搜索功能、日志管理、配置管理、系统异常处理以及通知机制、报表生成以及定制机制等等。

易用性需求:

多设备支持、多语言支持、多浏览器支持、自适应界面调整、系统超时数据自动保存、用户操作易用性(包括易理解性、易学习性、易操作性)。

可靠性需求:

架构可靠性、数据及操作可靠性、操作以及数据容错处理需求(比如系统应有全面、完善的检验和明确的错误提示信息,系统界面被破坏或系统发生故障,系统仍能给予操作者必要的提示,使其按照相关提示退出系统,并最大程度保留用户的工作成果。

性能需求:

用户数量、页面(接口)访问性能要求、数据同步性能要求、各应用场景(比如模块、网络、数据库、Web、应用、接口及业务场景)的性能以及容量要求、超长时间操作处理需求。

可扩展性、兼容性需求:

系统在技术架构上、各类功能、接口、标准以及系统部署上支持可扩展性需求。

对软件、硬件等环境的兼容性。

安全性需求:

多重组织架构体系安全支撑、权限控制(用户组、用户、角色)及设置、安全构架集成、应用安全控制、数据以及传输安全、数据备份安全、数据操作安全等

维护需求:

系统上线以及更新需求、数据管理/数据迁移/数据维护需求,包括数据同步、数据管理工具、数据清洗、数据补采、数据补录等方面的需求。

灾难备份需求:

硬件、软件、数据、网络等对应自然、病毒等灾难的处理需求。

9) 

可配置性需:

用户界面及系统功能配置需求、系统基础数据配置需求、系统后台配置需求等。

10) 

系统环境需求:

在开发、测试、生产、培训等环境的数据以及应用多种环境应用需求,服务器在各种温度、湿度、磁场、能耗下的环境需求。

11) 

用户文档及帮助系统需求:

业务操作相关、系统开发相关各类学习、培训、实践需求。

12) 

支持性/服务性需求:

系统日志功能、系统配置、状态监控、数据异常处理(工具)等需求。

约束条件

约束条件一般指由其他标准、硬件局限等引发的设计约束。

常见的约束条件有:

网络带宽以及环境约束、客户端选型约束、服务器端操作系统约束、数据库选型约束、开发环境选型约束(比如开发语言)、开发的结构(比如B/S,C/S结构导致的设计差异)、法律法规、各类业务标准、运行环境(比如设备能耗、内存、CPU使用率)等等。

需求分析(三)关键点

关键点(Know-How)、运用技巧

4.1作业准则以及管理准则

需求分析的流程往往因项目规模、作业人员、系统类型差异很大,因此必须根据实际的情况合理的裁减。

从软件工程的角度来说,需求分析阶段可以将需求开发的各种活动,形成对应的“作业准则”比如定义阶段控制目标(过程目标、质量目标、生产效率目标)、阶段入口准则、阶段执行的相关准则、阶段过程定义(输入、执行步骤、出口准则、输出)、定义质量保证点、成果物等。

除围绕需求开发的各种活动外,还有围绕着需求变更管理、版本管理、需求跟踪、进度、成本管控等各种需求管理活动。

比如常见的有评审管理流程、(文件)版本管理、需求变更管理、问题跟踪管理、(需求)跟踪矩阵管理、决策管理、风险管理、会议管理、工作汇报管理、考勤请假管理、非正式交付物管理、正式交付物管理、需求调查准入标准等等多方面的流程,这些可以形成需求分析阶段的“管理准则”。

通过“作业准则”以及“管理准则”可以控制整个需求开发阶段的进程、质量以及成本。

4.2需求验证

1.Q&

A管理

软件开发的过程实际上是个学习的过程,在学习中每个人(包括客户、用户、设计、开发、测试人员)理解以及学习的速度是不同的,软件工程的过程从某种意义上就是协同团队中的每个人学习进度。

既然是学习那么就会有多种多样的问题,快速解答问题显然是非常重要的环节。

Q&

A(问题&

回答)的管理实际贯穿整个工程的生命周期,在需求分析阶段,Q&

回答)的管理可以加快项目团队内部的学习以及加速项目团队同客户、用户的沟通。

回答)的管理过程并不复杂,主要就是提出问题、内部知识共享解决、外部确认解决、监控并管理整个过程。

回答)经常可以简单地采用EXCEL表的形式(也可以项目组、客户、用户共同使用专门的系统来共享),定期发送给相关人员,这样可以非实时的处理,不影响正常的工作。

另外,Q&

回答)可以在固定的时期,集中的进行处理,以加快确认的过程。

原型

原型模型本身是一个迭代的模型,是为了解决在产品或系统开发的早期阶段存在的不确定性、二义性和不完整性等问题。

原型是(软件)系统一个早期可以运行的版本,它反映了系统的部分重要的特性,用于试验和评价,以指导后续的设计、开发、测试等工作。

通过建立产品原型使相关人员更易理解系统未来的功能。

原型只是真实系统的一部分或一个模型,部分实现了产品或系统的功能。

比如,在一些交互性系统中,可以模拟实际的操作,甚至对关键的输入输出数据也可以一定程度的模拟。

这样用户可以感受到今后系统的功能。

一般通过原型可以更快的确认系统的交互部分,比如系统的操作、画面的迁移、画面(风格外观、动作、要素等)等多方面的内容,所以在以交互为主的系统需求开发的早期就可以开展原型制作的工作。

原型的开发要根据情况制定一些策略,一般考虑的要点如下:

原型是抛弃型还是进化型。

原型中哪些内容可以在后续工程中复用。

原型设计、开发过程中是否要验证技术的可行性、是否要验证工作效率以及工作方法的可用性。

设计团队中是否配置了原型的开发所需要的设计、开发、测试人员。

系统中哪些部分需要采用原型的方式,加强同客户、用户的验证。

比如关键或复杂的部分功能进行原型制作,或将业务归纳成几种模式,对不同的模式制作对应的原型等等。

制作原型所需要的预算、时间、成本等。

有些原型的制作也需要不少的工作量,有些情况下原型制作本身就是一个单独的项目。

比如,有些方案供应商就预先开发原型,以便争取项目的合同。

同时有些项目在招标的时候,就要求必须对核心功能提供必要的原型等等。

制作原型的所采用的快速工具,比如WEB站点的原型,如何有开发人员的参与的情况下,可以直接用HTML制作原型,不然也可以用PPT或其他工具“画”出原型。

原型除能确认系统的操作、画面的迁移、画面(风格

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2