SE03第3章结构化分析课件.ppt

上传人:牧羊曲112 文档编号:1288081 上传时间:2022-11-04 格式:PPT 页数:62 大小:844.21KB
返回 下载 相关 举报
SE03第3章结构化分析课件.ppt_第1页
第1页 / 共62页
SE03第3章结构化分析课件.ppt_第2页
第2页 / 共62页
SE03第3章结构化分析课件.ppt_第3页
第3页 / 共62页
SE03第3章结构化分析课件.ppt_第4页
第4页 / 共62页
SE03第3章结构化分析课件.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《SE03第3章结构化分析课件.ppt》由会员分享,可在线阅读,更多相关《SE03第3章结构化分析课件.ppt(62页珍藏版)》请在三一办公上搜索。

1、1/56,第二篇:传统软件工程方法学,第3章 结构化分析第4章 结构化设计第5章 结构化实现,第二篇:传统软件工程方法学第3章 结构化分析,2/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,3/56,3.1 概述,需求分析研究对象:软件项目的用户要求需求分析的任务:建立分析模型 编写需求说明 需求分析的过程需求获取(问题识别)需求提炼(求精) 需求描述(建模、规格说明)需求验证(复审),3.1 概述需

2、求分析研究对象:软件项目的用户要求,4/56,软件需求内容,软件需求包括三个不同的层次业务需求用户需求功能需求 *非功能需求,软件需求内容软件需求包括三个不同的层次,5/56,从不同的角度来看,需求具有不同的层次,即业务需求、用户需求、功能需求和非功能需求等以一个字处理程序为例业务需求可能是:“用户能有效地纠正文档中的拼写错误”对应的用户需求可能是“找出文档中的拼写错误并通过一个提供的替换项列表来供选择替换拼错的词”该拼写检查器还有许多功能需求,如找到并高亮度提示错词的操作;显示提供替换词的对话框以及实现整个文档范围的替换,从不同的角度来看,需求具有不同的层次,即业务需求、用户需求、,6/56

