1、文档类型Document Type密级Confidentiality Level教学研究文档仅供收件方查阅文档编号Document Code版本Version共 12 页08业务需求调研纲领Prepared by 拟制王飞Date日期-2-11Reviewed by 评审人Date日期Approved by同意Date日期 版权全部 不得复制Copyright BroadenGate Technologies, Co., Ltd.All Rights ReservedRevision Record修订统计Date日期Revision Version修订版本CR ID /Defect IDCR/
2、 Defect号Sec No. 修改章节Change Description修改描述Author作者-2-1108初稿完成杨琦 Catalog目 录1 需求调研步骤1.1 调研整体步骤l 问题识别:处理目标系统做什么,做到什么程度。需求包含:功效、性能、环境、可靠性、性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需通信路径。l 分析和综合:从数据流和数据结构出发,逐步细化全部软件功效,找出各元素之间联络、接口特征和设计上限制,分析它们是否满足功效要求并剔除不合理部分,综合成系统处理方案,给出目标系统具体逻辑模型。常见分析方法有面向数据流结构化分析方法SA(数据流图DFD、数
3、据词典DD、加工逻辑说明)、描绘系统数据关系实体关系图ERD、面向数据结构Jackson方法JSD、面向对象分析方法OOA(关键用UML)、对于有动态时序问题软件能够用形式化技术,包含有穷状态机FSM状态迁移(转换)图STD、时序图、Petri网。每一个分析建模方法全部有其优势和不足,能够兼而有之以不一样角度分析,应该避免陷入在软件需求方法和模型中发生教条思维模式和派系斗争,通常来说结构化方法用于中小规模软件、面向对象方法用于大型软件。l 编制需求分析文档l 需求评审1.2 组成部分关系需求分析可分为问题识别、分析和综合、编制需求分析文档、需求评审等四个阶段,包含以下多个方面:确定软件所期望用
4、户类;获取每个用户需求;了解实际用户任务和目标和这些任务所支持业务需求;分析员和用户信息以区分用户任务需求、功效需求、业务规则、质量属性、提议处理方法和附加信息;将系统级需求分为多个子系统,并将需求中一部分分配给软件组件;了解相关质量属性关键性;讨论得出实施优先级;将所搜集用户需求编写成需求规格说明和模型;评审需求规格说明,确保和用户达成共识。1.3 分析过程需求分析任务是借助于目前系统物理模型(待开发系统系统元素)导出目标系统逻辑模型(只描述系统要完成功效和要处理数据),处理目标系统“做什么”问题,所要做工作是深入描述软件功效和性能,确定软件限制和软件同其它系统元素接口细节,定义软件其它有效
5、性需求,经过逐步细化对软件要求描述软件要处理数据,并给软件开发提供一个能够转化为数据设计、结构设计和过程设计数据和功效表示。必需全方面了解用户各项要求,但不能全盘接收,只能接收合理要求;对其中模糊要求要深入澄清,然后决定是否采纳;对于无法实现要求要向用户作充足解释。最终将软件需求正确地表示出来,形成软件需求说明书SRS。l 取得目前系统物理模型:首先分析、了解目前系统是怎样运行,了解目前系统组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体模型来反应自己对目前系统了解。此步骤也能够称为“业务建模”,其关键任务是对用户组织机构或企业进行评定了解她们需要及未来系统要处理问题,然后建立
6、一个业务USECASE模型和业务对象模型。当然假如系统相对简单,也没必需大动干戈区进行业务建模,只要做部分简单业务分析即可。l 抽象出目前系统逻辑模型:在了解目前系统“怎样做”基础上,取出非本质原因,抽取出“做什么”本质。l 建立目标系统逻辑模型:明确目标系统要“做什么”。l 对逻辑模型补充,如用户界面、开启和结束、犯错处理、系统输入输出、系统性能、其它限制等等。2 需求调研和分析方法、策略和步骤2.1 怎样调研需求调研包含三个问题: 一是怎样确定调研对象; 二是怎样确定被调研对象; 三是采取何种调研方法; 调研对象组成应以互补为标准,最少要由三类人员组成:技术人员、业务教授和管理者。被调研对
7、象关键是人员和业务两类,其间关键包含人和人、人和事物、事物和事物等三种关系。 其中,关键是确定调研范围。调研范围包含关键域和关键活动。而关键活动又由关键步骤加关键点组成。 找到关键域,明确关键步骤和关键点,对需求调研至关关键,需要教授或咨询顾问介入。而能否把握这一时机并找准需求提炼关键点,是考验需求调研人员关键方面。优异需求调研人员不仅能认识问题之所在,还能藉此获取足够多知识,最终成为问题领域教授。 需求调研很困难,必需引发重视。因为: 缺乏专门领域知识,同时应用领域中很多问题通常模糊,极难界定; 机构实践存在默认知识,难以描述; 多个知识源或信息源现有冲突又有重合; 被调研对象可能有认知偏见
8、或欠缺或有时不愿提供确切信息。 这些全部会给需求调研人员带来障碍和困难。在这种情况下,掌握必需方法和技巧很关键。2.2 怎样分析需求工程是继软件工程以后又一热点工程。从理论上说,包含调研需求、模拟和分析需求、需求描述、需求认可、需求演进这五个层次,而且逐层递进、螺旋式上升。需求分析是需求工程关键,贯穿于系统整个生命周期。 需求分析出发点在于:对调研需求进行深入提炼并指导需求抽取;帮助需求分析人员发觉问题。需求模拟则帮助检验验证对问题了解。需求分析和模拟又包含三个层次工作:需求定义、需求建模、需求模拟。 需求定义,是对经调研获取需求进行初步整理,抽取其中基础需求和关键需求给予界定,并为需求建模提
9、供必需需求元素。 需求建模,是把抽象需求经过概念、符号、数学模型及逻辑结构表现出来。表现形式有自然语言、半形式化(图、表、结构化英语等)和形式化表示等三种。自然语言形式含有表示能力强优点,但不利于捕捉模型语义;半形式化表示可捕捉结构和一定语义,也可进行一定推理和一致性检验;形式化表示含有正确语义和推理能力,但结构一个完整形式化模型,需要较长时间和对问题领域深层次了解。相对而言,图表形式需求模型直观常见,比如组织结构图、系统步骤图、网络拓扑图等。 良好需求概念模型应包含以下多个特点: 实现独立性、足够抽象、足够形式化、可结构性、利于分析、可追踪性、可实施性、最小冗余性。2.3 调研方法1、 会谈
10、、问询:围绕软件目标提出具体问题;2、 调查表:经过仔细考虑书面回复可能比会谈中回复愈加正确;3、 搜集分析用户使用多种表格、相关工作责任、工作步骤、工作规范、相关数据标准、业务标准多种文字资料;4、 搜集同类相关产品宣传资料、技术资料、演示程序或软件程序;5、 情景分析:利用情景分析诱导用户能够把它们需求通知分析员(能够描述目前一项业务怎么做、也能够描述设想系统中此项业务怎么做);6、 可视化方法:结和情景分析,利用画用户界面图、业务步骤图、功效结构图、时序图等图形和用户进行讨论;2.4 基础策略1、 首先确定用户软件开发目标,确定系统基础范围,然后围绕这一目标,确定要访问部门和人员,要了解
11、业务,在基础范围内展开调研;2、 以部门职责为基础搞清多种现有业务、要填写表簿册文档报表等,其数据起源及去向;3、 以业务为根本,搞清每个业务每个步骤步骤关系、包含部门、输入输出项;4、 以数据为根本,搞清数据采集方法、数据流向、数据之间内在联络;5、 搞清哪些业务或数据是已建系统,它们和新系统关系是衔接还是替换;6、 应思索是否有新技术能够改善现有工作,用户提出需求用现有技术能否实现。2.5 结构化方法分析步骤1、 画出数据流图。设计数据流图必需逐步求精;2、 决定哪些部分需要计算机化和怎样计算机化(取决于用户投资限制和本身技术限制);3、 描述数据流细节,大型软件能够使用数据字典描述全部数
12、据元素;4、 定义处理逻辑(加工逻辑:每个加工处理做什么);5、 定义数据存放,即定义每个存放确实切内容及其表示法(格式);6、 定义物理资源:如是文件需指定:文件名、组织结构(排序、索引等)、存放介质和统计;如是数据库需指定每个表相关信息;7、 确定输入输出规格说明,如输入内容、输入屏幕、打印输出格式、输出长度等等;8、 确定硬件所需相关数值,如输入量、打印频率、CPU、统计大小、数据量大小、文件大小等等;9、 确定软硬件接口和环境需求。2.6 UML方法分析步骤通常应用系统又是各组成部分:问题论域、人机界面、数据管理、任务管理,在OOA阶段关键对问题论域进行分析,对人机界面、数据管理、任务
13、管理等问题,OOA通常较少或没有分析,而是留待OOD阶段处理。1、 调研、识别系统需求;2、 分析问题领域:关键任务是充足了解领域问题和项目投资者及用户需求,对需求进行抽象,提出高层次处理方案);(1) 确定系统范围和系统边界;(2) 确定系统约束(环境和条件);(3) 定义活动者;(4) 确定系统综合要求(功效、性能、运行);(5) 确定系统数据要求(名称、范围、类型、数量、特点);(6) 建立USE CASE模型、绘制USE CASE图;(7) 绘制关键交互图;3、 建立静态结构模型(对象类图、数据库模型、包图);4、 建立动态行为模型(次序图、协同图、状态图、活动图);5、 建立系统物理
14、模型(组件图、配置图);3 需求调研相关要求3.1 文档规范A、三种编写方法1、 用好结构化和自然语言编写文本型文档;2、 建立图形化模型,这些模型能够描绘转换过程、系统状态、和它们之间改变、数据关系、逻辑流或对象类和她们关系;3、 编写形式化规格说明,这能够经过使用数学上正确形式化逻辑语言来定义需求。多个编写方法可在同一个文档使用,依据需要选择,或互为补充,以能够把需求说明白为目标。B、应有结果1、 各业务手工办理步骤文字说明;2、 各业务手工办理步骤图;3、 各业务手工办理各步骤输入输出表单、数据起源;4、 目标软件系统功效划分(示意图及文字说明);5、 目标软件系统中各业务办理步骤文字说
15、明;6、 目标软件系统中各业务办理步骤图(模型);7、 目标软件系统中各业务办理各步骤数据、数据采集方法、数据间内在联络分析。8、 目标软件系统用户界面图、各式系统逻辑模型图及说明C、文档工具推荐1、 调研结果需求分析说明书格式参考开发文档模板;2、 单位组织结构图、功效模块分解图用VISIO绘制,或直接用WORD中画图工具;3、 业务步骤图用VISIO中FLOWCHART模板绘制;4、 系统逻辑模型使用ROSE绘制活用VISIO中UML模板绘制;5、 软件用户界面用VISIO中WIN95 USER INTERFACE模板绘制;6、 数据物理模型用POWERDESINER绘制;D、需求文档编写
16、标准1、 句子简短完整,含有正确语法、拼写和标点;2、 使用术语和词汇表中所定义一致;3、 需求陈说应该有一致样式,比如“系统必需.”或“用户必需.”,并紧跟一个行为动作和可观察结果。;4、 避免使用模糊、主观术语,降低不确定性,如“界面友好、操作方便”;5、 避免使用比较性词语,如“提升”,应定量说明提升程度。3.2 需求管理需求调研分析过程是一个由粗到细、渐进明晰、连续完善过程。在指导后面系统设计,编码阶段时全部应该不停完善修改需求文档,所以需求管理很关键。需求管理包含在工程进展过程中维持需求约定集成型和正确性全部活动,它是CMM模型二级中首要KPA(关键过程域),这些活动包含:(1) 定义需求基线(需求文档主体);(2) 评审提出需求变更申请、评定每项变更可能影响,从而决定是否实施变更;(3) 以一个可控方法将需求变更融入到项目中;(4) 使目前项目计划和需求保持一致;(5) 分析变更所产生影响并在此基础上协商出新约定;(6) 使每项需求全部能和其对应设计、源代码和测试用例联络起来以实现跟踪;(7) 在整个项目过程中跟踪需求状态及其变更情况。3.3 调研结果调研项调研数量调研结果业务专业词汇15词汇描述统计同行对比项目10项目对比描述及优劣势分析技术参考资料20参考资料描述