Top Banner
软软软软软 软软软软软 软软软软 软软软软 软软软 软软软 软软软软 软软软软
60

《 软件工程 》

Jan 03, 2016

Download

Documents

ila-farrell

《 软件工程 》. 软件的定义 — 需求分析 陈巧丽. 2.2 项目需求分析. 当项目计划完成之后,软件项目就进入了下一个重要的阶段即软件需求分析阶段。 它的基本任务是准确地回答“系统必须做什么 ?” 这个问题。 Why to do? — 可行性研究√ What to do?— 需求分析√ How to do? — 系统设计. 需求分析的概念. 需求分析的任务并不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 《 软件工程 》

软件的定义软件的定义——需求分析需求分析

陈巧丽陈巧丽

《《软件工程软件工程》》

Page 2: 《 软件工程 》

2.2 2.2 项目需求分析项目需求分析 当项目计划完成之后,软件项目就进入了下当项目计划完成之后,软件项目就进入了下一个重要的阶段即软件需求分析阶段。一个重要的阶段即软件需求分析阶段。它的基本任它的基本任务是准确地回答“系统必须做什么务是准确地回答“系统必须做什么 ?”?” 这个问题。这个问题。

Why to do? —Why to do? — 可行性研究√可行性研究√ What to do?—What to do?— 需求分析√需求分析√ How to do? —How to do? — 系统设计系统设计

Page 3: 《 软件工程 》

需求分析的概念需求分析的概念 需求分析的任务并不是确定系统怎样完成它的工作,而仅仅需求分析的任务并不是确定系统怎样完成它的工作,而仅仅

是确定系统必须完成哪些工作,也就是对目标系统提出完整、是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。准确、清晰、具体的要求。

需求分析需求分析是指开发人员要准确地理解用户的要求是指开发人员要准确地理解用户的要求 ,, 进行细致进行细致的调查分析的调查分析 ,, 将用户非形式化的需求陈述转化为完整的需求将用户非形式化的需求陈述转化为完整的需求定义定义 ,, 再由需求定义转化为相应的再由需求定义转化为相应的软件需求规格说明书软件需求规格说明书(即(即需求分析的结果)的过程。需求分析的结果)的过程。

需求规格说明书的主要部分是需求规格说明书的主要部分是详细的数据流图,数据字典和详细的数据流图,数据字典和主要功能的算法描述主要功能的算法描述。通过验收的需求规格说明书是今后软。通过验收的需求规格说明书是今后软件设计和项目验收的依据。件设计和项目验收的依据。

Page 4: 《 软件工程 》

需求分析的过程需求分析的过程

需求分析对于整个软件开发过程以及软件产品的质需求分析对于整个软件开发过程以及软件产品的质量至关重要。量至关重要。

从收集资料到形成软件需求分析文档,从收集资料到形成软件需求分析文档,一般来说要一般来说要经过四个过程经过四个过程:获取用户需求,分析用户需求,编:获取用户需求,分析用户需求,编写需求文档,评审需求文档。写需求文档,评审需求文档。

Page 5: 《 软件工程 》

需求分析的任务需求分析的任务 需求分析的任务需求分析的任务是确定系统必须完成哪些工作,也是确定系统必须完成哪些工作,也

就是对目标系统提出完整、准确、清晰、具体的定就是对目标系统提出完整、准确、清晰、具体的定义和要求。义和要求。

本阶段要进行的具体工作如下:本阶段要进行的具体工作如下:

Page 6: 《 软件工程 》

1. 进行调查研究,获取用户需求(问题识别)。•这些需求包括:•功能需求:所开发的软件必需具备什么功能(最重要)。

•性能需求:指待开发的软件应具备的性能指标,如存储容量,运行时间等。•环境需求:指软件运行时的软件、硬件要求。•用户界面需求:指人机交互方式、输入输出的数据格式等是否友好、便捷等。此外还有:可靠性需求、安全保密要求、用户界面需求、可移值性、可维护性等方面需求。

•调查时可采用以下几种方式:

Page 7: 《 软件工程 》

