管理信息系统课件-系统分析_第1页
管理信息系统课件-系统分析_第2页
管理信息系统课件-系统分析_第3页
管理信息系统课件-系统分析_第4页
管理信息系统课件-系统分析_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

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

文档简介

第五章系统分析系统分析最早是由美国兰德公司在二战结束前后提出并加以使用的。1945年,美国的道格拉斯飞机公司,组织了各个学科领域的科技专家为美国空军研究“洲际战争”问题,目的是为空军提供关于技术和设备方面的建议,当时称为“研究与开发”(ResearchandDevelopment,缩写为R&D)计划。1948年5月,执行该计划的部门从道格拉斯公司独立出来,成立了兰德公司,“兰德”(RAND)是“研究与开发”英文的缩写。从40年代末到70年代的30年中,系统分析沿着两条明显不同的路线得到迅速发展。一条路线是运用数学工具和经济学原理分析和研究新型防御武器系统。并形成了著名的“计划—规划—预算系统”(PPBS)方法。另一条路线体现在与大学相联系的研究与教学的活动之中。沿着这一路线,存在着一种把众多的学科加以系统理论化的倾向系统分析的诞生系统分析的诞生到了70年代中期,系统分析从作为分析经济合理性的应用和作为研究对象的理论体系这种相互分离状态,逐步走向相互结合、相互补充,发展成为一种有效的方法体系。目前,系统分析作为一种一般的科学方法论,运用于广泛的研究领域之中,特别是在解决有风险和不确定性政策的制定以及公共决策系统的改进上。系统分析的诞生何谓系统分析(Systemanalysis)?很难给它下一个全面而准确的定义。其方法论源于科学方法论、系统论以及为数众多的涉及选择现象的科学分支。按照美国政策科学家R·M·克朗的说法,系统分析可以被视为由定性、定量或两者相结合的方法组成的一个集合。从系统的现状出发,对事物进行分析和综合,找出各种可行的方案,以供决策者进行选择。目录5.1系统分析的任务及特点5.2数据流程图5.3数据字典5.4逻辑处理的表达工具5.5数据查询应用分析5.6新系统逻辑模型的提出5.7系统说明书5.1系统分析的任务系统分析员和用户一起,充分了解用户的要求,并把双方的理解用系统说明书表达出来。系统说明书是设计和验收的依据。系统分析要回答新系统“做什么”这个关键性的问题。只有明确了问题,才有可能解决问题。否则,方向不明,无的放矢,费力不讨好。系统分析的困难主要来自三个方面:问题空间的理解、人与人之间的沟通、环境的不断变化。系统做什么?•由于系统分析员缺乏足够的对象系统的业务知识,在系统调查中往往感到无从下手,不知道该问用户一些什么问题,或者被各种具体数字、大量的资料、庞杂的业务流程搞得眼花缭乱。•另一方面,用户往往缺乏计算机方面的足够知识,不了解计算机能做什么和不能做什么。许多用户虽然精通自己的业务,但往往不善于把业务过程明确地表达出来,不知道该给系统分析员介绍些什么。对一些具体的业务,他认为理所当然就该这样或那样做。•系统分析员与用户知识构成不同,经历不同,使得双方的交流十分困难,因而系统调查易出现遗漏和误解,这些误解和遗漏是研制系统工程的隐患,会使系统开发偏离正确方向,另外还使编写系统说明书变得十分困难。•最使系统分析员困惑的是环境的变化。系统分析阶段要通过调查分析,抽象出新系统的概念模型,锁定系统边界、功能、处理过程和信息结构,为系统设计奠定基础,但是,信息系统生存在不断变化的环境中,环境对它不断提出新的要求。只有适应这些要求,信息系统才能生成下去。•在系统开发中,系统分析员起着十分重要的作用。系统分析这一重要而困难的任务主要由系统分析员承担。他要与各类人员打交道,是用户和技术人员之间的桥梁和“翻译”,并为管理者提供控制开发的手段。系统分析员还必须考虑系统的硬件设备、数据输入、系统安全等各个方面。总之,系统分析员必须考虑系统的各种成分。•系统分析员的知识水平和工作能力决定了系统的成败。一个称职的系统分析员不但具备坚实的信息系统知识,了解计算机技术的发展,而且还必须具备管理学科的知识。缺乏必要的管理科学知识,就没有与各级管理人员打交道的“共同语言”。很难设想,缺乏财务基础知识的人能设计出实用的财务系统。•为了克服这些困难,做好系统分析工作,需要系统分析员与用户精诚合作。系统分析员应牢固树立“用户第一”的思想,虚心向用户学习,“不耻下问”。1.工作内容涉及面广、不确定性大2.面向组织管理问题,工作方式与人打交道3.用画图的方法,直观、易理解4.强调逻辑结构而不是物理实现5.追求的是有限目标返回5.1系统分析的特点数据流程图是结构化系统分析的主要工具。结构化系统分析采用介于形式语言和自然语言之间的描述方式,通过一套分层次的数据流程图,辅以数据字典、小说明等工具来描述系统。如图5.1所示是一个简单的示意图。返回S2132.22.12.33.13.2

