收藏 分销(赏)

一步步教你如何写需求分析-PPT课件.ppt

上传人:可**** 文档编号:765429 上传时间:2024-03-07 格式:PPT 页数:119 大小:932.50KB 下载积分:11 金币
下载 相关 举报
一步步教你如何写需求分析-PPT课件.ppt_第1页
第1页 / 共119页
一步步教你如何写需求分析-PPT课件.ppt_第2页
第2页 / 共119页


点击查看更多>>
资源描述
第三章 需求分析1第三章 需求分析3.1 需求分析的任务及需求分析的过程3.2 与用户沟通获取需求的方法3.3 数据流图3.4 实体-联系图3.5 状态转换图3.6 其他图形工具3.7 验证软件需求2为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。3n需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。对目标系统提出完整、准确、清晰、具体的要求。n在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。4n在需求分析的过程中,分析员和用户都起着关键的、必不可少的作用。n要建立分析所需要的通信途径,以保证能顺利地对问题进行分析。5n用于需求分析的结构话分析方法必须遵守的准则:理解并描述问题的信息域,建立数据模型定义软件必须完成的功能,建立功能模型描述作为外部事件结果的软件行为,建立行为模型对三个模型进行分解,用层次的方法展示细节63.1 需求分析的任务:n确定对系统的综合要求:1.功能需求:必须完成的所有功能。2.性能需求:必须满足的定时约束或容量约束,通常包括速度(响应时间)、磁盘容量、安全性等方面的需求。3.可靠性和可用性需求:量化了用户可以使用系统的程度。4.出错处理需求:这类需求说明系统对环境错误应该怎样响应。7n确定对系统的综合要求:5.接口需求:接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。6.约束:说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7.逆向需求:逆向需求说明软件系统不应该做什么。8.将来可能提出的要求:列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。8n分析系统的数据要求软件系统本质上都是信息处理系统,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。分析系统的数据要求通常采用建立数据模型的方法:实体联系图(E-R图)。复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典全面的定义数据。利用图形工具辅助描绘数据结构。9n从数据流和数据结构出发,逐步细化软件功能,找出各元素之间的联系,接口特性和设计上的限制,给出目标系统的详细逻辑模型。10n导出系统的逻辑模型:数据流图实体-联系图状态转换图数据字典加工处理说明书等n修正系统开发计划n开发原型系统:使用户对目标系统有一个更直接、更具体的概念,从而能更准确提出用户需求。(关键的困难在于成本)11n编制需求分析文档:需求规格说明书任务概述:系统目标,运行环境,条件与限制数据描述:n概念模型:E-R图n逻辑模型:数据流图n数据定义:数据字典,加工说明n数据库描述:名称和类型功能描述:软件功能要求性能描述:软件性能要求(处理速度、响应时间、安全限制等)。12n编制需求分析文档:需求规格说明书(续)运行描述:用户界面、硬件接口、软件接口、故障处理等。质量保证:阐明软件在交付使用前需要进行的功能测试和性能测试,并且规定源程序和文档遵守的各种标准。13n技术审查和管理复审管理复审:在软件生命周期的每个重要的里程碑(一般是每个阶段计划、需求分析、设计、编码、维护)对工程项目的成本、实际花费、投资回报的前景等从管理的角度进行审查。技术审查:在软件生命周期的每个阶段进行正式而严格的技术审查,尽量发现隐藏的错误。正式技术评审是软件工程实践者实施的一项软件质量保证活动。14评审的主要内容 n系统定义的目标是否与用户的要求一致;n系统需求分析阶段提供的文档资料是否齐全;n文档中的所有描述是否完整、清晰、准确反映用户要求;n与所有其它系统成分的重要接口是否都已经描述;n被开发项目的数据流与数据结构是否足够,确定;n所有图表是否清楚,在不补充说明时能否理解;n主要功能是否已包括在规定的软件范围之内,是否都已充分说明;n软件的行为和它必须处理的信息、必须完成的功能是否一致;n设计的约束条件或限制条件是否符合实际;n是否考虑了开发的技术风险;n是否考虑过软件需求的其它方案;n是否考虑过将来可能会提出的软件需求;n是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;n有没有遗漏,重复或不一致的地方;n用户是否审查了初步的用户手册或原型;n软件开发计划中的估算是否受到了影响。15需求分析的原则 n必须能够表达和理解问题的数据域和功能域数据域:数据流,数据内容和数据结构。功能域:加工变换。n必须按自顶向下,逐层分解的方式对问题进行分解和不断细化。n要给出系统的逻辑视图和物理视图。逻辑视图:给出软件要达到的功能和要处理的数据之间的关系。物理视图:给出处理功能和数据结构的实际表示形式。163.2 与用户沟通获取需求的方法1 访谈n访谈有两种基本形式,分别是正式的和非正式的访谈。n当需要调查大量人员的意见时,向被调查人分发调查表是一个十分有效的做法。n在访问用户的过程中使用情景分析技术往往非常有效。17某出版社系统调查表编号提出问题1您在哪个部您在哪个部门门工作?工作?2出版出版业务业务流程是什么?流程是什么?3您每日都您每日都处处理那些文件、数据、理那些文件、数据、报报表?表?4工作中手工工作中手工处处理特理特别别麻麻烦烦的事情是什么?的事情是什么?5工作中手工工作中手工处处理什么理什么问题问题解决不了?影响效率的解决不了?影响效率的问题问题有哪些?有哪些?6您您认为认为提高工作效率,提高工作效率,节节省工作省工作时间时间,减,减轻轻工作工作强强度可采取哪些度可采取哪些办办法?法?7您的部您的部门门需要成本核算和需要成本核算和统计统计的内容有哪些?的内容有哪些?8您的部您的部门门采用采用计计算机管理工作情况如何?算机管理工作情况如何?9如何改如何改进业务进业务流程使之更合理?流程使之更合理?10哪些哪些问题问题是目前是目前传统传统手工方法根本无法解决的?手工方法根本无法解决的?11出版社出版社计计算机管理信息系算机管理信息系统统需要解决什么需要解决什么问题问题?182 面向数据流自顶向下求精软件系统本质上是信息处理系统,而任何信息处理系统的基本功能都是把输入数据转变成需要的输出信息。数据决定了需要的处理和算法,看来数据显然是需求分析的出发点。19n结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析,这是因为系统的基本功能是产生这些输出,输出数据决定了系统必须具有的最基本的组成元素。n沿数据流图从输出端往输入端回溯,应该能够确定每个数据元素的来源,与此同时也就初步定义了有关的算法。20n为了得到某个目前还没有的数据元素,或者得出这个数据元素需要用的算法尚不完全清楚。往往需要向用户和其他有关人员请教,他们的回答使分析员对目标系统的认识更深入更具体了,系统中更多的数据元素被划分出来了,更多的算法被搞清楚了。通常把分析过程中得到的有关数据元素的信息记录在数据字典中,把对算法的简明描述记录在IPO图(见3.7节)中。通过分析而补充的数据流、数据存储和处理,应该添加到数据流图的适当位置上。21图图3.1 面向数据流自面向数据流自顶顶向下求精向下求精过过程程n数据流图是帮助复查的极好工具。n反复进行上述分析过程,把数据流图扩展到更低的层次。通过功能分解可以完成数据流图的细化。n经过问题和解答的反复循环,分析员越来越深入具体地定义了目标系统,最终得到对系统数据和功能要求的满意了解。223 简易的应用规格说明技术n进行初步的访谈,初步确定待解决的问题的范围和解决方案。n开发者和用户分别写出“产品需求”n会议前准备n开会讨论n起草完整的软件需求规格说明书234 快速建立软件原型n快速原型应该具备的第一个特性是“快速”。n快速原型应该具备的第二个特性是“容易修改”。n为了快速地构建和修改原型,通常使用下述3种方法和工具:(1)第四代技术(2)可重用的软件构件(3)形式化规格说明243.3 分析建模n结构化分析实质上是一种创建模型的活动。需求分析过程应该建立3种模型,它们分别是数据模型、功能模型和行为模型。uu实实实实体体体体关系关系关系关系图图图图(ERD)(ERD)描述数据描述数据描述数据描述数据对对对对象及数据象及数据象及数据象及数据对对对对象象象象之之之之间间间间的关系;的关系;的关系;的关系;是用于建立数据模型的图形。uu 数据流数据流数据流数据流图图图图(DFD)(DFD)描述数据在系描述数据在系描述数据在系描述数据在系统统统统中如何被中如何被中如何被中如何被传传传传送送送送或或或或变换变换变换变换,以及描述如何,以及描述如何,以及描述如何,以及描述如何对对对对数据流数据流数据流数据流进进进进行行行行变换变换变换变换的功的功的功的功能(子功能);能(子功能);能(子功能);能(子功能);因此,数据流图是建立功能模型的基础。uu状状状状态态态态迁移迁移迁移迁移图图图图(STD)(STD)描述系描述系描述系描述系统对统对统对统对外部事件如何外部事件如何外部事件如何外部事件如何响响响响应应应应,如何,如何,如何,如何动动动动作。作。作。作。为此,状态转换图描绘了系统的各种行为模式(称为“状态”)和在不同状态间转换的方式。状态转换图是行为建模的基础。25结构化分析的分析模型实实体体关系关系图图状态迁移图数据流图数据数据对对象描述象描述加工加工规规格格说说明明数据字典控制控制规规格格说说明明分析建模26n通过需求分析而建立的模型必须达到下述的三个基本目标。描述用户的需求。为软件设计工作奠定基础。定义一组需求,一旦开发出软件产品之后,就可以用这组需求为标准来验收该产品。n 为了达到上述这些目标,在结构化分析过程中导出的分析模型的形式。273.3 数据流图(DFD)n是软件系统逻辑模型的一种图形表示,是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程的工具。283.3.1 符号n n数据流数据流数据流数据流图图图图中的主要中的主要中的主要中的主要图图图图形元素形元素形元素形元素29数据流与加工之间的关系30数据流与加工之间的关系31-系系统统逻辑逻辑模型模型数据的数据的数据的数据的加工或加工或加工或加工或变换变换变换变换输输输输入入入入输输输输出出出出软软软软件件件件系系系系统统统统外部外部外部外部实实实实体体体体外部外部外部外部实实实实体体体体 外部外部外部外部实实实实体体体体外部外部外部外部实实实实体体体体 输输输输入入入入数据流数据流数据流数据流输输输输入入入入数据流数据流数据流数据流输输输输出出出出数据流数据流数据流数据流输输输输出出出出数据流数据流数据流数据流32分分分分层层层层的数据流的数据流的数据流的数据流图图图图数据流图的层次结构33分分分分层层层层的数据流的数据流的数据流的数据流图图图图2 2 2 2 F0F0A0A0B0B0F1F1A0A0B0B0F2F2F3F3F4F4F5F5p1p1C1C1D1D1M1M1N1N1F4.1F4.1M1M1F4.2F4.2N1N1F4.3F4.3K2K2F4.4F4.4W2W2F4.5F4.5p1p1Y2Y2X2X2第第第第 0 0 0 0 层层层层第第第第 1 1 层层层层第第第第 2 2 层层层层34画数据流图的指导原则:n所有图形符号只限于前面四种基本符号。n第一层DFD应当是基本系统模型n每个加工至少有一个输入数据流和一个输出数据流。n在数据流图中,按层给加工框编号。n注意父图和子图的平衡,维护信息的连续性n图中每个元素必须有名字。n数据流图中不可以夹带控制流。353.3.2 例子 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。3637图图2.5 定定货货系系统统的基本系的基本系统统模型模型38图图2.6 定定货货系系统统的功能的功能级级数据流数据流图图39图图2.7 把把处处理事理事务务的功能的功能进进一步分解后的数据流一步分解后的数据流图图40例子2n在教材的销售过程中,首先学生拿着购书申请到会计处审查并开具购书发票,然后到出纳处交款,并开具领书单,学生拿着领书单到书库领书;在开具购书发票的过程中,若教材存量不够,则需要进行缺书统计,然后书库根据缺书情况去采购缺书,并通知学生补购教材。41学学学学生生生生教材教材教材教材购购购购销销销销系系系系统统统统购书单购书单购书单购书单领书单领书单领书单领书单缺缺缺缺书单书单书单书单进书进书进书进书通知通知通知通知进书进书进书进书通知通知通知通知保保保保管管管管员员员员1 1销销销销售售售售购书单购书单购书单购书单领书单领书单领书单领书单学学学学生生生生缺缺缺缺书单书单书单书单进书进书进书进书通知通知通知通知2 2采采采采购购购购保保保保管管管管员员员员第第第第 1 1 层层层层第第第第 2 2 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺缺缺缺书书书书登登登登记记记记表表表表 F2F2F2F2外部实体外部实体42 教材教材教材教材销销销销售子系售子系售子系售子系统统统统 无效无效无效无效书单书单书单书单购书单购书单购书单购书单1.31.3登登登登记记记记并开并开并开并开领书单领书单领书单领书单1.21.2开开开开发发发发票票票票1.11.1审查审查审查审查有效性有效性有效性有效性1.41.4登登登登记记记记缺缺缺缺书书书书1.51.5补补补补售售售售教材教材教材教材采采采采购购购购学学学学生生生生学学学学生生生生进书进书进书进书通知通知通知通知有效有效有效有效书单书单书单书单发发发发票票票票领书单领书单领书单领书单缺缺缺缺书书书书信息信息信息信息1 1销销销销售售售售购书单购书单购书单购书单领书单领书单领书单领书单缺缺缺缺书单书单书单书单进书进书进书进书通知通知通知通知2 2采采采采购购购购进书进书进书进书通知通知通知通知缺缺缺缺书书书书登登登登记记记记表表表表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管管管管员员员员第第第第 2 2 层层层层补补补补售售售售书单书单书单书单第第第第 3 3 层层层层 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 缺缺缺缺书书书书登登登登记记记记表表表表 F2F2F2F2 各班用各班用各班用各班用书书书书表表表表 F3F3F3F3 售售售售书书书书登登登登记记记记表表表表 F4F4F4F4外部外部外部外部项项项项431 1销销销销售售售售购书单购书单购书单购书单领书单领书单领书单领书单缺缺缺缺书单书单书单书单进书进书进书进书通知通知通知通知2 2采采采采购购购购进书进书进书进书通知通知通知通知缺缺缺缺书书书书登登登登记记记记表表表表教材存量表教材存量表教材存量表教材存量表学学学学生生生生保保保保管管管管员员员员采采采采购购购购 子系子系子系子系统统统统 第第第第 2 2 层层层层第第第第 3 3 层层层层缺缺缺缺书单书单书单书单2.32.3修改教材修改教材修改教材修改教材库库库库存和待存和待存和待存和待购购购购量量量量销销销销售售售售进书进书进书进书通知通知通知通知进书进书进书进书通知通知通知通知2.12.1按按按按书书书书号号号号汇汇汇汇总总总总缺缺缺缺书书书书2.22.2按出版社按出版社按出版社按出版社统统统统计计计计缺缺缺缺书书书书保保保保管管管管员员员员 教材存量表教材存量表教材存量表教材存量表 F1F1F1F1 待待待待购购购购教材表教材表教材表教材表 F5F5F5F5 教材一教材一教材一教材一览览览览表表表表 F6F6F6F6 缺缺缺缺书书书书登登登登记记记记表表表表 F2F2F2F2443.3.3 命名1.为数据流(或数据存储)命名(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。452.为处理命名(1)通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。(2)名字应该反映整个处理的功能,而不是它的一部分功能。(3)名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。463.3.4 用途n画数据流图的基本目的是利用它作为交流信息的工具。n数据流图的另一个主要用途是作为分析和设计的工具。n当用数据流图辅助物理系统的设计时,以图中不同处理的定时要求为指南,能够在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此可以根据系统的逻辑模型考虑系统的物理实现。47图图2.8 这这种划分自种划分自动动化化边边界的方法暗示以批量方式更新界的方法暗示以批量方式更新库库存清存清单单48图图2.9 另一种划分自另一种划分自动动化化边边界的方法建界的方法建议议以以联联机方式更新机方式更新库库存清存清单单493.3.5 数据字典n数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。n对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。n数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。n只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。50数据字典的内容n一般说来,数据字典应该由对下列4类元素的定义组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理(IPO)(5)外部实体n内容:名称,别名,编号,分类,描述,定义,位置等511 1、数据字典的定、数据字典的定义义数据流名:数据流名:说说明:明:简简要介要介绍绍作用即它作用即它产产生的原因和生的原因和结结果。果。数据流来源:即数据流来源:即该该数据流来自何方。数据流来自何方。数据流去向:去向何数据流去向:去向何处处。数据流数据流组组成:数据成:数据结结构。构。每个数据量流通量:数据量、流通量。每个数据量流通量:数据量、流通量。(1)(1)数据流数据流词词条的描述条的描述 52举举例:例:购购书书单单发发票票领书单领书单审查审查并并开开发发票票开开领领书单书单无效无效书单书单学生学生1 12 2各班学生各班学生用用 书书 表表学生学生教材存量表教材存量表53n n数据流名:数据流名:发发票票n n 说说明:用作学生付明:用作学生付书书款的依据款的依据n n 数据流来源:来自加工数据流来源:来自加工“审查审查并开并开发发票票”n n 数据流去向:流向加工数据流去向:流向加工“开开领书单领书单”。n n 数据流数据流组组成:成:学号学号+姓名姓名+书书号号+单单价价总总价价+书费书费合合计计数据流条目数据流条目举举例:例:54数据元素名数据元素名:类类型型:数数数数值值值值(离散、离散、离散、离散、连续连续连续连续),文字(),文字(),文字(),文字(编码类编码类编码类编码类型),型),型),型),长长度度:取取值值范范围围:相关的数据元素及数据相关的数据元素及数据结结构构 (2)(2)数据元素数据元素词词条的描述条的描述 55数据数据项项名名:货货物物编编号号别别名名:G-No,G-num简简述述:本公司的所有本公司的所有货货物的物的编编号号类类型型:字符串字符串长长度:度:1010取取值值范范围围及含及含义义:第第1 1位:位:JJG (G (进进口口/国国产产)第第2 2 4 4位:位:L01.L29 (L01.L29 (类别类别)第第5 5 7 7位:位:“A00”.“A99”(“A00”.“A99”(规规格格)第第8 8 1010位:位:“001”.“999”(“001”.“999”(品名品名编编号号)数据元素条目数据元素条目举举例:例:56(3)(3)数据文件数据文件词词条的描述条的描述 数据文件名:数据文件名:简简述:存放的是什么数据。述:存放的是什么数据。数据文件数据文件组组成成:数据数据结结构。构。存存储储方式方式:顺顺序,直接,关序,直接,关键码键码。存取存取频频率率:57数据文件条目数据文件条目举举例:例:文件名文件名:库库存存记录记录别别名名:无无简简述述:存放存放库库存所有可供存所有可供货货物的信息物的信息组组成成:货货物名称物名称编编号生号生产产厂家厂家 单单价价库库存量存量组织组织方式方式:索引文件,以:索引文件,以货货物物编编号号为为关关键键字字查询查询要求要求:要求能要求能够够立即立即查询查询58加工名:加工名:加工加工编编号:反映号:反映该该加工的加工的层层次次简简要描述:加工要描述:加工逻辑逻辑及功能及功能简简述述加工加工逻辑逻辑:简简述加工程序,加工述加工程序,加工顺顺序序执执行行频频率:率:(4)(4)加工加工逻辑词逻辑词条的描述条的描述 59加工逻辑条目举例:加工加工逻辑逻辑名名:登登记报记报名名单单 编编号:号:1 1 激活条件:收到激活条件:收到报报名名单单 加工加工逻辑逻辑:1.1 1.1 检查报检查报名名单单 +1.2 +1.2 编编准考准考证证号号 +1.3 +1.3 登登记记考生考生 执执行行频频率:率:20002000次次/日日60 名称:外部名称:外部实实体名体名 简简要描述要描述:什么外部什么外部实实体体 有关数据流有关数据流:数目数目:(5)(5)外部外部实实体体词词条描述(源点及条描述(源点及终终点点词词条描条描述)述)61数据字典定义符号62例子:n某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符。标识符=字母字符+字母数字串字母数字串=0字母或数字7字母或数字=字母字符数字字符63存折格式64存折存折户户名所号名所号帐帐号开号开户户日期性日期性质质(印密)(印密)11存取行存取行5050户户名名22字母字母2424所号所号“001”.“999”“001”.“999”(注:注:储储蓄所蓄所编码编码,规规定三位数字定三位数字)帐帐号号“00000001”.“99999999”“00000001”.“99999999”(注:注:帐帐号号规规定由八位数字定由八位数字组组成成)开开户户日期年月日日期年月日性性质质“1”.“6”“1”.“6”(注:注:“1”“1”表示普通表示普通户户,“5”“5”表示工表示工资户资户等等)印密印密“0”“0”(注:印密在存折上不注:印密在存折上不显显示示)存取行日期(摘要)支出存入余存取行日期(摘要)支出存入余额额 操作复核操作复核65年年2003200320042004200520052006200620072007月月“01”.“12”“01”.“12”日日“01”.“31”“01”.“31”摘要摘要11字母字母44 (注:表明注:表明该该存取是存?是取?存取是存?是取?还还是是换换?)支出金支出金额额 (注注:金金额规额规定不超定不超过过9999999.999999999.99元元)金金额额“0000000.01”.“9999999.99”“0000000.01”.“9999999.99”操作操作“00001”.“99999”“00001”.“99999”复核复核“00001”.“99999”“00001”.“99999”66加工逻辑说明n对数据流图的每一个基本加工,必须有一个基本加工逻辑说明n阐明把输入数据转换为输出数据的策略,是加工说明的主体,在需求分析阶段,仅需要指出要加工“做什么”。而不是“怎样去做”,n加工逻辑说明的工具:结构化英语,判定表,判定树。67结构化英语(PDL)n n又称又称又称又称过过过过程程程程设计语设计语设计语设计语言,言,言,言,伪码伪码伪码伪码;它是一种介于自然;它是一种介于自然;它是一种介于自然;它是一种介于自然语语语语言与程序言与程序言与程序言与程序设计语设计语设计语设计语言之言之言之言之间间间间的的的的语语语语言。言。言。言。n n语语语语言的言的言的言的正文用基本控制正文用基本控制正文用基本控制正文用基本控制结结结结构构构构进进进进行分割行分割行分割行分割,加工中的,加工中的,加工中的,加工中的操作用自然操作用自然操作用自然操作用自然语语语语言短言短言短言短语语语语来表示来表示来表示来表示n n其基本控制其基本控制其基本控制其基本控制结结结结构有三种:构有三种:构有三种:构有三种:简单陈简单陈简单陈简单陈述句述句述句述句结结结结构构构构:避免复合:避免复合:避免复合:避免复合语语语语句;句;句;句;重复重复重复重复结结结结构构构构:whilewhile_ _dodo 或或或或 repeatrepeat_ _until until 结结结结构。构。构。构。判定判定判定判定结结结结构构构构:if_then_elseif_then_else 或或或或 case_of case_of 结结结结构;构;构;构;68商店业务处理系统中“检查发货单”if if 发货单发货单发货单发货单金金金金额额额额超超超超过过过过$500$500 thenthen if if 欠款超欠款超欠款超欠款超过过过过了了了了6060天天天天 thenthen 在在在在偿还偿还偿还偿还欠款前不予批准欠款前不予批准欠款前不予批准欠款前不予批准 elseelse (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期)发发发发批准批准批准批准书书书书,发货单发货单发货单发货单 elseelse (发货单发货单发货单发货单金金金金额额额额未超未超未超未超过过过过$500$500)if if 欠款超欠款超欠款超欠款超过过过过6060天天天天 thenthen 发发发发批准批准批准批准书书书书,发货单发货单发货单发货单及及及及赊赊赊赊欠欠欠欠报报报报告告告告 else else (欠款未超期)(欠款未超期)(欠款未超期)(欠款未超期)发发发发批准批准批准批准书书书书,发货单发货单发货单发货单 69(2 2)判定表)判定表n n如果数据流如果数据流如果数据流如果数据流图图图图的加工需要依的加工需要依的加工需要依的加工需要依赖赖赖赖于于于于多个多个多个多个逻辑逻辑逻辑逻辑条件的条件的条件的条件的取取取取值值值值,使用判定表来描述比,使用判定表来描述比,使用判定表来描述比,使用判定表来描述比较较较较合适合适合适合适以“检查发货单”为例7071(3)判定树n n判定判定判定判定树树树树也是用来表达加工也是用来表达加工也是用来表达加工也是用来表达加工逻辑逻辑逻辑逻辑的一种工具。的一种工具。的一种工具。的一种工具。有有有有时时时时侯它比判定表更直侯它比判定表更直侯它比判定表更直侯它比判定表更直观观观观。检检查查发发货货单单金金额额$500金金额额$500 欠款欠款60天天不不发发出批准出批准书书 欠款欠款 60天天发货单发货单发发出批准出批准书书、欠款欠款60天天发发出批准出批准书书、发货单发货单及及赊赊欠欠报报告告 欠款欠款 60天天发发出批准出批准书书、发货单发货单723.4数据模型的表示方法:实体-联系图 在数据处理中用数据模型描述客观世界中的事物及其联系。73数据模型中包含3种相互关联的信息:数据对象(实体),数据对象的属性,数据对象间相互连接的关系。74n数据数据对对象象(实实体体):是需被目标系统所理解的复合信息的表示。所谓复合信息是具有若干不同特征或属性的信息。n数据对象可以是外部实体(如显示器),事物(如报表或显示),角色(如教师或学生),行为(如一个电话呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如注册室)或结构(如文件)。n数据对象只封装了数据,没有包含作用于这些数据上的操作。这与面向对象范型中的类和对象不同。具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的一个实例。75n 属性属性:定义了数据对象的特征。它可用来:为数据对象的实例命名;描述这个实例;建立对另一个数据对象的另一个实例的引用。n如学生数据对象的属性可以有学号、姓名、性别、出生年月、籍贯等。为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码(key),书写为_id,例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例。76n关关系系:各个数据对象的实例之间有关联。如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。n实例的关联有三种:一对一(1:1);一对多(1:m);多对多(n:m)。773.4.4 实体联系类型符号表示 n用长方形表示实体型,在框内写上实体名。n用椭圆形表示实体的属性,并用无向边把实体与其属性连接起来。n用菱形表示实体间的联系,菱形框内写上联系名。n用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。若实体之间的联系也具有属性,则把属性和菱形也用无向边连接上。783.4.4 实体联系类型符号表示 79图图3.2 某校教学管理某校教学管理ER图图80举例:用E-R图表示某个工厂的物资管理n涉及的实体:仓库:仓库号,仓库面积,电话号码零件:零件号,名称,规格,单价,描述职工:职工号,姓名,年龄,职称n实体间的联系:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作职工之间具有领导和被领导关系,即仓库主任领导若干保管员81E-R图表示 823.5 数据规范化n软件系统经常使用的信息,通常按一定方式组织并存放在数据库或文件中。n通常用“范式(normal form)”定义消除数据冗余的程度。n常用的范式分为第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。83n判断判断规规范化程度的条件是:范化程度的条件是:1、关系中所有属性都是、关系中所有属性都是“单纯单纯域域”,即不出即不出现现“表中有表表中有表”2、非主属性完全函数依、非主属性完全函数依赖赖于关于关键键字字3、非主属性相互独立,即任何非主、非主属性相互独立,即任何非主属性属性间间不存在函数依不存在函数依赖赖。n如果一个关系如果一个关系连连条件条件 1 都不都不满满足,足,则这则这个关系是非个关系是非规规范化的。范化的。84n n如果一个关系如果一个关系仅满仅满足足条件条件 1,则这则这个关个关系系满满足足第一范式第一范式(1NF)。n n如果一个关系如果一个关系满满足足条件条件 1、2,但不,但不满满足足 3,则这则这个关系个关系满满足足第二范式第二范式(2NF)。n n如果一个关系同如果一个关系同时满时满足足条件条件 1、2和和 3,则这则这个关系表个关系表满满足足第三范式第三范式(3NF)。n n当数据模型达到当数据模型达到 3NF,一般情况下就,一般情况下就能能满满足数据足数据库应库应用的需要。用的需要。853.6 状态转换图n状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此,状态图提供了行为建模机制。861 状态n系统行为模式。状态规定了系统对事件的响应方式。n在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。n状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。2事件n事件就是引起系统做动作或(和)转换状态的控制信息。873 符号图图3.3 状状态图态图中使用的主要符号中使用的主要符号88活动表的语法格式如下:n事件名(参数表)/动作表达式n“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。n活动表中的动作表达式描述应做的具体动作。89事件表达式的语法如下:n事件说明守卫条件动作表达式n事件说明的语法为:事件名(参数表)。n守卫条件是一个布尔表达式。n动作表达式是一个过程表达式,当状态转换开始时执行该表达式。90例子:电话系统的状态图图3.4 电话系统的状态图913.7 其他图形工具1 层次方框图n层次方框图的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。92图图3.5 层层次方框次方框图图的一个例子的一个例子932 Warnier图图图3.6 Warnier图图的一个例子的一个例子943 IPO图nIPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。图图3.8 改改进进的的IPO图图的形式的形式953.8 验证软件需求1 从哪些方面验证软件需求的正确性一般说来,应该从下述4个方面进行验证:n一致性n完整性n现实性n有效性962 验证软件需求的方法1.验证需求的一致性n用形式化的需求陈述语言书写2.验证需求的现实性n分析用现有的软、硬件技术实现目标系统的可能性。3.验证需求的完整性和有效性n开发原型系统973 用于需求分析的软件工具n这类软件工具应该满足下列要求:(1)必须有形式化的语法(或表),因此可以用计算机自动处理使用这种语法说明的内容;(2)使用这个软件工具能够导出详细的文档;(3)必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并且应该能够产生一组报告指明对完整性分析的结果;(4)使用这个软件工具之后,应该能够改进通信状况。983.8 小结n需求分析是发现、求精、建模、规格说明和复审的过程。n与用户通信的几种方法(访谈、数据流自顶向下逐步求精、应用规格说明技术、快速建立软件原型)n结构化分析实质上就是一种建模活动(数据模型、功能模型和行为模型)。n需求规格说明书主要从一致性、完整性、现实性和有效性等4个方面进行复审。99第三章 习题100试题1n某校学籍管理的升留级处理规则如下:如果本学期总分大于等于620分,并且单科全部及格,发布升级通知;如果本学期总分大于等于620分,但单科有不及各,发布升级通知和重修课程通知;如果考试总分小于620分,单科有及格的,发布留级通知和单科免修通知;如果考试总分小于620分,单科全不及格,发布留级通知。根据已知条件画判断树。101102试题2n某高校选课系统要求如下:选课系统对每个学生的选课单进行处理。根据教学计划检查该生是否存在尚未取得学分的必修课程。如果存在,则要求重选。如果课程上课时间不发生冲突,则可以选修,否则根据重修、必修、限选、任选的优先级、删除已选课程,最后产生每个学生的个人课表和每门课程的成绩单。n画数据流图和数据字典103学生选课系统顶层数据流图104学生选课系统第1层数据流图105学生选课系统第2层数据流图106学生选课系统数据字典1.数据流条目nA:选课单选课单学生学号+课程编码nB:学生学号学生学号:由8位数字组成,其中15位为班级号,68位为班内序号,从001开始。nC:合法记录合法记录学生学号+课程
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服