SE03第3章结构化分析

上传人:zw****58 文档编号:51720950 上传时间:2018-08-16 格式:PPT 页数:62 大小:1.11MB
返回 下载 相关 举报
SE03第3章结构化分析_第1页
第1页 / 共62页
SE03第3章结构化分析_第2页
第2页 / 共62页
SE03第3章结构化分析_第3页
第3页 / 共62页
SE03第3章结构化分析_第4页
第4页 / 共62页
SE03第3章结构化分析_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《SE03第3章结构化分析》由会员分享,可在线阅读,更多相关《SE03第3章结构化分析(62页珍藏版)》请在金锄头文库上搜索。

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

2、不同的角度来看,需求具有不同的层次,即业务需 求、用户需求、功能需求和非功能需求等n以一个字处理程序为例n业务需求可能是:“用户能有效地纠正文档中的拼写错误”n对应的用户需求可能是“找出文档中的拼写错误并通过一个 提供的替换项列表来供选择替换拼错的词”n该拼写检查器还有许多功能需求,如找到并高亮度提示错 词的操作;显示提供替换词的对话框以及实现整个文档范 围的替换6/56非功能需求(non-functional requirement)n从各个角度对系统的约束和限制,反映了应用对 软件系统质量和特性的额外要求n包括过程需求、产品需求和外部需求n过程需求有交付、实现方法和标准等需求n产品需求包含

3、性能、可用性、实用性、可靠性、可移 植性、安全保密性、容错性等方面的需求n外部需求有法规、成本、操作性等需求7/56需求分析模型n模型为了理解事物而对事物做出的一种抽象,是对事 物的一种无歧义的书面描述。它通常由一组图形 符号和组织这些符号的规则组成。n结构化分析须建模型:n数据模型n功能模型n行为模型8/56问题识别n参考当前系统建立目标系统模型,解决目 标系统 “做什么” 的问题。9/56结构化分析方法 n面向数据流进行需求分析的方法n具体说:用抽象模型的概念,按照软件内 部数据传递、变换的关系,自顶向下逐层 分解,直到找到满足功能要求的所有可实 现的软件为止n适合于数据处理类型软件的需求

4、分析n工具:实体-关系图、数据流图、状态转化 图、数据字典10/56结构化分析准则n必须理解和表示问题的信息域建立数据模型n必须定义软件应完成的功能建立功能模型n必须表示作为外部事件结果的软件行为建立行为模型n必须对描述信息、功能和行为的模型进行 分解用层次的方式展开细节n分析过程应该从要素信息移向实现细节11/56第3章 结构化分析 (Structured Analysis, SA)n结构化分析过程和准则n与用户通信获取用户需求的方法n分析建模与规格说明n实体-关系图n数据流图n状态转化图n数据字典12/563.2 与用户通信的技术 3.2.1 访谈(会谈)n正式访谈(提出事先准备好的问题)

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

6、表n会议前将“产品需求”分发给每位与会者复审n形成议题列表:系统功能、性能、约束条件n小组讨论议题列表,形成小型规格说明n讨论小型规格说明,形成产品的确认标准n讨论产品的确认标准,起草完整的规格说明15/56会议设施16/5617/563.2.3 软件原型n要点n实现主要的、可见的功能n省略“隐含”功能n特性n快速(“做什么”)n易于修改n方法和工具n4GT(DB查询语言、应用系统生成器)n可重用软件构件n形式化规格说明和原型环境18/56第3章 结构化分析 (Structured Analysis, SA)n结构化分析过程和准则n与用户通信获取用户需求的方法n分析建模与规格说明n实体-关系图

7、n数据流图n状态转化图n数据字典19/563.3 分析建模与规格说明 3.3.1 分析建模n基本目标n描述用户的需求n为软件设计工作奠定基础n定义一组需求(以此为标准验收产品)n分析模型的结构20/56分析模型的结构分析模型的元素数据字典(DD):核心(软件使用和产生的所有数据对象)实体-关系图(ERD):描述数据对象之间的关系数据流图(DFD) 指明数据在系统中移动时怎样被变换描述变换数据流的功能和子功能DFD中每个功能的描述在“处理规格说明”中状态转换图(STD)指明作为外部事件结果的系统行为22/563.3.2 软件需求规格说明n需求规格说明:分析阶段的最终成果n通过建立n完整的信息描述

8、n详细的功能和行为描述n性能需求和设计约束的说明n合适的验收标准 给出目标软件的各种需求n简略大纲作为软件需求规格说明的框架23/56软件需求规格说明大纲. .引言引言 A.系统参考文献 B.整体描述 C.软件项目约束.信息描述信息描述 A.信息内容 B.信息流 1.数据流 2.控制流 .功能描述功能描述 A.功能分解 B.功能描述1.处理说明2.限制 3.性能需求 4.设计约束 5.支撑图 C.控制描述 1.控制规格说明 2.设计约束.行为描述行为描述 A.系统状态 B.事件和动作.确认标准确认标准 A.性能范围 B.测试种类 C.期望的软件响应 D.特殊的考虑.参考书目参考书目. .附录附

