第2章 可行性研究与需求分析.ppt_第1页
第2章 可行性研究与需求分析.ppt_第2页
第2章 可行性研究与需求分析.ppt_第3页
第2章 可行性研究与需求分析.ppt_第4页
第2章 可行性研究与需求分析.ppt_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章可行性研究和需求分析,目 录,2.1 软件的可行性研究 2.2 需求分析 2.3 系统流程图 2.4 数据流图 2.5 数据字典,可行性研究的目的:是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。 可行性研究实质上是要进行一次简化、压缩了的需求分析和设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。,可行性研究,经济可行性 技术可行性 社会可行性 方案的选择,可行性研究四个方面,成本: 购置并安装软、硬件及有关设备的费用; 系统开发费用; 系统安装、运行及维护的费用; 人员培训费用。 效益: 系统为用户增加的收入或为用户节省的开支,这是有形的效益;

2、给潜在用户心理上造成的影响,这是无形的效益。,1 经济可行性,开发的风险分析在给出的各种限制范围内,能否设计出系统,并实现必需的功能和性能? 资源的有效性分析资源分析要考虑可用于开发系统的人员是否存在问题?可用于建立系统的其它资源(硬件、软件)是否具备?,2 技术可行性,2 技术可行性,技术分析 相关技术的发展是否能支持这个系统? 在评估技术可行性时,必须保持冷静的头脑,一旦估计错误,将会出现灾难性的后果。,社会可行性包括法律可行性和用户操作可行性。 法律可行性考虑要开发系统是否存在任何侵犯、妨碍和责任问题。 用户操作可行性考虑待开发软件的运行方式在用户组织内是否行得通,现有管理制度、人员素质

3、、操作方式是否可行。,3 社会可行性,分析员考虑问题解决的方案一般采用将一个大而复杂的系统分解为若干个子系统的办法来降低解的复杂性。 如何进行系统分解、如何定义各子系统的功能、性能和界面,实现方案不唯一。可以采用折衷的方法,反复比较各个方案的成本效益,选择可行的方案。,4 开发方案的选择,1)复查系统规模和目标; 2)研究目前正在使用的系统; 3)导出新系统的高层逻辑模型(数据流图、数据字典); 4)重新定义问题;,应当收集、研究、分析当前系统的文档资料,实地考察现有的系统,在考察的基础上,访问有关人员,描述当前系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。用这个系统流程图来反

4、映当前系统的基本功能和处理流程。,可行性研究的步骤,根据对当前系统的分析研究,逐步明确了新系统的功能、处理流程和应有的约束条件,然后使用建立逻辑模型的工具-数据流图和数据词典来描述数据在系统中的流动和处理情况。 需要注意的是,可行性研究不是需求分析,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。,分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的所有约束和限制,确保分析人员正在解决的问题确实是要解决的问题。,5)导出和评价供选择的解法(物理解决方案); 6)推荐行动方案; 7)书写计划任务书; (可行性论证报告) 系统概述;

5、 可行性分析(报告的主体); 拟定开发计划; 结论意见。 8)书写文档提交审查。 将该报告提交用户和管理部门仔细审查,以决定该软件项目是否可以开发,是否可以接受可行的实现方案。,可行性研究的步骤,根据上述可行性研究的结果,决定该软件项目是否值得开发。若值得开发,确定可行的解决方案,并说明该方案可行的原因和理由。 项目是否值得开发的主要决定因素是从经济上看是否合算,这就要求分析人员对推荐的可行的方案进行成本效益分析。,分析人员建立了目标系统的高层逻辑模型之后,要从技术的角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理模型。根据技术可行性、经济可行性、社会可行性,对各种方案进行评

