




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 结构化系统分析结构化系统分析本章计划学时:本章计划学时:8学时学时本章主要内容本章主要内容 系统分析的任务系统分析的任务 数据流图数据流图 数据字典数据字典 表达处理的工具表达处理的工具 实体关系图实体关系图 系统说明书系统说明书6.1 系统分析的任务系统分析的任务 系统分析员与用户在一起充分理解用户的要系统分析员与用户在一起充分理解用户的要求,并把双方的理解用书面文档求,并把双方的理解用书面文档系统分系统分析说明书表达出来。析说明书表达出来。 分析本质上就是一个发现过程,分析期间推分析本质上就是一个发现过程,分析期间推动活动的关键词就是动活动的关键词就是发现和理解发现和理解。系统
2、分析的困难系统分析的困难 系统分析是研制信息系统系统分析是研制信息系统最重要最重要的阶段,也的阶段,也是是最困难最困难的阶段。的阶段。 困难主要来自困难主要来自三个三个方面:方面: 问题空间的理解问题空间的理解 人与人之间的通讯人与人之间的通讯 环境的不断变化环境的不断变化系统分析员要成为业务专家系统分析员要成为业务专家 才能与用户交流顺畅,充分理解用户的要求。才能与用户交流顺畅,充分理解用户的要求。 才能确保系统满足了业务需求,甚至用更好才能确保系统满足了业务需求,甚至用更好的方法来解决业务需求。的方法来解决业务需求。 在用户中建立可信度,用户才可能接受你的在用户中建立可信度,用户才可能接受
3、你的建议。建议。其他要求其他要求: :系统分析员应有较强的系统观点,较好的系统分析员应有较强的系统观点,较好的逻辑分析能力,能够从复杂的事物中抽象出系统模逻辑分析能力,能够从复杂的事物中抽象出系统模型。他还应具备较好的口头和书面表达能力,较强型。他还应具备较好的口头和书面表达能力,较强的组织能力,善于与人共事。的组织能力,善于与人共事。6.1.2 系统需求系统需求分析的重要任务是理解和表达需求分析的重要任务是理解和表达需求 需求有哪些种类?需求有哪些种类? 如何寻找需求?如何寻找需求? 如何表述需求?如何表述需求?需求的来源系统相关者 系统需求的主要来源是系统的各种系统相关系统需求的主要来源是
4、系统的各种系统相关者,他们是对系统成功感兴趣的所有人(与者,他们是对系统成功感兴趣的所有人(与系 统 有 关 系 的 所 有 人 , 也 称 涉 众系 统 有 关 系 的 所 有 人 , 也 称 涉 众stakeholderstakeholder)。)。 系统分析中获得需求的首要步骤就是确定各系统分析中获得需求的首要步骤就是确定各类系统相关者。类系统相关者。系统相关者 业务用户业务用户 信息用户信息用户 管理用户管理用户 主管用户主管用户 外部用户外部用户 客户客户 技术人员技术人员系统需求的种类系统需求是新系统必须完成的功能或其局限性。系统需求是新系统必须完成的功能或其局限性。 系统需求一般
5、分为两类:系统需求一般分为两类:功能性需求功能性需求技术性需求技术性需求功能性需求 功能需求是系统必须完成的活动或过程,也功能需求是系统必须完成的活动或过程,也就是系统将要涉及的商业应用。就是系统将要涉及的商业应用。 功能需求是根据业务过程和业务规则确定的,功能需求是根据业务过程和业务规则确定的,有些容易获取,有些则是隐含的,需要去发有些容易获取,有些则是隐含的,需要去发现。现。技术性需求 技术需求也称非功能性需求,是和公司的环技术需求也称非功能性需求,是和公司的环境、硬件和软件有关的所有可操作目标。境、硬件和软件有关的所有可操作目标。 例如:系统必须能支持例如:系统必须能支持100100个并
6、发用户;保存个并发用户;保存订单的时间不能超过订单的时间不能超过0.50.5秒等等,涉及系统性秒等等,涉及系统性能、可靠性、安全性等质量特性。能、可靠性、安全性等质量特性。 通常是一些技术目标。通常是一些技术目标。如何表述需求 自然语言自然语言 不需要任何准备不需要任何准备 但既要保证精确无二义性,又要保证叙述不至于但既要保证精确无二义性,又要保证叙述不至于晦涩难懂,是困难的(随意性、误会)晦涩难懂,是困难的(随意性、误会) 模型模型 模型是人们对复杂问题的一种抽象或者对实物的模型是人们对复杂问题的一种抽象或者对实物的一种简单实现或规划蓝图。一种简单实现或规划蓝图。 例如:飞机模型,建筑模型,
7、数学模型等等。例如:飞机模型,建筑模型,数学模型等等。模型的作用模型的作用信息系统模型的作用:信息系统模型的作用: 建立模型的过程可以使得分析员更深入地了解建立模型的过程可以使得分析员更深入地了解和定义信息系统的需求,并发现问题和定义信息系统的需求,并发现问题 对复杂问题进行简化对复杂问题进行简化 有助于回忆需求的细节有助于回忆需求的细节 有助于同开发小组的其他成员交流有助于同开发小组的其他成员交流 有助于同客户交流有助于同客户交流 为以后的维护升级提供了文档为以后的维护升级提供了文档信息系统的模型信息系统的模型在信息系统分析中有三类常用的图示化模型:在信息系统分析中有三类常用的图示化模型:
8、功能模型功能模型利用数据流图分层描述系统的功能和数据的处理流程利用数据流图分层描述系统的功能和数据的处理流程利用数据字典辅助解释数据流图中的每个元素利用数据字典辅助解释数据流图中的每个元素 数据模型数据模型利用实体关系图描述系统中的数据实体及其关系利用实体关系图描述系统中的数据实体及其关系 对象模型对象模型利用类图描述对象、对象之间的联系。和数据实体不利用类图描述对象、对象之间的联系。和数据实体不同,对象在数据之外增加了行为特性同,对象在数据之外增加了行为特性如何着手建模如何着手建模构建模型首先需要识别用户的需求,识别需构建模型首先需要识别用户的需求,识别需求一般可以从两个方面着手:求一般可以
9、从两个方面着手:识别系统中的事件识别系统中的事件(Events)建立过程模建立过程模型(数据流图,型(数据流图,DFD)识别系统中的事物识别系统中的事物(Things) 建立数据建立数据模型(实体关系图,模型(实体关系图,ER)1、事件与系统需求事件事件在特定时间、特定地点发生的,在特定时间、特定地点发生的,能够描述出来并值得保存的的事情。能够描述出来并值得保存的的事情。系统的所有处理过程都是由事件驱动的,系统的所有处理过程都是由事件驱动的,所以将事件列表并进行分析,对于定义系所以将事件列表并进行分析,对于定义系统需求是十分有意义的。统需求是十分有意义的。事件的类型我们可以从以下类型来寻找事件
10、:我们可以从以下类型来寻找事件: 外部事件外部事件(external event)(external event) 时间事件时间事件(temporal event)(temporal event) 状态事件状态事件(state event)(state event)外部事件在系统之外发生,通常是由外部的人或组织在系统之外发生,通常是由外部的人或组织激发的事件,这些人或组织是数据的提供者激发的事件,这些人或组织是数据的提供者和接收者。和接收者。比如图书馆流通系统中的读者比如图书馆流通系统中的读者外部事件能够导出系统需要处理的关键事务外部事件能够导出系统需要处理的关键事务寻找外部事件 首先要确定外
11、部实体,然后再分析。首先要确定外部实体,然后再分析。 外部实体需要一个事务处理外部实体需要一个事务处理 比如读者借书比如读者借书 外部实体需要系统提供某些信息外部实体需要系统提供某些信息 比如读者查阅书目比如读者查阅书目 某些数据改变了,系统需要更新它们某些数据改变了,系统需要更新它们 比如书籍的位置改变比如书籍的位置改变 管理过程需要某些信息管理过程需要某些信息 比如制订新的采购计划需要流通统计情况比如制订新的采购计划需要流通统计情况时间事件当系统时间到达某一刻时发生的事件,这些当系统时间到达某一刻时发生的事件,这些事件通常要求系统能定时自动地完成某些输事件通常要求系统能定时自动地完成某些输
12、出或处理。出或处理。如:图书馆流通系统中的按月发布逾期催还如:图书馆流通系统中的按月发布逾期催还名单。名单。如:每天晚上如:每天晚上1212:0000定时转换归档医疗图像。定时转换归档医疗图像。注意命名时必须包含所要完成的处理和规定注意命名时必须包含所要完成的处理和规定期限期限状态事件系统内部的变化触发系统对某个处理的需要,系统内部的变化触发系统对某个处理的需要,这种情况的发生称为状态事件这种情况的发生称为状态事件比如:销售系统中库存数一旦低于控制点就产比如:销售系统中库存数一旦低于控制点就产生订货单生订货单状态事件一般是外部事件的结果,它的发生状态事件一般是外部事件的结果,它的发生是不定时的
13、是不定时的识别事件的规则 区分事件与具体响应过程区分事件与具体响应过程事件响应中的一系列交互过程是完整具体的实现,而事件响应中的一系列交互过程是完整具体的实现,而不是独立的一个事件。例如:拿信用卡交费不是独立的一个事件。例如:拿信用卡交费 跟踪关键业务的整个生命周期来发现事件跟踪关键业务的整个生命周期来发现事件跟踪读者实现从图书馆借书的全部过程跟踪读者实现从图书馆借书的全部过程 暂时忽略技术性依赖事件和系统控制事件暂时忽略技术性依赖事件和系统控制事件如管理员登录系统,修改口令,每天的备份如管理员登录系统,修改口令,每天的备份事件名称事件名称触发点触发点事件源事件源活动活动响应结果响应结果事件目
14、的地事件目的地客户希望检查客户希望检查产品可订量产品可订量产品的查产品的查询请求询请求客户客户查询产品的查询产品的可用量可用量产品可用量详产品可用量详细情况细情况客户客户客户建立一个客户建立一个订单订单新订单新订单客户客户建立新订单建立新订单实时连接实时连接订单确认订单确认订单细节订单细节交易信息交易信息信用卡处理信用卡处理系统系统客户客户发装部门发装部门银行银行客户改变或作客户改变或作废订单废订单修改订单修改订单的请求的请求客户客户更新订单更新订单修改确认修改确认订单修改细节订单修改细节交易信息交易信息客户客户发装部门发装部门银行银行客户和管理层客户和管理层检查订单状态检查订单状态订单状态订
15、单状态的查询请的查询请求求客户或客户或管理部管理部门门查询订单的查询订单的状态状态订单状态的详订单状态的详细情况细情况客户或管理客户或管理部门部门为订单发货为订单发货订单发货订单发货通知通知发装部发装部记录订单的记录订单的执行执行客户退货客户退货订单退货订单退货通知通知客户客户建立退货记建立退货记录录退货确认退货确认交易信息交易信息客户客户银行银行网上订单系统的事件表网上订单系统的事件表事件名称事件名称触发点触发点事件源事件源活动活动响应结果响应结果事件目的地事件目的地未来客户需要未来客户需要目录目录产品目录产品目录的查询请的查询请求求未来客未来客户户提供产品目录提供产品目录信息信息产品目录产
16、品目录未来客户未来客户客户更新基本客户更新基本信息信息客户信息客户信息修改通知修改通知客户客户更新客户基本更新客户基本信息信息市场部给客户市场部给客户发送促销材料发送促销材料促销产品促销产品细节细节市场部市场部分发促销单分发促销单促销单促销单客户和未来客户和未来客户客户调整产品目录调整产品目录产品目录产品目录更新细节更新细节销售部销售部更新产品目录更新产品目录每日交易汇总每日交易汇总每天末每天末产生交易汇总产生交易汇总报告报告交易汇总报交易汇总报告告财务部财务部每周订单汇总每周订单汇总每周末每周末产生订单汇总产生订单汇总报告报告订单汇总报订单汇总报告告管理部门管理部门网上订单系统的事件表网上订
17、单系统的事件表2、事物与系统需求事物事物系统需要处理或保存的对象。系统需要处理或保存的对象。如客户,订单,产品等。如客户,订单,产品等。对信息系统中事物的理解和建模是定义对信息系统中事物的理解和建模是定义系统需求的另外一个重要方面。系统需求的另外一个重要方面。事物的类型事物的类型: 实在有形:书籍、产品、文档 角色身份:医生、读者、顾客 组织单位:小组、部门 设备:打印机、传感器、鼠标 事件:借阅、订货、销售、罚款 场所:零售店、仓库事物之间的关系事物之间的关系事物间的很多关系对于研究系统也非常重事物间的很多关系对于研究系统也非常重要。要。关系:指某些事物间自然发生的联系。关系:指某些事物间自
18、然发生的联系。例如:学生和图书,学生可以借阅图书。例如:学生和图书,学生可以借阅图书。例如:一个客户可以发出订单。例如:一个客户可以发出订单。对每一个事物分析和它相关的事物,找出对每一个事物分析和它相关的事物,找出关系。关系。事物之间关系的基数事物之间关系的基数 关系的基数:指一个事物关联另外一个事物关系的基数:指一个事物关联另外一个事物的数量(一对一,一对多,多对多或者一个的数量(一对一,一对多,多对多或者一个具体的数量具体的数量44个)。个)。如:学生和图书,一个学生可以预约多本图书,如:学生和图书,一个学生可以预约多本图书,每本图书可能被多个学生预约。每本图书可能被多个学生预约。如:一个
19、客户可以发出多个订单,一个订单只能如:一个客户可以发出多个订单,一个订单只能是一个客户的。是一个客户的。事物的属性事物的属性 属性:有关事物的一条特征信息。属性:有关事物的一条特征信息。 例如:客户的姓名、年龄、电话等。例如:客户的姓名、年龄、电话等。 标识符:能唯一区分事物的属性。标识符:能唯一区分事物的属性。 例如:发货单号,职工编号。例如:发货单号,职工编号。 复合属性:指包含了许多相关属性的属性。复合属性:指包含了许多相关属性的属性。 例如:姓名可能包含姓和名,日期包含年月日。例如:姓名可能包含姓和名,日期包含年月日。6.2 数据流图数据流图系统分析阶段:系统分析阶段: 使用数据流图使
20、用数据流图DFD来建立系统需求的过程模来建立系统需求的过程模型。(结构化系统分析的方法)型。(结构化系统分析的方法) 系统分析采用系统分析采用ER图来建立系统的数据模型。图来建立系统的数据模型。结构化分析的思想结构化分析的思想 数据流图数据流图DFD采用一系列分层次的数据流图采用一系列分层次的数据流图来描述系统。来描述系统。 DFD的每一个层次都代表了系统的一个抽象的每一个层次都代表了系统的一个抽象水平。高层次水平。高层次DFD中的处理可以进一步分解中的处理可以进一步分解成低层次、更详细的成低层次、更详细的DFD。分层的数据流图分层的数据流图 纵观纵观顶层顶层 P1 P2 P3 P4 P41P
21、42 第一层第一层第二层第二层6.2.1 数据流图的基本成分数据流图的基本成分 数据流图用来记录系统中的数据和数据在特数据流图用来记录系统中的数据和数据在特定的过程中的流动,即数据如何被采集、处定的过程中的流动,即数据如何被采集、处理、保存和使用的(围绕信息系统的功能)理、保存和使用的(围绕信息系统的功能)外部实体外部实体数据处理数据处理p1数据存储数据存储数据流数据流外部实体指系统以外又与系统有联系的人或事物外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。它表达了该系统数据的外部来源和去处。例如:人、组织、外部系统等等。例如:人、组织、外部系统等等。 外部实体
22、是数据的来源(谁提供了最初始的数据?)外部实体是数据的来源(谁提供了最初始的数据?) 外部实体是数据的去处(数据对谁有价值?)外部实体是数据的去处(数据对谁有价值?) 读者读者 图书图书管理员管理员 馆长馆长 读者读者图书图书管理员管理员外部实体外部实体处理处理指对数据的逻辑处理功能,也就是对数指对数据的逻辑处理功能,也就是对数据的变换功能。据的变换功能。别名:功能、处理过程,数据加工别名:功能、处理过程,数据加工标识部分(层次化的功能编号)标识部分(层次化的功能编号)功能描述部分(动宾词组)功能描述部分(动宾词组)功能执行的角色(人,部门,计功能执行的角色(人,部门,计算机程序),通常可省略
23、算机程序),通常可省略P2.2.1识别识别读者身份读者身份图书管理员图书管理员数据处理数据处理数据流是指处理功能的输入或输出(箭头表示数据流是指处理功能的输入或输出(箭头表示数据流向)数据流向) 。例如:数据,订单,查询要求等例如:数据,订单,查询要求等 经理经理编制编制财务财务报表报表合格订单合格订单编编 辑辑订货单订货单计计 算算 应收款应收款数据流数据流数据存储表示某种数据保存后的逻辑统称。不数据存储表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。是指保存数据的物理地点或物理介质。流入数据存储的数据流流入数据存储的数据流 将处理后的数据写入或修改到数据存储中将处理后的数
24、据写入或修改到数据存储中流出数据存储的数据流流出数据存储的数据流 从数据存储中查询获取数据,不改变原来的数据从数据存储中查询获取数据,不改变原来的数据销售量销售量D2D2产品销售帐产品销售帐计算计算销售量销售量累计销售量单价累计销售量单价计算销售总额计算销售总额商品编号商品编号#_#_D2D2产品产品D5D5职工职工D2D2产品产品数据存储数据存储数据流图中的图形元素有不同的画法,本书使数据流图中的图形元素有不同的画法,本书使用用Gane-Sarson画法画法储户储户业务业务处理处理帐目帐目存折存折存取要求存取要求其他图形表示其他图形表示事件表中能找到数据流图中出现的一些元素:事件表中能找到数
25、据流图中出现的一些元素:活动对应于处理框活动对应于处理框事件源和事件目标对应于外部实体事件源和事件目标对应于外部实体触发点和响应结果是与外部实体相连的数据流触发点和响应结果是与外部实体相连的数据流只有数据存储在事件响应表中没有对应的描述只有数据存储在事件响应表中没有对应的描述一个事件的一个事件的DFD事件和事件和DFD 事件列表中的每一个事件都可以画出一个事件列表中的每一个事件都可以画出一个DFD图(需要额外添加数据存储元素)图(需要额外添加数据存储元素) 事件列表可以作为画数据流图的一个基础和事件列表可以作为画数据流图的一个基础和检验列表检验列表 事件对应事件对应DFD模型的中间层模型的中间
26、层 事件可以继续分解绘制其具体的处理过程(向下事件可以继续分解绘制其具体的处理过程(向下细化)细化) 系统中事件较多时,应进行分组(向上抽象)系统中事件较多时,应进行分组(向上抽象)单个单个DFD的组合的组合 事件之间有一定的联系,一般通过数据存储事件之间有一定的联系,一般通过数据存储建立关联建立关联完整的数据流图完整的数据流图根据事件表重新组织,绘制完整的根据事件表重新组织,绘制完整的DFD模型:模型: 按照事件表,对每一个事件建立一个按照事件表,对每一个事件建立一个DFD片片段图。段图。 把所有的把所有的DFD片段进行分组,归纳为大的处片段进行分组,归纳为大的处理逻辑,形成上一层理逻辑,形
27、成上一层DFD(复杂系统层次更(复杂系统层次更多)。多)。 将属于一组内的将属于一组内的DFD片段放在一张图上,形片段放在一张图上,形成事件层的成事件层的DFD图。图。 对每个事件的数据处理进一步分解为下一层对每个事件的数据处理进一步分解为下一层DFD (复杂系统层次更多)。(复杂系统层次更多)。完整的数据流图完整的数据流图 真正进行结构化系统建模过程中,应该采用真正进行结构化系统建模过程中,应该采用自顶向下的分解方法,事件表只是寻找需求自顶向下的分解方法,事件表只是寻找需求的辅助工具(启发)的辅助工具(启发) 建模是一个从具体到抽象,又从抽象到具体建模是一个从具体到抽象,又从抽象到具体的过程
28、,需要反复多次的过程,需要反复多次6.2.2 数据流图的画法数据流图的画法 下面我们以高等学校学籍管理系统为例说明下面我们以高等学校学籍管理系统为例说明画数据流图的方法画数据流图的方法 如果不能直接建模,可以考虑以下事件:如果不能直接建模,可以考虑以下事件: 新生登记新生登记 登记期末成绩登记期末成绩 期末成绩分析期末成绩分析 登记补考成绩登记补考成绩 补考后成绩分析补考后成绩分析 评定奖学金评定奖学金 处理退学、留级、修学、复学处理退学、留级、修学、复学 发成绩单发成绩单顶层顶层新生名单新生名单学籍表学籍表学籍管学籍管理系统理系统 招生办招生办 教委教委用人用人单位单位报表报表毕业生登记表毕
29、业生登记表学籍管理系统顶层学籍管理系统顶层DFDDFD第一层第一层第二层第二层“成绩管理成绩管理”框的展开框的展开第三层第三层“处理期末成绩处理期末成绩”框的展开框的展开第三层第三层“分析期末成绩分析期末成绩”框的展开框的展开第三层第三层“分析补考成绩分析补考成绩”框的展开框的展开6.2.3 画数据流图的注意事项画数据流图的注意事项要注意以下几点:要注意以下几点:关于层次的划分关于层次的划分语法的正确性语法的正确性可读性可读性确定系统边界确定系统边界层次的划分应遵守:层次的划分应遵守:(1)展开的层次与管理层次一致,也可以划分)展开的层次与管理层次一致,也可以划分得更细。得更细。(2)同一张图
30、上的所有处理过程应该处于同一)同一张图上的所有处理过程应该处于同一个抽象层次上(抽象粒度一致)。个抽象层次上(抽象粒度一致)。(3)一个处理框经过展开,一般以分解为)一个处理框经过展开,一般以分解为410处理框为宜(最好处理框为宜(最好59个)个)(4)最下层的处理过程用几句话,或者用几张)最下层的处理过程用几句话,或者用几张判定表,或一张简单的判定表,或一张简单的HIPO图能表达清楚图能表达清楚1、合理的层次划分、合理的层次划分一个处理框经过展开,一般以分解为一个处理框经过展开,一般以分解为410处理框为宜。处理框为宜。 如果一次分解后仅有两个处理框,为减如果一次分解后仅有两个处理框,为减少
31、数据流图的层次,可以考虑将它们直少数据流图的层次,可以考虑将它们直接并入上一层中接并入上一层中 若一个处理框分解后还是只有一个处理若一个处理框分解后还是只有一个处理框,则视为无效的分解框,则视为无效的分解处理框的合并处理框的合并通常可以从以下几个方面检查数据流图的正确通常可以从以下几个方面检查数据流图的正确性:性:(1)数据守恒,或称为输入数据与输出数据匹配)数据守恒,或称为输入数据与输出数据匹配处理有输入就应该有输出处理有输入就应该有输出处理有输出就肯定有输入处理有输出就肯定有输入输入的数据应该全部流出该处理或者要用于产生输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除无用数
32、据)流出该处理的数据(排除无用数据) 输出的所有数据必须曾经流入过该处理或者是由输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据)流入该处理的数据加工产生(保证必要数据)2、正确性检查、正确性检查 (2)在一套数据流图中的任何一个数据存储,)在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流。必定有流入的数据流和流出的数据流。(3)父图中某一处理框的输入、输出数据流必)父图中某一处理框的输入、输出数据流必须出现在相应的子图中。须出现在相应的子图中。(3)任何一个数据流至少有一端是处理框。)任何一个数据流至少有一端是处理框。正确性检查(续)正确性
33、检查(续)提高数据流图的易理解性提高数据流图的易理解性(1)简化处理间的联系(利用数据存储)简化处理间的联系(利用数据存储)如:如:P2P2成绩管理成绩管理-P1-P1异动管理之间的联系可以异动管理之间的联系可以改变为:改变为:P2P2成绩管理成绩管理-D3-D3留退名单留退名单P1P1异动管理异动管理-D3-D3留退名单留退名单D3D3留退名单为增加的数据存储留退名单为增加的数据存储(2)均匀分解,应齐头并进)均匀分解,应齐头并进(3)适当的命名)适当的命名3、提高易读性、提高易读性信息系统建模不是对应用领域的业务建模,信息系统建模不是对应用领域的业务建模,信息系统可能只反映业务系统的部分处
34、理过信息系统可能只反映业务系统的部分处理过程。程。因此要关注信息系统解决的问题,重点是系因此要关注信息系统解决的问题,重点是系统中的统中的数据数据处理和流动。处理和流动。(1)排除纯手工活动)排除纯手工活动(2)排除其他外部系统的活动)排除其他外部系统的活动(3)和系统外的外部实体之间的接口通过数)和系统外的外部实体之间的接口通过数据流来实现据流来实现4、确定系统边界、确定系统边界6.2.4 数据流图的常见错误分析数据流图的常见错误分析一般有三类错误情况:一般有三类错误情况:语法错误(可采用软件工具辅助绘图消除)语法错误(可采用软件工具辅助绘图消除)逻辑错误逻辑错误1. 词不达意,二义性词不达
35、意,二义性错误情况举例错误情况举例1输入的数据流足够了吗?是否能够加输入的数据流足够了吗?是否能够加工出输出的数据流?工出输出的数据流?计算利息存款金额?查询图书读者信息错误情况举例错误情况举例2学生成绩单客户订单订单源数据是如何进入到信息系统中的呢?源数据是如何进入到信息系统中的呢?外部实体如何从系统中获取有关的数据呢?外部实体如何从系统中获取有关的数据呢?难道是心灵感应?难道是心灵感应?不论是手工系统还是计算机系统,数据不会无不论是手工系统还是计算机系统,数据不会无缘无故保存或流动,和外部的交换一定和某个缘无故保存或流动,和外部的交换一定和某个加工相连。加工相连。错误情况举例错误情况举例3
36、客户业务员订单外部实体到外部实体,说白了,全都是外部的。外部实体到外部实体,说白了,全都是外部的。和信息系统有关系吗?为什么要管呢?带来数据的和信息系统有关系吗?为什么要管呢?带来数据的变化了吗?变化了吗?DFD考虑数据是从那个地方开始进入系统。考虑数据是从那个地方开始进入系统。读者图书管理员借书单错误情况举例错误情况举例4订单入库单数据不通过任何手续就能在数据存储之间流数据不通过任何手续就能在数据存储之间流动?动?怪了,表格中的数据长腿了吗?要不硬盘智怪了,表格中的数据长腿了吗?要不硬盘智能化了,不需要任何外部力量,磁道上的数能化了,不需要任何外部力量,磁道上的数据会自己移动?据会自己移动?
37、读者信息逾期历史错误情况举例错误情况举例5xxxx仅有流入的数据流,仅有流入的数据流,数据还有什么用途吗?数据还有什么用途吗?纯粹是垃圾!纯粹是垃圾!仅有流出的数据流,仅有流出的数据流,数据是从何而来呢?数据是从何而来呢?模型的局部会存在这种情况,模型的局部会存在这种情况,但系统地看应该不会。如果有,但系统地看应该不会。如果有,那个数据肯定是一千年不变,那个数据肯定是一千年不变,可以直接由数据库管理员一次性可以直接由数据库管理员一次性搞定。搞定。错误情况举例错误情况举例6“修改还书日期修改还书日期”很细节,而很细节,而“借阅管理借阅管理”又很又很抽象。抽象。处理不在同一个抽象层次上,造成理解困
38、难!处理不在同一个抽象层次上,造成理解困难!读者读者续借申请读者信息处罚记录P2续借审核P1借阅管理P3修改还书日期P5处罚管理P4打印通知单顾客顾客P1.1验证验证身份身份P1.2核对帐核对帐户余额户余额P1.3登记取登记取款事务款事务P1.4打印打印存折存折帐户帐户顾客顾客P1.1验证验证身份身份P2.2登记存登记存款事务款事务帐户帐户取款取款存款存款DFD图不反映图不反映模块共享模块共享再比如图书馆借书系统中有三个处理逻辑:再比如图书馆借书系统中有三个处理逻辑:“p1借书借书”“”“p2还还书书”“”“p3查询服务查询服务”,但借书处理的,但借书处理的“检查库存检查库存”,不应理解为,不
39、应理解为“P3查询服务查询服务”错误情况举例错误情况举例76.2.5 绘图工具软件绘图工具软件Visio介绍介绍 Microsoft Visio可用于绘制计算可用于绘制计算机系统中需要的各种模型图机系统中需要的各种模型图 绘制绘制DFD: DFD的四种元素的四种元素 数据流两端元素的关联性数据流两端元素的关联性 语法检查语法检查 上下层分解关系,子图自动继承父上下层分解关系,子图自动继承父图有关的数据流图有关的数据流 以树状目录列出全部处理以树状目录列出全部处理数据流图也常常要作重新分解。重新分解可数据流图也常常要作重新分解。重新分解可以按下述方法进行以按下述方法进行 ()把需要重新分解的某张
40、图的所有子()把需要重新分解的某张图的所有子图连接成一张图连接成一张 ()把图分成几部分,使各部分之间的()把图分成几部分,使各部分之间的联系最少联系最少 ()重新建立父图()重新建立父图 ()重新画子图()重新画子图 ()为所有处理重新命名,编号()为所有处理重新命名,编号数据流图的优化数据流图的优化 数据流图的分解每个人可能有所不同,画数据流图的分解每个人可能有所不同,画出的数据流图也会因人而异,并一定谁画出的数据流图也会因人而异,并一定谁画的对,谁画的错。的对,谁画的错。没有标准答案没有标准答案数据流图的优缺点数据流图的优缺点 图形元素少,易学易读,容易与用户沟通图形元素少,易学易读,容
41、易与用户沟通 有层次性,允许系统分析员由上至下逐步分有层次性,允许系统分析员由上至下逐步分析系统,不会受困于太多复杂的细节析系统,不会受困于太多复杂的细节u不能描述系统的控制流不能描述系统的控制流u潜在的非语法错误不易发现,复核困难,需潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验要有一定的分析设计经验6.3 数据字典数据字典 DFD是一种简化的模型,虽然直观,但没有是一种简化的模型,虽然直观,但没有具体细节,仅依靠具体细节,仅依靠DFD定义需求不够充分。定义需求不够充分。 数据字典是对数据字典是对DFD的补充描述,用来描述数的补充描述,用来描述数据流程图中的数据流、数据存储、处
42、理过程据流程图中的数据流、数据存储、处理过程和外部实体的详细内容。和外部实体的详细内容。 数据流图与数据字典共同构成系统的功能模数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消型,数据字典可以改进通信,规范描述,消除误解除误解6.3.1 数据字典的各类条目数据字典的各类条目数据字典中有六类条目:数据字典中有六类条目:可被重用的条目:可被重用的条目: 数据元素数据元素 数据结构数据结构DFD图中的元素:图中的元素: 数据流(可引用定义好的数据结构)数据流(可引用定义好的数据结构) 数据存储(可引用定义好的数据结构)数据存储(可引用定义好的数据结构) 外部实体外部实体1
43、. 处理处理数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、年龄、性别等。需要描述以下属性: ()名称 ()别名 ()类型, ()取值范围和取值的含义 ()长度 ()简要说明:一、数据元素一、数据元素数据元素条目数据元素条目 数据结构的描述重点,是数据之间的组合关数据结构的描述重点,是数据之间的组合关系,即说明这个数据结构包括哪些成分。系,即说明这个数据结构包括哪些成分。一个数据结构可以包含若干数据元素和数据结一个数据结构可以包含若干数据元素和数据结构。构。可能有的特殊成分:可能有的特殊成分:(1) (1) 必选项必选项(2) (2) 任选项任选项 (3) (3) 重复项重复项
44、 * *二、数据结构二、数据结构数据结构条目数据结构条目需要描述以下属性:需要描述以下属性:()数据流的来源()数据流的来源()数据流的去处()数据流的去处()数据流的组成()数据流的组成()数据流的流通量()数据流的流通量()高峰时的流通量()高峰时的流通量三、数据流三、数据流数据流条目数据流条目主要描写该数据存储的结构,及有关的数据主要描写该数据存储的结构,及有关的数据流、查询要求。流、查询要求。有些数据存储的结构可能很复杂,如有些数据存储的结构可能很复杂,如“学籍学籍表表”,包括学生的基本情况、学生动态、奖,包括学生的基本情况、学生动态、奖惩记录、学习成绩、毕业论文成绩等,其中惩记录、学
45、习成绩、毕业论文成绩等,其中每一项又是数据结构。这些数据结构有各自每一项又是数据结构。这些数据结构有各自的条目分别加以说明,因此在的条目分别加以说明,因此在“学籍表学籍表”的的条目中可以直接引用这些数据结构,而不要条目中可以直接引用这些数据结构,而不要列出这些数据结构的内部元素构成。列出这些数据结构的内部元素构成。 四、数据存储四、数据存储数据存储条目数据存储条目需要在数据字典中描述处理框的编号、名称、需要在数据字典中描述处理框的编号、名称、功能的简要说明,有关的输入、输出。功能的简要说明,有关的输入、输出。通常仅重点描述最底层的处理过程。通常仅重点描述最底层的处理过程。复杂的处理逻辑可以借助
46、于一些图表工具,如复杂的处理逻辑可以借助于一些图表工具,如结构化语言、判定树、判定表等。结构化语言、判定树、判定表等。五、处理五、处理处理功能条目处理功能条目六、外部实体六、外部实体6.3.2 数据字典的使用与管理数据字典的使用与管理 按各种要求列表,没有冗余,不遗漏数据按各种要求列表,没有冗余,不遗漏数据 相互参照,便于系统修改相互参照,便于系统修改 由描述内容检索名称由描述内容检索名称 一致性检验和完整性检验一致性检验和完整性检验 数据流的来源、去向是否完整数据流的来源、去向是否完整 数据元素是否遗漏或过剩数据元素是否遗漏或过剩 数据存储的来源、去向是否完整数据存储的来源、去向是否完整 处
47、理与输入数据流是否匹配处理与输入数据流是否匹配 管理:手工管理:手工/工具(某些工具支持数据字典的工具(某些工具支持数据字典的维护)维护)6.4 表达处理逻辑的工具表达处理逻辑的工具 在数据字典中表达处理过程可使用小说明在数据字典中表达处理过程可使用小说明(或基本说明),可以是自然语言(或基本说明),可以是自然语言 但针对复杂处理逻辑,可以使用:但针对复杂处理逻辑,可以使用: 结构化语言结构化语言 判定表判定表 判定树判定树6.4.1 结构化语言结构化语言三种基本语句:三种基本语句:祈使语句祈使语句判断语句判断语句循环语句循环语句结构化语言使用的三类词汇:结构化语言使用的三类词汇:祈使句中的动
48、词祈使句中的动词数据字典中定义的名词数据字典中定义的名词某些逻辑表达式中的保留字某些逻辑表达式中的保留字指出要做什么,包括一个动词和一个宾语。指出要做什么,包括一个动词和一个宾语。 使用祈使语句,应注意以下几点:使用祈使语句,应注意以下几点: 力求精炼,不应太长。力求精炼,不应太长。 不使用形容词和副词。不使用形容词和副词。 动词要能明确表达执行的动作。动词要能明确表达执行的动作。 名词必须在数据字典中有定义。名词必须在数据字典中有定义。祈使语句祈使语句判断语句类似结构化程序设计中的判断结判断语句类似结构化程序设计中的判断结构。其一般形式是:构。其一般形式是: 如果如果 条件条件 则则 动作动
49、作A A 否则否则 ( (条件不成立条件不成立) ) 动作动作B B 如果如果 购货额在购货额在5000050000元以上元以上 则则 如果如果 最近三个月无欠款最近三个月无欠款 则则 折扣率为折扣率为1515 否则否则 如果如果 与公司交易与公司交易1010年以上年以上 则则 折扣率为折扣率为1010 否则否则 折扣率为折扣率为5 5 否则否则 无折扣无折扣条件判断语句条件判断语句 表达在某种条件下,重复执行相同的动作,表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。直到这个条件不成立为止。例如:例如: 对每一个学生对每一个学生 计算总成绩计算总成绩循环语句循环语句6.4.2
50、判定树判定树 如果一个动作的执行不只是依赖一个条件,如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达而是与多个条件有关,那么这项策略的表达就比较复杂,就可以使用判定树来表示。就比较复杂,就可以使用判定树来表示。 比如:比如: 邮政系统中,包裹邮资的计算策略与国别、路程、邮政系统中,包裹邮资的计算策略与国别、路程、重量、保值额度等有关,使用自然语言来描述显重量、保值额度等有关,使用自然语言来描述显然不够简洁然不够简洁判定树示例判定树示例6.4.3 判定表判定表 如果条件较多、每种条件的取值情况也较多如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。的情况
51、下,可以使用判定表。 判定表的优点是可以把各种组合情况一个不判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的漏地表示出来,还能帮助发现遗漏和矛盾的地方。地方。某厂对一部分职工重新分配工作。分配原则是:某厂对一部分职工重新分配工作。分配原则是: 年龄不满年龄不满2020岁,文化程度是小学者脱产学习,岁,文化程度是小学者脱产学习, 文化程度是中学文化程度是中学者当电工;者当电工; 年龄满年龄满2020岁但不足岁但不足5050岁,文化程度是小学或中学者,男性当钳工,岁,文化程度是小学或中学者,男性当钳工, 女性当车工;文化程度是大学者当技术员;女性当车工;文化程度是大学者
52、当技术员; 年龄满年龄满5050岁及岁及5050岁以上,文化程度是小学或中学者当材料员,岁以上,文化程度是小学或中学者当材料员, 文化程度是大学者当技术员。文化程度是大学者当技术员。三个因素:性别、年龄、文化程度,取值范围分别是:三个因素:性别、年龄、文化程度,取值范围分别是: 性别:性别: 男,女男,女 年龄:年龄: 青年青年( (小于小于2020岁岁),),中年中年( (满满2020岁而不足岁而不足5050岁岁),),老年老年( (满满5050岁及以上岁及以上) 文化程度:文化程度: 小学,中学,大学小学,中学,大学 判定表示例判定表示例构造空表构造空表填表填表判定表的合并简化判定表的合并
53、简化显然,某些条件是可以合并考虑的,可以使判显然,某些条件是可以合并考虑的,可以使判定表简化。定表简化。合并的原则:合并的原则:取相同行动的取相同行动的列,若有某个条件列,若有某个条件Ci i在此在此n n列列的取值正好是该条件取值的全集,而其他条件的取值正好是该条件取值的全集,而其他条件在此在此列都取相同的值,则此列都取相同的值,则此列可以合并。列可以合并。 第一次合并第一次合并第二次合并第二次合并用判定表来描述决策问题,通常经过以下几用判定表来描述决策问题,通常经过以下几个步骤:个步骤: ()分析决策问题涉及几个条件;()分析决策问题涉及几个条件; ()分析每个条件取值的集合;()分析每个条件取值的集合; ()列出条件的各种可能组合;()列出条件的各种可能组合; ()分析决策问题涉及几个可能的行动;()分析决策问题涉及几个可能的行动; ()作出有条件组合的判定表;()作出有条件组合的判定表; ()决定各种条件组合的行动;()决定各种条件组合的行动; ()按合并规则化简判定表。()按合并规则化简判定表。使用判定表的步骤使用判定表的步骤6.4.4 三种工具的比较三种工具的比较适用范围:适用范围: 决策树适合决策树适合1015种行动的一般复杂度的种行动的一般复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品销售许可合同范本
- 2025年度中文图书销售合同
- 湘潭大学兴湘学院《密码学进展》2023-2024学年第二学期期末试卷
- 临时活动场所租赁协议2025
- 山东省诸城市市级名校2025届初三第一次中考适应性统考化学试题试卷含解析
- 山东省济南市济钢高中2025年5月月考试卷语文试题试卷含解析
- 三亚学院《工程造价控制》2023-2024学年第二学期期末试卷
- 山西省孝义市九校2024-2025学年高三下学期定位考试(4月)英语试题含解析
- 辽宁省沈阳市东北育才实验学校2025年三下数学期末质量检测试题含解析
- 四川汽车职业技术学院《数字图像处理》2023-2024学年第二学期期末试卷
- 2024年11月-矿山隐蔽致灾因素普查
- 2025年由民政局策划的离婚协议官方文本模板
- 新时代青年与中华传统文化的现代表达:青春、创新与传承
- 科技领域实验室质量控制关键技术与方法
- 国土业务知识培训课件
- 《糖尿病与肥胖》课件
- 高考语文专题复习【高效课堂精研】小说的叙述艺术
- 2024年05月湖南湖南湘江新区农商行社会招考15人笔试历年参考题库附带答案详解
- 服装设计与工艺基础知识单选题100道及答案
- AI人工智能应用开发合同
- 护理MDT多学科联合查房
评论
0/150
提交评论