《第02章、可行性研究bbqe.pptx》由会员分享,可在线阅读,更多相关《第02章、可行性研究bbqe.pptx(98页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章、结构化的设计第二章、结构化的设计1.可行性研究的任务可行性研究的任务2.可行性研究过程可行性研究过程3.需求分析的任务需求分析的任务4.与用户沟通的方法与用户沟通的方法5.分析建模与规格说明分析建模与规格说明6.实体实体-联系图联系图7数据流图数据流图8.数据字典数据字典9.状态转换图状态转换图10.其他图形工具其他图形工具11.验证软件需求验证软件需求12.成本成本/效益分析效益分析13.形式化说明技术形式化说明技术9696页页页页 PagePage1 1第第1节、可行性研究节、可行性研究 可行性研究的任务、步骤 系统流程图 数据流图 数据字典 成本/效益分析9696页页页页 Pag
2、ePage2 2 可行性研究目的:可行性研究目的:就是用最小代价在尽可能短的时间内确定问题就是用最小代价在尽可能短的时间内确定问题是否能够解决。是否能够解决。(不是解决问题,而是确定问题是否值得去解)(不是解决问题,而是确定问题是否值得去解)可行性研究实质上是要进行一次大大压缩简化了可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,即在较高层次上以较抽的系统分析和设计的过程,即在较高层次上以较抽象的方式进行系统分析和设计的过程。象的方式进行系统分析和设计的过程。9696页页页页 PagePage3 3 首先需要进一步分析和澄清问题定义。首先需要进一步分析和澄清问题定义。在在澄清
3、问题定义之后,分析员应该导出系统的逻澄清问题定义之后,分析员应该导出系统的逻辑模型。辑模型。然后从系统然后从系统的逻辑模型出发,探索若干种可供选的逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。择的主要解法(即系统实现方案)。一般从三个方面分析每种解法的可行性:一般从三个方面分析每种解法的可行性:技术可行性技术可行性 经济可行性经济可行性 操作可行性操作可行性9696页页页页 PagePage4 4 复查系统规模和目标。复查系统规模和目标。可行性研究的步骤:可行性研究的步骤:访问访问关键人员关键人员分析分析有关材料有关材料报告书报告书复查确认复查确认切忌:模糊词的描述(等,各项,
4、可能大概等)9696页页页页 PagePage5 5 研究目前正在使用的系统。研究目前正在使用的系统。现有系统现有系统手工系统手工系统分析分析文档资料文档资料使用手册使用手册旧系统完成旧系统完成的功能的功能旧系统存在旧系统存在的问题的问题旧系统与其旧系统与其他系统的接口他系统的接口旧系统的旧系统的高层高层系统流程图系统流程图9696页页页页 PagePage6 6 导出新系统的高层逻辑模型。导出新系统的高层逻辑模型。数据流图数据流图旧系统的旧系统的高层高层系统流程图系统流程图数据字典数据字典(初步)(初步)新系统的新系统的高层高层逻辑模型逻辑模型9696页页页页 PagePage7 7 重新定
5、义问题。重新定义问题。复查复查问题定义问题定义工程规模工程规模目标目标新系统的新系统的高层高层逻辑模型逻辑模型依据依据数据字典数据字典数据流图数据流图新系统的新系统的高层高层逻辑模型逻辑模型9696页页页页 PagePage8 8 导出和评价供选择的解法。导出和评价供选择的解法。新系统的新系统的高层高层逻辑模型逻辑模型物理方案物理方案1物理方案物理方案2物理方案物理方案3较高层较高层物理方案物理方案1物理方案物理方案2去掉技术不可行的方案去掉技术不可行的方案物理方案物理方案1去掉操作、经济去掉操作、经济不可行的方案不可行的方案9696页页页页 PagePage9 9 推荐行动方案。推荐行动方案
6、。物理方案物理方案1物理方案物理方案5分析员建议分析员建议使用部门负责人决定使用部门负责人决定物理方案物理方案5 草拟开发计划。草拟开发计划。开发开发计划计划工程进度表工程进度表人力资源需求人力资源需求其它资源需求其它资源需求成本计划成本计划 书写文档提交审查。书写文档提交审查。可行性可行性研究报告研究报告审查审查9696页页页页 PagePage10101.系统流程图:系统流程图:在可行性研究阶段使用在可行性研究阶段使用系统流程图系统流程图来对现有的系来对现有的系统(旧系统或手工系统)进行描述表示。统(旧系统或手工系统)进行描述表示。系统流程图用来表达信息在系统各部件(包括程系统流程图用来表
7、达信息在系统各部件(包括程序、文件、数据库、表格、人工过程等)之间的流动序、文件、数据库、表格、人工过程等)之间的流动情况,而不是对信息进行加工处理的控制过程的描述。情况,而不是对信息进行加工处理的控制过程的描述。系统流程图与程序流程图是不同的。系统流程图与程序流程图是不同的。9696页页页页 PagePage1111系统流程图:系统流程图:符号:符号:处理处理输入输入/输出输出连接连接换页连接换页连接数据流数据流9696页页页页 PagePage1212系统流程图:系统流程图:例子:某装配厂有一座存放例子:某装配厂有一座存放零件的仓库零件的仓库,仓库中现有的仓库中现有的各种零件的数量以及每种
8、零各种零件的数量以及每种零件的库存量临界值等数据在件的库存量临界值等数据在库存清单文件中库存清单文件中.当仓库中当仓库中零件数量有变化时零件数量有变化时,应该及应该及时修改库存清单主文件时修改库存清单主文件,如如果那种零件的库存量少于它果那种零件的库存量少于它的库存量临界值的库存量临界值,则应该报则应该报告给采购部门以便定货告给采购部门以便定货,规规定每天向采购部门报告一次定每天向采购部门报告一次订货报告订货报告.库存清单程序库存清单程序事务事务库存清单库存清单主文件主文件订货订货信息信息报告生成程序报告生成程序订货报告订货报告对于复杂的系统,一般采用分层的形式。对于复杂的系统,一般采用分层的
9、形式。9696页页页页 PagePage13132.数据流图:数据流图:使用数据流图来描述所分析系统的逻辑模型。使用数据流图来描述所分析系统的逻辑模型。在数据流图中主要描绘系统中的数据的流动与处在数据流图中主要描绘系统中的数据的流动与处理情况。理情况。数据流图使用直观的图示方法,并且简单,是分数据流图使用直观的图示方法,并且简单,是分析人员与用户之间沟通的极好的通讯工具。析人员与用户之间沟通的极好的通讯工具。9696页页页页 PagePage1414数据流图中的主要图形元素数据流图中的主要图形元素9696页页页页 PagePage1515描述银行取款过程的数据流图描述银行取款过程的数据流图96
10、96页页页页 PagePage1616数据流与数据加工之间的关系数据流与数据加工之间的关系9696页页页页 PagePage1717数据流图的层次结构数据流图的层次结构为了表达数据处理过程的数据加工情况,需为了表达数据处理过程的数据加工情况,需要采用要采用层次结构层次结构的数据流图。按照系统的层的数据流图。按照系统的层次结构进行次结构进行逐步分解逐步分解,并以分层的数据流图,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理反映这种结构关系,能清楚地表达和容易理解整个系统解整个系统9696页页页页 PagePage1818分层数据流图分层数据流图9696页页页页 PagePage1919
11、 在多层数据流图中,在多层数据流图中,顶层流图顶层流图仅包含仅包含一个一个加工加工,它代表被开发系统。它的输入流是该,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据系统的输入数据,输出流是系统所输出数据 底层流图底层流图是指其是指其加工不需再做分解加工不需再做分解的数据的数据流图,它处在最底层流图,它处在最底层 中间层流图中间层流图则表示则表示对其上层父图的细化对其上层父图的细化。它的每一加工可能继续细化,形成子图。它的每一加工可能继续细化,形成子图。9696页页页页 PagePage2020商店业务处理系统结构化分析方法步骤示例结构化分析方法步骤示例9696页页页页
12、PagePage2121 这个数据流图只是一个高层的系统这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现逻辑模型,它反映了目标系统要实现的功能的功能 数据流图绘制步骤数据流图绘制步骤 首先确定系统的输入和输出首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,根据商店业务,画出顶层数据流图,以反映最主要业务处理流程以反映最主要业务处理流程9696页页页页 PagePage2222 经过分析,商店业务处理的经过分析,商店业务处理的主要功主要功能能应当有应当有销售销售、采购采购、会计会计三大项。三大项。主要数据流输入的源点主要数据流输入的源点和和输出终点输出终点是是顾客顾客和和
13、供应商供应商。然后从输入端开始,根据商店业务然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一工框,逐步画到输出端,得到第一层数据流图层数据流图9696页页页页 PagePage2323第一层数据流图第一层数据流图9696页页页页 PagePage2424加细每一个加工框加细每一个加工框 销售细化销售细化9696页页页页 PagePage2525采购细化采购细化9696页页页页 PagePage26263.数据字典:数据字典:数据词典与数据流图配合,能清楚地表达数据词典与数据流图配合,能清楚地表达数据处理的要求。数据处理的要
14、求。词条描述词条描述 对于在数据流图中每一个对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有被命名的图形元素,均加以定义,其内容有:名字名字,别名或编号别名或编号,分类分类,描述描述,定义定义,位置位置,其它其它,等等。9696页页页页 PagePage2727 数据流名:数据流名:说明:简要介绍作用即它产生的原因和结说明:简要介绍作用即它产生的原因和结果果 数据流来源:来自何方数据流来源:来自何方 数据流去向:去向何处数据流去向:去向何处 数据流组成:数据结构数据流组成:数据结构 数据量流通量:数据量,流通量数据量流通量:数据量,流通量1 1)数据流词条描述)数据流词条描述969
15、6页页页页 PagePage2828 数据元素名:数据元素名:类型:数字(离散值,连续值),文字类型:数字(离散值,连续值),文字(编码类型)(编码类型)长度:长度:取值范围:取值范围:相关的数据元素及数据结构:相关的数据元素及数据结构:2 2)数据元素词条描述)数据元素词条描述9696页页页页 PagePage2929 数据存储名:数据存储名:简述:存放的是什么数据简述:存放的是什么数据 输入数据:输入数据:输出数据:输出数据:数据存储组成:数据结构数据存储组成:数据结构 存储方式:顺序,直接,关键码存储方式:顺序,直接,关键码 存取频率:存取频率:3 3)数据存储词条描述)数据存储词条描述
16、9696页页页页 PagePage3030 加工名:加工名:加工编号:反映该加工的层次加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述简要描述:加工逻辑及功能简述 输入数据流:输入数据流:输出数据流:输出数据流:加工逻辑:简述加工程序,加工顺序加工逻辑:简述加工程序,加工顺序4 4)加工逻辑词条描述)加工逻辑词条描述9696页页页页 PagePage3131 名称:外部实体名名称:外部实体名 简要描述:什么外部实体简要描述:什么外部实体 有关数据流:有关数据流:数目:数目:5 5)源点及汇)源点及汇(终终)点词条描述点词条描述9696页页页页 PagePage3232符符符符 号号号号
17、 含含含含 义义义义 举举举举 例例例例 被定义为被定义为被定义为被定义为 与与与与 x=ab.,.或或.|.或或或或 x=a,b,x=a|b.或或 m.n 重复重复重复重复 x=a,x=3a8(.)可选可选可选可选 x=(a)“.”基本数据元素基本数据元素基本数据元素基本数据元素 x=“a”.连结符连结符连结符连结符 x=1.9数据结构的描述数据结构的描述9696页页页页 PagePage3333存折格式存折格式9696页页页页 PagePage3434存折户名所号帐号开户日性质存折户名所号帐号开户日性质存折户名所号帐号开户日性质存折户名所号帐号开户日性质(印密)(印密)(印密)(印密)11
18、11存取行存取行存取行存取行50505050户名户名户名户名2222字母字母字母字母24242424所号所号所号所号“001”.“999”“001”.“999”“001”.“999”“001”.“999”帐号帐号帐号帐号“00000001”.“99999999”“00000001”.“99999999”“00000001”.“99999999”“00000001”.“99999999”开户日年月日开户日年月日开户日年月日开户日年月日性质性质性质性质“1”.“6”“1”.“6”“1”.“6”“1”.“6”注:注:注:注:“1”“1”“1”“1”表示普通户,表示普通户,表示普通户,表示普通户,“5
19、”“5”“5”“5”表示工资户等表示工资户等表示工资户等表示工资户等印密印密印密印密“0”“0”“0”“0”注:印密在存折上不显示注:印密在存折上不显示注:印密在存折上不显示注:印密在存折上不显示存取行日期(摘要)支出存入余额存取行日期(摘要)支出存入余额存取行日期(摘要)支出存入余额存取行日期(摘要)支出存入余额操作复核操作复核操作复核操作复核9696页页页页 PagePage3535对数据流图的每一个基本加工,必须有对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流
20、的加何把输入数据流变换为输出数据流的加工规则。工规则。基本加工逻辑说明基本加工逻辑说明9696页页页页 PagePage3636 加工逻辑说明必须描述实现加工的策加工逻辑说明必须描述实现加工的策略而不是实现加工的细节略而不是实现加工的细节。加工逻辑说明中包含的信息应是充足加工逻辑说明中包含的信息应是充足的,完备的,有用的,没有重复的多余的,完备的,有用的,没有重复的多余信息信息。基本加工逻辑说明基本加工逻辑说明9696页页页页 PagePage3737用于写加工逻辑说明的工具用于写加工逻辑说明的工具结构化英语结构化英语。判定表。判定表。判定树判定树层次方框图层次方框图WarnierWarnie
21、r图图图图IPO图图9696页页页页 PagePage3838成本效益分析1.几种效益计算方法几种效益计算方法(1).货币的时间价值货币的时间价值 存入存入P元本金,元本金,n年后的效益年后的效益F=P(1+I)n反之,反之,n n年收入年收入F F元元,现在的价钱现在的价钱P=F/P=F/(1+I)n9696页页页页 PagePage3939实例:在工程设计中用实例:在工程设计中用CAD系统取系统取代大部分人工设计工作,每年可节代大部分人工设计工作,每年可节省省9.6万元。若软件生存期为万元。若软件生存期为5年,年,则则5年共节省年共节省48万元万元,开发这个系统开发这个系统共投资共投资20
22、万元。分析其效益万元。分析其效益9696页页页页 PagePage4040年份年份 将来值将来值(万元)(万元)(1+1+i)i)n ni=0.05i=0.05现在值现在值(万元)(万元)累积现在累积现在值(万元)值(万元)19.61.059.14299.142929.61.20258.707517.851339.61.15768.292826.143249.61.21557.897934.041159.61.27637.521941.56309696页页页页 PagePage4141(2).投资回收期投资回收期使累计的经济效益使累计的经济效益=投资金额所需的投资金额所需的时间时间上例:上例:
23、(20-17.8513)/8.2928=0.259+2(3).纯收入纯收入 41.5630-20 9696页页页页 PagePage42422.几种成本计算方法几种成本计算方法(1).代码行技术:代码行技术:总代码数总代码数*元元/代码(估算)代码(估算)(2).任务分解技术:任务分解技术:首先将任务分解成(计划、需求、首先将任务分解成(计划、需求、设计、编码、测试、维护)几个阶设计、编码、测试、维护)几个阶段所需人力。根据工资水平估算段所需人力。根据工资水平估算9696页页页页 PagePage4343第二节、需求分析第二节、需求分析 需求分析的任务 需求分析过程 软件需求分析原则 结构化分
24、析方法SA 原型法9696页页页页 PagePage4444需求分析的任务:需求分析的任务:需求分析的基本任务是回答需求分析的基本任务是回答“系统必须做什么?系统必须做什么?”这个问题。这个问题。即确定系统必须要完成的功能,对目标系统提即确定系统必须要完成的功能,对目标系统提出完整、准确、清晰、具体的要求。出完整、准确、清晰、具体的要求。高层高层数据流图数据流图数据字典数据字典(粗略)(粗略)可行性研究可行性研究分析、具体化分析、具体化数据流图数据流图数据流图数据流图数据流图数据流图数据字典数据字典(详细)(详细)简明的算法描述简明的算法描述需求分析需求分析9696页页页页 PagePage4
25、545 确定对系统的综合要求确定对系统的综合要求 综合要求包括:综合要求包括:系统功能要求。系统功能要求。系统性能要求。系统性能要求。运行要求。运行要求。将来可能提出的要求。将来可能提出的要求。9696页页页页 PagePage4646 分析系统的数据要求分析系统的数据要求目标系统目标系统信息输入信息输入信息输出信息输出信息系统处理的信息和系统应该产生的信系统处理的信息和系统应该产生的信息在很大程度上决定系统的概貌。息在很大程度上决定系统的概貌。分析系统数据要求,通常使用分析系统数据要求,通常使用概念模型概念模型的方法。的方法。数据信息在数据字典中,为了直观地描绘数据数据信息在数据字典中,为了
26、直观地描绘数据结构,可采用结构,可采用层次方框图层次方框图和和Warnier图图等图示工等图示工具方法。具方法。采用采用规范化理论规范化理论来规范化数据结构。来规范化数据结构。9696页页页页 PagePage4747 导出新系统的逻辑模型导出新系统的逻辑模型分层的数据流图分层的数据流图数据字典数据字典主要的处理算法主要的处理算法 修正系统的开发计划修正系统的开发计划重新估计系统的成本和进度,修正以前制定的开发计划。重新估计系统的成本和进度,修正以前制定的开发计划。开发原型系统开发原型系统9696页页页页 PagePage4848需求分析的过程需求分析的过程(1)问题识别问题识别 从系统的角度
27、来理解软件并评审从系统的角度来理解软件并评审软件范围软件范围是否恰当是否恰当 确定对目标系统的确定对目标系统的综合要求综合要求,即,即软件的需软件的需求求 提出这些需求提出这些需求实现条件实现条件,以及需求,以及需求应达到应达到的标准的标准9696页页页页 PagePage4949软件的需求包括:功能需求功能需求功能需求功能需求 性能需求性能需求性能需求性能需求 环境需求环境需求环境需求环境需求 可靠性需求可靠性需求可靠性需求可靠性需求 安全保密要求安全保密要求安全保密要求安全保密要求 用户界面需求用户界面需求用户界面需求用户界面需求 资源使用需求资源使用需求资源使用需求资源使用需求 成本消耗
28、需求成本消耗需求成本消耗需求成本消耗需求 开发进度需求开发进度需求开发进度需求开发进度需求 预先估计以后系统预先估计以后系统预先估计以后系统预先估计以后系统可能达到的目标可能达到的目标可能达到的目标可能达到的目标9696页页页页 PagePage5050问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。9696页页页页 PagePage5151 从从信息流信息流和和信息结构信息结构出发,逐步细化所有出发,逐步细化所有的软件功能,找出系统各元素之间的联系、的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满接口特性和设计上的约束,分析它们是否满
29、足功能要求,是否合理。剔除其不合理的部足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的解分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的决方案,给出目标系统的详细逻辑模型详细逻辑模型。(2)(2)分析与综合分析与综合9696页页页页 PagePage5252常用的分析方法 面向数据流的结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的面向数据结构的Jackson方法(方法(JSD)结构化数据系统开发方法(结构化数据系统开发方法(DSSD)面向对象的分析方法(面向对象的分析方法(OOA)等等9696页页页页 PagePage5353(3)编制需求
30、分析阶段的文档编制需求分析阶段的文档 软件需求说明书软件需求说明书 数据要求说明书数据要求说明书 初步的用户手册初步的用户手册 修改、完善与确定软件开发实施计划修改、完善与确定软件开发实施计划9696页页页页 PagePage5454(4)(4)需求分析评审需求分析评审 系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐系统需求分析阶段提供的文档资料是否齐全全;文档中的所有描述是否完整、清晰、准确文档中的所有描述是否完整、清晰、准确反映用户要求反映用户要求;与所有其它系统成分的重要接口是否都已与所有其它系统成分的重要接口是否都已经描述经描
31、述;9696页页页页 PagePage5555 被开发项目的数据流与数据结构是否足够,被开发项目的数据流与数据结构是否足够,确定确定;所有图表是否清楚,在不补充说明时能否所有图表是否清楚,在不补充说明时能否理解理解;主要功能是否已包括在规定的软件范围之主要功能是否已包括在规定的软件范围之内,是否都已充分说明内,是否都已充分说明;设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际;开发的技术风险是什么开发的技术风险是什么;9696页页页页 PagePage5656 是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案;是否考虑过将来可能会提出的软件需求是否考虑过将来可能
32、会提出的软件需求;是否详细制定了检验标准,它们能否对系是否详细制定了检验标准,它们能否对系统定义是否成功进行确认统定义是否成功进行确认;9696页页页页 PagePage5757软件需求分析的原则软件需求分析的原则 需要能够表达和理解问题的需要能够表达和理解问题的信息域信息域和和功能域功能域 要能以层次化的方式对问题进行要能以层次化的方式对问题进行分分解解和不断和不断细化细化 要给出系统的要给出系统的逻辑视图逻辑视图和和物理视图物理视图9696页页页页 PagePage58589696页页页页 PagePage5959软件需求规格说明软件需求规格说明的原则的原则 从现实中分离功能,即描述要从现
33、实中分离功能,即描述要“做什么做什么”而不是而不是“怎样实现怎样实现”要求使用要求使用面向处理面向处理的规格说明语言(或称的规格说明语言(或称系统定义语言)系统定义语言)如果被开发软件只是一个大系统中的一个如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的元素,那么整个大系统也包括在规格说明的描述之中描述之中9696页页页页 PagePage6060 规格说明必须包括系统运行环境规格说明必须包括系统运行环境 规格说明必须是一个认识模型规格说明必须是一个认识模型 规格说明必须是可操作的规格说明必须是可操作的 规格说明必须容许不完备性并允许扩充规格说明必须容许不完备性并允许
34、扩充 规格说明必须局部化和松散耦合规格说明必须局部化和松散耦合9696页页页页 PagePage6161调查用户需求的具体步骤调查用户需求的具体步骤 调查组织机构情况。调查组织机构情况。调查各部门的业务活动情况。调查各部门的业务活动情况。在熟悉了业务活动的基础上,协助用户在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求包括:信息要明确对新系统的各种要求包括:信息要求、处理要求等等。求、处理要求等等。确定新系统的边界。确定新系统的边界。9696页页页页 PagePage6262常用的调查方法常用的调查方法 跟班作业。跟班作业。开开调查会。调查会。专题讲座。专题讲座。询问。询问。设计调查表
35、由用户填写。设计调查表由用户填写。查询记录。查询记录。9696页页页页 PagePage6363软件需求分析方法软件需求分析方法 需求分析方法由对软件问题的需求分析方法由对软件问题的信息域信息域和和功能域功能域的系统分析过程及其表示方法组的系统分析过程及其表示方法组成成 大多数的需求分析方法是由大多数的需求分析方法是由信息驱动信息驱动的的 信息域信息域具有三种属性具有三种属性:信息流信息流、信息内信息内容容和和信息结构信息结构。9696页页页页 PagePage6464结构化分析方法结构化分析方法 面向数据流进行需求分析的方法面向数据流进行需求分析的方法 结构化分析方法适合于数据处理类结构化分
36、析方法适合于数据处理类型软件的需求分析型软件的需求分析9696页页页页 PagePage6565 具体来说,结构化分析方法就是用具体来说,结构化分析方法就是用抽象模抽象模型型的概念,按照软件内部的概念,按照软件内部数据传递数据传递、变换变换的关系,的关系,自顶向下逐层分解自顶向下逐层分解,直到找到满,直到找到满足功能要求的所有可实现的软件为止足功能要求的所有可实现的软件为止 结构化分析方法使用工具:结构化分析方法使用工具:数据流图数据流图,数数据词典据词典,结构化英语结构化英语,判定表判定表与与判定树判定树9696页页页页 PagePage6666结构化英语结构化英语。判定表。判定表。判定树判
37、定树层次方框图层次方框图WarnierWarnier图图图图IPO图图用于写加工逻辑说明的工具用于写加工逻辑说明的工具功能描述工具功能描述工具9696页页页页 PagePage6767用于描述系统数据的工具用于描述系统数据的工具ER图图(Entity-Relationship Diagram)实体实体,联系联系,实体集实体集,属性建立概念模型属性建立概念模型9696页页页页 PagePage6868(1 1)结构化英语)结构化英语 结构化英语的词汇表由结构化英语的词汇表由 英语命令动词英语命令动词英语命令动词英语命令动词 数据词典中定义的名字数据词典中定义的名字数据词典中定义的名字数据词典中定
38、义的名字 有限的自定义词有限的自定义词有限的自定义词有限的自定义词 逻辑关系词逻辑关系词逻辑关系词逻辑关系词 IF_THEN_ELSEIF_THEN_ELSEIF_THEN_ELSEIF_THEN_ELSE、CASE_OF CASE_OF CASE_OF CASE_OF、WHILE_DOWHILE_DOWHILE_DOWHILE_DO、REPEAT_UNTILREPEAT_UNTILREPEAT_UNTILREPEAT_UNTIL等组成。等组成。等组成。等组成。9696页页页页 PagePage6969 是一种介于自然语言和形式化语言之间是一种介于自然语言和形式化语言之间的语言的语言 语言的语
39、言的正文用基本控制结构进行分割正文用基本控制结构进行分割,加工中的加工中的操作用自然语言短语来表示操作用自然语言短语来表示 其基本控制结构有三种:其基本控制结构有三种:简单陈述句结构简单陈述句结构简单陈述句结构简单陈述句结构:避免复合语句;:避免复合语句;:避免复合语句;:避免复合语句;重复结构重复结构重复结构重复结构:WHILE_DOWHILE_DO 或或或或 REPEAT_UNTILREPEAT_UNTIL结构。结构。结构。结构。判定结构判定结构判定结构判定结构:IF_THEN_ELSEIF_THEN_ELSE 或或或或 CASE_OFCASE_OF结构;结构;结构;结构;9696页页页页
40、 PagePage7070实例分析实例分析:(1)(1)如果如果 发货单金额超过发货单金额超过$500$500 和和 欠款超过了欠款超过了6060 天天 ,在偿还欠款前不予批准发货在偿还欠款前不予批准发货.(2)(2)如果如果 发货单金额超过发货单金额超过$500$500 和欠款未超期和欠款未超期,则则发发批准书并发货单批准书并发货单(3)(3)如果如果 发货单金未额超过发货单金未额超过$500$500 和和 欠款超过欠款超过6060天天 ,发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告 (4)(4)如果如果 发货单金未额超过发货单金未额超过$500$500 和和欠款未超期欠款未超期 发
41、批准书,发货单发批准书,发货单 商店业务处理系统中商店业务处理系统中“检查发货单检查发货单”9696页页页页 PagePage7171IF IF 发货单金额超过发货单金额超过$500$500 THENTHEN IF IF 欠款超过了欠款超过了6060天天 THENTHEN 在偿还欠款前不予批准在偿还欠款前不予批准 ELSE ELSE(欠款未超期)欠款未超期)发批准书,发货单发批准书,发货单 ENDIFENDIFELSE ELSE (发货单金额未超过发货单金额未超过$500$500)IF IF 欠款超过欠款超过6060天天 THENTHEN 发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告
42、ELSE ELSE(欠款未超期)欠款未超期)发批准书,发货单发批准书,发货单 ENDIFENDIFENDIFENDIF9696页页页页 PagePage7272(2 2)判定表)判定表 如果数据流图的加工需要依赖于多如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来个逻辑条件的取值,使用判定表来描述比较合适描述比较合适9696页页页页 PagePage7373以以“检查发货单检查发货单”为例为例9696页页页页 PagePage74749696页页页页 PagePage7575(3 3)判定树)判定树 判定树也是用来表达加工逻辑的一种判定树也是用来表达加工逻辑的一种工具。有时侯它比判
43、定表更直观。工具。有时侯它比判定表更直观。9696页页页页 PagePage7676层次方框图层次方框图是用树形结构的一系列的矩形框描绘数据是用树形结构的一系列的矩形框描绘数据(功能功能)的层次结构图的层次结构图例例:一家计算机公司全部产品的数据结构可以一家计算机公司全部产品的数据结构可以用层次方框图表示。这家公司的产品由硬用层次方框图表示。这家公司的产品由硬件、软件、服务三类产品组成,软件产件、软件、服务三类产品组成,软件产品又分为系统软件和应用软件,系统软件品又分为系统软件和应用软件,系统软件又进一步分为操作系统,编译程序和软件又进一步分为操作系统,编译程序和软件工具工具9696页页页页
44、PagePage7777产品硬件软件服务处理机存储器外部设备系统软件应用软件软件服务硬件服务培训操作系统编译程序软件工具9696页页页页 PagePage7878Warnier图法国计算机科学家Warnier图提出的表示信息层次结构的另外一种工具Warnier图给出了各个部分的逻辑关系,而层次方框图不能 异或,表示上下数据只能选择其一(P3):表示出现的次数9696页页页页 PagePage7979软件产品系统软件应用软件操作系统(P1)编译程序(P2)软件工具编缉程序(P3)测试程序(P3)设计工具(P3)9696页页页页 PagePage8080IPO图(输入处理输出)IPO图系统:模块:
45、编号:作者:日期:被调用:调用:输入:输出:处理:局部数据元素:注释:9696页页页页 PagePage8181状态转换图状态转换图:状态状态:是指被观察到的系统行为模式是指被观察到的系统行为模式,一种行一种行 为模式代表系统的一个状态为模式代表系统的一个状态.分为分为:初态初态 终态终态 中间状态中间状态状态名状态名状态名状态名状态变量状态变量状态变量状态变量活动表活动表活动表活动表可选可选可选可选9696页页页页 PagePage8282事件事件:是指在某个特定条件下发生的事情是指在某个特定条件下发生的事情.它是它是 引起系统从一个状态到另一个状态变化引起系统从一个状态到另一个状态变化 的
46、原因的原因.9696页页页页 PagePage8383状态名状态名状态名状态名状态变量状态变量状态变量状态变量活动表活动表活动表活动表格式格式:事件名称事件名称(参数表参数表)/动作表达式动作表达式标准事件标准事件:(1)Entry:进入该状态的事件进入该状态的事件(2)exit:离开该状态的事件离开该状态的事件(3)do:正在作的状态的事件正在作的状态的事件9696页页页页 PagePage8484A.A.对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对该对象该对象该对象该对象 起作用时的状态。起作用时的
47、状态。起作用时的状态。起作用时的状态。9696页页页页 PagePage85859696页页页页 PagePage8686A.A.对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对对象的初始状态是图中任何事件都未对 该对象起作用时的状态。该对象起作用时的状态。该对象起作用时的状态。该对象起作用时的状态。B.B.动作状态是一种代表已完成活动的状态。动作状态是一种代表已完成活动的状态。动作状态是一种代表已完成活动的状态。动作状态是一种代表已完成活动的状态。C.C.当动作状态的内部动作完成时即会从该动当动作状态的内部动作完成时即会从该动当动作状态的
48、内部动作完成时即会从该动当动作状态的内部动作完成时即会从该动 作状态进行转换。作状态进行转换。作状态进行转换。作状态进行转换。D.D.要表明必须先完成各个并行活动然后才出要表明必须先完成各个并行活动然后才出要表明必须先完成各个并行活动然后才出要表明必须先完成各个并行活动然后才出 现下一个活动,请使用连接转换。现下一个活动,请使用连接转换。现下一个活动,请使用连接转换。现下一个活动,请使用连接转换。E.E.双击来自动作状态的状态转换可对其加注双击来自动作状态的状态转换可对其加注双击来自动作状态的状态转换可对其加注双击来自动作状态的状态转换可对其加注 临界条件和动作表达式标签。临界条件和动作表达式
49、标签。临界条件和动作表达式标签。临界条件和动作表达式标签。F.F.要表明可同时发生的活动,请使用叉形状态转换。要表明可同时发生的活动,请使用叉形状态转换。要表明可同时发生的活动,请使用叉形状态转换。要表明可同时发生的活动,请使用叉形状态转换。G.G.最终状态代表该图所表示的场合中的活动结束。最终状态代表该图所表示的场合中的活动结束。最终状态代表该图所表示的场合中的活动结束。最终状态代表该图所表示的场合中的活动结束。9696页页页页 PagePage8787原型化方法原型化方法 在开发初期,要想得到一个完整准确在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别的规格说明不是一件容易
50、的事。特别是对一些大型的软件项目。是对一些大型的软件项目。用户往往对系统只有一个模糊的想法,用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要很难完全准确地表达对系统的全面要求。求。9696页页页页 PagePage8888 软件开发者对于所要解决的应用问题软件开发者对于所要解决的应用问题认识更是模糊不清认识更是模糊不清 随着开发工作向前推进,用户可能会随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求产生新的要求,或因环境变化,要求系统也能随之变化;开发者又可能在系统也能随之变化;开发者又可能在设计与实现的过程中遇到些没有预料设计与实现的过程中遇到些没有预料到的