软件工程第四章结构化需求分析.ppt

上传人:本田雅阁 文档编号:3302292 上传时间:2019-08-10 格式:PPT 页数:50 大小:485.55KB
返回 下载 相关 举报
软件工程第四章结构化需求分析.ppt_第1页
第1页 / 共50页
软件工程第四章结构化需求分析.ppt_第2页
第2页 / 共50页
软件工程第四章结构化需求分析.ppt_第3页
第3页 / 共50页
软件工程第四章结构化需求分析.ppt_第4页
第4页 / 共50页
软件工程第四章结构化需求分析.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《软件工程第四章结构化需求分析.ppt》由会员分享,可在线阅读,更多相关《软件工程第四章结构化需求分析.ppt(50页珍藏版)》请在三一文库上搜索。

1、第5章 结构化分析建模,阳王东,主要内容,需求分析建模 结构化需求分析 面向数据的建模方法 面向数据流的建模方法 案例分析,需求分析,需求分析的任务就是准确地指出“软件目标产品必须做什么? 需求分析模型的目的是为基于计算机系统提供必须的信息、功能和行为域的说明。 模型是对系统某个方面的抽象,抛弃了具体细节,对系统中最突出的特征作简化,需求分析建模,用户需求一般用自然语言描述 软件系统需求必须用较专业的方式来描述。 需求分析建模就是要把自然语言描述的用户需求转换为计算机分析语言描述的分析模型。,用户需求,分析模型,自然语言,计算机分析语言,需求分析,结构化分析方法,结构化分析(SA,Struct

2、ured Analysis)方法是20世纪70年代,由E.Yourdon等人倡导的一种适用于大型数据处理系统的、面向数据流的需求分析方法。 结构化需求分析方法特征: 在开始建立分析模型之前先理解问题。 以业务流程为中心来理解用户需求。 使用多个需求分析视图,建立数据、功能和行为模型。,结构化分析模型,系统模型从以下不同的角度表述系统: 从外部来看,它是对系统分析上下文或系统环境建模; 从行为上看,它是对系统行为建模; 从结构上看,它是对系统的体系结构和系统处理的数据结构建模。 结构化的需求分析模型有: 系统行为模型: 数据流模型,用来描述系统中的数据处理过程 状态转换模型,用来描述系统如何对事

3、件做出响应 实体关系模型:关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。,结构化分析模型结构,结构化分析模型结构,分析模型结构的核心是数据字典(DD,Data Dictionary),包含了软件使用或生产的所有数据对象描述的中心库。 分析模型结构的中间层有三种视图: 数据流图(DFD,Data Flow Diagram)服务于两个目的:一是指明数据在系统中移动时如何被变换,二是描述对数据流进行变换的功能和子功能。 实体关系图(E-RD,Entity-Relationship Diagram)描述数据对象间的关系,用来进行数据建模活动的记号。 状态转换图(STD,State

4、Transition Diagram)指明作为外部事件的结果,系统将如何动作。,面向数据的建模方法,系统建模的一个重要方面就是要定义系统处理的逻辑结构。 最广泛采用的数据建模技术是实体-关系模型,它描述数据实体、关联及实体属性。 实体关系模型可用ERD(Entity-Relationships Diagram实体关系图)来表示: 实体 关联 实体属性 基数,实例分析:出卷系统,实例分析:出卷系统,试卷由一组题目组成,而题目来自试卷库中被挑选的题目。试卷根据出卷要求选择项目。这些实体的属性给出如下: 试题:编号、科目、题干、题干图、答案、答案图、题型、知识点、难度、抽取时间 试卷:编号、科目、出

5、卷人、年级、性质、总分、难度、题目* 出卷要求、总分、总难度、总题型、总知识点 题目:编号、题干、题干图、答案、答案图、题型、知识点、难度,实例分析:图书馆系统,实例分析:图书馆系统,实体:图书、借书者、管理员、借书目录、预约记录、书目 属性给出如下: 借书者:借书者编号、姓名、性别、借书数、最大借书数、罚金金额、有限期 图书:图书号、书目号 书目:书目号、书名、作者、出版社、丛书名、收藏数、在馆数、预约数 借书记录:图书号、借书者编号、借出日期、应还日期、续借次数 预约记录:书目号、借书者编号、预约日期,实例分析:POS机系统,实例分析:POS机系统,实体有销售记录、支付记录、商品、商品描述