0层1层2层(基本系统模型)(系统的子功能)DFD的分层表示5.2数据流程图数据流程图(DFD)描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图,摆脱了其物理内容,是描述MIS逻辑模型的最主要的工具。1.系统的观点

把研究的对象看作系统,并从总体出发。2.分解的观点

“分解”和“抽象”是在结构化分析方法中解决复杂问题的两个基本手段。分解:把整体分解成部分,把系统分解成子系统,逐层进行分析,然后分别解决;抽象:抓住主要问题忽略次要问题,集中精力先解决主要问题。5.2数据流程图5.2.1数据流程图的基本成分►5.2.2数据流程图的画法►5.2.3画数据流程图的注意事项►5.2.4数据流程图应用举例

返回5.2.1数据流程图的基本成分数据流程图用到四个基本符号,即外部实体、数据处理、数据流和数据存储:1、外部实体►

2、数据处理►3、数据流►4、数据存储►

返回1、外部实体外部实体指系统以外又与系统有联系的人或事物。•为了区分不同的外部实体,可以在正方形的左上角用一个字符表示。•在数据流程图中,为了减少线条的交叉,同一个外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画小斜线,表示重复。•若重复的外部实体有多个,则相同的外部实体画数目相同的小斜线。图5.4外部实体顾客a职工b经理c职工b顾客a返回2、数据处理数据处理指对数据的逻辑处理,也就是数据的变换。在数据流程图中,用带圆角的长方形(或圆形)表示处理,条方形分为三个部分。

图5.4处理•标识部分用来标识一个功能,一般用字符串表示,如P1、P1.1等等。•功能描述部分是必不可少的,它直接表达这个处理的逻辑功能。•功能执行部分表示这个功能由谁来完成,可以是一个人,也可以是一个部门,也可以是某个计算机程序。

返回标识部分功能描述部分功能执行部分3、数据流数据流是处理功能的输入或输出,用一个水平箭头或垂直箭头表示。一般说来,对每个数据流要加以简单的描述,使用户和系统设计员能够理解一个数据流的含义。编辑定货单计算应收款编制财务报表合格订单经理图5.5数据流

有时很难用简单而适当的语句来描述一个数据流。可以把几个平行且方向相同的数据流合并为一个,则可以减少一些数据流,数据流程图就更简单好读一些。业务处理存折储户存取单存折账目业务处理存折储户存取要求账目图5.6数据流的简化返回4、数据存储数据存储表示数据保存的地方。这里“地方”并不是指保存数据的物理地点或物理介质,而是对数据存储的逻辑描述。在数据流程图中,数据存储用右边开口的长方条表示。在长方条内写上数据存储的名字。名字也要恰当,以便用户理解。为了区别和引用方便,再加一个标识,用字母D和数字组成。为清楚起见,用竖线表示同一数据存储在图上不同地方的出现。D2产品D5职工D2产品图5.7数据存储注意点:1、当数据流从数据存储流入或流出时,数据流名可省;2、任何一个处理必须有数据流入和流出;3、当源点和终点对我们来讲不重要时可省;4、任何数据流必有一端是处理。s1D1D2s1D1D1P1P1⑴抽象性:不考虑具体的物理因素,如:组织结构、工作场所、物流、存储介质、具体的处理方法和技术手段等内容,只是抽象地反映信息的流动、加工、存储和使用的情况,能抽象地总结出MIS的任务,以及各项任务之间的顺序和关系,从信息处理的角度将一个复杂的实际系统抽象成一个逻辑模型。⑵概括性:把系统对各种业务的处理过程联系起来,形成一个总体,具有很强的概括性。返回数据流程图的特点5.2.2数据流程图的画法系统分析的根本目的是分析出合理的信息流动、处理、存储的过程。数据流程分析有许多方法,如HIPO法和我们介绍的结构化方法等。而数据流程图的画法:

