系统需求分析与定义.ppt
《系统需求分析与定义.ppt》由会员分享,可在线阅读,更多相关《系统需求分析与定义.ppt(207页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、系统需求分析与定义 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一、计算机系统分析一、计算机系统分析1.1.基于计算机的系统基于计算机的系统v基于计算机的系统的系统元素包括硬件、软基于计算机的系统的系统元素包括硬件、软件、人、数据库、文档和过程。件、人、数据库、文档和过程。软件软件 计算机程序、数据结构、相关文档;计算机程序、数据结构、相关文档;硬件硬件 电子计算设备(如电子计算设备(如CPU,存储器)和,存储器)和外部机电设备(如传感器、马达等);外部机电设备
2、(如传感器、马达等);人人 硬件和软件的用户;硬件和软件的用户;数据库数据库 一个大型的有组织的信息集合;一个大型的有组织的信息集合;2基于计算机系统的系统元素基于计算机系统的系统元素输入系统系统过程过程硬件硬件软件软件文档文档人人数据库数据库输出3文档文档 手册、表格和其它用以描述系统使用手册、表格和其它用以描述系统使用和操作的信息;和操作的信息;过程过程 定义每一种系统元素的特定使用步骤,定义每一种系统元素的特定使用步骤,或系统驻留的过程性环境。或系统驻留的过程性环境。系统的层次结构系统的层次结构基于计算机的系统本身可以成为一个基于计算机的系统本身可以成为一个更大的基更大的基于计算机系统中
3、的一个元素于计算机系统中的一个元素,并称为那个更大,并称为那个更大系统的系统的宏元素宏元素。4工厂自动化系统工厂自动化系统工厂自动化系统工厂自动化系统库存系统库存系统制造系统制造系统信息系统信息系统材料传输系统材料传输系统制造单元制造单元机器人机器人数据输入设备数据输入设备数控机床数控机床52.2.系统分析系统分析系统分析是一个问题求解活动,目的是系统分析是一个问题求解活动,目的是揭示揭示、分析所期望的功能分析所期望的功能,并把它们分配到各个单独并把它们分配到各个单独的系统元素中去的系统元素中去。1)与用户合作确认用户的目标和约束;与用户合作确认用户的目标和约束;2)导出导出功能功能、性能性能
4、、接口接口、设计约束设计约束和和信息结信息结构的表示构的表示;3)将它们分配到每一个系统元素中。将它们分配到每一个系统元素中。6系统分析的任务系统分析的任务1)识别用户要求识别用户要求2)评价系统的可行性评价系统的可行性3)进行经济分析和技术分析进行经济分析和技术分析4)把功能分配给硬件、软件、人、数据库和其把功能分配给硬件、软件、人、数据库和其他系统元素他系统元素5)建立成本和进度限制建立成本和进度限制6)生成系统规格说明,形成所有后续工程生成系统规格说明,形成所有后续工程的基的基的基的基础。础。础。础。71)识别用户要求)识别用户要求分析员必须考虑以下问题:分析员必须考虑以下问题:vv 功
5、能功能功能功能和和和和性能性能性能性能vv 可靠性可靠性可靠性可靠性和和和和质量质量质量质量vv 总的系统目标总的系统目标总的系统目标总的系统目标vv 成本成本成本成本与与与与进度限制进度限制进度限制进度限制vv 制造需求制造需求制造需求制造需求vv 市场与竞争情况市场与竞争情况市场与竞争情况市场与竞争情况vv 有效的技术有效的技术有效的技术有效的技术vv 将来可能的扩充将来可能的扩充将来可能的扩充将来可能的扩充识别希望的功能和性能范围识别希望的功能和性能范围;确定系统的功能、性能、约束和接口确定系统的功能、性能、约束和接口;82)2)可行性研究可行性研究可行性研究可行性研究经济可行性经济可行
6、性技术可行性技术可行性法律可行性法律可行性用户操作可行性用户操作可行性可行性研究的步骤可行性研究的步骤1)确定项目的确定项目的规模规模和和目标目标2)研究研究当前正在运行的系统当前正在运行的系统3)建立建立新系统的高层逻辑模型新系统的高层逻辑模型94)导出和评价导出和评价各种方案各种方案5)推荐推荐可行的方案可行的方案6)编写编写可行性研究可行性研究报告报告经济可行性经济可行性 成本成本 效益分析效益分析成本估算成本估算专家估算技术(专家估算技术(Delphi技术)技术)成本估算模型(成本估算模型(COCOMO)效益估算效益估算投资回收期投资回收期10纯收入纯收入投资回收率投资回收率技术可行性
7、技术可行性 技术风险分析技术风险分析技术解决方案的实用性技术解决方案的实用性使用的技术实用化程度使用的技术实用化程度技术解决方案合理程度技术解决方案合理程度技术资源的可用性技术资源的可用性参与人员的工作基础参与人员的工作基础基础硬件基础硬件/软件的可用性软件的可用性软件工具实用性软件工具实用性11法律可行性法律可行性 侵权和责任问题侵权和责任问题专利法专利法著作权法著作权法软件保护条例软件保护条例用户操作可行性用户操作可行性用户类型:用户类型:外行型熟练型专家型外行型熟练型专家型操作习惯操作习惯使用单位的计算机使用情况使用单位的计算机使用情况使用单位的规章制度使用单位的规章制度123 3)功能
8、分配给系统元素的原则)功能分配给系统元素的原则对同一功能,可以分配不同的系统元素。对同一功能,可以分配不同的系统元素。为选取最有效的分配方案,使用一组权衡准则为选取最有效的分配方案,使用一组权衡准则进行评价进行评价a.a.项目考虑项目考虑 在预估的成本与进度范围内所选的系统在预估的成本与进度范围内所选的系统配置能否实现?配置能否实现?与成本与进度估算相关的风险有哪些?与成本与进度估算相关的风险有哪些?b.b.商业考虑商业考虑所选的系统配置是最可能有效益的解决所选的系统配置是最可能有效益的解决方案吗?方案吗?13能否成功地占领市场?能否成功地占领市场?最终的报偿是否能表明所冒的开发风险最终的报偿
9、是否能表明所冒的开发风险是值得的?是值得的?c.c.技术分析技术分析是否具备开发所有系统元素的技术实力是否具备开发所有系统元素的技术实力?能否确保功能和性能得到满足?能否确保功能和性能得到满足?能否对系统配置进行充分的维护?能否对系统配置进行充分的维护?是否具备技术资源?是否具备技术资源?与技术相关的风险有哪些?与技术相关的风险有哪些?d.d.生产评估生产评估14生产工具与设备是否有效?生产工具与设备是否有效?必需的过程是否短缺?必需的过程是否短缺?是否充分地实施了质量保证?是否充分地实施了质量保证?e.e.人员问题人员问题开发人员是否得到培训?开发人员是否得到培训?用户是否了解这个系统将要做
10、什么?用户是否了解这个系统将要做什么?f.f.环境接口环境接口所提交的系统配置与系统的外部环境的所提交的系统配置与系统的外部环境的接口是否合适?接口是否合适?15机器与机器、人与机器之间的通信是否机器与机器、人与机器之间的通信是否以智能方式处理?以智能方式处理?g.g.法律考虑法律考虑这种配置是否会引入违法的责任风险?这种配置是否会引入违法的责任风险?对责任问题是否给予了足够的保护?对责任问题是否给予了足够的保护?是否存在潜在的破坏是否存在潜在的破坏问题?问题?16二、软件需求分析二、软件需求分析需求分析是一项软件工程活动,其目的是:需求分析是一项软件工程活动,其目的是:清楚地理解所要解决的问
11、题,完整地获取用清楚地理解所要解决的问题,完整地获取用户要求;户要求;刻划出软件的功能和性能;刻划出软件的功能和性能;指明软件与其他系统元素的接口;指明软件与其他系统元素的接口;建立软件必须满足的约束。建立软件必须满足的约束。1.1.软件需求分析的目的软件需求分析的目的 17需求分析是一项软件工程活动,它包括:需求分析是一项软件工程活动,它包括:1)需求获取需求获取刻划出软件的刻划出软件的功能功能和和性能性能;指明软件与其他系统元素的指明软件与其他系统元素的接口接口;建立软件必须满足的建立软件必须满足的约束约束。2)需求建模需求建模需求分析建立起来的模型为日后软件设计需求分析建立起来的模型为日
12、后软件设计人员提供了可被翻译成人员提供了可被翻译成数据数据、体系结构体系结构、接口接口和和处理过程处理过程设计的模型。设计的模型。2.2.需求分析的任务需求分析的任务183)需求规格说明需求规格说明需求规格说明为开发人员和用户提供软件需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。开发完成时质量评价的依据。4)需求评审需求评审需求分析研究的对象是需求分析研究的对象是用户的要求用户的要求。必须必须全面理解全面理解用户的各项要求,用户的各项要求,准确表准确表达达被接受的用户要求。被接受的用户要求。只有经过确切描述的软件需求才能成为只有经过确切描述的软件需求才能成为软件设计的基础。软件
13、设计的基础。19软件开发是要实现软件开发是要实现目标系统的物理模型目标系统的物理模型。需求。需求分析的任务就是借助于分析的任务就是借助于当前系统的逻辑模型导当前系统的逻辑模型导出目标系统的逻辑模型出目标系统的逻辑模型,解决目标系统,解决目标系统“做什做什么么”的问题。的问题。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化模型化抽象化抽象化物理模型物理模型逻辑模型逻辑模型具体化具体化实例化实例化理理解解需需求求导导出出怎么做怎么做做什么做什么20物理模型(实施模型、技术模型)逻辑模型(本质模型、概念模型)当前系统描述现实系统是如何在物理上实现的。描述重要的业务功能,不考虑
14、系统是如何实施的。目标系统描述新系统是如何实施的(包括技术)。描述新系统的主要业务功能和用户新的需求,不考虑系统应如何实施。21n需求分析的过程可以分成四个阶段:需求分析的过程可以分成四个阶段:1)需求获取需求获取研究系统的研究系统的可行性分析报告可行性分析报告和和软件项目软件项目实施计划实施计划。从系统角度来理解软件并评审用于产生从系统角度来理解软件并评审用于产生计划估算的计划估算的软件范围是否恰当软件范围是否恰当;通过调研确定通过调研确定对目标系统的需求对目标系统的需求;提出这些提出这些需求实现条件需求实现条件,以及,以及需求应达需求应达到的标准到的标准。3.需求分析的过程22建建立立分分
15、析析所所需需要要的的沟沟通通途途径径,以以保保证证能能顺利地对问题进行分析。顺利地对问题进行分析。管理人员管理人员用户用户分析人员分析人员软件开发组软件开发组软件需求说明软件需求说明软件实施计划软件实施计划原型原型软件实施计划软件实施计划软件实施计划软件实施计划软件需求说明软件需求说明软件需求说明软件需求说明原型原型原型原型232)需求建模需求建模 进行各种要求的进行各种要求的一致性一致性检查;检查;逐步细化所有的逐步细化所有的软件功能软件功能;分解分解数据域数据域,分配给各个子功能;,分配给各个子功能;找找出出系系统统各各成成分分之之间间的的联联系系、接接口口特特性性和和设计限制设计限制。判
16、判断断是是否否存存在在不不合合理理的的用用户户要要求求或或用用户尚未提出的潜在要求。户尚未提出的潜在要求。综综合合成成系系统统的的解解决决方方案案,给给出出目目标标系系统的详细逻辑模型。统的详细逻辑模型。24常用的分析方法常用的分析方法面向数据流的结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的面向数据结构的Jackson方法方法(JSD)面向数据结构的结构化数据系统开发方法面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法面向对象的分析方法(OOA)等等253)编制需求分析阶段的文档编制需求分析阶段的文档软件需求规格说明;软件需求规格说明;初步的用户手册;初步的
17、用户手册;确认测试计划;确认测试计划;修改和完善软件开发计划。修改和完善软件开发计划。4)需求评审(确认)需求评审(确认)作作为为需需求求分分析析阶阶段段工工作作的的复复查查手手段段,应应该该对对功功能能的的正正确确性性、文文档档的的一一致致性性、完完备备性性、准准确确性性和和清清晰晰性性,以以及及其其他他需求给予评价。需求给予评价。261)1)需需要要能能够够表表达达和和理理解解问问题题的的信信息息域域和和功功能域能域v信息流信息流:数据和控制通过一个系统时的变:数据和控制通过一个系统时的变化方式。两个功能之间的数据化方式。两个功能之间的数据/控制传递就控制传递就确定了功能间的接口。确定了功
18、能间的接口。v信息内容信息内容:单个数据或控制对象,它们构:单个数据或控制对象,它们构成了某个更大的由软件变换生成的信息的成了某个更大的由软件变换生成的信息的集合。集合。v信息结构信息结构:各种数据和控制项的内部组织。:各种数据和控制项的内部组织。4.4.需求分析的原则需求分析的原则272)2)以以层层次次化化的的方方式式对对问问题题进进行行分分解解和和不不断细化断细化纵纵向向分分解解横向分解横向分解283)3)给出系统的逻辑视图和物理视图给出系统的逻辑视图和物理视图v软软件件需需求求的的逻逻辑辑视视图图给给出出的的是是软软件件要要达达到到的的功功能能和和要要处处理理的的数数据据之之间间的的关
19、关系系,而而不不是实现的细节。是实现的细节。v软件需求的逻辑描述是软件设计的基础。软件需求的逻辑描述是软件设计的基础。v软软件件需需求求的的物物理理视视图图给给出出的的是是处处理理功功能能和和数数据据结结构构的的实实际际表表现现形形式式,这这往往往往是是由由设设备本身决定的,因此推迟到设计阶段考虑。备本身决定的,因此推迟到设计阶段考虑。295.5.需求获取需求获取需求获取是在需求获取是在问题问题及其及其最终解决方案最终解决方案之间架之间架设桥梁的第一步。设桥梁的第一步。获取需求的一个必不可少的结果是对项目中获取需求的一个必不可少的结果是对项目中描述的客户需求的普遍理解。一旦理解了需描述的客户需
20、求的普遍理解。一旦理解了需求,分析人员、开发人员和客户就能探索出求,分析人员、开发人员和客户就能探索出描述这些需求的多种解决方案。描述这些需求的多种解决方案。需求获取技术包括两方面的工作:需求获取技术包括两方面的工作:需求获取技术包括两方面的工作:需求获取技术包括两方面的工作:1)建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;建立获取用户要求的方法的框架;2)支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。支持和监控需求获取的过程的机制。301 1)软件需求的层次软件需求的层次a.业务需求业务需求反映了
21、组织或客户开展相关业务的工作流和业反映了组织或客户开展相关业务的工作流和业务规则,是对系统、产品高层次的目标要求,务规则,是对系统、产品高层次的目标要求,与该组织或客户的业务领域有关。与该组织或客户的业务领域有关。b.用户需求用户需求 描述用户使用软件需要完成哪些任务,可通过描述用户使用软件需要完成哪些任务,可通过用例用例(use case)图或场景说明加以阐明。图或场景说明加以阐明。c.功能功能非功能需求非功能需求 定义了开发人员必须实现的软件功能,而非功定义了开发人员必须实现的软件功能,而非功能需求如表所示能需求如表所示:31322 2)需求获取技术的基本特征)需求获取技术的基本特征一种好
22、的需求获取技术,对于规范需求获取一种好的需求获取技术,对于规范需求获取活动,高效准确地获取需求定义,是十分重活动,高效准确地获取需求定义,是十分重要的。要的。好的需求获取技术,应具有如下基本特征:好的需求获取技术,应具有如下基本特征:a.提供便于沟通的工具,如易于理解的语言;提供便于沟通的工具,如易于理解的语言;b.提供定义系统边界的方法;提供定义系统边界的方法;c.提供支持抽象的机制,如提供支持抽象的机制,如“分解分解”、“映映射射”等;等;33d.鼓励分析员使用面向问题的术语思考问题,鼓励分析员使用面向问题的术语思考问题,编写文档;编写文档;e.为分析员提供多种可供选择的解决方案;为分析员
23、提供多种可供选择的解决方案;f.适应需求的变化。适应需求的变化。适于以上特征的需求获取方法:适于以上特征的需求获取方法:v基于数据流图的结构化分析方法;基于数据流图的结构化分析方法;v基于用例(基于用例(use case)的建模方法。)的建模方法。需求获取技术的关键点在于:需求获取技术的关键点在于:a.深入浅出深入浅出 需求获取要尽可能全面、细致。需求获取要尽可能全面、细致。34获获取取的的需需求求是是个个全全集集,系系统统真真正正实实现现的的是是个个子子集集。细细致致地地调调研研并并不不表表明明在在分分析析时时将将调调研研内内容容都都纳纳入入到到新新系系统统中中,但但有有利利于于以以后的扩充
24、。后的扩充。b.以流程为主线以流程为主线 在在与与用用户户交交流流的的过过程程中中,应应该该用用流流程程将将所所有有的的内内容容串串起起来来。如如信信息息、组组织织结结构构、处处理规则等。这样便于交流沟通。理规则等。这样便于交流沟通。流流程程的的描描述述既既要要有有宏宏观观,又又要要有有微微观观。即即要要强强调调总总体体的的业业务务流流程程、全全生生存存期期的的业业务务流流程程,又又要要对对流流程程细细化化,有有分分支支的的业业务务流流程。程。353 3)需求获取应遵循的原则)需求获取应遵循的原则抽象和分解是在人们认识世界和改造世界的抽象和分解是在人们认识世界和改造世界的长期实践中总结出来的行
25、之有效的原则,在长期实践中总结出来的行之有效的原则,在需求获取的过程中需遵循的三个原则:需求获取的过程中需遵循的三个原则:a.分解分解:捕获问题空间的整体:捕获问题空间的整体部分关系。如部分关系。如问题子问题分解;问题子问题分解;b.抽象抽象:捕获问题空间的一般化:捕获问题空间的一般化特殊化关系。特殊化关系。如问题的不同变型;如问题的不同变型;c.投影投影:捕获问题空间的多维视图。即从不:捕获问题空间的多维视图。即从不同角度考察。同角度考察。364 4)需求获取的步骤)需求获取的步骤软件开发项目和组织文化的不同,对于需求软件开发项目和组织文化的不同,对于需求开发没有一个简单的、公式化的途径。开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 需求 分析 定义
限制150内