《软件需求分析 》PPT课件.ppt
《《软件需求分析 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件需求分析 》PPT课件.ppt(121页珍藏版)》请在三一办公上搜索。
1、第二章 软件需求分析,计算机信息工程学院2004年9月,现代软件工程,授课教师:李德生答疑时间:周三下午答疑地点:计算机应用教研室E_mail,2.1 需求分析的任务 准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 规范的形式准确地表达用户的需求。的要求(P16),软件需求分析的任务,深入描述软件的功能和性能确定软件设计的约束和软件同其它系统元素的接口细节定义软件的其它有效性需求,需求分析研究的对象是软件项目的用户要求准确地表达被接受的用户要求确定被开发软件系统的系统元素将功能和信息结构分配到这些系统元素中,常用的分析方法,面向数据流的结构化分析方法(SA)面向数据结构的J
2、ackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法(OOA)等,软件需求分析的几个阶段,问题分析及识别问题评估和方案综合建模规约复审 系统分析员的主要焦点是“做什么(what)”,不是“怎样做(how)”,2.2 需求分析的过程,(1)问题识别从系统的角度来理解软件并评审软件范围是否恰当确定对目标系统的综合要求,即软件的需求提出这些需求实现条件,以及需求应达到的标准,思考、涉及的几个问题,如何定义系统需求?如何识别、获取需求?你能够采取何种手段与用户进行交流沟通?何为需求建模?你如何理解模型与建模?,需求获取的目的 清楚地理解所要解决的问题 完整地获取
3、用户需求,需求获取面临的挑战:,(1)问题空间理解(2)人与人之间的通信(3)需求的不断变化,某出版社系统调查表,某出版社系统调查表,需求获取的内容,1.用户需求分类(1)功能性需求:定义了系统做什么(描述系统必须支持 的功能和过程)(2)非功能性需求(技术需求):定义了系统工作时的特性(描述操作环境和性能目标),2.两类需求包括的内容,(1)功能(2)性能(3)环境(4)界面(5)用户或人的因素(6)文档(7)数据(8)资源(9)安全保密(10)软件成本消耗与开发进度(11)质量保证,(1)功能需求,系统做什么?系统何时做什么?系统何时及如何修改 或升级?,(2)性能需求,软件开发的技术性指
4、标例如:存储容量限制 执行速度、相应时间 吞吐量,(3)环境需求,硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等软件:操作系统 网络 数据库,(4)界面需求,有来自其它系统的输入吗?到/自其它系统的输出吗?对数据格式有规定吗?对数据存储介质有规定吗?,(5)用户或人的因素,用户类型?各种用户熟练程度?需受何种训练?用户理解、使用系统的难度?用户错误操作系统的可能性?,(6)文档需求,需哪些文档?文档针对哪些读者?,(7)数据需求,输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?,(8)资源需求,软件运行时所需的数据、软件。内存空间等资
5、源。软件开发、维护所需的人力、支撑软件、开发设备等。,(9)安全保密要求,需对访问系统或系统信息加以控 制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作 系统隔离?系统备份要求?,(10)软件成本消耗 与开发进度需求,开发有规定的时间表吗?软硬件投资有无限制?,(11)质量保证,系统的可靠性要求?系统必须监测和隔离错误吗?规定系统平均出错时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?维护是否包括对系统的改进?系统的可移植性?,问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。,建 模,模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问
6、题转化为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化规律。,计算机学科的发展,计算机科学(CS),计算机科学(CS),计算机工程(CE),软件工程(SE),信息系统(IS),计算学科(computing discipline),计算学科是研究通过在计算机上建立模型并模拟物理过程来进行科学调查和研究的学科.,计算机科学与技术学科的方法论,学科的3个形态理论抽象(模型化)设计重复出现的概念绑定(binding)概念与形式模型一致性和完备性抽象层次重用典型的学科方法:数学方法系
7、统科学方法,计算中抽象的本质和使用。在处理复杂事务、构造系统、隐藏细节和获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统,抽象(模型化),源于实验科学,主要要素为数据采集方法和假设的形式说明,模型的构造与预测实验分析结果分析.在为可能的算法数据结构和系统结构等构造模型时使用此过程.抽象的结果是概念符号模型,模型(model),模型:现实世界某些重要方面的表示。有时我们使用术语“抽象”来表示模型,因为我们从现实世界中抽象出对我们特别有用的东西。,模型的类型,数学模型描述模型图形模型,模型的作用,建模的原因:在建模过程中了解系统通过抽象降低复杂性有助于回忆所有的
8、细节有助于开发小组间的交流有助于与用户的交流为系统的维护提供文档,(2)分析与综合从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。,逻辑模型和物理模型 模型是对对象系统的形式化的特征 抽象,概括性或近似地表示;构造模型的过程是一个抽象、分 析的过程。,对象系统,模型系统,抽象(映射),模型应用,模型构造的过程,通常软件开发
9、项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的,逻辑模型 物理模型(本质模型、概念模型)(实施模型、技术模型),现行系统,目标系统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,需求分析过程示意,学生,(1)通过对现实环境的调查,获得当前系统的物理模型,学生,购书申请,购书单,发票,领书单,书,107张,教务科,206王,会计室,206李,出纳员,303赵,教材科,学生购买教材的物理模型,需求分析过程示
10、意,(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型,学生购买教材的逻辑模型,学生,学生,购书申请,购书单,发票,领书单,书,审查有效性,开发票,开领书单,发书,需求分析过程示意,(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型,计算机售书系统的逻辑模型,学生,学生,购书单,发票,领书单,审查并开发票,开领,书单,无效书单,分析阶段中常用的模型(逻辑模型),数据流图(DFD)实体联系图(ERD)类图实例图时序图状态图协作图事件列表数据流定义数据元素定义,(3)编制需求分析阶段的文档软件需求说明书数据要求说明书初步的用户手册修改、完善与确定软件开发实施计划,需求规格说明书格式
11、:P23。,(4)需求分析评审,系统定义的目标是否与用户的要求一致;系统需求分析阶段提供的文档资料是否齐全;文档中的所有描述是否完整、清晰、准确反映用户要求;与所有其它系统成分的重要接口是否都已经描述;,被开发项目的数据流与数据结构是否足够,确定;所有图表是否清楚,在不补充说明时能否理解;主要功能是否已包括在规定的软件范围之内,是否都已充分说明;设计的约束条件或限制条件是否符合实际;开发的技术风险是什么;,是否考虑过软件需求的其它方案;是否考虑过将来可能会提出的软件需求;是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;,需求分析流程,软件需求分析的原则,需要能够表达和理解问题的信息
12、域和功能域要能以层次化的方式对问题进行分解和不断细化要给出系统的逻辑视图和物理视图,软件需求规格说明的原则,从现实中分离功能,即描述要“做什么”而不是“怎样实现”要求使用面向处理的规格说明语言(或称系统定义语言)如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中,规格说明必须包括系统运行环境规格说明必须是一个认识模型规格说明必须是可操作的规格说明必须容许不完备性并允许扩充规格说明必须局部化和松散耦合,软件需求方法,需求分析方法由对软件问题的信息域和功能域的系统分析过程及其表示方法组成大多数的需求分析方法是由信息驱动的信息域具有三种属性:信息流、信息内容和信息结构
13、。,结构化分析方法,面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止,结构化分析方法使用工具:数据流图 数据词典 结构化英语 判定表与判定树,数据流图,数据流图中的主要图形元素,数据加工(数据变换),数据源点或终点(外部实体),数据流,数据存储文件,描述银行取款过程的数据流图,数据流与数据加工之间的关系,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数
14、据流图反映这种结构关系,能清楚地表达和容易理解整个系统,分层的数据流图,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,结构化分析方法步骤示例商店业务处理系统,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的
15、源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,加细每一个加工框 销售细化,采购细化,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡 数据流平衡:父
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件需求分析 软件需求分析 PPT课件 软件 需求 分析 PPT 课件
链接地址:https://www.31ppt.com/p-4860633.html