6、估,去掉不合理的模型,最后得到可行的模型。,成本/效益分析,在对新系统进行成本/效益分析时,还应该考虑货币的时间价值,因为投资是在现在进行的,然而效益确是在未来获得的。 成本/效益分析时一律假设生命周期为5年。,通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元钱,则n年以后可以得到的钱数为: 反之,如果n年后能收入F元钱,那么这些钱现在的价值是:,1)货币的时间价值,例:修改一个已有的库存管理系统,估计需要5000元,系统修改后使用5年,每年可节省2500元。请进行成本/效益分析。,表1:将来的收入折算成现在值,2)投资回收期 例如,修改库存清单系统两年以后可以节省4225

7、.12元,比最初的投资(5000元)还少77488元。 第三年将再节省177945元。 774.881779450.44, 因此,投资回收期是2.44年。,3)纯收入,衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差。 例如,上述修改库存清单系统,工程的纯收入预计是: 9011.9450004011.94(元),准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 需求规格说明书规范的形式准确地表达用户的需求。,2.2 需求分析,什么是用户需求,思考、涉及的几个问题 如何识别、获取需求? 何为需求建模?,需求获取面临

8、的挑战,客户说不清楚需求 需求易变性 问题的复杂性和对问题空间 理解的不完备性与不一致性,需求获取的常用方法,建立分析小组 领域专家: 主角 系统分析员:导演 客户交谈 问题分析与确认,需求分析的任务,1. 确定对系统的综合要求 2. 分析系统的数据要求 3. 导出系统的逻辑模型 4. 修正系统开发计划 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)”,1).功能需求 2).性能需求 如:相应时间(速度)、主存容量、磁盘容量、安全性等。 3).可靠性和可用性需求,1.确定对系统的综合要求,4).出错处理需求 系统发现错误时采取的行动,主要在系统关键部分设置。 5).

9、接口需求 用户接口、硬件接口、软件接口、通信接口等。 6).约束 精度、工具和语言、设计约束、硬件约束、标准等。 7).逆向需求 逆向需求说明软件系统不应该做什么 8).将来可能提出的要求,3.导出系统的逻辑模型 包括完善的数据流图、实体联系图、状态转换图、数据字典、主要的处理算法等。,2. 分析系统的数据要求 通过建立数据模型来分析,如数据字典、层次方框图、Warnier图等,并将数据结构规范化。,4.修正系统开发计划 修订前期制定的开发进度计划等。,开发原型系统,主要目的:使用户通过实践获得未来系统怎样工作的概念,更准确地确定用户需求。 原型策略增加了成本。 但正确地提出用户需求是软件开发

10、工程成功的基础,所以原型系统采用逐渐增多。,需求分析的步骤,1.调查研究 2.问题分析和方案综合 3.书写文档 4.复审,需求分析的过程-1.调查研究,系统分析员协同程序员向用户做需求调查,查阅软件计划中的可行性报告和项目开发计划报告,访问系统现场,并由此确定当前系统必须做什么,并获得当前系统的具体模型,用数据流图或IPO图表示出来。 1)沿数据流图回溯 2)用户复查 追踪数据流图和复查系统的逻辑模型这两步构成一个循环,需求分析的过程-2.分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统中各元素之间的联系、接口特征和设计上的限制,分析它们能否满足功能要求,是否合理。

11、 依据功能需求、性能需求、运行环境需求等,剔除其中不合理的部分,增加其需要的部分。最终综合成系统的解决方案后,给出目标系统的详细逻辑模型。,需求分析的过程-3.编制文档,把分析的结果用正式的文档记录下来,作为最终软件配置的一个组成成分。应该完成下述四份文档资料: 系统规格说明:描绘目标系统、功能、性能、运行要求 数据要求:数据字典、层次方框图、存储信息 用户系统描述:初步用户手册 修正的开发计划:成本、进度估算更准确,需求分析的过程-4.需求分析评审,系统定义的目标是否与用户的要求一致; 系统需求分析阶段提供的文档资料是否齐全; 文档中的所有描述是否完整、清晰、准确反映用户要求; 与所有其它系

