第三章软件需求分析基础演示文稿_第1页
第三章软件需求分析基础演示文稿_第2页
第三章软件需求分析基础演示文稿_第3页
第三章软件需求分析基础演示文稿_第4页
第三章软件需求分析基础演示文稿_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

第三章软件需求分析基础演示文稿现在是1页\一共有108页\编辑于星期一优选第三章软件需求分析基础现在是2页\一共有108页\编辑于星期一3.1需求分析的概念和原则

需求分析的基本任务是准确地回答“系统必须做什么?”这一核心问题。

需求分析是发现、求精、建模和规约的过程。这一过程包括:详细精化最初由系统分析员建立在软件项目计划中确定的软件范围,创建所需数据流、控制流以及操作行为的模型,在此基础上选择解决方案。

现在是3页\一共有108页\编辑于星期一问题定义阶段在需求分析之前,需要描述和定义问题。问题定义阶段必须回答的关键问题是“要解决的问题是什么”。系统分析员扼要地写出对问题的理解,提出关于问题性质、工程目标和规模的书面报告,最后得出使用户和使用部门负责人都满意的文档。问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。

现在是4页\一共有108页\编辑于星期一可行性研究阶段

这个阶段要回答的关键问题是“对于上一个阶段所确定的问题有行得通的解决办法吗?”

系统分析员需要进行一次大大压缩和简化了的系统分析和设计的过程。只有当投资取得较大效益时,该工程项目才值得继续进行下去。系统分析员得出该工程项目不值得做的结论,应该及时中止投资该工程项目,避免更大的浪费。

现在是5页\一共有108页\编辑于星期一可行性研究问题识别市场调查分析准备环境分析物理分析功能分析信息分析动态分析确立系统方案,作出各种估算模型评审现在是6页\一共有108页\编辑于星期一问题的初步认识了解系统应解决的问题,这些问题是如何提出的设想这些问题如何解决才能满足要求了解问题的结构现在是7页\一共有108页\编辑于星期一市场调查了解市场对待开发软件的需求情况调查市场上已有的类似软件系统的功能、性能、价格情况现在是8页\一共有108页\编辑于星期一分析准备确立分析计划规定由谁参加分析作业,任务分配对参加分析的人员进行必要的培训现在是9页\一共有108页\编辑于星期一环境分析明确系统的目的和限制条件使用单位的状况、经营方针和组织机构使用单位的计算机利用情况相关的硬件、软件及其它接口部分用户的操作环境及操作要求习惯、法律、制度上对软件的制约开发能具备的技术条件和设备条件现在是10页\一共有108页\编辑于星期一物理分析了解实际业务活动状况,特别对一些活动要点进行分析明确在这些要点之间什么东西在流动,如何进行流动对物理流量进行分析对其模型化,得到实际业务系统(当前系统)的物理模型现在是11页\一共有108页\编辑于星期一功能分析决定系统应具备的功能(工作域)分析功能的结构:功能展开和功能分配分析各功能之间的关系,整理它们之间传递的信息利用数据流图,描述信息在系统流动与处理的情况现在是12页\一共有108页\编辑于星期一信息分析调查系统的输入、输出、保存信息明确信息的结构及各信息之间的关系调查各信息的信息量调查各种报表和文件的格式建立粗略的数据词典,定义系统中使用的数据现在是13页\一共有108页\编辑于星期一动态分析系统内每一部分有几种状态各种状态转换的条件同步产生的条件与同步后状态的变化现在是14页\一共有108页\编辑于星期一确立系统方案,进行各种估算粗略地估算成本估算可能取得的效益提出可能需要的资源,包括人员、硬件、软件等提出大概的进度安排现在是15页\一共有108页\编辑于星期一模型评审将目标系统的逻辑模型提出管理部分与用户进行评审复查问题定义、工程规模和系统目标现在是16页\一共有108页\编辑于星期一系统建模为了开发系统模型,可通过构造模型进一步分析系统。可以用系统流程图,数据流图和数据字典。现在是17页\一共有108页\编辑于星期一3.1.1需求分析

