软件工程课件 第三章

上传人:san****019 文档编号:69732080 上传时间:2019-01-14 格式:PPT 页数:55 大小:406KB
返回 下载 相关 举报
软件工程课件 第三章_第1页
第1页 / 共55页
软件工程课件 第三章_第2页
第2页 / 共55页
软件工程课件 第三章_第3页
第3页 / 共55页
软件工程课件 第三章_第4页
第4页 / 共55页
软件工程课件 第三章_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《软件工程课件 第三章》由会员分享,可在线阅读,更多相关《软件工程课件 第三章(55页珍藏版)》请在金锄头文库上搜索。

1、2019年1月14日星期一,Software Enginerring,1,软件工程 (Software Engineering),第三章 需求分析,2019年1月14日星期一,Software Enginerring,2,需求分析概述,需求(requirement)分析基本任务是对目标系统提出完整、准确、清晰、具体的要求。 需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。,2019年1月14日星期一,Software Enginerring,3,需求分析概述,软件需求:指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 需求分析:包括调研、建模。 调研:需求获取、

2、需求捕捉。 分析:功能建模、信息建模和行为建模。 需求规格说明书:对分析结果的形式描述。 需求规格说明是软件设计、实现、测试直至维护的主要基础。,2019年1月14日星期一,Software Enginerring,4,需求分析的任务,基本任务:准确回答:“系统必须做什么?”-对目标系统提出完整、准确、清晰、具体的要求。,2019年1月14日星期一,Software Enginerring,5,确定对系统的综合要求,系统功能要求:确定系统必须完成的所有功能。 系统性能要求:如系统联机响应时间、吞吐率、可靠性、安全性、易用性(操作简便)等。 运行要求:系统运行时所处环境的要求,如硬件平台、软件平

3、台、网络环境、通信接口等。 扩展性要求:应明确列出将来可能会提出来的扩展要求。这是设计目标系统时要考虑的因素。,2019年1月14日星期一,Software Enginerring,6,数据需求-数据建模,任何一个软件系统,其本质都是信息处理系统,信息处理的要求决定了系统的性质。因此,分析系统的数据要求是需求分析的一项重要任务。 分析系统的数据要求包括: 建立数据模型:主要是数据概念模型 数据结构规范化:减少冗余、避免操作错误 建立数据字典:全面准确地定义数据。,2019年1月14日星期一,Software Enginerring,7,逻辑建模-功能建模,功能建模就是对系统“做什么”进行完整、

4、准确地描述。 结构化分析 :数据流图和数据字典。 业务分析 :用例模型。 面向对象分析 :领域对象模型。,2019年1月14日星期一,Software Enginerring,8,需求分析的步骤,1、需求获取:识别用户需求 通过调研,获取用户对系统的功能需求和非功能需求。 2、需求分析:全面、准确理解用户需求 通过对用户需求分析和综合,消除用户需求的模糊性、歧义性和不一致性。建立系统逻辑(功能)模型。 3、需求描述:准确地表达用户的需求 用规范化的语言和格式生成需求规格说明。 4、需求文档评审 通过对需求规格说明等文档进行技术审查和管理复审,确保需求描述与软件合同的要求的一致性,确保软件需求的

5、全面性、精确性和一致性。,2019年1月14日星期一,Software Enginerring,9,前一页,需求分析过程,借助当前系统的逻辑模型导出目标系统的逻辑模型。,2019年1月14日星期一,Software Enginerring,10,前一页,需求分析的步骤,1、获得当前系统的物理模型:当前系统是怎样做的。 表达工具:组织结构图、业务流程图、系统流程图 2、抽象出当前系统的逻辑模型:当前系统做了什么 表达工具:数据流程图。 3、建立目标系统的逻辑模型:对当前系统的逻辑模型进行调整,加进变化的部分和对目标系统的新要求部分,得到目标系统的逻辑模型。-系统功能模型 表达工具:数据流程图、用

6、例模型、类&对象模型。 4、确定用户对目标系统的约束(性能需求、安全性、可靠性、可操作性等)-系统行为模型,2019年1月14日星期一,Software Enginerring,11,需求分析方法,1、结构化分析方法 SA-Structured Analisys 2、面向对象分析方法 OOAObject_Oriented Analysis,2019年1月14日星期一,Software Enginerring,12,结构化分析方法,通过数据的加工变换与传递把它们有机地连成一个整体。 结构化分析方法是面向数据流的、自顶向下逐步求精进行需求分析的方法。 数据流图:从数据加工的角度来描述一个组织的业务

7、活动。数据流图就是系统逻辑模型的一种图形表示。结构化分析方法就是基于数据流的分析方法。 自顶向下逐步求精是结构化系列方法的核心和精髓,其基本思想是按问题的概念抽象级从高到低逐层分解和展开。 结构化分析方法特别适合数据处理类型软件的需求分析。利用图形来表达需求,显得清晰简明,易于学习和掌握。 使用的工具有:数据流图、数据字典。,2019年1月14日星期一,Software Enginerring,13,基本图形符号,2019年1月14日星期一,Software Enginerring,14,基本图形符号说明,数据源点 :发出(产生)数据的地方,数据的发源地。 数据终点 :数据的归缩。 处理框 :