12、统成分的重要接口是否都已经描述;,被开发项目的数据流与数据结构是否足够 所有图表是否清楚,在不补充说明时能否理解; 主要功能是否已包括在规定的软件范围之内,是否都已充分说明; 设计的约束条件或限制条件是否符合实际; 开发的技术风险是什么; 是否考虑过软件需求的其它方案; 是否考虑过将来可能会提出的软件需求; 是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;,评审结束应有评审负责人的结论意见及签字。除分析员之外,用户需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作。,2.3 系统流程图,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形

13、式描绘组成系统的每个部件( 程序,文档,数据库,人工过程等 ) 。 系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。 因此,尽管系统流程图的某些符号和程序流程图的符号形式相同,系统流程图 不等于 程序流程图,系统流程图符号,当以概括的方式抽象地描绘一个实际系统时,仅仅使用上图中列出的基本符号就足够了。 当需要更具体地描绘一个物理系统时还需要使用系统符号,利用这些符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。,某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存

14、量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。,例子,反映信息在各部分间流动的情况,该装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT 终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出定货报告。,库存清单系统的系统流程图,图中每个符号用黑盒子形式定义了

15、组成系统的一个部件,然而并没有指明每个部件的具体工作过程; 图中的箭头确定了信息通过系统的逻辑路径。系统流程图的习惯画法是使信息在图中从顶向下或从左向右流动。,2.4 数据流图,面向数据流的需求分析,结构化开发方法Structured Developing Method,是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速,自然和方便。 结构化方法总的指导思想自顶向下、逐步求精。它的基本原则是功能的分解与抽象。 结构化开发方法的组成 结构化程序设计方法 SP法(Structured Program) 结构化设计方法 SD法(Structured Design) 结构化分析方法 SA法

16、(Structured Analysis) SA,SD,SP 法相互衔接,形成了一整套开发方法。,结构化分析方法,结构化分析是面向数据流进行需求分析的方法 结构化分析方法适合于数据处理类型软件的需求分析,模型以数据字典为核心,它描述了软件使用的所有数据对象,围绕核心的是实体关系图、数据流图和状态转换图。,需求分析模型,实体关系图(Entity-Relationship Diagram,ERD) 作为数据建模的基础,描述数据对象及其关系; 数据流图(Data Flow Diagram,DFD) 作为功能建模的基础,描述数据怎样转换以及转换的功能; 状态转换图(State-Transition D

17、iagram,STD) 作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。,从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。 表示系统内部信息的流向,并表示系统的逻辑处理功能。 可以用来表示一个系统或软件在任何层次上的抽象。,数据流图(DFD),数据流图符号,附加符号,数据流是数据在系统内传播的路径,由一组固定的数据项组成。 除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。,1.数据流,加工也称为数据处理,它对数据流进行某些操作或变换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应有编号。,

18、2.加工,数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。,3.数据存储,数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称为外部实体。一般只出现在数据流图的顶层图中。,4.数据源点和终点,对于复杂系统,无法一次描述所有的细节。所以必须用分层的方法,将一个复杂流程图分解成几个流程图分别表示。 数据流图表示方法不唯一。 父图 上层图称为下层图的父图 子图 下层图称为上层图的子图,分层数据流图,顶层,中 间 层,底 层,先全局后局部,先整体后细节,

19、先抽象后具体.,0图,1图,2图,1.1图,2.1图,2.2图,数据流图的绘制,由于习惯的原因,不同的分析员往往采取不同的画法,但是一般都遵循相同的原则,即同层次由外向里、不同层次自顶向下。 在绘制 DFD 时,首先画出系统的输入数据流和输出数据流,也就是先决定系统的范围,然后再考虑系统的内部。同样,对每个处理来说,也是先画出它们的输入输出数据流,再考虑该处理的内部,其基本步骤简述如下:,(1)画系统的输入/输出(顶层数据流图) 先画顶层数据流图,只包含一个加工,用来标识被开发的系统,然后找出系统输入数据源点和输入数据,找出系统数据终点和输出数据 (2)画内部系统(下层数据流图) 从0层图开始

