信息系统分析与设计(第3版)_第 6章-结构化系统分析_第1页
信息系统分析与设计(第3版)_第 6章-结构化系统分析_第2页
信息系统分析与设计(第3版)_第 6章-结构化系统分析_第3页
信息系统分析与设计(第3版)_第 6章-结构化系统分析_第4页
信息系统分析与设计(第3版)_第 6章-结构化系统分析_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 结构化系统分析,本章计划学时:8学时,本章主要内容,系统分析的任务 数据流图 数据字典 表达处理的工具 实体关系图 系统说明书,6.1 系统分析的任务,系统分析员与用户在一起充分理解用户的要求,并把双方的理解用书面文档系统分析说明书表达出来。 分析本质上就是一个发现过程,分析期间推动活动的关键词就是发现和理解。,系统分析的困难,系统分析是研制信息系统最重要的阶段,也是最困难的阶段。 困难主要来自三个方面: 问题空间的理解 人与人之间的通讯 环境的不断变化,系统分析员要成为业务专家,才能与用户交流顺畅,充分理解用户的要求。 才能确保系统满足了业务需求,甚至用更好的方法来解决业务需求。 在

2、用户中建立可信度,用户才可能接受你的建议。 其他要求:系统分析员应有较强的系统观点,较好的逻辑分析能力,能够从复杂的事物中抽象出系统模型。他还应具备较好的口头和书面表达能力,较强的组织能力,善于与人共事。,6.1.2 系统需求,分析的重要任务是理解和表达需求 需求有哪些种类? 如何寻找需求? 如何表述需求?,需求的来源系统相关者,系统需求的主要来源是系统的各种系统相关者,他们是对系统成功感兴趣的所有人(与系统有关系的所有人,也称涉众stakeholder)。 系统分析中获得需求的首要步骤就是确定各类系统相关者。,系统相关者,业务用户 信息用户 管理用户 主管用户 外部用户 客户 技术人员,系统

3、需求的种类,系统需求是新系统必须完成的功能或其局限性。 系统需求一般分为两类: 功能性需求 技术性需求,功能性需求,功能需求是系统必须完成的活动或过程,也就是系统将要涉及的商业应用。 功能需求是根据业务过程和业务规则确定的,有些容易获取,有些则是隐含的,需要去发现。,技术性需求,技术需求也称非功能性需求,是和公司的环境、硬件和软件有关的所有可操作目标。 例如:系统必须能支持100个并发用户;保存订单的时间不能超过0.5秒等等,涉及系统性能、可靠性、安全性等质量特性。 通常是一些技术目标。,如何表述需求,自然语言 不需要任何准备 但既要保证精确无二义性,又要保证叙述不至于晦涩难懂,是困难的(随意

4、性、误会) 模型 模型是人们对复杂问题的一种抽象或者对实物的一种简单实现或规划蓝图。 例如:飞机模型,建筑模型,数学模型等等。,模型的作用,信息系统模型的作用: 建立模型的过程可以使得分析员更深入地了解和定义信息系统的需求,并发现问题 对复杂问题进行简化 有助于回忆需求的细节 有助于同开发小组的其他成员交流 有助于同客户交流 为以后的维护升级提供了文档,信息系统的模型,在信息系统分析中有三类常用的图示化模型: 功能模型 利用数据流图分层描述系统的功能和数据的处理流程 利用数据字典辅助解释数据流图中的每个元素 数据模型 利用实体关系图描述系统中的数据实体及其关系 对象模型 利用类图描述对象、对象

