收藏 分销(赏)

需求分析60.pptx

上传人:快乐****生活 文档编号:4827847 上传时间:2024-10-14 格式:PPTX 页数:120 大小:736.54KB
下载 相关 举报
需求分析60.pptx_第1页
第1页 / 共120页
需求分析60.pptx_第2页
第2页 / 共120页
需求分析60.pptx_第3页
第3页 / 共120页
需求分析60.pptx_第4页
第4页 / 共120页
需求分析60.pptx_第5页
第5页 / 共120页
点击查看更多>>
资源描述

1、第三章 需求分析第三章 需求分析3.1 需求分析的任务及需求分析的过程3.2 与用户沟通获取需求的方法3.3 数据流图3.4 实体-联系图3.5 状态转换图3.6 其他图形工具3.7 验证软件需求为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。n需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。对目标系统提出完整、准确、清晰、具体的要求。n在需求分析阶段结束之前,系统分析员应该写出软

2、件需求规格说明书,以书面形式准确地描述软件需求。n在需求分析的过程中,分析员和用户都起着关键的、必不可少的作用。n要建立分析所需要的通信途径,以保证能顺利地对问题进行分析。n用于需求分析的结构话分析方法必须遵守的准则:理解并描述问题的信息域,建立数据模型定义软件必须完成的功能,建立功能模型描述作为外部事件结果的软件行为,建立行为模型对三个模型进行分解,用层次的方法展示细节3.1 需求分析的任务:n确定对系统的综合要求:1.功能需求:必须完成的所有功能。2.性能需求:必须满足的定时约束或容量约束,通常包括速度(响应时间)、磁盘容量、安全性等方面的需求。3.可靠性和可用性需求:量化了用户可以使用系

3、统的程度。4.出错处理需求:这类需求说明系统对环境错误应该怎样响应。n确定对系统的综合要求:5.接口需求:接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。6.约束:说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7.逆向需求:逆向需求说明软件系统不应该做什么。8.将来可能提出的要求:列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。n分析系统的数据要求软件系统本质上都是信息处理系统,因此,必须分析系统的数据要求,这是软件需求分析的一个重

4、要任务。分析系统的数据要求通常采用建立数据模型的方法:实体联系图(E-R图)。复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典全面的定义数据。利用图形工具辅助描绘数据结构。n从数据流和数据结构出发,逐步细化软件功能,找出各元素之间的联系,接口特性和设计上的限制,给出目标系统的详细逻辑模型。n导出系统的逻辑模型:数据流图实体-联系图状态转换图数据字典加工处理说明书等n修正系统开发计划n开发原型系统:使用户对目标系统有一个更直接、更具体的概念,从而能更准确提出用户需求。(关键的困难在于成本)n编制需求分析文档:需求规格说明书任务概述:系统目标,运行环境,条件与限

5、制数据描述:n概念模型:E-R图n逻辑模型:数据流图n数据定义:数据字典,加工说明n数据库描述:名称和类型功能描述:软件功能要求性能描述:软件性能要求(处理速度、响应时间、安全限制等)。n编制需求分析文档:需求规格说明书(续)运行描述:用户界面、硬件接口、软件接口、故障处理等。质量保证:阐明软件在交付使用前需要进行的功能测试和性能测试,并且规定源程序和文档遵守的各种标准。n技术审查和管理复审管理复审:在软件生命周期的每个重要的里程碑(一般是每个阶段计划、需求分析、设计、编码、维护)对工程项目的成本、实际花费、投资回报的前景等从管理的角度进行审查。技术审查:在软件生命周期的每个阶段进行正式而严格

6、的技术审查,尽量发现隐藏的错误。正式技术评审是软件工程实践者实施的一项软件质量保证活动。评审的主要内容 n系统定义的目标是否与用户的要求一致;n系统需求分析阶段提供的文档资料是否齐全;n文档中的所有描述是否完整、清晰、准确反映用户要求;n与所有其它系统成分的重要接口是否都已经描述;n被开发项目的数据流与数据结构是否足够,确定;n所有图表是否清楚,在不补充说明时能否理解;n主要功能是否已包括在规定的软件范围之内,是否都已充分说明;n软件的行为和它必须处理的信息、必须完成的功能是否一致;n设计的约束条件或限制条件是否符合实际;n是否考虑了开发的技术风险;n是否考虑过软件需求的其它方案;n是否考虑过

