
软件需求分析的任务和过程PPT课件.ppt
62页软件需求分析的任务和过程软件需求分析的任务和过程结构化分析方法结构化分析方法原型化方法原型化方法动态分析方法动态分析方法over2021/3/91软件需求分析的任务软件需求分析的任务n n深入描述软件的功能和性能深入描述软件的功能和性能n n确定软件设计的约束和软件确定软件设计的约束和软件同其它系统元素的接口细节同其它系统元素的接口细节n n定义软件的其它有效性需求定义软件的其它有效性需求2021/3/92n n需求分析研究的对象是软件项目的用需求分析研究的对象是软件项目的用户要求户要求n n准确地表达被接受的用户要求准确地表达被接受的用户要求n n确定被开发软件系统的系统元素确定被开发软件系统的系统元素n n将功能和信息结构分配到这些系统元将功能和信息结构分配到这些系统元素中素中2021/3/93n n需求分析的任务就是借助于当需求分析的任务就是借助于当前系统的逻辑模型导出目标系前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统统的逻辑模型,解决目标系统的的 “做什么做什么” 的问题2021/3/94n n通常软件开发项目是要实现目标系通常软件开发项目是要实现目标系统的物理模型统的物理模型n n目标系统的具体物理模型是由它的目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个逻辑模型经实例化,即具体到某个业务领域而得到的业务领域而得到的2021/3/95需求分析的过程需求分析的过程(1) 问题识别问题识别 从系统的角度来理解软件并评审从系统的角度来理解软件并评审 软件软件范围是否恰当范围是否恰当 确定对目标系统的综合要求,即软件确定对目标系统的综合要求,即软件的需求的需求 提出这些需求实现条件,以及需求应提出这些需求实现条件,以及需求应达到的标准达到的标准2021/3/96软件的需求包括:软件的需求包括:n n功能需求功能需求n n性能需求性能需求n n环境需求环境需求n n可靠性需求可靠性需求n n安全保密要求安全保密要求n n用户界面需求用户界面需求n n资源使用需求资源使用需求n n成本消耗需求成本消耗需求n n开发进度需求开发进度需求n n预先估计以后预先估计以后系统可能达到系统可能达到的目标的目标2021/3/97(2) 分析与综合分析与综合 从信息流和信息结构出发,逐步细化从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否合分析它们是否满足功能要求,是否合理。
剔除其不合理的部分,增加其需理剔除其不合理的部分,增加其需要部分最终综合成系统的解决方案,要部分最终综合成系统的解决方案,给出目标系统的详细逻辑模型给出目标系统的详细逻辑模型2021/3/98常用的分析方法常用的分析方法n n面向数据流的结构化分析方法面向数据流的结构化分析方法((SA))n n面向数据结构的面向数据结构的Jackson方法方法((JSD))n n结构化数据系统开发方法结构化数据系统开发方法((DSSD))n n面向对象的分析方法(面向对象的分析方法(OOA))等等2021/3/99(3) 编制需求分析阶段的文档编制需求分析阶段的文档• 软件需求说明书软件需求说明书• 数据要求说明书数据要求说明书• 初步的用户手册初步的用户手册• 修改、完善与确定软件开发实施计划修改、完善与确定软件开发实施计划2021/3/910(4) 需求分析评审需求分析评审n n系统定义的目标是否与用户的要求一系统定义的目标是否与用户的要求一致致; ;n n系统需求分析阶段提供的文档资料是系统需求分析阶段提供的文档资料是否齐全否齐全; ;n n文档中的所有描述是否完整、清晰、文档中的所有描述是否完整、清晰、准确反映用户要求准确反映用户要求; ;n n与所有其它系统成分的重要接口是否与所有其它系统成分的重要接口是否都已经描述都已经描述; ;2021/3/911n n被开发项目的数据流与数据结构是否被开发项目的数据流与数据结构是否足够,确定足够,确定; ;n n所有图表是否清楚,在不补充说明时所有图表是否清楚,在不补充说明时能否理解能否理解; ;n n主要功能是否已包括在规定的软件范主要功能是否已包括在规定的软件范围之内,是否都已充分说明围之内,是否都已充分说明; ;n n设计的约束条件或限制条件是否符合设计的约束条件或限制条件是否符合实际实际; ;n n开发的技术风险是什么开发的技术风险是什么; ;2021/3/912n n是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案; ;n n是否考虑过将来可能会提出的软件需是否考虑过将来可能会提出的软件需求求; ;n n是否详细制定了检验标准,它们能否是否详细制定了检验标准,它们能否对系统定义是否成功进行确认对系统定义是否成功进行确认; ;2021/3/913需求分析流程需求分析流程2021/3/914软件需求分析的原则软件需求分析的原则n n需要能够表达和理解问题的信息域需要能够表达和理解问题的信息域和和功能域功能域n n要能以层次化的方式对问题进行要能以层次化的方式对问题进行分分解解和不断和不断细化细化n n要给出系统的要给出系统的逻辑视图逻辑视图和和物理视图物理视图2021/3/9152021/3/916软件需求规格说明软件需求规格说明的原则的原则n n从现实中分离功能,即描述要从现实中分离功能,即描述要“做什做什么么”而不是而不是“怎样实现怎样实现”n n要求使用要求使用面向处理面向处理的规格说明语言的规格说明语言(或称系统定义语言)(或称系统定义语言)n n如果被开发软件只是一个大系统中的如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在一个元素,那么整个大系统也包括在规格说明的描述之中规格说明的描述之中2021/3/917n n规格说明必须包括系统运行环境规格说明必须包括系统运行环境n n规格说明必须是一个认识模型规格说明必须是一个认识模型n n规格说明必须是可操作的规格说明必须是可操作的n n规格说明必须容许不完备性并允许扩规格说明必须容许不完备性并允许扩充充n n规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合2021/3/918软件需求方法软件需求方法n n需求分析方法由对软件问题的需求分析方法由对软件问题的信息信息域域和和功能域功能域的系统分析过程及其表的系统分析过程及其表示方法组成示方法组成n n大多数的需求分析方法是由大多数的需求分析方法是由信息驱信息驱动动的的n n信息域具有三种属性信息域具有三种属性: : 信息流信息流、、信信息内容息内容和和信息结构信息结构。
2021/3/919结构化分析方法结构化分析方法 n n面向数据流进行需求分析的面向数据流进行需求分析的方法方法n n结构化分析方法适合于数据结构化分析方法适合于数据处理类型软件的需求分析处理类型软件的需求分析2021/3/920n n具体来说,结构化分析方法就是用具体来说,结构化分析方法就是用抽抽象模型象模型的概念,按照软件内部的概念,按照软件内部数据传数据传递递、、变换变换的关系,的关系,自顶向下逐层分解自顶向下逐层分解,,直到找到满足功能要求的所有可实现直到找到满足功能要求的所有可实现的软件为止的软件为止n n结构化分析方法使用工具:数据流图,结构化分析方法使用工具:数据流图,数据词典,结构化英语,判定表与判数据词典,结构化英语,判定表与判定树定树2021/3/921数据流图数据流图(DFD,Data Flow Diagram)(DFD,Data Flow Diagram)n n数据流图中的主要图形元素数据流图中的主要图形元素2021/3/922描述银行取款过程的数据流图描述银行取款过程的数据流图2021/3/923数据流与数据加工之间的关系数据流与数据加工之间的关系2021/3/924数据流图的层次结构数据流图的层次结构n n为了表达数据处理过程的数据加工为了表达数据处理过程的数据加工情况,需要采用情况,需要采用层次结构层次结构的数据流的数据流图。
按照系统的层次结构进行图按照系统的层次结构进行逐步逐步分解分解,并以分层的数据流图反映这,并以分层的数据流图反映这种结构关系,能清楚地表达和容易种结构关系,能清楚地表达和容易理解整个系统理解整个系统2021/3/9252021/3/926n n在多层数据流图中,在多层数据流图中,顶层流图顶层流图仅包含仅包含一个加工一个加工,它代表被开发系统它的,它代表被开发系统它的输入流是该系统的输入数据,输出流输入流是该系统的输入数据,输出流是系统所输出数据是系统所输出数据n n底层流图底层流图是指其是指其加工不需再做分解加工不需再做分解的的数据流图,它处在最底层数据流图,它处在最底层n n中间层流图中间层流图则表示则表示对其上层父图的细对其上层父图的细化化它的每一加工可能继续细化,形它的每一加工可能继续细化,形成子图2021/3/927 结构化分析方法步骤示例结构化分析方法步骤示例商店业务处理系统商店业务处理系统2021/3/928n n这个数据流图只是一个高层的系统逻这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的辑模型,它反映了目标系统要实现的功能功能 (上下文图)n n数据流图绘制步骤数据流图绘制步骤•首先确定系统的输入和输出首先确定系统的输入和输出•根据商店业务,画出顶层数据根据商店业务,画出顶层数据流图,以反映最主要业务处理流图,以反映最主要业务处理流程流程2021/3/929•经过分析,商店业务处理的经过分析,商店业务处理的主要主要功能功能应当有应当有销售销售、、采购采购、、会计会计三三大项。
大项主要数据流输入的源点主要数据流输入的源点和和输出终点输出终点是是顾客顾客和和供应商供应商•然后从输入端开始,根据商店业然后从输入端开始,根据商店业务工作流程,画出数据流流经的务工作流程,画出数据流流经的各加工框,逐步画到输出端,得各加工框,逐步画到输出端,得到第一层数据流图到第一层数据流图2021/3/930第一层数据流图第一层数据流图2021/3/931加细每一个加工框加细每一个加工框 销售细化销售细化2021/3/932采购细化采购细化2021/3/933检查和修改数据流图的原则检查和修改数据流图的原则n n数据流图上所有图形符号只限于前述数据流图上所有图形符号只限于前述四种基本图形元素四种基本图形元素n n数据流图的主图必须包括前述四种基数据流图的主图必须包括前述四种基本元素,缺一不可本元素,缺一不可n n数据流图的主图上的数据流必须封闭数据流图的主图上的数据流必须封闭在外部实体之间在外部实体之间n n每个加工至少有一个输入数据流和一每个加工至少有一个输入数据流和一个输出数据流个输出数据流2021/3/934n n在数据流图中,需按层给加工框编号在数据流图中,需按层给加工框编号。
编号表明该加工所处层次及上下层的编号表明该加工所处层次及上下层的亲子关系亲子关系n n规定任何一个数据流子图必须与它上规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数一层的一个加工对应,两者的输入数据流和输出数据流必须一致此即父据流和输出数据流必须一致此即父图与子图的平衡图与子图的平衡2021/3/935n n图上每个元素都必须有名字图上每个元素都必须有名字n n数据流图中不可夹带控制流数据流图中不可夹带控制流n n初画时可以忽略琐碎的细节,以集中初画时可以忽略琐碎的细节,以集中精力于主要数据流精力于主要数据流2021/3/936数据词典(数据词典(DDDD,,Data Data DictionaryDictionary))n n数据词典与数据流图配合,能清楚地数据词典与数据流图配合,能清楚地表达数据处理的要求表达数据处理的要求n n词条描述词条描述 —— 对于在数据流图中每对于在数据流图中每一个被命名的图形元素,均加以定义,一个被命名的图形元素,均加以定义,其内容有其内容有:名字名字,,别名或编号别名或编号,,分类分类,,描述描述,,定义定义,,位置位置,,其它其它,,等等2021/3/937((1 1)数据流词条描述)数据流词条描述n n数据流名:数据流名:n n说明:简要介绍作用即它产生的原因说明:简要介绍作用即它产生的原因和结果和结果n n数据流来源:来自何方数据流来源:来自何方n n数据流去向:去向何处数据流去向:去向何处n n数据流组成:数据结构数据流组成:数据结构n n数据量流通量:数据量,流通量数据量流通量:数据量,流通量2021/3/938((2 2)数据元素词条描述)数据元素词条描述n n数据元素名:数据元素名:n n类型:数字(离散值,连续值),类型:数字(离散值,连续值),文字(编码类型)文字(编码类型)n n长度:长度:n n取值范围:取值范围:n n相关的数据元素及数据结构:相关的数据元素及数据结构:2021/3/939((3 3)数据文件词条描述)数据文件词条描述n n数据文件名:数据文件名:n n简述:存放的是什么数据简述:存放的是什么数据n n输入数据:输入数据:n n输出数据:输出数据:n n数据文件组成:数据结构数据文件组成:数据结构n n存储方式:顺序,直接,关键码存储方式:顺序,直接,关键码n n存取频率:存取频率:2021/3/940((4 4)加工逻辑词条描述)加工逻辑词条描述n n加工名:加工名:n n加工编号:反映该加工的层次加工编号:反映该加工的层次n n简要描述:加工逻辑及功能简述简要描述:加工逻辑及功能简述n n输入数据流:输入数据流:n n输出数据流:输出数据流:n n加工逻辑:简述加工程序,加工顺序加工逻辑:简述加工程序,加工顺序2021/3/941((5 5)源点及汇)源点及汇( (终终) )点词条描述点词条描述n n名称:外部实体名名称:外部实体名n n简要描述:什么外部实体简要描述:什么外部实体n n有关数据流:有关数据流:n n数目:数目:2021/3/942数据结构的描述数据结构的描述 符符 号号 含含 义义 举举 例例== 被定义为被定义为++ 与与 x = a++b[...,...] 或或 [...|...] 或或 x = [a,b],,x = [a|b]{ ... }或或 m{...}n 重复重复 x = {a},, x = 3{a}8(...) 可选可选 x = (a)“...” 基本数据元素基本数据元素 x = “a” .. 连结符连结符 x = 1..92021/3/943存折格式存折格式2021/3/944n n存折=户名+所号+帐号+开户日+性质+存折=户名+所号+帐号+开户日+性质+(印密)+(印密)+1{存取行存取行}50n n户名=户名=2{字母字母}24n n所号=所号=“001”..“999” n n帐号=帐号=“00000001”..“99999999”n n开户日=年+月+日开户日=年+月+日n n性质=性质=“1”..“6” 注:注:“1”表示普通户,表示普通户,“5”表示工资户等表示工资户等n n印密=印密=“0” 注:印密在存折上不显示注:印密在存折上不显示n n存取行=日期+(摘要)+支出+存入+余存取行=日期+(摘要)+支出+存入+余额+操作+复核额+操作+复核2021/3/945 n n对数据流图的每一个基本加对数据流图的每一个基本加工,必须有一个基本加工逻工,必须有一个基本加工逻辑说明辑说明n n基本加工逻辑说明必须描述基本加工逻辑说明必须描述基本加工如何把输入数据流基本加工如何把输入数据流变换为输出数据流的加工规变换为输出数据流的加工规则则基本加工逻辑说明基本加工逻辑说明2021/3/946n n加工逻辑说明必须描述实现加工逻辑说明必须描述实现加工的策略而不是实现加工加工的策略而不是实现加工的细节的细节n n加工逻辑说明中包含的信息加工逻辑说明中包含的信息应是充足的,完备的,有用应是充足的,完备的,有用的,没有重复的多余信息的,没有重复的多余信息2021/3/947用于写加工逻辑说明的工具用于写加工逻辑说明的工具• 结构化英语结构化英语• 判定表判定表• 判定树判定树2021/3/948((1))结构化英语结构化英语n n结构化英语的词汇表由结构化英语的词汇表由uu 英语命令动词英语命令动词uu 数据词典中定义的名字数据词典中定义的名字uu 有限的自定义词有限的自定义词uu 逻辑关系词逻辑关系词 IF_THEN_ELSE、、 CASE_OF 、、 WHILE_DO、、 REPEAT_UNTIL等组成。
等组成2021/3/949n n是一种介于自然语言和形式化语言是一种介于自然语言和形式化语言之间的语言之间的语言n n语言的语言的正文用基本控制结构进行分正文用基本控制结构进行分割割,加工中的,加工中的操作用自然语言短语操作用自然语言短语来表示来表示n n其基本控制结构有三种:其基本控制结构有三种:uu简单陈述句结构简单陈述句结构:避免复合语句;:避免复合语句;uu重复结构重复结构::WHILE_DO 或或 REPEAT_UNTIL结构uu判定结构判定结构::IF_THEN_ELSE 或或 CASE_OF结构;结构;2021/3/950商店业务处理系统中商店业务处理系统中“检查发货单检查发货单”IF IF 发货单金额超过发货单金额超过发货单金额超过发货单金额超过$500 THEN$500 THEN IF IF 欠款超过了欠款超过了欠款超过了欠款超过了6060天天天天 THEN THEN 在偿还欠款前不予批准在偿还欠款前不予批准在偿还欠款前不予批准在偿还欠款前不予批准 ELSE ELSE (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单发批准书,发货单发批准书,发货单 ENDIF ENDIFELSE ELSE (发货单金额未超过(发货单金额未超过(发货单金额未超过(发货单金额未超过$500$500)))) IF IF 欠款超过欠款超过欠款超过欠款超过6060天天天天 THEN THEN 发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告ELSE ELSE (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期) 发批准书,发货单发批准书,发货单发批准书,发货单发批准书,发货单 ENDIF ENDIFENDIFENDIF2021/3/951((2 2)判定表)判定表n n如果数据流图的加工需如果数据流图的加工需要依赖于多个逻辑条件要依赖于多个逻辑条件的取值,使用判定表来的取值,使用判定表来描述比较合适描述比较合适2021/3/952以以“检查发货单检查发货单”为例为例2021/3/953((3 3)判定树)判定树n n判定树也是用来表达加工逻辑的一种判定树也是用来表达加工逻辑的一种工具。
有时侯它比判定表更直观有时侯它比判定表更直观2021/3/954 back2021/3/955最常用的动态分析方法最常用的动态分析方法n n状态迁移图状态迁移图n n时序图时序图n nPetri网网2021/3/956状态迁移图状态迁移图n n状态迁移图是描述系统的状状态迁移图是描述系统的状态如何相应外部的信号进行态如何相应外部的信号进行推移的一种图形表示推移的一种图形表示u 圆圈圆圈“○”表示可得到的系表示可得到的系统统状态状态u 箭头箭头“→”表示从一种状态表示从一种状态向另一种状态的向另一种状态的迁移迁移2021/3/957例如例如, 当有多个申请占用当有多个申请占用CPU运运行的进程时行的进程时, 有关有关CPU分配的分配的进程的状态迁移进程的状态迁移2021/3/958n n可得到的状态=就绪,运行,等待可得到的状态=就绪,运行,等待n n生成的事件=生成的事件=t1,,t2,, t3,, t4 t1 ─ 中断事件中断事件 t2 ─ 中断已处理中断已处理 t3 ─ 分配分配CPU t4 ─ 用完用完CPU时间时间2021/3/959状态迁移图的优点状态迁移图的优点n n状态之间的关系能够直观地状态之间的关系能够直观地捕捉到捕捉到n n由于状态迁移图的单纯性,由于状态迁移图的单纯性,能够机械地分析许多情况,能够机械地分析许多情况,可很容易地建立分析工具可很容易地建立分析工具2021/3/960返回2021/3/961放映结束 感谢各位的批评指导! 谢谢 谢!谢!让我们共同进步2021/3/962。
