《软件工程---软件需求.ppt》由会员分享,可在线阅读,更多相关《软件工程---软件需求.ppt(109页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程软件工程软件需求软件需求1主要讲解内容主要讲解内容1 1、需求分析的重要性、需求分析的重要性2 2、需求分析的任务需求分析的任务3 3、需求分析的目的需求分析的目的4 4、需求分析的方法、需求分析的方法5 5、需求分析的艺术、需求分析的艺术6 6、需求管理过程、需求管理过程7 7、需求分析文档、需求分析文档8 8、用户需求报告、用户需求报告9 9、需求规格说明书、需求规格说明书2 软件需求软件需求导读导读:软件需求,又称软件需求分析或软件需求获取,软件需求,又称软件需求分析或软件需求获取,它既是软件开发中的老课题(讲了几十年了)和老它既是软件开发中的老课题(讲了几十年了)和老问题(几十
2、年都没有很好地彻底解决),又包含着问题(几十年都没有很好地彻底解决),又包含着许多新思路和新内容。需求获取是否彻底与成功,许多新思路和新内容。需求获取是否彻底与成功,直接关系到软件开发的成败问题。本章先论述需求直接关系到软件开发的成败问题。本章先论述需求分析的分析的9 9项任务和目的,然后介绍需求分析和需求管项任务和目的,然后介绍需求分析和需求管理的方法,以及理的方法,以及ITIT企业的用户需求报告和需求规格企业的用户需求报告和需求规格说明书编写的参考指南。下面列出了读者在本章学说明书编写的参考指南。下面列出了读者在本章学习中要了解、理解和掌握的主要内容。习中要了解、理解和掌握的主要内容。3
3、软件需求软件需求要求要求具体内容具体内容了解了解1.1.需求分析的输入输出需求分析的输入输出2.2.需求分析为什么重要需求分析为什么重要3.3.需求获取为什么难需求获取为什么难4.4.需求报告和需求规格的说明书的差异需求报告和需求规格的说明书的差异5.5.评审与审计的概念,同行评审的概念评审与审计的概念,同行评审的概念6.6.基线、里程碑、评审点、软件产品、软件工作产品的概念基线、里程碑、评审点、软件产品、软件工作产品的概念理解理解1 1、需求分析的目的、需求分析的目的 2 2、需求管理方法与管理文档、需求管理方法与管理文档掌握掌握1.1.需求分析任务:画组织结构图,画业务操作流程图,画数据流
4、需求分析任务:画组织结构图,画业务操作流程图,画数据流程图,功能性能接口列表、确定运行环境和界面约定程图,功能性能接口列表、确定运行环境和界面约定2.2.需求分析方法:面向流程分析,找出元数据,找出中间数据,需求分析方法:面向流程分析,找出元数据,找出中间数据,找出元数据与中间数据的关系,学会需求分析艺术找出元数据与中间数据的关系,学会需求分析艺术3.3.用户需求报告用户需求报告的内容与编写方法的内容与编写方法4.4.需求规格说明书需求规格说明书的内容与编写方法的内容与编写方法4面向对象分析面向对象分析 面面向向对对象象分分析析(通通常常缩缩写写为为OOA)OOA)的的关关键键,是是识识别别出
5、出问问题题域域内内的的对对象象,并并分分析析它它们们相相互互间间的的关关系系,最最终终建建立立起起问问题题域域的的简简洁洁、精精确确、可可理解的正确理解的正确模型模型。5分析过程分析过程1 1、概述概述 面向对象分析,就是抽取和整理用户面向对象分析,就是抽取和整理用户需求需求并建立问题域精确模型的过程。并建立问题域精确模型的过程。6 2 2、三个子模型与五个层次三个子模型与五个层次 即静态结构即静态结构(对象对象模型模型),交互次序,交互次序(动态动态模型模型)和数据变换和数据变换(功能功能模型模型)。解决的问题不同,这三个子。解决的问题不同,这三个子模型的重要程度也不同:模型的重要程度也不同
6、:当问题涉及交互作用和时序时当问题涉及交互作用和时序时(例如,用户界面例如,用户界面及过程控制等及过程控制等)动态模型是重要的;动态模型是重要的;解决运算量很大的问题解决运算量很大的问题(例如,高级语言编译、例如,高级语言编译、科学与工程计算等科学与工程计算等),则涉及重要的功能模型。,则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操动态模型和功能模型中都包含了对象模型中的操作作(即服务或方法即服务或方法)。607五个层次五个层次8 一般说来,面向对象分析大体上按照下列顺序进行:一般说来,面向对象分析大体上按照下列顺序进行:寻找类寻找类&对象,识别结构,识别主题,定义属性,建对
7、象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务。立动态模型,建立功能模型,定义服务。但是,分析不可能严格地按照预定顺序进行,大型、复但是,分析不可能严格地按照预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。通常,先构造出杂系统的模型需要反复构造多遍才能建成。通常,先构造出模型的子集,然后再逐渐扩充,直到完全、充分地理解了整模型的子集,然后再逐渐扩充,直到完全、充分地理解了整个问题,才能最终把模型建立起来。个问题,才能最终把模型建立起来。609 分析也不是一个机械的过程。大多数需求陈述分析也不是一个机械的过程。大多数需求陈述都缺乏必要的信息,所缺少的信息主要从
8、用户和领域都缺乏必要的信息,所缺少的信息主要从用户和领域专家那里获取,同时也需要从分析员对问题域的背景专家那里获取,同时也需要从分析员对问题域的背景知识中提取。在分析过程中,系统分析员必须与领域知识中提取。在分析过程中,系统分析员必须与领域专家及用户反复交流,以便澄清二义性,改正错误的专家及用户反复交流,以便澄清二义性,改正错误的概念,补足缺少的信息。面向对象建立的系统模型,概念,补足缺少的信息。面向对象建立的系统模型,尽管在最终完成之前还是不准确、不完整的,但对做尽管在最终完成之前还是不准确、不完整的,但对做到准确、无歧义的交流仍然是大有益处的。到准确、无歧义的交流仍然是大有益处的。10 需
9、求陈述需求陈述书写要点书写要点 内容包括:问题范围,功能需求,性能需求,应用环境及内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈述应该阐明假设条件等。总之,需求陈述应该阐明“做什么做什么”,而不是,而不是“怎样做怎样做”。它应该描述用户的需求,而不是提出解决问题。它应该描述用户的需求,而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描述系统质。应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活性。对系统性能的内部结
10、构,因为这样做将限制实现的灵活性。对系统性能及系统与外界环境交互协议的描述,是合适的需求。此外,及系统与外界环境交互协议的描述,是合适的需求。此外,对采用的软件工程标准、模块构造准则、将来可能做的扩充对采用的软件工程标准、模块构造准则、将来可能做的扩充以及可维护性要求等方面的描述,也都是适当的需求。以及可维护性要求等方面的描述,也都是适当的需求。6011 需求分析的重要性需求分析的重要性 需求分析的输入是软件需求分析的输入是软件合同合同或软或软件件立项建议书立项建议书,以及对用户现场的调,以及对用户现场的调研、分析和确认,输出是研、分析和确认,输出是用户需求报告用户需求报告/需求规格说明书需求
11、规格说明书,根据,根据“五个面向五个面向理论理论”,需求分析的方法主要是,需求分析的方法主要是“面向流面向流程分析程分析”。60121.1.需求分析为什么重要需求分析为什么重要(1 1)许多大型应用系统的失败,最后均归结到需)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的方法不当,使得需求分析不求分析:要么获取需求的方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,不好,导
12、致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。同样致使设计、编码、测试无法顺利进行。13(2 2)需求分析的输出文档是)需求分析的输出文档是用户需求报告用户需求报告,它,它既是软件生存周期中的第一个里程碑,又是客户、软既是软件生存周期中的第一个里程碑,又是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,件开发人员和项目管理人员三者必须遵守的一根基线,是三者共同工作的基础。是三者共同工作的基础。(3 3)需求分析要占用整个软件开发时间或工作量的)需求分析要占用整个软件开发时间或工作量的30%30%。(4 4)需求获取中的错误,属于软件开发中的早期错)需求获
13、取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。误,它会在后续的设计和实现中进行发散式的传播。根据以上根据以上4 4项原因,项原因,ITIT企业的高层经理,对需求分企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去做项目需求。析特别重视,常常派经验最丰富的人员去做项目需求。正因为如此,正因为如此,“系统分析员系统分析员”才是软件行业中的最高才是软件行业中的最高技术职称。技术职称。60142.2.需求获取为什么难需求获取为什么难 需求获取看似容易,做起来很难,主要原因有三需求获取看似容易,做起来很难,主要原因有三条。条。(1 1)用户需求具有动态性,即需
14、求的不稳定性:在整)用户需求具有动态性,即需求的不稳定性:在整个软件生存周期内,应用软件的需求会随着时间的进展个软件生存周期内,应用软件的需求会随着时间的进展而有所变化。个别用户,甚至是朝三暮四地变化。而有所变化。个别用户,甚至是朝三暮四地变化。(2 2)用户需求具有模糊性,即需求的不准确性:由于)用户需求具有模糊性,即需求的不准确性:由于用户的素质不是很高,业务流程不是很规范,所以需求用户的素质不是很高,业务流程不是很规范,所以需求表达不很清楚和也不够明确。表达不很清楚和也不够明确。(3 3)开发者和用户要对需求达成完全一致的认识,用)开发者和用户要对需求达成完全一致的认识,用户要在需求报告
15、上签字,要承担责任。户要在需求报告上签字,要承担责任。15名词解释名词解释序序 号号名名 词词 名词解释名词解释1 1基线基线 基线是软件工作产品,它是要经内部和外部评审过的,并且基线是软件工作产品,它是要经内部和外部评审过的,并且是下一阶段工作的基础。一根基线是一个里程碑或一个检查点是下一阶段工作的基础。一根基线是一个里程碑或一个检查点2 2检查检查点点 检查点只是由时间、计划、事件驱动的检查工作进度和质量检查点只是由时间、计划、事件驱动的检查工作进度和质量的一个记号。一个检查点不一定是一根基线或一个里程碑的一个记号。一个检查点不一定是一根基线或一个里程碑3 3里程里程碑碑 里程砷是一个标记
16、,只需要经过内部评审。一个里程碑是一里程砷是一个标记,只需要经过内部评审。一个里程碑是一个检查点,但不一定是基线个检查点,但不一定是基线4 4评审评审 评审是对软件工作产品质量的一次开会或汇签活动评审是对软件工作产品质量的一次开会或汇签活动5 5审计审计 审计是复查评审活动程序的合法性,是否按程序与规范进行审计是复查评审活动程序的合法性,是否按程序与规范进行6 6客户客户 客户是软件企业合同的签约方,是软件产品的销售对象。客客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分户是顾客的一部分16名词解释名词解释序序 号号名名 词词 名词解释名词解释7 7顾客顾客 “顾客顾客”比
17、比“客户客户”的范围更广泛一些,它包括潜在的客户的范围更广泛一些,它包括潜在的客户8 8用户用户 用户是软件产品的最终使用者,用户是客户的一部分用户是软件产品的最终使用者,用户是客户的一部分9 9软件软件工作工作产品产品 “软件工作产品软件工作产品”是软件开发活动中的人工制品,如用户需求报是软件开发活动中的人工制品,如用户需求报告、需求规格说明书、概要设计说明书、详细设计说明书、源程序、告、需求规格说明书、概要设计说明书、详细设计说明书、源程序、测试报告、用户手册。也包括软件管理文档,如软件开发计划、软测试报告、用户手册。也包括软件管理文档,如软件开发计划、软件质量保证计划、各种评审报告、不符
18、合项跟踪报告、变更申请表、件质量保证计划、各种评审报告、不符合项跟踪报告、变更申请表、里程碑报告等里程碑报告等1010软件软件产品产品“软件产品软件产品”是最终用户使用的软件,如操作系统是最终用户使用的软件,如操作系统Windows98Windows98、财务系统、管理信息系统财务系统、管理信息系统MISMIS。“软件产品软件产品”是是“软件工作产品软件工作产品”的一部分的一部分llll现有现有系统系统 现有系统是指用户当前正在使用的系统,它可能是网络管理系统,现有系统是指用户当前正在使用的系统,它可能是网络管理系统,也可能是手工管理系统也可能是手工管理系统 1212目标目标系统系统 目标系统
19、是指将要实现的系统目标系统是指将要实现的系统17 需求分析的任务需求分析的任务 需求分析就是对顾客的需求进行定义或确定,需求分析就是对顾客的需求进行定义或确定,这一过程中有许多工作要做。但是,最主要的是完这一过程中有许多工作要做。但是,最主要的是完成如下成如下9 9项任务。项任务。第第1 1项任务:项任务:画出目标系统的组织结构图,列出各部门的画出目标系统的组织结构图,列出各部门的岗位角色表,即组织机构模型。岗位角色表,即组织机构模型。18序号 部门名称 岗位职责 1 厂长室全厂业务的组织领导,信息的查询 2 采购部材料的采购、供应商的管理 3 仓储部材料入库、保存、出库 4 生产车间产品生产
20、、质量检测 5 销售部产品销售、销售商的管理 6售后服务部客户信息管理、售后服务及培训组织机构模型组织机构模型19岗位角色岗位角色岗位号岗位号岗位名称岗位名称 所在部门所在部门 岗位职责岗位职责相关的业务相关的业务 10111011 采购员采购员 采购部采购部采购、合同的采购、合同的签订、供应商签订、供应商的选择的选择进货、合同进货、合同管理管理 10121012 库管员库管员仓储部仓储部材料入库、材料入库、保存、出库保存、出库入库、保入库、保管、出库管、出库20 需求分析的目的需求分析的目的第第2 2项任务:项任务:画出目标系统的画出目标系统的业务操作流程图业务操作流程图,它包括物流、,它包
21、括物流、资金流、信息流、即业务操作模型,资金流、信息流、即业务操作模型,重点是重点是业务操业务操作的流水步骤。业务模型表示了与系统有关的人、作的流水步骤。业务模型表示了与系统有关的人、设备、其他子系统之间的业务关系和费用关系,它设备、其他子系统之间的业务关系和费用关系,它是经过业务流程重组、再造和优化之后,并且得到是经过业务流程重组、再造和优化之后,并且得到企业领导确认的业务流程图。企业领导确认的业务流程图。业务流程图的画法多种多样,各自可根据自身的业务流程图的画法多种多样,各自可根据自身的习惯和特点,制定一套图形规则,在本组织内统一习惯和特点,制定一套图形规则,在本组织内统一遵守。业务流程图
22、的制作工具,所谓直式业务流程遵守。业务流程图的制作工具,所谓直式业务流程图,就是用图的横向坐标表示企业的部门岗位,用图,就是用图的横向坐标表示企业的部门岗位,用图的纵向坐标表示企业的作业流程。图的纵向坐标表示企业的作业流程。6021第第3 3项任务:项任务:画出目标系统的画出目标系统的数据流程图数据流程图,即单据和报表的,即单据和报表的流程图,掌握业务规则,获得初步数据模型流程图,掌握业务规则,获得初步数据模型(真正的真正的数据模型是数据模型是ERER图加上相应的数据字典图加上相应的数据字典)。数据流程图中要突出单据流,分清不同单据之数据流程图中要突出单据流,分清不同单据之间的先后流动次序,以
23、及同一单据中的不同数据项的间的先后流动次序,以及同一单据中的不同数据项的先后流动次序。数据流程图的画法多种多样,各软件先后流动次序。数据流程图的画法多种多样,各软件组织可根据自身的习惯和特点,制定一套图形规则,组织可根据自身的习惯和特点,制定一套图形规则,在本组织内统一遵守。在本组织内统一遵守。6022 对于所有的单据或报表,均要收集并整理。同时,将单对于所有的单据或报表,均要收集并整理。同时,将单据或报表的名称、用途、使用单位、制作单位、频率、高峰据或报表的名称、用途、使用单位、制作单位、频率、高峰时数据流量,及每个数据项的名称、类型、长度、精度、算时数据流量,及每个数据项的名称、类型、长度
24、、精度、算法等,都要全部列出,形成原始单据和输出报表的表格。法等,都要全部列出,形成原始单据和输出报表的表格。单据或报表整理后的参考格式单据或报表整理后的参考格式 单据名称单据名称 用用 途途 使用单位使用单位 制作单位制作单位 频频 率率 高峰时数据流量高峰时数据流量23各数据项的详细说明各数据项的详细说明 序序号号数据项数据项中文名中文名数据项数据项英文名英文名数据项类型、长数据项类型、长度、精度度、精度数据项数据项算法算法 1 1 2 2 3 324第第4 4项任务:项任务:列出目标系统的功能点列表,即功能模型。列出目标系统的功能点列表,即功能模型。(注:注:有时将性能模型、界面模型和接
25、口模型的内容都合并有时将性能模型、界面模型和接口模型的内容都合并到功能模型之中。到功能模型之中。)系统的功能点列表系统的功能点列表编编 号号功能功能名称名称使用使用部门部门使用使用岗位岗位功能功能描述描述输输入入系统系统响应响应输输出出 1 1 2 2 3 325第第5 5项任务:项任务:列出系统的性能点列表,即性能模型。列出系统的性能点列表,即性能模型。系统的性能点列表系统的性能点列表 编编 号号性能性能 名称名称使用使用部门部门使用使用岗位岗位性能性能描述描述输输入入系统系统响应响应输输 出出 l l 2 226第第6 6项任务:项任务:列出目标系统的接口列表,即接口模型。列出目标系统的接
26、口列表,即接口模型。接口列表的参考格式,如表接口列表的参考格式,如表5-85-8所示。所示。编 号接口名称接口规范接口标准入口参数出口参数传输速率12327第第7 7项任务:项任务:确定目标系统的运行环境,即环境模型。确定目标系统的运行环境,即环境模型。运行环境包括:核心计算机及网络资源(系统软运行环境包括:核心计算机及网络资源(系统软件、硬件和初始化数据)的配置计划、采购计划、安件、硬件和初始化数据)的配置计划、采购计划、安装调试进度、人员培训计划等内容。装调试进度、人员培训计划等内容。第第8 8项任务:项任务:目标系统的界面约定,即界面模型。目标系统的界面约定,即界面模型。界面设计的原则是
27、:方便、简洁、美观、一致等。界面设计的原则是:方便、简洁、美观、一致等。整个目标系统的界面风格定义要统一,某些功能模块整个目标系统的界面风格定义要统一,某些功能模块的特殊界面要说明。的特殊界面要说明。28第第9 9项任务:项任务:对目标系统的开发工期、费用、开发进度、系统风险等对目标系统的开发工期、费用、开发进度、系统风险等问题进行分析与评估。问题进行分析与评估。对于一般企业事业单位的信息系统需求分析,完成好上对于一般企业事业单位的信息系统需求分析,完成好上述述9 9项任务,并与用户达成全面共识,通过评审,得到用签字项任务,并与用户达成全面共识,通过评审,得到用签字确认,就算成功了。确认,就算
28、成功了。但是,上述但是,上述9 9项任务不是教条,不能完全生搬硬套,而项任务不是教条,不能完全生搬硬套,而要根据具体问题具体分析。要根据具体问题具体分析。对于特殊的系统,除了上述对于特殊的系统,除了上述9 9项任务之外,可能还要增项任务之外,可能还要增加其他任务,项目经理和系统分析师要严把关口。加其他任务,项目经理和系统分析师要严把关口。如果通过需求分析之后,对将来要实现的目标系统,仍如果通过需求分析之后,对将来要实现的目标系统,仍然感到心中无数、心里发慌,那么绝对不要签字确认,而要然感到心中无数、心里发慌,那么绝对不要签字确认,而要从头开始,重新进行需求获取。从头开始,重新进行需求获取。60
29、29 需求分析的目的需求分析的目的 需求分析的重点是:需求分析的重点是:通过弄清业务流程和数据流程的手段,达到与客户共同确通过弄清业务流程和数据流程的手段,达到与客户共同确定业务模型、功能模型、性能模型、接口模型的目标。通过定业务模型、功能模型、性能模型、接口模型的目标。通过评审,与客户达成完全一致的理解,让客户确认,在需求报评审,与客户达成完全一致的理解,让客户确认,在需求报告上签字,这是需求分析的根本目的。只有实现了这个目的,告上签字,这是需求分析的根本目的。只有实现了这个目的,才能冻结需求,实现一个重要的里程碑,形成稳定可靠的需才能冻结需求,实现一个重要的里程碑,形成稳定可靠的需求文档基
30、线,为后致的设计、编码、测试、验收打下坚实的求文档基线,为后致的设计、编码、测试、验收打下坚实的基础。基础。如果在需求分析中隐含一个错误或一个不确定的问题,就如果在需求分析中隐含一个错误或一个不确定的问题,就会导致在后续开发工作中出现十个甚至百个错误或问题,这会导致在后续开发工作中出现十个甚至百个错误或问题,这就是错误或问题传播的发散性。就是错误或问题传播的发散性。6030需求分析的难点是:需求分析的难点是:在系统的流程、功能、性能和接口在系统的流程、功能、性能和接口4 4个方面,个方面,开发者与客户达成完全一致的需求,让客户最终开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目
31、验收前,需求相对稳定签字确认,并保证在项目验收前,需求相对稳定不变。不变。如需求有变化,双方必须履行如需求有变化,双方必须履行“需求变更需求变更管理程序管理程序”。“开发者与客户达成完全一致的需求开发者与客户达成完全一致的需求”,这既,这既是需求分析的目的,又是需求分析的难点。那么,是需求分析的目的,又是需求分析的难点。那么,要克服这个难点,形成稳定可靠的需求文档基线要克服这个难点,形成稳定可靠的需求文档基线就要靠需求分析的方法、技巧和经验了。就要靠需求分析的方法、技巧和经验了。6031 总结前人需求分析的经验,系统分析师应该对用总结前人需求分析的经验,系统分析师应该对用户进行需求分析培训,用
32、户应参加业务需求分析的全户进行需求分析培训,用户应参加业务需求分析的全过程,向用户发放需求调查表格,召开需求调研会,过程,向用户发放需求调查表格,召开需求调研会,深入到重点岗位了解需求,必要时参加实际的业务工深入到重点岗位了解需求,必要时参加实际的业务工作,边分析边整理文档,边征求修改意见,定期向用作,边分析边整理文档,边征求修改意见,定期向用户中的操作层、管理层、决策层分别汇报,演示目标户中的操作层、管理层、决策层分别汇报,演示目标系统的流程、功能、性能、接口及界面的需求。系统的流程、功能、性能、接口及界面的需求。需求分析的方法需求分析的方法6032 1 1、面向流程分析、面向流程分析 需求
33、分析是面向流程的,而流程是动态的、实需求分析是面向流程的,而流程是动态的、实时的。系统的功能、性能、接口、界面都是在流程中时的。系统的功能、性能、接口、界面都是在流程中动态实时地反映出来。在所有的流程动态实时地反映出来。在所有的流程(物流、人流、物流、人流、资金流、信息流、单据流、报表流、数据流资金流、信息流、单据流、报表流、数据流)中,数中,数据流最重要,也最有代表性。因为在计算机网络系统据流最重要,也最有代表性。因为在计算机网络系统内,一切流程都表现为数据流。所以,面向流程分析,内,一切流程都表现为数据流。所以,面向流程分析,实质上是面向数据流程分析,或面向数据分析。计算实质上是面向数据流
34、程分析,或面向数据分析。计算机网络只认识数据,其他所有的信息必须转化为数据机网络只认识数据,其他所有的信息必须转化为数据之后才能流动,所以说面向流程分析本质上是面向数之后才能流动,所以说面向流程分析本质上是面向数据流程分析。据流程分析。6033 需求分析的思路,是从用户的功能需求需求分析的思路,是从用户的功能需求(系系统需要做什么统需要做什么)出发,由系统的业务流程和数出发,由系统的业务流程和数据流程导出系统的业务模型和功能模型,识别据流程导出系统的业务模型和功能模型,识别出系统的元数据和中间数据,为今后设计数据出系统的元数据和中间数据,为今后设计数据模型做好充分准备。同时,对系统的软、硬件模
35、型做好充分准备。同时,对系统的软、硬件环境配置;开发工期、费用、开发进度、培训、环境配置;开发工期、费用、开发进度、培训、系统风险进行评估。系统风险进行评估。6034 2.2.找出元数据找出元数据元数据的分析与识别,是需求分析的主要议题之元数据的分析与识别,是需求分析的主要议题之。元数据是组织数据的数据,描述数据的数据,关于数元数据是组织数据的数据,描述数据的数据,关于数据的数据。通俗地讲,元数就是信息系统中实体名及其据的数据。通俗地讲,元数就是信息系统中实体名及其属性名的集合,或者说就是基表的表名与字段名的集合。属性名的集合,或者说就是基表的表名与字段名的集合。此可见,所谓实体,就是一组相关
36、元数据的集合。此可见,所谓实体,就是一组相关元数据的集合。元数据分析的出发点是业务模型和功能模型,落脚点元数据分析的出发点是业务模型和功能模型,落脚点是系统中的实体及其属性,企事业单位的数据模型中的是系统中的实体及其属性,企事业单位的数据模型中的所有元素。元数据蕴藏在信息系统的单据中,单据名称所有元素。元数据蕴藏在信息系统的单据中,单据名称及其内部的数据项名称,一般就是元数据。及其内部的数据项名称,一般就是元数据。6035 它是一个实体,单据中的它是一个实体,单据中的“数据项数据项”就是该实体的姓名,就是该实体的姓名,它们都是元数据。而它们都是元数据。而“,”,就不是元数据,只是由元,就不是元
37、数据,只是由元数据所组织的一条记录。数据所组织的一条记录。品名品名型号型号规格规格单价单价数量数量产地产地海尔电海尔电视机视机HE200029英寸英寸2500100青岛青岛出厂日出厂日期期出库日期出库日期制单人制单人审核人审核人 批准人批准人02092620021012张三张三李四李四王五王五商品出库单商品出库单36 3 3找出中间数据找出中间数据 中间数据蕴藏在信息系统的输出报表中,报表名称及其内中间数据蕴藏在信息系统的输出报表中,报表名称及其内部的数据项名称,一般是中间数据。其中部的数据项名称,一般是中间数据。其中“部门名称,员工部门名称,员工人数,男性人数,本科以上人数,人数,男性人数,
38、本科以上人数,3030岁以下人数,岁以下人数,”,这,这名词称为中间数据,而名词称为中间数据,而“市场部,市场部,2525,1616,2121,23”23”,这些,这些数据称为统计数据。数据称为统计数据。中间数据是组织统计数据的数据,描述中间数据是组织统计数据的数据,描述统计数据的数据,关于统计数据的数据。统计数据的数据,关于统计数据的数据。部门名称部门名称员工人数员工人数 男性人数男性人数 本科以上人数本科以上人数 3030岁以下人数岁以下人数市场部市场部2525161621212323开发部开发部8888676782826666销售部销售部3535323233191937 4 4找出元数据
39、与中间数据之间的关系找出元数据与中间数据之间的关系 元数据对应原始单据,中间数据对应查询元数据对应原始单据,中间数据对应查询、统计、报表。元数据将原始单据中与入的数、统计、报表。元数据将原始单据中与入的数据组织起来变成基表中的记录,这些记录称为据组织起来变成基表中的记录,这些记录称为基础数据。中间数据将统计报表叫输出的数据基础数据。中间数据将统计报表叫输出的数据组织起来变成中间表中的记录,这些记录称为组织起来变成中间表中的记录,这些记录称为统计数据。统计数据。6038 4 4找出元数据与中间数据之间的关系找出元数据与中间数据之间的关系 那么读者会问:那么读者会问:“它们两者之间是否有关系它们两
40、者之间是否有关系?有有什么关系什么关系?”?”回答是:回答是:“有关系是一种因果关系有关系是一种因果关系”。中间表中的记录是由基表中的记录派生中间表中的记录是由基表中的记录派生(推导、加推导、加工、处理工、处理)出来的,为了简单起见,我们说出来的,为了简单起见,我们说“中间数中间数据是由元数据派生出来的据是由元数据派生出来的”,这种派生就是算法分析,这种派生就是算法分析,也叫数拆处理。在需求分析中,弄清由元数据到中间也叫数拆处理。在需求分析中,弄清由元数据到中间数据之间的演变关系,对需求分析的成败至关重要,数据之间的演变关系,对需求分析的成败至关重要,系统分析师和项目经理不能粗心大意系统分析师
41、和项目经理不能粗心大意!6039 需求分析的方法需求分析的方法 5 5找出单据中的流程找出单据中的流程 单据中有如下三个流程。单据中有如下三个流程。(1)(1)该单据的上游是什么该单据的上游是什么?例如,若要录入例如,若要录入“单据单据2”2”,必须先录入,必须先录入“单据单据1 1,否则,否则“单据单据2”2”就录入不进去。那么就录入不进去。那么“单据单据1 1就是就是“单据单据2”2”的上游。的上游。40 (2)(2)同一个单据内部的数据项之间,也存在一个同一个单据内部的数据项之间,也存在一个先后次序问题。先后次序问题。例:出库单中的数据项例:出库单中的数据项“制单人,审核人,批准制单人,
42、审核人,批准人人”之间的录入次序,也有一个先后问题。制单人必之间的录入次序,也有一个先后问题。制单人必须第一个录入,审核人必须是第二个确认,批准人只须第一个录入,审核人必须是第二个确认,批准人只能是第三个确认。而且只有批准人确认之后,该单据能是第三个确认。而且只有批准人确认之后,该单据才能生效,才能出库,信息系统才能向后台数据库服才能生效,才能出库,信息系统才能向后台数据库服务器提交这条记录。务器提交这条记录。(3)(3)该单据的下游是什么该单据的下游是什么?是录入是录入“单据单据3”3”呢呢?还还是打印报表是打印报表A”A”呢呢?还是当日单据汇总处理呢还是当日单据汇总处理呢?这个问这个问题,
43、也要明确。否则,操作员就可能误操作。题,也要明确。否则,操作员就可能误操作。6041 6面向对象分析面向对象分析 也是从系统的基本功能入手,或从与系统有关的人和事也是从系统的基本功能入手,或从与系统有关的人和事入手,将所有的功能需求找出来,然后将每项功能对应一个入手,将所有的功能需求找出来,然后将每项功能对应一个对象,分析每个对象的属性、方法及包装方式,最后归并相对象,分析每个对象的属性、方法及包装方式,最后归并相同对象,删除冗余属性,将对象上升为类,再用对象总线或同对象,删除冗余属性,将对象上升为类,再用对象总线或对象框架将类组装起来,用以表示用户所有需求。对象框架将类组装起来,用以表示用户
44、所有需求。CASE工具工具RationalRose用用Usecase称为称为“用况用况”或或“用例用例”,表示与系,表示与系统有关的人、设备或外界子系统的一组交互动作序列统有关的人、设备或外界子系统的一组交互动作序列)来进行来进行需求分析,就是系统的需求。需求分析,就是系统的需求。面向数据分析,就是面向元数据和中间数据分析,只要将面向数据分析,就是面向元数据和中间数据分析,只要将这两类数据及其之间的关系分析透了,对开发者来说,主要这两类数据及其之间的关系分析透了,对开发者来说,主要目的就达到了。目的就达到了。42 需求分析的方法需求分析的方法 7 7分析与设计要同时考虑分析与设计要同时考虑 在
45、分析师心灵深处既要弄清目标系统是什么,又要为目在分析师心灵深处既要弄清目标系统是什么,又要为目标系统怎么设计做充分准备。那种在分析师心灵深处只考虑标系统怎么设计做充分准备。那种在分析师心灵深处只考虑目标系统是什么、而不考虑目标系统怎么做的需求分析观点,目标系统是什么、而不考虑目标系统怎么做的需求分析观点,是片面的、表面的、过时的、不可取的。有经验的分析师,是片面的、表面的、过时的、不可取的。有经验的分析师,常常是一边搞需求分析,一边在心灵深处思考今后怎么去设常常是一边搞需求分析,一边在心灵深处思考今后怎么去设计实现。一旦发现设计实现中将会出现问题,立即进一步需计实现。一旦发现设计实现中将会出现
46、问题,立即进一步需求分析。这是因为:许多问题在分析求分析。这是因为:许多问题在分析“目标系统是什么目标系统是什么”时时发现不了,只有考虑发现不了,只有考虑“目标系统怎么做目标系统怎么做”时才能暴露和发现时才能暴露和发现更多的问题。一些系统由于多次需求分析不到位,甚至在设更多的问题。一些系统由于多次需求分析不到位,甚至在设计或编程时被卡住,不得不回头再做需求分析,就是缺乏分计或编程时被卡住,不得不回头再做需求分析,就是缺乏分析与设计的同步考虑。析与设计的同步考虑。6043 需求分析艺术需求分析艺术 作为系统分析员,要在实践中不断提高自己,增长才干,作为系统分析员,要在实践中不断提高自己,增长才干
47、,修炼自身,形成独特的分析艺术。下面介绍常用的几点艺术。修炼自身,形成独特的分析艺术。下面介绍常用的几点艺术。(1)(1)需求分析相似如乒乓球赛的双打,它是由分析师和用户需求分析相似如乒乓球赛的双打,它是由分析师和用户配对进行双打,而且用户不懂得需求分析方法。怎么办配对进行双打,而且用户不懂得需求分析方法。怎么办?在需在需求分析之初,要对用户进行通俗易懂、深入浅出的需求分析求分析之初,要对用户进行通俗易懂、深入浅出的需求分析方法培训和引导。培训的内容是:需求分析的重要性、双方方法培训和引导。培训的内容是:需求分析的重要性、双方配合的重要性、需要调查的项目、用户哪些人员参加、调查配合的重要性、需
48、要调查的项目、用户哪些人员参加、调查表的填法和调查会的开法。表的填法和调查会的开法。44(2)(2)宏观上的流程,由企事业单位懂业务的中高层领导介宏观上的流程,由企事业单位懂业务的中高层领导介绍。微观上的流程,由企事业单位懂业务的基层人员说明。绍。微观上的流程,由企事业单位懂业务的基层人员说明。(3)(3)同一个业务流程,要有两个以上懂业务的人员介绍,同一个业务流程,要有两个以上懂业务的人员介绍,而且要经得起推敲,要经过优化过滤处理,要被业务主管而且要经得起推敲,要经过优化过滤处理,要被业务主管确认。确认。4)4)企事业单位是个金字塔结构,上面小,下面大,需求企事业单位是个金字塔结构,上面小,
49、下面大,需求也是个金字塔结构。决策层提出宏观上的统计、查询、决也是个金字塔结构。决策层提出宏观上的统计、查询、决策需求,管理层提出业务管理和作业控制需求,操作层提策需求,管理层提出业务管理和作业控制需求,操作层提出录入、修改、提交、处理、打印、界面、传输、通信、出录入、修改、提交、处理、打印、界面、传输、通信、时间与速度等方面的操作需求。时间与速度等方面的操作需求。6045(5)(5)在需求分析中,一般要向用户进行两三次汇在需求分析中,一般要向用户进行两三次汇报,公开征求决策层、管理层和操作层的意见。报,公开征求决策层、管理层和操作层的意见。每次汇报一个人主讲,其他人补充。在汇报之前,每次汇报
50、一个人主讲,其他人补充。在汇报之前,先在项目组内部演示一次,即彩排一次,以提高先在项目组内部演示一次,即彩排一次,以提高汇报的质量汇报的质量(6)(6)要与用户交朋友,要记住用户的姓名、职务、要与用户交朋友,要记住用户的姓名、职务、职称、特长、爱好、脾气、特点。要交心谈心,职称、特长、爱好、脾气、特点。要交心谈心,要讲信誉,要尊重人,要诚恳待人。要讲信誉,要尊重人,要诚恳待人。46 需求管理过程需求管理过程1.1.需求管理的任务与内容需求管理的任务与内容 需求管理的中心任务,是保证软件产品满足客户在软件功需求管理的中心任务,是保证软件产品满足客户在软件功能、性能、接口三个方面的需求。能、性能、