5、之间的联系。和数据实体不同,对象在数据之外增加了行为特性,如何着手建模,构建模型首先需要识别用户的需求,识别需 求一般可以从两个方面着手: 识别系统中的事件(Events)建立过程模型(数据流图,DFD) 识别系统中的事物(Things) 建立数据模型(实体关系图,ER),1、事件与系统需求,事件在特定时间、特定地点发生的,能够描述出来并值得保存的的事情。 系统的所有处理过程都是由事件驱动的,所以将事件列表并进行分析,对于定义系统需求是十分有意义的。,事件的类型,我们可以从以下类型来寻找事件: 外部事件(external event) 时间事件(temporal event) 状态事件(sta

6、te event),外部事件,在系统之外发生,通常是由外部的人或组织激发的事件,这些人或组织是数据的提供者和接收者。 比如图书馆流通系统中的读者 外部事件能够导出系统需要处理的关键事务,寻找外部事件,首先要确定外部实体,然后再分析。 外部实体需要一个事务处理 比如读者借书 外部实体需要系统提供某些信息 比如读者查阅书目 某些数据改变了,系统需要更新它们 比如书籍的位置改变 管理过程需要某些信息 比如制订新的采购计划需要流通统计情况,时间事件,当系统时间到达某一刻时发生的事件,这些事件通常要求系统能定时自动地完成某些输出或处理。 如:图书馆流通系统中的按月发布逾期催还名单。 如:每天晚上12:0

7、0定时转换归档医疗图像。 注意命名时必须包含所要完成的处理和规定期限,状态事件,系统内部的变化触发系统对某个处理的需要,这种情况的发生称为状态事件 比如:销售系统中库存数一旦低于控制点就产生订货单 状态事件一般是外部事件的结果,它的发生是不定时的,识别事件的规则,区分事件与具体响应过程 事件响应中的一系列交互过程是完整具体的实现,而不是独立的一个事件。例如:拿信用卡交费 跟踪关键业务的整个生命周期来发现事件 跟踪读者实现从图书馆借书的全部过程 暂时忽略技术性依赖事件和系统控制事件 如管理员登录系统,修改口令,每天的备份,网上订单系统的事件表,网上订单系统的事件表,2、事物与系统需求,事物系统需

8、要处理或保存的对象。 如客户,订单,产品等。 对信息系统中事物的理解和建模是定义系统需求的另外一个重要方面。,事物的类型,事物的类型: 实在有形:书籍、产品、文档 角色身份:医生、读者、顾客 组织单位:小组、部门 设备:打印机、传感器、鼠标 事件:借阅、订货、销售、罚款 场所:零售店、仓库,事物之间的关系,事物间的很多关系对于研究系统也非常重要。 关系:指某些事物间自然发生的联系。 例如:学生和图书,学生可以借阅图书。 例如:一个客户可以发出订单。 对每一个事物分析和它相关的事物,找出关系。,事物之间关系的基数,关系的基数:指一个事物关联另外一个事物的数量(一对一,一对多,多对多或者一个具体的

9、数量4个)。 如:学生和图书,一个学生可以预约多本图书,每本图书可能被多个学生预约。 如:一个客户可以发出多个订单,一个订单只能是一个客户的。,事物的属性,属性:有关事物的一条特征信息。 例如:客户的姓名、年龄、电话等。 标识符:能唯一区分事物的属性。 例如:发货单号,职工编号。 复合属性:指包含了许多相关属性的属性。 例如:姓名可能包含姓和名,日期包含年月日。,6.2 数据流图,系统分析阶段: 使用数据流图DFD来建立系统需求的过程模型。(结构化系统分析的方法) 系统分析采用ER图来建立系统的数据模型。,结构化分析的思想,数据流图DFD采用一系列分层次的数据流图来描述系统。 DFD的每一个层

10、次都代表了系统的一个抽象水平。高层次DFD中的处理可以进一步分解成低层次、更详细的DFD。,分层的数据流图,纵观,顶层,P1 P2 P3 P4,P41 P42,第一层,第二层,6.2.1 数据流图的基本成分,数据流图用来记录系统中的数据和数据在特定的过程中的流动,即数据如何被采集、处理、保存和使用的(围绕信息系统的功能),外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。 例如:人、组织、外部系统等等。 外部实体是数据的来源(谁提供了最初始的数据?) 外部实体是数据的去处(数据对谁有价值?),读者,图书 管理员,馆长,读者,图书 管理员,外部实体,处理指对数据的逻

11、辑处理功能,也就是对数据的变换功能。 别名:功能、处理过程,数据加工,标识部分(层次化的功能编号) 功能描述部分(动宾词组) 功能执行的角色(人,部门,计算机程序),通常可省略,数据处理,数据流是指处理功能的输入或输出(箭头表示数据流向) 。 例如:数据,订单,查询要求等,经理,编制财务报表,合格订单,编 辑 订货单,计 算 应收款,数据流,数据存储表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。 流入数据存储的数据流 将处理后的数据写入或修改到数据存储中 流出数据存储的数据流 从数据存储中查询获取数据,不改变原来的数据,D2,产品,D5,职工,D2,产品,数据存储,数据流图