① ① 与用户交谈,向用户提出问题。与用户交谈,向用户提出问题。② ② 参观用户的工作流程,观察用户的操作。参观用户的工作流程,观察用户的操作。③ ③ 向用户群体发放调查问卷表。向用户群体发放调查问卷表。④ ④ 与同行、专家交谈,听取他们的意见。与同行、专家交谈,听取他们的意见。⑤ ⑤ 分析已经存在的同类软件产品,提取需求。分析已经存在的同类软件产品,提取需求。⑥ ⑥ 从行业标准、规则中提取需求。从行业标准、规则中提取需求。⑦ ⑦ 从从 InternetInternet 上搜索相关资料。上搜索相关资料。 分析员协同程序员通过调查分析,同时可以参考该项目的可行性分析员协同程序员通过调查分析,同时可以参考该项目的可行性

报告和项目开发计划书,来获取报告和项目开发计划书,来获取当前系统的物理模型,可以采用当前系统的物理模型,可以采用系统流系统流程图程图(是用来描述系统物理模型的一种传统工具)表示。 (是用来描述系统物理模型的一种传统工具)表示。 例如:计算例如:计算机售书的系统流程图如下页所示。机售书的系统流程图如下页所示。

Page 8: 《 软件工程 》

计算机售书的系统流程图如下所示计算机售书的系统流程图如下所示

Page 9: 《 软件工程 》

附:

Page 10: 《 软件工程 》
Page 11: 《 软件工程 》

2. 去除非本质因素 , 抽象出当前系统的逻辑模型。

从当前系统的物理模型中去掉非本质因素,如地点、人物等,抽象出当前系统的逻辑模型,可以用数据流图表示。

3. 编写文档( 1 )编写“软件需求规格说明书”:

目标系统的逻辑模型是通过软件需求规格说明书来描述的,该说明书是软件生命周期中一份极为重要的文档,它是对需求分析最终结果的描述,书写应当直观、清晰,易于理解和无二义性。

( 2 )编写“初步用户使用手册”:主要反映软件的用户功能界面和用户使用的具体要求。能强制分析人员从用户使用的观点考虑软件。

( 3 )编写确认测试计划:做为今后确认和验收的依据。( 4 )修改完善软件开发计划:指修改、完善并确定软件开发实施计划。

Page 12: 《 软件工程 》

4. 需求分析复查。

用户在分析员的介绍下,对需求分析结果进行仔细的复查。数据流图和数据字典是帮助复查的极好工具。

5. 需求分析评审和验收。

对整个软件需求分析进行正式评审和验收,是软件需求分析的最后一个环节。评审通过是软件需求分析任务完成的标志。

参加评审的人员有用户、管理部门以及软件设计、编码和测试人员。衡量需求分析是否正确,一般来讲,应从它的正确性、一致性、现实性、有效性等方面来进行验收。

Page 13: 《 软件工程 》
Page 14: 《 软件工程 》

需求分析流程需求分析流程

Page 15: 《 软件工程 》

常用的需求分析的方法常用的需求分析的方法面向数据流面向数据流的结构化分析方法 的结构化分析方法 (SA)(SA)

面向数据结构面向数据结构的的 JacksonJackson 方法 方法 (JSD)(JSD)

面向数据结构面向数据结构的结构化数据系统开发方的结构化数据系统开发方法 法 (DSSD)(DSSD)

面向对象面向对象的分析方法 的分析方法 (OOA) (OOA) 等等

Page 16: 《 软件工程 》

2.3 2.3 数据流分析技术数据流分析技术面向数据流进行需求分析的方法面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析结构化分析方法适合于数据处理类型软件的需求分析具体来说,结构化分析方法就是用具体来说,结构化分析方法就是用抽象模型抽象模型的概念,的概念,按照软件内部按照软件内部数据传递数据传递、、变换变换的关系,的关系,自顶向下逐层自顶向下逐层分解分解,直到找到满足功能要求的所有可实现的软件为,直到找到满足功能要求的所有可实现的软件为止止数据流图( Data Flow Diagram, 简称 DFD )描绘系统的逻辑模型,是结构化系统分析的主要工具。数据数据流图流图 (DFD(DFD)) 是描述软件系统中数据处理过程的一种有是描述软件系统中数据处理过程的一种有力的图形工具。力的图形工具。

Page 17: 《 软件工程 》

数据流图中的主要图形元素数据流图中的主要图形元素

数据加工 数据加工 (( 数据变换数据变换 ))

数据源点或终点 数据源点或终点 (( 外部实体外部实体 ))

数据流数据流

数据存储数据存储

Page 18: 《 软件工程 》

数据流图中的基本符号(最新)

符 号 含 义

数据的源点或终点

数据流

数据存储

加工 ( 变换 )

Page 19: 《 软件工程 》

