好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第二章软件需求分析2教学教材.ppt

121页
  • 卖家[上传人]:yuzo****123
  • 文档编号:269804163
  • 上传时间:2022-03-23
  • 文档格式:PPT
  • 文档大小:672KB
  • / 121 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式单击此处编辑母版副标题样式*1第二章 软件需求分析 计算机信息工程学院 2004年9月现代软件工程授课教师:李德生答疑时间:周三下午答疑地点:计算机应用教研室E_mail: Lids_2.1 2.1 需求分析的任务需求分析的任务 准确地准确地定义定义未来系统的目未来系统的目标,确定为了满足用户的需求标,确定为了满足用户的需求系统必须做什么用系统必须做什么用 规范的形式准确地规范的形式准确地表达用户的表达用户的需求需求 的要求的要求(P16P16) 需求分析研究的对象是软件项目需求分析研究的对象是软件项目的用户要求的用户要求 准确地表达被接受的用户要求准确地表达被接受的用户要求 确定被开发软件系统的系统元素确定被开发软件系统的系统元素 将功能和信息结构分配到这些系将功能和信息结构分配到这些系统元素中统元素中常用的分析方法常用的分析方法 面向数据流面向数据流的结构化分析方法的结构化分析方法 (SA)(SA) 面向数据结构面向数据结构的的JacksonJackson方法方法 (JSD)(JSD) 面向数据结构面向数据结构的结构化数据系统开的结构化数据系统开发方法发方法 (DSSD)(DSSD) 面向对象面向对象的分析方法的分析方法 (OOA) (OOA) 等等软件需求分析的几个阶段软件需求分析的几个阶段 问题分析及识别问题分析及识别 问题评估和方案综合问题评估和方案综合 建模建模 规约规约 复审复审 系统分析员的主要系统分析员的主要焦点焦点是是 “做什么(做什么(whatwhat)” ” ,不是不是 “怎样做怎样做(howhow)”2.2 2.2 需求分析的过程需求分析的过程(1) (1) 问题识别问题识别n n从系统的角度来理解软件并评审从系统的角度来理解软件并评审软件范围是否恰当软件范围是否恰当n n确定对目标系统的综合要求,即确定对目标系统的综合要求,即软件的需求软件的需求n n提出这些需求实现条件,以及需提出这些需求实现条件,以及需求应达到的标准求应达到的标准思考、涉及的几个问题思考、涉及的几个问题如何定义系统需求?如何定义系统需求?vv如何识别如何识别、获取需求? 你能够采取何种手段与用户进行交流沟通你能够采取何种手段与用户进行交流沟通? ?vv何为需求建模何为需求建模? ? 你如何理解模型与建模你如何理解模型与建模? ?需求获取的目的需求获取的目的 清楚地理解所要解决的问题清楚地理解所要解决的问题 完整地获取用户需求完整地获取用户需求需求获取面临的挑战:需求获取面临的挑战:(1)(1)问题空间理解问题空间理解(2)(2)人与人之间的通信人与人之间的通信(3)(3)需求的不断变化需求的不断变化某出版社系统调查表某出版社系统调查表编号提出问题1您在哪个部门门工作?2出版业务业务 流程是什么?3您每日都处处理那些文件、数据、报报表?4工作中手工处处理特别别麻烦烦的事情是什么?5工作中手工处处理什么问题问题 解决不了?影响效率的问题问题 有哪些?6您认为认为 提高工作效率,节节省工作时间时间 ,减轻轻工作强度可采取哪些办办法?某出版社系统调查表某出版社系统调查表编号提出问题7您的部门门需要成本核算和统计统计 的内容有哪些?8您的部门门采用计计算机管理工作情况如何?9如何改进业务进业务 流程使之更合理?10 哪些问题问题 是目前传统传统 手工方法根本无法解决的?11 出版社计算机管理信息系统需要解决什么问题 ?需求获取的内容需求获取的内容 1.1.用户需求分类用户需求分类 (1)(1)功能性需求功能性需求: : 定义了系统做什么(描述系统必须支持定义了系统做什么(描述系统必须支持 的功能和过程)的功能和过程) (2)(2)非功能性需求(技术需求)非功能性需求(技术需求): : 定义了系统工作时的特性定义了系统工作时的特性 (描述操作环境和性能目标)(描述操作环境和性能目标)2. 2. 两类需求包括的内容两类需求包括的内容(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) 性能需求性能需求 软件开发的技术性指标软件开发的技术性指标例如:例如: 存储容量限制存储容量限制 执行速度、相应时间执行速度、相应时间 吞吐量吞吐量(3) (3) 环境需求环境需求 硬件设备:硬件设备:机型、外设、接口、机型、外设、接口、 地点、分布、温度、地点、分布、温度、 湿度、磁场干扰等湿度、磁场干扰等 软件:软件: 操作系统操作系统 网络网络 数据库数据库(4) (4) 界面需求界面需求 有来自其它系统的输入吗?有来自其它系统的输入吗? 到到/ /自其它系统的输出吗?自其它系统的输出吗? 对数据格式有规定吗?对数据格式有规定吗? 对数据存储介质有规定吗?对数据存储介质有规定吗?(5) (5) 用户或人的因素用户或人的因素 用户类型?用户类型? 各种用户熟练程度?各种用户熟练程度? 需受何种训练?需受何种训练? 用户理解、使用系统的难度?用户理解、使用系统的难度? 用户错误操作系统的可能性?用户错误操作系统的可能性?(6) (6) 文档需求文档需求 需哪些文档?需哪些文档? 文档针对哪些读者文档针对哪些读者?(7) (7) 数据需求数据需求 输入、输出数据的格式?输入、输出数据的格式? 接收、发送数据的频率?接收、发送数据的频率? 数据的准确性和精度?数据的准确性和精度? 数据流量?数据流量? 数据需保持的时间?数据需保持的时间?(8) (8) 资源需求资源需求 软件运行时所需的数据、软件。

      软件运行时所需的数据、软件 内存空间等资源内存空间等资源 软件开发、维护所需的人力、软件开发、维护所需的人力、 支撑软件、开发设备等支撑软件、开发设备等9) (9) 安全保密要求安全保密要求 需对访问系统或系统信息加以控需对访问系统或系统信息加以控 制吗?制吗? 如何隔离用户之间的数据?如何隔离用户之间的数据? 用户程序如何与其它程序和操作用户程序如何与其它程序和操作 系统隔离?系统隔离? 系统备份要求?系统备份要求?(10) (10) 软件成本消耗软件成本消耗 与开发进度需求与开发进度需求 开发有规定的时间表吗?开发有规定的时间表吗? 软硬件投资有无限制软硬件投资有无限制?(11) (11) 质量保证质量保证 系统的可靠性要求?系统的可靠性要求? 系统必须监测和隔离错误吗?系统必须监测和隔离错误吗? 规定系统平均出错时间?规定系统平均出错时间? 出错后,重启系统允许的时间?出错后,重启系统允许的时间? 系统变化如何反映到设计中?系统变化如何反映到设计中? 维护是否包括对系统的改进?维护是否包括对系统的改进? 系统的可移植性?系统的可移植性?问题识别的另一项工作是建立分析所需要问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行的通信途径,以保证能顺利地对问题进行分析。

      分析建 模 模型化或模型方法是通过抽象、概模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法模型化或问题,从而加以解决的方法模型化方法要求所建立的模型能真实反映所研方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化某一局部、某一侧面的本质特征和变化规律计算机学科的发展计算机科学(CS)计算机科学 (CS)计算机工程(CE)软件工程(SE)信息系统(IS)计算学科(computing discipline) 计算学科是研究通过在计算机上建立模型并模拟物理过程来进行科学调查和研究的学科.计算机科学与技术学科的方法论计算机科学与技术学科的方法论 学科的学科的3 3个形态个形态 理论理论 抽象抽象( (模型化模型化) ) 设计设计 重复出现的概念重复出现的概念 绑定绑定(binding)(binding) 概念与形式模型概念与形式模型 一致性和完备性一致性和完备性 抽象层次抽象层次 重用重用 典型的学科方法:典型的学科方法: 数学方法数学方法 系统科学方法系统科学方法 计算中抽象的本质和使用。

      在处理复杂事务、构造系统、隐藏细节和获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统抽象抽象( (模型化模型化) ) 源于实验科学源于实验科学, ,主要要素为数据采集方法和假主要要素为数据采集方法和假设的形式说明设的形式说明, ,模型的构造与预测实验分析结模型的构造与预测实验分析结果分析果分析. . 在为可能的算法数据结构和系统结构等构造在为可能的算法数据结构和系统结构等构造模型时使用此过程模型时使用此过程. . 抽象的结果是概念符号模型抽象的结果是概念符号模型模型模型( (modelmodel) ) 模型模型: : 现实世界某些重要方面的表示现实世界某些重要方面的表示 有时我们使用术语有时我们使用术语“抽象抽象”来表示模型,来表示模型,因为我们从现实世界中因为我们从现实世界中抽象抽象出对我们特别有用的出对我们特别有用的东西模型的类型 数学模型数学模型 描述模型描述模型 图形模型图形模型模型的作用建模的原因: 在建模过程中了解系统在建模过程中了解系统 通过抽象降低复杂性通过抽象降低复杂性 有助于回忆所有的细节有助于回忆所有的细节 有助于开发小组间的交流有助于开发小组间的交流 有助于与用户的交流有助于与用户的交流为系统的维护提供文档 (2) (2) 分析与综合分析与综合n n从从信息流信息流和和信息结构信息结构出发,出发,逐步细逐步细化所有的软件功能化所有的软件功能,找出,找出系统各元系统各元素之间的联系素之间的联系、接口特性接口特性和和设计上设计上的约束的约束,分析它们是否满足功能要,分析它们是否满足功能要求,是否合理。

      剔除其不合理的部求,是否合理剔除其不合理的部分,增加其需要部分最终综合成分,增加其需要部分最终综合成系统的解决方案,给出系统的解决方案,给出目标系统的目标系统的详细逻辑模型详细逻辑模型 需求分析的任务需求分析的任务就是借助于当前就是借助于当前系统的逻辑模型导出目标系统的系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的逻辑模型,解决目标系统的 “ “做做什么什么” ” 的问题 逻辑模型和物理模型uu 模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征 抽象,概括性或近似地表示;抽象,概括性或近似地表示; uu 构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分 析的过程析的过程对象对象系统系统模型模型系统系统抽象抽象(映射)(映射)模型应用模型应用模型构造的过程模型构造的过程 通常软件开发项目是要实现目通常软件开发项目是要实现目标系统的物理模型标系统的物理模型 目标系统的具体物理模型是由目标系统的具体物理模型是由它的逻辑模型经实例化,即具它的逻辑模型经实例化,即具体到某个业务领域而得到的体到某个业务领域而得到的 逻辑模型 物理模型 (本质模型、概念模型) (实施模型、技术模型)现行系统目标系统描述重要的业务功能,无论系统是如何实施的。

      描述现实系统是如何在物理上实现的描述新系统的主要业务功能和用户新的需求,无论系统应如何实施描述新系统是如何实施的(包括技术)需求分析过程示意需求分析过程示意学生(1) (1) 通过对现实环境的调查,通过对现实环境的调查, 获得当前系。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.