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