需求分析是一种软件工程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是软件设计师进行软件分解的基础,需求分析建造了软件处理的数据模型、功能模型和行为模型。需求规约为软件设计师和客户提供了软件建造完后,进行质量评估的依据。

现在是18页\一共有108页\编辑于星期一1.软件需求的概念和分类

比较权威的需求的定义来自于IEEE软件工程标准词汇表中的定义:l

用户解决问题或达到目标所需要的条件。l

系统或系统部件要满足合同、标准、规范或其他正式规定的文档所要具有的条件。l

反映上面两条的文档说明。需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。

现在是19页\一共有108页\编辑于星期一需求的类别

功能需求:指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能;性能需求:指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求;可靠性和可用性需求:定量地指定系统的可靠性与可用性;现在是20页\一共有108页\编辑于星期一出错处理需求:说明系统对环境错误应该怎样响应;接口需求:描述应用系统与其环境通信的格式,常见的接口需求有用户接口需求、硬件接口需求、软件接口需求和通信接口需求;约束:描述了应用系统应遵守的限制条件,常见的约束有:精度约束、工具和语言约束、设计约束、应该使用的标准、应该使用的硬件平台等;

现在是21页\一共有108页\编辑于星期一逆向需求:说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除发生误解的那些逆向需求;将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。现在是22页\一共有108页\编辑于星期一另一种分类功能性需求产品的范围功能与数据需求非功能性需求观感需求易用性性能限制条件

操作需求可维护性和可移植性需求安全性需求文化与政策法律需求现在是23页\一共有108页\编辑于星期一需求的质量完整性正确性可行性必要性划分优先级无二义性可验证性设计无关性现在是24页\一共有108页\编辑于星期一2.需求分析的任务

需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。必须全面理解用户的各项要求,但只能接受合理的要求。要将软件的需求准确地表达出来,形成软件需求说明书。

现在是25页\一共有108页\编辑于星期一目标系统当前系统物理模型逻辑模型模型化抽象化物理模型逻辑模型具体化实例化理解需求表达需求导出怎么做做什么现在是26页\一共有108页\编辑于星期一需求分析的任务

获得当前系统的物理模型:首先,分析、理解当前系统是如何运行的,并用一个具体的模型来反映自己对当前系统的理解。

抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。

现在是27页\一共有108页\编辑于星期一

建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,明确目标系统要“做什么”,从而从当前系统的逻辑模型中,导出目标系统的逻辑模型。

对目标系统逻辑模型进行补充:具体内容如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。

现在是28页\一共有108页\编辑于星期一3.需求分析的主要工作

软件需求分析可被划分成5个工作阶段:问题分析;问题评估和方案综合;建模;规约;复审。

例1.

汽车零件的主要供应商需要一个库存控制系统,系统分析员发现与当前的手工系统相关的问题包括:(1)不能快速地获得部件的状况;(2)更新卡片文件需要2至或3天的工作量;(3)由于没有办法查找相关厂商的部件信息,而使得对同一厂商同一货品多次再订货,等等。一旦问题被标识出来,系统分析员将确定新系统该产生什么信息,以及将提供什么信息。

现在是29页\一共有108页\编辑于星期一例2.

客户希望得到指明什么零件从库存中取出、以及还剩余多少相似零件的日报表。客户指明一旦当该零件离开仓库时库存管理员就该记载每个零件的标号。通过对当前问题和希望的信息(输入和输出)进行的评估,系统分析员开始综合一个或多个解决方案。为了便于开始,必须详细地定义系统的数据、处理功能和行为。

现在是30页\一共有108页\编辑于星期一例3.

在例1与例2的基础上,一些可以进一步思考内容是,一旦已经建立这些信息,就该考虑针对实现的基本体系结构,那么客户/服务器方法似乎是合适的,但是它确实属于软件计划的范围吗?似乎需要一个数据库管理系统,但是,该数据库系统真的是用户需要的吗?继续这种评估和综合的过程,直至分析员和客户均确信针对后面的开发步骤软件确实已被适当地刻划了。

