版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第5章章 需求建模方法与技术需求建模方法与技术2第第5章章 需求建模方法与技术需求建模方法与技术需求建模需求建模 主要是根据待开发软件系统的需求利用主要是根据待开发软件系统的需求利用某种建模方法建立该系统的逻辑模型(也称需某种建模方法建立该系统的逻辑模型(也称需求模型或分析模型),以帮助软件开发人员检求模型或分析模型),以帮助软件开发人员检测软件需求的一致性、完全性、二义性和错误测软件需求的一致性、完全性、二义性和错误等。等。软件建模应具备的特点:软件建模应具备的特点:(1)提供描述手段;)提供描述手段;(2)提供基本步骤。)提供基本步骤。3第第5章章 需求建模方法与技术需求建模方法与技术
2、5.1 什么是模型什么是模型5.2 软件工程中的模型软件工程中的模型5.3 结构化的需求建模方法结构化的需求建模方法5.4 面向对象的需求建模方法面向对象的需求建模方法5.5 基于图形的需求建模技术基于图形的需求建模技术45.1 什么是模型n模型的定义模型的定义n由某些人根据其目的而对事物进行的抽象由某些人根据其目的而对事物进行的抽象描述。描述。n根据实物、设计图或设想,按比例生态或根据实物、设计图或设想,按比例生态或其他特征制成的同实物相似的物体。其他特征制成的同实物相似的物体。n当一个数学结构作为某个形式语言(即包当一个数学结构作为某个形式语言(即包括常符号、函数括常符号、函数 符号、谓词
3、符号的集合)符号、谓词符号的集合)的解释时,称为模型。的解释时,称为模型。1.为了理解事物而对事物作出的一种抽象,为了理解事物而对事物作出的一种抽象,是对事物的一种无二义性的书面描述。是对事物的一种无二义性的书面描述。55.1 什么是模型什么是模型n模型的分类模型的分类 (1)描述性模型描述性模型 能真实和较完整地反映客观世界(如照片)。能真实和较完整地反映客观世界(如照片)。 (2)规约性模型规约性模型 能用于创造新事物的规约(如需求模型)。能用于创造新事物的规约(如需求模型)。 (3)探测性模型探测性模型 是过渡性的,经常被修改而非最终决定的模型。是过渡性的,经常被修改而非最终决定的模型。
4、 软件工程中的模型有的是描述性模型,有的是规约性软件工程中的模型有的是描述性模型,有的是规约性模型,但大部分是描述性模型。作为特殊的例,需求模型既模型,但大部分是描述性模型。作为特殊的例,需求模型既是描述性模型(描述问题域),又是规约性模型(软件的需是描述性模型(描述问题域),又是规约性模型(软件的需求规格说明)。求规格说明)。65.2 软件工程中的模型软件工程中的模型n软件工程中模型的概念软件工程中模型的概念 对客观世界的问题领域进行抽象并用某描对客观世界的问题领域进行抽象并用某描述方法给予表示的结果称为模型。述方法给予表示的结果称为模型。n特点特点由于软件工程中多数模型是用于表示问题由于软
5、件工程中多数模型是用于表示问题领域中的元素以及元素间的关系或相互作用等,领域中的元素以及元素间的关系或相互作用等,故在建模过程中应该注意问题域中故在建模过程中应该注意问题域中有什么对象,有什么对象,应该选择什么样的关系或动作,应该选择什么样的关系或动作,然后用适当的然后用适当的模型给予表示。模型给予表示。 75.2 软件工程中的模型软件工程中的模型n软件工程中模型的分类软件工程中模型的分类(1)开发过程模型开发过程模型:瀑布式模型、增量模型、螺旋式模瀑布式模型、增量模型、螺旋式模 型等;(规约性)型等;(规约性) (2)信息流模型信息流模型 :DFD、SADT等;(描述性)等;(描述性) (3
6、)设计模型设计模型:类图、功能层次图等;:类图、功能层次图等; (4)交互作用模型交互作用模型:实例图、交互作用图、时序图等:实例图、交互作用图、时序图等; (5)状态迁移模型状态迁移模型:状态图、:状态图、Petri网等;网等; (6)用于构造细节的原理模型用于构造细节的原理模型:设计模式、实体关联图:设计模式、实体关联图 等;等; 85.3 结构化的需求建模方法结构化的需求建模方法nSA方法的适用范围方法的适用范围 主要适用于数据处理,特别是大型管理信息系统的主要适用于数据处理,特别是大型管理信息系统的需求分析,主要用于分析系统的功能,是一种直接根据需求分析,主要用于分析系统的功能,是一种
7、直接根据数据流划分功能层次的分析方法。数据流划分功能层次的分析方法。nSA方法的特点方法的特点 (1)表达问题时尽可能使用图形符号的方式,这样即使)表达问题时尽可能使用图形符号的方式,这样即使 非计算机专业人员也易于理解;非计算机专业人员也易于理解; (2)设计数据流图时只考虑系统必须完成的基本功能,)设计数据流图时只考虑系统必须完成的基本功能, 完全不需要考虑如何具体地实现这些功能。完全不需要考虑如何具体地实现这些功能。 95.3.1 SA方法的基本思想方法的基本思想n基本思想基本思想按照由抽象到具体、逐层分解的方法,确定按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换(或加
8、工)的关系,软件系统内部的数据流、变换(或加工)的关系,并用数据流图给予表示。并用数据流图给予表示。n复杂系统分解示例复杂系统分解示例 X 1323.13.33.2中间层中间层底层底层顶层顶层105.3.2 SA方法的描述手段方法的描述手段n组成组成(1)一套分层的数据流图)一套分层的数据流图 主要说明系统由哪些部分组成,以及各部分之间的主要说明系统由哪些部分组成,以及各部分之间的联系。联系。(2)一本数据词典)一本数据词典 为数据流图中出现的每个元素提高详细的为数据流图中出现的每个元素提高详细的说明。说明。(3)其它补充材料)其它补充材料 具体的补充和修改文档的说明。具体的补充和修改文档的说
9、明。 115.3.2 SA方法的描述手段方法的描述手段n数据流图数据流图(DFD:Data Flow Diagram) 描述系统内部处理流程、用于表达软件系统需求描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,亦即是描述系统中数据流程的模型的一种图形工具,亦即是描述系统中数据流程的图形工具。图形工具。 nDFD的简例的简例 源点数据流数据加工文件终点125.3.2 SA方法的描述手段方法的描述手段n数据流数据流 q数据流是由一组数据项组成的数据,通常用带标识的有数据流是由一组数据项组成的数据,通常用带标识的有向孤给予表示。数据流可以由单个数据项或多个数据项向孤给予表示。数据流可以
10、由单个数据项或多个数据项组成。组成。 例如:书费例如:书费 飞机订票单的数据流可表示为:旅客信息飞机订票单的数据流可表示为:旅客信息+日期日期+航班航班号号+目的地目的地+金额。金额。 13q数据流的流向数据流的流向 从源点流向加工从源点流向加工 从加工流向加工从加工流向加工 从加工流向文件从加工流向文件 从文件流向从加工从文件流向从加工 从加工流向终点从加工流向终点 两个加工之间允许出现多个数据流,多个数据流两个加工之间允许出现多个数据流,多个数据流之间可以无联系,而且在数据流图中不需要标出它们之之间可以无联系,而且在数据流图中不需要标出它们之间的流动次序。间的流动次序。 14q每个数据流都
11、要命名,每个数据流都要命名,但文件和加工之间的数据流可以但文件和加工之间的数据流可以不命名。不命名。q在数据流的命名中,不能使用缺乏具体含义的词如在数据流的命名中,不能使用缺乏具体含义的词如“数数据据”、“信息信息”、“表单表单”等当作为数据流名。等当作为数据流名。q不能把控制流作为数据流。不能把控制流作为数据流。学生成绩学生成绩排序后成绩排序后成绩取学生成绩取学生成绩学生成绩学生成绩155.3.2 SA方法的描述手段方法的描述手段n加工加工(变换)(变换) 对数据进行的操作或变换就称为加工。对数据进行的操作或变换就称为加工。 通常用圆,通常用圆,椭圆或椭圆或 表示。表示。n加工的命名方法加工
12、的命名方法q最高层的加工可以是软件系统的名字;最高层的加工可以是软件系统的名字;q不能使用空洞或含糊的动词作为加工名,如不能使用空洞或含糊的动词作为加工名,如“计计算算”,“分类分类”等。等。q加工的名字最好由一个谓语动词加上一个宾语组成,加工的名字最好由一个谓语动词加上一个宾语组成,如:如:“计算工资计算工资”,“分类成绩分类成绩”。q当遇到不能合适命名的加工时,可以考虑将加工分当遇到不能合适命名的加工时,可以考虑将加工分解,如:解,如:“检查并分类学生成绩检查并分类学生成绩”。165.3.2 SA方法的描述手段方法的描述手段n文件文件文件是存放数据的逻辑单位,且通常用图文件是存放数据的逻辑
13、单位,且通常用图形符号形符号“ ”,“ ”和和“ ”分别表示分别表示加工要写文件,读文件和读写文件。或加工要写文件,读文件和读写文件。或 表示表示 另外,在这个图形符号中还要给出文件另外,在这个图形符号中还要给出文件名。名。 n源点和终点源点和终点源点和终点用于表示数据的来源和最终去源点和终点用于表示数据的来源和最终去向,且通常用图形方框给予表示。向,且通常用图形方框给予表示。17n例:某培训中心管理信息系统的关联图例:某培训中心管理信息系统的关联图 某培训中心的主要工作是为本行业在职人员提供某培训中心的主要工作是为本行业在职人员提供课程培训服务。职工可以通过电子邮件、信函等课程培训服务。职工
14、可以通过电子邮件、信函等报名、选修或注销课程,或询问课程计划等,培报名、选修或注销课程,或询问课程计划等,培训中心收取一定的培训费用,学费可以用现金或训中心收取一定的培训费用,学费可以用现金或支票的形式付款。支票的形式付款。18n例:例:4.1节中某培训中心管理信息系统节中某培训中心管理信息系统 19n分层的分层的DFD对于大型而又复杂的软件系统,如果用一张对于大型而又复杂的软件系统,如果用一张DFD说出所有的数据流和加工,整个图就会变得相当复杂说出所有的数据流和加工,整个图就会变得相当复杂和难以理解,而且一张纸也难以写下这样的图。为了和难以理解,而且一张纸也难以写下这样的图。为了控制复杂性,
15、通常可采用分层的方法。控制复杂性,通常可采用分层的方法。n分层分层DFD的组成的组成 顶层顶层(0层图):用于注明系统的边界,即系统的输层图):用于注明系统的边界,即系统的输入入/输出。输出。0层图整个系统只有一张,实际上就是前面层图整个系统只有一张,实际上就是前面所说的关联图。所说的关联图。 中间层中间层:描述加工的分解,其组成部分可进一步分解。:描述加工的分解,其组成部分可进一步分解。 底层底层:由一些不能再分解的加工组成,这些加工足够:由一些不能再分解的加工组成,这些加工足够简单,亦称为基本加工。所谓基本加工是指含义明确、简单,亦称为基本加工。所谓基本加工是指含义明确、功能单一的加工。功
16、能单一的加工。20n画完整的分层的画完整的分层的DFD需注意的几个问题需注意的几个问题(1)在画在画DFD时应区别于流程图时应区别于流程图 DFD注重于数据在系统中的流动,在加工间的注重于数据在系统中的流动,在加工间的多股数据流之间不需考虑前后次序问题,加工多股数据流之间不需考虑前后次序问题,加工只描述只描述“做什么做什么”,不考虑,不考虑“怎么做怎么做”和执行和执行顺序的问题。顺序的问题。 流程图则需考虑对数据处理的次序和具体细节。流程图则需考虑对数据处理的次序和具体细节。 (2)DFD的完整性问题的完整性问题 每个加工至少有一个输入,一个输出。每个加工至少有一个输入,一个输出。21(3)D
17、FD的一致性问题(的一致性问题(示例示例) 是指父图中某加工的输入是指父图中某加工的输入/输出与分解该加工的输出与分解该加工的子图的输入子图的输入/输出必须完全一致,即输入输出必须完全一致,即输入/输出应输出应该相同。该相同。 层次的分解通常是都加工的分解,在必要的层次的分解通常是都加工的分解,在必要的情况下也可以对数据流进行分解。情况下也可以对数据流进行分解。(4)在分层在分层DFD中文件的表示中文件的表示 在抽象层中未用到的文件可以不表示出来,在子在抽象层中未用到的文件可以不表示出来,在子图中用到的文件则表示在该子图中。但是在抽图中用到的文件则表示在该子图中。但是在抽象层中表示出的文件,则
18、应该在相应的某(些)象层中表示出的文件,则应该在相应的某(些)子图中表示。当文件共享与某些加工之间时,子图中表示。当文件共享与某些加工之间时,则该文件必须表示出来。则该文件必须表示出来。(5)分解层次的深度分解层次的深度 (准则)(准则)225.3.2 SA方法的描述手段方法的描述手段n一致性问题示例一致性问题示例235.3.2 SA方法的描述手段方法的描述手段n分解层次深度的应验性准则分解层次深度的应验性准则(1)某个加工的分解最好不超过)某个加工的分解最好不超过78层,尽量层,尽量 减少分解层次;减少分解层次;(2)分解应根据问题的逻辑特性进行,不能硬)分解应根据问题的逻辑特性进行,不能硬
19、 性分解;性分解;(3)每个加工被分解为子加工后,子图中的子)每个加工被分解为子加工后,子图中的子 加工数不要太多,通常为加工数不要太多,通常为710个;个;(4)上层可分解快些,下层应该慢些,因为上)上层可分解快些,下层应该慢些,因为上 层比较抽象,易于理解;层比较抽象,易于理解; 245.3.2 SA方法的描述手段方法的描述手段(5)分解要均匀,即在一张)分解要均匀,即在一张DFD中,有些已是中,有些已是 基本加工,另外一些还要被分解为多层;基本加工,另外一些还要被分解为多层;(6)分解到什么程度才能到达底层)分解到什么程度才能到达底层DFD呢?一呢?一 般来说应满足两个条件:一个是加工能
20、用般来说应满足两个条件:一个是加工能用 几句或十几句话就可清楚地描述其含义。几句或十几句话就可清楚地描述其含义。 另一个是一个加工基本上只有一个输入流另一个是一个加工基本上只有一个输入流 和一个输出流。和一个输出流。 255.3.2 SA方法的描述手段方法的描述手段n画分层的画分层的DFD的步骤的步骤 (1)先确定软件系统的输入)先确定软件系统的输入/出数据流、源点出数据流、源点 和终点;和终点;(2)将基本系统模型加上源点和终点构成顶)将基本系统模型加上源点和终点构成顶 层层DFD;(3)画出各层的)画出各层的DFD。 (准则准则)265.3.2 SA方法的描述手段方法的描述手段n画每张画每
21、张DFD时,应遵循的准则时,应遵循的准则 (1)将所有软件的输入)将所有软件的输入/出数据流用一连串加出数据流用一连串加 工连接起来;工连接起来;(2)应集中精力找出数据流;)应集中精力找出数据流;(3)在找到数据流后,标识该数据流,然后分)在找到数据流后,标识该数据流,然后分 析该数据流的组成成分及来去方向,并将析该数据流的组成成分及来去方向,并将 其与某加工连接其与某加工连接 ;在加工被标识后,再继;在加工被标识后,再继 续寻找其它的数据流;续寻找其它的数据流;275.3.2 SA方法的描述手段方法的描述手段(4)当加工需要用到的共享和暂存数据时,)当加工需要用到的共享和暂存数据时, 设置
22、文件及其标识;设置文件及其标识;(5)分析加工的内部,如果加工还比较抽象)分析加工的内部,如果加工还比较抽象 或其内部还有数据流,则需将该加工进或其内部还有数据流,则需将该加工进 一步分解,直至到达底层图;一步分解,直至到达底层图;(6)为所有的数据流命名)为所有的数据流命名,命名的要求见前;命名的要求见前;(7)为所有加工命名编号。)为所有加工命名编号。 一般编号的方法:对于子图的图号,通常是父一般编号的方法:对于子图的图号,通常是父图中相应被分解加工的编号。图中相应被分解加工的编号。 子加工编号子加工编号=上层父加工的编号上层父加工的编号+小数点小数点+在父加在父加工分解中的顺序号。工分解
23、中的顺序号。285.3.2 SA方法的描述手段方法的描述手段n在画在画DFD时还应注意的情况时还应注意的情况(1)画图时只考虑如何描述实际情况,不要急)画图时只考虑如何描述实际情况,不要急于于 考虑系统应如何启动,如何工作,如何结束考虑系统应如何启动,如何工作,如何结束 等与时间序列相关的问题;等与时间序列相关的问题;(2)画图时可暂不考虑一些例外情况如出错处)画图时可暂不考虑一些例外情况如出错处理理 等;等;(3)画图的过程是一个重复的过程,一次性成)画图的过程是一个重复的过程,一次性成功功 可能性较小,需要不断地修改和完善。可能性较小,需要不断地修改和完善。295.3.2 SA方法的描述手
24、段方法的描述手段n示例示例 某医院拟开发一个分布式患者监护系统某医院拟开发一个分布式患者监护系统PMS ( Patients Monitoring System)。)。PMS将用于监将用于监视病房中每个患者的重要生理信号(如体温、血视病房中每个患者的重要生理信号(如体温、血压、脉博信号等),并能定时更新和管理患者的压、脉博信号等),并能定时更新和管理患者的病历。此外,当患者的生理信号超过医生规定的病历。此外,当患者的生理信号超过医生规定的安全范围时,系统能立即通知护理人员,并且护安全范围时,系统能立即通知护理人员,并且护理人员在需要时可随时通过系统产生某患者有关理人员在需要时可随时通过系统产生
25、某患者有关报告。报告。 305.3.2 SA方法的描述手段方法的描述手段PMS的主要功能为:的主要功能为: 通过一个病床监视器实现本地监测,以获得通过一个病床监视器实现本地监测,以获得患者的生理信号。患者的生理信号。 在护士办公室实现中央监测在护士办公室实现中央监测 更新和管理患者病历更新和管理患者病历 产生患者情况的报告以及报警信息产生患者情况的报告以及报警信息315.3.2 SA方法的描述手段方法的描述手段n第第0层数据流图层数据流图325.3.2 SA方法的描述手段方法的描述手段n第第1层数据流图层数据流图335.3.2 S A方法的描述手段方法的描述手段n第第2层数据流图层数据流图34
26、5.3.2 SA方法的描述手段方法的描述手段n数据字典数据字典数据词典是由数据词典是由DFD中所有元素的中所有元素的“严格定严格定义义”组成。其作用就是组成。其作用就是DFD中出现的每个元素中出现的每个元素提供详细的说明,即提供详细的说明,即DFD中出现的每个数据流中出现的每个数据流名、文件名和加工名都在数据词典中应有一个名、文件名和加工名都在数据词典中应有一个条目以定义相应的含义。条目以定义相应的含义。 355.3.2 SA方法的描述手段方法的描述手段n数据词典中的条目类型数据词典中的条目类型(1)数据流条目数据流条目: 用于定义数据流用于定义数据流 ,主要说明由哪些数据项组成,主要说明由哪
27、些数据项组成数据流,且数据流的定义也采用简单的形式符号数据流,且数据流的定义也采用简单的形式符号方式。方式。如:订票单如:订票单顾客信息顾客信息+订票日期订票日期+出发日期出发日期+航航 班号班号+目的地目的地+对于复杂的数据流,可采用向顶向下逐步细化的对于复杂的数据流,可采用向顶向下逐步细化的方式定义数据项。方式定义数据项。 如:如:顾客信息顾客信息 姓名姓名+性别性别+身份证号身份证号+联系电话联系电话365.3.2 SA方法的描述手段方法的描述手段当数据项由多个更小的数据元素组成时,可利用集合当数据项由多个更小的数据元素组成时,可利用集合符号符号“ ”给予说明。给予说明。如:选修课程如:
28、选修课程 课程表课程表+ 教师教师+ 教材教材 课程表课程表 课程名课程名+ 星期几星期几+ 上课时间上课时间+ 教室教室 当某些数据项是几个不同的数据流的公用数据项时,当某些数据项是几个不同的数据流的公用数据项时,可将它们列为专门的数据项条目。可将它们列为专门的数据项条目。 如:教室如:教室101| 102| 航班号航班号Mu712| Mu814| 375.3.2 SA方法的描述手段方法的描述手段当所有出现在当所有出现在DFD中的数据流都给予定义后,最后的中的数据流都给予定义后,最后的工作就是对出现在数据流中的数据项进行汇总,然以工作就是对出现在数据流中的数据项进行汇总,然以表格的形式汇录每
29、一数据项。表格的形式汇录每一数据项。如:如: 385.3.2 SA方法的描述手段方法的描述手段(2)文件条目文件条目:用于定义文件:用于定义文件 文件条目除说明组成文件的所有数据项(与数据文件条目除说明组成文件的所有数据项(与数据流的说明相同)外,还可说明文件的组成方式流的说明相同)外,还可说明文件的组成方式如:航班表文件如:航班表文件 航班号航班号+ 出发地出发地+ 目的地目的地+ 时间时间 组成方式组成方式 按航班号大小排列按航班号大小排列395.3.2 SA方法的描述手段方法的描述手段(3)加工条目)加工条目:用于说明加工:用于说明加工 加工条目主要描述加工的处理逻辑或加工条目主要描述加
30、工的处理逻辑或“做什么做什么” 。加工条目并不描述具体的处理过程,但可以按处加工条目并不描述具体的处理过程,但可以按处理的顺序描述加工应完成的一些功能,而且描述理的顺序描述加工应完成的一些功能,而且描述加工的手段通常使用自然语言,或者结构化的人加工的手段通常使用自然语言,或者结构化的人工语言,或者使用判定表或判定树的形式。工语言,或者使用判定表或判定树的形式。 如:如: 4.1节中某培训中心管理信息系统中的节中某培训中心管理信息系统中的“处处理报名理报名” 加工描述如下:加工描述如下: 405.3.2 SA方法的描述手段方法的描述手段 根据报名要求查询收费标准文件,确定相应费根据报名要求查询收
31、费标准文件,确定相应费 用。用。 学生注册学生注册 根据选修课程登录课程统计文件根据选修课程登录课程统计文件 产生注册单等产生注册单等 最后,由所有的数据条目、文件条目和加最后,由所有的数据条目、文件条目和加工条目就构成一本数据词典。工条目就构成一本数据词典。 41符号符号含义含义示例示例=包含,由包含,由构成构成Name=first_name+last_name+指明序列结构指明序列结构()内容可选内容可选Phone_No.=(Area_No.)+Local_No.内容多选一内容多选一Number=0|1|2|3|4|5|6|7|8|9|分割分割内部的多个选项内部的多个选项nm循环循环,最少
32、最少n次次,最多最多m次次 Area_No=3Number4数据存储的标识符数据存储的标识符(关关键字键字)Student=ID+Name+.*注释注释Area_No=3Number4*区号为区号为3到到4位数字位数字n数据字典要求对数据元素(尤其是其结构)的描述数据字典要求对数据元素(尤其是其结构)的描述要精确、严格和明确要精确、严格和明确 42数据字典为每个数据元素组织描述信息数据字典为每个数据元素组织描述信息 名称名称数据元素的原始名称数据元素的原始名称别名别名数据元素的其他名称数据元素的其他名称使用地点使用地点会使用该数据元素的过程会使用该数据元素的过程使用方法使用方法该数据元素扮演的
33、角色(输入流、输出流或者数据存该数据元素扮演的角色(输入流、输出流或者数据存储等)储等)使用范围使用范围该数据元素存在的范围该数据元素存在的范围描述描述对数据元素内容的描述对数据元素内容的描述单位单位/格式格式数据元素的数据类型,可能事先设置的取值数据元素的数据类型,可能事先设置的取值43名称名称telephone number别名别名phone number, number使用的地点和方法使用的地点和方法read-phone-number (input)display-phone-number (output)analyze-long-distance-calls (input)描述描述te
34、lephone no. = local extension | outside no. | 0 local extension = 30-97outside no. = service code | domestic no. service code = 110 | 120| domestic no. = (area code ) + local numberarea code = 30-94local number= 70-98格式格式alphanumeric data445.3.3 实例说明实例说明某学校拟开发一个运动会管理系统。有关运动会的业务某学校拟开发一个运动会管理系统。有关运动会的
35、业务流程如下:流程如下:(1)确定运动会的举办时间和地点,设置哪些项目,报名时)确定运动会的举办时间和地点,设置哪些项目,报名时 间等。间等。(2)确定一些限制规定,如每人最多可参加几个项目,每个)确定一些限制规定,如每人最多可参加几个项目,每个 项目每队最多可由多少人参加,项目每队最多可由多少人参加, 取前几名,打破单项比取前几名,打破单项比 赛记录后的处理等。赛记录后的处理等。(3)由各参加队提供报名单后,需给每个运动员编号,并统)由各参加队提供报名单后,需给每个运动员编号,并统 计每个项目的参加人数及名单,最后根据每个项目的参计每个项目的参加人数及名单,最后根据每个项目的参 加人数等具体
36、情况排出比赛日程。加人数等具体情况排出比赛日程。(4)在运动会期间不断接受各项目的比赛成绩,及时公布单)在运动会期间不断接受各项目的比赛成绩,及时公布单 项名次,累计团体总分。项名次,累计团体总分。(5)比赛结束后,公布最终的团体名次。)比赛结束后,公布最终的团体名次。45 运动会的工作人员接受各队送来的报名运动会的工作人员接受各队送来的报名单后,录入到计算机中。然后通过系统将运动单后,录入到计算机中。然后通过系统将运动员号码单、各项成绩等输出给相关人员。系统员号码单、各项成绩等输出给相关人员。系统将报名单提供给裁判长,由裁判长将确定比赛将报名单提供给裁判长,由裁判长将确定比赛项目、比赛成绩等
37、存入计算机中。此外,系统项目、比赛成绩等存入计算机中。此外,系统也向公布台提供单项名次和团体名次信息。也向公布台提供单项名次和团体名次信息。5.3.3 实例说明实例说明46n第第0层数据流图层数据流图47n第第1层数据流图层数据流图48n第第2层数据流图层数据流图比赛项目比赛项目49n第第2层数据流图层数据流图50n数据字典说明数据字典说明(1)数据流条目数据流条目数据流名数据流名标识符标识符组成组成项目成绩项目成绩ZMCJ项目名项目名+ 1运动员号运动员号 + 成绩成绩n单项名次单项名次DZMC项目名项目名+ 1名次名次+ 运动员号运动员号+ 成绩成绩+ 破破记录记录 n单项成绩单项成绩DZ
38、CJ项目名项目名+ 1运动员号运动员号+ 成绩成绩+ 破记录破记录n各队各队成绩成绩GDCJ队名队名+ 总分总分+ 1运动员号运动员号+ 项目名项目名+ 成成绩绩+ 破记录破记录n51(2)汇总后的数据项)汇总后的数据项 数据项数据项名名值值位位数数项目名项目名字符字符串串8姓名姓名字符字符串串4运动员运动员号号1 49994破记录破记录1 | 01成绩成绩0 999352(3)文件条目)文件条目 文件文件名名文件文件标标识识组成组成组织组织团体团体成成绩绩TTCJ队名队名 + 总分总分按队名拼按队名拼音顺序音顺序递增排递增排列列运动运动员员名名单单YDYMD队名队名+运动员运动员号号+ 姓名
39、姓名+1 项目名项目名n按运动员按运动员号递增号递增排序排序运动运动员员成成绩绩YDYCJ运动员号运动员号+项项目名目名+成绩成绩+破记录破记录同上同上53(4)加工条目)加工条目 5455实例说明实例说明(1)书籍管理书籍管理书籍类别管理:增、删除、改等管理。书籍类别管理:增、删除、改等管理。书籍信息管理:新书入库,书籍信息修改,管理员按不同方式查询、书籍信息管理:新书入库,书籍信息修改,管理员按不同方式查询、统计,读者按不同方式查询。统计,读者按不同方式查询。出版社信息管理:增、删除、改等管理。出版社信息管理:增、删除、改等管理。图书注销:从书籍信息表中删去破损的书籍记录。图书注销:从书籍
40、信息表中删去破损的书籍记录。(2)读者管理读者管理读者类别信息管理:增、删除、改等管理。读者类别信息管理:增、删除、改等管理。读者信息管理:办理、挂失、暂停借、注销阅卡,录入、修改、删除读者信息管理:办理、挂失、暂停借、注销阅卡,录入、修改、删除读者信息。读者信息。(3)借阅管理)借阅管理借书管理:根据借阅卡编号和图书编号,进行借书登记。把超期图书借书管理:根据借阅卡编号和图书编号,进行借书登记。把超期图书以列表的形式显示出来,并以电子邮件或打印成书面通知读者。以列表的形式显示出来,并以电子邮件或打印成书面通知读者。提供读者网上查询自己的借阅情况(包括超期提示)。提供读者网上查询自己的借阅情况
41、(包括超期提示)。续借管理:提供读者在符合规定的情况下网上续借。续借管理:提供读者在符合规定的情况下网上续借。还书管理:在借阅信息表中找到相应的记录,将借书记录删除,更新还书管理:在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)。根据违反规定情况计算和登该记录的相应数据(图书信息表)。根据违反规定情况计算和登记罚款记录。记罚款记录。56n顶层图顶层图管理操作命令罚款单5758596061n数据字典数据字典1、数据流条目、数据流条目(1)数据流名:管理请求命令)数据流名:管理请求命令 说明:管理请求命令是系统根据工作人员或者管理人员的输入情况来决说明:管理请求命令
42、是系统根据工作人员或者管理人员的输入情况来决定系统的行为:进行一些管理工作。定系统的行为:进行一些管理工作。 数据流来源:图书馆管理工作人员。数据流来源:图书馆管理工作人员。 数据流去向:图书管理系统数据流去向:图书管理系统 数据流定义:管理请求命令数据流定义:管理请求命令=新书入库新书入库|学生借书学生借书|学生还书学生还书|图书注销图书注销(2)数据流名:查询信息请求命令)数据流名:查询信息请求命令说明:查询信息请求命令是系统根据工作人员或者管理人员或者学生的说明:查询信息请求命令是系统根据工作人员或者管理人员或者学生的输入情况来决定系统的行为:进行一些查询工作。输入情况来决定系统的行为:
43、进行一些查询工作。 数据流来源:图书馆管理工作人员,学生。数据流来源:图书馆管理工作人员,学生。 数据流去向:图书馆管理系统数据流去向:图书馆管理系统 数据流定义:查询信息请求命令数据流定义:查询信息请求命令=查询学生信息查询学生信息|查询图书信息查询图书信息|查询借阅查询借阅信息信息(3)数据流名:图书信息)数据流名:图书信息 说明:图书信息是图书信息的描述;说明:图书信息是图书信息的描述; 数据流来源:图书馆管理系统。数据流来源:图书馆管理系统。 数据流去向:图书馆管理人员数据流去向:图书馆管理人员数据流定义:图书信息数据流定义:图书信息=图书编号图书编号+ISBN+作者作者+出版社出版社
44、+价格价格+书架号书架号+借阅情况借阅情况62(4)数据流名:学生信息)数据流名:学生信息 说明:学生信息是学生信息的描述;说明:学生信息是学生信息的描述; 数据流来源:图书馆管理系统。数据流来源:图书馆管理系统。 数据流去向:图书馆管理人员和学生数据流去向:图书馆管理人员和学生数据流定义:学生信息数据流定义:学生信息=学生编号学生编号+姓名姓名+性别性别+有效证件号码有效证件号码+联系方式联系方式(5)数据流名:学生借阅信息)数据流名:学生借阅信息 说明:学生借阅信息是学生借阅图书的情况;说明:学生借阅信息是学生借阅图书的情况; 数据流来源:图书馆管理系统。数据流来源:图书馆管理系统。 数据
45、流去向:图书馆管理人员和学生数据流去向:图书馆管理人员和学生数据流定义:学生借阅信息数据流定义:学生借阅信息=学生编号学生编号+图书编号图书编号+借书日期借书日期+应还日期应还日期(6)数据流名:罚款单)数据流名:罚款单 说明:罚款单是系统经过根据学生的违规情况而产生的信息;说明:罚款单是系统经过根据学生的违规情况而产生的信息; 数据流来源:图书馆管理系统。数据流来源:图书馆管理系统。 数据流去向:学生数据流去向:学生数据流定义:罚款单数据流定义:罚款单=罚款编号罚款编号+学生编号学生编号+图书编号图书编号+罚款金额罚款金额+罚款罚款日期日期+备注备注;632、文件条目、文件条目(1)数据文件
46、名:学生信息文件)数据文件名:学生信息文件 简述:存放的是学生基础信息数据。简述:存放的是学生基础信息数据。 数据文件组成:表单形式存储数据文件组成:表单形式存储文件内容:学生文件文件内容:学生文件=学号学号+姓名姓名+性别性别+出生日期出生日期+有效证件号码有效证件号码+联系方式联系方式+登记日期登记日期+有效期至;有效期至; 存储方式存储方式: 以学生学号为记录关键字升序排列以学生学号为记录关键字升序排列 (2)数据文件名:借阅文件)数据文件名:借阅文件 简述:存放的是借书信息数据。简述:存放的是借书信息数据。 数据文件组成数据文件组成:表单形式存储表单形式存储文件内容:借阅文件文件内容:
47、借阅文件=图书编号图书编号+学生编号学生编号+借阅日期借阅日期+应还日期应还日期+状态状态 存储方式存储方式: 以图书编号和学生编号为记录关键字升序排列以图书编号和学生编号为记录关键字升序排列(3)数据文件名:入库单)数据文件名:入库单 简述:存放的是入库新书的信息数据。简述:存放的是入库新书的信息数据。 数据文件组成数据文件组成:表单形式存储表单形式存储文件内容:入库单文件内容:入库单=新书编号新书编号+书名书名+ISBN+数量数量+入库时间;入库时间; 存储方式存储方式: 以新书编号为记录关键字升序排列以新书编号为记录关键字升序排列643、加工条目、加工条目(1)加工)加工3.1:管理学生
48、借书:管理学生借书 加工逻辑:加工逻辑: BEGIN读取学生借书请求信息和当前日期以及学生文件,图书目录文件读取学生借书请求信息和当前日期以及学生文件,图书目录文件IF 在学生文件中找不到该学生或者图书目录文件中显示该图书属于注销图书在学生文件中找不到该学生或者图书目录文件中显示该图书属于注销图书或者该图书属于已借或者该图书属于已借 THEN 输出非法借书请求(相当于拒绝借书)输出非法借书请求(相当于拒绝借书) ELSE输出借书成功并将借书信息写入借阅文件输出借书成功并将借书信息写入借阅文件 END (2)加工)加工3.2:管理学生还书:管理学生还书 加工逻辑:加工逻辑: BEGIN读取学生还
49、书请求信息,当前日期,学生文件,图书目录文件和借书文件读取学生还书请求信息,当前日期,学生文件,图书目录文件和借书文件IF(在图书目录文找到该图书是未借出或者该图书是挂失)(在图书目录文找到该图书是未借出或者该图书是挂失)THEN 输出非法还书请求输出非法还书请求 ELSE IF 在借书文件中找到到当日为止,该书超期在借书文件中找到到当日为止,该书超期 THEN 罚款罚款 ELSE输出还书成功并且更新借书文件输出还书成功并且更新借书文件END 65(3)加工)加工1.4:处理图书注销:处理图书注销 加工逻辑:加工逻辑: BEGIN读取注销图书请求信息,当前日期和图书目录文件读取注销图书请求信息
50、,当前日期和图书目录文件IF在图书目录文件说明该图书已经注销在图书目录文件说明该图书已经注销 THEN 输出非法注销请求信息(或者说重复注销)输出非法注销请求信息(或者说重复注销) ELSE 注销成功并且更新图书目录文件注销成功并且更新图书目录文件 END (4)加工)加工2.1:学生信息查询:学生信息查询 加工逻辑:加工逻辑: BEGIN读取查询学生信息条件,学生文件读取查询学生信息条件,学生文件IF在学生文件未找到该学生在学生文件未找到该学生 THEN 该学生不存在该学生不存在 ELSE输出学生信息输出学生信息 END 66(5)加工)加工1.2:图书信息查询:图书信息查询 加工逻辑:加工
51、逻辑: BEGIN 读取查询图书信息请求条件,图书文件读取查询图书信息请求条件,图书文件 IF 在图书文件未找到该图书在图书文件未找到该图书 THEN 该书不存在该书不存在 ELSE输出图书信息输出图书信息 END 67实例:电梯控制系统实例:电梯控制系统 一个电梯控制系统控制多个电梯。每个电梯被一个电梯控制系统控制多个电梯。每个电梯被置于一个相应甬道之中,在卷扬电机的作用下在甬置于一个相应甬道之中,在卷扬电机的作用下在甬道内做上下运动。甬道内安装有多个传感器,通常道内做上下运动。甬道内安装有多个传感器,通常每个电梯停靠点一个,用来感应电梯的实时位置。每个电梯停靠点一个,用来感应电梯的实时位置
52、。电梯内部和建筑的每个电梯停靠层都设置有指示器,电梯内部和建筑的每个电梯停靠层都设置有指示器,用来告知用户的电梯实时位置和运动状况。电梯内用来告知用户的电梯实时位置和运动状况。电梯内和建筑的每个电梯停靠层都设有按钮,用户可以通和建筑的每个电梯停靠层都设有按钮,用户可以通过这些按钮提出服务申请并进出电梯。控制系统调过这些按钮提出服务申请并进出电梯。控制系统调度用户的申请,让电梯以最有效的方式满足用户的度用户的申请,让电梯以最有效的方式满足用户的服务要求服务要求6869705.3.4 SA方法的分析步骤方法的分析步骤 将现实中已存在的人工系统称为当前系统,将现实中已存在的人工系统称为当前系统,把待
53、开发的计算机系统(主要是指软件系统)把待开发的计算机系统(主要是指软件系统)称为目标统。称为目标统。 步骤步骤(1)理解和分析当前的现实环境,以获得当前系统的具体理解和分析当前的现实环境,以获得当前系统的具体模型模型; 具体模型必须忠实地反映人工系统的实际情况。软具体模型必须忠实地反映人工系统的实际情况。软件开发人员在获取的需求信息的基础上,利用件开发人员在获取的需求信息的基础上,利用DFD将现将现实环境中的人工系统表达出来。在这样的实环境中的人工系统表达出来。在这样的DFD中,会有中,会有许多许多“具体具体”的东西,如人物、地点、名称和设备等。的东西,如人物、地点、名称和设备等。 71 出纳
54、员出纳员72(2)建立当前系统的逻辑模型;)建立当前系统的逻辑模型; 当前系统的逻辑模型应反映当前系统必须满足的性当前系统的逻辑模型应反映当前系统必须满足的性质,即当前系统质,即当前系统“做什么做什么”。此步的作用在于除去具体模。此步的作用在于除去具体模型中非本质因素或一些型中非本质因素或一些“具体具体”因素。因素。 记出纳帐记出纳帐73(3)建立目标系统的逻辑模型;)建立目标系统的逻辑模型; 主要是分析目标系统与当前系统在逻辑系统的差别,主要是分析目标系统与当前系统在逻辑系统的差别,并建立目标系统的逻辑模型。并建立目标系统的逻辑模型。 其具体步骤如下:其具体步骤如下: 首先首先,确定当前系统
55、逻辑模型的,确定当前系统逻辑模型的“改变范围改变范围” 。此步。此步就是沿着当前系统逻辑模型的底层就是沿着当前系统逻辑模型的底层DFD,逐个检查每个基本,逐个检查每个基本加工。如果该加工在目标系统中不能实现或包含加工。如果该加工在目标系统中不能实现或包含“具体具体”因因素时,则这个加工属于改变的范围。这样,当前系统的逻辑素时,则这个加工属于改变的范围。这样,当前系统的逻辑模型变成了不需改变和需改变两个部分。当把需改变的部分模型变成了不需改变和需改变两个部分。当把需改变的部分进行修改后,就可获得目标系统的逻辑模型。进行修改后,就可获得目标系统的逻辑模型。 其次其次,把,把“改变范围改变范围”视为
56、一个加工,并确定此加工的视为一个加工,并确定此加工的输入输入/出数据流,当该加工比较抽象时,可将其进行逐层分出数据流,当该加工比较抽象时,可将其进行逐层分解,然后画出各层的解,然后画出各层的DFD。 另一种方法另一种方法是,首先建立目标系统的顶层是,首先建立目标系统的顶层DFD(0层层)和和第一层第一层DFD(由若干子系统组成),然后再参照当前系统的(由若干子系统组成),然后再参照当前系统的逻辑模型,去掉其中所有逻辑模型,去掉其中所有“具体具体”因素和细化各子系统,最因素和细化各子系统,最后可得到目标系统的逻辑模型。后可得到目标系统的逻辑模型。74(4)进一步完善目标系统的逻辑模型)进一步完善
57、目标系统的逻辑模型完善的工作大致为:完善的工作大致为: 至今尚未说明的处理细节,如出错处理、系至今尚未说明的处理细节,如出错处理、系统的启动和结束方式。统的启动和结束方式。 某些需要的输入某些需要的输入/出格式或用户界面的说明。出格式或用户界面的说明。 增加性能需求和其他一些约束限制等。增加性能需求和其他一些约束限制等。 75 面向对象的需求分析面向对象的需求分析n面向对象面向对象(Object-Oriented,缩写为缩写为OO)方法学的方法学的出发点和基本原则出发点和基本原则是尽可能模拟人类习惯的思是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近维方式,使开发软件的方法与过
58、程尽可能接近人类认识世界解决问题的方法与过程。人类认识世界解决问题的方法与过程。n面向对象方法实际上是一整套的软件开发方法,面向对象方法实际上是一整套的软件开发方法,它包括面向对象的分析它包括面向对象的分析OOA、面向对象的设计、面向对象的设计OOD、面向对象的编程、面向对象的编程OOP、面向对象的测试、面向对象的测试OOT。765.4 面向对象的需求建模方法面向对象的需求建模方法面向对象的需求建模方法到目前为上已有许多不同的版面向对象的需求建模方法到目前为上已有许多不同的版本,其中具有代表性的是面向对象建模技术本,其中具有代表性的是面向对象建模技术 OMT、面向对、面向对象的软件工程象的软件
59、工程 OOSE、面向对象的分析、面向对象的分析/设计方法设计方法 OOAP和和统一建模语言统一建模语言 UML等。等。在这些需求建模方法中,本节将主要介绍基于在这些需求建模方法中,本节将主要介绍基于OMT的的需求建模方法,而且重点放在需求建模方面。需求建模方法,而且重点放在需求建模方面。 面向对象的需求建模方法的面向对象的需求建模方法的关键关键是从获取的信息中识别是从获取的信息中识别出问题域中的类和对象,并分析它们之间的关系,最终建出问题域中的类和对象,并分析它们之间的关系,最终建立起简洁、精确和易理解的需求模型。立起简洁、精确和易理解的需求模型。775.4.1 面向对象方法中的一些基本概念面
60、向对象方法中的一些基本概念n对象对象 对象就是客观实体的抽象,并且是构成概念模对象就是客观实体的抽象,并且是构成概念模型的基本单元。型的基本单元。 根据现实中客观实体性质的划分,对象属于如根据现实中客观实体性质的划分,对象属于如下的几种类型:下的几种类型: 人类能感知的物理实体人类能感知的物理实体,如房子、汽车、飞机、,如房子、汽车、飞机、山川等。山川等。 人或者组织人或者组织,如教师、学生、医生、大学、科研,如教师、学生、医生、大学、科研处等。处等。785.4.1 面向对象方法中的一些基本概念面向对象方法中的一些基本概念 现实中发生的事件现实中发生的事件,如读书、上课、演出、,如读书、上课、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春金融高等专科学校《含油气盆地沉积学》2023-2024学年第一学期期末试卷
- 食品检验取样技术规程
- 保险风险应对策略模板
- IT部门年度工作报告模板
- 声音科学详解模板
- 生物技术基础培训模板
- 问卷调查报告格式
- 二零二五版商用锅炉运行安全保障合同范本3篇
- 统编版五年级语文上册寒假作业(十)(有答案)
- 2024-2025学年天津市和平区高一上学期期末质量调查数学试卷(含答案)
- DL∕T 1631-2016 并网风电场继电保护配置及整定技术规范
- 《物理因子治疗技术》期末考试复习题库(含答案)
- 011(1)-《社会保险人员减员申报表》
- 电厂C级检修工艺流程
- 函授本科《小学教育》毕业论文范文
- 高考高中英语单词词根词缀大全
- 药用辅料聚乙二醇400特性、用法用量
- 《中小学机器人教育研究(论文)11000字》
- GB/T 22085.1-2008电子束及激光焊接接头缺欠质量分级指南第1部分:钢
- 全过程人民民主学习心得体会
- 2023年上海期货交易所招聘笔试题库及答案解析
评论
0/150
提交评论