自顶向下,逐层分解⑴银行活期存取款业务(顶层图)储户存款单存折账目分解图★业务处理P1D1分解图现金库储户存折、现金存折存折取款单存折存款单存折存(取)单账目D1★存款处理P1.2业务分类处理P1.1取款处理P1.3下面以高等学校学籍管理系统为例说明画数据流程图的方法。首先,我们把整个系统看成一个功能。它的输入是新生入学时,从省、市招办公室转来的新生名单和档案,输出是学生离校时给用人单位的毕业生档案和定期给主管部门的统计报表,如图5.10所示。图5.10概括描述了系统的轮廓、范围,标出了最主要的外部实体和数据流。还有一些外部实体、数据流没有画出来,随着数据流程图的展开逐渐增加。这样做的好处是突出主要矛盾,系统轮廓更清晰。图5.10是进一步分析的出发点。学籍管理包括学生学习成绩管理、学生奖惩管理、学生异动管理三部分。由此,可以将图展开。下面以“成绩管理”为例,较详细地说明逐层分解的思路。某校在实行校、系两级学习成绩管理,学校教学管理科、系教务员都登记学生成绩,任课教师把学生成绩单一式两份分别送系教务员和学校教学管理科。系教务员根据成绩单登录学籍表,学期结束时,给学生发成绩通知,并根据学籍管理条例,确定每个学生升级、补考、留级、退学的情况。教管科根据收到的成绩单登录教管科存的学籍表,统计各年级各科成绩分布报主管领导。补考成绩也作类似处理。这样“成绩管理”框扩展成如图5.12。从上图看出某些不尽合理的地方。例如“学籍表”结构是一样的,但是系里存一份,教管科也存一份,数据冗余,工作重复。但现实情况就是这样,在调查阶段应如实反映,至于新系统应怎么做,可在对现行系统分析的基础上,提出新系统逻辑模型时再考虑。(BPR)上图中的一些处理,有的框还需要进一步展开。如P2.1一框,“分析期末成绩”包括以下几件事:(1)把每个学生的各科成绩登录在所在班的“学习成绩一览表”中;(2)根据“学习成绩一览表”,在学籍表中填写各个学生的成绩;(3)根据“学习成绩一览表”评学习成绩优秀奖;(4)根据学习成绩一览表,以往留级情况(学籍表中有记载)决定学生的升级、补考、留级、退学;(5)发成绩通知单,通知补考时间。在图5.13中,P2.1.5框之外,其他各个处理都已十分明确,不需要再分解。而P2.1.5“确定异动情况”还比较复杂,需要进一步分解。返回5.2.3画数据流程图的注意事项1、关于层次的划分►2、检查数据流程图的正确性►3、提高数据流程图的易理解性►

返回1、关于层次的划分系统分析中得到一系列分层的数据流程图。最上层的数据流程图相当概括地反映出信息系统最主要的逻辑功能、最主要的外部实体和数据存储。这张图应该使人一目了然,立即有个深刻印象,使人知道这个系统的主要功能和与环境的主要联系是什么。逐层扩展数据流程图,是对上一层图(父图)中某些处理框加以分解。随着处理的分解,功能越来越具体,数据存储、数据流越来越多。必须注意,下层(子图)是上层图中某个处理框的“放大”。2、检查数据流程图的正确性通常可以从以下几个方面检查数据流程图的正确性:(1)数据守恒,或称为输入数据与输出数据匹配。(2)在一套数据流程图中的任何一个数据存储,必定有流入的数据和流出的数据,即写文件和读文件,缺少任何一种都意味着遗漏某些加工。(3)父图中某一处理框的输入、输出数据必须出现在相应的子图中,否则就会出现父图与子图不平衡。(4)任何一个数据流至少有一端是处理框。