现在是31页\一共有108页\编辑于星期一在整个评估和综合过程中,分析员的主要焦点是“做什么”,而不是“怎么做”,即应该思考的是:系统会产生和使用什么数据?系统必须完成什么功能?将定义什么界面?会应用什么约束?在问题评估和综合解决方案的活动中,系统分析员创建系统模型,以便可以更好地理解数据流和控制流、处理功能和操作行为以及信息内容。

现在是32页\一共有108页\编辑于星期一4.系统分析员的主要能力

在整个系统分析活动中,系统分析员起着关键的作用,其本人应该具备突出的能力,如:能掌握抽象概念,能对其进行分类,能从中综合出解的能力;能从冲突或者混淆中吸取恰当事实的能力;能弄清用户环境的能力;能为用户系统恰当配置软硬件的能力能较好地用书面和口头形式进行沟通的能力有“从树木见森林”的能力。

现在是33页\一共有108页\编辑于星期一3.1.2需求获取

软件需求分析中需要很好的的相互沟通,沟通总是要在两方或多方间进行。

客户和系统分析员之间最常用的交流方式,是通过预备会议或访谈进行的。获取用户需求的主要方法是调查研究。做好准备制定调研计划准备调研资料访谈用户写调研报告评审现在是34页\一共有108页\编辑于星期一系统分析员所问的第一组问题可以关注客户、整体目标和收益,例如:谁是本工作的最初请求者?谁将使用该解决方案?成功的解决方案的经济收益是什么?接下来的下一组问题使得系统分析员能够对问题做更好的理解,使得客户能够表达其关于解决方案的感觉,最后一组问题关注于会议的效果。例如:你是回答这些问题的合适人员吗?你的回答是“正式的”吗?其他人员可以提供附加信息吗?有其他我应该问你的问题吗?

现在是35页\一共有108页\编辑于星期一分析原则

在过去20年,研究者已经开发出一些实用分析方法及相应的建模符号,每种分析方法有独特的观点,然而,所有分析方法都遵循以下操作原则:必须表示可理解的问题信息域。必须定义软件将完成的功能。必须表示软件的行为(作为外部事件的结果)。必须划分描述信息、功能和行为的模型,从而能以层次的方式揭示细节。分析过程应该从要素信息移向细节实现。

现在是36页\一共有108页\编辑于星期一除了上面提到的操作性分析原则,Davis提出了一组针对需求工程的指导性原则:

在开始建立分析模型前,先充分理解问题。开发原型,使得用户能够了解如何进行人机交互。记录每个需求的起源及原因。使用多个需求视图。建立数据、功能和行为模型,为软件工程师提供三种不同的视图。给需求赋予优先级。努力删除歧义性。现在是37页\一共有108页\编辑于星期一1.信息域

所有的应用软件均可称为数据处理系统。信息流表示了数据和控制在系统中流动时的变化方式,输入对象被变换为中间信息(数据和/或控制),这些信息被进一步变换为输出数据的变换是程序必须完成的功能或子功能,在两个变换(功能)间流动的数据和控制定义了每个功能的接口。信息结构表示了各种数据和控制项的内部组织,

现在是38页\一共有108页\编辑于星期一2.建模

我们创建模型,以获得对将要建造的实际实体有更好的理解。要对软件变换的信息进行建模、对变换发生的功能(和子功能)进行建模、以及对变换发生时的系统行为进行建模。在软件需求分析阶段,我们创建系统模型,这些模型着重于描述系统必须做什么而不是如何去做。我们常使用图形符号创建模型。

现在是39页\一共有108页\编辑于星期一功能模型:记录软件的变换信息,为了达到此目标必须至少完成三个常见功能:输入、处理和输出。行为模型:大多数软件对来自外界的事件做出反应,这种刺激-反应特征构成了行为模型的基础。行为模型创建了软件状态的表示,以及导致软件状态变化的事件表示。

