实用软件工程结构化分析

上传人:M****1 文档编号:568835427 上传时间:2024-07-27 格式:PPT 页数:100 大小:482KB
返回 下载 相关 举报
实用软件工程结构化分析_第1页
第1页 / 共100页
实用软件工程结构化分析_第2页
第2页 / 共100页
实用软件工程结构化分析_第3页
第3页 / 共100页
实用软件工程结构化分析_第4页
第4页 / 共100页
实用软件工程结构化分析_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《实用软件工程结构化分析》由会员分享,可在线阅读,更多相关《实用软件工程结构化分析(100页珍藏版)》请在金锄头文库上搜索。

1、第三章结构化分析第一节第一节 需求分析需求分析第二节第二节 结构化分析方法结构化分析方法第三节第三节 其他具有结构化思想的需求分析方法其他具有结构化思想的需求分析方法第三章第三章 结构化分析结构化分析第三章结构化分析第一节第一节 需求分析需求分析软件需求是指用户对目标系统在功能、行为、性能、设计约束等方面的要求。需求分析是指对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明的一系列活动或过程。第三章结构化分析需求分析介于系统分析和软件设计之间。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点。另一方面,需求分

2、析规格说明书又是软件设计、实现、测试和维护的基础。一个软件系统是由相互联系和相互作用的若干部分组成的,是具有特定功能的有机整体。要准确回答“系统必须做什么”,要进行软件需求分析,需求分析有时称为系统分析。需求分析的过程是一个对系统的理解与表达的过程,是软件工程的一个重要活动。理解就是开发人中充分理解用户的需求,对问题及环境的理解、分析与综合,逐步建立目标系统的模型。应该是开发人员与用户一起来理解系统,大家都来理解系统要做什么 。表达就是产生规格说明书等有关文档。规格说明书就是把分析的结果完全地、精确地表达出来。第三章结构化分析一、 需求分析的任务需求分析的基本任务是确定系统必须完成哪些工作,也

3、就是对目标系统提出完整、准确、清晰和具体要求。即必须准确回答问题:“系统能做什么?”而不是确定系统如何完成它的工作。第三章结构化分析需求分析研究的对象是软件项目的用户要求软件项目的用户要求软件项目的用户要求软件项目的用户要求。用户与分析员之间需要通信和沟通。一方面,分析员必须应澄清用户需求的模糊性、歧义性和不一致性,全面理解用户的各项要求,但又不能全盘接受所有要求,因为用户提出的要求未必都是合理的。对于无法实现的要求,应予充分解释,并对相互冲突的要求进行折衷。另一方面,必须准确表达被接受的用户要求,因为描述确切的软件需求才能成为软件设计和实现的基础。 第三章结构化分析对需求分析的结果,即分析模

4、型和需求规格说明必须严格审查。需求规格说明一旦得到用户和软件开发方一致确认后,它将成为用户和软件开发方之间的合同。作为目标系统的参考,需求分析要做的工作是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题第三章结构化分析第三章结构化分析需求分析的任务主要有如下几个方面:1确定软件的综合需求软件的综合需求包括:软件的综合需求包括:软件的综合需求包括:软件的综合需求包括:功能需求,性能需求,运行需求,可靠性需求,安全保障需求,用户界面需求,资源使用需求,成本消耗与开发进度需求,将来可能提出的需求。 第三章结构化分析功能需求功能需求功能需求功能需求:列出被开发的软件应该作什

5、么。性性性性能能能能需需需需求求求求:给出被开发的软件的技术性能指标,包括存贮容量限制,响应时间,精确度指标和安全性等。运运运运行行行行需需需需求求求求:对系统运行时所处环境的要求。例如在在在在硬硬硬硬件件件件方方方方面面面面,采用什么机型、什么外部设备和数据通信接口等;在在在在软软软软件件件件方方方方面面面面,采用什么系统软件(操作系统,网络软件,数据库管理系统等)支撑软件系统运行;在在在在使使使使用用用用方方方方面面面面,要求使用部门、操作人员在技术水平上应该具备什么样的条件等。第三章结构化分析可可可可靠靠靠靠性性性性需需需需求求求求:按实际的运行环境提出对被开发软件在投入运行后不发生故障

6、的概率之要求。安安安安全全全全保保保保障障障障需需需需求求求求:按实际环境提出对被开发软件给予特殊设计,使其在投入运行后其安全保密方面性能得到必要保证的要求。用用用用户户户户界界界界面面面面需需需需求求求求:软件与用户界面友好程度的要求。第三章结构化分析资资资资源源源源使使使使用用用用需需需需求求求求:对被开发软件运行时所需的数据、软件、内存空间等各项资源的要求;对开发软件所需的人力、支撑软件、开发设备等的要求。成成成成本本本本消消消消耗耗耗耗与与与与开开开开发发发发进进进进度度度度需需需需求求求求:软件立项后,根据合同规定,对软件开发的进度和各步骤的费用要求。将来可能提出的需求将来可能提出的