6、 关联: 销售包含一组商品; 每个商品都有相应的描述信息; 每个支付对应一个销售。 实体的属性: 销售:编号、总价、1商品*,日期 支付:编号、支付方式、支付金额、支付客户、找零、销售编号 商品:编号、数量 商品描述:名称、产地、厂家、单价,面向数据流的建模,面向数据流的建模是结构化需求分析方法之一 采用自顶向下逐层分解,描绘满足用户要求的软件模型 表示: 数据流图:描述系统处理过程 数据字典:模型中的数据信息集合 状态转换图:描述系统对内部或外部事件响应的行为模型,数据流图的符号,A输入-C或B,或C和B,*,+,*,+,A和B同时输入-C,存在A或B输入-C,A输入-C和B,1、数据源点和

7、终点; 2、数据处理 3、数据流 4、数据存储,数据流图的组成要素,组成要素 数据源点:产生数据的地方 数据终点:数据的最终消费者 数据处理:数据的加工过程 数据流:在系统中进行流动的数据。 数据存储:存储数据的地方。 产品的生产和消费过程 数据源点:工人 数据终点:消费者 数据处理:包装、运输、销售、配送 数据流:产品 数据存储:仓库,数据流图的分析步骤,找出数据流图的四种组成要素:数据的源点和终点、数据处理、数据存储、数据流。 画出基本系统模型。基本系统模型是把软件系统看作一个整体单元,它与外部环境的数据交互关系。 画出功能级模型。把系统划分出几个主要的数据处理步骤,描述系统内部之间的数据

8、流动关系 数据流图细化。对数据处理进行进一步细化,形成详细的数据流图,数据流图的分析原则,先全局后局部 有外及内 层层细化 数据有始有终,实例1:在线考试系统(1),数据源点/终点 试题输入者 考生 考试信息录入者 评卷系统 报名系统 处理 生成试题 定制考试 组卷 考试 数据流 试题、试卷 考试信息 答题信息 考生信息 数据存储 试题库 答卷 考试 考生信息库,实例1:在线考试系统(2),基本系统模型 功能级模型,实例1:在线考试系统(3),实例2:网上电子商务(1),数据源点/终点 商品信息发布者 商品订购者 系统管理员 支付机构 处理 发布商品信息 订购商品 支付 数据流 商品目录 订单

9、 数据存储 商品信息 订单信息 用户信息,实例2:网上电子商务(2),基本系统模型 功能级模型,实例2:网上电子商务(3),实例3:医院门诊管理系统(1),数据源点/终点 病人 医生 医院工作人员 处理 挂号 就诊 划价、取药 数据流 电子病历 药品信息 数据存储 药品库 病历表 医生信息,实例3:医院管理系统(2),基本系统模型 功能级模型,补充医院相应工作人员参与的数据流过程,数据流图分析总结,分析步骤 找出数据流图四要素 确定系统基本模型图 确定功能级数据流图 对数据流图进行细化 注意事项 从实际业务处理流程入手 尽量如实反映手工操作过程 尽量采用业务领域语言描述 以数据流为线索,而非以

10、操作方法为线索 要有全局整体观念 遵循简单原则,数据字典,数据字典是分析模型中出现的所有名字的一个集合,并包括有关命名实体的描述 数据字典有以下两个作用: 它是所有名字信息管理的有效机制 作为连接软件分析、设计、实现和进化阶段的开发机构的信息存储 数据字典应该由四类元素的定义组成: 数据流 数据流分量 数据存储 处理 对于处理,可用输入处理输出(IPO,Input-Process-Output)视图描述更方便,数据字典,应对组成的数据元素定义进行自顶向下的分解。 分解的原则是:当包含的元素不需要进一步定义,且每个和工程有关的人都清楚时为止 数据字典中应该包括关于数据的信息: 一般信息(名字、别

11、名、描述等) 定义(数据类型、长度、结构等) 使用特点(值的范围、使用频率、使用条件、使用方式、条件值等) 控制信息(用户、使用特点、改变数、使用权等) 分组信息(文档结构、从属结构、物理位置等) 三种类型的任意组合定义数据字典中的任何条目。 顺序:顺序连接两个或多个分量元素。一般用加号表示顺序连接关系。 选择:从两个或多个可选的分量元素中选取一个。选择运算符用方括号表示,对于多个可供选择的元素,用“|”符号分隔。例如,A-1 | A-2 | A-3 表示三个可选数据元素。 重复:描述的分量元素重复零次或多次。例如,1A5 都表示数据元素A的下限为1,上限为5。,数据字典卡片方式示例,出卷系统