现在是40页\一共有108页\编辑于星期一需求分析阶段创建模型的作用模型帮助分析员理解系统的信息、功能和行为,因此,使得需求分析任务更容易实现。

模型变成了复审的焦点,因此,也成为确定规约的完整性、一致性和精确性的重要依据。模型变成了设计的基础,为设计者提供了软件要素的表示视图,该表示可被转化到实现中去。

现在是41页\一共有108页\编辑于星期一3.划分

实际的问题经常太大而且复杂难于进行整体理解,我们往往将这样的问题划分为易于理解的子问题,并建立各子问题间的接口,以便完成整个功能。第四条操作性分析原则建议划分软件的信息、功能和行为域。现在是42页\一共有108页\编辑于星期一需求分析阶段的文档软件需求说明书初步的用户手册修改、完善与确定软件开发实施计划现在是43页\一共有108页\编辑于星期一3.1.4需求规格说明

软件需求规格说明是分析任务的最终产物,美国国家标准局、IEEE(标准号830-1984)以及美国防部门均已提出了软件需求规约(以及其他软件工程文档)的候选格式。

软件需求规格说明必须正确地定义所有的软件需求;除了设计上的特殊限制之外,软件需求规格说明中一般不描述任何设计、验证或项目管理的细节。

现在是44页\一共有108页\编辑于星期一需求必须描述的基本问题功能——所设计的软件要做什么;

性能——软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等等;

强加给实现的设计限制——在效果、实现的语言、数据库完整性、资源限制、操作环境等等方面所要求的标准;

属性——可移植性、正确性、可维护性及安全性等方面的考虑因素;

外部接口——与人、硬件、其他软件和其他硬件的相互关系。

现在是45页\一共有108页\编辑于星期一软件需求规格说明的大纲

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

现在是46页\一共有108页\编辑于星期一3.2外部接口需求

3.2.1用户接口

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场合适应性

…………

附录索引

现在是47页\一共有108页\编辑于星期一3.1.5评审

需求审查是需求分析阶段工作的最后一步,是由软件软件工程师和客户一起进行并完成的。目的是发现软件需求规格说明中的错误、二义性和遗漏的需求。复审首先在宏观的级别上进行,复审者试图保证软件需求规格说明是完整的、一致的、精确的。例如提出以下问题:叙述的软件目标与系统的目标是否保持一致?图是否清楚?每个图可以没有文字补充而单独存在吗?是否考虑过开发的技术风险?是否存在不一致性、是否信息被忽略或存在冗余?和客户全面接触过吗?

现在是48页\一共有108页\编辑于星期一然后复审会更详细,关注软件需求规格说明中的措词。例如:着重于说服性的连接词(例如,当然、因此、明确地、显然地、紧随的),并问“为什么”。

观察含糊的术语(例如,一些、有时、经常、通常、一般地、大多数、大多数的),并进行澄清。

当给出了不完整的列表时,确定已理解了所有的项。关键是查找“等等、如此这样”。

小心含糊的动词如“处理、拒绝、处制、跳过、限制”等,它们可以以很多方式来解释。小心含糊的代词(例如,I/O模块与数据校验模块通信,且设置它的控制标志,那么标志是谁的?)等等。

现在是49页\一共有108页\编辑于星期一3.2传统的软件需求分析基础

结构化的分析方法是最经典的需求分析方法。适用于数据处理类型软件的需求分析。它提供的工具包括:数据流图、数据字典、结构化英语、判定表和判定树。