8、代表一个处理。 数据存储 :静止状态的数据,是需要长期保存的数据。 数据流 :运动状态的数据。 数据流的方向:从加工加工 加工数据存储 数据存储加工 源点加工 加工终点 数据流图的基本要点是描述“做什么”,而不考虑“怎么做”。,2019年1月14日星期一,Software Enginerring,15,数据流图绘制,基本思想: 自外向内,自顶向下,逐层求精 即从抽象到具体的过程。开始画出的数据流图中的加工比较抽象,只大概知道“做什么”,具体应该“做什么”还比较模糊,还必须进一步描述(细化),直到每个数据流和数据存储包含的具体内容是什么,每个加工应该怎样实现,都基本清楚为止。,2019年1月14

9、日星期一,Software Enginerring,16,前一页,数据流图的画法,具体步骤: 1、先找系统数据源点和汇点,确定系统与外界的接口。 2、找出外部实体的输出数据流和输入数据流。 3、在图的边上画出系统的外部实体。 4、从外部实体的输出数据流(汇点)出发进行回溯,按照系统的逻辑逐步画出一系列的逻辑加工,直到找到外部实体所需的输入数据流(源点),形成数据流的封闭。 5、检查和修改所画数据流图,保证数据流图的正确性。 6、按照上述步骤,再从各加工出发,画出所需子图。,2019年1月14日星期一,Software Enginerring,17,数据流图细化的方法,1、改变原图:把原图的某一

10、加工扩展成几个加工。 2、原图不变,把某一个加工用分图进行进一步描述。这种分解称为分层细化(分解)。 数据流图细化基本原则是:每一个加工应完成的功能在分析员和用户之间都不会产生模糊不清的看法为止,即每个加工如何去实现已心中有数。,2019年1月14日星期一,Software Enginerring,18,前一页,数据流图细化的方法,分层分解的原则: 1、主图必须包含四种基本元素,缺一不可,并且必须封闭在外部实体之间。 2、一张流图应该在一张纸上画完,加工不应超过9个(72)。 3、各加工的抽象级应该相同。 4、对流图的细分,必须保持信息的连续性,即把一个加工分解成多个加工时,分解前后的输入输出

11、数据流必须相同。 5、流图各层分解加工的标识,应前后对照,保持一致性,如1.1,1.2 ,2.1,2.2,。,2019年1月14日星期一,Software Enginerring,19,应用实例,例:一家工厂采购部每天需要一张定货报表,报表中列出所有需要再定货的零件。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统,当某种零件的库存量少于库存临界值时,就应该产生定货。,2019年1月14日星期一,Software Enginerring,20,应用实例(续1),定货系统至少要做两项工作:事务处理和产生报表。,2019年1月14日星期一,Software Enginerri

12、ng,21,前一页,应用实例(续2),“事务处理”既要接受输入、又要更新库存记录,还要确定产生订货信息,显得过于复杂,可以对其进行分解。重画原图:细化加工“事务处理”,2019年1月14日星期一,Software Enginerring,22,应用实例(续3),用子图细画“事务处理”,2019年1月14日星期一,Software Enginerring,23,数据流(数据存储)命名,名字应代表整个数据流(或数据存储)的内容。 不要用空洞的、泛指意义的名字,要有具体含义。 如果对某个数据流命名有困难时,应重新分解。,2019年1月14日星期一,Software Enginerring,24,前一

13、页,数据处理命名,名字应反映整个处理的功能。 名字最好由一个具体的及物动词加上一个具体的宾语组成。 通常名字中只包括一个动词。 如果对某个处理命名有困难时,应重新分解 。,2019年1月14日星期一,Software Enginerring,25,数据字典,数据字典:对数据流图中的所有元素的定义的集合。 数据流图和数据字典一起才能构成系统的规格说明。 数据字典的内容: 数据流 数据元素 数据存储 处理,2019年1月14日星期一,Software Enginerring,26,数据字典-数据流的定义,2019年1月14日星期一,Software Enginerring,27,数据字典-数据元素

14、的定义,2、 数据元素:数据结构由数据元素组成,数据元素是数据处理中最小的、不可再分的单位。 数据元素应包含的信息: 数据元素名: 别名: 数据类型: 长度 取值范围: 位置:相关的数据结构 ,2019年1月14日星期一,Software Enginerring,28,数据字典-数据存储的定义,数据存储-文件 数据文件名: 数据文件组成:数据结构 数据来源 数据去处 存储方式:顺序、直接、关键字 存取频率 简述:存储的是什么数据 ,2019年1月14日星期一,Software Enginerring,29,前一页,数据字典-数据结构的定义,数据结构的定义:描述数据结构的组成 (1)定义式 数据

15、结构名=数据项1+数据项2+数据项n 数据定义使用的符号: = 定义为 + 和:连接两个分量 选择:表示从中选择一项。 重复:表示由0个或多个组成。 m n 重复:表示至少出现m次,至多出现n次。 ( ) 可选:表示其中的内容可出现,也可不出现。,2019年1月14日星期一,Software Enginerring,30,数据字典-数据处理的定义, 加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能描述 输入数据流: 输出数据流: 加工逻辑:简述加工程序,加工顺序 IPO图,2019年1月14日星期一,Software Enginerring,31,前一页,应用实例, 数据流名称:事务 描述:仓库的一次进库或出库操作称为事务。 定义:事务=零件编号+零件名称+类型+数量 数据来源:仓库管理员,事物接收(加工) 数据去向:仓库管理员-事务接收-更新库存请单 流通量:每天平均20次 数据流名称:库存信息 别名:零件库存量 描述:通过一次更新库存请单操作后,对应零件的当前库存量 定义:库存信息=零件编号+零件名称+库存量 数据来源:更新库存请单(加工) 数据去向:定货处理(加

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

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

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