画数据流图步骤画数据流图步骤

11 、、首先画系统的输入输出,即先画顶层数据首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输这些输入数据从哪里来;有哪些输出数据,输出到哪里去。 出到哪里去。

22 、画系统内部,即画下层数据流图。一般将、画系统内部,即画下层数据流图。一般将层号从0开始编号,采用自顶向下,由外向内层号从0开始编号,采用自顶向下,由外向内的原则。 的原则。

Page 20: 《 软件工程 》

注意事项注意事项

11 、命名。不论数据流、数据存储还是加工,、命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。 合适的命名使人们易于理解其含义。

22 、一般不画物质流。数据流反映能用计算机、一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流 数据流图一般不要画物质流

33 、父图与子图的平衡。子图的输入输出数据、父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据必须一致,流同父图相应加工的输入输出数据必须一致,此即父图与子图的平衡。此即父图与子图的平衡。

Page 21: 《 软件工程 》

33 、局部数据存储。当某层数据流图中的数据、局部数据存储。当某层数据流图中的数据存储不是由图中相应加工的外部接口,而只是存储不是由图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。 据存储为局部数据存储。

44 、提高数据流图的易理解性。注意合理分解,、提高数据流图的易理解性。注意合理分解,要把一个加工分解成几个功能相对独立的子加要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。 的数目,增加数据流图的可理解性。

Page 22: 《 软件工程 》

描述银行取款过程的数据流图描述银行取款过程的数据流图

Page 23: 《 软件工程 》

数据流图的层次结构数据流图的层次结构为了表达数据处理过程的数据加工情况,需为了表达数据处理过程的数据加工情况,需

要采用要采用层次结构层次结构的数据流图。按照系统的层的数据流图。按照系统的层次结构进行次结构进行逐步分解逐步分解,并以分层的数据流图,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理反映这种结构关系,能清楚地表达和容易理解整个系统解整个系统

Page 24: 《 软件工程 》

分层的数据流图分层的数据流图

Page 25: 《 软件工程 》

在多层数据流图中,在多层数据流图中,顶层流图顶层流图仅包含仅包含一个加工一个加工,,它代表被开发系统。它的输入流是该系统的输它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据入数据,输出流是系统所输出数据

底层流图底层流图是指其是指其加工不需再做分解加工不需再做分解的数据流图,的数据流图,它处在最底层它处在最底层

中间层流图中间层流图则表示则表示对其上层父图的细化对其上层父图的细化。它的。它的每一加工可能继续细化,形成子图。每一加工可能继续细化,形成子图。

Page 26: 《 软件工程 》

结构化分析方法步骤示例结构化分析方法步骤示例 商店业务处理系统商店业务处理系统

Page 27: 《 软件工程 》

这个数据流图只是一个高层的系统逻辑模型,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能它反映了目标系统要实现的功能

数据流图绘制步骤数据流图绘制步骤 首先确定系统的输入和输出首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反根据商店业务,画出顶层数据流图,以反映最主要业务处理流程映最主要业务处理流程

Page 28: 《 软件工程 》

经过分析,商店业务处理的经过分析,商店业务处理的主要功能主要功能应当应当有有销售销售、、采购采购、、会计会计三大项。三大项。主要数据流主要数据流输入的源点输入的源点和和输出终点输出终点是是顾客顾客和和供应商供应商。。

然后从输入端开始,根据商店业务工作流然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图到输出端,得到第一层数据流图

Page 29: 《 软件工程 》

第一层数据流图第一层数据流图

Page 30: 《 软件工程 》

加细每一个加工框加细每一个加工框 销售细化销售细化

Page 31: 《 软件工程 》

采购细化采购细化

Page 32: 《 软件工程 》

检查和修改数据流图的原则检查和修改数据流图的原则 数据流图上所有图形符号数据流图上所有图形符号只限于只限于前述四种基前述四种基

本图形元素本图形元素 数据流图的数据流图的主图必须包括前述四种基本元素主图必须包括前述四种基本元素,,

缺一不可缺一不可 数据流图的主图上的数据流必须封闭在外部数据流图的主图上的数据流必须封闭在外部

实体之间实体之间 每个加工每个加工至少有一个输入数据流和一个输出至少有一个输入数据流和一个输出

数据流数据流

Page 33: 《 软件工程 》

在数据流图中,需在数据流图中,需按层给加工框编号按层给加工框编号。。编号表明该加工所处层次及上下层的亲编号表明该加工所处层次及上下层的亲子关系子关系