7、需求将来可能提出的需求将来可能提出的需求:对软件将来可能的扩充与修改做准备的要求。第三章结构化分析2分析系统的数据需求分析系统的数据需求就是从系统的信息流中归纳抽象出数据元素组成、数据的逻辑关系、数据字典格式和数据模型,并以输入/处理/输出的结构方式表示。第三章结构化分析3导出系统的逻辑模型明确目标系统与当前系统的逻辑差别,将变化部分看作是新的处理过程,然后由外及里对变化进行分析,推断其结构,最终获得目标系统的逻辑模型。通常用数据流图数据流图数据流图数据流图、数据字典数据字典数据字典数据字典和主要的处理算主要的处理算主要的处理算主要的处理算法法法法描述这个逻辑模型。第三章结构化分析4修正系统开

8、发计划在对目标系统有了更深入更具体认识的基础之上对开发计划进行修正。 5开发原形系统采用开发原形系统策略的理由是:人类认识能力的局限性,不能预先穷尽所有要求;用户与系统分析员之间存在通信鸿沟;用户需要一个显示的系统以便获得使用经验;开发过程中的反复和重复是必要的和不可避免的。第三章结构化分析使用原形系统的目的是:让用户通过实践获得关于未来系统将怎样为他们服务的直接概念,从而能更准确的提出和确定用户要求。探索型原型第三章结构化分析二、需求分析的主要步骤:1调查研究 调查用户需求,访谈或会谈是最早开始运用的获取用户需求的技术,也是迄今为止广泛使用的需求分析技术。第三章结构化分析2分析与综合问题分析

9、与方案综合要求分析员从数据流和数据结构出发,逐步细化所有的软件功能,找出系统个元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能需求,是否合理。删除不合理的部分,增补需要的部分,最终综合出系统的解决方案,导出系统的详细逻辑模型。第三章结构化分析3书写文档这个阶段可能需要完成下面三份文档资料1)1)1)1)系统需求规格说明:系统需求规格说明:系统需求规格说明:系统需求规格说明:主要包括描述目标系统概貌、功能要求、性能要求、运行要求和将来可能提出的要求。数据流图、用IPO图或其他工具简要描述的系统主要算法都是该份文挡的重要组成部分。此外,该份文档还应包括用户需求与系统功能之间的关系、设计

10、约束等等。软件需求规格说明是需求分析阶段的最终成果。第三章结构化分析2)2)2)2)数据要求:数据要求:数据要求:数据要求:主要包括数据字典以及描述数据结构的层次方框图或Warnier图。此外,该份文档还应包括对存储信息分析的结果。第三章结构化分析修正开发计划:主要包括成本计划、资源使用计划和进度计划等等。3)3)3)3)用户系统描述:用户系统描述:用户系统描述:用户系统描述:主要包括对系统功能性能扼要描述,使用系统的主要步骤和方法,以及用户的责任等等。该文档相当于一份初步用户手册,它使得未来用户能从使用系统的角度检查该目标系统,进而让用户比较易于判断这个系统是否满足他们的需要。第三章结构化分

11、析4需求分析评审将需求规格说明书提交设计之前,必须进行需求评审,这是需求分析的最后一步。如果在评审过程中发现说明书中存在错误或缺陷,应及时重新进行相应的初步需求分析,修改需求规格说明书,并重新评审。第三章结构化分析评审的内容包括:正正正正确确确确性性性性:需求规格说明书中对系统的功能、行为、性能描述必须符合用户对目标软件产品的期望。无无无无歧歧歧歧义义义义性性性性:需求规格说明书中的语法单位只有唯一的解释。使用标准化术语是一种确保无歧义性的有效措施。完整性:完整性:完整性:完整性:需求规格说明书中不能遗漏用户需求,即目标软件产品的所有功能、行为、性能约束以及它在所有可能情况下的预期行为应该完全

12、包含在需求规格说明书中。第三章结构化分析可可可可验验验验证证证证性性性性:需求规格说明书中的各类需求都应该存在技术和经济上的可行手段进行验证和确认。一一一一致致致致性性性性:需求规格说明书中各部分不能存在矛盾。例如,术语使用方面的冲突,功能和行为特征方面的冲突,时序方面的前后不一致等。第三章结构化分析可可可可理理理理解解解解性性性性:用户设计人员和测试人员应该容易理解需求规格说明书中的描述,避免使用过多的专业词汇。可可可可修修修修改改改改性性性性:需求规格说明书中的格式和组织方式应能保证比较容易地接受后续的增、删和修改,并使修改后的说明书能够较好地保持其他各项属性。可可可可追追追追踪踪踪踪性性