12、中的图形元素有不同的画法,本书使用Gane-Sarson画法,其他图形表示,事件表中能找到数据流图中出现的一些元素: 活动对应于处理框 事件源和事件目标对应于外部实体 触发点和响应结果是与外部实体相连的数据流 只有数据存储在事件响应表中没有对应的描述,一个事件的DFD,事件和DFD,事件列表中的每一个事件都可以画出一个DFD图(需要额外添加数据存储元素) 事件列表可以作为画数据流图的一个基础和检验列表 事件对应DFD模型的中间层 事件可以继续分解绘制其具体的处理过程(向下细化) 系统中事件较多时,应进行分组(向上抽象),单个DFD的组合,事件之间有一定的联系,一般通过数据存储建立关联,完整的数

13、据流图,根据事件表重新组织,绘制完整的DFD模型: 按照事件表,对每一个事件建立一个DFD片段图。 把所有的DFD片段进行分组,归纳为大的处理逻辑,形成上一层DFD(复杂系统层次更多)。 将属于一组内的DFD片段放在一张图上,形成事件层的DFD图。 对每个事件的数据处理进一步分解为下一层DFD (复杂系统层次更多)。,完整的数据流图,真正进行结构化系统建模过程中,应该采用自顶向下的分解方法,事件表只是寻找需求的辅助工具(启发) 建模是一个从具体到抽象,又从抽象到具体的过程,需要反复多次,6.2.2 数据流图的画法,下面我们以高等学校学籍管理系统为例说明画数据流图的方法 如果不能直接建模,可以考

14、虑以下事件: 新生登记 登记期末成绩 期末成绩分析 登记补考成绩 补考后成绩分析 评定奖学金 处理退学、留级、修学、复学 发成绩单,顶层,新生名单,学籍表,学籍管理系统,教委,用人 单位,报表,毕业生登记表,学籍管理系统顶层DFD,第一层,第二层“成绩管理”框的展开,第三层“处理期末成绩”框的展开,第三层“分析期末成绩”框的展开,第三层“分析补考成绩”框的展开,6.2.3 画数据流图的注意事项,要注意以下几点: 关于层次的划分 语法的正确性 可读性 确定系统边界,层次的划分应遵守: (1)展开的层次与管理层次一致,也可以划分得更细。 (2)同一张图上的所有处理过程应该处于同一个抽象层次上(抽象

15、粒度一致)。 (3)一个处理框经过展开,一般以分解为410处理框为宜(最好59个) (4)最下层的处理过程用几句话,或者用几张判定表,或一张简单的HIPO图能表达清楚,1、合理的层次划分,一个处理框经过展开,一般以分解为410处理框为宜。 如果一次分解后仅有两个处理框,为减少数据流图的层次,可以考虑将它们直接并入上一层中 若一个处理框分解后还是只有一个处理框,则视为无效的分解,处理框的合并,通常可以从以下几个方面检查数据流图的正确 性: (1)数据守恒,或称为输入数据与输出数据匹配 处理有输入就应该有输出 处理有输出就肯定有输入 输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除

16、无用数据) 输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据),2、正确性检查,(2)在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流。 (3)父图中某一处理框的输入、输出数据流必须出现在相应的子图中。 (3)任何一个数据流至少有一端是处理框。,正确性检查(续),提高数据流图的易理解性 (1)简化处理间的联系(利用数据存储) 如:P2成绩管理-P1异动管理之间的联系可以改变为: P2成绩管理-D3留退名单 P1异动管理-D3留退名单 D3留退名单为增加的数据存储 (2)均匀分解,应齐头并进 (3)适当的命名,3、提高易读性,信息系统建模不是对