规定任何一个数据流子图必须与它上一规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即和输出数据流必须一致。此即父图与子父图与子图的平衡图的平衡

可以在数据流图中加入物质流,帮助用可以在数据流图中加入物质流,帮助用户理解数据流图户理解数据流图

Page 34: 《 软件工程 》

图上每个元素都必须有名字图上每个元素都必须有名字数据流图中不可夹带控制流数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力初画时可以忽略琐碎的细节,以集中精力于主要数据流于主要数据流

Page 35: 《 软件工程 》

数据词典数据词典 数据字典数据字典(( Data DictionaryData Dictionary )是关于数据的)是关于数据的

信息的集合,通过数据字典对数据流程图中的各个信息的集合,通过数据字典对数据流程图中的各个元素作精确的定义与说明。它是数据流图的补充工元素作精确的定义与说明。它是数据流图的补充工具。具。

数据词典与数据流图配合,能清楚地表达数据处理数据词典与数据流图配合,能清楚地表达数据处理的要求。二者构成需求规格说明书的主要部分。的要求。二者构成需求规格说明书的主要部分。

词条描述 词条描述 —— —— 对于在数据流图中每一个被命名的对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有图形元素,均加以定义,其内容有 : : 名字名字,,别名别名或编号或编号,,分类分类,,描述描述,,定义定义,,位置位置,,其它其它等。等。

Page 36: 《 软件工程 》

•数据字典的内容及格式

数据字典是为分析人员和用户查找数据流图中有关名字的详细定义而服务的,因此也像其他任何字典一样,要把所有条目按一定次序排列起来,以便查阅。

•数据字典有以下四类条目:数据流、数据项、数据存储、基数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。本加工。其中,数据项是组成数据流和数据存储的最小元素。

1 )数据流条目数据流条目给出了 DFD中数据流的定义,主要部分是列出该数据流的各组成数据项。在定义数据流及数据存储组成时,通常要用到表 2.4给出的符号。

Page 37: 《 软件工程 》
Page 38: 《 软件工程 》

2 )数据存储条目数据存储条目是对数据文件内容的定义,主要内容举例如下:

数据存储名称:学生成绩库

别名:无

组成:学生学号 + 课程编码 + 成绩 + 备注

组织方式:以学号为记录关键字升序排列。

Page 39: 《 软件工程 》

3 )数据项条目数据项条目给出某个数据单项的定义,内容通常为数据项的值类型、允许取值范围等,其定义结构与数据流条目类似。

4 )加工条目加工条目是用来说明 DFD中基本加工的处理逻辑,对其他非基本加工则不必进行加工说明。加工条目主要由输入数据、加工逻辑和输出数据等部分组成,加工逻辑描述把输入数据转换为输出数据的过程,是加工条目的主体。

为了使加工逻辑直观易读,有几种常用的描述方法,它们是为了使加工逻辑直观易读,有几种常用的描述方法,它们是结构化语言、判定表和判定树。结构化语言、判定表和判定树。加工条目内容举例如下:

加工名称:查阅库存

编 号: 1.2

输 入:合格订单

输 出:供货订单或缺货订单

Page 40: 《 软件工程 》

加工逻辑:根据库存记录

IF 订单项目数量 < 该项目库存量的临界值

THEN 可供货处理

ELSE

此订单缺货,登记,待进货后再处理

ENDIF

( 3 )数据字典的实现数据字典的实现

数据字典的建立可以用手工和自动手工和自动两种方式实现。手工方式手工方式是指把每一个字典条目写在卡片上,由专人管理和维护。自自动方式动方式是借助数据字典处理程序,把字典条目输入到计算机中,用计算机对它进行检索和维护。

Page 41: 《 软件工程 》

需求规格说明书编写规范需求规格说明书是在对用户需求分析的基础上,把用户的需求规范化、形式化而编写成的,其目的是为软件开发提出总体要求,作为用户和开发人员之间相互了解和共同开发的基础。它的主要内容包括:( 1 )概述。软件要求的简要说明。

( 2 )界面描述。描述软件系统与其他部分 ( 硬件、软件、人员等 ) 的功能联系。

( 3 )数据流分析。一套完整的分层数据流图和一本完整的数据字典。

( 4 )质量评审要求。

( 5 )其他。

本章以实际项目“ ××社区卫生综合管理系统”的需求分析为综合实例,给出了软件需求规格说明书的编写规范,内容请参看附录三。