返回父图-子图平衡A1423BFEGCD父图-子图平衡缺少C3.1ED3.33.2对加工3细化的子图:加工33、提高数据流程图的易理解性数据流程图是系统分析员调查业务过程,与用户交换思想的工具。因此,数据流程图应该简明易懂这也有利于后面的设计,有利于对系统说明书进行维护。可以从以下几个方面提高易理解性。(1)简化处理间的联系结构化分析的基本手段是“分解”,其目的是控制复杂性。合理的分解是将一个复杂的问题分成相对独立的各个部分,每个部分可单独理解。在数据流程图中,处理框间的数据流越少,各个处理就越独立,所以我们应尽量减少处理框间输入及输出数据流的数目。(2)均匀分解如果在一张数据流程图中,某些处理已是基本加工,而另一些却还要进一步分解三四层,这样的分解就不均匀。不均匀的分解不易理解,因为其中某些部分描述的是细节,而其他部分描述的是较高层的功能。遇到这种情况,应重新考虑分解,努力避免特别不均匀的分解。(3)适当命名数据流程图中各种成分的命名与易解性有直接关系,所以应注意命名适当。练习:教材购销系统的业务流程1、学生提出购书申请,到教材科,教材科根据学生用书计划表和教材库存量进行审查,若库存量满足,开购书发票,学生凭购书票到财务科交款并取得领书单,学生凭领书单领取教材;不满足条件的作缺书登记。2、进行缺书统计和汇总,定期按出版社归类统计待购教材信息表,书库管理员采购教材并更新教材库存。购书单教材购销系统教材购销系统的顶层DFD学生领书单缺书单进书通知书库保管员购书单缺书单销售教材采购教材12第二层DFD(0层)教材购销系统教材存量表学生F1缺书登记表F2书库保管员进书通知教材入库信息领书单第三层DFD(1层)销售子系统(1.0)1.2无效书单教材存量表F1开发票F2缺书登记表学生各班学生用书表F3售书登记表F41.1审查有效性1.3登记并开领书单学生1.5补售教材1.4登记缺书购书单发票领书单

有效购书单教材入库信息

按书号汇总缺书2.12.3第三层DFD(1层)采购子系统(2.0)待购教材表F5教材一览表F6书库保管员进书通知教材入库信息教材存量表F12.2按出版社统计缺书修改教材库存和待购量F2缺书登记表缺书单实例:图书馆管理系统购入新书读者借书读者还书图书注销查询统计购入新书新书编卡片(包括:类目录号、流水号(唯一)、书名、作者、内容摘要、价格、购书日期等信息)写入图书目录文件系统功能说明读者借书填借书单(包括:读者号、欲借图书分类目录号)检查读者号有效性,无效,拒借读者号有效,检查借书是否超数?已达5本,拒绝借未超,可借,登记图书分类目录号、读者号、借阅日期等,写回借书文件中系统功能说明读者还书根据图书流水号,从借书文件中读出与该书相关的借阅记录,查明借书日期,还书日期,求借书时间,再重写回借书文件中,超过期限罚款。系统功能说明图书注销从借阅图书文件中删除相关记录丢失图书时从图书文件中删除相关记录并罚款系统功能说明查询统计查询某读者情况查询某图书借阅情况统计图书借阅情况顶层数据流图图书管理人员图书管理系统读者图书管理要求查询要求查询结果罚款单处理查询2处理要求1查询要求图书管理要求罚款单统计表图书情况读者情况0层数据流图目录文件借书文件要求类型处理图书管理要求无效输入1.1新书入库1.2还入库单罚款单一层数据流图(a)1.5注销图书1.3还书1.4目录文件借书单书单注销单借书借书文件罚款单查询类别处理查询要求2.1读者查询2.2统查询的读者情况统计表一层数据流图(b)图书查询要查询的图书情况2.3图书统计2.4计求读者文件读者情况图书情况借书文件目录文件二层数据流图(1.3)检查借书单借书单1.3.1审定借书限额1.3.2无效借书单读者文件有效借书单登记借书信息1.3.3合格借书单超额借书单借书文件二层数据流图(1.4)审定还书期限还书单1.4.1修改借书信息1.4.2未超期还书单计算超期罚款1.4.3还书单超期还书单罚款单借书文件二层数据流图(1.5)分类注销单1.5.1修改目录1.5.2目录文件图书处理注销单计算罚款1.5.3图书丢失注销单罚款单借书文件5.3数据字典数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典把数据的最小组成单位看成是数据元素(基本数据项),若干个数据元素可以组成一个数据结构(组合数据项)。数据结构是一个递归概念,即数据结构的成份也可以是数据结构。数据字典通过数据元素和数据结构来描写数据流、数据存储的属性。数据流数据存储数据结构数据元素数据字典对数据流程图的进一步描述建立数据字典的工作量很大,相当繁琐。但这是一项必不可少的工作。数据字典在系统开发中具有十分重要的意义,不仅在系统分析阶段,而且在整个研制过程中以及今后系统运行中都要使用它。数据字典可以用人工方式建立。事先印好表格,填好后按一定顺序排列,就是一本字典,也可以建立在计算机内,数据字典实际上是关于数据的数据库,这样使用、维护都比较方便。5.3.1数据字典的各类条目►5.3.2数据字典的使用与管理►