12、的实体-关系图,数据字典举例,名称:试卷 别名:无 描述:试卷信息 定义:试卷=试卷编号+课程名+出卷人+时间+总分+难度+试题 试卷编号=1字符串10 课程名=1字符30 出卷人=1字符8 时间=日期 总分=整数,数据字典举例,名称:出卷要求 别名:要求 描述:出卷的卷面要求 定义:出卷要求=总分+总难度+总题型+总知识点 总分=整数 总难度=难分数比例+中分数比例+易分数比例 总题型=1题型分数比例* 总知识点=1知识点分数比例* 位置:自动出卷,手动出卷,设置出卷要求,数据字典举例,名称:试题 别名:题目 描述:题库中的题目 定义:试题=试题编号+题干+题干图+答案+答案图+题型+难度+

13、知识点+抽取时间 试题编号=1字符10 题干=1字符200 题干图文件名=30字符40 答案=1字符200 答案图文件名=30字符40 题型=【|选择|填空|简答|改错|应用|】 难度=【|难|中|易|】 知识点=【|】 抽取时间=日期 位置:自动出卷,手动出卷,题库系统,加工逻辑的描述,加工逻辑也称为过程说明,用于描述数据流图中加工逻辑的处理算法或过程 用以下三种工具: 过程描述语言(PDLProcedural Description Language) 判定表 判定树,判定表,例如:图书馆数据流图中有一个“借书”的加工,指的是读者借书时,要根据读者的情况确定不同的借书类别。 加工逻辑为:

14、如果读者为教师,借书在8本以内,可以办理借书; 如果读者为学生,借书在5本以内,可以办理借书; 如果读者为教师;所有书库的书均能办理借书。 如果读者为学生;借的书为教师书库的书不能办理借书。 所借的书为珍藏版,需要进行抵押借书。,判定表,提取问题中的条件:读者类别、借书数目、书的类别。 标出条件的取值,判定表,计算所有条件的组合数N。N= =233 提取可能争取的动作或措施。适用于可以借书、不能借书和抵押借书共四种。 制作判定表 完善判定表 缺少判定采取的动作 有冗余的列,制作判定表,合并后的判定表,判定树,判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用,借书数目8,普通书

15、可以借,教师书库书不能借,不能借,不能借,5 借书数目,借书数目5,确保读者类别,学生,教师,珍藏版可以借要抵押,借书数目8,普通书可以借,教师书库书可以借,珍藏版可以借要抵押,系统行为建模,系统的行为模式体现为一系列的状态变化。 状态转换图(STD),状态图分析准则,状态:状态为一种相对稳定系统行为。 初始态、终止态和中间状态 状态为数据对象的一个属性值 事件:触发系统动作的消息。 用户事件、系统事件 符号 状态符号表:状态名、状态变量值和活动表 活动表:事件名(参数表)/活动表达式,状态图符号,状态1,状态变量1,活动表1,状态2,状态变量2,活动表2,初始事件,事件表达式,终止事件,画状

16、态图的步骤,找出系统中状态变化的目标对象 状态必须对应目标对象的某个属性 确定该属性的可能取值,从而确定目标对象的所有状态 确定事件类型(外部事件、用户行为、时间触发等),电话系统状态图,闲置,拨号音,Timer=0,Do/响拨号音且增加timer,拨号,接通中,Do/试接听,振铃,Do/振铃,通话,断线,忙音,Do/响忙音,存储的信息,Do/播放信息,超时,Do/响蜂鸣音,挂断电话,挂断电话,拿起话筒,数字,超时,有效号码,已接通,受话人回话,受话人挂断电话,无效号码,数字,占线,信息播完,小结,结构化分析方法是一种自顶向下,逐步分解的面向数据和数据流的建模方法。 面向数据的建模以实体、关系和属性三个基本元素描述系统,涉及数据及其它们之间的关系,用ERD表示。 基于数据流的方法用于描述数据如何在系统中流动或被变换,用数据流图、数据字典、加工规程等形式表示。,作业,针对ATM系统 ER模型 面向数据流建模 手写,打印无效 下周交,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1