1、系统分析工具、实例,第四章 系统分析,2007.10,2,分析工具、实例,4.4 数据字典 4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的基本要求 4.4.3 数据字典的写法系统分析的主要目标和作用; 4.4.4 定义数据的方法 4.4.5 数据字典数据流举例,4.5 加工逻辑分析的常用工具 4.5.1 结构化语言 4.5.2 策略表 4.5.3 策略树 4.5.4 其他工具 4.6 CASE工具 4.7 系统分析实例 4.7.1 学生成绩管理信息系统 4.7.2 酒店管理信息系统,2007.10,3,4.4 数据字典,4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的
2、基本要求 4.4.3 数据字典的写法 4.4.4 定义数据的方法 4.4.5 数据字典举例,2007.10,4,4.4.1 数据字典的作用和内容,在结构化分析中,数据字典的作用是对数据流图上每个要素给以定义和说明。换句话说,数据流图上所有要素的定义和解释的集合就是数据字典。 数据字典描述的主要内容有数据流、数据元素、数据存储、加工逻辑和外部项。 对整个系统开发乃至将来系统运行与维护的必须的信息尽可能收入数据字典。,2007.10,5,4.4 数据字典,4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的基本要求 4.4.3 数据字典的写法 4.4.4 定义数据的方法 4.4.5 数据字
3、典举例,2007.10,6,4.4.2 编写数据字典的基本要求,(1)对数据流图上各种成分的定义要明确、易理解、保证无二义性。 (2)命名、编号与数据流图一致。 (3)符合一致性与完整性的要求,对数据流图上的成分定义与说明无遗漏项。 (4)格式规范、风格统一、文字精练,数字与符号正确。,2007.10,7,4.4 数据字典,4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的基本要求 4.4.3 数据字典的写法 4.4.4 定义数据的方法 4.4.5 数据字典举例,2007.10,8,4.4.3 数据字典的编写方法,(1)手工编写。 (2)计算机辅助编写。 在计算机辅助绘制数据流图的同
4、时,随着数据流图的逐层分解,计算机系统生成数据字典的某些条目,人工进行修改与补充。,2007.10,9,4.4 数据字典,4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的基本要求 4.4.3 数据字典的写法 4.4.4 定义数据的方法 4.4.5 数据字典举例,2007.10,10,4.4.4 定义数据的方法,人们习惯于用被定义事物的成分的某种组合表示这个事物,这些组成成分又由更低层的成分的组合来定义。由此可知,只有先把子成分定义过以后,父成分才好定义。 一般认为,从数据的组成上看是自上而下的分解过程,一直分解到数据元素。因此,在对数据注释、说明和定义的时候,也采取自上而下的方法,
5、这样更符合人们检索信息的习惯。 当数据被分解到不需要进一步定义、每个与工程有关的人都清楚其含义时,我们就把它看做是数据元素,分解到此为止。,2007.10,11,由“数据元素”组成“数据”的方式只有三种基本类型: (1)顺序以一定的顺序连接两个或多个元素。 (2)选择从两个或多个可能的元素中选取一个。 (3)重复把指定的元素重复零次或多次。 (4)可选。 理论上,可以使用前三种关系定义数据字典中的任何条目。 另外,当“重复”次数为零次或一次时,就构成了一种可有可无的“可选”关系。但由于“可选”是由“数据元素”组成“数据”的一种常见方式,把它单独列为一种关系会使数据字典的描述更清晰。 虽然可以使
6、用自然语言描述由“数据元素”组成“数据”的关系,但是为了更加清晰、简捷起见,建议使用表4.2中列出的关系算符。,2007.10,12,2007.10,13,4.4 数据字典,4.4.1 数据字典的作用和内容 4.4.2 编写数据字典的基本要求 4.4.3 数据字典的写法 4.4.4 定义数据的方法 4.4.5 数据字典举例,2007.10,14,4.4.5 数据字典数据流举例,数据字典条目类型一:数据流,2007.10,15,数据字典条目类型二:数据元素,2007.10,16,数据字典条目类型三:数据存储,2007.10,17,数据字典条目类型四:外部项,2007.10,18,数据字典条目类型
7、五:加工逻辑,2007.10,19,4.5 加工逻辑分析的常用工具,数据流图中所有不再进一步分解的加工,称为基本加工。基本加工的逻辑描述是表达系统逻辑功能的关键。 “基本加工”在数据流图中只有一个简单的名字,其详细的加工逻辑则需要用到特殊的工具加以分析与表达,常用工具有: (1)自然语言的文字叙述; (2)结构化语言; (3)策略树; (4)策略表; (5)数学公式。 上述工具也可以联合使用。,2007.10,20,4.5 加工逻辑分析的常用工具,4.5.1 结构化语言 4.5.2 策略表 4.5.3 策略树 4.5.4 其他工具,2007.10,21,4.5.1 结构化语言,结构化语言使用的
8、语句类型只有三种:祈使语句、条件语句和循环语句。 例1. 祈使语句:获取收发数据计算补充定货量 例2. 条件语句:如果 成绩60分则 将及格人数加1否则 将不及格人数加1,2007.10,22,例3. 循环语句:对于每个库存项目 (循环条件)获取“入库单”数据将“库存量”增加“入库数”,更新“库存量”获取“出库单”将“库存数”减少“出库数”,更新“库存量”如果 “库存量”小于或等于临界“库存量”则 给出补充订货信号。,2007.10,23,4.5 加工逻辑分析的常用工具,4.5.1 结构化语言 4.5.2 策略树 4.5.3 策略表 4.5.4 其他工具,2007.10,24,4.5.2 策略
9、树,策略树又称判定树,是一种较直观地表达判定策略的工具,一项策略用文字表述使用策略树可以非常直观的表达。,2007.10,25,例如,某数据流图中有一个“确定保险类别”的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。 这段策略叙述使人不能较快地看懂该策略原理,也无法断定在上述叙述中,是否完全地涵盖了所有可能的情况。用策略树表述相对直观,投保策略使用自然语言描述为: 如果申请者的年龄在21岁以下,要额外收费; 如果申请者是21岁以上、26岁以下的女性,适用于A类保险; 如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险; 如果申请者是21岁以下的女性
10、,或是21岁到26岁之间的单身男性,适用于C类保险。 除此之外的其他申请者,都适用于A类保险。,2007.10,26,4.5 加工逻辑分析的常用工具,4.5.1 结构化语言 4.5.2 策略树 4.5.3 策略表 4.5.4 其他工具,2007.10,27,4.5.3 策略表,使用策略树可以直观的表述一项策略,但是,对于一项相对复杂的策略,如果不用“策略表”分析,将很难确定策略考虑的情况是否完整。 从某种意义上讲,策略表是一种分析工作,策略树则是一种表述工具。 下面就“投保策略”介绍使用“策略表”的分析过程。,2007.10,28,针对该分配策略的分析和构造判定表的过程,步骤如下: (1)提取
11、问题中的条件:年龄、性别、婚姻。 (2)标出条件的取值:为方便绘制判定表,这里用符号代替条件取值,如表4.3所示。,投保策略: 如果申请者的年龄在21岁以下,要额外收费; 如果申请者是21岁以上、26岁以下的女性,适用于A类保险; 如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险; 如果申请者是21岁以下的女性,或是21岁到26岁之间的单身男性,适用于C类保险。 除此之外的其他申请者,都适用于A类保险。,2007.10,29,(3)计算条件组合情况:年龄状态数性别状态数婚姻状态数=322=12。 (4)提取可能采取的动作或措施:包括A类保险、B类保险、C类保险和额外收费
12、。 (5)制作判定表。初始判定表如表4.4所示。,2007.10,30,(6)完善判定表:在策略文字描述中,若没有最后一句“除此之外”,那么,第9、10两列就是没有考虑到的情况,即对于年龄大于26岁的女性是否结婚这两种情况,该策略都遗漏了。第二,将该判定表按列进行合并。例如,第1和第2列,第5和第6列,第11和第12列,它们前两个条件相同,而对于婚姻,不论有没有结婚都给了相同的动作,即婚姻情况可以不考虑。合并后的判定表为表4.5。,2007.10,31,判定表能够把在什么条件下系统应做什么动作准确无遗漏地表示出来,但这种表述不够直观。对于较复杂的策略,当用判定表分析完以后,还需要使用策略树和结
13、构化语言加以表述。但不能描述循环的处理特性,循环处理还需要使用结构化语言。,2007.10,32,4.5 加工逻辑分析的常用工具,4.5.1 结构化语言 4.5.2 策略树 4.5.3 策略表 4.5.4 其他工具,2007.10,33,4.5.4 其他工具,系统分析过程中,除了前面介绍的工具之外,一些传统的图形工具也常被采用,如系统业务流程图、组织结构图等。 这些工具虽不及结构化工具规范,但也能使人一目了然。 图4.24给出了系统业务流程图的常用符号, 业务流程图的实例参见图4.5。 图4.25是常用的目标功能图,又称目标树,常用以表述系统的功能目标及其分解。,2007.10,34,图4.2
14、4 业务流程图中的符号,2007.10,35,图4.25 某工厂目标树,2007.10,36,4.6 CASE工具,在需求分析阶段需要绘制许多可视化的图和表,如系统功能目标图、数据流图、数据字典等,绘制这些图的主要目的就是要直观地把系统的数据及业务逻辑关系表述清楚。 分析阶段的这些活动通常被专业开发人员称做分析建模,模型的主要内容也就是这些图、表和文字。 对分析建模过程中大量的图、表和文字内容的绘制和管理是一个非常复杂的工作,而且这些图之间是具有一定逻辑关系的,能不能保证这种逻辑关系的一致,是手工完成这项工作的难点,所以在实践中,开发了计算机辅助工具,即CASE工具。 通过CASE工具的应用,
15、实现分析建模的标准化和智能化,在提高了分析建模的效率的同时,也保证了模型的正确性和一致性。,2007.10,37,计算机辅助系统工程(Computer-Aided System Engineering,CASE),也称为计算机辅助软件工程(Computer-Aided Software Engineering)。在计算机软件工程领域,这不是一个软件,而是对一类软件的统称。 有专门的分析建模工具,也有专门的设计建模工具,有面向对象的相应工具,也有结构化的工具,所有这些软件工具都是CASE工具。目前,常见的CASE工具有: Visible System Corporation公司提供的Visibl
16、e Analyst; Popkin Software & Systems公司提供的System Architect; SYBASE 公司的Power Desinger; Rational公司的Rational Rose; ORACLE 公司的CASE*METHOD; PLATIUM 公司的Erwin/ERX; Asymetrix 公司的InfoModeler等。 国内常见的有中国科学院沈阳自动化研究所提供的“业务流程数字化设计工具”PlayCASE。,2007.10,38,除了传统的CASE工具外,系统开发人员经常使用特殊用途的图表工具,其中一个流行的工具是Microsoft Visio。系统
17、分析员可以使用Visio创建许多不同类型的图表,包括框图、创建计划、表格和图表、网络图和组织结构图等。 为了编辑方便本教材的结构化分析与设计部门的相关图表是使用Word制作的,建议在教学过程中使用Visible System Corporation公司提供的Visible Analyst辅助建模,在面向对象的方法中主要使用Rational Rose辅助建模。,2007.10,39,4.7 系统分析实例,4.7.1 学生成绩管理信息系统 4.7.2 酒店管理信息系统,2007.10,40,4.7.1 学生成绩管理信息系统,学生成绩管理信息系统要求实现如下功能:学生成绩录入,学生成绩增删改,学生成
18、绩查询,学生成绩统计分析。 1输出信息要求 (1)输出格式1:,学生成绩查询表,2007.10,41,(2)输出格式2:,2007.10,42,(3)输出格式3:,2007.10,43,2学生成绩管理信息系统业务流程图,2007.10,44,3学生成绩管理信息系统数据流程图,图4.27 学生成绩管理信息系统0层图 (系统关联图),2007.10,45,图4.28 学生成绩信息系统1层数据流程图,2007.10,46,4.7.2 酒店管理信息系统,1酒店管理信息系统的业务活动分析 经调查得到以下的业务流程基本情况:,图4.29 库存商品流转业务流程图,2007.10,47,(1)接待业务。 基本
19、内容:客人进入首次迎宾到总台登记选房收押金/刷卡开设账户明确折扣和其他优惠措施领手牌(明确主手牌)和房门IC卡二次迎宾。 附加内容:换房、加房、立即退房、主手牌变更、修改登记、取消登记、预订、预订转登记、修改/取消预订、补押金、修改折扣、为客人查询有关数据。 (2)点单业务。 当客人在店内进行一项/多项消费或接受服务后,有关服务生立即将相应的内容填写在三联单上,并根据其手牌号请客人签字,这是总台记账和结账的原始单据。 对填错的单据进行修改,根据总台的要求,对客人已实施的消费进行调整,对商品外卖、特殊情况下的现金收入进行签单处理。,2007.10,48,(3)餐饮业务(允许单独收银)。 基本内容
20、:客人进入餐厅迎宾开台点菜餐间服务结账。 附加内容:加/换/退菜、换台、送餐、折扣、免单、按主手牌挂账、按合同单位挂账、增加/修改菜谱、填成品损耗单等。 (4)收银业务。 基本内容:客人交还手牌对应的账单汇总结账送客。 附加内容:提前退房/退手牌、提前部分/全部结账、代/转他人结账、挂账、免单、促销优惠、超押金预警、设立挂账账户、清理欠账。 (5)库存业务。库存商品流转业务流程如图4.29所示。 办理消费品和消耗品的入库登记,分类分批次分价格统计库存,控制商品质量和保质期,分营业部门出/退库,记录库存账目,按规定时间制作库存报表。 按种类查询和盘点在库商品及出库流向,统计部门的商品(原物料)差
21、异量;根据库存情况,及时提出补货和进货申请,提出积压物品处理意见。,2007.10,49,(6)汇总报表。 按客人汇总:同一批客人的所有单据,包括代他人结账、由他人代结账和折扣/挂账/免单等特殊单据的汇总,制作统计报表。 按部门汇总:按一定时间段汇总某个营业部门的全部单据、各种营业额及其相关比例的报表。 单据审核:由财务部门对所有业务单据进行审核。,2007.10,50,2酒店管理信息系统的基本要求 经调查与分析,酒店管理信息系统须满足以下基本要求:(1)娱乐休闲型酒店管理信息系统是一个综合性的人机交互系统,涉及计算机技术、网络通信技术、统计技术、条码/磁卡技术、财务管理、物流管理和旅游经济学
22、等多方面的知识。它专门针对这类酒店系统的特殊流程和业务要求进行数据组织处理和信息调控,代替业务人员进行烦琐和重复性的工作。 (2)系统通过加快处理速度、对各类信息的详细记录和大幅度降低运行差错率来提高运转效率和准确性,帮助酒店管理人员对其业务有更深层次的认识,从信息管理和数据挖掘角度上优化组织机构、减少资金占用,保证其经济效益的如期实现和不断提高。,2007.10,51,(3)完善的系统不仅能精确、实时地反映和处理酒店的各项业务活动,还能同时为各级管理人员服务,提供及时准确的决策信息和依据。 (4)大型的管理信息系统要求采用先进的计算机网络技术,在酒店内建设一个覆盖各部门的高效率的管理信息网,
23、并根据业务量的增长和业务范围的扩大逐步建成具有一定规模、性能优异、功能强大、灵活可靠实用的网络体系。 (5)网络系统的核心是建立高性能的主机及网络软、硬件平台。开发出适合于各业务部门和管理部门共享的网络系统应用软件,充分发挥分布式高效能网络的计算和存储能力,结合消费卡灵活准确的信息对接特性,为客人提供了最大程度的方便条件,从而在整体上提高工作和管理的效率。,2007.10,52,3业务流程图 酒店管理业务流程如图4.30、图4.31和图4.32所示。酒店管理业务总的流程如图4.33所示。根据以上情况,我们不难归纳出在系统关联图中,有以下事件:,图4.30 进货业务流程,2007.10,53,图
24、4.31 入库业务流程,2007.10,54,图4.32 物品领用流程图,入住:表示客人进入酒店,该事件的起点是客人,终点是酒店; 结账:表示客人离开酒店,该事件的起点是酒店,终点是客人; 订货:该事件的起点是酒店,终点是供货商; 发货:该事件的起点是供货商,终点是酒店。,2007.10,55,图4.33 酒店业务流程总图,2007.10,56,4功能树(见图4.34),图4.34 功能图,2007.10,57,5数据流图(见图4.35和图4.36),图4.35 0层数据流程图,2007.10,58,图4.36 数据流程总图,2007.10,59,4.8 需求分析说明书编写提纲,需求分析说明书
25、编写提纲分以下几个部分: (1)引言:编写目的;背景说明;术语定义;参考资料。 (2)任务概述:目标;用户的特点;假定与约束。 (3)需求规定:对功能的规定;对性能的规定(精度、时间特性要求、灵活性);输入/输出要求;数据管理能力要求;故障处理要求;其他专门要求。 (4)运行环境设定:设备;支持软件;接口;控制。 (5)缩写词表。 (6)参考文献。,2007.10,60,本 章 小 结,系统分析的主要目标是定义用户的需求,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体需求的阶段,这一阶段的活动成果即是目标系统的系统分析说明书,其中主要内容是新系统的逻辑模型。 表述目标系
26、统逻辑模型的主要工具是数据流图、数据字典。数据字典对数据流图中的要素起注解作用。为了分析与表达清楚处理逻辑的内部算法,需要用到策略表、策略树和结构式语式。 绘制数据流图的过程即是建模的过程,数据流图应按分层分解的原则逐步细化。 为了从多方面表述目标系统的需求,还可以有选择地使用目标结构图、系统流程图、层次图等。,2007.10,61,思 考 题,4-1 系统分析的主要目标和活动是什么? 4-2 什么是结构化系统分析?其中用到了哪些主要工具? 4-3 结构化系统分析的成果是什么?具有什么特点和作用? 4-4 参与系统分析活动的主要有哪些人员,其主要任务是什么? 4-5 对下列收费策略,使用策略表进行分析,然后将分析结果用策略树表达,最后再将其写成结构化语言的形式(注意该收费策略考虑得是否全面、有无遗漏)。某高校的收费策略是:参加6个或6个以下学期学习的在校住宿学生每学期学费2000元,参加6个或6个以上学期学习的非住宿学生每学期学费3500元。参加6个以上学期学习的在校住宿学生每学期学费3800元。担任助教的非住宿学生支付在校住宿学生学费的30%,担任学校雇员的学生或学校雇员的直系亲属减免50%的学费。,