返回5.3.1数据字典的各类条目数据字典中有六类条目:数据元素、数据结构、数据流、数据存储、处理过程、外部实体。不同类型的条目有不同的属性需要描述。1、数据元素►2、数据结构►3、数据流►4、数据存储►5、处理过程►6、外部实体►

返回1、数据元素数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、姓名等。对每个数据元素,需要描述以下属性:(1)名称:数据元素的名称要尽量反映该元素的含义,便于理解和记忆。(2)别名:一个数据元素,可能其名称不止一个,若有多个名称,则需说明。(3)类型:说明取值是字符型还是数字型等。(4)取值范围和取值的含义:指数据元素可能取什么值或每一个值代表的意思。数据元素的取值可分为离散型和连续型两类。连续型:如人的年龄是连续型的取值范围可定义为0~150岁。离散型:如“婚姻状况”取值范围为“未婚、已婚、离异、丧偶”。(5)长度:指出该数据元素由几个数字或字母组成。如学号,按某校现在的编法由10个数字组成,其长度就是10个字节。除以上内容外,数据元素的条目还包括对该元素的简要说明、与它有关的数据结构等。表5.1是数据元素条目的一个例子。返回数据结构的描述重点是数据之间的组合关系,即说明这个数据结构包括哪些成分。一个数据结构可以包括若干个数据元素或(和)数据结构。这些成分中有三种特殊情况:(1)任选项这是可以出现,也可以省略的项,用“[]”表示。(2)必选项在两个或多个数据项中,必须出现其中的一个称为必选项。必选项的表示办法,是将候选的多个数据项用“{}”括起来。(3)重复项即可以多次出现的数据项。用“*”表示。

返回2、数据结构

表5.2是数据结构条目的一个例子。3、数据流关于数据流,在数据字典中描述以下属性:(1)数据流的来源:数据流可以来自某个外部实体、数据存储或某个处理。(2)数据流的去向:某些数据流的去处可能不止一个,如前面图6.12中“期末成绩”这个数据流,流到P2.1,P2.2两个处理,两个去处都要说明。(3)数据流的组成:指数据流所包含的数据结构。一个数据流可包含一个或多个数据结构。若只含一个数据结构,应注意名称的统一,以免产生二义性。(4)数据流的流通量,高峰时的流通量表5.3是数据流条目的一个例子。返回不同的数据流量决定不同的输入方式4、数据存储

数据存储的条目,主要描写该数据存储的结构,及有关的数据流、查询要求。例如,数据存储D2“学习成绩一览表”的条目,如表5.4所示。返回5、处理过程

对于数据流程图中的处理框,需要在数据字典中描述处理框的编号、名称、功能的简要说明,有关的输入、输出。对功能进行描述,应使人能有一个较明确的概念,知道这一框的主要功能。返回6、外部实体

外部实体是数据的来源和去向。因此,在数据字典中关于外部实体的条目,主要说明外部实体产生的数据流和传给外部实体的数据流,以及该外部实体的数量。返回5.3.2数据字典的使用与管理数据字典实际上是“关于系统数据的数据库”。在整个系统开发过程以及系统运行后的维护阶段,数据字典是必不可少的工具。数据字典是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性和一致性。具体讲,数据字典有以下作用。(1)按各种要求列表►(2)相互参照,便于系统修改►(3)由描述内容检索名称►(4)一致性检验和完整性检验►为了保证数据的一致性,数据必须由专人(数据管理员)管理。其职责就是维护和管理数据字典,保证数据字典内容的完整一致。任何人,包括系统分析员、系统设计员、程序员,修改数据字典的内容,都必须通过数据管理员。数据管理员要把数据字典的最新版本及时通知有关人员。返回综合应用举例某高校学分制学生选课系统要求如下:

学生根据学期开课清单填写选课单,学生选课系统对每个学生的选课单进行处理:根据教学计划检查该生是否存在尚未取得学分的必修课程,如果存在则要求重修;计算该学生课程上课时间冲突率:如果不发生冲突或者冲突率小于30%则可以选修,否则根据重修—必修—任选的优先级删除已选课程。最后产生每个学生的个人课表,以及每门课程的成绩记录单(列出该门课程的学生名单)。1数据流图选课单学生教师成绩记录单学生课表图1学生选课系统的顶层DFD学生选课系统选课单学生学生教师开课清单选课记录费用成绩记录单学生课表图2学生选课系统1-DFD1.学生选课2.课程注册3.表格打印综合应用举例开课清单1.4计算课程注册费1.1合法校验1.3计算课程冲突率1.2查已修课程成绩选课单学生成绩库学生学号合法的选课记录费用重修课程已选课程图3学生选课系统加工1的下层分解(2-DFD1)1数据流图(续)综合应用举例学生教师选课记录成绩记录单学生课表图4学生选课系统加工3的下层分解(2-DFD2)3.1打印学生课表3.2打印课程成绩单1数据流图(续)综合应用举例(1)数据流条目