Page 42: 《 软件工程 》

数据及数据库需求数据及数据库需求在数据词典中,强调对数据存储结构的在数据词典中,强调对数据存储结构的逻辑设计,并用数据结构表达数据项之逻辑设计,并用数据结构表达数据项之间的逻辑关系。间的逻辑关系。

但任何一个软件系统都可能有成千上万但任何一个软件系统都可能有成千上万个数据项,仅仅描述这些数据项是不够个数据项,仅仅描述这些数据项是不够的,更重要的是如何把它们以最优的方的,更重要的是如何把它们以最优的方式组织起来,以满足系统对数据的要求。式组织起来,以满足系统对数据的要求。

Page 43: 《 软件工程 》

有关数据库的基本概念有关数据库的基本概念在软件系统中需要处理的数据是现实世在软件系统中需要处理的数据是现实世界中存在的事物及其联系的反映。界中存在的事物及其联系的反映。

人们通常将与数据处理有关的的领域分人们通常将与数据处理有关的的领域分为三个世界:为三个世界: 现实世界现实世界 信息世界信息世界 数据世界数据世界

Page 44: 《 软件工程 》

现实世界现实世界是存在于人们头脑之外的客观是存在于人们头脑之外的客观世界,现实世界中的事物可分成世界,现实世界中的事物可分成对象对象和和性质性质两大类。两大类。

对象对象可以是人、是物,还可以是实际的可以是人、是物,还可以是实际的东西或概念的东西,例如,大学、城市东西或概念的东西,例如,大学、城市等。对象还可以指事物与事物间的联系。等。对象还可以指事物与事物间的联系。

性质性质则是指事物的性质或特征。则是指事物的性质或特征。

Page 45: 《 软件工程 》

信息世界信息世界也叫做观念世界,是现实世界也叫做观念世界,是现实世界在人们头脑中的反映。在人们头脑中的反映。

客观世界中的事物在信息世界中叫做客观世界中的事物在信息世界中叫做实实体体,,反映事物之间联系的叫做反映事物之间联系的叫做实体模型实体模型。。

实体是由若干属性的属性值组成实体是由若干属性的属性值组成。。属性属性是实体某一方面的特征,相应于事物的是实体某一方面的特征,相应于事物的性质。例如,一个学生实体是如下的一性质。例如,一个学生实体是如下的一个个 55 元组元组::

( 951149, ( 951149, 袁秋慧袁秋慧 , , 女女 , 19, , 19, 软件软件 ))

Page 46: 《 软件工程 》

55 元组中每一元素是学生的某一属性的属元组中每一元素是学生的某一属性的属性值。他们对应的属性集合是:性值。他们对应的属性集合是:

这些属性集合表征了“学生”实体的类型,这些属性集合表征了“学生”实体的类型,叫做叫做实体型实体型。同一类型的实体的集合叫做。同一类型的实体的集合叫做实体集实体集。。

数据世界数据世界则是信息世界中信息的数据化,则是信息世界中信息的数据化,现实世界中的事物及其联系在数据世界中现实世界中的事物及其联系在数据世界中用数据模型描述。用数据模型描述。

((学号学号 , , 姓名姓名 , , 性别性别 , , 年龄年龄 , , 专业专业 ))

Page 47: 《 软件工程 》

描述每一实体的数据称为描述每一实体的数据称为记录记录,,描述属描述属性的数据叫做性的数据叫做数据项数据项或或字段字段。。

与实体集相对应的称为与实体集相对应的称为文件文件。。例如,学生文件就由多个记录组成,这例如,学生文件就由多个记录组成,这些记录放在一起构成一个二维表。表中些记录放在一起构成一个二维表。表中每一横排叫做一个记录或元组,每一纵每一横排叫做一个记录或元组,每一纵列叫做一个属性。列叫做一个属性。

Page 48: 《 软件工程 》
Page 49: 《 软件工程 》

记录由记录由数据项数据项组成组成,正如实体由若干属,正如实体由若干属性的属性值组成一样。性的属性值组成一样。

一般数据项沿用属性名。用做属性名时一般数据项沿用属性名。用做属性名时表示观念信息,用做数据项名时表示数表示观念信息,用做数据项名时表示数据信息。每个数据项包括两个特征:即据信息。每个数据项包括两个特征:即数据类型数据类型和和数据长度数据长度。。