系统的分析模型必须达到三个主要目标:(1)描述客户的需要;(2)建立创建软件设计的基础;(3)定义在软件完成后可以被确认的一组需求。现在是50页\一共有108页\编辑于星期一实体—关系图状态—迁移图数据流图数据对象描述加工规格说明数据字典控制规格说明现在是51页\一共有108页\编辑于星期一模型的核心是数据字典——一个包含了软件使用或生产的所有数据对象描述的中心库。实体-关系图描述数据对象间的关系,实体-关系图是用来进行数据建模活动的。数据流图有两个目的:指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能(和子功能)。它可以用于信息域的分析,作为功能建模的基础。状态转换图指明系统将如何动作。为此,状态转换图表示了系统的各种行为模式(称为“状态”),以及在状态间进行变迁的方式,状态转换图是行为建模的基础。现在是52页\一共有108页\编辑于星期一数据流图

任何软件系统(或计算机系统)从根本上来说,都是对数据进行加工或变换的工具。

现在是53页\一共有108页\编辑于星期一1.组成符号

现在是54页\一共有108页\编辑于星期一例4.下面以教材购销系统中的教材销售为例,说明如何画数据流图。从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开购书证明,学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。现欲将上述手工操作改为计算机处理,试画出教材销售过程的数据流图。

现在是55页\一共有108页\编辑于星期一首先找出数据的源点和终点,即找出数据源与数据汇,由此确定系统的边界。由于是由学生开始购书,最后由学生领书,因此数据的源点和终点都是“学生”。第二步找出加工,需要从描述中抽象出系统要完成的工作。学生须凭购书证明得到购书发票,然后交付书款,得到领书凭证,最后领书。其间能由计算机完成的工作是审查学生的购书凭证并开出发票,按发票开出领书单,由此我们得到2个加工(审查并开发票,并领书单)。现在是56页\一共有108页\编辑于星期一第三步要找出数据流。

学生向系统提交购书单,学生从系统得到领书单,在加工之间要传输发票信息,这样我们得到3个数据流。同时还要注意在“审查并开发票”加工中排除了无效的书单,它也因作为一个数据流,因此最后得到4个数据流:购书单,发票,领书单,无效书单。

现在是57页\一共有108页\编辑于星期一现在是58页\一共有108页\编辑于星期一我们还要补充数据存储。数据存储一般不能通过系统描述确定,而要在设计数据流图时按照需要添加。

实际上在审查购书单和开出发票之前,至少要查阅两个文件:①各班学生用书表,该表用以核对学生是否需用这些教材;②教材存量表,了解有没有该生要买的教材。

把这两个文件加进上图中,并给加工添上编号,就得到计算机售书系统的完整的数据流图。现在是59页\一共有108页\编辑于星期一现在是60页\一共有108页\编辑于星期一例子在学生管理系统的一部分功能中,学术部安排好课程,学生通过系统注册想上的课程,得到课表,系统根据课程注册情况产生班级列表给相应教师。现在是61页\一共有108页\编辑于星期一现在是62页\一共有108页\编辑于星期一2.命名

数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。给这些成分起名字时应该仔细推敲。下面讲述在命名时应注意的问题:

为数据流(或数据存储)命名

名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。考生姓名分类后的姓名录取分类现在是63页\一共有108页\编辑于星期一注意合适的命名,尽量用现实存在的表格、单据。不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。不要把控制流作为数据流。汇款单格式错误合格的汇款单核准的汇款单格式检查计算汇费取下一个考生成绩录取分类现在是64页\一共有108页\编辑于星期一为处理命名通常先为数据流命名,再为与之相关联的处理命名

名字应该反映整个处理的功能,而不是它的一部分功能。名字最好有一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能跟恰当些。如果在为某个处理命名时遇到了困难,则很可能是分解不恰当造成的,应该考虑重新分解。

现在是65页\一共有108页\编辑于星期一数据的源点和终点并不需要在系统中实现,它们只是系统的外围环境(可能是人员、计算机外部设备或传感器等)。通常为数据的源点和终点命名是采用它们在问题中习惯使用的名字,如“学生”,“管理员”。

现在是66页\一共有108页\编辑于星期一3.分层数据流图

现在是67页\一共有108页\编辑于星期一对于大型的系统,按照其层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。

