《高级软件工程需求分析.ppt》由会员分享,可在线阅读,更多相关《高级软件工程需求分析.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高级软件工程(高级软件工程(3 3)3.1 需求分析的任务需求分析的任务n需求分析的基本任务是准确地回答需求分析的基本任务是准确地回答“系统必须做什么系统必须做什么?”这一核心问题。这一核心问题。3.1.1 需求分析的概念需求分析的概念 n需求分析需求分析是一种软件工程活动,使得系统分析是一种软件工程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和员能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的其他系统元素的接口、并建立软件必须满足的约束。约束。n需求分析是软件设计师进行软件分解的基础,需求分析是软件设计师进行软件分解的基础,需求分析建造了软件处理的需
2、求分析建造了软件处理的数据模型数据模型、功能模功能模型型和和行为模型行为模型。n需求规约为软件设计师和客户提供了软件建造需求规约为软件设计师和客户提供了软件建造完后,进行质量评估的依据。完后,进行质量评估的依据。1.软件需求的概念和分类软件需求的概念和分类 n比比较较权权威威的的需需求求的的定定义义来来自自于于IEEE软软件件工工程程标标准准词词汇汇表中的定义:表中的定义:nl l用户解决问题或达到目标所需要的条件。用户解决问题或达到目标所需要的条件。nl l系系统统或或系系统统部部件件要要满满足足合合同同、标标准准、规规范范或或其其他他正式规定的文档所要具有的条件。正式规定的文档所要具有的条
3、件。nl l反映上面两条的文档说明。反映上面两条的文档说明。n需求一方面反映了系统的外部行为,另一方面反映了需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是系统的内部特性,反映的方式是需求文档需求文档。n比较通俗的需求定义如下比较通俗的需求定义如下:需求是指明系统必须实现:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。是在开发过程中对系统的约束。需求分析的难点n问题的复杂性问题的复杂性n交流障碍交流障碍n不完备性和不一致性不完备性和不一致性n易变性易变性需求的类别 n功
4、能需求:功能需求:指定系统必须提供的服务,通过需指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能;求分析应该划分出系统必须完成的所有功能;n性能需求:性能需求:指定系统必须满足的定时约束或容指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的速率、主存容量、磁盘容量、安全性等方面的需求;需求;n可靠性和可用性需求:可靠性和可用性需求:定量地指定系统的可靠定量地指定系统的可靠性与可用性;性与可用性;n出错处理需求:出错处理需求:说明系统对环境错误应该怎样说明系统对环境错误应该怎样
5、响应;响应;n接口需求:接口需求:描述应用系统与其环境通信的格式,描述应用系统与其环境通信的格式,常见的接口需求有用户接口需求、硬件接口需常见的接口需求有用户接口需求、硬件接口需求、软件接口需求和通信接口需求;求、软件接口需求和通信接口需求;n约束:约束:描述了应用系统应遵守的限制条件,常描述了应用系统应遵守的限制条件,常见的约束有:精度约束、工具和语言约束、设见的约束有:精度约束、工具和语言约束、设计约束、应该使用的标准、应该使用的硬件平计约束、应该使用的标准、应该使用的硬件平台等;台等;n逆向需求:逆向需求:说明软件系统不应该做什么。理论说明软件系统不应该做什么。理论上有无限多个逆向需求,
6、我们应该仅选取能澄上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除发生误解的那些逆向需求;清真实需求且可消除发生误解的那些逆向需求;n将来可能提出的要求:将来可能提出的要求:应该明确地列出那些虽应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。很可能会提出来的要求。另一种分类n功能性需求功能性需求n产品的范围产品的范围n功能与数据需求功能与数据需求n非功能性需求非功能性需求n观感需求观感需求n易用性易用性n性能性能n限制条件限制条件n 操作需求操作需求n 可维护性和可移植性需求可维护性和可移植性需求n 安全性需求
7、安全性需求n 文化与政策文化与政策n法律需求法律需求3.1.2.需求分析的任务需求分析的任务 n需求分析的任务需求分析的任务是借助于当前系统的物理模型是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统导出目标系统的逻辑模型,解决目标系统“做做什么什么”的问题。的问题。n所要做的工作是深入描述软件的所要做的工作是深入描述软件的功能和性能功能和性能,确定软件设计的限制和软件同其他系统元素的确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。接口细节,定义软件的其他有效性需求。n必须全面理解用户的各项要求,但只能接受合必须全面理解用户的各项要求,但只能接受合理的要
8、求。理的要求。n要将软件的需求准确地表达出来,形成要将软件的需求准确地表达出来,形成软件需软件需求说明书求说明书。目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型模型化抽象化物理模型物理模型逻辑模型逻辑模型具体化实例化理理解解需需求求表表达达需需求求导出怎么做怎么做做什么做什么需求分析的任务需求分析的任务 n获得当前系统的物理模型获得当前系统的物理模型:首先,分析、理解:首先,分析、理解当前系统是如何运行的,并用一个具体的模型来当前系统是如何运行的,并用一个具体的模型来反映自己对当前系统的理解。反映自己对当前系统的理解。n 抽象出当前系统的逻辑模型:抽象出当前系统的逻辑模型:在
9、理解当前系统在理解当前系统“怎样做怎样做”的基础上,取出非本质因素,抽取出的基础上,取出非本质因素,抽取出“做什么做什么”的本质。的本质。n建立目标系统的逻辑模型:建立目标系统的逻辑模型:分析目标系统与当分析目标系统与当前系统逻辑上的差别,明确目标系统要前系统逻辑上的差别,明确目标系统要“做什么做什么”,从而从当前系统的逻辑模型中,导出目标系,从而从当前系统的逻辑模型中,导出目标系统的逻辑模型。统的逻辑模型。n 对目标系统逻辑模型进行补充:对目标系统逻辑模型进行补充:具体内容如具体内容如用户界面、启动和结束、出错处理、系统输入输用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等
10、等。出、系统性能、其他限制等等。3.1.2 需求获取需求获取 n软件需求分析中需要很好的的相互沟通,沟通软件需求分析中需要很好的的相互沟通,沟通总是要在两方或多方间进行。总是要在两方或多方间进行。n客户和系统分析员之间最常用的交流方式,是客户和系统分析员之间最常用的交流方式,是通过通过预备会议预备会议或或访谈访谈进行的。进行的。n获取用户需求的主要方法是调查研究。获取用户需求的主要方法是调查研究。n做好准备做好准备n制定调研计划制定调研计划n准备调研资料准备调研资料n访谈用户访谈用户n写调研报告写调研报告n评审评审需求分析阶段的文档需求分析阶段的文档n软件需求说明书软件需求说明书n初步的用户手
11、册初步的用户手册n修改、完善与确定软件开发实施计划修改、完善与确定软件开发实施计划3.1.4 需求规格说明需求规格说明 n软件需求规格说明软件需求规格说明是分析任务的是分析任务的最终产物最终产物,美,美国国家标准局、国国家标准局、IEEE(标准号(标准号8301984)以及美国防部门均已提出了软件需求规约(以以及美国防部门均已提出了软件需求规约(以及其他软件工程文档)的候选格式。及其他软件工程文档)的候选格式。n软件需求规格说明必须正确地定义所有的软件软件需求规格说明必须正确地定义所有的软件需求;除了设计上的特殊限制之外,软件需求需求;除了设计上的特殊限制之外,软件需求规格说明中一般不描述任何
12、设计、验证或项目规格说明中一般不描述任何设计、验证或项目管理的细节。管理的细节。需求必须描述的基本问题n功能功能所设计的软件要做什么;所设计的软件要做什么;n性能性能软件功能在执行过程中的速度、可使软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等等;吞吐能力、精度、频率等等;n强加给实现的设计限制强加给实现的设计限制在效果、实现的语在效果、实现的语言、数据库完整性、资源限制、操作环境等等言、数据库完整性、资源限制、操作环境等等方面所要求的标准;方面所要求的标准;n属性属性可移植性、正确性、可维护性及安全可移植
13、性、正确性、可维护性及安全性等方面的考虑因素;性等方面的考虑因素;n外部接口外部接口与人、硬件、其他软件和其他硬与人、硬件、其他软件和其他硬件的相互关系。件的相互关系。软件需求规格说明的大纲 1 前言 1.1 目的 1.2 范围 1.3 定义、缩写词、略语 1.4 参考资料2 项目概述 2.1 产品描述 2.2 产品功能2.3 用户特点 2.4 一般约束2.5 假设和依据 3 具体需求 3.1 功能需求 3.1.1 功能需求13.1.1.1 引言3.1.1.2 输入3.1.1.3 加工3.1.1.4 输出 3.1.2 功能需求2 3.1.n 功能需求n 3.2 外部接口需求 3.2.1 用户接
14、口 3.2.2 硬件接口3.2.3 软件接口3.2.4 通信接口3.3 性能需求 3.4 设计约束 3.4.1 其他标准的约束 3.4.2 硬件的限制 3.5 属性3.5.1 安全性3.5.2 可维护性 3.6 其他需求 3.6.1 数据库 3.6.2 操作 3.6.3 场合适应性 附录索引 3.2软件需求分析基础:以结构软件需求分析基础:以结构化分析方法为例化分析方法为例n结构化的分析方法结构化的分析方法是最经典的需求分析方法。适是最经典的需求分析方法。适用于数据处理类型软件的需求分析。用于数据处理类型软件的需求分析。n它提供的工具包括:数据流图、数据字典、结构它提供的工具包括:数据流图、数
15、据字典、结构化英语、判定表和判定树。化英语、判定表和判定树。n系统的分析模型必须达到三个主要目标:系统的分析模型必须达到三个主要目标:n(1)描述客户的需要;)描述客户的需要;n(2)建立创建软件设计的基础;)建立创建软件设计的基础;n(3)定义在软件完成后可以被确认的一组需求。)定义在软件完成后可以被确认的一组需求。实体实体关系图关系图状态迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明n模型的核心是数据字典模型的核心是数据字典一个包含了软件使一个包含了软件使用或生产的所有数据对象描述的中心库。用或生产的所有数据对象描述的中心库。n实体实体-关系图描述数据对象间的关系,实体关系图描
16、述数据对象间的关系,实体-关关系图是用来进行数据建模活动的。系图是用来进行数据建模活动的。n数据流图有两个目的:指明数据在系统中移动数据流图有两个目的:指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能时如何被变换;描述对数据流进行变换的功能(和子功能)。它可以用于信息域的分析,作(和子功能)。它可以用于信息域的分析,作为功能建模的基础。为功能建模的基础。n状态转换图指明系统将如何动作。为此,状态状态转换图指明系统将如何动作。为此,状态转换图表示了系统的各种行为模式(称为转换图表示了系统的各种行为模式(称为“状状态态”),以及在状态间进行变迁的方式,状态),以及在状态间进行变迁的方式
17、,状态转换图是行为建模的基础。转换图是行为建模的基础。数据流图数据流图 n任何软件系统(或计算机系统)从根本上来说,任何软件系统(或计算机系统)从根本上来说,都是对数据进行加工或变换的工具。都是对数据进行加工或变换的工具。组成符号组成符号 画图步骤n下面以教材购销系统中的教材销售为例,说明下面以教材购销系统中的教材销售为例,说明如何画数据流图。如何画数据流图。n从用户调查中了解到某高校向学生销售教材的从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开购书证明,手续是:先由系办公室的张秘书开购书证明,学生凭证明找教材科的王会计开购书发票,向学生凭证明找教材科的王会计开购书发票
18、,向李出纳员交付书款,然后到书库找赵保管员领李出纳员交付书款,然后到书库找赵保管员领书。现欲将上述手工操作改为计算机处理,试书。现欲将上述手工操作改为计算机处理,试画出教材销售过程的数据流图。画出教材销售过程的数据流图。n首先找出数据的源点和终点,即找出数据源与首先找出数据的源点和终点,即找出数据源与数据汇,由此确定系统的边界。数据汇,由此确定系统的边界。n由于是由学生开始购书,最后由学生领书,因此数据的源点和终点都是“学生”。n第二步找出加工,需要从描述中抽象出系统要完成的工作。n学生须凭购书证明得到购书发票,然后交付书款,得到领书凭证,最后领书。其间能由计算机完成的工作是审查学生的购书凭证
19、并开出发票,按发票开出领书单,由此我们得到2个加工(审查并开发票,并领书单)。n第三步要找出数据流。第三步要找出数据流。n学生向系统提交购书单,学生从系统得到领书单,在加工之间要传输发票信息,这样我们得到3个数据流。同时还要注意在“审查并开发票”加工中排除了无效的书单,它也因作为一个数据流,因此最后得到4个数据流:购书单,发票,领书单,无效书单。n我们还要补充数据存储。数据存储一般不能通我们还要补充数据存储。数据存储一般不能通过系统描述确定,而要在设计数据流图时按照过系统描述确定,而要在设计数据流图时按照需要添加。需要添加。n实际上在审查购书单和开出发票之前,至少要实际上在审查购书单和开出发票
20、之前,至少要查阅两个文件:查阅两个文件:各班学生用书表,该表用以各班学生用书表,该表用以核对学生是否需用这些教材;核对学生是否需用这些教材;教材存量表,教材存量表,了解有没有该生要买的教材。了解有没有该生要买的教材。n把这两个文件加进上图中,并给加工添上编号,把这两个文件加进上图中,并给加工添上编号,就得到计算机售书系统的完整的数据流图。就得到计算机售书系统的完整的数据流图。命名命名 n数据流图中每个成分的命名是否恰当,直接影响数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。给这些成分起名字时应该数据流图的可理解性。给这些成分起名字时应该仔细推敲。下面讲述在命名时应注意的问题:仔
21、细推敲。下面讲述在命名时应注意的问题:n为数据流(或数据存储)命名为数据流(或数据存储)命名 n名字应代表整个数据流(或数据存储)的内容,而名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。不是仅仅反映它的某些成分。考生姓名考生姓名分类后的姓名分类后的姓名录取录取分类分类n注意合适的命名,尽量用现实存在的表格、单据。注意合适的命名,尽量用现实存在的表格、单据。n不要使用空洞的、缺乏具体含义的名字(如不要使用空洞的、缺乏具体含义的名字(如“数数据据”、“信息信息”、“输入输入”之类)。之类)。n不要把控制流作为数据流。不要把控制流作为数据流。汇款单汇款单格式错误格式错误合格的
22、汇款单合格的汇款单核准的汇款单核准的汇款单格式格式检查检查计算计算汇费汇费取下一个取下一个考生成绩考生成绩录取录取分类分类为处理命名n通常先为数据流命名,再为与之相关联的处理命名通常先为数据流命名,再为与之相关联的处理命名n名字应该反映整个处理的功能,而不是它的一部分名字应该反映整个处理的功能,而不是它的一部分功能。功能。n名字最好有一个具体的及物动词加上一个具体的宾语名字最好有一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用组成。应该尽量避免使用“加工加工”、“处理处理”等空洞等空洞笼统的动词作名字。笼统的动词作名字。n通常名字中仅包括一个动词,如果必须用两个动词才通常名字中仅包括
23、一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个能描述整个处理的功能,则把这个处理再分解成两个处理可能跟恰当些。处理可能跟恰当些。n如果在为某个处理命名时遇到了困难,则很可能是分如果在为某个处理命名时遇到了困难,则很可能是分解不恰当造成的,应该考虑重新分解。解不恰当造成的,应该考虑重新分解。n数据的源点和终点并不需要在系统中实现,它数据的源点和终点并不需要在系统中实现,它们只是系统的外围环境(可能是人员、计算机们只是系统的外围环境(可能是人员、计算机外部设备或传感器等)。通常为数据的源点和外部设备或传感器等)。通常为数据的源点和终点命名是采用它们在问题中习惯使用的名
24、字,终点命名是采用它们在问题中习惯使用的名字,如如“学生学生”,“管理员管理员”。分层数据流图分层数据流图 n对于大型的系统,按照其层次结构进行逐步分对于大型的系统,按照其层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。能清楚地表达和容易理解整个系统。n对任何一层数据流图来说,我们称它的上层图对任何一层数据流图来说,我们称它的上层图为为父图父图,在它下一层的图则称为,在它下一层的图则称为子图子图。n在多层数据流图中,顶层流图仅包含一个加工,在多层数据流图中,顶层流图仅包含一个加工,它代表将被开发系统。它的输入流是
25、该系统的它代表将被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流输入数据,输出流是系统所输出数据。底层流图是指其加工不需再做分解的数据流图,它处图是指其加工不需再做分解的数据流图,它处在最底层。中间层流图则表示对其上层父图的在最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。细化。它的每一加工可能继续细化,形成子图。数据流图实例数据流图实例 n建立数据流模型的基本步骤概括地说,就是自建立数据流模型的基本步骤概括地说,就是自外向内、自顶向下、逐层细化、完善求精。外向内、自顶向下、逐层细化、完善求精。n例5.建立一个简化的商业自动化系统。其中:
26、建立一个简化的商业自动化系统。其中:售货员负责录入销售的商品(商品名,编号,售货员负责录入销售的商品(商品名,编号,单价,数量),有时要根据特定情况对销售的单价,数量),有时要根据特定情况对销售的商品进行修改或删除。收款员负责收取现金,商品进行修改或删除。收款员负责收取现金,并将多交的付款退还用户。销售经理需要随时并将多交的付款退还用户。销售经理需要随时查询整个部门的销售情况(时间,商品编号,查询整个部门的销售情况(时间,商品编号,销售金额),并在每日结束时,统计各类商品销售金额),并在每日结束时,统计各类商品的销售金额。的销售金额。首先:建立系统环境,确定系统边界,画出顶层DFD。其中:其中
27、:1 1 数据流为:销售的商品,日销售额等数据流为:销售的商品,日销售额等 2 2 数据源点为:营业员,经理,收款员数据源点为:营业员,经理,收款员 3 3 数据终点为:经理,收款员数据终点为:经理,收款员 4 4 加工名为:要建立的系统名字加工名为:要建立的系统名字然后自顶向下,逐层分解。nA、按人或部门的功能要求,将加工“打碎”,形成:录入、修改或删除商品信息录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额123注:需给每一加工编号注:需给每一加工编号nB、”分派”数据流,形成:录入、修改或删除商品信息 2录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销
28、售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额13其中:要根据特定的加工要求进行分派;其中:要根据特定的加工要求进行分派;保持与顶层数据流的一致;保持与顶层数据流的一致;可以不引入数据源和数据终点。可以不引入数据源和数据终点。nC、引入文件,使之形成一个有机整体系统录入、修改或删除商品信息录入、修改 现金额,并计算余额查询商品销售情况 计算日销售额销售的商品销售的商品现金额现金额现金余额现金余额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件123注:到一个文件,既有输入流,又有输出流,则可简化为注:到一个文件,既有输入流,又有输出流,则可
29、简化为 ,并可不给出标识。,并可不给出标识。至此,体现精化,形成至此,体现精化,形成0 0层数据流图。层数据流图。n继续A、B、C:自顶向下,逐层分解。例如:加工3查询商品销售情况 计算日销售额查询要求查询要求销售情况销售情况日销售额日销售额销售文件销售文件3可分解为:可分解为:3.1判定要求查询要求查询要求 3.2统计销售情况 3.3计算日销售额销售文件销售文件查询要求查询要求2查询要求查询要求1销售情况销售情况日销售额日销售额注意事项注意事项 n画数据流图不是画流程图。数据流图只描述画数据流图不是画流程图。数据流图只描述“做什么做什么”,不描述,不描述“怎么做怎么做”和做的顺序,而和做的顺
30、序,而流程图表述对数据进行加工的次序和细节。流程图表述对数据进行加工的次序和细节。n父图和子图的平衡。正常情况下,父图和子图父图和子图的平衡。正常情况下,父图和子图的输入数据和输出数据应分别保持一致,称为的输入数据和输出数据应分别保持一致,称为父子平衡。父子平衡。n局部文件。随着数据流图的分解,在下层数据局部文件。随着数据流图的分解,在下层数据流图中允许出现父图中没有的文件。流图中允许出现父图中没有的文件。n要遵守加工编号规则要遵守加工编号规则。顶层加工不编号;第顶层加工不编号;第0 0层的加工编为层的加工编为1,2,n号;第号;第1 1层编为层编为1.1,1.2,1.n等号,依此类推。等号,
31、依此类推。n分解的深度与层次。逐层分解时,要求加工分解分解的深度与层次。逐层分解时,要求加工分解到足够简单,易于理解为止,这一加工也就是我到足够简单,易于理解为止,这一加工也就是我们常说的基本加工。们常说的基本加工。n分解的层次多少是合适的,这应当根据问题的复分解的层次多少是合适的,这应当根据问题的复杂程度来确定。可以参考以下一些经验性的原则。杂程度来确定。可以参考以下一些经验性的原则。n一个加工的分解,最多不要超出一个加工的分解,最多不要超出7个子加工。个子加工。n分解在逻辑上应合理、自然,不能硬性分割。分解在逻辑上应合理、自然,不能硬性分割。n在保证数据流得以理解的前提下,尽量少分解层次。
32、在保证数据流得以理解的前提下,尽量少分解层次。n分解要均匀。即在一张数据流图中,尽量少出现有分解要均匀。即在一张数据流图中,尽量少出现有些加工已是基本加工,有些还要分解好几层的情况。些加工已是基本加工,有些还要分解好几层的情况。3.2.2 数据字典数据字典 n数据字典的作用,就是描述软件中的每个数据数据字典的作用,就是描述软件中的每个数据和加工的具体含义,以保持数据在系统中的一和加工的具体含义,以保持数据在系统中的一致性。致性。n有了数据流图和数据字典才算是较完整地描述有了数据流图和数据字典才算是较完整地描述了一个系统。数据流图和数据字典是需求规格了一个系统。数据流图和数据字典是需求规格说明书
33、的主要组成部分。说明书的主要组成部分。n数据字典数据字典要对数据流图中出现的所有名字(数要对数据流图中出现的所有名字(数据流、加工、数据存储)进行定义。据流、加工、数据存储)进行定义。n在在数数据据字字典典中中,描描述述数数据据元元素素之之间间的的关关系系时时,可以使用自然语言也可采用以下符号:可以使用自然语言也可采用以下符号:=等价于(或定义为)等价于(或定义为)+与与|或或(从从方方括括号号内内由由“|”号号隔隔开开的的分分量量中中选选择择一个)一个)重复重复()()选择选择 常常使用上限和下限符号,以进一步注释表示重复的常常使用上限和下限符号,以进一步注释表示重复的括号。例如:括号。例如
34、:和和1A5都表示都表示A重复重复5次。次。数据流条目数据流条目n n学生学生学生学生=学号学号学号学号+姓名姓名姓名姓名+性别性别性别性别+系系系系+年级年级年级年级+选修课程选修课程选修课程选修课程n n选修课程选修课程选修课程选修课程=课程号课程号课程号课程号+课名课名课名课名+学时学时学时学时+学分学分学分学分+课表课表课表课表n n课表课表课表课表=星期几星期几星期几星期几+第几节第几节第几节第几节+教室教室教室教室 n n年级年级年级年级=1|2|3|4=1.4=1|2|3|4=1.4=1|2|3|4=1.4=1|2|3|4=1.4文件条目文件条目n n列出数据存储的组成数据项及文
35、件的组织方式列出数据存储的组成数据项及文件的组织方式列出数据存储的组成数据项及文件的组织方式列出数据存储的组成数据项及文件的组织方式n n航班目录文件航班目录文件航班目录文件航班目录文件=航班号航班号航班号航班号+起点起点起点起点+终点终点终点终点+时间时间时间时间 n n组织:按航班号次序排列组织:按航班号次序排列组织:按航班号次序排列组织:按航班号次序排列数据项条目数据项条目n数据项条目是不可再分解的数据单位,其定义数据项条目是不可再分解的数据单位,其定义格式如下:格式如下:数据项名称:货物编号数据项名称:货物编号 别名:别名:G-No,G-num,Goods-No 简述:本公司的所有货物
36、的编号简述:本公司的所有货物的编号 类型:字符串类型:字符串 长度:长度:10加工条目加工条目n n只列出基本加工的小说明只列出基本加工的小说明只列出基本加工的小说明只列出基本加工的小说明n n描述加工逻辑,也包括与加工有关的其他信息描述加工逻辑,也包括与加工有关的其他信息描述加工逻辑,也包括与加工有关的其他信息描述加工逻辑,也包括与加工有关的其他信息n n用结构化自然语言描述用结构化自然语言描述用结构化自然语言描述用结构化自然语言描述1、数据流:销售的商品销售的商品=商品名商品名+商品编号商品编号+单价单价+数量数量+日期日期现金额现金额=余额余额=非负实数非负实数查询要求查询要求=商品编号
37、商品编号|日期日期查询要求查询要求1=商品编号商品编号查询要求查询要求2=日期日期销售情况销售情况=商品名商品名+商品编号商品编号+金额金额日销售额日销售额=类名类名+现金额现金额2、数据存贮:销售文件销售文件=销售的商品销售的商品3.5 加工逻辑的描述n结构化语言结构化语言:半形式化语言半形式化语言n加工逻辑:根据分房要求的住房面积从住房标加工逻辑:根据分房要求的住房面积从住房标准文件读出住房标准准文件读出住房标准nIF住房分数住房分数=最低住房分数最低住房分数nTHEN输出审核后的分房单输出审核后的分房单nELSE取消分房资格取消分房资格判定表n给出加工小说明可以使用给出加工小说明可以使用
38、判定表、判定树判定表、判定树判断表 条件类别 条件组合 操作 操作执行 例如:考试总分 =620 =620 620 单科成绩 有满分 有不及格 有满分 发升级通知书 y y n 发留级通知书 n n y 发重修通知书 n y n实体关系图(实体关系图(E-R图)图)n实体关系图中包含实体关系图中包含3种相互关联的信息:种相互关联的信息:数数据对象、数据对象的属性及数据对象彼此间相据对象、数据对象的属性及数据对象彼此间相互连接的关系。互连接的关系。n是一种面向问题的数据模型,是按照用户的观是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看点对数据建立的模型。它描述了
39、从用户角度看到的数据,它反映了用户的现实环境,而且与到的数据,它反映了用户的现实环境,而且与软件系统中的实现方法无关。软件系统中的实现方法无关。1.数据对象、属性与关系数据对象、属性与关系 n数据对象数据对象是软件必须理解的复合信息的抽象。是软件必须理解的复合信息的抽象。n数据对象彼此间是有关联的。数据对象彼此间是有关联的。n属性属性定义了数据对象的特征。它可用来:定义了数据对象的特征。它可用来:为为数据对象的实例命名;数据对象的实例命名;描述这个实例;描述这个实例;建立对另一个数据对象的另一个实例的引用。建立对另一个数据对象的另一个实例的引用。n数据对象彼此之间相互连接的方式称为数据对象彼此
40、之间相互连接的方式称为联系联系,也称为也称为关系关系。联系可分为以下3种类型 n一对一联系(一对一联系(11)n一个部门有一个经理,而每个经理只在一个部一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。门任职,则部门与经理的联系是一对一的。n一对多联系(一对多联系(1N)n每位教师可以教多门课程,但是每门课程只能每位教师可以教多门课程,但是每门课程只能由一位教师来教,则某校教师与课程之间存在由一位教师来教,则某校教师与课程之间存在一对多的联系。一对多的联系。n多对多联系(多对多联系(MN)n一个学生可以学多门课程,而每门课程可以有一个学生可以学多门课程,而每门课程可
41、以有多个学生来学,则学生与课程间的联系是多对多个学生来学,则学生与课程间的联系是多对多的。多的。2.实体关系图实例实体关系图实例 n例12.在教学管理中,一个教师可以教授零门、在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课一门或多门课程,每位学生也需要学习几门课程。用程。用E-R图描述。图描述。状态转换图状态转换图 n状态转换图(简称为状态图)通过描绘系统的状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的行为。此外,状态图还指明了作为特定事件的结果,系
42、统将做哪些动作(例如,处理数据)的结果,系统将做哪些动作(例如,处理数据)。1.组成部分及其符号表示组成部分及其符号表示 n状态状态是任何可以被观察到的系统行为模式,一是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应方式。n在状态图中定义的状态主要有:初态(即初始在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以一张状态图中只能有一个初态,而终态则可以有有0至多个。至多个。n状态图
43、既可以表示系统循环运行过程,也可以状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。表示系统单程生命期。n事件事件是在某个特定时刻发生的事情,它是对引是在某个特定时刻发生的事情,它是对引起系统做动作或系统状态转变的外界事件的抽起系统做动作或系统状态转变的外界事件的抽象。状态图中两个状态之间带箭头的连线称为象。状态图中两个状态之间带箭头的连线称为状态转换状态转换,箭头指明了转换方向。,箭头指明了转换方向。n当有多个进程申请占用当有多个进程申请占用CPU运行的时,有关运行的时,有关CPU分配的进程的状况,可以用以下状态迁移分配的进程的状况,可以用以下状态迁移图表示。图表示。CPU分配的状态迁移表 2.状态转换图实例状态转换图实例 n画出电话系统的状态图。画出电话系统的状态图。n没有人打电话时电话,电话处于闲置状态;有没有人打电话时电话,电话处于闲置状态;有人拿起听筒,则进入拨号音状态,到达这个状人拿起听筒,则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音并计时;这时态后,电话的行为是响起拨号音并计时;这时如果拿起听筒的人改变主意不想打了,他把听如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入果拿起听筒很长时间不拨号(超时),则进入超时状态;超时状态;。