软件工程教学课件 第四章

上传人:w****i 文档编号:94562677 上传时间:2019-08-08 格式:PPT 页数:58 大小:327.50KB
返回 下载 相关 举报
软件工程教学课件 第四章_第1页
第1页 / 共58页
软件工程教学课件 第四章_第2页
第2页 / 共58页
软件工程教学课件 第四章_第3页
第3页 / 共58页
软件工程教学课件 第四章_第4页
第4页 / 共58页
软件工程教学课件 第四章_第5页
第5页 / 共58页
点击查看更多>>
资源描述

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

1、第4章 需求分析,软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 在本章首先我们介绍需求分析的基础,然后介绍结构化需求分析方法,最后介绍其它分析方法与图形工具分析方法。,第4章 需求分析,4.1 需求分析基础,4.4 实体关系图,4.6 本章小结,4.5 需求规格说明与评审,4.3 其它分析方法与图形工具,4.2 结构化分析方法,4.1 需求分析基础,4.1.1 分析的任务与原则,4.1.2 初步需求获取技术,4.1.3

2、需求建模,4.1.4 开发原型系统,4.1.1 分析的任务与原则,软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。需求分析任务与其实现步骤如图4.1所示。 需求分析可分为需求提出、需求分析描述及需求评审三个阶段。,图4.1 需求提出和分析的结果,需求提出,需求提出主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人

3、员之间充当合同。,需求分析描述,在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。 分析人员的主要做法是:要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。,需求评审,在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦

4、发现遗漏或模糊点,必须尽快更正,再行检查。,4.1.2 初步需求获取技术,为了完成软件需求任务,分析人员必须掌握一些基本技术,主要有: 初步需求获取技术、需求建模、以及用于需求分析的快速原型技术;一些公共的技术包括:采访、观察、先前的系统版本的测试和系统分析。,作为一个好的需求获取技术的显著特征是:,方便通信(可以通过易于理解的语言)。 提供定义系统模块的方法。 鼓励分析员用问题空间的术语而不是软件术语去思考问题和编制文档。 允许并提醒分析员有多种可供选择的设计方案。 适应需求的变化。,4.1.3 需求建模,由于用户群体的各个用户往往会从不同的角度、不同的抽象级别上阐述他们对原始问题的理解和对

5、目标软件的需求,因此,有必要为原始问题及目标软件解建立模型。这种模型一方面用于精确地记录用户从各个视点、不同抽象级别上对原始问题及目标软件的描述;另一方面,它也将帮助分析人员去伪存真、由此及彼、由表及里挖掘用户需求。,建模的步骤是:,(1)获得当前系统的物理模型 (2)抽象出当前系统的逻辑模型。 (3)建立目标系统的逻辑模型。,图4.2 软件需求建模的任务,4.1.4 开发原型系统,快速原型方法核心思想是:在软件开发的早期快速建立目标软件的原型,让用户对原型进行评估并提出修改意见,当原型几经改进最终确定后,它将由软件设计和编码阶段进化成软件产品;或者设计和编码人员遵循原型所确立的外部特征实现软

6、件产品。,把建立原型系统作为一种可能采取的策略的主要理由如下:,(1)由于用户与软件设计人员认识上的局限,不能预先指定所有要求,因此在开发过程中重复和反复是必要的和不可避免的; (2)在用户和系统分析员之间存在固有的通信鸿沟,用户需要一个“活的”系统模型,以便获得实践经验,以便沟通; (3)目前有快速建立原型系统的工具可供选用。,4.2 结构化分析方法,此方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分。 结构化方法是结构化分析、结构化设计和结构化编程的总称。 结构化方法由于具有简单易懂、使用方便的特点,且出现较早,所以获得了广泛的应用。,4.2 结构化分析方法,4.2.1

7、 结构化分析的策略,4.2.2 数据流图,4.2.3 数据字典,4.2.4 小说明,4.2.5 结构化分析实施步骤,4.2.1 结构化分析的策略,一旦基于计算机系统的功能被分配到各个系统元素,系统分析员就能够据此建立起一个模型,用以表达系统元素之间的相互关系,并为今后的需求分析和设计奠定基础。为了开发系统模型,使用一个“结构模板”。,图4.3 结构模板的格式,下图给出传送带在线货物分类系统的 总体结构关系图,4.2.2 数据流图,数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。 数据流图的特点是:它是逻辑系统的图形表示,容易理解,是极好的通信工具,

8、设计数据流图只需考虑系统必须完成的基本逻辑功能,不需要考虑如何实现这些功能,是软件设计很好的出发点。,1符号,数据源点或终点:正方形(或立方体)。 变换数据处理:圆角矩形(或圆形)。 数据存储:开口矩形(或两条平行横线)。 数据流:箭头表示,即信息与数据的流动方向。,数据流图有四种基本符号。,2例子,假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个再次定货的零件应该列出下述数据: 零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。 零件入库或出库被称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少