数据流:选课单选课单=学生学号+{课程编码+备注}1数据流:学生课程表学生课程表=学生学号+{课程时间表}1数据流:成绩记录单成绩记录单=课程编码+课程名+[任课教师|指导教师]+{学号+成绩(+备注)}

注释:备注域用于标识课程类别(必修/限选/任选/重修)

2数据字典综合应用举例数据流:费用费用=学生学号+{课程编码+课程费用}1+合计金额数据流:学生学号(别名:学号)学生学号:基本数据项,由8位数字组成。其中,1~6位为班级号,7~8位为班内序号,从01开始。数据流:合法选课记录(别名:选课记录,重修课程,已选课程)合法选课记录=学号+{课程编码+备注}12数据字典综合应用举例(2)文件条目(数据存储条目)

文件:开课清单课程记录=课程编码+课程名+注册金额+[任课教师|指导教师](+职称)+起始周+终止周+{上课时间}文件组织:以课程编码为记录关键字升序排列2数据字典综合应用举例

文件:选课记录注册记录=学生学号+课程编码+课程名+注册金额+[任课教师|指导教师](+职称)+起始周+终止周+{上课时间}文件组织:以课程编码为记录关键字升序排列文件:学生成绩库学生成绩=学生学号+课程编码+成绩+备注文件组织:以学号为记录关键字升序排列

注释:备注域用于标识课程类别(必修/限选/任选/重修)2数据字典综合应用举例

(3)数据项条目