若干同类型的记录构成若干同类型的记录构成文件文件。。为了对文件中的记录有效组织和存取,为了对文件中的记录有效组织和存取,通常指定一个数据项进行区别,这个数通常指定一个数据项进行区别,这个数据项叫做关键字。据项叫做关键字。

Page 50: 《 软件工程 》

EE--RR 方法 方法 ( Entity( Entity--Relationship Relationship Approach) Approach) 和实体模型和实体模型

在需求分析阶段进行数据库逻辑设计过程在需求分析阶段进行数据库逻辑设计过程中,中,使用使用 EE--RR 图,可定义一 个实体模型图,可定义一 个实体模型。。

实体模型是现实世界的纯表示实体模型是现实世界的纯表示,它不涉及,它不涉及数据世界的数据结构、存取路径、存取效数据世界的数据结构、存取路径、存取效率等问题。因此,它率等问题。因此,它可以转换成数据库中可以转换成数据库中的数据模型的数据模型。。

Page 51: 《 软件工程 》

数据可以按相应数据模型进行组织。数据可以按相应数据模型进行组织。EE--RR 图中表示实体联系的符号如下:图中表示实体联系的符号如下:

Page 52: 《 软件工程 》

在在 EE--RR 图中,每个图中,每个方框方框表示表示实体型实体型或或属性属性,,方框之间的方框之间的连线连线表示表示实体之间实体之间,或,或实体与属性实体与属性之间的联系之间的联系。出现在连线上的短竖线可以看成。出现在连线上的短竖线可以看成是“是“ 1”1” ,而圆圈隐含表示“,而圆圈隐含表示“ 0”0” 。。

例如,在教学管理中,一个教师可以教授零门、例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象(实体型)程。因此,教学管理中涉及的对象(实体型)有有学生学生、、教师教师和和课程课程。。

Page 53: 《 软件工程 》

用用 EE--RR 图描述它们之间的联系,得下图。图描述它们之间的联系,得下图。其中,学生与课程是多对多的联系,而其中,学生与课程是多对多的联系,而教师与课程的联系是一对多。教师与课程的联系是一对多。

Page 54: 《 软件工程 》

进一步,要确定属性。例如,进一步,要确定属性。例如,学生具有学生具有学号学号、、姓名姓名、、性别性别、、年龄年龄、、专业专业

(其它略)等属性;(其它略)等属性;课程具有课程具有课程号课程号、、课程名课程名、、学分学分、、学时数学时数等等属性;属性;

教师具有教师具有职工号职工号、、姓名姓名、、年龄年龄、、职称职称等属性。等属性。此外,学生通过学号、分数与课程发生联系。此外,学生通过学号、分数与课程发生联系。

如此可得教学实体模型。如此可得教学实体模型。

Page 55: 《 软件工程 》

教学实体模型教学实体模型

Page 56: 《 软件工程 》

实体模型中的基本符号(老式)

符号 含 义

表示实体

表示实体间的联系,与实体间的连线上需用数字标明具体的对应关系

表示与实体有关的属性

用于实体、属性及联系的连接

Page 57: 《 软件工程 》

图 2.4 例如:学生和课程之间的 E-R 模型(a) 学生和课程之间的多对多联系 E-R 模型;(b) 将多对多联系转换为一对多联系 E-R 模型

Ñ¡¿Îm n

ѧºÅ

רҵ

Ä꼶

¿ÎÃû¿ÎºÅ

ѧʱ

1 n

ѧºÅ

רҵ

¿ÎÃû¿ÎºÅ

ѧʱ

ѧºÅ ¿ÎºÅ

n 1

ÐÕÃû

¿Î³Ì

ѧÉú

ÐÕÃû

¿Î³Ì

ѧ·Ö

ѧÉú

Ä꼶

Ñ¡¿Îµ¥

ѧ·Ö

(a)

(b)

Page 58: 《 软件工程 》

数据库分析的过程数据库分析的过程

在需求分析阶段进行数据库分析的流程在需求分析阶段进行数据库分析的流程

Page 59: 《 软件工程 》

小结 : 1 、 掌握需求分析的任务及过程,掌握进行需求分析时要使用的几种工具(系统流程图、数据流图和数据字典, E-R 图)。

2 、了解软件需求规格说明书的书写规范 。

作业: P32 1~3上机一:用 Visio 软件画书上的 DFD 。

Page 60: 《 软件工程 》

谢谢使用谢谢使用本课件本课件 !!