对任何一层数据流图来说,我们称它的上层图为父图,在它下一层的图则称为子图。

在多层数据流图中,顶层流图仅包含一个加工,它代表将被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流图是指其加工不需再做分解的数据流图,它处在最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。

现在是68页\一共有108页\编辑于星期一4.数据流图实例

建立数据流模型的基本步骤概括地说,就是自外向内、自顶向下、逐层细化、完善求精。

例5.

建立一个简化的商业自动化系统。其中:售货员负责录入销售的商品(商品名,编号,单价,数量),有时要根据特定情况对销售的商品进行修改或删除。收款员负责收取现金,并将多交的付款退还用户。销售经理需要随时查询整个部门的销售情况(时间,商品编号,销售金额),并在每日结束时,统计各类商品的销售金额。

现在是69页\一共有108页\编辑于星期一首先:建立系统环境,确定系统边界,画出顶层DFD。

其中:1数据流为:销售的商品,日销售额等

2数据源点为:营业员,经理,收款员

3数据终点为:经理,收款员

4加工名为:要建立的系统名字现在是70页\一共有108页\编辑于星期一然后自顶向下,逐层分解。

A、按人或部门的功能要求,将加工“打碎”,形成:录入、修改或删除商品信息录入、修改现金额,并计算余额查询商品销售情况计算日销售额123注:需给每一加工编号现在是71页\一共有108页\编辑于星期一B、”分派”数据流,形成:录入、修改或删除商品信息

2录入、修改现金额,并计算余额查询商品销售情况计算日销售额销售的商品现金额现金余额查询要求销售情况日销售额13其中:要根据特定的加工要求进行分派;保持与顶层数据流的一致;可以不引入数据源和数据终点。现在是72页\一共有108页\编辑于星期一C、引入文件,使之形成一个有机整体—系统录入、修改或删除商品信息录入、修改现金额,并计算余额查询商品销售情况计算日销售额销售的商品现金额现金余额查询要求销售情况日销售额销售文件123注:到一个文件,既有输入流,又有输出流,则可简化为,并可不给出标识。至此,体现精化,形成0层数据流图。

现在是73页\一共有108页\编辑于星期一继续A、B、C:自顶向下,逐层分解。例如:加工3查询商品销售情况计算日销售额查询要求销售情况日销售额销售文件3可分解为:3.1判定要求查询要求

3.2统计销售情况

3.3计算日销售额销售文件查询要求2查询要求1销售情况日销售额现在是74页\一共有108页\编辑于星期一5.注意事项

画数据流图不是画流程图。数据流图只描述“做什么”,不描述“怎么做”和做的顺序,而流程图表述对数据进行加工的次序和细节。

父图和子图的平衡。正常情况下,父图和子图的输入数据和输出数据应分别保持一致,称为父子平衡。

局部文件。随着数据流图的分解,在下层数据流图中允许出现父图中没有的文件。

要遵守加工编号规则。顶层加工不编号;第0层的加工编为1,2,…,n号;第1层编为1.1,1.2,…,1.n等号,依此类推。

现在是75页\一共有108页\编辑于星期一分解的深度与层次。逐层分解时,要求加工分解到足够简单,易于理解为止,这一加工也就是我们常说的基本加工。

分解的层次多少是合适的,这应当根据问题的复杂程度来确定。可以参考以下一些经验性的原则。

一个加工的分解,最多不要超出7个子加工。分解在逻辑上应合理、自然,不能硬性分割。

在保证数据流得以理解的前提下,尽量少分解层次。分解要均匀。即在一张数据流图中,尽量少出现有些加工已是基本加工,有些还要分解好几层的情况。

现在是76页\一共有108页\编辑于星期一3.2.2数据字典

数据字典的作用,就是描述软件中的每个数据和加工的具体含义,以保持数据在系统中的一致性。

有了数据流图和数据字典才算是较完整地描述了一个系统。数据流图和数据字典是需求规格说明书的主要组成部分。