课程编码:XXXXXXX(7位数字)第1位:系编号第2∼3位:教研室编号第4∼6位:课程序号第7位:课堂号课程时间表=课程编码+起始周+终止周+{星期+节+教室号}起始--终止周:1∼22星期:1∼6节:1∼12教室号:XXXX课程名:长度(<=30的字符串_任课教师:姓名长度<=8的字符串成绩:nnn(3位整数)(4)加工说明(略)2数据字典综合应用举例5.4表达处理逻辑的工具对基本处理的说明称为“小说明”或“基本说明”。基本说明应准确地描述一个基本处理“做什么”,包括处理的激发条件、加工逻辑、优先级、执行频率、出错处理等等。其中最基本的是加工逻辑。加工逻辑是指用户对这个加工的逻辑要求,即输出数据流与输入数据之间的逻辑关系。某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。理想的基本说明应该容易被开发者和用户理解,又要严格、精确。目前人们正研究具有这种特点的形式语言,但还没有理想的结果。结构化方法在精确性和可理解性中间考虑了折中的方案,用结构化语言、判定树、判定表三种半形式化方式编写基本说明。5.4.1结构化语言►5.4.2判定树►5.4.3判定表►5.4.4三种表达工具的比较►

返回5.4.1结构化语言结构化语言是受结构化程序设计思想启发而发展出来的。结构化程序设计只允许三种基本结构。结构化语言也只允许三种基本语句,即简单的祈使语句、判断语句、循环语句。1、祈使语句►2、判断语句►3、循环语句►

返回祈使语句指出要做什么事情,包括一个动词和一个宾语。使用祈使语句,应注意以下几点:(1)力求精炼,不应太长;(2)不使用形容词和副词;(3)动词要能明确表达执行的动作,不用“做”、“处理”这类意义太泛的动词;(4)名词必须在数据字典中有定义。

返回判断语句类似结构化程序设计中的判断结构,其一般形式是:如果条件则动作A否则(条件不成立)动作B如果购货额在5万以上则如果最近3个月无欠款则折扣率为15%否则如果与公司交易10年以上则折扣率为10%否则折扣率为5%否则无折扣

返回某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。循环语句表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。例如图5.13中的处理P2.1.3“评奖学金”要计算同年级同专业每个学生一学期的总成绩,可用循环语句写成:对每一个学生计算总成绩

返回

5.4.2判定树若一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂。如果用前面介绍的判断语句,就有多重嵌套。层次一多,可读性就下降。用判定树来表示,可以更直观一些。

返回某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。6.5.3判定表判定表又称判断表或决策表,也是一种表达判断逻辑的工具,能将所有组合一个不漏表达出来。特别在条件多、行动多的复杂情况下,较判断树更有效。

条件说明条件的组合行动说明采取的行动构造方法:⑴列出所有可能的条件及方案;⑵按全部方案列出其选择的行动;⑶缩减表的列数。规则栏条件栏目C1:1234567…C2:C3:……行动栏目A1:A2:A3:……决策栏表5-5判定表的基本结构规则栏填入采取行动的规则,条件栏填入必要的条件,行动栏是准备采取的行动,决策栏是采取的决策行为。可以对条件栏进行一定的规范,使得规则栏只需填写Y-yes和N-no两种规则。

表5-6某公司折扣政策的判定表规则栏条件条件和行动不同条件组合12345678C1:购货额>5万元YYYYNNNNC2:近3个月无欠款YYNNYYNNC3:与公司交易10年以上YNYNYNYN行动A1:折扣率15%XXA2:折扣率10%XA3:折扣率5%XA4:无折扣XXXX决策栏某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。表5-7合并后的判定表规则栏条件不同条件组合条件和行动1(1、2)2(3)3(4)4(5、6、7、8)C1:购货额>5万元YYYNC2:近3个月无欠款YNN-C3:与公司交易10年以上-YN-行动A1:折扣率15%XA2:折扣率10%XA3:折扣率5%XA4:无折扣X决策栏某公司给购货在5万元以上的顾客以不同的折扣率。如果这样的顾客最近3个月无欠款,则折扣率为15%;虽然有欠款但与公司已有10年以上的贸易关系,则折扣率为10%,否则折扣率为5%。某厂对一部分职工重新分配工作,分配原则是:(1)年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工。(2)年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者当技术员。(3)年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。分析这个原则,实际上考虑3个因素:性别、年龄、文化程度。它们的取值范围是:性别:{男,女}年龄:{青年(小于20岁),中年(满20岁而不足50岁),老年(满50岁以上)}文化程度:{小学,中学,大学}判定表的另一种表示方法:

这三个条件,根据它们的取值范围,可以组合成2x3x3=18种情况。

表的左上部是条件说明(C1~C3),左下部是行动说明(A1~A6),右上部是条件的组合,右下部是条件组合相对的行动。根据分配原则,第1列表示男性,年龄不满20岁,小学文化程度,应脱产学习,在第1列,A1的位置记“X”。同样,依此类推,最后得到期表5.8这张表可以简化。化简的办法是合并。合并的原则是在相同的行动下,检查它所对应的各列条件组合中是否存在无需判断的条件。例如第1列与第10列,对应的行动是A1:脱产学习,对应的C2:年龄取值相同,C3:文化程度取值相同,仅条件C1:性别取值不同,第1列取值“男”,第10列取值“女”。换句话说,只要年龄取值“青”,文化程度取值“小学”,则不论性别是男是女都有分配同样的工作A1:脱产学习。同理,其他的可以合并。由此得到表5.9。表5.9还可以合并。考查A5:当技术员对应的三列,条件C1:性别取值相同(均不论性别),C3:文化程度取值都是“大学”,而条件C2:年龄取值分别为:青年、中年、老年,这正是条件C2取值的整个范围。换言之,采取这一行动,可以不考虑“年龄”这个条件。这三列合并后得5.10。由此,归纳出合并的原则:取相同行动的n列,若有某个条件在此n列的取值正好是该条件取值的全集,而其他条件在此n列都取相同的值,则此n列可以合并。用判定表来描述决策问题,通常经过以下几个步骤:(1)分析决策问题涉及几个条件;(2)分析每个条件取值的集合;(3)列出条件的各种可能组合;(4)分析决策问题涉及几个可能的行动;(5)做出有条件组合的判定表;(6)决定各种条件组合的行动;(7)按合并规则化简判定表。

返回5.4.4三种表达工具的比较

这三种表达逻辑的工具各有千秋,除我们谈到的几个方面外,从直观性、可修改性等方面的比较,如表5.13所示。返回习题若用户在收到本公司的货物付款单的15天内付款,则公司将给予折扣优惠,否则无折扣优惠。具体优惠政策为:付款额超过20000元,折扣为5%;付款额低于20000元(含20000元),但超过15000元,折扣为3%;付款额低于15000元(含15000元),无折扣。请画出决策树和判断表。-YYC2:是否15天内付款决策栏XA3:无折扣XA2:折扣率3%XA1:折扣率5%行动-中高C1:付款额度321条件和行动不同条件组合条件规则栏判断树练习1:根据用户欠款时间长短和现有库存量情况处理用户订货方案的判断树。处理逻辑描述如下:用户上笔货款欠款时间在30天以内,此次需求量小于库存量,则立即发货;此次需求量大于库存量,则先按库存发货,进货后再补发。用户上笔货款欠款时间在30天到100天以内,此次需求量小于库存量,则先驱付款再发货;此次需求量大于库存量,则不发货。用户上笔货款欠款时间超过100天,通知先付欠款。answer欠款时间<=30天>100天>30天<=100天需求量需求量需求量>库存>库存<=库存<=库存先按库存发货进货后再补发立即发货不发货先付款,再发货通知先付欠款条件处理方案next结构化英语表示法

Ifthenelse

If欠款时间<=30天if需求量<=库存量then立即发货else先按库存发货,进货后再补发Elseif欠款时间<=100天thenif需求量<=库存量then先付款再发货else不发货else要求先付欠款5.5数据查询应用分析在数据流程图中定义了数据存储。数据字典对每个数据存储的结构进行了描述,但是没有详细说明有哪些立即存取,有哪些查询需要实时响应。数据立即存取图就是说明这些问题的工具5.5.1数据存取要求的基本类型►5.5.2数据立即存取图►

返回5.5.1数据存取要求的基本类型由于用户各自业务要求,提出各种数据存取要求。概括起来,一般有六种基本类型。我们用E表示“实体”,用A表示实体的属性,用V表示属性值。能惟一标识出一个实体的属性称为“主关键字”,简称关键字。图5.20是实体描述的一个例子。(1)类型1:A(E)=?

已知一个给定的实体E,求某一个特定属性A的属性值是什么?例如,已知汽车配件的编号是A001,询问牌价是多少,如图5.21所示。(2)类型2:A(?){==<>}V

对于一个给定的属性A,已知其属性值V,查询所有具有属性A并且其属性值等于(不等于、大于、小于)V的实体。如图5.22所示。(3)类型2:?(E){==<>}V

已知一个实体E和一个特定值V,求这个实体哪些属性的值是V。如图5.23所示。(4)类型4:?(E)=?

给定一个实体E,它各个属性的值是什么?这往往要编制详细报表。如图5.24所示。(5)类型5:A(?)=?

对于一个给定的属性A,求每一个实体的属性A的值。如图5.25所示。(6)类型6:?(?){==<>}V

已知某个值V,要查询有哪些实体,它的哪些属性具有这个值V 。如图5.26所示。返回5.5.2数据立即存取图系统分析员在了解用户对立即存取的要求后,运用关于数据库存取的理论知识,结合新系统的实际条件进行分析,与用户商量,舍去一些不重要的和难于实现的查询项目,确定哪些实时查询需要实现,画出相应的数据立即存取图。这是数据库设计、对话设计的重要依据之一。图5.27是关于书籍信息查询的数据立即存取图。返回5.6结构化分析步骤新系统来自原系统,比原系统更合理,效率更高。但对原系统的变动要切实可行,能较快带来效率,要尽可能循序渐进,不要企图一下子做过多的变更,形成不必要的社会和心理上的阻力。从形式上讲,新系统的逻辑模型与旧系统的逻辑模型相比变化不大,可能只是在一个或几个处理中引进新技术,改变几处数据的流程,或者改变某些数据存储的组织方式。但是经过周密调查和分析的结果,其影响可能不是局部的。对这种影响必须要有充分的估计。返回

现行系统目标系统描述现实系统是如何在物理上实现的描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。描述新系统是如何实施的(包括技术)--系统设计阶段逻辑模型物理模型

(本质模型、概念模型)(实施模型、技术模型)描述重要的业务功能,无论系统是如何实施的。结构化分析步骤系统分析阶段图:参考当前系统建立新系统模型当前系统目标系统物理模型逻辑模型新系统物理模型新系统逻辑模型模型化做什么怎么做抽象化具体化实例化导出理解需求表达需求返回学生(1)通过对现实环境的调查,获当前系统的具体模型(物理模型/业务流程图)学生购书申请购书单发票领书单书107刘教务科206王会计室206李出纳员303赵教材学生购买教材的具体模型结构化分析步骤(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型

—即把完成的功能(本质)从实现功能的方式(现状/形式)分离出来学生购买教材的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书结构化分析步骤(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型

,这是分析阶段实质性的一步

计算机售书系统的逻辑模型学生学生购书单发票领书单审查并开发票开领书单无效书单结构化分析步骤第三步可以这样进行:

1)决定“变化的范围”,即决定目标系统与当前系统逻辑上不同的部分方法

温馨提示

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

评论

0/150

提交评论