20、编号,按系统功能分解顶层数据流图,按加工分解0层图,依次得到1层图、2层图。数据流的组成和值发生变化的需要设置加工。,绘图步骤,(1)数据流图上所有数据仅限于数据流图基本符号 (2)主图上必须包含前述四种基本元素,缺一不可。 (3)封闭原则 数据流必须封闭在外部实体之间,不允许出现无源的输入数据和无目标的输出数据。,绘图原则,DFD图不是流程图,不表示软件的控制流程。,加工的输入输出数据流要匹配,即每一个加工既有输入数据流又有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。,(4)数据守恒原则,一个处理所产生的某个输出数据在处理变换中既没有被产生,也没有作为输入数据输入到该处理

21、,则该数据一定是在输入过程中被遗漏了。 例如,下图 中“决定比赛名单”这个处理是根据输入“学生名单”和“考试科目”来产生“获奖名单”的,如果“学生名单”和“获奖名单”的组成分别如下: 学生名单 = 专业 + 姓名 + 考试科目 获奖名单 = 考试科目 + 姓名 + 获奖等级 可以发现,“决定比赛名单”这个处理需要输出“获奖等级”数据,但这个处理本身并不产生“获奖等级”,而输入数据中也不包含它。可以肯定,该数据一定是在输入中被遗漏了。,数据流的输入和输出,数据流的检查,如果“学生名单”和“获奖名单”的组成分别如下: 学生名单 = 专业 + 姓名 + 考试科目 获奖名单 = 考试科目 + 姓名 +

22、 获奖等级,自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;尽量避免出现一些加工早巳分解成为基本加工,而另一些加工还需要好多层的分解才能到达基本加工。 分解度:一般每一个加工每次分解最多不要超过个子加工,应分解到基本加工为止。 易理解性:简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。,(5)加工分解的原则,简化加工之间的联系,尽量减少加工之间的联系(数据流),提高加工的独立性。把加工间绝大部分的数据流剥离下来通过文件转达,这样做不但提高了加工的独立性,也使每一加工的数据处理都记录在案,便于查错。局部文件同时起到了隔离错误的作用,所以又称

23、之为隔离文件。,隔离文件的例子,文件的作用,减少加工间直接的数据传输量,提高加工的独立性; 隔离错误; 减小加工间的耦合作用。,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,称这些数据存储为局部数据存储。 画局部数据存储可参考原则: 当数据存储作为某些加工之间的交界面时,数据存储必须画出来;一旦数据存储作为数据流图中的一个独立成份画出来了,那么它同其它成份之间的联系也应同时表达出来。,(6)合理使用数据存储(文件),局部数据存储,加工分解过程中输入与输出不能丢失。应该保证所有输入输出在父层、子层出现一一对应。,(7)子图与父图“平衡”原则,父图与子

24、图的平衡,在层次 DFD 中,父图与子图不平衡的现象极易发生。当子图进行修改时,一定要及时对父图进行相应的修改,以保持平衡。 父图与子图是否平衡,不能仅从形式上看,要考虑其真正的内容。如果父图中有一个输入,而子图中有多个输入,此时看起来似乎不平衡,但是假如父图中的这一输入的成分与子图中多个输入组成的成分相同,也认为是平衡的。,平衡原则,如果,订货单 = 审批报告 + 待审订货单 + 付款单,判断父子平衡,子图与父图不平衡,如果有如下数据条目: 订货单 =客户+帐号+数量 则子、父图平衡,子图的编号是父图相应处理逻辑的编号。 子图处理逻辑的编号由子图号、小数点和局部编号组成。 按层给加工编号,编

25、号表明该加工处于哪一层。 例如第一层图中处理过程的编号为1, 2,;第二层图的编号应是 1.1 , 1.2 ,2.1 ,2.2 ,;依此方法,逐层给处理过程加上层次的序列号。,(8)合理编号,为每个元素取的名字要能够反映该元素的整体内容,无二义性、准确、具体。 (1)通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”),(9)合理命名,(2)为数据流(或数据存储)命名 A名字应该代表整个数据流(或数据存储)的内容; B不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”); C如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据