7、将来可能会提出的软件需求;n是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;n有没有遗漏,重复或不一致的地方;n用户是否审查了初步的用户手册或原型;n软件开发计划中的估算是否受到了影响。需求分析的原则 n必须能够表达和理解问题的数据域和功能域数据域:数据流,数据内容和数据结构。功能域:加工变换。n必须按自顶向下,逐层分解的方式对问题进行分解和不断细化。n要给出系统的逻辑视图和物理视图。逻辑视图:给出软件要达到的功能和要处理的数据之间的关系。物理视图:给出处理功能和数据结构的实际表示形式。3.2 与用户沟通获取需求的方法1 访谈n访谈有两种基本形式,分别是正式的和非正式的访谈。n当需

8、要调查大量人员的意见时,向被调查人分发调查表是一个十分有效的做法。n在访问用户的过程中使用情景分析技术往往非常有效。某出版社系统调查表编号提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?

9、办法?7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?出版社计算机管理信息系统需要解决什么问题?2 面向数据流自顶向下求精软件系统本质上是信息处理系统,而任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息。数据决定了需要的处理和算法,看来数据显然是需求分析的出发点。n结构化分析方法就是面向

10、数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有的最基本的组成元素。n沿数据流图从输出端往输入端回溯,应该能够确定每个数据元素的来源,与此同时也就初步定义了有关的算法。n为了得到某个目前还没有的数据元素,或者得出这个数据元素需要用的算法尚不完全清楚。往往需要向用户和其他有关人员请教,他们的回答使分析员对目标系统的认识更深入更具体了,系统中更多的数据元素被划分出来了,更多的算法被搞清楚了。

11、通常把分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图(见3.7节)中。通过分析而补充的数据流、数据存储和处理,应该添加到数据流图的适当位置上。图图3.1 面向数据流自顶向下求精过程面向数据流自顶向下求精过程n数据流图是帮助复查的极好工具。n反复进行上述分析过程,把数据流图扩展到更低的层次。通过功能分解可以完成数据流图的细化。n经过问题和解答的反复循环,分析员越来越深入具体地定义了目标系统,最终得到对系统数据和功能要求的满意了解。3 简易的应用规格说明技术n进行初步的访谈,初步确定待解决的问题的范围和解决方案。n开发者和用户分别写出“产品需求”n会议前准备n

12、开会讨论n起草完整的软件需求规格说明书4 快速建立软件原型n快速原型应该具备的第一个特性是“快速”。n快速原型应该具备的第二个特性是“容易修改”。n为了快速地构建和修改原型,通常使用下述3种方法和工具:(1)第四代技术(2)可重用的软件构件(3)形式化规格说明3.3 分析建模n结构化分析实质上是一种创建模型的活动。需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。uu实体实体实体实体关系图关系图关系图关系图(ERD)(ERD)描述数据对象及数据对象描述数据对象及数据对象描述数据对象及数据对象描述数据对象及数据对象之间的关系;之间的关系;之间的关系;之间的关系;是用于建立数据

13、模型的图形。uu 数据流图数据流图数据流图数据流图(DFD)(DFD)描述数据在系统中如何被传送描述数据在系统中如何被传送描述数据在系统中如何被传送描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功或变换,以及描述如何对数据流进行变换的功或变换,以及描述如何对数据流进行变换的功或变换,以及描述如何对数据流进行变换的功能(子功能);能(子功能);能(子功能);能(子功能);因此,数据流图是建立功能模型的基础。uu状态状态状态状态迁移图迁移图迁移图迁移图(STD)(STD)描述系统对外部事件如何描述系统对外部事件如何描述系统对外部事件如何描述系统对外部事件如何响应,如何动作。响应,

14、如何动作。响应,如何动作。响应,如何动作。为此,状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础。结构化分析的分析模型实体实体关系图关系图状态迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明分析建模n通过需求分析而建立的模型必须达到下述的三个基本目标。描述用户的需求。为软件设计工作奠定基础。定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。n 为了达到上述这些目标,在结构化分析过程中导出的分析模型的形式。3.3 数据流图(DFD)n是软件系统逻辑模型的一种图形表示,是从数据传递和加工的角度,以图形的方式刻画