9、录24/56第3章 结构化分析 (Structured Analysis, SA)n结构化分析过程和准则n与用户通信获取用户需求的方法n分析建模与规格说明n实体-关系图n数据流图n状态转化图n数据字典25/563.4 实体关系图 (Entity-Relationship Diagram, ERD)nERD用于数据建模(data modeling)n数据模型包含信息n数据对象n描述数据对象的属性n数据对象之间相互连接的关系26/563.4.1 数据对象n数据对象:需被目标系统所理解的复合信息的表示。 复合信息是具有若干不同特征或属性的事物n数据对象举例:n外部实体(显示器)n事物(报表)n角色(

10、学生)n行为(打电话)n事件(单击鼠标)n单位(研究生院)n地点(教室)n结构(文件)n只封装了数据,不包含作用于这些数据上的操作数据对象彼 此间是有 关联的!27/563.4.2 属性n属性:定义了数据对象的性质。n属性用途: 为数据对象的实例命名; 描述该实例; 引用另一个数据对象的实例。n如学生数据对象的属性可以有学号、姓名、性别、出 生年月、籍贯等。n必须将数据对象的一个属性或几个属性定义为“标识符” ,即当希望找到数据对象的某个实例时,标识符属性成 为关键字(key),书写为_id。n例如在“学生”数据对象中用“学号”做关键字28/563.4.3 关系n关系:数据对象彼此之间相互连接

11、的方式。n如学生“张鹏”选修课程“软件工程”与“计算机网络”,学生 与课程的实例通过“选修”关联起来。n关联种类: 一对一(1:1); 一对多(1:N); 多对多(M:N)。n如1位教师带30位同学,就是1:N的关系。n关联可能有属性n如学生“学”某门课程所取得的“成绩成绩”29/56 实例的关联有三种:一对一实例的关联有三种:一对一 (1:1)(1:1); 一对多一对多 (1:m)(1:m);多对多;多对多(n:m)(n:m)。 这种实例的关联称为这种实例的关联称为“ “基数基数” ”。基数表明了。基数表明了“ “重重 复性复性” ”。教师学生管带基数基数: :一位教师一位教师 基数基数:

12、:多位学生多位学生参与度参与度: :必须必须 参与度参与度: :可选可选30/563.4.4 实体关系图(ERD)nERD 作用:用于建立数据模型(ER模型)nERD基本成分n实体(数据对象)(矩形框)n属性(椭圆形或圆角矩形)n关系(菱形框)n学校教学管理(成绩管理) ERD31/56某学校教学管理ERD32/56教学数据模型教学数据模型学号 姓名 专业 性别 学生职工号姓名 专业 职称 年龄教师课程号 课程名 学分 学时 课程学号学号课程号课程号 成绩成绩选课33/56第3章 结构化分析 (Structured Analysis, SA)n结构化分析过程和准则n与用户通信获取用户需求的方法

13、n分析建模与规格说明n实体-关系图n数据流图n状态转化图n数据字典34/563.5 数据流图 ( Data Flow Diagram, DFD) n最初,结构化分析方法仅讨论数据流建模。 目标系统被表示成如图所示的数据变换流程 图。系统的功能体现在核心的数据变换中。 外部实体外部实体外部实体外部实体目标 系统输入信息输入信息输出信息输出信息35/56功能建模与数据流图n功能建模的基本思想:用抽象模型的概念,按照软件内部数据传 递、变换的关系,自顶向下逐层分解,直 到找到满足功能要求的所有可实现的软件 为止。n功能模型: 使用 DFD 来表达数据流从输入到输出的移 动变换过程。36/56数据流图

14、(DFD)nDFD从信息传递和处理的角度,以图形的方式描绘信 息流和数据从输入移动到输出的过程中所经受的变换nDFD可以按自顶向下、逐步分解的方法表示内容不断 增加的数据流和功能细节nDFD中没有物理元素,是系统逻辑功能的图形表示nDFD既提供了功能建模的机制,也提供了信息流建模 的机制,从而可以建立起系统或软件的功能模型37/563.5.1 数据流图符号 四种基本符号及其含义38/56表明多个数据流与加工之间关系的符号 39/56分层DFD40/5641/5642/563.5.2 DFD例子:定货系统 (需求描述)n一家工厂的采购部每天需要一张定货报表,报 表按零件编号排序,表中列出所有需要

15、再次定 货的零件。n每个需要再次定货的零件应列出下述数据:零 件编号、零件名称、定货数量、目前价格、主 要供应者、次要供应者。n零件入库或出库称为事务,通过放在仓库中的 终端将事务报告给定货系统。当某种零件的库 存量少于库存量临界值时就应该再次定货。43/56完成DFD的步骤及要点n从问题描述中提取DFD的四种成分:n数据源点和终点n处理(加工)n数据流和存储n不是所有数据存储和数据流都能直接从问题描述中 提取出来n按自外向内、自顶向下、逐层细化、完善求精的方 法画出DFDn当进一步分解涉及如何具体实现一个功能时就不应 该再分解了n对DFD层细化时必须保持信息连续性44/56表3.145/56

16、基本系统模型46/56功能级数据流图47/56系统主要功能进一步细化后的DFD48/563.5.3 命名n数据流和数据存储(名词或名词性短语)(名词或名词性短语)n名字应代表其整个内容而非其某些成分n不使用空洞的、缺乏具体含义的名字n处理(及物动词宾语)(及物动词宾语)n 先为数据流命名,再为与之关联的处理命名n名字应反映整个处理的功能而非其部分功能n仅包含一个动词,否则应分解处理n数据源点/终点(问题域习惯使用的名词)(问题域习惯使用的名词)49/56第3章 结构化分析 (Structured Analysis, SA)n结构化分析过程和准则n与用户通信获取用户需求的方法n分析建模与规格说明n实体-关系图n数据流图n状态转化图n数据字典50/563.6 状态转换图( STD )

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

当前位置:首页 > 高等教育 > 教育学

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