高级软件工程需求分析.ppt
《高级软件工程需求分析.ppt》由会员分享,可在线阅读,更多相关《高级软件工程需求分析.ppt(65页珍藏版)》请在三一办公上搜索。
1、高级软件工程(3),3.1 需求分析的任务,需求分析的基本任务是准确地回答“系统必须做什么?”这一核心问题。,3.1.1 需求分析的概念,需求分析是一种软件工程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。需求分析是软件设计师进行软件分解的基础,需求分析建造了软件处理的数据模型、功能模型和行为模型。需求规约为软件设计师和客户提供了软件建造完后,进行质量评估的依据。,1.软件需求的概念和分类,比较权威的需求的定义来自于IEEE软件工程标准词汇表中的定义:l用户解决问题或达到目标所需要的条件。l系统或系统部件要满足合同、标准、规范或其他正式
2、规定的文档所要具有的条件。l反映上面两条的文档说明。需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。,需求分析的难点,问题的复杂性交流障碍不完备性和不一致性易变性,需求的类别,功能需求:指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能;性能需求:指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求;可靠性和可用性需求:定量地指定系统的可靠性与可用性;,出错处
3、理需求:说明系统对环境错误应该怎样响应;接口需求:描述应用系统与其环境通信的格式,常见的接口需求有用户接口需求、硬件接口需求、软件接口需求和通信接口需求;约束:描述了应用系统应遵守的限制条件,常见的约束有:精度约束、工具和语言约束、设计约束、应该使用的标准、应该使用的硬件平台等;,逆向需求:说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除发生误解的那些逆向需求;将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。,另一种分类,功能性需求产品的范围功能与数据需求非功能性需求观感需求易用性性能限制条件,操作需
4、求 可维护性和可移植性需求 安全性需求 文化与政策法律需求,3.1.2.需求分析的任务,需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。必须全面理解用户的各项要求,但只能接受合理的要求。要将软件的需求准确地表达出来,形成软件需求说明书。,目标系统,当前系统,物理模型,逻辑模型,模型化,抽象化,物理模型,逻辑模型,具体化,实例化,理解需求,表达需求,导出,怎么做,做什么,需求分析的任务,获得当前系统的物理模型:首先,分析、理解当前系统是
5、如何运行的,并用一个具体的模型来反映自己对当前系统的理解。抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。,建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,明确目标系统要“做什么”,从而从当前系统的逻辑模型中,导出目标系统的逻辑模型。对目标系统逻辑模型进行补充:具体内容如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。,3.1.2 需求获取,软件需求分析中需要很好的的相互沟通,沟通总是要在两方或多方间进行。客户和系统分析员之间最常用的交流方式,是通过预备会议或访谈进行的。获取用户需求的主要方法是调查研究。做好
6、准备制定调研计划准备调研资料访谈用户写调研报告评审,需求分析阶段的文档,软件需求说明书初步的用户手册修改、完善与确定软件开发实施计划,3.1.4 需求规格说明,软件需求规格说明是分析任务的最终产物,美国国家标准局、IEEE(标准号8301984)以及美国防部门均已提出了软件需求规约(以及其他软件工程文档)的候选格式。软件需求规格说明必须正确地定义所有的软件需求;除了设计上的特殊限制之外,软件需求规格说明中一般不描述任何设计、验证或项目管理的细节。,需求必须描述的基本问题,功能所设计的软件要做什么;性能软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等
7、等;强加给实现的设计限制在效果、实现的语言、数据库完整性、资源限制、操作环境等等方面所要求的标准;属性可移植性、正确性、可维护性及安全性等方面的考虑因素;外部接口与人、硬件、其他软件和其他硬件的相互关系。,软件需求规格说明的大纲,1 前言 1.1 目的 1.2 范围 1.3 定义、缩写词、略语 1.4 参考资料2 项目概述 2.1 产品描述 2.2 产品功能2.3 用户特点 2.4 一般约束2.5 假设和依据,3 具体需求 3.1 功能需求 3.1.1 功能需求13.1.1.1 引言3.1.1.2 输入3.1.1.3 加工3.1.1.4 输出 3.1.2 功能需求2 3.1.n 功能需求n,3
8、.2 外部接口需求 3.2.1 用户接口 3.2.2 硬件接口3.2.3 软件接口3.2.4 通信接口3.3 性能需求 3.4 设计约束 3.4.1 其他标准的约束 3.4.2 硬件的限制,3.5 属性3.5.1 安全性3.5.2 可维护性 3.6 其他需求 3.6.1 数据库 3.6.2 操作 3.6.3 场合适应性 附录索引,3.2软件需求分析基础:以结构化分析方法为例,结构化的分析方法是最经典的需求分析方法。适用于数据处理类型软件的需求分析。它提供的工具包括:数据流图、数据字典、结构化英语、判定表和判定树。系统的分析模型必须达到三个主要目标:(1)描述客户的需要;(2)建立创建软件设计的
9、基础;(3)定义在软件完成后可以被确认的一组需求。,模型的核心是数据字典一个包含了软件使用或生产的所有数据对象描述的中心库。实体-关系图描述数据对象间的关系,实体-关系图是用来进行数据建模活动的。数据流图有两个目的:指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能(和子功能)。它可以用于信息域的分析,作为功能建模的基础。状态转换图指明系统将如何动作。为此,状态转换图表示了系统的各种行为模式(称为“状态”),以及在状态间进行变迁的方式,状态转换图是行为建模的基础。,数据流图,任何软件系统(或计算机系统)从根本上来说,都是对数据进行加工或变换的工具。,组成符号,画图步骤,下面以教材购销
10、系统中的教材销售为例,说明如何画数据流图。从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开购书证明,学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。现欲将上述手工操作改为计算机处理,试画出教材销售过程的数据流图。,首先找出数据的源点和终点,即找出数据源与数据汇,由此确定系统的边界。,由于是由学生开始购书,最后由学生领书,因此数据的源点和终点都是“学生”。,第二步找出加工,需要从描述中抽象出系统要完成的工作。,学生须凭购书证明得到购书发票,然后交付书款,得到领书凭证,最后领书。其间能由计算机完成的工作是审查学生的购书凭证并开出发票,按发票
11、开出领书单,由此我们得到2个加工(审查并开发票,并领书单)。,第三步要找出数据流。,学生向系统提交购书单,学生从系统得到领书单,在加工之间要传输发票信息,这样我们得到3个数据流。同时还要注意在“审查并开发票”加工中排除了无效的书单,它也因作为一个数据流,因此最后得到4个数据流:购书单,发票,领书单,无效书单。,我们还要补充数据存储。数据存储一般不能通过系统描述确定,而要在设计数据流图时按照需要添加。实际上在审查购书单和开出发票之前,至少要查阅两个文件:各班学生用书表,该表用以核对学生是否需用这些教材;教材存量表,了解有没有该生要买的教材。把这两个文件加进上图中,并给加工添上编号,就得到计算机售
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 软件工程 需求 分析

链接地址:https://www.31ppt.com/p-6358513.html