




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析第二章可行性研究2.1可行性研究的任务1可行性研究开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。可行性研究开发一个基于计算机的系统通常都受到资源(人力、财力2开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YN问题的定义与可性行研究Who
为谁设计,用户是谁?What
要解决哪些问题?Why
为什么要解决这些问题
有用的软件
3W开始问题定义可性行研究可行否?项目实施计划终止项目的建议Y3可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。可行性研究目的:4可行性研究的目的说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
(GB8567-88《计算机软件产品开发文件编制指南》)可行性研究的目的说明该软件开发项目的实现在技术上、经济52.1可行性研究的任务GB8566-88《计算机软件开发规范》中指出:
可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”可行性研究的最根本任务是:对以后的行动方针提出建议。2.1可行性研究的任务GB8566-88《计算机软件6可行性研究的内容(1)技术可行性(2)经济可行性(3)操作可行性(4)社会可行性(法律可行性)(5)抉择可行性研究的内容(1)技术可行性7经济可行性度量系统解决方案的性能价格比。考虑的问题:成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡经济可行性度量系统解决方案的性能价格比。8技术可行性分析技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。技术可行性分析技术可行性主要根据系统的功能、性能、约束条件等9风险分析:分析在给定的约束条件下设计和实现系统的风险。采用不成熟的技术可能造成技术风险人员流动可能给项目带来风险成本和人员估算不合理造成的预算风险风险分析的目的是找出风险,评价风险的大小,并有效地控制和缓解风险。风险分析:分析在给定的约束条件下设计和实现系统的风险。10资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资源和相应的工作环境。例如,有一支开发过类似项目的开发和管理的团队,或者开发人员比较熟悉系统所处的领域,并有足够的人员保证,所需的硬件和支撑软件能通过合法的手段获取,那么从技术角度看,可以认为具备设计和实现系统的条件。资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资11技术分析:分析当前的科学技术是否支持系统开发的各项活动。在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程,从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。技术可行性分析时通常需进行系统建模,必要时可建造原型和进行系统模拟技术分析:分析当前的科学技术是否支持系统开发的各项活动。12社会可行性(法律可行性)
开发项目是否会在社会上或政治上引起侵权、破坏或其它责任问题。社会可行性(法律可行性)开发项目是否会在社会上或政治上13法律可行性分析研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。1991年国务院颁布了《计算机软件保护条例》。这两个法律文件是法律可行性分析的主要依据。法律可行性分析研究系统开发过程中可能涉及到的合同、侵权、责任14操作可行性用户使用可能性时间进度可行性组织和文化上的可行性操作可行性用户使用可能性15方案的选择和折衷一个基于计算机的系统可以有多个可行的实现方案,每个方案对成本、时间、人员、技术、设备都有不同的要求,不同方案开发出来的系统在功能、性能方面也会有所不同。因此要在多个可行的实现方案中作出选择。方案评估的依据是待开发系统的功能、性能、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。如,为达到高的精度就可能导致长的执行时间,为达到高可靠性就会导致高的成本等等。因此,在必要时应进行折衷。方案的选择和折衷一个基于计算机的系统可以有多个可行的实现方案162.2可行性研究过程1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查2.2可行性研究过程1.复查系统规模和目标17可行性分析的结论可以立即开始进行需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行可行性分析的结论可以立即开始进行182.3系统流程图系统流程图是概括地描绘物理系统的传统工具。作用:以概括的形式描述现有的和未来的系统。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。2.3系统流程图系统流程图是概括地描绘物理系统的传统工具19基本符号
----以概括的方式抽象地描绘一个实际系统所用符号基本符号
----以概括的方式抽象地描绘一个实际系统20
---具体地描绘一个物理系统所用符号系统符号---具体地描绘一个物理系统所用符号21系统流程图举例某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便订货,规定每天向采购部门送一次订货报告。该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。系统流程图举例某装配厂有一座存放零件的仓库,仓库中现有的各种22举例P30----库存清单系统的系统流程图举例P30----库存清单系统的系统流程图23举例----计算机售书系统流程图学校教材科拟开发的计算机售书系统学生填写购书单经终端输入系统,系统审查并开发票和领书单。学生凭领书单到书库领书。举例----计算机售书系统流程图学校教材科拟开发的计算24举例----计算机售书系统流程图结束学生购书发票到书库领书购书单终端审查并开发票11---学生各学期用书数据库领书单22---教材存量数据库举例----计算机售书系统流程图结束学生购书发票到书库25面对复杂的系统----分层描绘首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。面对复杂的系统----分层描绘首先用一张高层次的系26
2.4
数据流图DFD----DataFlowDiagram
是分析员和用户沟通的工具,是设计的出发点一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。由于它能够清晰地反映系统必须完成的逻辑功能,所以它已经成为需求分析阶段中功能建模最常用的工具。2.4数据流图DFD----DataFlow27
数据流图四种基本符号数据加工(数据变换)数据源点或终点(外部实体)数据流数据存储文件或或或数据流图四种基本符号数据加工(数据变换)数据源点或终28----
系统逻辑模型数据的加工或变换输入输出软件系统外部实体外部实体……外部实体外部实体……输入数据流输入数据流输出数据流输出数据流----系统逻辑模型数据的输入输出软件外部实体外部实体…29“看病”的数据流图“看病”的数据流图30企业工资计算系统的数据流图图5工资计算系统的顶层(0层)数据流图企业工资计算系统的数据流图图5工资计算系统的顶层(0层31画数据流图的步骤从问题描述中提取数据流图的4种成分:源点或终点、处理、数据存储、数据流。1.数据的源点或终点
数据的源点或终点用于反映数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。如图中的人事部门、后勤部门是工资系统中数据的源点,而职工和银行则是工资系统中数据的终点。画数据流图的步骤从问题描述中提取数据流图的4种成分:源点或终32
2.数据流
数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传送通道,数据流符号的箭头指明了数据的流动方向。如图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。2.数据流33
3.加工(处理)
加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。
4.数据存储在数据流图中用于保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。3.加工(处理)34数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采35数据流模型的建立方法
对于一个复杂的系统来说,可能存在着几十个甚至成百上千个加工,若要在一个数据流图中清楚地描述出整个系统加工的过程是很困难的,而采用对数据流图进行分层的方法则可以很好地解决这个问题。按照结构化分析方法中“自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的顶层数据流图。为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分解,直至得到系统的底层数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工”。通过分解过程中得到的这一组分层数据流图(由顶层、中间层和底层数据流图共同构成)就可以十分清晰地描述出整个系统所有加工的详细情况。数据流模型的建立方法36分层的数据流图分层的数据流图37分层的数据流图F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n
层第n+2
层分层的数据流图F0A0B0F11A0B0F12F13F1438下面以某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。1.建立顶层数据流图任何系统的顶层数据流图都只有一个,用于反映目标系统所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如图5所示。下面以某单位工资管理系统为例,来介绍一下分层数据流模39
2.数据流图的分层细化首先按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,如图6中工资计算的编号为1,打印工资清单的编号为2,工资转存的编号为3。2.数据流图的分层细化40图6工资计算系统第一层数据流图图6工资计算系统第一层数据流图41对第一层数据流图中的加工继续分解,则可得到第二层数据流图。若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图8所示。对第一层数据流图中的加工继续分解,则可得到第二层数据42人事部门出勤表业绩表1.1计算奖金和缺勤扣款奖金发放表1.2计算应发工资应发工资表1.3计算所得税1.4计算实发工资实发工资表水电扣款表后勤部门所得税扣款缺勤扣款表工资清单F3(a)(b)工资计算实发工资表2.1查找职工银行工资账号实发工资2.2生成工资存款清单工资存款清单银行账号职工个人工资账号清单F4图7工资计算系统的第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图奖惩条例F1工资档案F2人事部门出勤表业绩表1.1计算奖金和缺勤扣款奖金发放表1.243图8工资计算系统的第三层数据流图图8工资计算系统的第三层数据流图44建立数据流模型的原则建立数据流模型要遵循以下的原则:(1)每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果)。(2)数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。(3)对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入/输出数据保持一致。
建立数据流模型的原则45(4)在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第二层加工的编号为1,2,…,n;第三层加工的编号为1.1,1.2,…,2.1,…,n.1,n.2,…等,依次类推。如编号1.2表明该加工处于第三层数据流图中,序号为2,该图是对上层数据流图中编号为1的加工进行细化得到的子图。(5)在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需标明所有数据存储外,为了保持画面的整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。(4)在数据流图中,应按照层次给每个加工编号,用于46(6)数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该“做什么”,而不需要指明系统“如何做”。(7)数据流图的分解速度应保持适中。通常一个加工每次可分解为2~4个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。
(6)数据流图只能由四种基本符号组成,是实际业务流程47举例1、订货系统(见书P33—P34)2、学生购买教材系统举例1、订货系统(见书P33—P34)48假设一家工厂的采购部每天需要一张订货报表,表中列出所有需要再次订货的零件。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。假设一家工厂的采购部每天需要一张订货报表,表中列出所有需要再49从问题描述中提取组成数据流图的元素如下源点/终点处理采购员仓库管理员产生报表处理事务数据流数据存储订货报表事务订货信息库存清单从问题描述中提取组成数据流图的元素如下源点/终点处理采50仓库管理员事务采购员订货报表订货系统图订货系统的顶层(0层)数据流图1处理事务事务仓库管理员订货报表2产生报表采购员库存清单F1订货信息F2库存清单订货信息订货信息图订货系统的第1层数据流图仓库管理员事务采购员订货报表订货系统图订货系统的顶层(0层51举例2、学生购买教材系统举例2、学生购买教材系统52学生教材购销系统购书单领书单进书通知缺书单保管员第1
层第2
层进书通知1销售购书单领书单学生进书通知缺书单2采购保管员教材存量表F1缺书登记表F2外部实体外部实体学教材购书单领书单进书通知缺书单保第1层第2层进书通53教材销售子系统无效书单购书单1.3登记并开领书单1.2开发票1.1审查有效性1.4登记缺书1.5补售教材采购学生学生进书通知有效书单发票领书单暂缺书单1销售购书单领书单进书通知缺书单2采购进书通知缺书登记表教材存量表学生保管员第2
层补售书单第3层教材存量表F1缺书登记表F2
F1书号单价数量各班用书表F3售书登记表F4外部项教材销售子系统无效书单购书单1.31.21.11.41541销售购书单领书单进书通知缺书单2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第2层第3
层缺书单2.3修改教材库存和待购量销售进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2进书通知1购书单领书单进书通知缺书单2进书通知缺书登记表教材存量表学55.便于实现.便于使用---采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度;
---用一组图代替一张总图,方便用户及
软件开发人员阅读。分层DFD图的优点.便于实现.便于使用---采用逐步细化的扩展方法,56
1)
为数据流(或数据存储)命名(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。画分层DFD的指导原则1.注意数据流图中成分的命名1)为数据流(或数据存储)命名画分层DFD的指导原则572)
为处理命名(1)通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。(2)名字应该反映整个处理的功能,而不是它的一部分功能。(3)名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。画分层DFD的指导原则1.注意数据流图中成分的命名2)为处理命名画分层DFD的指导原则58画分层DFD的指导原则2.注意父图和子图的平衡发票1.3开领书单领书单(a)父图1.3.1学生领书单1.3.21.3.3教材(a)子图画分层DFD的指导原则发票1.3领书单(a)父图1.59
画分层DFD的指导原则3.区分局部文件和局部外部项局部外部项局部文件1销售购书单领书单进书通知缺书单2采购进书通知缺书登记表教材存量表学生保管员采购子系统
第2层第3
层缺书单2.3修改教材库存和待购量销售进书通知2.1按书号汇总缺书2.2按出版社统计缺书保管员教材存量表F1待购教材表F5教材一览表F6缺书登记表F2进书通知画分层DFD的指导原则局部局部1购书单领书单进书通知缺60画分层DFD的指导原则
4.掌握分解的速度一般来说,每一个加工每次可分为2-4个子加工,最多不得超过7个。5.遵守加工编号规则顶层加工不编号。第二层的加工编号为1,2,3,…,n号。第三层编号为1.1,1.2,1.3…n.1,n.2…等号,依此类推。画分层DFD的指导原则4.掌握分解的速度一61作业一个机票预订系统的功能如下:
旅行社把预订机票的旅客信息输入系统。系统根据订票单为旅客安排航班,打印出取票通知单。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。试根据要求画出该问题的顶层数据流图和第一层的数据流图。
作业一个机票预订系统的功能如下:62为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统。如果是存款,系统记录存款人的姓名、地址、存款类型、存款日期、存款数量和利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取63例2:家庭安全系统(SafeHome)
是一个基于微处理器的系统,能识别异常事件并采取相应防护措施。异常事件包括:非法侵入、火灾等。一旦异常事件被传感器识别出来,系统自动启动电话向监控中心报警。具体功能为:1、在安装时允许用户进行系统配置,配置的信息有:
①每一个传感器的类型和编号,②报警电话号码,③启动和关闭系统的密码,④警报延迟和电话号码延迟时间(以秒为单位)。例2:家庭安全系统(SafeHome)642、系统实施对传感器的监控:当识别到传感器事件后,系统激活警铃,并在指定的延迟时间内(如20秒/次)拨报警电话,反覆重拨,直至拨通。3、系统显示事件时间、位置和事件的性质。4、用户通过控制面板与系统交互,系统显示提示信息和系统状态。创建DFD和STD:
1、建立顶层语境级DFD,确定系统与外部环境的关系。找外部实体,它们产生输入信息,接收输出信息。(见下图)2、系统实施对传感器的监控:当识别到传感器65
SafeHome的语境级DFD第二章可行性分析Read课件66
2、对用户的文字叙述进行语法分析,名词和名词短语可构成数据流或数据存储,动词或动词短语可构成加工,以便产生精化下一层的有用信息。3、分解功能,精化一个个加工组成下一层图。下图为SafeHome的第1层DFD。再下图是父图中“传感器监控”加工的分解,为第2层DFD。2、对用户的文字叙述进行语法分析,名词和名词短67
SafeHome的第1层DFD第二章可行性分析Read课件68
精化加工“传感器监控”的第2层DFD第二章可行性分析Read课件692.5数据字典
----DD(DataDictionary)
数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。2.5数据字典
--70数据字典的内容一般说来,数据字典应该由对下列4类元素的定义组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理数据字典的内容一般说来,数据字典应该由对71数据流名:说明:简要介绍作用,即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。(1)数据流词条的描述
数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计审查并开发票发票购书单
数据流名:(1)数据流词条的描述数据流名72数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构
(2)
数据元素词条的描述
年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4金额=“00000000.01”..“999999999.99”……数据元素名:(2)数据元素词条的描述年73(3)数据文件词条的描述
数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:……审查并开发票学生发票购书单各班学生用书表教材存量表(3)数据文件词条的描述数据文件名:审查74
加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:取值范围:相关的数据元素及数据结构……(4)
加工逻辑词条的描述
1.3审查并开发票学生发票购书单各班学生用书表教材存量表加工名:(4)加工逻辑词条的描述1.375
名称:外部实体名简要描述:什么外部实体有关数据流:数目:(5)外部实体词条描述
进书通知1销售购书单领书单学生进书通知缺书单2采购保管员教材存量表F1缺书登记表F2名称:外部实体名(5)外部实体词条描述76数据字典定义符号符号含义例子
=被定义为+与[]x=a+b,则表示x
由a和
b
组成x=[a,b],则表示x
由a或由
b
组成{}或重复x={a},则表示x
由0个或多个a组成()可选
表示在两个*
之间的内容为词条的注释m{}n重复x=3{a}8,则表示x中至少出现3次a,最多出现8次*…*注释符
x=(a),则表示a在x中出现,也可不出现数据字典定义符号符号含义例子77例:存折格式例:存折格式78日期(年月日)摘要支出存入余额操作复核户名:所号:帐号:开户日:性质:印密:存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}20户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,…“6”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核日期=年+月+日年=“1900”..“3000”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金额金额=“00000000.01”..“999999999.99”……日期(年月日)摘要支出存入余额操作复核户名:所号:帐号:开79作业某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。
作业某旅馆的电话服务如下:80.电话号码=分机号|外线号码分机号=7201...7299外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100...300市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4.电话号码=分机号|外线号码81数据字典的建立1.建立数据字典的方法(1)手工建立。分别将数据字典中每一个条目按照规定的格式写在卡片上,由专人负责管理和维护。为了便于查找,通常可将卡片分类,按条目的名称或编号进行排序。(2)自动建立。利用现有的数据字典建立程序,通过按照指定格式输入各类条目的内容,由计算机自动建立相应的数据字典。且通常这类工具软件还能够对建立好的数据字典进行完整性、一致性检查,以及进行日常的管理和维护工作。如由美国密执安大学开发的PSL/PSA系统就是这类软件的杰出代表。数据字典的建立822.建立数据字典的原则(1)所有定义必须严密、精确,不能存在二义性。(2)书写格式应简洁且严格。(3)应可方便地实现对所需条目的按名查阅。(4)应便于修改和更新。2.建立数据字典的原则83注:加工说明
----(ProcessSpecification)
加工说明是:对DFD中每个加工给予说明。它是从系统功能的角度对DFD作出了注解,与DD一样是DFD必不可缺少的辅助资料。PS注:加工说明----(ProcessSpecific84对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的。加工逻辑说明对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。加工85加工说明组成输入数据加工逻辑输出数据加工说明描述工具结构化语言判定表判定树
描述把输入数据流变换为输出数据流的加工过程,是加工说明的主体。加工说明组成输入加工输出加工说明描述工具结构化判定判定86自然语言+结构化形式(1)结构化语言选择结构如果<条件><策略>
If<condition><policy>如果<条件>
则<策略1>
否则<策略2>情况1<条件><策略1>……情况n<条件><策略n>If<condition>
then<policy1>Otherwise<policy2>case1<condition><policy1>……casen<condition><policyn>循环结构对
…,<策略>重复以下<策略>直至<条件>Foreach…,<policy>Repeatthefollowing:<policy>Until<condition>自然语言+结构化形式(1)结构化语言选如果<条件>If87商店业务处理系统中“检查发货单”if发货单金额超过$500thenif欠款超过了60天then
在偿还欠款前不予批准
else(欠款未超期)发批准书,发货单
else(发货单金额未超过$500)
if欠款超过60天then
发批准书,发货单及赊欠报告
else(欠款未超期)发批准书,发货单
商店业务处理系统中“检查发货单”if发货单金额超过$50088(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,89以“检查发货单”为例以“检查发货单”为例90(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发出批准书、发货单欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比91作业根据下列对某种人寿保险问题的描述画出判定表。某保险公司的一种人寿保险的参保类型划分原则如下:(1)如果年龄不满25岁,男性适用保险类型A,女性适用保险类型B。(2)如果年龄满25岁但不满50岁,已婚男性适用保险类型A,未婚男性适用保险类型B,已婚女性适用保险类型B,未婚女性适用保险类型C。(3)年龄在50岁以上者,已婚女性适用保险类型B,其余适用保险类型C。作业根据下列对某种人寿保险问题的描述画出判定表。922.6成本/效益分析
成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。2.6成本/效益分析成本/效益分析的目的:93
2.6.1
成本估计----人力成本估计软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。估算技术:
1.代码行技术
2.任务分解技术3.自动估计成本技术2.6.1成本估计----人力成本估计94代码行技术根据经验和历史数据估计实现一个功能需要的源程序行数,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。代码行技术是比较简单的定量估算方法。当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。具体计算方法见13.1.1
章节代码行技术根据经验和历史数据估计实现一个功能需要的源95任务分解技术首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。具体计算方法见13.2章节
任务分解技术首先把软件开发工程分解为若干个相对独立的96自动估计成本技术
采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观。但是,采用这种技术必须有长期搜集的大量历史数据为基础,并且需要有良好的数据库系统支持。自动估计成本技术采用自动估计成本的软件工具可以972.6.2成本/效益分析的方法成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益,然后从经济角度判断这个系统是否值得投资。运行费用取决于系统的操作费用(操作员人数,工作时间,消耗的物资等)和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。注意:2.6.2成本/效益分析的方法成本/效益分析的第一步是982.6.2成本/效益分析的方法注意:总的效益和生命周期的长度有关,所以应该合理地估计软件的寿命。投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。2.6.2成本/效益分析的方法注意:99成本/效益分析使用的几个概念货币的时间价值投资回收期纯收入投资回收率成本/效益分析使用的几个概念货币的时间价值100经济可行性分析经济可行性主要进行成本效益分析,从经济角度,确定系统是否值得开发。基于计算机的系统的成本主要包括:购置硬件、软件(如数据库管理系统、第三方开发的构件等)和设备(如传感器等)的费用系统的开发费用系统安装、运行和维护费用人员培训费用经济可行性分析经济可行性主要进行成本效益分析,从经济角度,确101效益经济效益包括使用基于计算机的系统后可增加的收入和可节省的运行费用(如操作人员数、工作时间、消耗的物资等)。在进行成本效益分析时通常只统计五年内的经济效益。社会效益指使用基于计算机的系统后对社会产生的影响(如提高了办事效益,使用户满意等),通常社会效益只能定性地估计。经济效益通常可用货币的时间价值、投资回收期和纯收入来度量。效益102货币的时间价值设:当前金额为P,年利率为i,n年后的金额为F,则计算时,累计经济效益应折合成当前金额例如,一个基于计算机的系统使用后,每年产生的经济效益为9.6万,如果年利率为5%,那么,五年内该系统的累计经济效益是41.5630万,而不是48万。货币的时间价值103投资回收期:累计的经济效益正好等于投资数(成本)所需的时间。纯收入:累计经济效益–投资数当纯收入大于零时,该工程值得投资开发当纯收入小于零时,该工程不值得投资(除非它有明显的社会效益)当纯收入等于零时,通常也不值得投资显然,纯收入越大越好。投资回收期:累计的经济效益正好等于投资数(成本)所需的时间。104举例
12345
年6040200成本-效益(万元)该系统节省经费该系统成本盈亏平衡点投资回收期---------成本及效益分析图举例1234105例:假设购置一套应用软件投资20万元,预计可使用5年,每年直接经济效益9.6万元,年利率为5%,试计算投入/产出比。解:考虑到货币的时间价值,5年的总体收入应当逐年按照上式计算,并非为恒定的9.6万元。1~5年中,每年的收入折算到当前的数据如表所示。第二章可行性分析Read课件106表货币的时间价值年份将来收益/万元(1+i)n当前收益累计的当前收益19.61.059.14299.142929.61.10258.707517.851339.61.15768.292826.143249.61.21557.897934.041159.61.27637.521941.5630表货币的时间价值年份将来收益/万元(1+i)n当前收益累107根据上表所列数据,本软件投入/产出比为41.5630/20=2.0785(2)投资回收期:根据上例,两年后收入17.8513万元,尚欠2.15万元没有收回成本,在第三年还需要:2.15/26.1432=0.259(年),故投资回收期为2.259年。(3)纯收入:根据上面的计算结果,5年纯收入为41.5630-20=21.5630万元这相当于比较一个待投入的软件项目可能获取的利润和将20万元存入银行所取得的效益。只有当纯收入大于0时,开发软件才有真正的效益。根据上表所列数据,本软件投入/产出比为108
可行性研究报告的编写
GB8567-88《计算机软件产品开发文件编制指南》可行性研究报告的编写
GB8567-88《计算机109可行性研究报告的编写1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料2可行性研究的前提
2.1要求
2.2目标
2.3条件、假定和限制
2.4进行可行性研究的方法
2.5评价尺度可行性研究报告的编写1引言2可行性研究的前提110可行性研究报告的编写3对现有系统的分析
3.1数据流程和处理流程
3.2工作负荷
3.3费用开支
3.4人员
3.5设备
3.6局限性4所建议的系统
4.1对所建议系统的说明
4.2数据流程和处理流程
4.3改进之处
4.4影响
4.5局限性
4.6技术条件方面的可行性可行性研究报告的编写3对现有系统的分析4所建议的系统111可行性研究报告的编写5可选择的其它系统方案
5.1可选择的其它系统15.2可选择的其它系统2
......6投资及收益分析
6.1支出
6.2收益
6.3收益/投资比
6.4投资回收周期
6.5敏感性分析7社会条件方面的可行性
7.1法律方面的可行性
7.2使用方面的可行性可行性研究报告的编写5可选择的其它系统方案6投资及收益分112第二章可行性研究2.1可行性研究的任务2.2可行性研究过程2.3系统流程图2.4数据流图2.5数据字典2.6成本/效益分析第二章可行性研究2.1可行性研究的任务113可行性研究开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。可行性研究开发一个基于计算机的系统通常都受到资源(人力、财力114开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YN问题的定义与可性行研究Who
为谁设计,用户是谁?What
要解决哪些问题?Why
为什么要解决这些问题
有用的软件
3W开始问题定义可性行研究可行否?项目实施计划终止项目的建议Y115可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。可行性研究目的:116可行性研究的目的说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。
(GB8567-88《计算机软件产品开发文件编制指南》)可行性研究的目的说明该软件开发项目的实现在技术上、经济1172.1可行性研究的任务GB8566-88《计算机软件开发规范》中指出:
可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”可行性研究的最根本任务是:对以后的行动方针提出建议。2.1可行性研究的任务GB8566-88《计算机软件118可行性研究的内容(1)技术可行性(2)经济可行性(3)操作可行性(4)社会可行性(法律可行性)(5)抉择可行性研究的内容(1)技术可行性119经济可行性度量系统解决方案的性能价格比。考虑的问题:成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡经济可行性度量系统解决方案的性能价格比。120技术可行性分析技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。技术可行性分析技术可行性主要根据系统的功能、性能、约束条件等121风险分析:分析在给定的约束条件下设计和实现系统的风险。采用不成熟的技术可能造成技术风险人员流动可能给项目带来风险成本和人员估算不合理造成的预算风险风险分析的目的是找出风险,评价风险的大小,并有效地控制和缓解风险。风险分析:分析在给定的约束条件下设计和实现系统的风险。122资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资源和相应的工作环境。例如,有一支开发过类似项目的开发和管理的团队,或者开发人员比较熟悉系统所处的领域,并有足够的人员保证,所需的硬件和支撑软件能通过合法的手段获取,那么从技术角度看,可以认为具备设计和实现系统的条件。资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资123技术分析:分析当前的科学技术是否支持系统开发的各项活动。在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程,从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。技术可行性分析时通常需进行系统建模,必要时可建造原型和进行系统模拟技术分析:分析当前的科学技术是否支持系统开发的各项活动。124社会可行性(法律可行性)
开发项目是否会在社会上或政治上引起侵权、破坏或其它责任问题。社会可行性(法律可行性)开发项目是否会在社会上或政治上125法律可行性分析研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。1991年国务院颁布了《计算机软件保护条例》。这两个法律文件是法律可行性分析的主要依据。法律可行性分析研究系统开发过程中可能涉及到的合同、侵权、责任126操作可行性用户使用可能性时间进度可行性组织和文化上的可行性操作可行性用户使用可能性127方案的选择和折衷一个基于计算机的系统可以有多个可行的实现方案,每个方案对成本、时间、人员、技术、设备都有不同的要求,不同方案开发出来的系统在功能、性能方面也会有所不同。因此要在多个可行的实现方案中作出选择。方案评估的依据是待开发系统的功能、性能、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。如,为达到高的精度就可能导致长的执行时间,为达到高可靠性就会导致高的成本等等。因此,在必要时应进行折衷。方案的选择和折衷一个基于计算机的系统可以有多个可行的实现方案1282.2可行性研究过程1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查2.2可行性研究过程1.复查系统规模和目标129可行性分析的结论可以立即开始进行需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行需要对开发目标进行某些修改之后才能开始进行因为某种原因(如,技术不成熟、经济上不合算等)不能进行可行性分析的结论可以立即开始进行1302.3系统流程图系统流程图是概括地描绘物理系统的传统工具。作用:以概括的形式描述现有的和未来的系统。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。2.3系统流程图系统流程图是概括地描绘物理系统的传统工具131基本符号
----以概括的方式抽象地描绘一个实际系统所用符号基本符号
----以概括的方式抽象地描绘一个实际系统132
---具体地描绘一个物理系统所用符号系统符号---具体地描绘一个物理系统所用符号133系统流程图举例某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便订货,规定每天向采购部门送一次订货报告。该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。系统流程图举例某装配厂有一座存放零件的仓库,仓库中现有的各种134举例P30----库存清单系统的系统流程图举例P30----库存清单系统的系统流程图135举例----计算机售书系统流程图学校教材科拟开发的计算机售书系统学生填写购书单经终端输入系统,系统审查并开发票和领书单。学生凭领书单到书库领书。举例----计算机售书系统流程图学校教材科拟开发的计算136举例----计算机售书系统流程图结束学生购书发票到书库领书购书单终端审查并开发票11---学生各学期用书数据库领书单22---教材存量数据库举例----计算机售书系统流程图结束学生购书发票到书库137面对复杂的系统----分层描绘首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。面对复杂的系统----分层描绘首先用一张高层次的系138
2.4
数据流图DFD----DataFlowDiagram
是分析员和用户沟通的工具,是设计的出发点一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。数据流图从数据传递和加工的角度出发,刻画数据流从输入到输出的移动和变换过程。由于它能够清晰地反映系统必须完成的逻辑功能,所以它已经成为需求分析阶段中功能建模最常用的工具。2.4数据流图DFD----DataFlow139
数据流图四种基本符号数据加工(数据变换)数据源点或终点(外部实体)数据流数据存储文件或或或数据流图四种基本符号数据加工(数据变换)数据源点或终140----
系统逻辑模型数据的加工或变换输入输出软件系统外部实体外部实体……外部实体外部实体……输入数据流输入数据流输出数据流输出数据流----系统逻辑模型数据的输入输出软件外部实体外部实体…141“看病”的数据流图“看病”的数据流图142企业工资计算系统的数据流图图5工资计算系统的顶层(0层)数据流图企业工资计算系统的数据流图图5工资计算系统的顶层(0层143画数据流图的步骤从问题描述中提取数据流图的4种成分:源点或终点、处理、数据存储、数据流。1.数据的源点或终点
数据的源点或终点用于反映数据流图与外部实体之间的联系,表示图中的输入数据来自哪里或处理结果送向何处。如图中的人事部门、后勤部门是工资系统中数据的源点,而职工和银行则是工资系统中数据的终点。画数据流图的步骤从问题描述中提取数据流图的4种成分:源点或终144
2.数据流
数据流是数据在系统中(包括数据处理之间、数据处理和数据存储之间以及数据处理和数据的源点或终点之间)的传送通道,数据流符号的箭头指明了数据的流动方向。如图中的出勤表、业绩表、水电扣款表、工资条及工资存款清单等均为数据流。2.数据流145
3.加工(处理)
加工也称为数据处理,是对系统中的数据流进行的某些操作或变换。图中每个加工都要有对应的名称,最常见的名称是由一个表明具体动作的动词和一个表明处理对象的名词构成的,如计算应发工资、打印工资清单等。
4.数据存储在数据流图中用于保存数据的数据文件被称为数据存储,它可以是数据库文件或任何其他形式的数据组织。流向数据存储的数据流可理解为向文件写入数据或对文件进行查询,流出数据存储的数据流可理解为从文件中读取数据或得到查询结果。3.加工(处理)146数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。数据流图的层次结构为了表达数据处理过程的数据加工情况,需要采147数据流模型的建立方法
对于一个复杂的系统来说,可能存在着几十个甚至成百上千个加工,若要在一个数据流图中清楚地描述出整个系统加工的过程是很困难的,而采用对数据流图进行分层的方法则可以很好地解决这个问题。按照结构化分析方法中“自顶向下,逐步分解”的思想,可以先将整个系统看作是一个加工,它的输入数据和输出数据表明了系统和外部环境的接口,从而首先画出系统的顶层数据流图。为了能够清楚地表明系统加工的详细过程,接着从顶层数据流图出发,逐层地对系统进行分解。每分解一次,系统中加工的数量就随之增加,每个加工的功能描述也越来越具体。重复这种分解,直至得到系统的底层数据流图。底层数据流图中的所有加工都应是不可再分解的、最简单的“原子加工”。通过分解过程中得到的这一组分层数据流图(由顶层、中间层和底层数据流图共同构成)就可以十分清晰地描述出整个系统所有加工的详细情况。数据流模型的建立方法148分层的数据流图分层的数据流图149分层的数据流图F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n
层第n+2
层分层的数据流图F0A0B0F11A0B0F12F13F14150下面以某单位工资管理系统为例,来介绍一下分层数据流模型的建立方法。1.建立顶层数据流图任何系统的顶层数据流图都只有一个,用于反映目标系统所要实现的功能及与外部环境的接口。顶层数据流图中只有一个代表整个系统的加工,数据的源点和终点对应着系统的外部实体,表明了系统输入数据的来源和输出数据的去向。工资管理系统的顶层数据流图如图5所示。下面以某单位工资管理系统为例,来介绍一下分层数据流模151
2.数据流图的分层细化首先按照系统的功能,对顶层数据流图进行分解,生成第一层数据流图。如例子中的工资计算系统可划分为计算工资、打印工资清单和工资转存三个加工。其中,计算工资完成单位职工工资计算,生成工资清单的功能;打印工资清单完成工资条的打印功能;工资转存完成生成职工工资存款清单并将其发送到银行的功能。对划分得到的加工应进行编号,如图6中工资计算的编号为1,打印工资清单的编号为2,工资转存的编号为3。2.数据流图的分层细化152图6工资计算系统第一层数据流图图6工资计算系统第一层数据流图153对第一层数据流图中的加工继续分解,则可得到第二层数据流图。若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图8所示。对第一层数据流图中的加工继续分解,则可得到第二层数据154人事部门出勤表业绩表1.1计算奖金和缺勤扣款奖金发放表1.2计算应发工资应发工资表1.3计算所得税1.4计算实发工资实发工资表水电扣款表后勤部门所得税扣款缺勤扣款表工资清单F3(a)(b)工资计算实发工资表2.1查找职工银行工资账号实发工资2.2生成工资存款清单工资存款清单银行账号职工个人工资账号清单F4图7工资计算系统的第二层数据流图(a)“计算工资”子数据流图;(b)“工资转存”子数据流图奖惩条例F1工资档案F2人事部门出勤表业绩表1.1计算奖金和缺勤扣款奖金发放表1.2155图8工资计算系统的第三层数据流图图8工资计算系统的第三层数据流图156建立数据流模型的原则建立数据流模型要遵循以下的原则:(1)每个加工至少应有一个输入数据流(反映被处理数据的来源)和一个输出数据流(反映加工的结果)。(2)数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容或功能。(3)对数据流图中某个加工进行细化生成的下层数据流图,称为其上层图的子图。应保证分层数据流图中任意对应的父图和子图的输入/输出数据保持一致。
建立数据流模型的原则157(4)在数据流图中,应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。编号的规则为:顶层加工不用编号;第二层加工的编号为1,2,…,n;第三层加工的编号为1.1,1.2,…,2.1,…,n.1,n.2,…等,依次类推。如编号1.2表明该加工处于第三层数据流图中,序号为2,该图是对上层数据流图中编号为1的加工进行细化得到的子图。(5)在父图中不要出现子图中涉及的局部数据存储文件。通常除底层数据流图中需标明所有数据存储外,为了保持画面的整洁,各中间层数据流图只需显示处于加工之间的接口文件即可。(4)在数据流图中,应按照层次给每个加工编号,用于158(6)数据流图只能由四种基本符号组成,是实际业务流程的客观映象,用于说明系统应该“做什么”,而不需要指明系统“如何做”。(7)数据流图的分解速度应保持适中。通常一个加工每次可分解为2~4个子加工,最多不要超过七个,因为过快的分解会增加用户对系统模型理解的难度。
(6)数据流图只能由四种基本符号组成,是实际业务流程159举例1、订货系统(见书P33—P34)2、学生购买教材系统举例1、订货系统(见书P33—P34)160假设一家工厂的采购部每天需要一张订货报表,表中列出所有需要再次订货的零件。零件入库或出库称为事务,通过放在仓库中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同标准格式范文
- 简易自愿离婚合同模板
- 菜鸟驿站快递柜租赁合同
- 餐饮企业战略合作区域代理合同样本
- 老旧农村房屋转让合同范本
- 自行车安全培训课件
- 木工机械的现代控制技术考核试卷
- 木质游艺器材制作工艺考核试卷
- 批发行业的品牌形象塑造考核试卷
- 合成材料在汽车制造领域的应用研究考核试卷
- 2024年公安部直属事业单位招聘笔试真题
- 民政局2025年度离婚协议书官方模板4篇
- 绿色建筑材料在土木工程施工中的应用研究
- 上海市2024-2025学年高一上学期期末考试数学试题(含答案)
- 摩托车维修管理制度模版(3篇)
- KCA数据库试题库
- 2024-2025学年五年级数学上册名校真题 期末考试综合检测卷
- 2025年市青年企业家商会工作计划
- DGTJ 08-2176-2024 沥青路面预防养护技术标准(正式版含条文说明)
- 2025中国联通北京市分公司春季校园招聘高频重点提升(共500题)附带答案详解
- 无子女离婚协议书范本2025年
评论
0/150
提交评论