13、性性:需求规格说明书必须能将分析后获得的每项需求与用户的原始需求清晰地联系起来,并为后续开发和其他文档引用这些需求项提供便利。第三章结构化分析另外还有系统需求分阶段提供的文档资料是否齐全,与其他系统的重要接口是否都已描述,设计的约束或限制条件是否切合实际,被开发项目的数据流与数据结构是否足够、确定,开发的技术风险是什么,用户是否审查了初步用户手册,软件开发计划中的估算是否受到了影响等等,其中正确性在评审中受到普遍关注。第三章结构化分析评审应由专门指定的人员负责,评审结束后应有评审负责人的结论意见及签字。分析员,用户、开发部门的管理者、软件设计、实现、测试人员都应当参加评审工作。评审可以采取会议

14、的形式进行,首先,分析员要说明软件产品的总体目标,包括产品的主要功能、与环境的交互行为以及性能指标。第三章结构化分析评审会议要对需求模型进行评估,以此决定该说明书能否成为良好的软件设计基础。评审会议还要就原始软件问题讨论除当前需求模型之外的其他解决问题的方案,并对各种影响软件设计和质量的因素进行折衷,决定说明书中采用的取舍是否合理。最后,评审会议应对软件的质量确认方法进行讨论,形成为用户和开发人员均能接受的各项测试指标。第三章结构化分析1理解和表示问题的信息域和功能域。信息域包括数据流数据流数据流数据流、数据内容数据内容数据内容数据内容和数据结构数据结构数据结构数据结构。数据流数据流数据流数据

15、流就是数据经过系统时的变化形式,输入数据先转换成中间数据,再由中间数据转换成输出结果数据。数据内容数据内容数据内容数据内容就是数据项。数据结构数据结构数据结构数据结构就是各数据项的逻辑组织。三、需求分析的原则第三章结构化分析2.对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。把问题以自顶向下、逐层分解的方式分解为几个较易理解的部分,并确定各部分之间的接口,从而实现软件的整体功能。在需求分析阶段,软件的功能域和信息域都可以做进一步的分解。第三章结构化分析3分清系统的逻辑视图逻辑视图逻辑视图逻辑视图和物理视图物理视图物理视图物理视图:逻逻逻逻辑辑辑辑视视视视图图图图给出的是系统要达到的

16、功能和要处理的信息间的关系,而不是实现细节。物物物物理理理理视视视视图图图图给出的是系统处理功能和数据结构的实际表示形式,这通常由设备本身所决定。第三章结构化分析第二节结构化分析方法第二节结构化分析方法结构化分析结构化分析结构化分析结构化分析( ( ( (Structured Analysis ,SA)Structured Analysis ,SA)Structured Analysis ,SA)Structured Analysis ,SA)的基的基的基的基本思想本思想本思想本思想是用抽象模型的概念,按照软件的内部数据传递、变换关系,从层次的角度出发,自顶向下地逐层分解,直到找到满足功能要求

17、的所有可实现的软件为止。抽象抽象抽象抽象是指抽出事物的本质特性而暂时不考虑它们的细节。分解分解分解分解是指把一个大问题经过多次逐层划分成为若干个足够简单容易解决的小问题的过程。抽象和分解是结构化分析方法的主要手段。第三章结构化分析结构化分析方法是一种依赖数据流图的自顶向下的建模方法,它的核心是数据流图,所以又说它是一种面向数据流面向数据流面向数据流面向数据流的分析方法结构化分析方法常用的几个工具是数数数数据据据据流流流流图图图图、数据字典、结构化英语、判定表与判定树数据字典、结构化英语、判定表与判定树数据字典、结构化英语、判定表与判定树数据字典、结构化英语、判定表与判定树。第三章结构化分析数数

18、数数据据据据流流流流图图图图( ( ( (DFD)DFD)DFD)DFD)从数据传递与加工的角度,以图形的方式描绘数据从输入移动到输出所经历的变换过程。设计数据流图时,只需考虑软件必须完成基本逻辑功能,不要考虑如何实现这些功能。一、数据流图第三章结构化分析1 数据流图符号第三章结构化分析假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时

