1、第第2章章 可行性研究可行性研究2.1 可行性研究的任务可行性研究的任务2.2 可行性研究过程可行性研究过程2.3 系统流程图系统流程图2.4 数据流图数据流图2.5 数据字典数据字典2.6 成本成本/效益分析效益分析2.7 小结小结2022-5-10开始问题定义可性行研究 可行否?项目实施计划 终止项目的建议结束YN问题的定义与可性行研究问题的定义与可性行研究Who为谁设计,用户是谁?为谁设计,用户是谁?What要解决哪些问题?要解决哪些问题?Why为什么要解决这些问题为什么要解决这些问题? ? 有用的软件有用的软件 3W2022-5-102.1 可行性研究的任务可行性研究的任务1.目的:目
2、的: 可行性研究的目的不是解决问题,而是确定问题可行性研究的目的不是解决问题,而是确定问题是否值得去解决。是否值得去解决。用最小的代价在尽可能短的时间内,用最小的代价在尽可能短的时间内,确定问题是否能够解决。确定问题是否能够解决。 可行性研究实质上是进行一次可行性研究实质上是进行一次大大压缩简化了的系统分析和大大压缩简化了的系统分析和设计的过程设计的过程。计计算算机机的的系系统统2022-5-102 2、任务:、任务: 初步确定项目的规模、目标和限制条件,初步确定项目的规模、目标和限制条件,分析员导出系统的逻辑模型。从下述三方面研究分析员导出系统的逻辑模型。从下述三方面研究每种方案的可行性。每
3、种方案的可行性。(1 1)经济可行性:)经济可行性: 进行开发运行维护成本的估算及可能取得效益的评估进行开发运行维护成本的估算及可能取得效益的评估. .确定是否值得投资确定是否值得投资. . 成本包括:成本包括: 购置并安装软、硬件及有关设备的费用;购置并安装软、硬件及有关设备的费用; 系统开发费用;系统开发费用; 系统安装、运行及维护的费用;系统安装、运行及维护的费用; 人员培训费用。人员培训费用。 效益是指:效益是指: 系统为用户增加的收入或为用户节省的开系统为用户增加的收入或为用户节省的开支,这是有形的效益;支,这是有形的效益; 给潜在用户心理上造成的影响,给潜在用户心理上造成的影响,这
4、是无形的效益。它可以转化为有形的效益。这是无形的效益。它可以转化为有形的效益。 2022-5-102 2、任务:、任务:(2 2)技术可行性:)技术可行性: 进行技术风险评价进行技术风险评价。从开发者的技术实力、以往工作基础、从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。用等限制条件下成功的可能性。2022-5-10(3) (3) 操作可行性:操作可行性: 1 1)运行可行性:)运行可行性:判断新系统的运行方式是否可行判断新系统的运行方式是否可行, ,即用户使用可即用户使用可行性:行性: 用户单
5、位的行政管理,工作制度用户单位的行政管理,工作制度 。 使用人员的素质。使用人员的素质。 2 2)时间进度可行性:)时间进度可行性:3 3)法律可行性:)法律可行性: 分析在系统开发的全部过程中可能出现和涉及的分析在系统开发的全部过程中可能出现和涉及的法律问题,如合同、责任、知识产权、专利等问题。法律问题,如合同、责任、知识产权、专利等问题。2022-5-103 3、时间、成本、时间、成本 可行性研究需要的时间长短取决于工程的规可行性研究需要的时间长短取决于工程的规模。一般说来,模。一般说来,可行性研究的成本可行性研究的成本只是预期的工只是预期的工程程总成本的总成本的5%5%10%10%。 可
6、行性研究可行性研究最根本的任务是对以后的行动方针最根本的任务是对以后的行动方针提出建议提出建议。 如果问题如果问题没有可行的解没有可行的解,分析员应该建议,分析员应该建议停止停止这项开发工程,以避免时间、资源、人力和金钱这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题的浪费;如果问题值得解值得解,分析员应该分析员应该推荐一个推荐一个较好的解决方案,较好的解决方案,并且为工程并且为工程制定一个初步的计制定一个初步的计划。划。2022-5-102.2 可行性研究过程可行性研究过程实例:实例: 小型图书资料管理系统小型图书资料管理系统 - - 某学院打算开发一个小型图书资料管理系统某学院打
7、算开发一个小型图书资料管理系统 MiniLibraryMiniLibrary,该,该 系统基于系统基于Internet Internet 实现实现教师教师和和学生学生对对各种图书资料的各种图书资料的借阅借阅、查查 询询和和管理管理。- - 图书图书管理管理员员负责负责管理管理各种图书资料,各种图书资料,查询查询图书资料信息,图书资料信息,并并 进行图书的借阅管理。进行图书的借阅管理。- - 注册用户注册用户可以通过可以通过Internet Internet 随时查询随时查询图书资料信息和个人借阅图书资料信息和个人借阅 情况情况,预订预订目前借不到的图书资料,并可以快捷地查目前借不到的图书资料,
8、并可以快捷地查找和浏找和浏 览所需要的电子资料。览所需要的电子资料。- - 系统系统可以提供适可以提供适当的浏览器供用户阅读电子文献资料。当的浏览器供用户阅读电子文献资料。- - 要求要求用用户界面户界面友好,响应速度快,具有良好的可扩展性友好,响应速度快,具有良好的可扩展性 。 此系统将有在校学生开发。此系统将有在校学生开发。 2022-5-102.2 可行性研究过程可行性研究过程典型的可行性研究过程一般按下述步骤做典型的可行性研究过程一般按下述步骤做:第一步:确定、复查系统规模和目标第一步:确定、复查系统规模和目标 分析员访问关键人员,仔细阅读和分析有关的材料,改正含糊或不确切分析员访问关
9、键人员,仔细阅读和分析有关的材料,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。的叙述,清晰地描述对目标系统的一切限制和约束。第二步:研究目前正在使用的系统第二步:研究目前正在使用的系统需研究现有的系统以下几方面内容:需研究现有的系统以下几方面内容:(1 1)新系统必须能完成)新系统必须能完成现有的系统现有的系统的基本功能;的基本功能;(2 2)新系统能解决旧系统中存在的问题。)新系统能解决旧系统中存在的问题。(3 3)从经济角度分析新旧系统。)从经济角度分析新旧系统。(4 4)画出描绘现有系统的高层系统流程图)画出描绘现有系统的高层系统流程图。(5 5)了解并记录现有系统和其
10、他系统之间的接口情况,)了解并记录现有系统和其他系统之间的接口情况,这这是设计新系统时的重要约束条件是设计新系统时的重要约束条件。2022-5-10实例实例: : 小型图书资料管理系统小型图书资料管理系统 1 1在分析系统功能时要考虑有关人员的合法性验在分析系统功能时要考虑有关人员的合法性验证(如学生学号、借书证)等。证(如学生学号、借书证)等。2 2对于本系统还应补充一下功能:对于本系统还应补充一下功能: 延误还书时间的处理延误还书时间的处理 书遗失或破损的处理书遗失或破损的处理 电子文献资料的管理等电子文献资料的管理等3 3系统的外部输入项至少包括:图书管理员、本系统的外部输入项至少包括:
11、图书管理员、本院学生、老师等。院学生、老师等。2022-5-10第三步:导出新系统的高层逻辑模型第三步:导出新系统的高层逻辑模型 1. 1.画出高层次系统图画出高层次系统图, ,描述系统主要功能描述系统主要功能 2. 2.使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。表达出他对新系统的设想。 3. 3.有一个初步的数据字典,定义系统中使用的数据。有一个初步的数据字典,定义系统中使用的数据。 数据流图和数据字典共同定义了新系统的逻辑模型数据流图和数据字典共同定义了新系统的逻辑模型. .第四步:进一步定义
12、问题第四步:进一步定义问题 分析员应该和用户一起再次复查问题定义、工程规模和目标,分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。这次复查应该把数据流图和数据字典作为讨论的基础。 可行性研究的可行性研究的前前4 4个步骤实质上构成一个循环个步骤实质上构成一个循环。直到提。直到提出的逻辑模型完全符合系统目标。出的逻辑模型完全符合系统目标。2022-5-10第五步:导出和评价供选择的解法第五步:导出和评价供选择的解法1 1)从)从技术技术角度考虑解决问题的不同方案。角度考虑解决问题的不同方案。 2 2)考虑)考虑操作操作方面的可行性。方面的可行
13、性。 3 3)考虑)考虑经济经济方面的可行性。方面的可行性。 4 4)为每个在技术、操作和经济等方面都)为每个在技术、操作和经济等方面都可行的系统制定实现可行的系统制定实现进度表进度表。通常只需要估计生命周期每个阶段的工。通常只需要估计生命周期每个阶段的工作量。作量。第六步:推荐行动方针第六步:推荐行动方针 分析员做出决定是否可以进行这个项目开发分析员做出决定是否可以进行这个项目开发. .不可以开发应充分说不可以开发应充分说明理由明理由. . 如果分析员认为值得继续进行这项开发工程,那么他应该如果分析员认为值得继续进行这项开发工程,那么他应该选择一种选择一种最好的解法最好的解法,并且说明选择这
14、个,并且说明选择这个解决方案的理由解决方案的理由。2022-5-10第七步:草拟开发计划第七步:草拟开发计划 1. 1.制定工程进度表制定工程进度表 2.2.估计对各类开发人员和各种资源的需要情况,估计对各类开发人员和各种资源的需要情况,使用时间。使用时间。3.3.估计系统生命周期每个阶段的成本。估计系统生命周期每个阶段的成本。4.4.给出下一个阶段给出下一个阶段( (需求分析需求分析) )的详细进度表和成本估计。的详细进度表和成本估计。第八步:书写可行性研究报告提交审查第八步:书写可行性研究报告提交审查 按照标准按照标准书写清晰可行性研究报告书写清晰可行性研究报告文档,请用户、客户组织的负文
15、档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案的方案。2022-5-102022-5-102022-5-102022-5-102.3 系统流程图系统流程图1 1、系统流程图、系统流程图定义定义: : 可行性研究的主要工具可行性研究的主要工具概括地描绘物理系统概括地描绘物理系统。作用作用: : 它是用图形符号(以黑盒子形式)描绘组成系统的它是用图形符号(以黑盒子形式)描绘组成系统的各个元素各个元素( (程序,文档,数据库,人工过程等程序,文档,数据库,人工过程等) )和信息在这些和信息在这些元
16、素之间的流动情况。元素之间的流动情况。2 2、系统流程图和程序流程图的相同与不同、系统流程图和程序流程图的相同与不同相同:相同:系统流程图的某些符号和程序流程图的符号形式相同。系统流程图的某些符号和程序流程图的符号形式相同。不同:不同:系统流程图表达的是数据在系统各部件之间流动的情系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。况,而不是对数据进行加工处理的控制过程。是物理数据流是物理数据流图图而而不是程序流程图不是程序流程图。2022-5-102.3.1 符号符号 当以当以概括的方式概括的方式抽象地描绘一个实际系统时,仅仅使用图抽象地描绘一个实际系统时,
17、仅仅使用图2.12.1中列出的中列出的5 5个个基本符号基本符号就足够了。就足够了。图2.1 基本符号2022-5-10 - 具体地描绘一个物理系统所用符号具体地描绘一个物理系统所用符号系统符号系统符号图2.2 系统符号当需要更具体地描绘一个物理系统时,还需要使用图2.2中列出的11个系统符号。2022-5-102.3.2 例子例子某装配厂有一座存放零件的仓库,仓库中现有的某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量各种零件的数量以及每种零件的以及每种零件的库存量临界值库存量临界值等等数据记录在数据记录在库存清单主文件库存清单主文件中。当仓库中零件数中。当仓库中零件数量有量有变化时
18、变化时,应该及时,应该及时修改库存清单主文件修改库存清单主文件,如,如果哪种零件的库存量果哪种零件的库存量少于它的库存量临界值少于它的库存量临界值,则,则把必要的把必要的定货信息定货信息写在磁带写在磁带上上报告报告给采购部门以给采购部门以便定货,规定便定货,规定每天每天向采购部门送一次定货报告。向采购部门送一次定货报告。 根据业务现状进一步分析整理如下根据业务现状进一步分析整理如下:1 1、该厂使用、该厂使用一台一台服务器服务器处理更新处理更新库存清单库存清单主文件主文件和和产生定货报告产生定货报告的任的任务。务。2 2、零件库存量的、零件库存量的每一次变化每一次变化,由放在仓库中的,由放在仓
19、库中的PCPC机输入机输入到计算机中;到计算机中;3 3、系统中的、系统中的库存清单库存清单程序程序对出入库进行对出入库进行处理,更新存储处理,更新存储在磁盘上的在磁盘上的库存清单库存清单主文件主文件,并且把必要的,并且把必要的定货信息定货信息写在磁带写在磁带上。上。4 4、最后,每天由、最后,每天由报告生成报告生成程序程序读一次磁带,并且打印读一次磁带,并且打印出定货报告出定货报告。2022-5-10部件:部件:包括程序、文档、数据库、人工过程等包括程序、文档、数据库、人工过程等n程序:更新库存清单程序程序:更新库存清单程序 产生定货报告程序产生定货报告程序n文档:定货报告文档:定货报告n数
20、据:磁盘上的库存清单主文件数据:磁盘上的库存清单主文件 磁带上的定货信息磁带上的定货信息 CRT终端输入事务终端输入事务n人工过程:无人工过程:无2022-5-10信息从顶向下信息从顶向下 或从左向右流动或从左向右流动图图2.3 库存清单系统的系统流程图库存清单系统的系统流程图图图2.32.3系统流程图描绘了上述系统的概貌。图中每个符号系统流程图描绘了上述系统的概貌。图中每个符号用黑盒子形式定义了组成系统的每个部件,并用黑盒子形式定义了组成系统的每个部件,并没有指明没有指明每每个部件的个部件的具体工作过程具体工作过程;图中的箭头;图中的箭头确定确定了信息通过了信息通过系统系统的逻辑路径的逻辑路
21、径。2022-5-102.3.3 分层分层n首先用一张高层次首先用一张高层次的系统流程图描绘的系统流程图描绘系统总体概貌,表系统总体概貌,表明系统的关键功能;明系统的关键功能;n然后分别把每个关然后分别把每个关键功能扩展到适当键功能扩展到适当的详细程度,画在的详细程度,画在单独的一页纸上。单独的一页纸上。 更新库存清单更新库存清单产生定货报告产生定货报告定货信息定货信息第一层:描绘系统关键功能第一层:描绘系统关键功能(仅用基本符号)(仅用基本符号)2022-5-10第二层:扩展系统关键功能第二层:扩展系统关键功能 2022-5-10第三层:合成后的系统流程图第三层:合成后的系统流程图2022-
22、5-10例例2:教材销售系统:教材销售系统 人工教材销售系统:先找系办公室开购书人工教材销售系统:先找系办公室开购书申请,凭申请找教材科开购书证明,向出申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找纳员交付书款获得领书单,然后到书库找保管员领书。保管员领书。2022-5-10人工教材销售的系统流程图人工教材销售的系统流程图2022-5-10 计算机教材销售系统计算机教材销售系统:由计算机实现有效:由计算机实现有效性审查(不该购买或已卖完的教材),收性审查(不该购买或已卖完的教材),收书款和发书仍由人工完成。开购书申请和书款和发书仍由人工完成。开购书申请和购书证明可一步
23、完成,增加缺书统计和采购书证明可一步完成,增加缺书统计和采购功能。购功能。2022-5-10计算机计算机教材销售的系统流程图教材销售的系统流程图2022-5-10 练习:练习: 为方便储户,某银行拟开发计算为方便储户,某银行拟开发计算机取款系统。储户填写的取款单由业机取款系统。储户填写的取款单由业务员键入系统,系统计算利息并印出务员键入系统,系统计算利息并印出利息清单给储户。利息清单给储户。 请画出系统流程图请画出系统流程图2022-5-10实例实例: 机票预定系统机票预定系统系统简介系统简介 山东航空公司为给旅客乘机提供方便,需要山东航空公司为给旅客乘机提供方便,需要开发一个开发一个旅行社旅
24、行社机票预定系统。机票预定系统。 各个旅行社各个旅行社把预定机票把预定机票信息输入到系统中信息输入到系统中,系,系统为旅客统为旅客安排航班安排航班。 当旅客交付了预订金后,系统当旅客交付了预订金后,系统打印打印出取票通知出取票通知和帐单给和帐单给旅客旅客,旅客在飞机,旅客在飞机起飞前一天起飞前一天凭取票通凭取票通知和帐单交款知和帐单交款取票取票,系统核对无误即,系统核对无误即打印出机票打印出机票给旅客给旅客。请画出系统流程图请画出系统流程图2022-5-10注意:系统流程图与注意:系统流程图与程序流程图程序流程图是不同的是不同的2022-5-10程序流程图采用的符号2022-5-102022-
25、5-10 2.4 2.4 数据流图数据流图 DFD - Data Flow Diagram一种图形化技术,它描绘信息流和数据从一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,在数据流图中没有任何具体的物理部件,它只是描绘它只是描绘数据数据在在软件软件中流动和被处理的中流动和被处理的逻辑过程,是逻辑过程,是系统逻辑功能系统逻辑功能的图形表示。的图形表示。设计数据流图时只需考虑系统必须完成的设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体基本逻辑功能,完全不需要考虑怎样具体地实现
26、这些功能,所以它也是今后进行软地实现这些功能,所以它也是今后进行软件设计的很好的出发点。件设计的很好的出发点。2022-5-10 数据流图四种基本符号数据流图四种基本符号处或或或或或或2022-5-10n数据源点数据源点/终点:终点:通常是人或部门,可重复表通常是人或部门,可重复表示;示;n处理:处理:一个处理框可以代表一系列程序、单个一个处理框可以代表一系列程序、单个程序或程序的一个模块;程序或程序的一个模块; n数据存储:数据存储:可以表示一个文件、文件的一部分、可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是数据库的元素或记录的一部分等,数据存储是处于静止状态的数
27、据;处于静止状态的数据; n数据流:数据流:描绘描绘所有可能所有可能的数据流向,而不应该的数据流向,而不应该描绘出现某个数据流的条件描绘出现某个数据流的条件 ,数据流是处于,数据流是处于运动中的数据。运动中的数据。2022-5-10数据流图几种数据流图几种附加符号:附加符号: 星号(星号(*):表示):表示“与与”关系关系2022-5-10 加号(加号(+):表示):表示“或或”关系关系2022-5-10 异或(异或( ):表示互斥关系):表示互斥关系2022-5-102.4 2.4 数据流图(数据流图(DFD-Data Flow Diagram)DFD-Data Flow Diagram)2
28、022-5-10(2)先确定外部项)先确定外部项 就是整个系统的数据来源点和去向点,确定了外部项也就确定了就是整个系统的数据来源点和去向点,确定了外部项也就确定了系统与外部的分界。系统与外部的分界。(3)找出系统主要的逻辑处理是什么功能。)找出系统主要的逻辑处理是什么功能。(4)找出系统正常运行的输入流和输出流是什么,并详细列出。)找出系统正常运行的输入流和输出流是什么,并详细列出。(5)确定存储的数据文件名称,并详细列出。根据数据组织编写数据)确定存储的数据文件名称,并详细列出。根据数据组织编写数据流与数据文件所对应的数据字典流与数据文件所对应的数据字典DD(Data Dictionary)
29、。(6)自左向右、自顶向下,分层画出)自左向右、自顶向下,分层画出DFD及对应的及对应的DD。(7)避免数据流的交叉。)避免数据流的交叉。(8)先画草图,反复征求意见,定稿,并签字。)先画草图,反复征求意见,定稿,并签字。(9)对于复杂的系统)对于复杂的系统DFD可分层画出。可分层画出。 3、用途(目的)用途(目的) 作为交流信息的工具作为交流信息的工具 作为分析和实际的工具作为分析和实际的工具2022-5-10 “先全局后局部先全局后局部, ,先整体后细节先整体后细节, ,先抽象后具体先抽象后具体” 通常可将这种分层的通常可将这种分层的DFDDFD图图, ,分为顶层、中间层、底层。分为顶层、
30、中间层、底层。 具体步骤:具体步骤: 1 1。先确定系统范围,画出顶层的。先确定系统范围,画出顶层的DFDDFD图。图。 2 2。逐层分解顶层。逐层分解顶层DFDDFD图,获得若干中间层图,获得若干中间层DFDDFD图。图。 3 3。画出底层的。画出底层的DFDDFD图。图。 画分层画分层DFDDFD图的方法图的方法 顶层图说明了系统的边界顶层图说明了系统的边界, ,即系统的输入和输出数据即系统的输入和输出数据流,流,顶层图只有一张顶层图只有一张。底层图由一些不能再分解的加工。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为组成,这些加工都已足够简单,称为基本加工基本加工。在顶层。
31、在顶层和底层之间的是中间层。中间层的数据流图描述了某个和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。加工的分解,而它的组成部分又要进一步分解。 画各层画各层DFDDFD图时,图时,“由外向内由外向内”。2022-5-10 先全局后局部先全局后局部, ,先整体后细节先整体后细节, ,先抽象后具体先抽象后具体. .2022-5-102022-5-10- 系统系统逻辑逻辑模型模型2022-5-102022-5-10举例举例 2022-5-10外部实体外部实体2022-5-10 F1书号书号单价单价数量数量2022-5-102022-5-10 - - - -
32、 DFD 2022-5-10合理使用文件合理使用文件 当文件作为某些加工之间的交界面时,文件必须画当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。了,那么他同其他成份之间的联系也应同时表达出来。DFDDFD图不是流程图图不是流程图, ,不表示软件的控制流程。不表示软件的控制流程。子图与父图的子图与父图的“平衡平衡”父图中某个加工的输入输出数据流应该同相应的父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同子图的输入输出相同( (相对应),分层数据
33、流图的这种相对应),分层数据流图的这种特点称为子图与父图特点称为子图与父图“平衡平衡”。2022-5-10DFDDFD 2022-5-10 DFD DFD 2022-5-10DFDDFD 2022-5-102.4.2 例子例子例例1: 假设假设采购部采购部每天需要一张每天需要一张定货报表定货报表,报,报表按零件编号排序,表中列出所有需要再次表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,定货的零件。对于每个需要再次定货的零件,应该列出下述数据:应该列出下述数据:零件编号,零件名称,零件编号,零件名称,定货数量,目前价格,主要供应者,次要供定货数量,目前价格,主要供
34、应者,次要供应者应者。零件入库或出库称为。零件入库或出库称为事务事务,通过放在,通过放在仓库中的仓库中的CRT终端终端把把事务事务报告给定货系统。报告给定货系统。当某种零件的当某种零件的库存量库存量少于少于库存量的临界值库存量的临界值时,时,就应该再次定货。就应该再次定货。2022-5-10画数据流图的步骤:画数据流图的步骤:1. 从问题描述中提取数据流图的从问题描述中提取数据流图的4种成分种成分 数据的源点数据的源点/终点终点 “通过放在仓库中的通过放在仓库中的CRT终端把事务报告给定终端把事务报告给定货系统货系统”仓库管理员是数据源点;仓库管理员是数据源点; “采购部每天需要一张定货报表采
35、购部每天需要一张定货报表”采购员采购员是数据终点。是数据终点。 处理处理 “采购部需要报表采购部需要报表”,产生报表;产生报表; 事务的后果是改变零件库存量,因此对事务进事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理行的加工是另一个处理处理事务。处理事务。2022-5-10 数据流:数据流: “系统把定货报表送给采购部系统把定货报表送给采购部”定货报表;定货报表; “事务需要从仓库送到系统中事务需要从仓库送到系统中”事务。事务。 数据存储:数据存储: 处理事务和产生报表这两个处理在时间上明显处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存不匹配,用
36、来产生定货报表的定货信息必须存放一段时间放一段时间定货信息;定货信息; 零件库存量和库存量临界值需要存储零件库存量和库存量临界值需要存储库存库存清单。清单。2022-5-10源点:源点:仓库管理员仓库管理员终点:终点:采购员采购员处理:产生报表、处理事务处理:产生报表、处理事务数据流:数据流:定货报表定货报表事务事务零件编号零件编号零件名称零件名称定货数量定货数量目前价格目前价格主要供应者主要供应者次要供应者次要供应者零件编号零件编号*事务类型事务类型数量数量*数据存储:数据存储:定货信息定货信息同定货报表同定货报表库存清单库存清单*零件编号零件编号*库存量库存量库存量临界值库存量临界值202
37、2-5-102. 画基本系统模型画基本系统模型由若干个数据源点由若干个数据源点/终点和一个处理组成。终点和一个处理组成。图图2.5定货系统的基本系统模型定货系统的基本系统模型2022-5-103. 细化,描绘系统的主要功能(功能级数据流图)细化,描绘系统的主要功能(功能级数据流图)图图2.6定货系统的功能级数据流图定货系统的功能级数据流图2022-5-104. 对系统主要功能进一步细化对系统主要功能进一步细化图图2.7把处理事务的功能进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图2022-5-10细化时注意:细化时注意:当进一步分解涉及如何具体的实现一个功当进一步分解涉及如何具体
38、的实现一个功能时就不应该再分解了。能时就不应该再分解了。当对数据流图分层细化时必须保持信息连当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出系列处理时,分解前和分解后的输入输出数据流必须相同。数据流必须相同。注意注意对处理进行编号的方法。对处理进行编号的方法。 2022-5-102.4.3 命名命名 1. 为数据流为数据流(或数据存储或数据存储)命名命名 1)完整性;)完整性;名字应代表整个数据流(或数名字应代表整个数据流(或数据存储的内容,而不是仅仅反映它的某些据存储的内容,而不是仅仅反映它的某些
39、成分。成分。 2)具体性;)具体性;不要使用空洞的、缺乏具体含不要使用空洞的、缺乏具体含义的名字(如:数据、信息、输入之类)义的名字(如:数据、信息、输入之类) 3)起名字遇到了困难时,试试重新分解。)起名字遇到了困难时,试试重新分解。 2022-5-102. 为处理命名为处理命名 1)通常先为数据流命名,然后再为与之相关联通常先为数据流命名,然后再为与之相关联的处理命名;的处理命名; 2)完整性;名字应该反应整个处理的功能,而完整性;名字应该反应整个处理的功能,而不是它的一部分功能。不是它的一部分功能。 3)及物动词及物动词+宾语,具体性;宾语,具体性; 4)通常名字中仅包括一个动词,否则进
40、行分解;通常名字中仅包括一个动词,否则进行分解; 5)命名时遇到困难,应考虑重新分解。命名时遇到困难,应考虑重新分解。3. 为数据源点为数据源点/终点命名终点命名 采用它们在问题域中习惯的名字。采用它们在问题域中习惯的名字。 2022-5-102.4.4 用途用途 作为交流信息的工具作为交流信息的工具 供有关人员审查确认供有关人员审查确认 供用户理解和评价供用户理解和评价 数据流图应该分层,超过数据流图应该分层,超过9个时应该画分图个时应该画分图 作为分析和设计的工具作为分析和设计的工具 描绘系统所完成的功能描绘系统所完成的功能 辅助物理系统的设计时,以定时要求为指南,画辅助物理系统的设计时,
41、以定时要求为指南,画出许多组自动化边界,对应不同的物理系统。出许多组自动化边界,对应不同的物理系统。 导出更详细的设计步骤导出更详细的设计步骤面向数据流的设计方面向数据流的设计方法法 2022-5-10以批量方式更新库存清单以批量方式更新库存清单2022-5-10以联机方式更新库存清单以联机方式更新库存清单2022-5-102022-5-102022-5-10例例2:高考录取统分子系统高考录取统分子系统 功能如下:功能如下: (1) 计算标准分计算标准分根据根据考生考生原始分原始分计计算算标准分标准分,存入,存入考生分数文件考生分数文件; (2) 计算录取线分计算录取线分根据标准分和根据标准分
42、和招招生计划文件生计划文件中的中的招生人数招生人数,计算,计算录取线分录取线分,存入存入录取线文件录取线文件。 2022-5-101. 提取数据流图的四种成分提取数据流图的四种成分 数据源点和终点:数据源点和终点:考生考生 处理:处理:(1) 计算标准分计算标准分 (2) 计算录取线分计算录取线分 数据存储:数据存储:(1) 考生分数文件考生分数文件 (2) 招生计划文件招生计划文件 (3) 录取线文件录取线文件 数据流:数据流:原始分;标准分;原始分;标准分; 招生人数;录取线分招生人数;录取线分 2022-5-102. 画基本数据流图画基本数据流图2022-5-103. 画功能级数据流图画
43、功能级数据流图 2022-5-10例例3:教材销售系统:教材销售系统 人工:人工:先找系办公室开购书申请,凭申请先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书。获得领书单,然后到书库找保管员领书。 计算机:包括计算机:包括销售销售和和采购采购两大功能。两大功能。 销售时,根据销售时,根据学生用书表学生用书表和和教材库存清单教材库存清单对对购购书单书单进行有效性审查,通过审查后得到进行有效性审查,通过审查后得到有效购有效购书单书单,并将,并将缺书信息缺书信息写入写入缺书表缺书表。交完款后开。交完款后开领书单
44、,根据领书单更新教材库存清单。领书单,根据领书单更新教材库存清单。 采购时,将缺书表中的信息汇总生成采购时,将缺书表中的信息汇总生成采购单采购单,新书进库时更新教材库存清单。新书进库时更新教材库存清单。2022-5-10人工教材销售系统的数据流图人工教材销售系统的数据流图2022-5-10基本数据流图基本数据流图2022-5-10功能级数据流图功能级数据流图2022-5-10销售功能细化的数据流图销售功能细化的数据流图2022-5-10采购功能细化的数据流图采购功能细化的数据流图2022-5-10 银行计算机储蓄系统的工作过程大致如银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单
45、由业务下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存员键入系统,如果是存款则系统记录存款人姓名、住址、身份证号码等存款信款人姓名、住址、身份证号码等存款信息,并打印出存款存单给储户;如果是息,并打印出存款存单给储户;如果是取款且存款时留有密码,则系统首先核取款且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留对储户密码,若密码正确或存款时未留密码,则系统计算利息并打印出利息清密码,则系统计算利息并打印出利息清单给储户。单给储户。 要求:用数据流图描绘本系统的功能。要求:用数据流图描绘本系统的功能。作业1:2022-5-10作业作业1 1解析解析计算机储蓄系统
46、数据流图2022-5-10考虑一个修改磁带上主文件的系统。文件管理员把考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息顺序排列好。然后系统息并按照记录号把修改信息顺序排列好。然后系统逐个读入主文件上的记录,根据记录上的校验码核逐个读入主文件上的记录,根据记录上的校验码核对每个读入的记录,丢掉出错的记录,按照修改信对每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。息修改余下的记录,产生的新文件存储在磁盘上。最后系统输出一份修改报告供文件管理员参阅。最后
47、系统输出一份修改报告供文件管理员参阅。要求:分层次的画出上述要求:分层次的画出上述主文件修改系统主文件修改系统的数据流的数据流图。图。( (基本系统模型基本系统模型+ +功能级数据流图功能级数据流图) )作业2:2022-5-10作业作业2 2解析解析主文件修改系统的基本系统模型2022-5-10作业作业2 2解析解析主文件修改系统的功能级数据流图2022-5-10 某医院打算开发一套以计算机为中心的患者某医院打算开发一套以计算机为中心的患者监护系统。监护系统。该系统的基本要求是该系统的基本要求是:系统随时接:系统随时接收每个病人的生理信号(脉搏、体温、血压、收每个病人的生理信号(脉搏、体温、
48、血压、心电图等),定时记录病人情况以形成患者日心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人士在需要时还可以要求系统印出某个指定病人的病情报告。的病情报告。 要求:要求:用数据流图描绘本系统的功能。用数据流图描绘本系统的功能。 ( (基本系统模型基本系统模型+ +功能级数据流图功能级数据流图) )作业3:2022-5-10患者监护系统的基本系统模型作业作业3 3解析解析2022-5-10患者监护系统的功
49、能级数据流图作业作业3 3解析解析2022-5-102.5 2.5 数据字典数据字典 & & 用途用途 - - DDDD(DataData Dictionary Dictionary) 数据流图数据流图和和数据字典数据字典共同构成系统的逻辑共同构成系统的逻辑模型。模型。 没有数据字典数据流图就不严格,没有数据流图没有数据字典数据流图就不严格,没有数据流图 数据字典也难于发挥作用。数据字典也难于发挥作用。 数据字典的任务是数据字典的任务是: : 对于数据流图中出现对于数据流图中出现的所有被命名的图形元素在字典中作为一个词的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字
50、都有条加以定义,使得每一个图形元素的名字都有一个确切的解释。一个确切的解释。2022-5-102022-5-102.5.2 定义数据的方法:定义数据的方法: 方法方法:对数据进行自顶向下的分解。:对数据进行自顶向下的分解。 数据元素组成数据的方式的数据元素组成数据的方式的基本类型基本类型有:有: (1)顺序顺序:按次序连接两个或多个分量。:按次序连接两个或多个分量。 (2)选择选择:从两个或多个元素中选一个。:从两个或多个元素中选一个。 (3)重复重复:指定的分量重复零次或多次。:指定的分量重复零次或多次。 (4)可选可选:一个分量可有可无的(重复零次或一次)。:一个分量可有可无的(重复零次或