数据字典要对数据流图中出现的所有名字(数据流、加工、数据存储)进行定义。

现在是77页\一共有108页\编辑于星期一在数据字典中,描述数据元素之间的关系时,可以使用自然语言也可采用以下符号:

=等价于(或定义为)

+与

[|]或(从方括号内由“|”号隔开的分量中选择一个)

{}重复()选择

常常使用上限和下限符号,以进一步注释表示重复的括号。例如:和1{A}5都表示A重复5次。

现在是78页\一共有108页\编辑于星期一数据流条目学生=学号+姓名+性别+系+年级+选修课程选修课程=课程号+课名+学时+学分+课表课表={星期几+第几节+教室}年级=[1|2|3|4]=[1..4]现在是79页\一共有108页\编辑于星期一文件条目列出数据存储的组成数据项及文件的组织方式航班目录文件={航班号+起点+终点+时间}组织:按航班号次序排列现在是80页\一共有108页\编辑于星期一加工条目只列出基本加工的小说明描述加工逻辑,也包括与加工有关的其他信息用结构化自然语言描述现在是81页\一共有108页\编辑于星期一1、数据流:销售的商品=商品名+商品编号+单价+数量+日期现金额=余额=非负实数查询要求=[商品编号|日期]查询要求1=商品编号查询要求2=日期销售情况=商品名+商品编号+金额日销售额={类名+现金额}2、数据存贮:销售文件={销售的商品}现在是82页\一共有108页\编辑于星期一3、数据项给出加工小说明可以使用判定表、判定树判断表Ⅰ条件类别Ⅱ条件组合

Ⅲ操作Ⅳ操作执行例如:考试总分>=620>=620<620

单科成绩有满分有不及格有满分发升级通知书yyn

发留级通知书nny

发重修通知书nyn现在是83页\一共有108页\编辑于星期一某公司承担空中和地面运输业务。计算货物托运费的比率规定如下:

空运:如果货物重量小于等于2kg.则一律收费6元;如果货物重量大于2kg而又小于等于20kg,则收费3元/kg;如果货物重量大于20kg,则收费4元/kg。

地运:若为慢件每kg收费为1元,若为快件,当重量小于等于20kg时,收费为2元/kg,当货物重量大于20kg时,则收费为3元/kg。

现在是84页\一共有108页\编辑于星期一方式空运空运空运地运地运地运货物重量≤20Kg>2Kg、≤20Kg>20Kg慢件重量≤20Kg>20Kg收费6元3元/Kg4元/Kg1元/Kg2元/Kg3元/Kg现在是85页\一共有108页\编辑于星期一实体-关系图(E-R图)

实体-关系图中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。

是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与软件系统中的实现方法无关。

现在是86页\一共有108页\编辑于星期一1.数据对象、属性与关系

数据对象是软件必须理解的复合信息的抽象。

数据对象彼此间是有关联的。属性定义了数据对象的特征。它可用来:①

为数据对象的实例命名;②

描述这个实例;③

建立对另一个数据对象的另一个实例的引用。数据对象彼此之间相互连接的方式称为联系,也称为关系。

现在是87页\一共有108页\编辑于星期一联系可分为以下3种类型

一对一联系(1∶1)

一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。

一对多联系(1∶N)

每位教师可以教多门课程,但是每门课程只能由一位教师来教,则某校教师与课程之间存在一对多的联系。

多对多联系(M∶N)一个学生可以学多门课程,而每门课程可以有多个学生来学,则学生与课程间的联系是多对多的。

现在是88页\一共有108页\编辑于星期一2.实体-关系图实例

现在是89页\一共有108页\编辑于星期一例12.

在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。用E-R图描述。

现在是90页\一共有108页\编辑于星期一状态转换图

状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果,系统将做哪些动作(例如,处理数据)。

现在是91页\一共有108页\编辑于星期一1.组成部分及其符号表示

现在是92页\一共有108页\编辑于星期一状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。

在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。

温馨提示

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

评论

0/150

提交评论