19、就应该再次定货。2例子第三章结构化分析要画出上述定货系统的数据流图,须从问题描述中获取数据流图的四种成分:源点或终点源点或终点源点或终点源点或终点、处理逻辑处理逻辑处理逻辑处理逻辑、数据存储数据存储数据存储数据存储和数据流数据流数据流数据流。仓库管理员可作数据源点;由“采购部每天需要一张定货报表”和“仓库中的CRT终端把事务报告给定货系统”知道采购员可作为数据终点。任何改变数据的操作都是处理或加工,因此必须有一个用于产生报表的处理和一个改变零件库存量的事务的处理。系统把生成的定货报表送往采购部,因此定货报表是一数据流;事务从仓库送到系统,所以事务是另一数据流。每当有一个事务发生时,就立即处理这

20、个事务,然而每天只产生一次报表。第三章结构化分析源点/终点处理采购员仓库管理员产生报表处理事务数据流数据存储定货报表零件编号零件名称定货数量目前价格主要供应者次要供应者事务零件编号*事务类型数量*定货信息(见定货报表)库存清单零件编号*库存量库存量临界值第三章结构化分析任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。对于上述的定货系统可以画出如图所示的基本系统模型。第三章结构化分析从基本系统模型这个非常高的抽象层次开始画数据流图优点是这个高层次的数据流图上是否列出了所有给定的数据源点/终点是一目了然的。下一步应该把基本系统模型细化,描绘

21、系统的主要功能。 在图3.5中给处理和数据存储都加了编号,这样做的目的是便于引用和追踪。第三章结构化分析第三章结构化分析接下来应该对功能级数据流图中描绘的系统主要功能进一步细化。当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列子处理时,分解前和分解后的输入输入输入输入/ / / /输出输出输出输出数据流必须相同。第三章结构化分析第三章结构化分析数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。3命名第三章结构化分析为数据流(或数据存储)命名。名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字(如“数据

22、”、“信息”、“输入”之类)。如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应考虑重新分解。第三章结构化分析为处理命名。通常先为数据流命名,然后再为与之相关联的处理命名。名字应该反映整个处理的功能,而不是它的一部分功能。尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象应考虑重新分解。第三章结构化分析4数据流图的画法(1)画数据流图的原则画数据流图的基本步骤可以概括为:“自

23、外向内、自顶向下、逐层细化、完善要求”。第三章结构化分析画法如下1) 找出数据的源点与汇点,它们是外部实体,有了它们,就可以确定系统与外部世界的接口。2)找出外部实体的输出数据流和输入数据流。3)画出系统的外部实体。4)从外部实体的输出数据流出发,根据系统的逻辑需求,逐步画出一系列逻辑加工,直至找到外部实体所需要的输入数据流,从而形成数据流的封闭。5)进行检查和修改。6)按找上述步骤,再从各加工出发,画出所需的子图。铸钟厂生产系统数据流图铸钟厂生产系统数据流图 供货供货 商商 5成品成品装配装配已包装成品已包装成品 7 运运 输输生产细节生产细节运输运输细节细节成品和成品和运输单运输单 1收原

24、材料收原材料原材料原材料客户定单客户定单原材料原材料 客客 户户 铸铸 钟钟原材料到达原材料到达产品库存下降产品库存下降钟跑调钟跑调 原材料原材料 2 熔熔 化化 3浇铸打磨浇铸打磨 4 调调 音音 6成品包装成品包装 客客 户户装箱成品装箱成品包装材料包装材料 钟钟 舌舌 成成 品品 产量产量 控制控制已打磨的钟已打磨的钟合格的钟合格的钟供货商供货商熔化的原料熔化的原料第三章结构化分析数据流图除了用于概念设计,还可以用于系统的逻辑设计。例:图书馆为读者提供图书(包括刊物)的借阅、归还、续借、预约服务。可以用书名预约图书,用刊物名和卷号(简称为卷号)预约刊物。用户要成为读者须先登记。读者离开图

25、书馆后,工作人员要取消无效的预约,要作图书的整理和上架等工作。有些图书需要装订。图书馆从机关团体处(如出版社)取得图书,或与其他图书馆进行交换。图书馆需要经常统计图书的使用情况,向领导层汇报(管理者)。此外,图书馆还向社会捐赠图书。第三章结构化分析 4个子系统:读者服务:登记读者信息,提供为读者服务的环境。图书服务:获取新图书、处理旧图书、交换图书、向社会捐赠图书等服务。图书使用:为读者提供使用图书的服务。使用情况:统计图书的使用情况。第三章结构化分析 4个外部实体:用户:登记后成为读者机关团体:为图书馆提供图书。管理者:管理图书的使用情况。社会福利事业:接受图书馆捐赠的图书。第三章结构化分析