15、数据流从输入到输出的移动变换过程的工具。3.3.1 符号n n数据流图中的主要图形元素数据流图中的主要图形元素数据流图中的主要图形元素数据流图中的主要图形元素数据流与加工之间的关系数据流与加工之间的关系-系统系统逻辑逻辑模型模型数据的数据的数据的数据的加工或加工或加工或加工或变换变换变换变换输入输入输入输入输出输出输出输出软件软件软件软件系统系统系统系统外部实体外部实体外部实体外部实体外部实体外部实体外部实体外部实体 外部实体外部实体外部实体外部实体外部实体外部实体外部实体外部实体 输入输入输入输入数据流数据流数据流数据流输入输入输入输入数据流数据流数据流数据流输出输出输出输出数据流数据流数据

16、流数据流输出输出输出输出数据流数据流数据流数据流分层的数据流图分层的数据流图分层的数据流图分层的数据流图数据流图的层次结构分层的数据流图分层的数据流图分层的数据流图分层的数据流图2 2 2 2 F0F0A0A0B0B0F1F1A0A0B0B0F2F2F3F3F4F4F5F5p1p1C1C1D1D1M1M1N1N1F4.1F4.1M1M1F4.2F4.2N1N1F4.3F4.3K2K2F4.4F4.4W2W2F4.5F4.5p1p1Y2Y2X2X2第第第第 0 0 0 0 层层层层第第第第 1 1 层层层层第第第第 2 2 层层层层画数据流图的指导原则:n所有图形符号只限于前面四种基本符号。n第

17、一层DFD应当是基本系统模型n每个加工至少有一个输入数据流和一个输出数据流。n在数据流图中,按层给加工框编号。n注意父图和子图的平衡,维护信息的连续性n图中每个元素必须有名字。n数据流图中不可以夹带控制流。3.3.2 例子 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。图图2.5 定货系统的基本系统模型定货系统的基本

18、系统模型图图2.6 定货系统的功能级数据流图定货系统的功能级数据流图图图2.7 把处理事务的功能进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图例子2n在教材的销售过程中,首先学生拿着购书申请到会计处审查并开具购书发票,然后到出纳处交款,并开具领书单,学生拿着领书单到书库领书;在开具购书发票的过程中,若教材存量不够,则需要进行缺书统计,然后书库根据缺书情况去采购缺书,并通知学生补购教材。学学学学生生生生教材教材教材教材购购购购销销销销系统系统系统系统购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知进书通知进书通知进书通知进书通

19、知保保保保管员管员管员管员1 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单学学学学生生生生缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购保保保保管员管员管员管员第第第第 1 1 层层层层第第第第 2 2 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2外部实体外部实体 教材销售子系统教材销售子系统教材销售子系统教材销售子系统 无效书单无效书单无效书单无效书单购书单购书单购书单购书单1.31.3登记并开登记并开登记并开登记并开领书单领书单领书单领书单1.21.2开

20、发票开发票开发票开发票1.11.1审查审查审查审查有效性有效性有效性有效性1.41.4登记登记登记登记缺书缺书缺书缺书1.51.5补售补售补售补售教材教材教材教材采采采采购购购购学学学学生生生生学学学学生生生生进书通知进书通知进书通知进书通知有效书单有效书单有效书单有效书单发票发票发票发票领书单领书单领书单领书单缺书信息缺书信息缺书信息缺书信息1 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购进书通知进书通知进书通知进书通知缺书登记表缺书登记表缺书登记表缺书登记表教材存量表教材存量表教材存量表教材

21、存量表学学学学生生生生保保保保管员管员管员管员第第第第 2 2 层层层层补售补售补售补售书单书单书单书单第第第第 3 3 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F2 各班用书表各班用书表各班用书表各班用书表 F3F3F3F3 售书登记表售书登记表售书登记表售书登记表 F4F4F4F4外部外部外部外部项项项项1 1销售销售销售销售购书单购书单购书单购书单领书单领书单领书单领书单缺书单缺书单缺书单缺书单进书通知进书通知进书通知进书通知2 2采购采购采购采购进书通知进书通知进书通知进书通知缺书登记表缺书登记表缺书登

22、记表缺书登记表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管员管员管员管员采购采购采购采购 子系统子系统子系统子系统 第第第第 2 2 层层层层第第第第 3 3 层层层层缺书单缺书单缺书单缺书单2.32.3修改教材库修改教材库修改教材库修改教材库存和待存和待存和待存和待购量购量购量购量销销销销售售售售进书通知进书通知进书通知进书通知进书通知进书通知进书通知进书通知2.12.1按书号汇按书号汇按书号汇按书号汇总缺书总缺书总缺书总缺书2.22.2按出版社统按出版社统按出版社统按出版社统计缺书计缺书计缺书计缺书保保保保管员管员管员管员 教材存量表教材存量表教材存量表教材存量表 F