17、应用领域的业务建模,信息系统可能只反映业务系统的部分处理过程。 因此要关注信息系统解决的问题,重点是系统中的数据处理和流动。 (1)排除纯手工活动 (2)排除其他外部系统的活动 (3)和系统外的外部实体之间的接口通过数据流来实现,4、确定系统边界,6.2.4 数据流图的常见错误分析,一般有三类错误情况: 语法错误(可采用软件工具辅助绘图消除) 逻辑错误 词不达意,二义性,错误情况举例1,输入的数据流足够了吗?是否能够加工出输出的数据流?,读者信息,错误情况举例2,源数据是如何进入到信息系统中的呢? 外部实体如何从系统中获取有关的数据呢? 难道是心灵感应? 不论是手工系统还是计算机系统,数据不会

18、无缘无故保存或流动,和外部的交换一定和某个加工相连。,错误情况举例3,外部实体到外部实体,说白了,全都是外部的。 和信息系统有关系吗?为什么要管呢?带来数据的变化了吗? DFD考虑数据是从那个地方开始进入系统。,错误情况举例4,数据不通过任何手续就能在数据存储之间流动? 怪了,表格中的数据长腿了吗?要不硬盘智能化了,不需要任何外部力量,磁道上的数据会自己移动?,错误情况举例5,仅有流入的数据流, 数据还有什么用途吗? 纯粹是垃圾!,仅有流出的数据流, 数据是从何而来呢? 模型的局部会存在这种情况, 但系统地看应该不会。如果有, 那个数据肯定是一千年不变, 可以直接由数据库管理员一次性 搞定。,

19、错误情况举例6,“修改还书日期”很细节,而“借阅管理”又很抽象。 处理不在同一个抽象层次上,造成理解困难!,读者,读者,续借申请,读者信息,处罚记录,P2 续借 审核,P1 借阅管理,P3 修改还书日期,P5 处罚管理,P4 打印通知单,顾客,P1.1 验证身份,P1.2 核对帐户余额,P1.3 登记取款事务,P1.4 打印存折,帐户,顾客,P1.1 验证身份,P2.2 登记存款事务,帐户,取款,存款,DFD图不反映 模块共享,再比如图书馆借书系统中有三个处理逻辑:“p1借书”“p2还书”“p3查询服务”,但借书处理的“检查库存”,不应理解为“P3查询服务”,错误情况举例7,6.2.5 绘图工

20、具软件Visio介绍,Microsoft Visio可用于绘制计算机系统中需要的各种模型图 绘制DFD: DFD的四种元素 数据流两端元素的关联性 语法检查 上下层分解关系,子图自动继承父图有关的数据流 以树状目录列出全部处理,数据流图也常常要作重新分解。重新分解可以按下述方法进行 ()把需要重新分解的某张图的所有子图连接成一张 ()把图分成几部分,使各部分之间的联系最少 ()重新建立父图 ()重新画子图 ()为所有处理重新命名,编号,数据流图的优化,数据流图的分解每个人可能有所不同,画出的数据流图也会因人而异,并一定谁画的对,谁画的错。,没有标准答案,数据流图的优缺点,图形元素少,易学易读,

21、容易与用户沟通 有层次性,允许系统分析员由上至下逐步分析系统,不会受困于太多复杂的细节 不能描述系统的控制流 潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验,6.3 数据字典,DFD是一种简化的模型,虽然直观,但没有具体细节,仅依靠DFD定义需求不够充分。 数据字典是对DFD的补充描述,用来描述数据流程图中的数据流、数据存储、处理过程和外部实体的详细内容。 数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消除误解,6.3.1 数据字典的各类条目,数据字典中有六类条目: 可被重用的条目: 数据元素 数据结构 DFD图中的元素: 数据流(可引用定义好的数据结

22、构) 数据存储(可引用定义好的数据结构) 外部实体 处理,数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、年龄、性别等。 需要描述以下属性: ()名称 ()别名 ()类型, ()取值范围和取值的含义 ()长度 ()简要说明:,一、数据元素,数据元素条目,数据结构的描述重点,是数据之间的组合关系,即说明这个数据结构包括哪些成分。 一个数据结构可以包含若干数据元素和数据结构。 可能有的特殊成分: (1) 必选项 (2) 任选项 (3) 重复项 *,二、数据结构,数据结构条目,需要描述以下属性: ()数据流的来源 ()数据流的去处 ()数据流的组成 ()数据流的流通量 ()高峰时的流