26、5个数据存储:读者: 记录图书馆所有读者的信息。图书: 记录所有图书的信息。图书馆:记录所有外部图书馆的信息。图书馆用书:记录与外部图书馆交换图书的信息。读者用书: 记录读者使用图书的所有信息。第三章结构化分析图书馆系统的概貌(图书馆系统的概貌(上下文图上下文图,context)上下文图上下文图 用用 户户图书信息图书信息读者信息读者信息图书使用报告图书使用报告图书信息图书信息图书馆图书馆 系统系统 管理管理 者者 机关机关 团体团体 社会福社会福利事业利事业捐赠信息捐赠信息第三章结构化分析图书馆系统图书馆系统0 0级数据流图级数据流图 1 读者读者 服务服务读者细节读者细节读者用书读者用书

27、读读 者者 3 图书图书 使用使用读者信息读者信息读者用读者用书细节书细节读者使用读者使用整理细节整理细节读者变动读者变动图书信息图书信息 用用 户户 用用 户户0 0级图级图 图图 书书图书馆图书馆图书馆用书图书馆用书 4 使用使用 情况情况 2 图书图书 服务服务图书使用报告图书使用报告图书馆使用图书馆使用图书细节图书细节图书变动图书变动图书交换图书交换被使用图书被使用图书 机关机关 团体团体 管理管理 者者第三章结构化分析图书馆系统图书馆系统1 1级数据流图级数据流图 4.24.2 打印打印 报表报表 4.1 4.1 计算计算 消耗消耗图书使用次数图书使用次数 图图 书书消耗细节消耗细节

28、图书使用报告图书使用报告2.22.2 处理处理 图书图书 2.12.1 得到得到 图书图书图书馆图书馆 图图 书书图书馆用书图书馆用书旧书旧书处理细节处理细节换进换进换出换出新书新书新书细节新书细节 1.11.1 读者读者 登记登记1.31.3 读者读者 离开离开新读者新读者读者变动读者变动读者离开读者离开 1.41.4 图书图书 整理整理读者用书读者用书 读读 者者读者读者细节细节新读者细节新读者细节离开细节离开细节整理细节整理细节 1.21.2 读者读者 变动变动 3.43.4 预预约约书书 3.53.5 装订书装订书 3.33.3 续借书续借书 3.13.1 借借 书书 3.23.2 还

29、还 书书 读读 者者 图图 书书读者用书读者用书 图图 书书需装订图书需装订图书装订细节装订细节处理细节处理细节 2.3 2.3 图书图书 捐赠捐赠社会福社会福利事业利事业1 1级图级图1 1级图级图1 1级图级图1 1级图级图续续借借书书图书馆系统图书馆系统功能图功能图使用情况使用情况读者服务读者服务图书服务图书服务图书使用图书使用读读者者登登记记读读者者变变动动读读者者离离开开图图书书整整理理借借书书还还 书书预预约约书书装装订订书书得得到到图图书书处处理理图图书书图图书书捐捐赠赠计计算算消消耗耗打打印印报报表表图书馆系统图书馆系统第三章结构化分析数据流图的优点:数据流图的缺点: 自顶向下

30、描述系统中信息的流动,结构清晰,概念性强,有利于系统分析员理顺系统脉络、澄清含混的概念和逻辑。 因为数据流图的表达方式是结构化的,易于与常用的计算机处理相对应,容易转换为低级别的设计。 可能变得非常复杂,不易理解。 不能处理出错和意外情况。 不能描述过程的控制结构(没有条件分支、循环、选择)。第三章结构化分析第三章结构化分析数据字典是为了描述在结构化分析过程中定义的对象的内容,而使用的一种半形式化的工具。1数据字典的定义数据字典数据字典数据字典数据字典是描述数据信息的集合,它对数据流图中的各个元素进行完整的定义与说明,是数据流图的补充工具。数据字典是所有与系统相关的数据元素的有组织的列表,并且

31、包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。二、数据字典第三章结构化分析(1 1 1 1) 数据流数据流数据流数据流在数据流图中,数据以数据流为单位进行传输。主要内容包括:1)名字及称号。2)可能的来源和去处:外部实体,处理逻辑,数据存储。3) 组成:一个数据流可能包含若干个数据结构。2数据字典的内容第三章结构化分析(2 2 2 2)数据项)数据项)数据项)数据项数据项也称数据元素,它“不可再分”,是数据的最小单位。主要内容包括:1)名称和编号。2)别名。数据项另外的名称。3)取值的范围和含义。4)长度。数据项包含的