23、1F1F1F1 待购教材表待购教材表待购教材表待购教材表 F5F5F5F5 教材一览表教材一览表教材一览表教材一览表 F6F6F6F6 缺书登记表缺书登记表缺书登记表缺书登记表 F2F2F2F23.3.3 命名1.为数据流(或数据存储)命名(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。2.为处理命名(1)通常先为数据流命名,然后再为与之相关联的处理

24、命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。(2)名字应该反映整个处理的功能,而不是它的一部分功能。(3)名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。3.3.4 用途n画数据流图的基本目的是利用它作为交流信息的工具。n数据流图的另一个主要用途是作为分析和设计的工具。n当用数据流图辅助物理系统的设计时,以图中

25、不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。图图2.8 这种划分自动化边界的方法暗示以批量方式更新库存清单这种划分自动化边界的方法暗示以批量方式更新库存清单图图2.9 另一种划分自动化边界的方法建议以联机方式更新库存清单另一种划分自动化边界的方法建议以联机方式更新库存清单3.3.5 数据字典n数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。n对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。n

26、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。n只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。数据字典的内容n一般说来,数据字典应该由对下列4类元素的定义组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理(IPO)(5)外部实体n内容:名称,别名,编号,分类,描述,定义,位置等1 1、数据字典的定义、数据字典的定义数据流名:数据流名:说明:简要介绍作用即它产生的原因和结果。说明:简要介绍作用即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流来源:即该数据流来自何

27、方。数据流去向:去向何处。数据流去向:去向何处。数据流组成:数据结构。数据流组成:数据结构。每个数据量流通量:数据量、流通量。每个数据量流通量:数据量、流通量。(1)(1)数据流词条的描述数据流词条的描述 举例:举例:购购书书单单发票发票领书单领书单审查并审查并开发票开发票开领开领书单书单无效书单无效书单学生学生1 12 2各班学生各班学生用用 书书 表表学生学生教材存量表教材存量表n n数据流名:发票数据流名:发票n n 说明:用作学生付书款的依据说明:用作学生付书款的依据n n 数据流来源:来自加工数据流来源:来自加工“审查并开发票审查并开发票”n n 数据流去向:流向加工数据流去向:流向

28、加工“开领书单开领书单”。n n 数据流组成:数据流组成:学号学号+姓名姓名+书号书号+单价总价单价总价+书费合计书费合计数据流条目举例:数据流条目举例:数据元素名数据元素名:类型类型:数值数值数值数值(离散、连续),文字(编码类型),离散、连续),文字(编码类型),离散、连续),文字(编码类型),离散、连续),文字(编码类型),长度长度:取值范围取值范围:相关的数据元素及数据结构相关的数据元素及数据结构 (2)(2)数据元素词条的描述数据元素词条的描述 数据项名数据项名:货物编号货物编号别名别名:G-No,G-num简述简述:本公司的所有货物的编号本公司的所有货物的编号类型类型:字符串字符串