26、流图的分解不恰当造成的,应该试试重新分解数据流图;,(3)为处理过程命名。 A先命名数据流,再命名处理过程,这样的次序反映了自上而下方法的特性。 例如图 ( a )中,当数据流已经命名后,处理过程 P 的命名可以自然地给予“检查成绩单的合格性”;而图( b )中处理过程已命名,但无法为几个数据流命名。,处理过程的命名,B为处理过程命名时,名字要反映整个处理过程,而不是它的一部分; C应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”; D名字应当是一种“动词 + 宾语”的形式;遇到不能适当命名的处理过程,要考虑重新分解。名字中只需用一个动词,如果必须用两个以上的动词,则应该将它分成几个处理

27、过程。 人的思考过程是一种迭代的过程,不可能一次成功,需要完善,直到满意为止。因此要随时准备放弃原有的 DFD ,用改进的 DFD 来替代,通常画 DFD 需要多次的反复。,分层DFD图的改进,DFD图须经过反复修改,才能获得最终的目标系统 的DFD图。从以下方面改进DFD图: 1、检查数据流的正确性 数据守恒 子图、父图的平衡 文件使用是否合理。特别注意输入/出文件的数 据流。,2、改进DFD图的易理解性 简化加工之间的联系(联系越少,独立性越强, 易理解性越好)。 改进分解的均匀性。 适当命名(各成分名称无二义性,准确、具体),其他图形工具,层次方框图 Warnier图 IPO图,层次方框