32、字符或数字的位数。第三章结构化分析(3 3 3 3)数据存储)数据存储)数据存储)数据存储数据存储是数据结构停留和保存的地方。主要内容包括:1) 名称和编号。2)流入、流出数据流。流入数据流指出其来源,流出数据流指出其去向。3)组成。数据存储所包含的数据项和数据结构。第三章结构化分析主要内容包括:1) 名称和编号。2) 简单描述。3) 输入输出。4) 主要功能。(4 4 4 4) 处理逻辑处理逻辑处理逻辑处理逻辑第三章结构化分析主要内容包括:1)名称和编号。2)相关数据流。(5 5 5 5)外部实体)外部实体)外部实体)外部实体第三章结构化分析(6 6 6 6)数据结构)数据结构)数据结构)数

33、据结构数据结构是各个数据项之间的逻辑关系的一种描述。一个数据结构可以由若干个数据项组成,也可以由若干个数据项和数据结构组成。主要内容包括:1)名称和编号2)组成。若是一个简单的数据结构,需要列出它所包含的数据项;若是一个嵌套的数据结构,需要列出它所包含的数据结构名称。第三章结构化分析3定义数据的方法对数据自顶向下分解,当元素分解到每个与工程有关的人都清楚其含义时,分解就告结束。第三章结构化分析数据元素组成数据的方式有四种类型。1)1)1)1)顺序顺序顺序顺序:以确定的次序连接两个或多个分量。2)2)2)2)选择选择选择选择:从两个或多个可能的元素中选取一个。3)3)3)3)重复重复重复重复:把

34、指定的分量重复零次或多次。4)4)4)4)可选可选可选可选:一个分量是可有可无的(重复零次或一次)。第三章结构化分析4数据字典的用途首先,数据字典中所建立的一组严密一致的定义有助于改进工程参与人员之间的通信,消除许多可能的误会,避免许多麻烦的接口问题。其次,数据字典列出了使用一个给定的数据元素的所有程序或模块,很容易估计改变一个数据将产生的影响,并能对所有受影响的程序或模块作出相应的改变。最后,数据字典是开发数据库的第一步。目前实现数据字典有三种途径:全人工过程利用数据字典处理程序的全自动化过程用正文编辑程序报告生成程序等已有的实用程序帮助人工过程的混合过程。第三章结构化分析名字:定货数量别名

35、:描述:某个零件一次定货的数量定义:定货数量=1数字5位置:定货报表 定货信息名字:定货报表别名:定货信息描述:每天一次送给采购员的需要定货的零件表定义:定货报表=零件编号+零件名 称+定货数量+目前价格+主要供应者+次要供应者例例3 3:对仓库的库存量的描述。:对仓库的库存量的描述。名称名称:库存数量:库存数量别名别名:(无):(无)描述描述:零件在库房的数量:零件在库房的数量定定义义:库库存存数数量量 = = 周周期期盘盘点点数数量量 + + 入入库库数数量量 出库数量出库数量限制限制:库存数量不能小于零;:库存数量不能小于零; 库库存存数数量量小小于于给给定定的的最最低低水水平平,或或大

36、大于于给给定定的最高水平时报警。的最高水平时报警。数据字典是系统分析和设计必备的工具。数据字典是系统分析和设计必备的工具。例:画储蓄系统数据流图父图储蓄客户客户P子图储户识别存款处理取款处理P1P3P2D1储蓄信息现金存取款单取款单存款单现金现金储蓄信息储蓄信息存款单现金,利息单数据描述数据描述数据描述数据描述数据字典名称别名类型 长度 备注姓名XM字符 8存款日期CKRQ 日期金额JE数字 8,2身份证号SFZH字符 16类别LB字符 2取款日期QKRQ 日期利息LX数字 8,2利息税LXS数字 8,2表结构1、客户表姓名身份证号家庭电话2、储蓄信息表姓名身份证号金额类别存款日期第三章结构化

37、分析三、加工逻辑小说明分层数据流图的最底层数据流图中的加工不能再通过子图做进一步的描述,因此必须有一个加工小说明来定义底层数据流图中的加工。目前用于写加工逻辑说明的工具有结结结结构构构构化化化化英英英英语语语语,判定表判定表判定表判定表和判定树判定树判定树判定树。决策树决策树决决策策树树描描述述有有多多个个行行为为需需要要选选择择的的过过程程。决决策策树树由由一一组组表表示示条条件件的的节节点点,和无标记边组成。和无标记边组成。决策树示意图决策树示意图 逻辑功能名逻辑功能名 条件条件1 1 条件条件2 2 条件条件1.21.2 条件条件1.11.1 行为行为1 1 行为行为2 2 条件条件2.

