信息化综合资料→软件工程需求分析基础知识.ppt
《信息化综合资料→软件工程需求分析基础知识.ppt》由会员分享,可在线阅读,更多相关《信息化综合资料→软件工程需求分析基础知识.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 软件工程需求分析基础第四章第四章 需求分析基础需求分析基础需求分析的任务与原则(重点)需求分析的任务与原则(重点)需求分析的任务需求分析的任务需求分析的过程需求分析的过程软件需求分析的原则软件需求分析的原则初步需求获取技术初步需求获取技术需求建模(重点)需求建模(重点)问题抽象、问题分解与多视点分析问题抽象、问题分解与多视点分析支持需求分析的快速原型技术支持需求分析的快速原型技术需求规格说明书需求规格说明书软件需求:软件需求:用户对目标软件系统在功能、行为、性用户对目标软件系统在功能、行为、性能、设计约束等方面的期望能、设计约束等方面的期望4.1 4.1 需求分析的任务与原则需求分析的
2、任务与原则软件需求析:软件需求析:对应用问题及环境的理解和分析,为对应用问题及环境的理解和分析,为问题涉及的信息、功能及系统行为建立模型。问题涉及的信息、功能及系统行为建立模型。将用将用户需求精确化、完全化,最终形成需求规格说明书户需求精确化、完全化,最终形成需求规格说明书需求分析的任务需求分析的任务就是借助于当前系统的逻辑模型导就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的出目标系统的逻辑模型,解决目标系统的“做什做什么么”的问题。的问题。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化抽象化物理模型物理模型逻辑模型逻辑模型具体化实例化理理解解需需求
3、求表表达达需需求求导出怎么做怎么做做什么做什么需求分析的任务需求分析的任务通常软件开发项目是要实现目标系统的物理模型通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的例化,即具体到某个业务领域而得到的需求分析研究的对象是软件项目的用户要求需求分析研究的对象是软件项目的用户要求准确地表达被接受的用户要求准确地表达被接受的用户要求确定被开发软件系统的系统元素确定被开发软件系统的系统元素将功能和信息结构分配到这些系统元素中将功能和信息结构分配到这些系统元素中需求分析的任务需求分析的任务深入描
4、述软件的功能和性能深入描述软件的功能和性能确定软件设计的约束和软件同其它系统元素的确定软件设计的约束和软件同其它系统元素的接口细节接口细节定义软件的其它有效性需求定义软件的其它有效性需求需求分析的具体任务需求分析的具体任务需求分析阶段的具体任务:需求分析阶段的具体任务:确定对系统的综合要求确定对系统的综合要求系统功能要求系统功能要求系统性能要求系统性能要求运行要求运行要求将来可能提出的要求将来可能提出的要求分析系统的数据要求(需求分析的本质就是对分析系统的数据要求(需求分析的本质就是对数据和加工进行分析,如用数据流程图、数据和加工进行分析,如用数据流程图、ER图)图)导出系统的逻辑模型导出系统
5、的逻辑模型修正系统开发计划修正系统开发计划开发原型系统开发原型系统编写软件需求规格说明书编写软件需求规格说明书需求分析标准和过程需求分析标准和过程需求的四项基本标准需求的四项基本标准明确(明确(clearclear)完整(完整(completecomplete)一致(一致(consistentconsistent)可测试(可测试(testabletestable)需求分析的过程:需求分析的过程:对问题的识别、需求描述(分对问题的识别、需求描述(分析与综合)、制定规格说明和需求评审。析与综合)、制定规格说明和需求评审。问题识别问题识别从系统的角度来理解软件并评审软件范围是否从系统的角度来理解软件
6、并评审软件范围是否恰当恰当确定对目标系统的综合要求,即软件的需求确定对目标系统的综合要求,即软件的需求提出这些需求实现条件,以及需求应达到的标提出这些需求实现条件,以及需求应达到的标准准 功能需求功能需求功能需求功能需求 性能需求性能需求性能需求性能需求 环境需求环境需求环境需求环境需求 可靠性需求可靠性需求可靠性需求可靠性需求 安全保密要求安全保密要求安全保密要求安全保密要求 用户界面需求用户界面需求用户界面需求用户界面需求 资源使用需求资源使用需求资源使用需求资源使用需求 成本消耗需求成本消耗需求成本消耗需求成本消耗需求 开发进度需求开发进度需求开发进度需求开发进度需求 预先估计以后系统预
7、先估计以后系统预先估计以后系统预先估计以后系统可能达到的目标可能达到的目标可能达到的目标可能达到的目标需求分析的过程需求分析的过程问题识别的另一项工作是建立分析所需要的通信途问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。径,以保证能顺利地对问题进行分析。软件的需求包括:软件的需求包括:需求分析的过程需求分析的过程分析与综合分析与综合从信息流和信息结构出发,逐步细化所有的软件功能,从信息流和信息结构出发,逐步细化所有的软件功能,从信息流和信息结构出发,逐步细化所有的软件功能,从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的关联、接口特性和设计上
8、的约找出系统各元素之间的关联、接口特性和设计上的约找出系统各元素之间的关联、接口特性和设计上的约找出系统各元素之间的关联、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。剔除其束,分析它们是否满足功能要求,是否合理。剔除其束,分析它们是否满足功能要求,是否合理。剔除其束,分析它们是否满足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的不合理的部分,增加其需要部分。最终综合成系统的不合理的部分,增加其需要部分。最终综合成系统的不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。解决方案,给出目标系统的详细逻辑模型。解决方案,给出
9、目标系统的详细逻辑模型。解决方案,给出目标系统的详细逻辑模型。常用的分析方法常用的分析方法面向数据流面向数据流的结构化分析方法的结构化分析方法 (SA)(SA)面向数据结构面向数据结构的的JacksonJackson方法方法 (JSD)(JSD)面向数据结构面向数据结构的结构化数据系统开发方法的结构化数据系统开发方法 (DSSD)(DSSD)面向对象面向对象的分析方法的分析方法 (OOA)(OOA)等等需求分析的过程需求分析的过程编制需求分析阶段的文档编制需求分析阶段的文档软件需求说明书软件需求说明书数据要求说明书数据要求说明书初步的用户手册初步的用户手册修改、完善与确定软件开发实施计划修改、
10、完善与确定软件开发实施计划需求分析评审需求分析评审系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全;文档中的所有描述是否完整、清晰、准确反映文档中的所有描述是否完整、清晰、准确反映用户要求用户要求;与所有其它系统成分的重要接口是否都已经描与所有其它系统成分的重要接口是否都已经描述述;需求分析的过程需求分析的过程需求分析评审需求分析评审被开发项目的数据流与数据结构是否足够,确被开发项目的数据流与数据结构是否足够,确定定;所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解
11、;主要功能是否已包括在规定的软件范围之内,主要功能是否已包括在规定的软件范围之内,是否都已充分说明是否都已充分说明;设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际;开发的技术风险是什么开发的技术风险是什么;是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案;是否考虑过将来可能会提出的软件需求是否考虑过将来可能会提出的软件需求;是否详细制定了检验标准,它们能否对系统定是否详细制定了检验标准,它们能否对系统定义是否成功进行确认义是否成功进行确认;需求分析流程需求分析流程软件需求分析的原则软件需求分析的原则1 1 1 1、需要能够表达和理解问题的信息域和功能域、需要能
12、够表达和理解问题的信息域和功能域、需要能够表达和理解问题的信息域和功能域、需要能够表达和理解问题的信息域和功能域信息域应包括:信息域应包括:信息域应包括:信息域应包括:信息流信息流信息流信息流:数据和控制通过一个系统时的变化方式。:数据和控制通过一个系统时的变化方式。:数据和控制通过一个系统时的变化方式。:数据和控制通过一个系统时的变化方式。两个功能之间的数据两个功能之间的数据两个功能之间的数据两个功能之间的数据/控制传递就确定了功能间的控制传递就确定了功能间的控制传递就确定了功能间的控制传递就确定了功能间的接口。接口。接口。接口。信息内容信息内容信息内容信息内容:单个数据或控制对象,它们构成
13、了某:单个数据或控制对象,它们构成了某:单个数据或控制对象,它们构成了某:单个数据或控制对象,它们构成了某个更大的由软件变换生成的信息的集合。个更大的由软件变换生成的信息的集合。个更大的由软件变换生成的信息的集合。个更大的由软件变换生成的信息的集合。信息结构信息结构信息结构信息结构:各种数据和控制项的内部组织。:各种数据和控制项的内部组织。:各种数据和控制项的内部组织。:各种数据和控制项的内部组织。2 2 2 2、以层次化的方式对问题进行分解和不断细化、以层次化的方式对问题进行分解和不断细化、以层次化的方式对问题进行分解和不断细化、以层次化的方式对问题进行分解和不断细化软件的功能域和信息域都能
14、做进一步的分解。这种软件的功能域和信息域都能做进一步的分解。这种软件的功能域和信息域都能做进一步的分解。这种软件的功能域和信息域都能做进一步的分解。这种分解可以是同一层次上的,称为横向分解;也可以分解可以是同一层次上的,称为横向分解;也可以分解可以是同一层次上的,称为横向分解;也可以分解可以是同一层次上的,称为横向分解;也可以是多层次的纵向分解。是多层次的纵向分解。是多层次的纵向分解。是多层次的纵向分解。软件需求分析的原则软件需求分析的原则3 3 3 3、要给出系统的逻辑视图和物理视图、要给出系统的逻辑视图和物理视图、要给出系统的逻辑视图和物理视图、要给出系统的逻辑视图和物理视图软件需求的逻辑
15、视图给出的是软件要达到的功能软件需求的逻辑视图给出的是软件要达到的功能软件需求的逻辑视图给出的是软件要达到的功能软件需求的逻辑视图给出的是软件要达到的功能和要处理的数据之间的关系,而不是实现的细节。和要处理的数据之间的关系,而不是实现的细节。和要处理的数据之间的关系,而不是实现的细节。和要处理的数据之间的关系,而不是实现的细节。软件需求的逻辑描述是软件设计的基础。软件需求的逻辑描述是软件设计的基础。软件需求的逻辑描述是软件设计的基础。软件需求的逻辑描述是软件设计的基础。软件需求的物理视图给出的是处理功能和数据结软件需求的物理视图给出的是处理功能和数据结软件需求的物理视图给出的是处理功能和数据结
16、软件需求的物理视图给出的是处理功能和数据结构的实际表现形式,这往往是由设备本身决定的。构的实际表现形式,这往往是由设备本身决定的。构的实际表现形式,这往往是由设备本身决定的。构的实际表现形式,这往往是由设备本身决定的。纵纵向向分分解解横向分解横向分解软件需求规格说明的原则软件需求规格说明的原则从现实中分离功能,即描述要从现实中分离功能,即描述要“做什么做什么”而不是而不是“怎怎样实现样实现”要求使用要求使用面向处理面向处理的规格说明语言(或称系统定的规格说明语言(或称系统定义语言)义语言)如果被开发软件只是一个大系统中的一个元素,如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在
17、规格说明的描述之中那么整个大系统也包括在规格说明的描述之中规格说明必须包括系统运行环境规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合软件需求方法软件需求方法需求分析方法由对软件问题的需求分析方法由对软件问题的信息域信息域和和功能域功能域的的系统分析过程及其表示方法组成系统分析过程及其表示方法组成大多数的需求分析方法是由大多数的需求分析方法是由信息驱动信息驱动的的信息域具有三种属性信息域具有三种属
18、性:信息流信息流、信息内容信息内容和和信息信息结构结构。4.24.2 需求获取技术需求获取技术需求获取技术包括两方面的工作需求获取技术包括两方面的工作需求获取技术包括两方面的工作需求获取技术包括两方面的工作建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。获取用户需求的主要方法是调查研究获取用户需求的主要方法是调查研究获取用户需求的主要方法是调查研究获取用户需求的主要方法是调查研究需求调查的内容:需
19、求调查的内容:需求调查的内容:需求调查的内容:组织概况、组织的业务活动、组织的业务状态、业组织概况、组织的业务活动、组织的业务状态、业组织概况、组织的业务活动、组织的业务状态、业组织概况、组织的业务活动、组织的业务状态、业务的详细内容、务的详细内容、务的详细内容、务的详细内容、输入输出信息(输入输出信息(输入输出信息(输入输出信息(信息流向、信息信息流向、信息信息流向、信息信息流向、信息种类、利用的目的、信息的使用者和制造者、输入种类、利用的目的、信息的使用者和制造者、输入种类、利用的目的、信息的使用者和制造者、输入种类、利用的目的、信息的使用者和制造者、输入和输出地点、输入和输出信息量)和输
20、出地点、输入和输出信息量)和输出地点、输入和输出信息量)和输出地点、输入和输出信息量)、存在问题、约、存在问题、约、存在问题、约、存在问题、约束条件、未来要求束条件、未来要求束条件、未来要求束条件、未来要求了解系统的需求了解系统的需求了解系统的需求了解系统的需求 软件开发是系统开发的一部分软件开发是系统开发的一部分软件开发是系统开发的一部分软件开发是系统开发的一部分,仔细分析研究系统仔细分析研究系统仔细分析研究系统仔细分析研究系统的需求规格说明的需求规格说明的需求规格说明的需求规格说明,对软件的需求获取是很有必要的对软件的需求获取是很有必要的对软件的需求获取是很有必要的对软件的需求获取是很有必
21、要的需求调查对象需求调查对象 对组织的高层管理者,进行组织管理目标或对组织的高层管理者,进行组织管理目标或经营方针等组织战略问题的调查经营方针等组织战略问题的调查 对中层的管理者,进行全部业务流的调查对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查对业务工作人员,进行详细业务信息的调查市场调查市场调查 了解市场对待开发软件有什么样的要求;了解市了解市场对待开发软件有什么样的要求;了解市场上有无与待开发软件类似的系统场上有无与待开发软件类似的系统考察现场考察现场 了解用户实际的操作环境、操作过程和操作要求。了解用户实际的操作环境、操作过程和操作要求。对照用户提交的问题
22、陈述,对用户需求可以有更全对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识。面、更细致的认识。观察用户工作流程观察用户工作流程用户和开发人员共同组成联合小组用户和开发人员共同组成联合小组调查研究方式调查研究方式发调查表;发调查表;召开调查会;召开调查会;向用户领域的专家咨询;向用户领域的专家咨询;实地考察,跟踪现场业务流程;实地考察,跟踪现场业务流程;查阅有关的资料;查阅有关的资料;使用各种调查工具等。使用各种调查工具等。需求调查策略需求调查策略调查必须按计划进行,即制订调查进度计划调查必须按计划进行,即制订调查进度计划掌握调查顺序。掌握调查顺序。自顶向下自顶向下顺序适于业务层次性
23、顺序适于业务层次性较强、功能划分比较明确的系统;较强、功能划分比较明确的系统;自底向上自底向上顺序顺序适于业务相对分散且层次性不很强、功能划分不适于业务相对分散且层次性不很强、功能划分不十分明确的系统。十分明确的系统。在调查过程中要注意数量概念,要收集足够的在调查过程中要注意数量概念,要收集足够的数字供定量分析之用数字供定量分析之用在调查中要适时地对收集的资料进行研究分析在调查中要适时地对收集的资料进行研究分析在调查过程中掌握正确的调查态度在调查过程中掌握正确的调查态度4.34.3 需求建模需求建模使用业务流程图建立需求模型使用业务流程图建立需求模型需求模型不涉及软件实现和需求模型不涉及软件实
24、现和 实现细节,是框实现细节,是框架性的模型架性的模型系统流程图是描绘物理系统的传统工具。它表系统流程图是描绘物理系统的传统工具。它表示所描述部件的信息流图,而不表示信息加工示所描述部件的信息流图,而不表示信息加工的控制过程。的控制过程。系统流程图在可行性研究阶段也可以使用系统流程图在可行性研究阶段也可以使用系统流程图可用图形符号来表示系统中的各个系统流程图可用图形符号来表示系统中的各个元素。元素。例如,人工处理、数据处理、数据库、例如,人工处理、数据处理、数据库、文件等。文件等。画系统流程图时,要搞清业务处理过程即处理画系统流程图时,要搞清业务处理过程即处理中的各个元素,同时要理解系统的流程
25、图各个中的各个元素,同时要理解系统的流程图各个符号的含义。符号的含义。系统流程图的符号系统流程图的符号符号符号符号符号名称名称名称名称说明说明说明说明处理处理处理处理代表加工或部件程序代表加工或部件程序代表加工或部件程序代表加工或部件程序输入输入输入输入/输出输出输出输出表示不指具体设备的输表示不指具体设备的输表示不指具体设备的输表示不指具体设备的输入或输出入或输出入或输出入或输出连接连接连接连接同一页内的连接同一页内的连接同一页内的连接同一页内的连接换页连接换页连接换页连接换页连接不同页的连接不同页的连接不同页的连接不同页的连接数据流数据流数据流数据流指明信息流向指明信息流向指明信息流向指明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息化 综合 资料 软件工程 需求 分析 基础知识
限制150内