结构化与面向对象的需求分析与设计课件

上传人:我*** 文档编号:144914717 上传时间:2020-09-14 格式:PPT 页数:72 大小:550KB
返回 下载 相关 举报
结构化与面向对象的需求分析与设计课件_第1页
第1页 / 共72页
结构化与面向对象的需求分析与设计课件_第2页
第2页 / 共72页
结构化与面向对象的需求分析与设计课件_第3页
第3页 / 共72页
结构化与面向对象的需求分析与设计课件_第4页
第4页 / 共72页
结构化与面向对象的需求分析与设计课件_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《结构化与面向对象的需求分析与设计课件》由会员分享,可在线阅读,更多相关《结构化与面向对象的需求分析与设计课件(72页珍藏版)》请在金锄头文库上搜索。

1、结构化与面向对象的需求分析与设计,蒋 建 民 博士 () 福建师范大学数学与计算机学院,目 录,面向数据流的需求分析 面向数据流的设计 面向对象的需求分析 面现对象的设计,目 录,面向数据流的需求分析 数据建模和ERD 功能建模和DFD 行为建模(略) 面向数据流的设计 面向对象的需求分析 面现对象的设计,1、结构化分析方法 结构化分析方法是一种建模技术 基于计算机的系统是数据流和一系列的转换构成的 在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。围绕着这个核心的有三种图: ERD、DFD、STD 2、分析模型的组成 数据建模和对象描述 功能建模和数据流图 基本加工逻

2、辑说明 行为建模 数据词典,面向数据流的分析方法概述,ERD 用于数据建模 DFD用于功能建模 STD用于 行为建模,结构化分析的分析模型,数据流图(DFD) 描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能); 实体关系图(ERD) 描述数据对象及数据对象之间的关系; 状态迁移图(STD)描述系统对外部事件如何响应,如何动作。,数据建模及ER图,1、数据建模:数据模型包括三种互相关联的信息 数据对象, 描述对象的属性, 描述对象间相互连接的关系。 2、数据对象:是需被目标系统所理解的复合信息的表示。它具有若干不同特征或属性的信息。 数据对象可以是外部实体,事物,

3、角色,行为或事件, 组织单位, 地点或结构。 数据对象只封装了数据,没有包含作用于这些数据上的操作。,3、属性:定义了数据对象的特征。它可用来: 为数据对象的实例命名; 描述这个实例; 建立对另一个数据对象的另一个实例的引用 主码:为了唯一地标识数据对象的某一个实例,定义数据对象中的一个属性或几个属性为关键码 (key),书写为_id, 例如在“学生”数据对象中用“学号”做关键码,它可唯一地标识一个“学生”数据对象中的实例 4、关系:各个数据对象的实例之间有关联。 如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。,数据建模及ER图,实例的关联有

4、三种:一对一 (1:1); 一对多(1:m);多对多(n:m)。 这种实例的关联称为“基数”。基数表明了“重复性”。如 1 位教师带学生班的 30 位同学,就是 1:m 的关系。 但也有 1 位教师带 0 位同学的情形, 所以实例关联有是“可选”还是“必须” 之分。用“O”表示关系是可选的,用“”表示关系必须出现 1 次。这表明了关系的“参与性”。,E-R图:段描述数据对象和它们之间的关系图 E-R图中表示实体关联的符号如下,4、E-R图(Entity-Relationship Diagram),一个X与一个Y相关联,一个X与一个或多个Y相关联,一个X与零个或一个Y相关联,一个X与零个, 一个

5、或多个Y相关联,一个X与一个Y或Z相关联,一个X与一个Y与Z相关联,在E-R图中,每个方框表示数据对象或属性,方框之间的连线表示数据对象之间,或对象与属性之间的关联。出现在连线上的短竖线可以看成是“1”,而圆圈隐含表示“0”。 举例:教学管理系统 教师-学生-课程ER图 一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。涉及的对象(实体型)有学生、教师和课程。,由于“多对多”的关联在计算机表达时有困难,引入“选课”对象作为关联对象,可将“多对多”的关联改为 两个“一对多”的关联。,确定属性:为每一个数据对象建立数据对象表,描述其属性,如此可得“教学”数据模型。 学生:学号、姓名

6、、性别、出生年月、专业 课程:课程号、课程名、学分、学时数等属性; 教师:职工号、姓名、年龄、职称等属性。,1、功能建模:用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 2、数据流图:根据DeMarco的论述,功能模型使用了数据流图来表达系统内数据的运动情况,而数据流的变换则用结构化英语、判定表与判定树来描述。 3、数据流图中的主要图形元素 数据加工(数据处理、数据变换、转换) 数据源点或终点 (外部实体) 数据流 数据存储文件,功能建模和数据流图DFD,描述银行取款过程的数据流图,为了表达数据处理过程的数据加工情况,需要采用

7、层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统 在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据 底层流图是指其加工不需再做分解的数据流图,它处在最底层 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,数据流图的层次结构,分层的数据流图,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能 数据流图绘制步骤 首先确定系统的输入和输出(系统的边界) 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程(封闭) 经过分

8、析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图(从左到右),商店业务处理系统,第一层数据流图,加细每一个加工框(不封闭)销售细化,加细每一个加工框 采购细化,DFD上所有图形符号只限于前述四种基本元素 DFD主图必须包括前述四种基本元素,缺一不可 DFD的主图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流 在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系 规定任何一个数据流子图必须