23、通量,三、数据流,数据流条目,主要描写该数据存储的结构,及有关的数据流、查询要求。 有些数据存储的结构可能很复杂,如“学籍表”,包括学生的基本情况、学生动态、奖惩记录、学习成绩、毕业论文成绩等,其中每一项又是数据结构。这些数据结构有各自的条目分别加以说明,因此在“学籍表”的条目中可以直接引用这些数据结构,而不要列出这些数据结构的内部元素构成。,四、数据存储,数据存储条目,需要在数据字典中描述处理框的编号、名称、功能的简要说明,有关的输入、输出。 通常仅重点描述最底层的处理过程。 复杂的处理逻辑可以借助于一些图表工具,如结构化语言、判定树、判定表等。,五、处理,处理功能条目,六、外部实体,6.3

24、.2 数据字典的使用与管理,按各种要求列表,没有冗余,不遗漏数据 相互参照,便于系统修改 由描述内容检索名称 一致性检验和完整性检验 数据流的来源、去向是否完整 数据元素是否遗漏或过剩 数据存储的来源、去向是否完整 处理与输入数据流是否匹配 管理:手工/工具(某些工具支持数据字典的维护),6.4 表达处理逻辑的工具,在数据字典中表达处理过程可使用小说明(或基本说明),可以是自然语言 但针对复杂处理逻辑,可以使用: 结构化语言 判定表 判定树,6.4.1 结构化语言,三种基本语句: 祈使语句 判断语句 循环语句 结构化语言使用的三类词汇: 祈使句中的动词 数据字典中定义的名词 某些逻辑表达式中的

25、保留字,指出要做什么,包括一个动词和一个宾语。 使用祈使语句,应注意以下几点: 力求精炼,不应太长。 不使用形容词和副词。 动词要能明确表达执行的动作。 名词必须在数据字典中有定义。,祈使语句,判断语句类似结构化程序设计中的判断结构。其一般形式是: 如果 条件 则 动作A 否则 (条件不成立) 动作B 如果 购货额在50000元以上 则 如果 最近三个月无欠款 则 折扣率为15 否则 如果 与公司交易10年以上 则 折扣率为10 否则 折扣率为5 否则 无折扣,条件判断语句,表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。 例如: 对每一个学生 计算总成绩,循环语句,6.4.2

26、判定树,如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂,就可以使用判定树来表示。 比如: 邮政系统中,包裹邮资的计算策略与国别、路程、重量、保值额度等有关,使用自然语言来描述显然不够简洁,判定树示例,6.4.3 判定表,如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。 判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的地方。,某厂对一部分职工重新分配工作。分配原则是: 年龄不满20岁,文化程度是小学者脱产学习, 文化程度是中学者当电工; 年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工, 女性当车工;

27、文化程度是大学者当技术员; 年龄满50岁及50岁以上,文化程度是小学或中学者当材料员, 文化程度是大学者当技术员。 三个因素:性别、年龄、文化程度,取值范围分别是: 性别:男,女 年龄:青年(小于20岁),中年(满20岁而不足50岁),老年(满50岁及以上) 文化程度:小学,中学,大学,判定表示例,构造空表,填表,判定表的合并简化,显然,某些条件是可以合并考虑的,可以使判 定表简化。 合并的原则: 取相同行动的列,若有某个条件Ci在此n列 的取值正好是该条件取值的全集,而其他条件 在此列都取相同的值,则此列可以合并。,第一次合并,第二次合并,用判定表来描述决策问题,通常经过以下几个步骤: ()分析决策问题涉及几个条件; ()分析每个条件取值的集合; ()列出条件的各种可能组合; ()分析决策问题涉及几个可能的行动; ()作出有条件组合的判定表; ()决定各种条件组合的行动; ()按合并规则化简判定表。,使用判定表的步骤,6.4.4 三种工具的比较,适用范围: 决策树适合1015种行动的一般复杂度的决策,有时也可把决策表转换成决策树,便于用户检查。 判定表适合于多个条件的复杂组合。 如果一个判断包含了一般顺序的动作或循环执行的动作,则用结构化语言。,各自适用范围,6.5 实

温馨提示

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

评论

0/150

提交评论