28、图用树形结构的一系列多层次的矩形框描绘数据的层次结构。,层次方框图,Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。,Warnier图,IPO图是输入/处理/输出图。,IPO图,(1)对考生送来的报名单进行检查; (2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站; (3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者; (4)制作考生通知单(含成绩合格/不合格标志)送给考生; (5)按地区进行成绩分类统计和试题难度分析,产生分类统计表和难度分析表送考试中心。,实例一 考务处理系统功能,(1)对考生

29、送来的报名单进行检查; (2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站; (3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者; (4)制作考生通知单(含成绩合格/不合格标志)送给考生; (5)按地区进行成绩分类统计和试题难度分析,产生分类统计表和难度分析表送考试中心。,实例一 考务处理系统功能,1.确定系统的输入数据源点和输出数据终点 考生、阅卷站、考试中心 2.找出系统输入数据 考生:报名单、 阅卷站:成绩单 考试中心:合格标准 3.找出系统输出数据 考生:准考证、考生通知单、不合格报名单 阅卷站:考生名单、错误成绩单 考试中心:分

30、类统计表、难度分析表,考务处理系统绘图步骤,顶层数据流图,0层数据流图,一层数据流图 (考前),一层数据流图 (考后),数据字典:在数据流图中所出现的所有被命 名的图形元素,在数据字典中都作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。 数据字典中所有的定义不可有二义性。 数据流图与数据字典共同构成系统的逻辑模型。,2.5 数据字典,数据流图描述了系统的“分解”; 依靠“数据字典”来说明各个成分的含义; 数据流图和数据字典同是“需求说明书”的一部分; 数据流图中出现的每一个数据流名、每一个文件名和每一个加工名在词典中都应该有一个条目给出这个名字的定义。 数据字典是关于数据基本

31、信息的集合,是数据流图的补充工具。,数据字典与数据流图之间关系,数据流条目 数据存储条目 数据项条目 加工条目,需要用数据字典描述的对象,数据流条目主要内容 (1)名称 (2)别名 (3)简述 (4)来源 (5)去向 (6)数据流量 (7)数据流组成,数据流条目,给出了数据流图中数据流的定义,通常列出该数据流的各组成数据项。,1、名称:报名单 2、别名:无 3、简述:考生报名填写的单子 4、来源:考生报送 5、去向:考务处理系统 6、数据流量:200份/天 7、数据流组成:报名单姓名性别年龄+隶属地区+报考专业,例 数据流条目,(1)数据项名称 (2)别名 (3)简述 (4)值类型 (5)长度

32、 (6)取值范围及含义,数据项条目,给出某个数据单项的定义,通常是该数据项的值类型、允许值等。 最小数据单位,不可再分.,1、数据项名称:准考证号 2、别名:无 3、简述:给考生编排的考试座号 4、类型:整形 5、长度:5 6、取值范围及含义: 第1位:123 (福州/厦门/南平) 第25位:0000.9999 (人工编排的号码),例 数据项,(1)数据存储名称 (2)别名 (3)简述 (4)组成 (5)组织方式 (6)查询要求,数据存储条目,给出某个数据存储的定义,数据存储的定义通常是列出数据存储记录的组成数据项。,1、数据存储名称:考生名册 2、别名:无 3、简述:记录考生个人情况和成绩的

33、文件 4、组成:考生名册姓名+性别+年龄+隶属地区+报考专业+准考证号+成绩 5、组织方式:索引文件,以“准考证号”为关键字 6、查询要求:要求能立即查询,例 数据存储,(1)加工名 (2)编号 (3)激发条件 (4)优先级 (5)输入 (6)输出 (7)加工逻辑,加工条目,用来说明DFD中基本加工的处理逻辑,1、加工名:检查报名单 2、编号:1.1 3、激发条件:收到报名单 4、优先级:普通 5、输入:报名单 6、输出:合格报名单、不合格报名单 7、加工逻辑: 判断输入项是否满足书写要求,满足,输出合格报名单,不满足,输出不合格报名单,例 加工条目,描述加工逻辑的方法,描述该加工“做什么”

34、描述方法有: 结构化语言 判定表 判定树,结构化语言是介于自然语言和形式语言之间的一种半形式语言,是自然语言的一个受限制的子集。 一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。,(一) 结构化语言,例如:外层可为以下结构: 1、顺序结构 2、选择结构 IFTHEN-ELSE; CASE-OF-ENDCASE; 3、循环结构 WHILE-DO; REPEAT-UNTIL,考务处理系统“检查报名单” IF 输入项满足书写要求 Then 输出合格报名单 Else 输出不合格报名单 ENDIF,结构化语言 例,“确定能否供货”的加工逻辑:根据库存记录 I

35、F 订单项目的数量 该项目库存量的临界值 THEN 可供货处理 ELSE 此订单缺货,登录,待进货后再处理 ENDIF,结构化语言 例,简单,易学,少二义性。 不好处理组合条件。,结构化语言的特点:,判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较)。 通常有四部分组成:,(二) 判定表,特点:可处理较复杂的组合条件,但不易理解.不易输入计算机。,例如: 对商店每天的营业额所收税率,例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。,判定表应用举例,特点:描述一般组合条件较清晰,易理解。不

36、易输入计算机。,如上例,(三) 判定树,1. 作为分析阶段的重要工具; 2. 数据元素的控制信息非常有用; 3. 有助于开发数据库。,数据字典的用途,实现数据字典: 1)程序处理; 2)卡片式人工书写;,数据字典的实现,数据字典的实现,提倡采用专用的软件工具或者常用的实用程序(如,正文编辑程序、电子表格)来建立数据字典的电子文档,其好处是便于字典条目的检索,字典的管理和维护。 如果数据字典由辅助绘制DFD的工具自动产生的话,那么可以利用数据字典来检查DFD的一致性和完整性,并保持数据字典与DFD的一致。 如果数据字典是由人工制作的,我们可以为每个字典条目制作一张卡片,所有卡片按字典条目的种类(数据流、文件、加工等)分类成册,每类卡片按某种约定排序。,课本实例解析,【例2-1】用数据字典中介绍的符号定义某高校的电话号码 解析:P43 【例2-2】某医院欲建以计算机为中心的患者监护系统,请分层次画出该系统的数据流图。 解析:病房监护系统顶层数据流图参P44图211,病房监护系统0层数据流图参图212。,某订货系统功能说明如下: 假设某一企业采购部门每天需要一张订

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论