版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、需求分析概念、任务和分析方法3.1 需求分析的概念和任务 3.2 获取需求的方法 3.3 结构化分析方法 本章学习内容: 1掌握需求分析的基本概念 2明确需求分析应遵循的原则 3掌握如何使用需求获取技术来进行数据采集 4掌握结构化分析的思想与过程 5掌握数据流建模技术 第3章 需求分析 能否开发出高质量的软件,很大程度上取决于对要解决问题的认识程度,以及如何准确地表达出用户的需求。 需求分析的概念和任务3.1.1 需求的概念 对用户来讲需求是对软件产品的解释,是用户对目标软件系统在功能、行为、性能和约束等方面的期望。而对开发人员所讲的需求,对用户来说又像详细设计。 IEEE软件工程标准词汇表中
2、对需求的定义: (1)用户解决问题或达到目标所需的条件或权能; (2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需要具有的条件或权能; (3)一种反映上面(1)和(2)所描述的条件或权能的文档说明。 由上述定义可知,需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档软件需求规格说明书。 需求的特点 : (1)用户需求直接来源于用户。需求可以由用户主动提出,也可以通过与用户沟通、交流或者进行问卷调查等方式获得。由于用户对计算机系统认识上的不足,分析人员有义务帮助用户挖掘需求。 (2)用户需求需要以文档的形式提供给用户审查。因此,需要使用流畅的自然语言
3、和简洁清晰的直观图表来表 述,以方便用户的理解与确认。 (3)可以把用户需求理解为用户对软件的合理请求。这意味着,必须全面理解用户的各项要求,但又不能全盘接受所有的要求。 (4)用户需求主要是为用户方管理层撰写的。但是用户方的技术代表、软件系统今后的操作者以及开发方的高层技术人员,也有必要认真阅读用户需求文档。3.1.2 需求的层次 需求可分解为4个层次:业务需求、用户需求、功能需求和非功能需求。 (1)业务需求(Business Requirement) 业务需求是反映组织机构或客户对软件高层次的目标要求。这项需求是用户高层领导机构决定的,它确定了系统的目标、规模和范围。业务需求是需求分析阶
4、段制定需求调研计划、确定用户核心需求和软件功能需求的依据,应在进行需求分析之前,通常在项目定义与范围文档中予以说明。 (2)用户需求(User Requirement) 用户需求是关于软件的一系列想法的集中体现,涉及软件的功能、操作方式、界面风格、报表格式、用户机构的业务范围、工作流程,以及用户对软件应用的展望等。 (3)功能需求(Functional Requirement) 功能需求是软件系统的最基本的需求表述,包括对系统应该提供的服务,如何对输入做出反应,以及系统在特定条件下的行为描述。在某些情况下,功能需求还必须明确系统不应该做什么,这取决于开发的软件类型、软件未来的用户、以及开发的系
5、统类型。所以,功能性的系统需求,需要详细地描述系统功能特征、输入和输出接口、异常处理方法等。 (4)非功能需求(NonFunctional Requirement) 非功能性需求包括对系统提出的性能需求、可靠性和可用性需求、系统安全以及系统对开发过程、时间、资源等方面的约束和标准等。性能需求指定系统必须满足的定时约束或容量约束,一般包括速度(响应时间)、信息量速率(吞吐量、处理时间)和存储容量等方面的需求。 业务需求项目视图与范围文档用户需求质量属性使用实例文档系统需求功能需求其他非功能需求约束条件软件需求规格说明图3-1 软件需求各组成部分之间的关系3.1.3 需求分析的任务 将用户对软件的
6、一系列要求、想法转变为软件开发人员所需要的有关软件的技术规格说明软件需求规格说明书 。即准确地定义未来系统的目标,确定为满足用户的需求,系统必须做什么。用规范的形式软件需求规格说明书,准确地表达出用户的需求。 软件是利用计算机技术解决现实生活中问题的一种有效方法和手段。 软件需求分析是在软件计划的基础上进行的,需求分析是介于系统分析和软件设计阶段之间的桥梁,它直接关系到软件的成功与否。 需求分析的主要任务 (1)确定系统的综合需求 (2)分析系统的数据需求 (3)导出系统的逻辑模型 (4)修改系统开发计划 (5)书写软件需求规格说明书3.1.3.1 需求分析的过程 (1)需求获取 进行用户需求
7、调查,获取需求,识别问题,确定系统的综合要求是需求分析的第一步。主要获取如下需求: 1)功能需求 系统做什么?系统何时做什么?系统何时及如何修改或升级? 2)性能需求 软件开发的技术性指标 例如:存储容量限制;执行速度、相应时间等 3)环境需求 硬件:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等 软件:操作系统、网络、数据库 4)界面需求 有来自其它系统的输入吗? 到自其它系统的输出吗? 对数据格式有规定吗? 对数据存储介质有规定吗? 5)用户或人的因素 用户类型? 各种用户熟练程度? 需受何种训练? 用户理解、使用系统的难度? 用户错误操作系统的可能性? 6)文档需求 需哪些文档?
8、文档针对哪些读者? 7)数据需求 输入、输出数据的格式? 接收、发送数据的频率? 数据的准确性和精度? 数据流量? 数据需保持的时间? 8)资源需求 软件运行时所需的数据、软件。内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。 9)安全保密需求 需对访问系统或系统信息加以控制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序和操作系统隔离? 系统备份要求? 10)软件成本消耗与开发进度需求 需要的软硬件投资有无限制? 开发有规定的时间表吗? 11)质量保证需求 系统的可靠性要求? 系统必须监测和隔离错误吗? 规定系统平均出错时间? 出错后,重启系统允许的时间? 系统变化如何
9、反映到设计中? 维护是否包括对系统的改进? 系统的可移植性? (2)分析建模 任何一个软件系统都离不开数据,分析系统的数据要求是需求分析的主要任务之一。从信息流和信息结构出发,逐步细化软件的所有功能,找出系统各个元素之间的联系、接口特性和对设计的限制,判断是否存在因片面性或短期行为而导致的不合理需求,判断是否有用户尚未提出的确实有价值的潜在需求,从而提出其中不合理的部分,增加真正需要的部分。通过模型表达用户需求。后续课程将介绍建模的具体方法。当前系统逻辑模型物理模型目标系统模型化物理模型怎么做具体化抽象化逻辑模型做什么实例化导出理解需求表达需求图 3-3 由当前系统建立目标系统模型过程 通常系
10、统的逻辑模型用DFD图、DD、状态转换图和主要功能的处理算法等进行描述。 通过建模过程可以更加了解系统,经过抽象降低问题的复杂性,有助于回忆所有问题的细节,有助于开发小组间的交流,有助于与用户的交流,为系统的维护提供文档。 (3)编写软件需求规格说明 在对问题空间、全面理解的基础上,对需求模型进行精确地、形式化的描述。(文档格式、内容见附录) (4)需求验证 对需求分析进行评审: 1)完整性 2)正确性 3)一致性 4)必要性 5)无歧义性 6)可验证性 7)优先级的划分3.2 获取需求的方法 需求分析至今仍是公认为软件开发中最为困难、亟待解决的一个问题。3.2.1 获取需求过程中存在的问题
11、(1)人们对需求的理解问题 (2)分析人员与用户的通信问题 (3)用户需求的可变性问题 (4)分析方法和分析工具问题 3.2.2 获取需求的常用方法 1研究资料法 范围:企业外部的资料。例如,各项法规、市场信息等;企业内部的各种资料。例如,企业的有关计划、指标、经营分析报告、合同、帐单和统计报表等。 收集资料时一定要明确目的,必须收集和选择符合目的的资料来阅读。 作用:解生产经营情况和正常的操作程序;理解信息的处理方式;有助于弄清需求。 局限性:资料只反映静态的和历史的情况,无法反映企业的动态活动和过程,因此,还必须借助其他方法获取更复杂、更全面的需求。 2问卷调查法 步骤: (1)确定必须收
12、集哪些事实和从哪些人收集数据。 (2)基于所需的事实数据,确定采用自由格式或还是固定格式的调查问卷。 (3)设计调查问题,确保问题明确,没有歧义或遗漏。 (4)复制和分发调查问卷,组织调查,注意回收。 某出版社系统调查表编号提出问题1您在哪个部门工作?2出版业务流程是什么?3您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?某出版社系统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?9如何改进业务流程使之
13、更合理?10哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?调查问卷的优点 多数调查问卷可以被快速地回答。人们可以在方便的时候完成和返回调查问卷。 如果希望从许多人处获取信息,调查问卷是一种低成本的数据采集技术。 调查问卷形式允许保护个人的隐私,并便于整理和归纳。调查问卷的缺点: 由于是背对背地进行调查,对回答问题的质量难于把握。 对于模糊的问题、隐含的问题不便于采用问卷的方法。 3用户访谈 步骤: (1)选择访谈对象。 (2)准备访谈资料:包括访谈内容和进度安排等。 (3)进行访谈,并注意做好访谈记录,访谈内容要经过被访者的认可和确认。 (4)整理访谈
14、记录。 访谈方法的优点: 访谈为分析人员提供了与访谈对象自由沟通的机会。通过建立良好的人际关系,有利于让访谈对象愿意为该项目的开发做出努力。 通过访谈可以挖掘更深层次的用户需求。 访谈允许开发人员使用一些个性化的问题。 访谈方法的缺点: 成功的访谈在很大程度上取决于分析人员的经验与技巧。 访谈占用的时间较多,访谈后的资料整理,也需要花费较多的时间。 4实地观察法 原则: 明确需要观察的内容、地点以及观察的周期,并明确如何进行观察? 从用户那里得到去现场观察的许可? 事先通知将要被观察的用户,告诉他们观察的目的; 禁止打断别人的工作,边观察,边记录;不要事先进行假设。 实地观察方法的优点: 通过
15、观察得到的数据准确、真实; 通过观察有利于弄清复杂的工作流程和业务处理过程,而这些有时是很难用文字描述清楚的; 实地观察方法的缺点: 在特定的时间进行观察,并不能保证得到平时的工作状态,有些任务不可能总是按照观察人员观察时看到的样式执行; 花费时间,数据整理比较麻烦。3.2.3 需求分析的原则 (1)解决逻辑问题 给出要完成的功能和处理的信息,而不考虑实现的细节。 (2)以运行环境为基础 以具体的运行环境为基础,不能照搬其他类似的系统开发时的分析工作。 (3)用户参与 系统分析人员要与用户不断的交流。 (4)构造高质量的需求规格说明 应严格遵循即定规范,做到内容全面、结构清晰、格式严谨。3.2
16、.4 需求分析方法 虽有多种需求分析及描述的方法,但每种方法都应满足以下基本要求。 (1)必须理解好问题的数据域和功能域 数据域:数据项、数据结构、数据流 功能域:功能之间的数据传递就确定了功能之间的接口 (2)必须能按自顶向下、逐步分解的方式对问题进行分解和不断细化 将求解的复杂问题分解为若干个相对简单问题求解的组合,降低问题求解的复杂性。 (3)要给出系统的逻辑视图和物理视图 软件需求的逻辑视图描述的是软件要达到的功能和要处理的信息之间的关系,但没有描述实现的细节。 软件需求的物理视图给出的是处理功能和信息结构的实际表现形式,需要考虑实际的环境和具体的设备。3.3 结构化方法 结构化方法是
17、一种面向数据流,进行需求分析的方法。采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 结构化方法包括: 结构化分析(SA-Structured Analysis) 结构化设计(SD-Structured Design) 结构化编程(SP-Structured Programming ) 结构化分析方法多年来被广泛应用,是最经典的面向数据流的需求分析方法,使用于分析大型的数据处理系统。3.3.1 结构化分析方法的的主要步骤 通过学生购买教材这个实例,介绍需求分析方法的基本思想和主要步骤。学生学生购书申请购书单发票领书单书107张教务科206王会计室
18、206李出纳员303赵教材科学生购买教材的物理模型(1) 通过对现实环境的调查,获得当前系统的物理模型。 (2) 去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。学生购买教材的逻辑模型学生学生购书单有效购书单发票领书单书审查有效性开发票开领书单发书 (3) 分析当前系统与目标系统的差别,建立目标系统的逻辑模型。计算机售书系统的逻辑模型学生学生购书单发票领书单书审查并开发票开领书单发书 (4) 对目标系统进行完善和补充,并写出完整的需求规格说明书。学生学生购书单发票领书单审查并开发票开领书单无效书单学生学生购书单发票领书单 1审查并开发票 2 开领书单无效书单显然,上图还可以进一步分解细化
19、。各班学生用书表教材存量表改进后的计算机售书系统的逻辑模型 SA方法以数据流分析作为需求分析的出发点,任何信息处理过程均看成是将输入数据变换成所要求的输出信息的装置。而当分析人员面对一个复杂问题时,结构化分析的策略是基于问题分解与抽象的观点,用抽象模型的概念,按照软件内部的数据传递关系,采用自顶向下、逐步分解技术,直至找到满足功能需求的可实现软件元素为止。现实世界计算机世界映射 在现实世界中,事物与事物之间存在着一定的联系。通过分析和归纳可建立起概念模型,然后根据概念模型,将概念世界中的实体及实体间的联系抽象为便于计算机处理的数据模型。现实世界计算机世界结构化开发方法结构化分析SA结构化设计S
20、D结构化编程SP面向对象分析OOA面向对象设计OOD面向对象程序设计OOP面向对象开发方法OOA-Object-Oriented AnalysisOOD-Object-Oriented DesignOOP-Object-Oriented ProgrammingSA-Structured AnalysisSD-Structured DesignSP-Structured Programming3.3.2 描述工具 从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流,从输入到输出的移动变换过程,为系统建立逻辑模型。 SA提供一套图形、表格和问题描述语言等半形式化的描述方式表达需求,简明易
21、懂。描述工具包括: 实体联系图(E-REntity-Relationship) 数据流图(DFDData Flow Diagram) 数据字典(DDDATA Dictionary) 问题描述语言(PDLProblem Describe Language) 判定表(Decision Table) 判定树(Decision Tree) 3.3.2.1 E-R图 E-R(Entity- Relationship )模型即实体-联系模型,又称E-R图。E-R图不涉及具体的数据模型,它是数据建模的基础,是抽象和描述现实世界的有力工具。利用 E-R图可以方便地描述概念世界,建立概念模型。如果需要还可以将其
22、转换成对应的数据模型。 E-R 图一般有实体、属性以及实体间的相互联系三个要素。 实体:用矩形框表示,框内标注实体名称。 教师姓名属性:用椭圆形表示,并用连线与实体连接。 实体间联系:用菱形表示,框内标注联系名称。 并将菱形框与有关实体用连线连接起 来,在连线上注明联系类型。联系类 型一般分为三种:一对一联系 1 :1; 一对多联 系 1 :m;多对多联系 m :n领导11班长班级机构1m学校部门领导教师和课程关系的E-R图 数据流图 3.3.3.1. 数据流图的基本符号 数据流图(DFD Data Flow Diagram)是描述逻辑模型的图形工具,它表示数据在系统内的变化。数据流图的基本图
23、符如下: 加工,输入数据在此进行变换,产生输出数据,要注明加工的名字和编号。 或数据的源点和终点,要注明源点和终点的名字。或 数据流,要注明数据流的名字。 数据存储,要注明数据存储的名字 。或数据存储名3.3.3.2 数据流与数据加工之间的关系3.3.3.3 数据流图的分层 为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。分层的数据流图 在多层数据流图中: 顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。 底层流图是指其加工不需再做
24、分解的数据流图,它处在最底层。 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。例:商店业务处理系统 这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能。 数据流图绘制步骤: 首先确定系统的输入和输出 根据商店的业务,画出顶层数据流图,以反映最主要业务处理流程 经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图第一层数据流图第二层数据流图(对销售加工细化)第二层数据流图(对采购加工细化)实例 考
25、务处理系统功能 (1)对考生送来的报名单进行检查; (2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站; (3)对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者; (4)制作考生通知单(含成绩及合格/不合格标志)送给考生; (5)按地区进行成绩分类统计和试题难度分析,产生统计分析表。顶层(0层)数据流图考试中心考生考务处理 系统阅卷站不合格报名单报名单准考证考生通知单成绩清单合格标准错误成绩清单考生名单统计分析表考务处理系统的分层DFD一层数据流图登记报名单报名单准考证1统计成绩2不合格报名单考生通知单成统计分析表考生名册绩清单合格标准考生名
26、单成绩清单错误二层数据流图 (a)检查报名单报名单准考证编准考证号不合格报名单考生名册考生名单合格报名单登记考生二层数据流图 (b)正确成绩清单合格标准检查成 绩清单审定合格者考生名册制作通知单分析统计成绩分析试题难度试题得分清单考生通知单难度分析表分类统计表成绩清单错误成绩清单经审定的成绩清单分层的数据流图 DFD 可以用来表示一个系统或软件在任何层次上的抽象。 比较大型软件系统的DFD分成多层(子图、父图概念),可以表示数据流和功能的进一步的细节。SafeHome的控制面板与用户交互SAFEHOMEARMED POWER01123456789*0#OFF ARAY STAYMAX TEST
27、 BYPASSINSTANT CODE CHIMEREADYpanicalarmcheckfireawaystayinstantbypassnot readySafeHome的顶层 SafeHome软件系统用户命令和数据显示信息控制面板传感器传感器状态警铃 线警告类型 号码拨音控制面板显示SafeHome的第1层控制面板与用户交互控制面板显示密码 号码拨音传感器状态显示信息配置请求用户命令和数据配置系统警铃电话线传感器配置信息显示信息和状态监控传感器激活不激活系统传感器信息密码处理警告类型检验id信息开始停止状态信息SafeHome的第2层(监控传感器) 号码拨音传感器状态配置数据显示格式配置
28、信息产生警告信息拨号评估设置传感器信息读传感器警告类型传感器id类型传感器id类型定位 通过上述例子,可以将画数据流图的基本步骤概括地说,就是由外向内,自顶向下,逐步细化,完善求精。具体步骤归纳如下: 1.先找出系统的数据源点和终点,确定系统与外界的接口。 2.区分出外部实体的输出/输入数据流。 3.把系统视为一个整体。在顶层数据流图上画出系统的外部实体、总体加工及输入/输出数据流。 4.画分层数据流图。从外部实体的输出数据流 (即系统的源点) 出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直至找到外部实体所需要的输入数据流(即系统的终点) 。 5.按照以下原则进行检查和修改。 1)数据流
29、图上所有图形符号,只限于使用前述图符。 2)数据流图的顶层图必须只包含有一个加工。 3)数据流图的顶层图上的数据流,必须封闭在外部实体之间(外部实体可以不只是一个)。 4)每个加工至少要有一个输入数据流和一个输出数据流。 5)在数据流图中,需按层给加工框编号。编号应表明该加工处在哪一层, 以及上下层的父图与子图的对应关系。 6)图上的每个元素都必须有名字。表明数据流和数据文件是什么数据,加工做什么事情。 7)父图与子图的平衡。任何一个数据流子图必须与它的上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。表明在细化过程中输入和输出数据不能有丢失和添加。 8)数据流图中不可夹带控制流。因
30、为数据流图是实际业务流程的客观映象,说明系统“做什么”而不是要表明系统“如何做”,因此不是系统的执行顺序。 9)避免分解过快或分解过慢。 10)初画时可以忽略琐碎的细节,以集中精力于主要数据流。3.3.4 数据字典(DD,DataDictionary) 数据字典是进行系统设计的最有价值的文档之一。DD是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。3.3.4.1 数据字典编写的基本要求 (1)对数据流图上的各种元素的定义必须明确、一致且易理解。 (2)命名、编号应与数据流图一致。 (3)对数据流图的成分
31、定义与说明要无遗漏,不要有同名异议或异名同义的。 (4)格式规范、文字精练、符号正确。3.3.4.2 数据字典的内容与格式 数据字典中包括4类条目: (1)数据流条目 定义一个数据流的数据项组成。 (2)数据项条目 数据项是组成数据流的组成要素,分为基本数据项和结构型数据项。 (3)文件存储条目 说明存储文件的名称、编号、文件组织方式、记录数及存储介质等。 (4)加工说明条目 说明加工的名称、编号、输入/输出数据流、加工逻辑概括描述等。数据字典的定义式中使用的符号及意义 操作符 符号含义 被定义为 与(顺序结构) m.n 重复(循环结构), 或(选择结构) ( . ) 任选 “” 基本数据元素
32、 ., 注释符限制重复次数举例: 35 或53 表示允许重复3-5次 33 或33 表示恰好重复 3 次 1表示至少出现 1 次表示允许重复0至任意次3.3.4.3 数据字典的构造及使用 (1)数据项条目 数据项是数据的最小单位,对数据项的描述一般包括项名、含义说明、别名、类型、长度、取值范围及该项与其他项的逻辑关系。常以表格的形式给出。 如考务处理系统中考生的准考证号,其数据项的描述如下: 数据项名:准考证号别 名:报名单号说 明:用来惟一标识每个考生的情况类 型:字符型长 度:8取值范围:00009数据项 (2)数据流条目 数据流。数据流可以是数据项,也可以是数据结构,表示某一次处理的输入
33、/输出数据。包括数据流名、说明、数据来源、数据去向及需要的数据项或数据结构。如报名单数据流。数据流名:报名单说 明:根据考生需要考的科目,检查报名单,生成准 、 考证、考试名册等来 源:报名单表去 向:合格报名单数据组成:考生报名单号+姓名+性别+身份证号+年龄+考试 科目数据流数据存储名:学生成绩 输人数据流:成绩单输出数据流:试题得分数据 描 述:考号、课程号、得分数 据 量:约150条记录存取 方式:随机存 取 频度:30次/月 (3)数据存储条目 加工中需要存储的数据。包括数据存储名、说明、输人数据流、输出数据流、组成成分、数据量、存取方式、存取频度等。 如考试得分单,在生成成绩通知单
34、这一处理过程中要用到这些数据。数据存储数据项条目 数据项名:货物编号别 名:G-No,G-num简 述:本公司的所有货物的编号类 型:字符串长 度:10取值范围及含义:第 1 位:JG (进口/国产) 第 2至4位: L01、 L29 (类别)第 5至7位:“A00”、“A99” (规格)第8至10位:“001”、“999”(品名编号)数据流名: 发票别 名: 无简 述: 学生购书时填写的项目来 源: 学生去 向: 加工1“审查并开发票”组 成: (学号)姓名书号数量数据流量: 1000次/周 高 峰 值:开学期间1000次/天数据流条目 数据存储条目 文 件 名:库存记录别 名: 无简 述:
35、存放库存所有可供货物的信息组 成:货物名称编号生产厂家 单价库存量组织方式:索引文件,以货物编号为 关键字查询要求:要求能够立即查询3.3.5 加工说明 加工逻辑条目即数据处理描述,也称为小说明。它描述实现加工的策略,而不是实现加工的细节。 加工处理的过程定义和说明。包括加工名称、输人数据、输出数据、数据存储、响应时间等。这个说明可认为是DD的组成部分。也可在DD中定义只说明每个加工的组成 (每个处理分解成多少小处理),而在小说明中详细描述它的处理逻辑。 如检查报名单处理。加工名称:检查报名单说 明:根据报名单、考试科目表等,检查是否合格输人数据:报名单数据存储:考生名册输出数据:准考证加工说
36、明加工条目(加工逻辑说明) 加工逻辑名:登记报名单 编号: 激活条件:收到报名单 加工逻辑: 1.1 检查报名单 + 1.2 编准考证号 + 1.3 登记考生 执行频率:2000次/日加工说明举例加工名: 分类采购(CG111MD)编 号: 加工激活条件: 受到图书采购员分类 采购操作命令加工逻辑: (1) 1.1.1.1 预定图书 (2) 1.1.1.2 外采图书 (3) 1.1.1.3 赠送图书 执行频率: 随时 加工说明举例处 理 名:月票额统计(MHCW713MD)编 号:激活条件:收到每日售票额信息处理逻辑:1 统计月保险金总合 月保险金信息=每日日保险 金信息之和 2 统计月合计
37、月合计信息=每日日合计信息之和执行频率: 1次/月定义方法 找出所有数据元素 (数据项,数据流,数据存储和加工) 对数据项分类 作结构定义 DD的分类排序 DD中的命名(遵守系统开发规范规定) DD的实现 (1)人工方法 (2)自动方法(利用字典管理程序)DD应具特点 (1)通过名字可方便查阅数据定义 (2)无冗余 (3)易更新修改 随着自顶向下逐步细化,功能也越来越具体,加工逻辑也越来越精细。到最底一层,加工逻辑详细到可以实现的程度,因此,称为“原子加工”或“基本加工”。如果能够写出每一个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部加工逻辑。 在书写加工逻辑说明时,应满足如下要求
38、: 1.对数据流图的每一个基本加工,必须有一个加工逻辑说明; 2.加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工原则; 3.加工逻辑说明必须描述实现加工的策略,而不是实现加工的细节。 目前描述基本加工逻辑的工具有: 1. 结构化语言 2. 判定表 3. 判定树 3.3.5.1 结构化语言(Structured Language) 结构化语言是一种介于自然语言和形式语言之间的半形式化语言。它是在自然语言基础上加了一些限制而得到的语言,是使用有限的词汇和有限的语句来描述加工逻辑的。 结构化语言借用结构化程序设计语言的顺序、选择和循环等控制结构。 使用结构化语言描述加工的例子处
39、理 名:核实订票处理(MHGP3200MD)编 号: 激活条件:收到取订票信息处理逻辑:1读订票旅客信息文件 2搜索此文件中是否有与输入信息中姓 名及身份证号相符的项 IF 有 THEN 判断余项是否与文件中信息相符 IF 是 THEN 输出已订票信息 ELSE 输出未订票信息 ELSE 输出未订票信息执行频率: 实时 加工说明3.3.5.2 判定树(Decision Tree) 在某些数据处理问题中,其数据流图的处理需要依赖于多个逻辑条件的取值,这些取值构成多种不同条件,执行相应的不同动作。这类问题适合使用判定树或判定表作为描述加工小说明的工具。 判定树是一种呈树状的图形工具,适合于描述处理
40、中具有多种策略,要根据若干条件的判定,确定所采用策略的情况。 判定树具有清晰、直观、易于使用的优点。但当条件多,而且互相组合时,不容易清楚地表达判定过程。 例:以行李托运费的算法为例说明判定表的组织方法。 假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。 当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费 4元,对其他舱的国内乘客超重部分每公斤收费 6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表可以清楚地表示与上述每种条件组合相对应的动作(算法)。残疾乘客(W-30)2正常乘客(W-30)4正常乘客(W-30
41、)6残疾乘客(W-30)3残疾乘客(W-30)4正常乘客(W-30)8残疾乘客(W-30)6正常乘客(W-30)12头等舱其他舱头等舱其他舱国内乘客国外乘客行李重量W30行李重量W30免费行李费 例: 飞机票折扣率 条件1 条件2 结果计 79, 订票量 20: 15%算 12月 订票量20: 5%折扣 16, 订票量 20: 30%量 10,11月 订票量20: 20%3.3.5.3 判定表(Decision Table) 判定表比较适合用来描述数据流图中的加工需要依赖于多个逻辑条件的取值,即完成这一加工的一组工作,是由于某一组条件取值的组合而引发的处理情况。由于这时需要描述的加工是由一组操作组成的。其中有些操作是否执行又取决于一组条件,使用判定表,比较容易保证所有条件和操作都被说明,不容易发生错误和遗漏。判定表的结构,通常由4部分组成: 基本条件区 条件组合区基本动作区 执行动作区 (1)基本条件区:列出所有可能的基本判断条件项,通常与次序无关。 (2)基本动作区:列出所有可能采取的动作项,通常与次序无关。 (3)条件组合区:各种条件给出的多种取值,即多个条件所取真假值的组合。 (4)执行动作区:指出在各种条件的特定取值应采取的动作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃纤维增强塑料的耐温差性能研究考核试卷
- 电工基础知识考核试卷
- 武术教学与训练考核试卷
- 珠宝首饰行业国际市场准入规则考核试卷
- 2024年度大型商场租赁合同(含装修工程监管协议)3篇
- 种族文化创意课程设计
- 2024年汽车租赁协议:标准模板及专业指导3篇
- 石油及制品全球供应链管理考核试卷
- 私域营销模式课程设计
- 淀粉产品在电子电器行业的应用研究考核试卷
- 2025材料供货合同样本
- 豪华酒店翻新工程协议
- 《逆向教学设计研究的国内外文献综述》2500字
- 经济学原理模拟题含参考答案
- 科技强国建设视域下拔尖创新人才价值观引导研究
- 马鞍山酒柜定制合同范例
- 2024年保密协议书(信息技术行业)2篇
- 中国轴承制造行业投资前景分析、未来发展趋势研究报告(智研咨询发布)
- 【MOOC】中国天气-南京信息工程大学 中国大学慕课MOOC答案
- 2025年攻读博士学位期间拟开展的研究计划
- 职业道德试题及答案
评论
0/150
提交评论