29、长度:长度:1010取值范围及含义取值范围及含义:第第1 1位:位:JJG (G (进口进口/国产国产)第第2 2 4 4位:位:L01.L29 (L01.L29 (类别类别)第第5 5 7 7位:位:“A00A00”.“A99A99”(规格规格)第第8 8 1010位:位:“001001”.“999999”(品名编号品名编号)数据元素条目举例:数据元素条目举例:(3)(3)数据文件词条的描述数据文件词条的描述 数据文件名:数据文件名:简述:存放的是什么数据。简述:存放的是什么数据。数据文件组成数据文件组成:数据结构。数据结构。存储方式存储方式:顺序,直接,关键码。顺序,直接,关键码。存取频率

30、存取频率:数据文件条目举例:数据文件条目举例:文件名文件名:库存记录库存记录别名别名:无无简述简述:存放库存所有可供货物的信息存放库存所有可供货物的信息组成组成:货物名称编号生产厂家:货物名称编号生产厂家 单价库存量单价库存量组织方式组织方式:索引文件,以货物编号为关键字:索引文件,以货物编号为关键字查询要求查询要求:要求能够立即查询要求能够立即查询加工名:加工名:加工编号:反映该加工的层次加工编号:反映该加工的层次简要描述:加工逻辑及功能简述简要描述:加工逻辑及功能简述加工逻辑:简述加工程序,加工顺序加工逻辑:简述加工程序,加工顺序执行频率:执行频率:(4)(4)加工逻辑词条的描述加工逻辑词

31、条的描述 加工逻辑条目举例:加工逻辑名加工逻辑名:登记报名单登记报名单 编号:编号:1 1 激活条件:收到报名单激活条件:收到报名单 加工逻辑加工逻辑:1.1 1.1 检查报名单检查报名单 +1.2+1.2 编准考证号编准考证号 +1.3+1.3 登记考生登记考生 执行频率:执行频率:20002000次次/日日 名称:外部实体名名称:外部实体名 简要描述简要描述:什么外部实体什么外部实体 有关数据流有关数据流:数目数目:(5)(5)外部实体词条描述(源点及终点词条描外部实体词条描述(源点及终点词条描述)述)数据字典定义符号例子:n某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串

32、,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符数字字符存折格式存折户名所号帐号开户日期性质(印密)存折户名所号帐号开户日期性质(印密)11存取行存取行5050户名户名22字母字母2424所号所号“001001”.“999999”(注:储蓄所编码,规定三位数字注:储蓄所编码,规定三位数字)帐号帐号“0000000100000001”.“9999999999999999”(注:帐号规定由八位数字组成注:帐号规定由八位数字组成)开户日期年月日开户日期年月日性质性质“1 1”.“6 6”(注:注:“

33、1 1”表示普通户,表示普通户,“5 5”表示工资户等表示工资户等)印密印密“0 0”(注:印密在存折上不显示注:印密在存折上不显示)存取行日期(摘要)支出存入余额存取行日期(摘要)支出存入余额 操作复核操作复核年年2003200320042004200520052006200620072007 月月“0101”.“1212”日日“0101”.“3131”摘要摘要11字母字母44 (注:表明该存取是存?是取?还是换?注:表明该存取是存?是取?还是换?)支出金额支出金额 (注注:金额规定不超过金额规定不超过9999999.999999999.99元元)金额金额“0000000.010000000

34、.01”.“9999999.999999999.99”操作操作“0000100001”.“9999999999”复核复核“0000100001”.“9999999999”加工逻辑说明n对数据流图的每一个基本加工,必须有一个基本加工逻辑说明n阐明把输入数据转换为输出数据的策略,是加工说明的主体,在需求分析阶段,仅需要指出要加工“做什么”。而不是“怎样去做”,n加工逻辑说明的工具:结构化英语,判定表,判定树。结构化英语(PDL)n n又称过程设计语言,伪码;它是一种介于自然语又称过程设计语言,伪码;它是一种介于自然语又称过程设计语言,伪码;它是一种介于自然语又称过程设计语言,伪码;它是一种介于自然

35、语言与程序设计语言之间的语言。言与程序设计语言之间的语言。言与程序设计语言之间的语言。言与程序设计语言之间的语言。n n语言的语言的语言的语言的正文用基本控制结构进行分割正文用基本控制结构进行分割正文用基本控制结构进行分割正文用基本控制结构进行分割,加工中的,加工中的,加工中的,加工中的操作用自然语言短语来表示操作用自然语言短语来表示操作用自然语言短语来表示操作用自然语言短语来表示n n其基本控制结构有三种:其基本控制结构有三种:其基本控制结构有三种:其基本控制结构有三种:简单陈述句结构简单陈述句结构简单陈述句结构简单陈述句结构:避免复合语句;:避免复合语句;:避免复合语句;:避免复合语句;重

36、复结构重复结构重复结构重复结构:whilewhile_ _dodo 或或或或 repeatrepeat_ _until until 结构。结构。结构。结构。判定结构判定结构判定结构判定结构:if_then_elseif_then_else 或或或或 case_of case_of 结构;结构;结构;结构;商店业务处理系统中“检查发货单”if if 发货单金额超过发货单金额超过发货单金额超过发货单金额超过$500$500 thenthen if if 欠款超过了欠款超过了欠款超过了欠款超过了6060天天天天 thenthen 在偿还欠款前不予批准在偿还欠款前不予批准在偿还欠款前不予批准在偿还欠款

37、前不予批准 elseelse (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期)发批准书,发货单发批准书,发货单发批准书,发货单发批准书,发货单 elseelse (发货单金额未超过(发货单金额未超过(发货单金额未超过(发货单金额未超过$500$500)if if 欠款超过欠款超过欠款超过欠款超过6060天天天天 thenthen 发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告发批准书,发货单及赊欠报告 elseelse (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期)发批准书,发货单发批准书,发货单发批准书,发货单发批准书,发货单 (2 2)判定

38、表)判定表n n如果数据流图的加工需要依赖于如果数据流图的加工需要依赖于如果数据流图的加工需要依赖于如果数据流图的加工需要依赖于多个逻辑条件的多个逻辑条件的多个逻辑条件的多个逻辑条件的取值取值取值取值,使用判定表来描述比较合适,使用判定表来描述比较合适,使用判定表来描述比较合适,使用判定表来描述比较合适以“检查发货单”为例(3)判定树n n判定树也是用来表达加工逻辑的一种工具。判定树也是用来表达加工逻辑的一种工具。判定树也是用来表达加工逻辑的一种工具。判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。有时侯它比判定表更直观。有时侯它比判定表更直观。有时侯它比判定表更直观。检检查查发

39、发货货单单金额金额$500金额金额$500 欠款欠款60天天不发出批准书不发出批准书 欠款欠款 60天天发货单发货单发出批准书、发出批准书、欠款欠款60天天发出批准书、发出批准书、发货单及赊欠报告发货单及赊欠报告 欠款欠款 60天天发出批准书、发出批准书、发货单发货单3.4数据模型的表示方法:实体-联系图 在数据处理中用数据模型描述客观世界中的事物及其联系。数据模型中包含3种相互关联的信息:数据对象(实体),数据对象的属性,数据对象间相互连接的关系。n数据对象数据对象(实体实体):是需被目标系统所理解的复合信息的表示。所谓复合信息是具有若干不同特征或属性的信息。n数据对象可以是外部实体(如显示

40、器),事物(如报表或显示),角色(如教师或学生),行为(如一个电话呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如注册室)或结构(如文件)。n数据对象只封装了数据,没有包含作用于这些数据上的操作。这与面向对象范型中的类和对象不同。具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例。n 属性属性:定义了数据对象的特征。它可用来:为数据对象的实例命名;描述这个实例;建立对另一个数据对象的另一个实例的引用。n如学生数据对象的属性可以有学号、姓名、性别、出生年月、籍贯等。为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键

41、码(key),书写为_id,例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例。n关关系系:各个数据对象的实例之间有关联。如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。n实例的关联有三种:一对一(1:1);一对多(1:m);多对多(n:m)。3.4.4 实体联系类型符号表示 n用长方形表示实体型,在框内写上实体名。n用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来。n用菱形表示实体间的联系,菱形框内写上联系名。n用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。若实体之间的联系也具有属性

42、,则把属性和菱形也用无向边连接上。3.4.4 实体联系类型符号表示 图图3.2 某校教学管理某校教学管理ER图图举例:用E-R图表示某个工厂的物资管理n涉及的实体:仓库:仓库号,仓库面积,电话号码零件:零件号,名称,规格,单价,描述职工:职工号,姓名,年龄,职称n实体间的联系:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作职工之间具有领导和被领导关系,即仓库主任领导若干保管员E-R图表示 3.5 数据规范化n软件系统经常使用的信息,通常按一定方式组织并存放在数据库或文件中。n通常用“范式(normal form)”定义消除数据冗

43、余的程度。n常用的范式分为第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。n判断规范化程度的条件是:判断规范化程度的条件是:1、关系中所有属性都是、关系中所有属性都是“单纯域单纯域”,即不出现,即不出现“表中有表表中有表”2、非主属性完全函数依赖于关键字、非主属性完全函数依赖于关键字3、非主属性相互独立,即任何非主、非主属性相互独立,即任何非主属性间不存在函数依赖。属性间不存在函数依赖。n如果一个关系连如果一个关系连条件条件 1 都不满足,都不满足,则这个关系是非规范化的。则这个关系是非规范化的。n n如果一个关系仅满足如果一个关系仅满足条件条件 1,则这个关,则这个关系满足系满足

44、第一范式第一范式(1NF)。n n如果一个关系满足如果一个关系满足条件条件 1、2,但不满,但不满足足 3,则这个关系满足,则这个关系满足第二范式第二范式(2NF)。n n如果一个关系同时满足如果一个关系同时满足条件条件 1、2和和 3,则这个关系表满足,则这个关系表满足第三范式第三范式(3NF)。n n当数据模型达到当数据模型达到 3NF,一般情况下就,一般情况下就能满足数据库应用的需要。能满足数据库应用的需要。3.6 状态转换图n状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。

45、因此,状态图提供了行为建模机制。1 状态n系统行为模式。状态规定了系统对事件的响应方式。n在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。n状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。2事件n事件就是引起系统做动作或(和)转换状态的控制信息。3 符号图图3.3 状态图中使用的主要符号状态图中使用的主要符号活动表的语法格式如下:n事件名(参数表)/动作表达式n“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。n活动表中的动作表达式描述应做的具体动作。事件表达式的语法如下:n事件说明守卫条件动作表达式n事件

46、说明的语法为:事件名(参数表)。n守卫条件是一个布尔表达式。n动作表达式是一个过程表达式,当状态转换开始时执行该表达式。例子:电话系统的状态图图3.4 电话系统的状态图3.7 其他图形工具1 层次方框图n层次方框图的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。图图3.5 层次方框图的一个例子层次方框图的一个例子2 Warnier图图图3.6 Warnier图的一个例子图的一个例子3 IPO图nIPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。图图3

47、.8 改进的改进的IPO图的形式图的形式3.8 验证软件需求1 从哪些方面验证软件需求的正确性一般说来,应该从下述4个方面进行验证:n一致性n完整性n现实性n有效性2 验证软件需求的方法1.验证需求的一致性n用形式化的需求陈述语言书写2.验证需求的现实性n分析用现有的软、硬件技术实现目标系统的可能性。3.验证需求的完整性和有效性n开发原型系统3 用于需求分析的软件工具n这类软件工具应该满足下列要求:(1)必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容;(2)使用这个软件工具能够导出详细的文档;(3)必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够

48、产生一组报告指明对完整性分析的结果;(4)使用这个软件工具之后,应该能够改进通信状况。3.8 小结n需求分析是发现、求精、建模、规格说明和复审的过程。n与用户通信的几种方法(访谈、数据流自顶向下逐步求精、应用规格说明技术、快速建立软件原型)n结构化分析实质上就是一种建模活动(数据模型、功能模型和行为模型)。n需求规格说明书主要从一致性、完整性、现实性和有效性等4个方面进行复审。第三章 习题试题1n某校学籍管理的升留级处理规则如下:如果本学期总分大于等于620分,并且单科全部及格,发布升级通知;如果本学期总分大于等于620分,但单科有不及各,发布升级通知和重修课程通知;如果考试总分小于620分,

49、单科有及格的,发布留级通知和单科免修通知;如果考试总分小于620分,单科全不及格,发布留级通知。根据已知条件画判断树。试题2n某高校选课系统要求如下:选课系统对每个学生的选课单进行处理。根据教学计划检查该生是否存在尚未取得学分的必修课程。如果存在,则要求重选。如果课程上课时间不发生冲突,则可以选修,否则根据重修、必修、限选、任选的优先级、删除已选课程,最后产生每个学生的个人课表和每门课程的成绩单。n画数据流图和数据字典学生选课系统顶层数据流图学生选课系统第1层数据流图学生选课系统第2层数据流图学生选课系统数据字典1.数据流条目nA:选课单选课单学生学号+课程编码nB:学生学号学生学号:由8位数

50、字组成,其中15位为班级号,68位为班内序号,从001开始。nC:合法记录合法记录学生学号+课程编码nD:成绩单成绩单课程编码+课程名+任课教师+学生学号+姓名+成绩nE:选课结果别名:学生课表选课结果学生学号+课程时间表课程时间表课程编码+起始周+终止周+星期+节+教室nF:重修课程重修课程学生学号+课程编码(2)文件条目)文件条目nA:开课清单开课记录课程编码+课程类别+课程名+任课教师+起始周+终止周+星期+节+教室组织:以课程编码为记录关键字升序排列 nB:课程注册表注册记录学生学号+课程编码+课程类别+课程名+任课教师+起始周+终止周+星期+节+教室组织:以学号为记录关键字升序排列n

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服