3、,非功能需求(non-functional requirement)从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求包括过程需求、产品需求和外部需求过程需求有交付、实现方法和标准等需求产品需求包含性能、可用性、实用性、可靠性、可移植性、安全保密性、容错性等方面的需求外部需求有法规、成本、操作性等需求,非功能需求(non-functional requireme,7/56,需求分析模型,模型 为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。它通常由一组图形符号和组织这些符号的规则组成。结构化分析须建模型:数据模型功能模型行为模型,需求分析模型模型,8/5

4、6,问题识别,参考当前系统建立目标系统模型,解决目标系统 “做什么” 的问题。,问题识别参考当前系统建立目标系统模型,解决目标系统 “做什么,9/56,结构化分析方法,面向数据流进行需求分析的方法具体说:用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止适合于数据处理类型软件的需求分析工具:实体-关系图、数据流图、状态转化图、数据字典,结构化分析方法 面向数据流进行需求分析的方法,10/56,结构化分析准则,必须理解和表示问题的信息域 建立数据模型必须定义软件应完成的功能 建立功能模型必须表示作为外部事件结果的软件行为 建立行为模型

5、必须对描述信息、功能和行为的模型进行分解用层次的方式展开细节分析过程应该从要素信息移向实现细节,结构化分析准则必须理解和表示问题的信息域,11/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,12/56,3.2 与用户通信的技术3.2.1 访谈(会谈),正式访谈(提出事先准备好的问题)非正式访谈(可自由回答的开放式问题)分发调查表(准确、有针对性)情景分析(对用户运用目标系统解决某个具体问题的方法和结果

6、进行分析),3.2 与用户通信的技术3.2.1 访谈(会谈)正式访谈(,13/56,3.2.2 简易的应用规格说明技术,主流技术:面向团队的需求收集法 (联合需求计划JRP)基本准则在中立地点举行由开发者和用户双方出席的会议制定准备会议和参加会议的规则提出议事日程(涵盖要点、鼓励自由思维)由“协调人”主持会议使用“定义机制”(工作表、图表)目标:标识问题、提出方案、商讨方法、指定初步需求,3.2.2 简易的应用规格说明技术主流技术:面向团队的需求收,14/56,基本方法及过程,初步访谈,对问题及解决方案形成总体认识开发者与用户同写“产品需求”选定会议时间、地点、协调人、双方代表会议前将“产品需

7、求”分发给每位与会者复审形成议题列表:系统功能、性能、约束条件小组讨论议题列表,形成小型规格说明讨论小型规格说明,形成产品的确认标准讨论产品的确认标准,起草完整的规格说明,基本方法及过程初步访谈,对问题及解决方案形成总体认识,15/56,会议设施,会议设施,16/56,SE03第3章结构化分析课件,17/56,3.2.3 软件原型,要点实现主要的、可见的功能省略“隐含”功能特性快速(“做什么”)易于修改方法和工具4GT(DB查询语言、应用系统生成器)可重用软件构件形式化规格说明和原型环境,3.2.3 软件原型要点,18/56,第3章 结构化分析(Structured Analysis, SA)

8、,结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,19/56,3.3 分析建模与规格说明3.3.1 分析建模,基本目标描述用户的需求为软件设计工作奠定基础定义一组需求(以此为标准验收产品)分析模型的结构,3.3 分析建模与规格说明3.3.1 分析建模基本目标,20/56,分析模型的结构,分析模型的结构,分析模型的元素,数据字典(DD):核心(软件使用和产生的所有数据对象)实体-关系图(ERD):描述数据对象之间的关系数据流图(DFD) 指明数据在系统中移动时怎样被变换描述变换数

9、据流的功能和子功能DFD中每个功能的描述在“处理规格说明”中状态转换图(STD) 指明作为外部事件结果的系统行为,分析模型的元素数据字典(DD):核心(软件使用和产生的所有数,22/56,3.3.2 软件需求规格说明,需求规格说明:分析阶段的最终成果通过建立完整的信息描述详细的功能和行为描述性能需求和设计约束的说明合适的验收标准给出目标软件的各种需求简略大纲作为软件需求规格说明的框架,3.3.2 软件需求规格说明需求规格说明:分析阶段的最终成果,23/56,软件需求规格说明大纲,.引言 A.系统参考文献 B.整体描述 C.软件项目约束 .信息描述 A.信息内容 B.信息流 1.数据流 2.控制

10、流 .功能描述 A.功能分解 B.功能描述1.处理说明 2.限制 3.性能需求 4.设计约束 5.支撑图 C.控制描述 1.控制规格说明 2.设计约束 .行为描述 A.系统状态 B.事件和动作 .确认标准 A.性能范围 B.测试种类 C.期望的软件响应 D.特殊的考虑 .参考书目 .附录,软件需求规格说明大纲 .引言,24/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,25/56,3.4 实体关系图(

11、Entity-Relationship Diagram, ERD),ERD用于数据建模(data modeling)数据模型包含信息数据对象描述数据对象的属性数据对象之间相互连接的关系,3.4 实体关系图(Entity-Relationshi,26/56,3.4.1 数据对象,数据对象:需被目标系统所理解的复合信息的表示。复合信息是具有若干不同特征或属性的事物数据对象举例:外部实体(显示器)事物(报表)角色(学生)行为(打电话)事件(单击鼠标)单位(研究生院)地点(教室)结构(文件)只封装了数据,不包含作用于这些数据上的操作,3.4.1 数据对象数据对象:需被目标系统所理解的复合信息的,27/

12、56,3.4.2 属性,属性:定义了数据对象的性质。属性用途:为数据对象的实例命名;描述该实例;引用另一个数据对象的实例。如学生数据对象的属性可以有学号、姓名、性别、出生年月、籍贯等。必须将数据对象的一个属性或几个属性定义为“标识符”,即当希望找到数据对象的某个实例时,标识符属性成为关键字(key),书写为_id。例如在“学生”数据对象中用“学号”做关键字,3.4.2 属性属性:定义了数据对象的性质。,28/56,3.4.3 关系,关系:数据对象彼此之间相互连接的方式。如学生“张鹏”选修课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。关联种类: 一对一(1:1); 一对

13、多(1:N); 多对多(M:N)。如1位教师带30位同学,就是1:N的关系。关联可能有属性如学生“学”某门课程所取得的“成绩”,3.4.3 关系关系:数据对象彼此之间相互连接的方式。,29/56,实例的关联有三种:一对一 (1:1); 一对多(1:m);多对多(n:m)。这种实例的关联称为“基数”。基数表明了“重复性”。,实例的关联有三种:一对一 (1:1); 一对多(1:m);多,30/56,3.4.4 实体关系图(ERD),ERD 作用:用于建立数据模型(ER模型)ERD基本成分实体(数据对象)(矩形框)属性(椭圆形或圆角矩形)关系(菱形框)学校教学管理(成绩管理) ERD,3.4.4 实

14、体关系图(ERD)ERD 作用:用于建立数据,31/56,某学校教学管理ERD,某学校教学管理ERD,32/56,教学数据模型,学号 姓名 专业 性别 ,学生,职工号姓名专业职称年龄,教师,课程号 课程名 学分 学时 ,课程,学号课程号成绩,选课,教学数据模型学号 姓名 专业 性别 学生,33/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,34/56,3.5 数据流图( Data Flow Diagr

15、am, DFD),最初,结构化分析方法仅讨论数据流建模。目标系统被表示成如图所示的数据变换流程图。系统的功能体现在核心的数据变换中。,3.5 数据流图( Data Flow Diagram,35/56,功能建模与数据流图,功能建模的基本思想: 用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型:使用 DFD 来表达数据流从输入到输出的移动变换过程。,功能建模与数据流图功能建模的基本思想:,36/56,数据流图(DFD),DFD从信息传递和处理的角度,以图形的方式描绘信息流和数据从输入移动到输出的过程中所经受的变换DFD可以

16、按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节DFD中没有物理元素,是系统逻辑功能的图形表示DFD既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型,数据流图(DFD)DFD从信息传递和处理的角度,以图形的方式,37/56,3.5.1 数据流图符号四种基本符号及其含义,3.5.1 数据流图符号四种基本符号及其含义,38/56,表明多个数据流与加工之间关系的符号,表明多个数据流与加工之间关系的符号,39/56,分层DFD,分层DFD,40/56,SE03第3章结构化分析课件,41/56,SE03第3章结构化分析课件,42/56,3.5.2 DFD例

17、子:定货系统 (需求描述),一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。每个需要再次定货的零件应列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的终端将事务报告给定货系统。当某种零件的库存量少于库存量临界值时就应该再次定货。,3.5.2 DFD例子:定货系统 (需求描述)一家工厂的采购,43/56,完成DFD的步骤及要点,从问题描述中提取DFD的四种成分:数据源点和终点处理(加工)数据流和存储不是所有数据存储和数据流都能直接从问题描述中提取出来按自外向内、自顶向下、逐层细化、完善求

18、精的方法画出DFD当进一步分解涉及如何具体实现一个功能时就不应该再分解了对DFD层细化时必须保持信息连续性,完成DFD的步骤及要点从问题描述中提取DFD的四种成分:,44/56,表3.1,表3.1,45/56,基本系统模型,基本系统模型,46/56,功能级数据流图,功能级数据流图,47/56,系统主要功能进一步细化后的DFD,系统主要功能进一步细化后的DFD,48/56,3.5.3 命名,数据流和数据存储(名词或名词性短语)名字应代表其整个内容而非其某些成分不使用空洞的、缺乏具体含义的名字处理(及物动词宾语) 先为数据流命名,再为与之关联的处理命名名字应反映整个处理的功能而非其部分功能仅包含一

19、个动词,否则应分解处理数据源点/终点(问题域习惯使用的名词),3.5.3 命名数据流和数据存储(名词或名词性短语),49/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured Analysis,50/56,3.6 状态转换图( STD ),STD:通过描述系统的状态及引起系统状态转换的事件,来表示系统的行为。状态:任何可以被观察到的系统行为模式,它规定了系统对事件的响应方式。一个状态代表系统的一种行为模式。事件:引起系统状态转

20、换的控制信息。系统对事件的响应:动作或改变系统状态,3.6 状态转换图( STD )STD:通过描述系统的状态及,51/56,STD 符号表示,圆形或椭圆形框-系统状态(框内标注状态名)箭头线-状态转换方向(线上标注事件名)实心圆-初始状态同心圆-最终状态,STD 符号表示圆形或椭圆形框-系统状态(框内标注状态名,52/56,例子:电话系统STD,例子:电话系统STD,53/56,第3章 结构化分析(Structured Analysis, SA),结构化分析过程和准则与用户通信获取用户需求的方法分析建模与规格说明实体-关系图数据流图状态转化图数据字典,第3章 结构化分析(Structured

21、 Analysis,54/56,3.7 数据字典(Data Dictionary,DD),DD:所有与系统相关的数据元素的有组织的列表,它包含了对这些数据元素的精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。目的:分析模型中包含了对数据对象、功能和控制的表示。每一表示中,数据对象和控制信息都有重要作用。为表示每个数据对象和控制信息的特性,建立DD 。,3.7 数据字典(Data Dictionary,DD)D,55/56,DD内容(词条描述),名字:数据、控制项、数据存储或外部实体的主要名称。别名:第一项中对象的其他名字。使用地点与方式:使用数据或控

22、制项的处理的列表,以及使用这些对象的方式。内容描述:描述数据或控制项内容的符号。补充信息:关于数据类型、预置值、限制等。对象?加工?数据流?数据文件?外部实体?控制项(事件状态)?,DD内容(词条描述)名字:数据、控制项、数据存储或外部实体的,56/56,DD内容(内容描述),定义数据的方法自顶向下分解数据当无须进一步定义、相关人员都清楚其含义时结束分解数据元素组成数据的方式顺序:A+B选择:A|B重复:1An可选:(A),DD内容(内容描述)定义数据的方法,57/56,DD内容(数据结构描述),符 号 含 义 举 例 被定义为/等价于 和 x = ab.,. 或 .|. 或 x = a,b,

23、x = a|b . 或 m.n 重复 x = a, x = 3a8(.) 可选 x = (a)“.” 基本数据元素 x = “a” . 连结符 x = 1.9,DD内容(数据结构描述) 符 号 含 义,限制重复次数举例,限制重复次数举例 35 或53 表示允许重复3-5次,F1:航班信息文件航空公司名称航班号起点终点日期 起飞时间降落时间航空公司名称2字母4 字母“A”“Z” 航班号3十进制数字3十进制数字“0”.“9”起点终点1汉字10 日期年月日 年2000201920192019 月“01” .“12” 日“01”.“31” 起飞时间降落时间时分 时“00”.“23” 分“00”.“59

24、”,补充例题DD实例:航班信息文件,F1:航班信息文件航空公司名称航班号补充例题DD实例:,重复项:起点终点1汉字10 航空公司名称2字母4 航班号3十进制数字3 组合项:日期年月日 起飞时间降落时间时分选择项:年2000201920192019原数据项:字母“A”.“Z” 十进制数字“0”.“9” 时“00”.“23” 分“00”.“59” 月“01”.“12” 日“01”.“31”,航班信息文件,重复项:起点终点1汉字10航班信息文件,61/56,3.8 小结,传统SE方法学使用结构化分析技术完成用户需求分析的工作需求分析过程:发现、求精、建模、规格说明、复审发现需求(发现+求精):访谈、简易应用规格说明技术、快速原型描述需求(ERD、DFD、STD、DD、规格说明),3.8 小结传统SE方法学使用结构化分析技术完成用户需求分析,62/56,THANK YOU!,THANK YOU!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号