03-第三章-软件需求分析-软件工程教案-海南大学(共15章)cly.pptx
《03-第三章-软件需求分析-软件工程教案-海南大学(共15章)cly.pptx》由会员分享,可在线阅读,更多相关《03-第三章-软件需求分析-软件工程教案-海南大学(共15章)cly.pptx(179页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软件工程软件工程(第二版)(第二版)齐治昌、谭庆平、宁洪齐治昌、谭庆平、宁洪 编著编著 高等教育出版社高等教育出版社主讲:陈明锐主讲:陈明锐 教授教授省级精品课程省级精品课程第三章软件需求分析 在软件的整个生命周期中,首先是软件计划期,接在软件的整个生命周期中,首先是软件计划期,接着是软件开发期,软件需求分析是软件开发的第一个阶着是软件开发期,软件需求分析是软件开发的第一个阶段,也是关系到软件开发成功与否的关键一步。本章的段,也是关系到软件开发成功与否的关键一步。本章的学习是基于已完成软件计划的基础上进行的,软件计划学习是基于已完成软件计划的基础上进行的,软件计划安排到第十二章讲。安排到第十
2、二章讲。3.1 需求分析的任务与步骤需求分析的任务与步骤 3.2 需求获取的常用方法需求获取的常用方法 3.3 分析建模分析建模 3.4 软件需求说明软件需求说明 3.5 结构化分析方法结构化分析方法 3.6 面向对象分析方法面向对象分析方法第三章软件需求分析 软件在需求分析和设计阶段占用软件在需求分析和设计阶段占用的工作量达到总工作量的的工作量达到总工作量的40405050,说明软件开发前期的活动多么重要。说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量大家熟悉的编码工作只占全部工作量的的10102020,而
3、软件测试和调试的,而软件测试和调试的工作量占到总工作量的工作量占到总工作量的30304040,甚至甚至50%50%。3.1 需求分析的任务与步骤需求分析的任务与步骤 3.1.1需求分析的任务需求分析的任务需求分析的任务就是准确地回答需求分析的任务就是准确地回答“系系统必须做什么统必须做什么?”这个问题,是通过系这个问题,是通过系统分析员与用户一起商定,清晰、准确、统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的功能、具体地描述软件产品必须具有的功能、性能、运行规格等要求。软件需求分析性能、运行规格等要求。软件需求分析阶段的目的是澄清用户的要求,并把双阶段的目的是澄清用户的要求,
4、并把双方共同的理解明确地表达成一份书面文方共同的理解明确地表达成一份书面文档档软件需求规格说明书。软件需求规格说明书。3.1 需求分析的任务与步骤需求分析的任务与步骤 需求分析的任务就是借助于当前系统的需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型。逻辑模型导出目标系统的逻辑模型。主要有主要有两个任务两个任务:1、建立分析模型、建立分析模型数据、功能和行为模型数据、功能和行为模型2、编写需求说明书。、编写需求说明书。其实现模型如下图所示:其实现模型如下图所示:系统实现模型系统实现模型目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型逻辑模型逻辑模型物理模型物理模
5、型模型化模型化抽象化抽象化实例化实例化具体化具体化理理解解需需求求表表达达需需求求导导出出做什么做什么怎怎么么做做1.分析建模导出目标系统逻辑模型的例子:导出目标系统逻辑模型的例子:找出当前系统的物理模型找出当前系统的物理模型学学生生张张秘书秘书王王会计会计李李出纳出纳赵赵保管保管学学生生学生购买教材的物理模型学生购买教材的物理模型购书购书申请申请购书购书证明证明购书发票购书发票领书单领书单书书导出目标系统逻辑模型的例子把当前系统的物理模型转换为逻辑模型把当前系统的物理模型转换为逻辑模型学学生生审查有审查有效性效性开开发票发票开开领书单领书单发书发书学学生生购书单购书单有效有效购书单购书单领书
6、单领书单书书发票发票学生购买教材的逻辑模型学生购买教材的逻辑模型导出目标系统逻辑模型的例子把旧系统的逻辑模型转换为目标系统逻辑模型把旧系统的逻辑模型转换为目标系统逻辑模型学学生生审查并审查并开发票开发票开开领书单领书单发书发书学学生生购书单购书单发票发票领书单领书单书书计算机售书系统的逻辑模型计算机售书系统的逻辑模型导出目标系统逻辑模型的例子改进(优化)目改进(优化)目标系统逻辑模型标系统逻辑模型学学生生审查并审查并开发票开发票开开领书单领书单学学生生购书单购书单发票发票领书单领书单改进了的计算机售书系统模型改进了的计算机售书系统模型无效书单无效书单分析阶段中常用的模型(逻辑模型)分析阶段中常
7、用的模型(逻辑模型)数据流图(数据流图(DFD)实体实体联系图(联系图(ERD)层次方框图、层次方框图、IPO图、图、Warnier图图类图、实例图、时序图类图、实例图、时序图状态图、协作图、状态图、协作图、活动图活动图事件列表事件列表数据流定义数据流定义数据元素定义数据元素定义 3.1 需求分析的任务与步骤需求分析的任务与步骤 2.编写软件需求规格说明:编写软件需求规格说明:主要包括描述主要包括描述目标系统概貌、功能要求、性能要求、运行目标系统概貌、功能要求、性能要求、运行要求和将来可能提出的要求。数据流图、用要求和将来可能提出的要求。数据流图、用IPO图或其他工具简要描述的系统主要算法图或
8、其他工具简要描述的系统主要算法都是该份文挡的重要组成部分。此外,该份都是该份文挡的重要组成部分。此外,该份文档还应包括用户需求与系统功能之间的关文档还应包括用户需求与系统功能之间的关系、设计约束等等文字描述。系、设计约束等等文字描述。软件需求规格说明是需求分析阶段的最终软件需求规格说明是需求分析阶段的最终成果。成果。3.1 需求分析的任务与步骤需求分析的任务与步骤准确、完整和规范的软件需求是软件开发成功的关键!准确、完整和规范的软件需求是软件开发成功的关键!需求分析的任务需求分析的任务建立分析模型建立分析模型 描述软件需求的一组模型描述软件需求的一组模型精确记录用于对原始问题和目标系统的描述精
9、确记录用于对原始问题和目标系统的描述帮助分析人员发现用户需求中的不一致性,排除帮助分析人员发现用户需求中的不一致性,排除不合理的部分,挖掘潜在的用户需求不合理的部分,挖掘潜在的用户需求编写需求说明应做到编写需求说明应做到准确性和一致性准确性和一致性清晰性和没有二义性清晰性和没有二义性直观、易读和易于修改直观、易读和易于修改案例分析一个具有n部电梯的电梯系统要安装在一座m层的大楼上。电梯和控制机构已造好。每个电梯的内部机构也已给定。问题涉及电梯在楼层间移动的逻辑:(1)每座电梯有一套按钮,每层一个。按钮按下时使钮灯变亮,并使电梯达到相应的楼层。当电梯到达相应的楼层时按钮灯熄灭。案例分析(2)除了
10、底层和顶层外,每层都有两个按钮,)除了底层和顶层外,每层都有两个按钮,一个按钮请求电梯上升,另一个按钮请求电一个按钮请求电梯上升,另一个按钮请求电梯下降。这些按钮在按下时按钮灯亮。电梯梯下降。这些按钮在按下时按钮灯亮。电梯到达指定楼层后按钮灯熄灭,然后要么朝期到达指定楼层后按钮灯熄灭,然后要么朝期望的方向移动,要么请求等待。在后一种情望的方向移动,要么请求等待。在后一种情况下,如果一个楼层上的两个请求按钮都按况下,如果一个楼层上的两个请求按钮都按下,则只取消其中一个按钮。决定先服务哪下,则只取消其中一个按钮。决定先服务哪一层的算法应当使两个请求的等待时间最小。一层的算法应当使两个请求的等待时间
11、最小。案例分析(3)当一个电梯没有服务请求时,应当停留在)当一个电梯没有服务请求时,应当停留在最终的目的地,关上电梯门,并等待后面的请最终的目的地,关上电梯门,并等待后面的请求。求。(4)楼层上所有电梯请求必须最终得到服务,)楼层上所有电梯请求必须最终得到服务,并且所以楼层具有相同的优先权。并且所以楼层具有相同的优先权。(5)电梯内所有楼层的请求必须最终得到服务,)电梯内所有楼层的请求必须最终得到服务,各层按电梯移动方向先后得到服务。各层按电梯移动方向先后得到服务。(6)每个电梯有一个紧急按钮。按下该按钮时,)每个电梯有一个紧急按钮。按下该按钮时,将使一个报警信号发送到现场管理人员,然后将使一
12、个报警信号发送到现场管理人员,然后强制电梯强制电梯“停止服务停止服务”。每一个电梯有一个取。每一个电梯有一个取消其消其“停止服务停止服务”状态的机制。状态的机制。电梯电梯状态转换图举例状态转换图举例在一楼在一楼上升上升停滞停滞下降下降回到一楼回到一楼回一楼回一楼想要到想要到达楼层达楼层想要到想要到达楼层达楼层电梯行程电梯行程开始开始向上向上向上向上向下向下案例分析需求分析的步骤1.需求获取 目的:清楚地理解所要解决的问题;完整地获取用户需求2.需求提炼 任务:分析建模 3.需求描述 结果:软件需求说明书4.需求验证 改善需求说明的完整性,确保他可作为软件设计和系统验收的依据。3.2 需求获取的
13、常用方法联合分析小组联合分析小组用户代表、领域专家和系统分析员用户代表、领域专家和系统分析员客户访谈客户访谈充分准备,寻找共同语言充分准备,寻找共同语言循循序渐进、逐步逼近循循序渐进、逐步逼近问题分析与确认问题分析与确认多个来回多个来回调研问卷调研问卷部分的名称、人员数量和结构部分的名称、人员数量和结构部分发展或变化简单介绍部分发展或变化简单介绍部分的主要任务部分的主要任务业务处理流程业务处理流程业务处理过程中涉及哪些专业领域的知识业务处理过程中涉及哪些专业领域的知识工作需要的审批流程是什么?工作需要的审批流程是什么?主要算法描述主要算法描述哪些业务需要实时处理?哪些业务需要实时处理?哪些业务
14、需要交互操作?哪些业务需要交互操作?部门各岗位的职责部门各岗位的职责部门接受哪些部门或外界的信息?信息的内容和格部门接受哪些部门或外界的信息?信息的内容和格式是什么?式是什么?部门产生哪些信息?部门产生哪些信息?部门产生的信息送到哪些其他部门?格式要求是什么?部门产生的信息送到哪些其他部门?格式要求是什么?对信息的输入和输出方式有要求吗?输入输出设备对信息的输入和输出方式有要求吗?输入输出设备是什么?是什么?数据要求实时备份吗?备份的设备是什么?时间策略?数据要求实时备份吗?备份的设备是什么?时间策略?业务处理有高峰期吗?高峰时间是什么?时间策略?业务处理有高峰期吗?高峰时间是什么?时间策略?
15、现有的哪些设备要继续使用?现有的哪些设备要继续使用?对产品的运行环境有要求吗?对产品的运行环境有要求吗?对界面风格和操作方式有要求吗?对界面风格和操作方式有要求吗?在系统运行过程中允许停机吗?在系统运行过程中允许停机吗?操作方式要根据操作环境和使用人员素质分类吗?操作方式要根据操作环境和使用人员素质分类吗?需要的操作权限有哪些?需要的操作权限有哪些?需要记录系统操作运行日志吗?需要记录系统操作运行日志吗?用户有能力进行系统维护吗?用户有能力进行系统维护吗?需要分布式处理吗?需要分布式处理吗?需要什么方式的用户操作培训。需要什么方式的用户操作培训。需要制作联机帮助吗?需要制作联机帮助吗?案例用户
16、提出某种需求:水的质量信息必须立即能够显示出来。分析员更准确的描述:水的质量记录必须在接到请求信号的5秒内显示出来。需求获取的三大挑战问题空间的理解问题空间的理解人与人之间的通信人与人之间的通信需求的不断变化需求的不断变化某出版社系统调查表编编号号提出问题提出问题1您在哪个部门工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效工作中手工处理什么问题解决不了?影响效率的问题有哪些?率的问题有哪些?6
17、您认为提高工作效率,节省工作时间,减轻您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?工作强度可采取哪些办法?某出版社系统调查表编编号号提出问题提出问题7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题出版社计算机管理信息系统需要解决什么问题?需求获取的内容需求获取的内容1.1.用户需求分类
18、用户需求分类 (1)(1)功能性需求功能性需求:定义了系统做什么(描述系统必须支持定义了系统做什么(描述系统必须支持 的功能和过程)的功能和过程)(2)(2)非功能性需求(技术需求)非功能性需求(技术需求):定义了系统工作时的特性定义了系统工作时的特性 (描述操作环境和性能目标)(描述操作环境和性能目标)2.2.两类需求包括的内容两类需求包括的内容(1)(1)(1)(1)功能功能功能功能(2)(2)(2)(2)性能性能性能性能(3)(3)(3)(3)环境环境环境环境(4)(4)(4)(4)界面界面界面界面(5)(5)(5)(5)用户或人的因素用户或人的因素用户或人的因素用户或人的因素(6)(6
19、)(6)(6)文档文档文档文档 (7)(7)(7)(7)数据数据数据数据(8)(8)(8)(8)资源资源资源资源(9)(9)(9)(9)安全保密安全保密安全保密安全保密(10)(10)(10)(10)软件成本消耗与开发进度软件成本消耗与开发进度软件成本消耗与开发进度软件成本消耗与开发进度(11)(11)(11)(11)质量保证质量保证质量保证质量保证(1)(1)功能需求功能需求 系统做什么?系统做什么?系统何时做什么?系统何时做什么?系统何时及如何修改或系统何时及如何修改或升级?升级?(2)(2)性能需求性能需求软件开发的技术性指标软件开发的技术性指标例如:例如:存储容量限制存储容量限制 执行
20、速度、相应时间执行速度、相应时间 吞吐量吞吐量(3)(3)环境需求环境需求硬件设备:硬件设备:机型、外设、接口、机型、外设、接口、地点、分布、温度、地点、分布、温度、湿度、磁场干扰等湿度、磁场干扰等软件:软件:操作系统操作系统 网络网络 数据库数据库(4)(4)界面需求界面需求 有来自其它系统的输入吗?有来自其它系统的输入吗?到自其它系统的输出吗?到自其它系统的输出吗?对数据格式有规定吗?对数据格式有规定吗?对数据存储介质有规定吗?对数据存储介质有规定吗?(5)(5)用户或人的因素用户或人的因素 用户类型?用户类型?各种用户熟练程度?各种用户熟练程度?需受何种训练?需受何种训练?用户理解、使用
21、系统的难度?用户理解、使用系统的难度?用户错误操作系统的可能性?用户错误操作系统的可能性?(6)(6)文档需求文档需求 需哪些文档?需哪些文档?文档针对哪些读者文档针对哪些读者?(7)(7)数据需求数据需求 输入、输出数据的格式?输入、输出数据的格式?接收、发送数据的频率?接收、发送数据的频率?数据的准确性和精度?数据的准确性和精度?数据流量?数据流量?数据需保持的时间?数据需保持的时间?(8)(8)资源需求资源需求 软件运行时所需的数据、软件。软件运行时所需的数据、软件。内存空间等资源。内存空间等资源。软件开发、维护所需的人力、软件开发、维护所需的人力、支撑软件、开发设备等。支撑软件、开发设
22、备等。(9)(9)安全保密要求安全保密要求 需对访问系统或系统信息加以控需对访问系统或系统信息加以控 制吗?制吗?如何隔离用户之间的数据?如何隔离用户之间的数据?用户程序如何与其它程序和操作用户程序如何与其它程序和操作 系统隔离?系统隔离?系统备份要求?系统备份要求?(10)(10)软件成本消耗与开发进度需求软件成本消耗与开发进度需求开发有规定的时间表吗?开发有规定的时间表吗?软硬件投资有无限制软硬件投资有无限制?(11)(11)质量保证质量保证 系统的可靠性要求?系统的可靠性要求?系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?规定系统平均出错时间?规定系统平均出错时间?出错后,重启系统
23、允许的时间?出错后,重启系统允许的时间?系统变化如何反映到设计中?系统变化如何反映到设计中?维护是否包括对系统的改进?维护是否包括对系统的改进?系统的可移植性?系统的可移植性?3.3 分析建模分析建模所谓所谓模型模型,就是为了理解事物而对事,就是为了理解事物而对事物做出的一种抽象,是对事物的一种物做出的一种抽象,是对事物的一种无歧义的书面描述。简单地说,无歧义的书面描述。简单地说,模型模型就是某一事物的抽象表示方式就是某一事物的抽象表示方式。经过软件的需求分析建立起来的模经过软件的需求分析建立起来的模型可以称之为型可以称之为分析模型分析模型或者或者需求模型需求模型。3.3 分析建模分析建模需求
24、分析模型:需求分析模型:数据字典数据字典数据模型数据模型功能模型功能模型行为模型行为模型功能模型功能模型功能模型可以用数据流图功能模型可以用数据流图(DFD)描述,所以又描述,所以又称为称为数据流模型数据流模型。下面是数据流图的基本形式:下面是数据流图的基本形式:3变换变换4变换变换1变换变换2变换变换外部外部实体实体外部外部实体实体外部外部实体实体外部外部实体实体数据文件数据文件输入数据输入数据中间数据中间数据输出数据输出数据学学生生1审查审查开发票开发票2开领书开领书单单学学生生购书单购书单发票发票领书单领书单计算机售书系统的数据流图计算机售书系统的数据流图无效书单无效书单各班学生用书表各
25、班学生用书表教材存量表教材存量表数据模型数据模型 包含有3种相关的信息:(1)数据对象 数据对象是几乎所有必须被软件理解的复合信复合信息息的表示。它只封装数据,不包含作用于对象的操作。(2)属性 属性定义了数据对象的性质。(3)关系 数据对象彼此之间是有关联的,也称为关系。数据模型数据模型 数据模型常常用数据模型常常用“实体实体-关系图关系图(ERD)”来描述。来描述。ERD包含包含3种基本元素,即实体、属性种基本元素,即实体、属性和关系。和关系。通常,用通常,用矩形矩形表示即表示即数据对象数据对象,用,用圆圆角矩形或椭圆形角矩形或椭圆形表示实体的表示实体的属性属性,用,用菱菱形形连接相关实体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 第三 软件 需求 分析 软件工程 教案 海南 大学 15 cly
限制150内