9、于库存量临界值时就应该再次定货。,定货系统的数据流图的成份,定货系统基本系统模型,把处理事务功能进一步分解后的数据流图,3命名,数据流图中每个成份的命名是否恰当,直接影响数据流图的可理解性。 为数据流命名: (1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成份。 (2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。 (3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。,为处理命名:,(1)通常先为数据流命名,然后再为与之相关联的处理命名 (2)名字应该反映整

10、个处理的功能,而不是它的一部分功能。 (3)名字最好由一个具体的及物动词,加上一个具体的宾语组成。 (4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把它再分解成两个处理可能更恰当些。 (5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。,4用途,画数据流图的基本目的是利用它作为交流信息的工具。 数据流图的另一个主要用途是作为分析和设计的工具。,4.2.3 数据字典,1数据字典的内容 (1)数据流 (2)数据流分量(即数据元素) (3)数据存储 (4)处理,2定义数据的方法,由数据元素组成数据的方式有下述几种基本类型: (1)顺序:即

11、以确定次序连接两个或多个分量。 (2)选择:即从两个或多个可能的元素中选取一个。 (3)重复:即把指定的分量重复零次或多次。,3实例,(1)数据流条目 一个完整的数据流条目应该包括以下内容: 名称 描述 频率和数据量 数据结构 例如,“图书管理系统”中的“入库单”是一个数据流,对它的说明如下: 入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期,(2)数据存储条目,名称 描述 数据存储方式 关键码 频率和数据量 安全性要求 数据结构,例如,同样图书管理系统中的“目录文件”是个数据存储,对它的说明如下: 文件名:目录文件 组成:分类目录号+书名+作者+内容摘要+价格+入库日期+总数+

12、库存数+图书流水号,4.2.4 小说明,小说明是用来描述加工的。集中描述一个加工“做什么”,即加工逻辑,也包括其他一些和加工有关的信息,如执行条件、优先级、执行频率、出错处理等。 目前小说明一般用自然语言、结构化自然语言、判定表和判定树等来描述。在描绘复杂的关系时,图形比文字叙述优越得多,它形象直观,一目了然。,4.2.5 结构化分析实施步骤,第一步,确定系统边界,画出系统环境图。 第二步,自顶向下,画出各层数据流图。 分层数据流图和图中的加工进行编号规则 (1)顶层图不参与数据流图编号,顶层图中的惟一加工也不编号。 (2)从0层图开始的所有子图和加工均需编号,子图的编号为分解的父图中相应加工

13、编号。 (3)加工的编号由相应的子图号、小数点、加工在子图中的顺序号组成。,第三步,定义数据字典。,第四步,定义小说明。 第五步,汇总前面各步骤的结果。 注意事项: (1)模型平衡规则 数据流图中所有的图形元素必须根据它们的用法规则正确使用。 数据字典中的定义使用合法的逻辑构造符号。 数据流图中最底层的加工必须在小说明中有定义。 父图和子图必须平衡。 小说明和数据流图的图形表示必须一致。,(2)控制复杂性的一些规则,上层数据流可以打包(打包的数据流作特殊标记),上、下层数据流的对应关系用数据字典描述(编号对应),同层的数据流也可编号对应,避免形成复杂的连线;只有一点限制,数据流的性质(输入、输

14、出)必须一致。,4.3 其它分析方法与图形工具,1结构化自然语言 结构化自然语言的语法通常分为内外两层,外层语法描述操作的控制结构,如顺序、选择、循环等,这些控制结构将加工中的各个操作连接起来。内层语法一般没有什么限制,就用自然语言描述。,2层次方框图,层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。,例如,描绘一家计算机公司全部产品的数据结构可以用图中的层次方框图表示。这家公司的产品由硬件、软件和服务三类产品组成,软件产品

15、又分为系统软件和应用软件,系统软件又进一步分为操作系统、编译程序和软件工具。,3Warnier图,用Warnier图可以表明信息的逻辑组织,4IPO图,IPO图是输入处理输出图的简称 ,它的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。,图4.11 IPO图的一个例子 图4.12 改进的IPO图,5判定表,判定表常用来描述一些不易用语言表达清楚或需要很大篇幅才能用语言表达清楚的加工。,在表4.2中,I区的条件类别有两个:旅游时间和订票量,区内列出所有四种条件组合,区内只有一个操作,区标明在某种条件组合下操作的执行情况。,4.4 实体关系图

16、,4.4.1 数据对象、属性与关系,4.4.2 E-R方法和实体模型,4.4.3 数据结构的规范化,4.4.1 数据对象、属性与关系,对象可以是人、是物,还可以是实际的东西或概念的东西,例如,大学、城市等。对象还可以指事物与事物间的联系。 属性则是指事物的性质或特征,数据对象由其属性刻画。,例如,学生文件就由多个记录组成,这些记录放在一起构成一个二维表。表中每一横排叫做一个记录或元组,每一纵列叫做一个属性,参看表4.4。,为确保模型的一致性并消除数据冗余,分析人员要掌握以下规范化规则:,(1)数据对象的任何实例对每个属性必须有且仅有一个属性值。 (2)属性是原子数据项,不能包含内部数据结构。 (3)如果数据对象的关键属性多于一个,那么其他的非关键属性必须表示整个数据对象而不是部分关键属性的特征。 (4)所有的非关键属性必须表示整个对象而不是部分属性的特征。,4.4.2 E-R方法和实体模型,实体关系图是表示数据对象及其关的图形语言机制。 l方框表示实体

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

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

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