3第三章软件需求分析(精品).ppt
《3第三章软件需求分析(精品).ppt》由会员分享,可在线阅读,更多相关《3第三章软件需求分析(精品).ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 软件需求分析软件需求分析软件需求的定义:软件需求的定义:IEEE软件工程中的需求定义是软件工程中的需求定义是l用户解决问题或达到目标所需要的条件或权能用户解决问题或达到目标所需要的条件或权能l系统或系统部件要满足合同、标准、规范或其他正式系统或系统部件要满足合同、标准、规范或其他正式规定文档所要具有的条件或权能规定文档所要具有的条件或权能l反映上面两条文档的说明反映上面两条文档的说明一般的定义是一般的定义是系统必须实现什么的规约,它描述了系统的行为、特性系统必须实现什么的规约,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束或属性,是在开发过程中对系统的约束第三章第三章
2、 软件需求分析软件需求分析软件需求分析的意义:软件需求分析的意义:从用户和开发者两个角度去充分理解软件工程项目,从用户和开发者两个角度去充分理解软件工程项目,达到业务应用和信息处理的高度一致达到业务应用和信息处理的高度一致充分理解用户的功能需求,并挖掘用户的潜在需求,充分理解用户的功能需求,并挖掘用户的潜在需求,深入掌握软件工程的全部内涵深入掌握软件工程的全部内涵让用户充分理解信息处理系统的功能和实现的条件和让用户充分理解信息处理系统的功能和实现的条件和环境环境用全面的、发展的观点去分析用户的需求,让生产出用全面的、发展的观点去分析用户的需求,让生产出来的软件产品具有更大的价值来的软件产品具有
3、更大的价值提交规范化的文档提交规范化的文档第三章第三章 软件需求分析软件需求分析需求的分类需求的分类功能需求功能需求:描述系统所提供的功能和服务,包:描述系统所提供的功能和服务,包括系统应该提供的服务、对输入如何响应及特括系统应该提供的服务、对输入如何响应及特定条件下系统行为的描述。系统的功能需求应定条件下系统行为的描述。系统的功能需求应该具有该具有全面性全面性和和一致性一致性非功能需求:非功能需求:作为功能需求的补充,非功能需作为功能需求的补充,非功能需求是指哪些不直接与系统的具体功能相关的一求是指哪些不直接与系统的具体功能相关的一类需求,但它们与系统的总体特性有关,如类需求,但它们与系统的
4、总体特性有关,如可可靠性、响应时间、存储空间靠性、响应时间、存储空间等。它定义了对系等。它定义了对系统提供统提供服务或功能的约束服务或功能的约束,包括,包括时间约束、空时间约束、空间约束、开发过程约束及遵循的标准间约束、开发过程约束及遵循的标准等等第三章第三章 软件需求分析软件需求分析非功能需求又可分三类非功能需求又可分三类产品需求、机构需求、外部需求产品需求、机构需求、外部需求 非非 功功 能能 需需 求求产品需求产品需求可用性需求可用性需求效率需求效率需求性能需求性能需求空间需求空间需求可靠性需求可靠性需求可移植性需求可移植性需求机构需求机构需求交付需求交付需求实现需求实现需求标准需求标准
5、需求外部需求外部需求互操作性需互操作性需求道德需求道德需求立法需求立法需求隐私需求隐私需求安全性需求安全性需求第三章第三章 软件需求分析软件需求分析领域需求:来源于系统的应用领域,反映该领领域需求:来源于系统的应用领域,反映该领域的特点。主要反映应用领域的基本问题,如域的特点。主要反映应用领域的基本问题,如果这些需求得不到满足,系统的正常运转就不果这些需求得不到满足,系统的正常运转就不可能。它可能是功能需求,也可以是非功能需可能。它可能是功能需求,也可以是非功能需求。比如军事领域中防空系统开发,求。比如军事领域中防空系统开发,一方面存一方面存在特定的功能需求,同时又存在非功能需求,在特定的功能
6、需求,同时又存在非功能需求,这类有着特殊应用领域的需求就成为领域需求这类有着特殊应用领域的需求就成为领域需求业务需求业务需求用户需求用户需求系统需求系统需求功能需求功能需求项目视图与项目视图与范围文档范围文档使用实例文档使用实例文档质量属性质量属性约束条件约束条件其它的非功其它的非功能需求能需求软件规约软件规约第三章第三章 软件需求分析软件需求分析n n对软件需求的完全理解对软件开发工作的成对软件需求的完全理解对软件开发工作的成对软件需求的完全理解对软件开发工作的成对软件需求的完全理解对软件开发工作的成功是至关重要的。功是至关重要的。功是至关重要的。功是至关重要的。n n需求分析的任务是需求分
7、析的任务是需求分析的任务是需求分析的任务是发现发现发现发现、求精求精求精求精、建模建模建模建模和和和和规格规格规格规格说明说明说明说明的过程。包括的过程。包括的过程。包括的过程。包括uu细化在软件项目开发计划中规定的细化在软件项目开发计划中规定的细化在软件项目开发计划中规定的细化在软件项目开发计划中规定的软件范软件范软件范软件范围围围围;uu创建所需的创建所需的创建所需的创建所需的数据模型数据模型数据模型数据模型、功能模型功能模型功能模型功能模型和和和和控制模控制模控制模控制模型型型型;uu分析可选择的分析可选择的分析可选择的分析可选择的解决方案解决方案解决方案解决方案,并将它们分配到,并将它
8、们分配到,并将它们分配到,并将它们分配到各个软件成分中去。各个软件成分中去。各个软件成分中去。各个软件成分中去。n n需求分析是一项软件工程活动,它使得系统需求分析是一项软件工程活动,它使得系统需求分析是一项软件工程活动,它使得系统需求分析是一项软件工程活动,它使得系统分析人员能够:分析人员能够:分析人员能够:分析人员能够:uu刻划出刻划出刻划出刻划出软件的功能软件的功能软件的功能软件的功能和和和和性能性能性能性能;uu指明指明指明指明软件与其他系统元素的接口软件与其他系统元素的接口软件与其他系统元素的接口软件与其他系统元素的接口;uu建立建立建立建立软件必须满足的约束软件必须满足的约束软件必
9、须满足的约束软件必须满足的约束。n n需求分析建立起来的模型为日后软件设计人需求分析建立起来的模型为日后软件设计人需求分析建立起来的模型为日后软件设计人需求分析建立起来的模型为日后软件设计人员提供了可被翻译成员提供了可被翻译成员提供了可被翻译成员提供了可被翻译成数据数据数据数据、体系结构体系结构体系结构体系结构、界面界面界面界面和和和和过程过程过程过程设计的模型。设计的模型。设计的模型。设计的模型。n n需求规格说明为开发人员和用户提供软件开需求规格说明为开发人员和用户提供软件开需求规格说明为开发人员和用户提供软件开需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据发完成时质量评价的
10、依据发完成时质量评价的依据发完成时质量评价的依据。需求分析的需求分析的目标和目标和任务任务n n需求分析研究的对象是需求分析研究的对象是需求分析研究的对象是需求分析研究的对象是用户的要求用户的要求用户的要求用户的要求。n n一方面,必须一方面,必须一方面,必须一方面,必须全面理解全面理解全面理解全面理解用户的各项要求,另用户的各项要求,另用户的各项要求,另用户的各项要求,另一方面,要一方面,要一方面,要一方面,要准确表达准确表达准确表达准确表达被接受的用户要求。被接受的用户要求。被接受的用户要求。被接受的用户要求。n n只有经过确切描述的软件需求才能成为软件只有经过确切描述的软件需求才能成为软
11、件只有经过确切描述的软件需求才能成为软件只有经过确切描述的软件需求才能成为软件设计的基础。设计的基础。设计的基础。设计的基础。n n软件开发是要实现软件开发是要实现软件开发是要实现软件开发是要实现目标系统的物理模型目标系统的物理模型目标系统的物理模型目标系统的物理模型。需。需。需。需求分析的求分析的求分析的求分析的任务任务就是借助于就是借助于就是借助于就是借助于当前系统的逻辑当前系统的逻辑当前系统的逻辑当前系统的逻辑模型导出目标系统模型导出目标系统模型导出目标系统模型导出目标系统(计算机系统)(计算机系统)(计算机系统)(计算机系统)的逻辑模的逻辑模的逻辑模的逻辑模型型型型(数据流程图数据流程
12、图数据流程图数据流程图DFDDFD、数据字典、加工逻辑、数据字典、加工逻辑、数据字典、加工逻辑、数据字典、加工逻辑(算法)说明(算法)说明(算法)说明(算法)说明)。解决目标系统解决目标系统解决目标系统解决目标系统“做什么做什么做什么做什么”的问题。的问题。的问题。的问题。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化模型化抽象化抽象化物理模型物理模型逻辑模型逻辑模型具体化具体化实例化实例化理理解解需需求求导导出出怎么做怎么做做什么做什么n n需求分析的过程可以分成四个阶段:需求分析的过程可以分成四个阶段:1)问题识别问题识别uu研究系统的研究系统的可行性分析报告可行性
13、分析报告和和软件软件项目实施计划项目实施计划。uu从系统角度来理解软件并评审用于从系统角度来理解软件并评审用于产生计划估算的产生计划估算的软件范围是否恰当软件范围是否恰当;uu确定确定对目标系统的需求对目标系统的需求;uu提出这些提出这些需求实现条件需求实现条件,以及,以及需求需求应达到的标准应达到的标准。需求分析的过程需求分析的过程问问题题识识别别的的另另一一项项工工作作是是建建立立分分析析所所需需要要的的通通信信途途径径,以以保保证证能能顺顺利利地地对对问问题题进进行行分析。分析。2)分析与综合分析与综合 uu进行各种要求的进行各种要求的一致性一致性检查;检查;uu逐步细化所有的逐步细化所
14、有的软件功能软件功能;uu分解数据域,分配给各个子功能;分解数据域,分配给各个子功能;uu找找出出系系统统各各成成分分之之间间的的联联系系、接接口口特性特性和和设计限制设计限制。uu判判断断是是否否存存在在不不合合理理的的用用户户要要求求或或用户尚未提出的潜在要求用户尚未提出的潜在要求。uu综综合合成成系系统统的的解解决决方方案案,给给出出目目标标系统的详细逻辑模型。系统的详细逻辑模型。常用的分析方法常用的分析方法面向数据流面向数据流的结构化分析方法的结构化分析方法(SA)面向数据结构面向数据结构的的Jackson方法方法(JSD)面向数据结构面向数据结构的结构化数据系统开发方的结构化数据系统
15、开发方法法(DSSD)面向对象面向对象的分析方法的分析方法(OOA)等等3)编制需求分析阶段的文档编制需求分析阶段的文档uu软件需求说明书;软件需求说明书;uu初步的用户手册;初步的用户手册;uu确认测试计划;确认测试计划;uu修改和完善软件开发计划。修改和完善软件开发计划。4)需求分析评审需求分析评审uu作作为为需需求求分分析析阶阶段段工工作作的的复复查查手手段段,应应该该对对功功能能的的正正确确性性、文文档档的的一一致致性性、完完备备性性、准准确确性性和和清清晰晰性性,以以及其它需求给予评价。及其它需求给予评价。uu评评评评审审审审:小小小小组组组组:非非非非设设设设计计计计人人人人员员员
16、员、用用用用户户户户(签签签签字字字字确认)确认)确认)确认)n n需需要要能能够够表表达达和和理理解解问问题题的的信信息息域域和和功功能域能域uu 信息流信息流:数据和控制通过一个系统:数据和控制通过一个系统时的变化方式。两个功能之间的数据时的变化方式。两个功能之间的数据/控制传递就确定了功能间的接口。控制传递就确定了功能间的接口。uu 信息内容信息内容:单个数据或控制对象,:单个数据或控制对象,它们构成了某个更大的由软件变换生它们构成了某个更大的由软件变换生成的信息的集合。成的信息的集合。uu 信息结构信息结构:各种数据和控制项的内:各种数据和控制项的内部组织。部组织。需求分析的原则需求分
17、析的原则以以层层次次化化的的方方式式对对问问题题进进行行分分解解和和不不断断细化细化纵纵向向分分解解横向分解横向分解给出系统的逻辑视图和物理视图给出系统的逻辑视图和物理视图uu 软软件件需需求求的的逻逻辑辑视视图图给给出出的的是是软软件件要要达达到到的的功功能能和和要要处处理理的的数数据据之之间间的关系,而不是实现的细节。的关系,而不是实现的细节。uu软软件件需需求求的的逻逻辑辑描描述述是是软软件件设设计计的的基础。基础。uu软软件件需需求求的的物物理理视视图图给给出出的的是是处处理理功功能能和和数数据据结结构构的的实实际际表表现现形形式式,这往往是由设备本身决定的。这往往是由设备本身决定的。
18、软件需求的层次软件需求的层次1)业务需求业务需求反映了组织或客户对系统、产品高层次反映了组织或客户对系统、产品高层次的目标要求,它们一般在的目标要求,它们一般在项目视图项目视图和和范范围文档围文档中给予说明。中给予说明。2)用户需求用户需求 描述用户使用软件需要完成哪些任务,描述用户使用软件需要完成哪些任务,它们可通过它们可通过使用实例图使用实例图或或脚本说明脚本说明加以加以阐明。阐明。3)功能功能非功能需求非功能需求 定义了开发者必须实现的软件功能,而定义了开发者必须实现的软件功能,而非功能需求如表所示非功能需求如表所示:需求获取技术需求获取技术需求获取技术包括两方面的工作:需求获取技术包括
19、两方面的工作:建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。获取用户需求的主要方法是调查研究。获取用户需求的主要方法是调查研究。了解系统的需求了解系统的需求 软件开发是系统开发的一部分软件开发是系统开发的一部分,仔细分析仔细分析研究系统的需求规格说明研究系统的需求规格说明,对软件的需求对软件的需求获取是很有必要的。获取是很有必要的。市场调查市场调查 了了解解市市场场对对待待开开发发软软件件有有什什么么要要求求;了了解市场上有无与待开发软件类似的系统。解市场上有无与待开发软件类似的系统。访问用户和用户领域的专家访问用户
20、和用户领域的专家 把把从从用用户户得得到到的的信信息息作作为为重重要要的的原原始始资资料料进进行行分分析析;访访问问用用户户领领域域的的专专家家所所得得到到的的信息将有助于对用户需求的理解。信息将有助于对用户需求的理解。考察现场考察现场 了解用户实际操作环境、操作过程和操了解用户实际操作环境、操作过程和操作要求。对照用户提交的问题陈述,对用作要求。对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识。户需求可以有更全面、更细致的认识。调查研究的方法调查研究的方法发调查表;发调查表;召开调查会;召开调查会;向用户领域的专家个别咨询;向用户领域的专家个别咨询;实地考察,实地考察,跟踪现场业
21、务流程;跟踪现场业务流程;查阅与待开发系统有关的资料;查阅与待开发系统有关的资料;使用各种调查工具等。使用各种调查工具等。需求分析方法需求分析方法 原型法(原型法(P45-49P45-49):概念、三种模型、两种策略、优点、生存概念、三种模型、两种策略、优点、生存期、可使用的阶段。期、可使用的阶段。软件复用:五个层次、两种技术软件复用:五个层次、两种技术P53P53 面向数据流的分析方法面向数据流的分析方法 P53P53结构化分析结构化分析))基于数据流的分析原则基于数据流的分析原则基于数据流的分析原则基于数据流的分析原则:基本符号基本符号P53P53分层细化分层细化从输出回溯。(从输出回溯。
22、(举例:图书管理、银行、超市等举例:图书管理、银行、超市等举例:图书管理、银行、超市等举例:图书管理、银行、超市等)检查原则:检查原则:P55P55编号编号 )数据字典:详细补充说明数据流、存储文件)数据字典:详细补充说明数据流、存储文件P53P533)3)加工逻辑说明:详细补充说明复杂的处理框的功能。加工逻辑说明:详细补充说明复杂的处理框的功能。)系统动态图:主要用在面向对象)系统动态图:主要用在面向对象需求分析方法需求分析方法)数据及数据库设计:数据库之间的关系。P71ER模型、规范化、分析过程、考虑因素)辅助工具面向数据结构的分析方法面向数据结构的分析方法面向数据结构的分析方法面向数据结
23、构的分析方法(略,第五章略,第五章略,第五章略,第五章)Jackson系统开发方法、Warnier-Orr方法、需求规格说明与评审n n结构化分析方法最初只是着眼于数据流,结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理自顶向下,逐层分解,建立系统的处理流程,以流程,以数据流图数据流图和和数据词典数据词典为主要工为主要工具,建立系统的逻辑模型。具,建立系统的逻辑模型。n n扩充后,将建模技术扩展到扩充后,将建模技术扩展到数据建模数据建模、功能建模功能建模和和行为建模行为建模,以实体以实体-关系图关系图、数据流图数据流图和和控制流图控制流图、状态状态-迁移图迁移图为为工具,
24、工具,数据词典数据词典为核心,从不同视点建为核心,从不同视点建立系统的分析模型。立系统的分析模型。结构化分析方法结构化分析方法结构化分析的分析模型结构化分析的分析模型实体实体关系图关系图状态状态迁移图迁移图数据流数据流数据流数据流图图图图数据对象描述数据对象描述加工规格说明加工规格说明数据数据字典字典控制规格说明控制规格说明数据建模数据建模n n数据模型包括三种互相关联的信息:数据模型包括三种互相关联的信息:数据数据对象对象,描述对象的,描述对象的属性属性,描述对象间相互,描述对象间相互连接的连接的关系关系。n n在需求分析阶段描述数据对象和它们之间在需求分析阶段描述数据对象和它们之间的关系,
25、的关系,使用了使用了E-R图图。n n例如,在教学管理中,一个教师可以教授例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的学习几门课程。因此,教学管理中涉及的对象(实体型)有对象(实体型)有学生学生、教师教师和和课程课程。教学数据模型教学数据模型学号学号学号学号 姓名姓名姓名姓名 专业专业专业专业 性别性别性别性别 学生学生学生学生职工号职工号职工号职工号姓名姓名姓名姓名专业专业专业专业职称职称职称职称年龄年龄年龄年龄教师教师教师教师课程号课程号课程号课程号 课程名课程名课程名课程名 学分学分学分学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3第三章 软件需求分析精品 第三 软件 需求 分析 精品
限制150内