38、12.1 条件条件2.22.2 行为行为3 3 行为行为4 4 条件条件2.2.22.2.2 条件条件2.2.12.2.1 行为行为5 5决策树实例决策树实例豪华型豪华型 选择包装箱选择包装箱 中音钟中音钟 高音钟高音钟豪华型豪华型标准型标准型标准型标准型- 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用3 3号包装箱号包装箱 使用使用4 4号包装箱号包装箱第三章结构化分析决策树还有另一种形式决策树还有另一种形式:“:“T”T”表示表示“真真”,条件成立;,条件成立;“F”F”表示表示“假假”,条件,条件不成立。不成立。决策树的另一种形式决策树的另一种形式 决策树一般

39、用于过程内部存在复杂的相关行为、利用大量条件作决策的情况。决策树一般用于过程内部存在复杂的相关行为、利用大量条件作决策的情况。决策树形式简单,易于掌握和使用,并适合于与用户讨论。决策树形式简单,易于掌握和使用,并适合于与用户讨论。豪华型豪华型 中音钟中音钟T标准型标准型 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用4 4号包装箱号包装箱 使用使用3 3号包装箱号包装箱TTFFF第三章结构化分析条件方案行动决策决策表的结构决策表的结构决策表决策表决策表同样能表示复杂的条件组合与对应行为之间的关系。决策表同样能表示复杂的条件组合与对应行为之间的关系。决策表决策表 (1)

40、 (1)决策表决策表 (2) (2) 老客户老客户 T T F F T T F F 即时付款即时付款 T F F F FT F F F F 一周内付款一周内付款 T F T FT F T F 半月内付款半月内付款 F T F TF T F T 正常价格正常价格0.95 0.95 正常价格正常价格 正常价格正常价格1.05 1.05 正常价格正常价格1.10 1.10 豪华型豪华型 中音钟中音钟T 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用3 3号包装箱号包装箱 使用使用4 4号包装箱号包装箱TTFFFFT第三章结构化分析结构化英语结构化英语结结构构化化英英语语(s

41、tructuredstructured englishenglish)清清晰晰地地描描述述过过程程逻逻辑辑,易易于于理理解解,类类似似可可读的计算机程序。但它既不同于多义的自然英语语言,也有别于编程语言。读的计算机程序。但它既不同于多义的自然英语语言,也有别于编程语言。顺序:顺序: 语句语句11 语句语句22 语句语句2.12.1 语句语句2.22.2 语句语句33 语句语句n n选择:选择: IF IF 条件条件 THEN THEN 语句语句 ELSE ELSE 语句语句 SO SO 语句语句 ENDIFENDIF迭代:迭代: REPEAT REPEAT 语句语句 UNTILUNTIL 条件

42、条件排斥:排斥: CASE CASE 表达式表达式 OF OF 条件条件11: 语句语句 条件条件22: 语句语句 条件条件n n: 语句语句 OTHERWISEOTHERWISE:语句语句 ENDCASEENDCASE大写的英语单词是专用的保留字。大写的英语单词是专用的保留字。第三章结构化分析例例:某超市的顾客会员卡等级评估策略为:如果是老顾客并且会员资格不少某超市的顾客会员卡等级评估策略为:如果是老顾客并且会员资格不少 于于2 2年,则打八五折;若少于年,则打八五折;若少于2 2年则打九五折;若不是会员,则不打折。年则打九五折;若不是会员,则不打折。 IF the IF the custo

43、mercustomer is a is a trade customertrade customer and IF the and IF the customercustomer is is customercustomer for 2 or more years for 2 or more years then discount is 85% then discount is 85% ELSE discount is 95% ELSE discount is 95% ELSE this is a private ELSE this is a private customercustomer

44、SO no discount given SO no discount given ENDIF ENDIF第三章结构化分析矩阵矩阵矩矩阵阵是是一一个个普普遍遍使使用用的的简简单单易易行行的的方方法法,最最常常用用的的是是二二维维表表的的形形式式。根根据据用用途途不同,有不同的类型。不同,有不同的类型。基基本本思思想想: :寻寻找找或或确确定定行行元元素素与与列列元元素素的的关关系系, ,然然后后利利用用行行与与列列交交汇汇处处的的值值来来完完成某种任务。成某种任务。(1)(1)功能功能/ /事件矩阵事件矩阵功能功能/ /事件矩阵事件矩阵 功能功能 接受申请接受申请 选择学生选择学生 学生登记学