9、与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡 可以在数据流图中加入物质流,帮助用户理解 图上每个元素都必须有名字,编号 数据流图中不可夹带控制流 初画时可以忽略琐碎细节,以集中精力于主要数据流 一个处理逻辑,在下一层分解时不宜超过9个处理逻辑 不要表现分支条件和循环,数据流程图的注意点,目 录,面向数据流的需求分析 面向数据流的设计 概述 变换映射 事务映射 面向对象的需求分析 面现对象的设计,面向数据流的设计方法,面向数据流的设计的方法,就是通常所说的结构设计法,是根据需求阶段对数据流的分析设计软件结构。 需求阶段对数据流的分析一般用数据流图和数据字典

10、表示。 面向数据流的设计方法根据数据流图的特性定义两种映射: 变换流映射 事务流映射 这两种映射能机械地将数据流图转换为程序结构,基本概念和设计过程,设计过程 首先研究、分析和审查数据流图。 从软件的需求规格说明中弄清数据流加工的过程,修改数据流图,明确新系统做什么?确定新系统的逻辑模型(要点),去除掉非本质的因素 这个处理逻辑是否必须这样? 这个数据存储是否一定需要?这个数据的流向是否合理? 确定新系统在DFD中变化部分 将DFD分解成没有变化的部分,和将有变化的部分 重新分析将有变化的部分DFD (需凭经验重新分解该处理) 确定人机边界,重画数据流图; 区分有效(逻辑)输入、有效(逻辑)输

11、出和中心变换部分; 进行一级分解,设计上层模块; 进行二级分解,设计输入、输出和中心变换部分的中、下层模块。,设计过程,传入模块 从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。 传出模块 从上级模块获得数据,进行某些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。 变换模块 它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。它加工的数据流叫做变换数据流。 协调模块 对所有下属模块进行协调和管理的模块。,系统结构图,变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。 相应于取得数据、变换数据、

12、给出数据,变换型系统结构图由输入、中心变换和输出等三部分组成。,变换型系统结构图,进行一级分解方法,进行二级分解方法,它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。 在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。各事务处理模块并列。每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模块。,事务型系统结构图,事务分析的映射方法,目 录,面向数据流的需求分析 面向数据流的设计 面向对象的需求分析 UML概述 用例模型 领域模型 顶层架构模型 面现对象的设计,UML 概述,UML是 Unified Mod

13、eling Language 缩写,面向对象的分析与设计(OOA 其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围; 第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。,UML 构成,UML由视图(views)、图(diagrams)、模型元素(Model elements)、通用机制(general mechanism)等构成,图,视 图,UML,UML总结,基于UML的需求分析,需求分析步骤 利用用例

14、及用例图表示需求 从业务要求描述出发获取执行者和场景 对场景进行汇总、分类、抽象,形成用例 确定执行者与用例、用例与用例的关系,生成用例图 利用包图及类图表示目标软件系统的总体框架结构 根据领域知识、业务需求和既往经验设计目标软件的顶层架构 从业务需求提取“关键概念”,生成类图 以上两步骤可以并行展开,用例模型,用例模型的构成 执行者 用例 用例与执行者的关系 用例与用例的关系 子系统(可选),执行者,执行者(Actor):是指外部用户或外部实体在系统中扮演的角色 定义 是直接与系统相互作用的系统、子系统或类的外部实体的抽象。它是用户所扮演的角色,是系统的用户。每个参与者定义了一个角色集合。通

15、常,一个参与者可以代表一个人、一个计算机子系统、硬件设备或者时间等角色。典型的参与者如销售部经理、销售员和结帐系统。 图形表示 用小人图符表示,用例,定义 对一组动作序列的描述,系统通过执行这一组动作序列为参与者产生一个可观察的结果 用例特征 说明了系统具有的一种行为模式 说明了一个参与者与系统执行的一个相关的事件序列 提供了一种获取系统需求的方法 提供了一种与最终的用户和领域专家进行沟通的方法 提供了一种测试系统的方法 图形表示 用椭圆形表示,事件流 事件流是用例完成需求行为的事件描述。 事件流的目的是建立用例中逻辑流程的文档,详细描述系统用户的工作和系统本身的工作,既包括正常状态下系统完成

16、需求行为的事件,也包括在其他状态下不能完成需求行为的事件。 事件流通常包括: 简要说明 前置条件 事件流 后置条件 事件流一般用UML活动图来描述,用例,关系,执行者与用例的关系:触发执行和信息交换 用例与用例的关系 包含(使用,include):在基用例之上插入附加行为,并且具有明确的描述,包含公共用例 扩展(extend):在基用例上插入基用例不能说明的扩展部分 泛化:用例之间的一般和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性 关联:执行者与执行的用例之间存在通信路径,例子,用活动图表示用例的事件流,UML活动图 一个在学校首次报名的 UML 活动图,用例的活动图表示,建立顶层架构,顶层架构是对软件系统建立结构和分划 UML包图是表示顶层架构的适当机制 1 UML包图 包是对类进行分组的一种机制 包的划分是实现“分而治之”的重要手段 将关系比较密切的关联类分在一个包中 包与包的关系 依赖 构成 用连接器来表示包与包交换信息,包图的例子,架构模式 流程处理模式 客户/服务器模式 模型视图控制器模式 分层模式 需要综合考虑的因素 包的数量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号