软件工程模型与方法 05、结构化需求分析.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程模型与方法 05、结构化需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程模型与方法 05、结构化需求分析.ppt(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软件工程模型与方法 Models&Methods of SE第五章 结构化需求分析肖丁肖丁 2本章内容本章内容u5.1 结构化需求分析的由来u5.2 结构化分析模型的组成u5.3 数据建模u5.4 功能建模u5.5 行为建模u5.6 数据词典u5.7 软件需求规格说明书35.1 结构化需求分析的由来结构化需求分析的由来u分析建模的开始于20世纪60-70年代,但结构化分析方法的第一次出现是作为另一个重要课题“结构化设计”的附属品。u其目的是需要一种图形符号体系来表示数据和对数据进行变换的处理,这些处理最终能被映射到软件体系结构的设计中。u结构化分析这个词汇最初由Douglas Ross提出,由
2、DeMarco进行了推广。45.2 分析模型的结构分析模型的结构u需求分析的分析模型必须达到三个主要目标:描述客户的需求;建立创建软件设计的基础;定义在软件完成后可以被确认的一组需求。55.3 数据建模数据建模u概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。其表示方法称为实体-关系法,也称为实体关系模型。u它描述了从用户角度看到的数据,反映了用户的现实环境,但与在软件系统中的实现方法无关。u软件系统本质上是信息处理系统,即对数据进行处理的系统,因此在开发过程中必须考虑以下两方面的问题:“数据”需要有哪些数据?数据之间有什么联系?数据本身有什么性质?数据结构等 对数
3、据的“处理”对数据进行哪些处理?每个处理的逻辑功能是什么?65.3.1 数据建模的作用数据建模的作用u数据建模反映了与任何数据处理应用相关的一组特定问题:系统处理哪些主要的数据对象?每个数据对象的组成如何?而且哪些属性描述了这些数据对象?这些数据对象当前位于何处?每个数据对象与其他数据对象有哪些关系?数据对象和变换它们的处理之间有哪些关系?75.3.2 数据对象数据对象u数据对象描述包括了数据对象的名称及其所有属性。通常将数据对象简称为“实体”,其具体表现可以是:外部实体:产生或使用消息的任何事物;事物:例如建筑物、汽车等物体;事件:例如警报;角色:例如老师、学生、销售等;组织单位:例如学校教
4、务处、财务处等;地点:例如仓库、停车场等;结构:例如文件、档案等。85.3.3 数据对象的属性和关系数据对象的属性和关系u每个数据对象都具有一些区别于其他数据对象的特征和性质,这些特征称为数据对象的属性。它可用于:命名数据对象;描述数据对象实例;建立与其它数据对象的联系;u数据对象之间可以存在某种特定的连接,称之为数据对象的关系。u关系是由被分析问题的语境定义的。95.3.4 数据对象的基数数据对象的基数u数据建模的基本元素:数据对象、属性和关系提供了理解问题信息域的基础,但还必须了解数据对象之间出现的次数有无必然的联系,即实体-关系对的基数。u基数通常简单地表达为“一”或“多”。考虑到“一”
5、和“多”的所有组合,两个实体可能的关联如下:一对一:例如人和身份证件的关系;一对多:例如父母与孩子的关系;多对多:例如学生和老师的关系;105.3.5 实体关系图实体关系图uER图的主要目的是以图形的形式表示实体与实体之间的关系。uER图最初是由Peter Chen为关系数据库系统的设计提出的,标识了一组基本的构件:实体、属性、关系。u例如,教学管理系统中的教师、学生和课程之间的关系115.3.6 数据结构规范化数据结构规范化u数据对象之间的基数关系,在关系型数据库中就会造成数据存储的冗余现象。为了消除数据冗余,就需要对实体-关系图中的数据进行规范化处理,即数据范式。u数据结构的规范化有以下好
6、处:消除多义性:使关系中的属性含义清楚、单一;关系单纯化:让每个数据项只是简单的数或字符串,方便操作。使数据的插入、删除与修改操作可行且方便;使关系模式更灵活:易于实现接近自然语言的查询方式。125.3.7 范式简介范式简介u通常来说第一范式的数据冗余程度最大,随着范式提高数据冗余会随之变小。u然而范式级别越高,存储同样数据就需要分解成越多张表,因此“存储自身”的过程也就越复杂。u随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,为此在需求发生变化时数据的稳定性随之下降。除此之外,范式级别的提高则需要访问的表增多,因此性能或处理速度将下降。135.3.8 三范式三范式
7、u第一范式(1FN):关系中所有属性都是“单纯域”,即不出现“表中有表”;表的每一行只包含一个实例的信息。u第二范式(2FN):非主属性完全函数依赖于关键字;首先必须满足1FN,然后要求表中的每个实例或行必须可以被唯一地区分。需要添加一个实例的唯一标识列,称为主关键字或主键、主码。u第三范式(3FN):在满足第二范式的基础上,要求非主属性相互独立,即任何非主属性间不存在函数依赖。145.4 功能建模功能建模u当数据或信息“流”过计算机系统时将会被系统的功能所处理、加工或变换后再将处理或变换后的数据从系统输出。u基于计算机的系统可被表示为数据流图的基本结构:155.4.1 数据流图的结构数据流图
8、的结构u数据流图可以被用来抽象地表示系统或软件,既能提供功能建模的机制。u也可提供数据流建模的机制,并可以自顶向下的机制表示层级的功能细节和数据变换细节。u从数据流图中可知,数据流图有四种基本元素:165.4.2 数据流与加工的关系数据流与加工的关系其中星号“*”表示相邻的一对数据流同时出现;“”则表示相邻的两数据流只取其一。175.4.3 分层的数据流图分层的数据流图u为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。顶层数据流图:顶层流图仅包含一个加工,它代表被开发系统,其作用在于表明被开发系统的范围,以及它和周围环境的数据交换关系。中间层数
9、据流图:表示对其上层父图的细化。它的每一加工可以继续细化,形成子图。中间层次的多少视系统的复杂程度而定。底层数据流图:是指其加工不须再做分解的数据流图,其加工称为“原子加工”。185.4.4 分层数据流图的两种表示分层数据流图的两种表示195.4.5 数据流图的绘制步骤数据流图的绘制步骤u画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。具体步骤可按如下来做:1.先找系统的数据源点与汇点。它们是外部实体,由它们确定系统与外界的接口。2.找出外部实体的输出数据流与输入数据流。3.在图的边上画出系统的外部实体。4.从外部实体的输出数据流(即系统的源点)出发,按照系统的逻辑需
10、要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流(即系统的汇点),形成数据流的封闭。5.按照下面所给的原则进行检查和修改。6.按照上述步骤,再从各加工出发,画出所需的子图。205.4.5.1 医院就诊管理系统例子医院就诊管理系统例子u假设,该系统涉及医院的三个部门:挂号、问诊、交费和取药。挂号挂号:挂号处的挂号人员接受病人的就诊请求,根据门诊科室各医生的病人的排队情况,分配合适科室和医生,记录并打印挂号凭据,收取挂号费完成挂号请求。问诊问诊:医生根据挂号的次序对病人进行病情诊断,根据挂号单据及病历号获取该病人的历史病历,然后将问诊结果记录在病历当中并开具相应的处方(处方中可根据系统
11、提供的药品进行选择),打印处方交给病人完成一次问诊。交费取药交费取药:病人在收费处根据挂号单据和处方所列出的药品种类和数量进行交费,取得相应的药品完成一次看病流程。215.4.5.2 顶层的数据流图顶层的数据流图225.4.5.3 第一层数据流图第一层数据流图235.4.5.4 第二层数据流图第二层数据流图245.4.6 检查和修改数据流图的原则检查和修改数据流图的原则u数据流图上所有图形符号只限于前述四种基本图形元素。数据流图上所有图形符号只限于前述四种基本图形元素。u数据流图的主图必须包括前述四种基本元素,缺一不可。数据流图的主图必须包括前述四种基本元素,缺一不可。u数据流图的主图上的数据
12、流必须封闭在外部实体之间,外部实体可以数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不只一个。不只一个。u每个加工至少有一个输入数据流和一个输出数据流。每个加工至少有一个输入数据流和一个输出数据流。u在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。以及上下层的父图与子图的对应关系。u任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。它表明了在细据流和输出数据流
13、必须一致。此即父图与子图的平衡。它表明了在细化过程中输入与输出不能有丢失和强加。化过程中输入与输出不能有丢失和强加。u图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加工做什么事情。工做什么事情。u一般情况下,数据流图中不可夹带控制流。因为数据流图是实际业务一般情况下,数据流图中不可夹带控制流。因为数据流图是实际业务流程的客观表现,说明系统流程的客观表现,说明系统“做什么做什么”而不是要表明系统而不是要表明系统“如何做如何做”,因此不是系统的执行顺序,不是程序流程图。,因此不是系统的执行顺序,不是程序流程图。255.4.7实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程模型与方法 05、结构化需求分析 软件工程 模型 方法 05 结构 需求 分析
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内