《信息系统分析与设计》第4章 系统分析ppt课件.ppt
第四章 系统分析,安阳师范学院计算机与信息工程学院,本章要点,系统分析的任务、方法及工具组织结构图与业务流程图数据流程图基本成分及画法数据字典系统逻辑模型系统分析说明书,4.1 系统分析的基本概念,信息系统分析是应用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此间的关系。 系统分析是系统开发中最重要、也是最困难的阶段,这一阶段产生的系统说明书,既是后续开发工作的依据,也是衡量一个信息系统优劣的依据。,4.1.1 系统分析的任务,系统分析的任务:系统分析员与用户一起充分讨论用户的要求,并把双方的理解用书面文档系统说明书表达出来。系统说明书审核通过之后,将成为系统设计的依据和将来验收系统的依据。分析本质上就是一个发现过程,分析期间推动活动的关键词就是发现和理解。,4.1.1 系统分析的任务,新系统不是无源之水,无本之木,源就是现在的系统,因此系统分析员要在总体规划的基础上,与用户密切配合,用系统的思想和方法,对企业的业务活动进行全面的调查分析,掌握详细的工作流程,分析现行系统的局限性和不足之处,找出制约现行系统的“瓶颈”,确定新系统的逻辑功能,根据企业的条件,找出几种可行的解决方案,分析比较这些方案的投资和可能的收益。,系统分析的困难,实际工作中常常有这种情形:业务人员认为信息系统的开发只是技术人员的事,而开发人员根据对用户要求的肤浅理解就匆匆忙忙进行系统设计、编写程序。系统交给用户使用时,用户说“这不是我要的系统”。对系统分析缺乏足够的重视,是导致研制周期一再延长甚至以失败告终的重要原因,也是系统分析难于进行的主观原因。,系统分析的困难,对系统分析员的要求,系统分析员要成为业务专家才能与用户交流顺畅,充分理解用户的要求。才能确保系统满足了业务需求,甚至用更好的方法来解决业务需求。在用户中建立可信度,用户才可能接受你的建议。系统分析员应有较强的系统观点,较好的逻辑分析能力,能够从复杂的事物中抽象出系统模型。还应具备较好的口头和书面表达能力,较强的组织能力,善于与人共事。,4.1.2 系统分析的步骤,详细调查、收集和分析用户需求 在初步调查的基础上,进一步收集和了解、分析用户需求,调查用户的有关详细情况。 确定初步的逻辑模型 通过一组图表工具描述系统的逻辑模型,解决系统“干什么”的问题。编制系统说明书对图表描述的逻辑模型进行适当的文字说明,形成书面文档。,4.1.3 系统需求分析方法,需求分析实际上就是对对象进行系统地调查。在系统调查过程中应始终坚持正确的方法,确保调查工作的客观性、正确性。系统调查的工作应该遵循如下几点:自顶向下全面展开 头脑冷静,弄清现状 工程化的工作方式 全面铺开与重点调查相结合 主动沟通,亲和友善,4.1.4 详细调查,详细调查的对象是现行系统,目的在于完整掌握现行系统的现状、发现问题和薄弱环节、收集资料,为系统分析和提出新系统的逻辑设计做好准备。 详细调查应遵循用户参与的原则,即由相关部门的业务人员、主管人员和系统分析人员、系统设计人员共同进行,深入地发现对象系统存在的问题,共同研讨解决的方案。,详细调查的范围,组织机构和功能业务 组织目标和发展战略 工艺流程和产品构成 数据与数据流程 业务流程与工作形式 管理方式和具体业务的管理方法 决策方式和决策过程 可用资源和限制条件现存问题和改进意见,4.2 业务流程图,在对系统的组织结构和功能进行分析时,本章从一个实际的产品库存管理信息系统的业务流程角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。 业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。,组织结构图,管理职能分析图,组织业务关系图,业务流程图,业务流程图(transaction flow diagram,TFD)就是用一些规定的符号及连线来表示某个具体业务的处理过程。 业务流程图的绘制基本上按照业务的实际处理步骤和过程绘制。换句话说,就是一本用图形方式来反映实际业务处理过程的“流水账”。,业务流程图的基本符号,外部项 业务处理 表格/报表制作,库存数据 数据/单据 物流/信息流,库存业务流程图举例,4.3 数据流程图(data flow diagram,DFD),数据分析的最后一步就是对数据流程的分析,即把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去具体的组织机构、信息载体、处理工作、物资材料等因素,单从数据流动过程来考查实际业务的数据处理模式。 数据流程分析包括对信息的流动、传递、处理、存储等分析,按业务流程图理出的业务流程序,将相应调查过程中掌握的数据处理过程,绘制成一套完整的数据流程图。,数据流程图,数据流图DFD采用一系列分层次的数据流图来描述系统。DFD的每一个层次都代表了系统的一个抽象水平。高层次DFD中的处理可以进一步分解成低层次、更详细的DFD。,数据流程图的分层结构,P1 P2 P3 P4,P41P42,顶层,第一层,第二层,数据流程图的基本成分,外部实体,外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。如:顾客、职工、供货单位等。 外部实体是数据的来源(谁提供了最初始的数据) 外部实体是数据的去处(数据对谁有价值),数据处理,处理指对数据的逻辑处理功能,也就是对数据的变换功能。别名:功能、处理过程,数据加工。,标识部分(层次化的功能编号)功能描述部分(动宾词组)功能执行部分(人,部门,计算机程序),通常可省略,数据流,数据流是指处理功能的输入或输出,用一个水平箭头或垂直箭头表示。箭头指出数据的流动方向。例如:信件、票据、电话等。,数据存储,数据存储表示某种数据保存后的逻辑描述,不是指保存数据的物理地点或物理介质。流入数据存储的数据流将处理后的数据写入或修改到数据存储中流出数据存储的数据流从数据存储中查询获取数据,不改变原来的数据,数据流程图的画法-顶级流程图,下面我们以某厂产品库存管理信息系统为例,说明数据流程图的画法。,第一层流程图,第二层流程图-出入库管理,第二层流程图-统计分析,第三层流程图-出库管理,画数据流程图的注意事项,关于层次的划分逐层分解是严格的自顶向下进行,下层图(子图)是上层图中某个处理框的“放大”,目的是把一个复杂的功能逐步分解为若干较为简单的功能。 检查数据流程图的正确性 数据守恒;父子图平衡;任何一个数据流至少有一端是处理框;任何一个数据存储,必定有流入的数据流和流出的数据流。 提高数据流程图的易理解性 简化处理间的联系,均匀分解,适当命名,绘制数据流程图的工具,Microsoft Visio可用于绘制计算机系统中 需要的各种模型图绘制DFDDFD的四种元素数据流两端元素的关联性语法检查上下层分解关系,子图自动继承父图有 关的数据流以树状目录列出全部处理,数据流程图的优缺点,图形元素少,易学易读,容易与用户沟通有层次性,允许系统分析员由上至下地逐步分析系统,不会受困于太多复杂的细节不能描述系统的控制流潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验,4.4 数据字典,DFD 是一种简化的模型,虽然直观,但没有具体细节,仅依靠DFD定义需求不够充分。 数据字典是对 DFD的补充描述,用来描述数据流程图中的数据流、数据存储、处理过程和外部实体的详细内容。 数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消除误解。,4.4.1 数据字典的条目,数据字典中有六类条目: 可被重用的条目: 数据元素 数据结构DFD图中的元素:3. 数据流(可引用定义好的数据结构)4. 数据存储(可引用定义好的数据结构)5. 外部实体6. 处理过程,数据元素,数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、姓名、性别等。 对每个数据元素,需要描述以下属性:名称:尽量反映该元素的含义,便于理解和记忆。别名:一个数据元素,可能其名称不止一个,若有多个名称,需加以说明。类型:说明取值是字符型还是数字型等。取值范围和取值的含义:指数据元素可能取什么值或每一个值代表的意思。长度:指该数据元素由几个数字或字母组成 简要说明,数据元素条目,数据结构,数据结构的描述重点,是数据之间的组合关系,即说明这个数据结构包括哪些成分。 一个数据结构可以包含若干数据元素和数据结构,这些成分中有三种特殊情况: (1)必选项 (2)任选项 (3)重复项 *,数据结构条目,数据结构条目,数据流,数据流需要描述以下属性: (1)数据流的来源 (2)数据流的去处 (3)数据流的组成 (4)数据流的流通量 (5)高峰时的流通量,数据流条目,数据存储,数据存储的条目,主要描写该数据存储的结构,及有关的数据流、查询要求。 有些数据存储的结构可能很复杂,如“库存台帐”数据结构中包括入库帐和出库张,其中每一项又是数据结构。这些数据结构有各自的条目分别加以说明,因此在“库存台帐”的条目中只需列出这些数据结构,而不需列出其内部构成。,数据存储条目,处理过程,对于数据流程图中的处理框,需要在数据字典中描述处理框的编号、名称、功能的简要说明,以及有关的输入、输出。 通常仅重点描述最底层的处理过程。复杂的处理逻辑可以借助于一些图表工具,如结构化语言、判定树、判定表等。,处理过程条目,外部实体,外部实体是数据的来源和去向。 在数据字典中关于外部实体的条目,主要说明外部实体产生的数据流和传给该外部实体的数据流,以及该外部实体的数量。,外部实体条目,4.4.2 数据字典的使用与管理,按各种要求列表,没有冗余,不遗漏数据相互参照,便于系统修改由描述内容检索名称一致性检验和完整性检验数据流的来源、去向是否完整数据元素是否遗漏或过剩数据存储的来源、去向是否完整处理与输入数据流是否匹配管理:手工/工具(自动化的软件工具支持数据字典的管理与维护),4.5 处理逻辑的表达,数据流程图是系统分析的主要工具,它着重表达系统的逻辑功能及各个部分之间的联系。数据字典补充说明系统所涉及的数据,是数据属性的清单,但字典中的描述是高度概括的。在字典中要表达处理过程的细节可使用小说明(或基本说明)。,4.5 处理逻辑的表达,系统的最小功能单元就是最底层数据流程图中的每个处理加工,称为基本处理。 对基本处理的说明称为“小说明”或“基本说明”。基本说明应准确地描述一个基本处理“做什么”,包括处理的激发条件、加工逻辑、优先级、执行频率、出错处理等等。其中最基本的是加工逻辑。加工逻辑是指用户对这个加工的逻辑要求,即输出数据流与输入数据流之间的逻辑关系。,编写基本说明注意的问题,数据流程图中的每一个基本处理,都必须有一个基本说明;基本说明表达一个基本处理对数据流的转换路径,即指出这个功能单元的输入数据流、输出数据流以及其间的处理步骤;基本说明表达一个功能单元的转换策略,不表达执行这项策略的方法;应该把冗余度控制在最低程度;用一组标准的方法书写基本说明,既要简单明确,又要具有较高的可读性,编写基本说明的工具,针对复杂的处理逻辑,编写基本说明有三种常见的工具:,结构化语言,三种基本语句:祈使语句判断语句循环语句结构化语言使用的三类词汇:祈使句中的动词数据字典中定义的名词某些逻辑表达式中的保留字,1.祈使语句,指出要做什么,包括一个动词和一个宾语,动词指出要执行的功能,宾语表示动作的对象。 使用祈使语句,应注意以下几点:力求精炼,不应太长不使用形容词和副词动词要能明确表达执行的动作名词必须在数据字典中有定义,2.判断语句,判断语句类似结构化程序设计中的判断结构。,一般形式为: 如果 条件 则 动作A 否则 (条件不成立) 动作B,例如:如果 购货额在5万元以上 则 如果 最近三个月无欠款 则 折扣率为15 否则 如果 与公司交易10年以上 则 折扣率为10 否则 折扣率为5否则 无折扣,3.循环语句,循环语句表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。 例如: 对每一种产品 计算当日累计库存量,判定树,如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂,可以使用判定树来表示。如:邮政系统中,包裹邮资的计算策略与国别、路程、重量、保值额度等有关,使用自然语言来描述显然不够简洁。,判定树,判定表,如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的地方。,判定表,某厂对一部分职工重新分配工作,分配原则是:年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工;年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者当技术员;年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。三个因素:性别、年龄、文化程度,取值范围分别是:性别:男,女年龄:青年(小于20岁),中年(满20岁而不足50岁),老年(满50岁及以上)文化程度:小学,中学,大学,1.构造空表,2.填表,3.判定表的合并简化,显然,某些条件是可以合并考虑的,可以使判定表简化。合并的原则:取相同行动的列,若有某个条件Ci在此n 列的取值 正好是该条件取值的全集,而其他条件在此列都取相同的值,则此列可以合并。,第一次合并,第二次合并,使用判定表的步骤,用判定表来描述决策问题,通常经过以下几个步骤: (1)分析决策问题涉及几个条件; (2)分析每个条件取值的集合; (3)列出条件的各种可能组合; (4)分析决策问题涉及几个可能的行动; (5)作出有条件组合的判定表; (6)决定各种条件组合的行动; (7)按合并规则化简判定表。,三种工具的比较,各工具的适用范围,三种工具的适用范围比较概括如下:判定树适用于10-15种行动的一般复杂程度的决策。有时可将判定表转换成判定树,便于用户检查。判定表适合于5-6个条件的复杂组合。虽然判定表也适用于很多数目的行动或条件组合,但数目庞大时使用并不方便。如果一个判断包含了一般顺序执行的动作或循环执行的动作,则最好用结构化语言表达。,4.6 数据的立即存取分析,在数据流程图中定义了数据存储,数据字典对每个数据存储的结构进行了描述,但是没有详细说明有哪些立即存取,有哪些查询需要实时响应。 数据立即存取图(Data Immediate-access Diagram)就是说明这些问题的工具。系统分析员应与用户讨论,确定必要的立即存取要求,并用适当的工具表达用户的立即存取要求,这是系统分析员的一项重要工作。,数据立即存取的类型,我们用E表示“实体”(Entity),用A表示实体的属性(Attribute),用V表示属性的值(Value)。,类型1,类型1:A(E)=?,类型2,类型2:A(?)=,类型3,类型3:?(E)=,类型4,类型4:?(E)=?,类型5,类型5:A(?)=?,类型6,类型6:?(?)=V,数据立即存取举例,用户想通过查询,确定向哪个厂家订货可以做到物美价廉,就涉及到三个数据存储:通过“物品名称”,“规格”查“物品编号” A(?)=V通过“物品编号”查询全部的“厂家编号” A(?)=V查找出出厂价 A(E)=?通过最低出厂价查询“厂家编号”,A(?)=Vmin通过厂家编号查“厂家信息”,?(E)=?,数据立即存取图,4.7 新系统的逻辑模型,系统分析阶段的任务是明确系统功能。通过对现行系统的调查分析,抽象出现行系统的逻辑模型,分析其存在的问题,如某些数据流向不合理,某些数据存储存在不必要的冗余,某些处理原则不合理等等。 本章前面分析的产品库存信息系统,最终的系统逻辑模型如图所示:,库存管理信息系统的逻辑模型,新系统逻辑方案的建立,详细地了解情况,进行系统分析都是为最终确立新系统的逻辑方案作好准备。所以说新系统逻辑方案的建立是系统分析阶段的最终成果。它对于下一步的设计和实现都是基础性的指导文件。 新系统的逻辑方案主要包括:对系统业务流程分析整理的结果;对数据及数据流程分析整理的结果;子系统划分的结果;各个具体的业务处理过程。,4.8 系统说明书,一份好的系统分析说明书应该不但能够充分展示前段调查的结果,而且还要反映系统分析的结果新系统的逻辑方案,这是非常重要的。 系统分析说明书要包括以下内容:,系统说明书的内容结构,.引言.项目概述 (1) 项目的主要工作内容 (2) 现行系统的调查情况 (3) 新系统的逻辑模型.实施计划 (1) 工作任务的分解 (2) 进度 (3) 预算,系统说明书的参考模板,1. 引言摘要:名称、目标和功能背景:承担者、用户、与其他系统和机构的关系参考和引用资料专门术语定义2. 项目概述项目的主要工作内容系统功能说明(功能模型)系统数据说明(数据模型)系统其他需求说明(性能/安全 /故障处理/环境等),3. 计划系统划分与人员分工进度预算(劳务、办公费、差旅费、资料费等),系统说明书的书写要求,正确性相对于用户的需求而言待开发的系统与用户的期望相吻合完整性包含了软件要做的全部事情指明系统对有效和无效输入的反应所有条目都有标识(页、图、表、参考资料)不要遗留任何有待解决的问题,无法避免时应进行标明,并注明谁和什么时候去解决,系统说明书的书写要求,一致性各个需求的描述不相矛盾冲突术语、冲突特性、定时关系无二义性对每一项需求有且只有一种解释可修改性书写结构和风格易于后续的修改可跟踪性需求与来源、设计、源代码和测试用例可以对应可验证性可以运用一些可行的手段进行验证和确认,谢 谢,安阳师范学院计算机与信息工程学院,