45、生登记 交纳学费交纳学费 事件事件 申请入学申请入学 录取学生录取学生 学生注册学生注册 用来表示某一事件会触发哪些用来表示某一事件会触发哪些功能功能,或某个,或某个功能功能由哪些事件来触发。由哪些事件来触发。第三章结构化分析这类矩阵与对实体实例的操作有关。这类矩阵与对实体实例的操作有关。(2)(2)实体实体/ /功能矩阵功能矩阵实体实体/ /功能矩阵功能矩阵收到需求收到需求 核核 准准 汇汇 集集订单处理订单处理 发发 回回客户确认客户确认通知库房通知库房订单处理的功能结构图订单处理的功能结构图 实体实体 客户客户 订单订单 订单项订单项 产品产品 功能功能 收到需求收到需求 R C C R

46、 C C 核核 准准 RU RU RRU RU R 汇汇 集集 R R UR R U 发发 回回 R RU RUR RU RU 客户确认客户确认 CRUD CRUD R R 通知库房通知库房 R R CRUDR R CRUD第三章结构化分析第三章结构化分析数据字典强调对数据存储结构的逻辑设计,并用数据结构表达数据项之间的逻辑关系,在复杂数据与数据之间的复杂关系的分析和建模中,数据字典机制难以适应,这时可以使用实体-关系图。四、实体关系图第三章结构化分析1 1 1 1数据对象数据对象数据对象数据对象数据对象是指具有一系列不同性质或属性的事物,仅有单个值的事物,例如宽度,就不是数据对象。2 2 2

47、 2属性属性属性属性属性定义了数据对象的性质, 应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。第三章结构化分析数据对象彼此之间相互连接的方式称为关系或联系。(1) 一对一联系(11)(2) 一对多联系(1N)(3) 多对多联系(MN)联系也可能有属性。3 3关系关系第三章结构化分析使用实体关系图(EntityRelationship Diagram)来建立数据模型。可以把实体关系图简称为E-R图,相应地,用ER图描绘的数据模型也可以称为ER模型。ER图中包含了实体(即数据对象)、关系和属性等三种基本成分,通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角

48、矩形表示实体(或关系)的属性,并用无向边把实体(或关系)与其属性连接起来。4 4 4 4实体实体实体实体关系图的符号关系图的符号关系图的符号关系图的符号第三章结构化分析学校教学管理学校教学管理学校教学管理学校教学管理 E-R E-R E-R E-R 图图图图 第三章结构化分析第三节第三节 其他具有结构化思想的需求分析方法其他具有结构化思想的需求分析方法在结构化分析领域中或在基于图形的需求分析方面,还有一些其他的方法,下面是这些方法采用的图形工具。第三章结构化分析一、层次方框图功能(过程)分解图功能(过程)分解图 功能(过程)分解图用来描述功能或过程的细化。功能(过程)分解图用来描述功能或过程的

49、细化。铸钟厂生产系统过程分解图铸钟厂生产系统过程分解图 熔化熔化 浇铸浇铸 打磨打磨 装配装配 包装包装 调音调音 收料收料 运输运输 制造铸钟制造铸钟 选钟选钟 选钟舌选钟舌 装配装配 成品清单成品清单 挑选包装挑选包装 成品装箱成品装箱 取客户细节取客户细节 成品运输记录成品运输记录 发货发货 制定价格制定价格 核实客户状态核实客户状态 计算价格计算价格- 0- 0级级- 1- 1级级- 2- 2级级-3-3级级第三章结构化分析第三章结构化分析二、Warnier 图第三章结构化分析三、IPO图有效主记录有效事务记录更新后的主文件.检验主记录.校验事务记录3.更新主记录旧主文件事务文件输入输

50、出处理第三章结构化分析结构化分析实质上就是一种建模活动,通常建立数据模型、功能模型和行为模型。需求分析阶段建立起来的模型,在软件开发过程中有许多重要作用。 习题1、 什么是结构化分析,它的“结构化”体现在哪里?2、 需求分析的任务是什么?怎样理解这个段是决定“做什么”,而不是“怎样做”。3 简述数据流图的主要思想,画数据流图要遵循哪些原则?4、 怎样判断数据流图的一致性和完全性?5、 下面那些提法属于不精确用户需求,试给出相应的需求分析对策。(1)系统应表现出良好的响应速度。(2)系统必须用菜单驱动。(3)在数据录入画面,应有18个按纽。(4)系统运行时占用的内存不得超过128KB。( 5)电梯应平稳运行。(6)即便系统崩溃,也应保护好用户数据。6、选取一个应用领域中的中小规模的软件问题,分别从用户和软件开发两种角度给出问题的初始描述,指出两者之间的差异并利用初步需求获取技术形成双方都能接受的初步需求文档。7、设计一个支持初步需求分析活动的工具原形,该工具应帮助分析人员记录检索分析过程中的各类信息,并对需求分析过程中的快速原形技术提供支持。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号