第04讲软件需求分析_第1页
第04讲软件需求分析_第2页
第04讲软件需求分析_第3页
第04讲软件需求分析_第4页
第04讲软件需求分析_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程概论林平荣 需求工程与分析需求工程与分析软件工程概论林平荣2回顾&系统工程基于计算机的系统&可行性研究的任务社会/法律可行性技术可行性经济可行性&可行性研究的步骤推荐可行的方案编写可行性研究报告软件工程概论林平荣3需求工程& 概述& 需求工程 需求获取 需求分析与协商 系统建模 需求规约 需求确认 需求管理& 软件规格需求说明书(SRS)1. 小结、作业与试验软件工程概论林平荣4概述&需求定义&准确需求的重要性&准确需求的利益&需求工程的步骤与方面软件工程概论林平荣5需求定义1&IEEE软件工程标准

2、词汇表(1997年)中定义需求为:用户解决问题或达到目标所需的条件或能力( Capability)。系统必须满足或具有的条件或能力,以满足合同、标准、规格说明或其它形式上强制的文档软件工程概论林平荣6需求定义2&准确地定义准确地定义未来系统的目标未来系统的目标,确定为了满足用户,确定为了满足用户的需求的需求系统必须做什么系统必须做什么。&用用 规范的形式准确地表达用规范的形式准确地表达用户的需求。户的需求。&它把可行性分析及初步计划期间建立的软件需求它把可行性分析及初步计划期间建立的软件需求描述描述求精求精和和细化细化。&需求分析从多角度、多层次把软件需求分析从

3、多角度、多层次把软件功能功能和和性能性能等等的总体概念描述为具体的的总体概念描述为具体的规格说明规格说明,以做为,以做为开发开发软件的基础软件的基础,它是质量和成败的关键,它是质量和成败的关键软件工程概论林平荣7准确需求的重要性&研究分析:项目失败最重要的8个原因中的5个与需求有关&需求阶段产生的错误将扩散到其他阶段&以需求为基础的设计与编码阶段对错误的检测与发现很困难&后期发现的需求错误的修正费用很高(图示)&软件项目的成本与时间超支,大多是需求分析不准确造成软件工程概论林平荣85个有关需求&不完整的的需求&没有用户的介入&不实

4、际的客户期望&需求和规范的变更&提供不再需要的能力软件工程概论林平荣99修改一个错误的相对开销发现错误时的开发阶段开销比率需求1设计3-6编码10测试15-40验收30-70运行40-100软件工程概论林平荣10准确需求的利益&对客户实际需求的理解&澄清客户所陈述的需求&客户和提供者之间的良好沟通和良性关系&所有各方对项目目标的强烈责任感&设计、部署和使用不断改进的可重复使用的需求过程&适应客户当前和未来计划需求的一种系统体系结构&适应需求变更的能力&系统及其产品的高质量&节省资金&进度规划明确&a

5、mp;客户满意软件工程概论林平荣11需求工程中包含的步骤软件工程概论林平荣12启动需求工程的各个方面软件工程概论林平荣13需求获取&需求类型&需求获取的难点&需求获取的方法与策略&需求获取的原则&有效需求实践&阶段结果软件工程概论林平荣14需求的类型&领域需求反映了应用领域的基本问题&功能性需求定义了系统做什么&非功能性需求定义了系统工作时的特性&详细需求类别&软件需求各组成部分之间的关系 软件工程概论林平荣15详细需求类别&功能功能&性能性能&环境环境&界面界面&易

6、用易用&文档文档 &数据数据&资源资源&安全安全&成本成本&交付交付&质量质量软件工程概论林平荣16功能需求 &系统所应提供的功能和服务系统所应提供的功能和服务&系统做什么?系统做什么?需要详细的描述系统功能、输入和输出、需要详细的描述系统功能、输入和输出、异常等异常等有时需要描述系统不应做什么有时需要描述系统不应做什么&注意:注意:要求全面性和一致性要求全面性和一致性发现错误随时修改需求文档发现错误随时修改需求文档软件工程概论林平荣17性能需求 &软件开发的技术性指标:软件开发的技术性指标:执行速度、响应

7、时间执行速度、响应时间吞吐量吞吐量存储容量限制存储容量限制软件工程概论林平荣18环境需求 &硬件设备:硬件设备:机型、外设、接口、机型、外设、接口、地点、分布、温度、地点、分布、温度、 湿度、磁场干扰等湿度、磁场干扰等&软件:软件:操作系统操作系统网络网络数据库数据库软件工程概论林平荣19界面需求&对系统的最终用户来讲,用户界面就对系统的最终用户来讲,用户界面就代表了系统代表了系统&以用户为中心的设计以用户为中心的设计&相关领域知识相关领域知识&界面设计指导原则(界面设计指导原则(黄金规则黄金规则)软件工程概论林平荣20相关领域知识相关领域知识社

8、会学社会学生理学生理学计算机科学计算机科学工程学工程学人类学人类学媒体媒体认知心理学认知心理学社会心理学社会心理学图形艺术图形艺术语言学语言学人机交互人机交互软件工程概论林平荣21八项黄金原则八项黄金原则&尽量保持一致&为熟练用户提供快捷键&提供有效反馈&设计完整的对话过程&提供简单的错误处理机制&允许撤销动作&提供控制的内部轨迹&较少短期记忆负担软件工程概论林平荣22易用性需要考虑的因素 &用户类型?用户类型?&各种用户熟练程度?各种用户熟练程度?&需受何种训练?需受何种训练?&用户理解、使用系统

9、的难度?用户理解、使用系统的难度?&用户错误操作系统的可能性?用户错误操作系统的可能性?软件工程概论林平荣23文档需求 &需哪些文档?需哪些文档?&文档针对哪些读者文档针对哪些读者?软件工程概论林平荣24数据需求 &输入、输出数据的格式?输入、输出数据的格式?&接收、发送数据的频率?接收、发送数据的频率?&数据的准确性和精度?数据的准确性和精度?&数据流量?数据流量?&数据需保持的时间?数据需保持的时间?软件工程概论林平荣25资源需求 &软件运行时所需的数据、软件。软件运行时所需的数据、软件。内存空间等资源。内存空间等资源

10、。& 软件开发、维护所需的人力、支软件开发、维护所需的人力、支撑软件、开发设备等。撑软件、开发设备等。软件工程概论林平荣26安全保密要求安全保密要求 &需对访问系统或系统信息加以控需对访问系统或系统信息加以控制吗?制吗?&如何隔离用户之间的数据?如何隔离用户之间的数据?&用户程序如何与其它程序和操作用户程序如何与其它程序和操作系统隔离?系统隔离?&系统备份要求?系统备份要求?软件工程概论林平荣27质量保证质量保证&系统的可靠性要求?系统的可靠性要求?&系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?&规定系统平均出错时间?规定

11、系统平均出错时间?&出错后,重启系统允许的时间?出错后,重启系统允许的时间?&系统变化如何反映到设计中?系统变化如何反映到设计中?&维护是否包括对系统的改进?维护是否包括对系统的改进?&系统的可移植性?系统的可移植性?软件工程概论林平荣28软件需求各组成部分之间的关系 软件工程概论林平荣29需求获取的难点&问题的多面性&获取中的问题&领域知识缺乏&利害关系人与开发人员的交流问题&不完备性和不一致性&需求易变性&需求错误的类型软件工程概论林平荣3030问题的多面性问题的多面性软件工程概论林平荣31需求获取中的

12、问题软件工程概论林平荣32你心里想的你心里想的 100%你嘴上说的你嘴上说的80%别人听到的别人听到的60%别人听的懂的别人听的懂的40%软件工程概论林平荣3333需求错误的类型软件工程概论林平荣34需求获取的方法与策略&建立顺畅的通信途径&访谈与调查&观察用户操作流程&组成联合小组&用例软件工程概论林平荣35需求获取的原则&将复杂问题分解、逐层细化&能够表达和理解问题的数据域和功能域&建立模型软件工程概论林平荣36有效需求实践&对方法的承诺&尽力并利用负责需求的联合团队&定义真实的客户需求&使用不

13、断改进需求过程&迭代使用系统需求和体系结构过程&运用机制维护项目组之间的沟通&选择熟悉的方法并维护一组工作产品&执行需求检验与确认&提供适应需求变更的有效机制&使用业界、机构和项目证明的、已知的、熟悉的最佳实践,推动开发工作软件工程概论林平荣37定义真实的客户需求&将总项目费用8%-14%用于需求过程&培训项目组和项目管理人员更多地关心需求工程&找到项目倡导者&开发项目前景和范围定义&找一位需求工程师,并且通过领域专家完成需求工程任务&培训开发人员不要做出需求决定,不要自行发挥&使用不同手段

14、获取用户需求和期望&培训需求工程师编写好的需求&记录每条需求的基本原理&使用方法和自动化工具分析和跟踪需求,并为需求划分优先级&开展同行评审和审查&尽量考虑使用适当的方法&需求应该采用文字或图表的方法记录下来&大型系统的高层次系统需求数量大约在50-200条之间软件工程概论林平荣38阶段结果&要开发的系统或产品的范围&参加需求获取过程的利害人名单&描述考虑要用于系统的技术环境的文档&通过功能组织起来的需求列表&在适当时为每个需求指定领域约束的一系列语句&用例的规格说明软件工程概论林平荣39需

15、求分析与协商& 任务 是发现、求精、建模和规约的过程& 分析的原则(P54)& 过程(图示) 问题识别 评估和综合 建模 规约 编制需求分析文档 评审1. 协商:不实际的目标、冲突的目标软件工程概论林平荣40需求分析的作用软件设软件设计计软件需软件需求分析求分析系统工系统工程程软件工程概论林平荣41需求分析任务需求分析任务软件工程概论林平荣42分析的原则& 问题的信息域必须被表示和理解& 软件将完成的功能必须被定义& 软件的行为必须被表示& 描述信息、功能和行为的模型必须被划分,可以分层次地揭示细节& 分析过程应该从要素信息移向实

16、现细节软件工程概论林平荣43需求分析过程图示软件工程概论林平荣44系统建模&常用的建模方法常用的建模方法面向数据流的面向数据流的结构化结构化分析方法(分析方法(SASA)面向数据结构的分析方法面向数据结构的分析方法面向对象面向对象的分析方法(的分析方法(OOAOOA)等)等原型方法原型方法其它各种方法其它各种方法软件工程概论林平荣45面向数据流面向数据流的需求分析的方法的需求分析的方法&适合于适合于数据处理类型软件数据处理类型软件的需求分析的需求分析&用抽象模型的概念,按照软件内部数据传递、用抽象模型的概念,按照软件内部数据传递、变换的关系,变换的关系,自顶向下自顶向下

17、逐层分解,直到找到满足逐层分解,直到找到满足功能要求的所有可实现的软件为止功能要求的所有可实现的软件为止&使用工具使用工具(图示图示)数据流图,数据词典,结构化英语,判定表与判定树数据流图,数据词典,结构化英语,判定表与判定树&特点特点具有严格的原则简单实用,适合于数据处理领域问题对不是以数据流为主干的系统无奈难以确定数据流之间的变换“数据字典爆炸”软件工程概论林平荣46分析模型的结构分析模型的结构软件工程概论林平荣47需求规约&规约可以是一份写就的文档,一个图形化的模型,一个形式化的数学模型,一组使用场景,一个原形或上述各项的任意组合&原则(P57)&

18、软件需求规格说明书(IEEE/ANSI830-1993)&其它文档数据要求说明书初步的用户手册修改、完善与确定软件开发实施计划软件工程概论林平荣48需求验证与确认&需求确认将检查需求规约以保证所有系统需求已被无歧义地陈述,不一致、疏忽和错误已被检测出并纠正,并且工作产品符合为过程、项目和产品建立的标准&验证&文档注意事项&确认机制是正式的技术评审&评审内容(P60)&结果:软件开发的“合约”软件工程概论林平荣49需求验证软件工程概论林平荣50需求检验与确认不能检验的词汇不能检验的词汇可能替代的词汇可能替代的词汇灵活增加压缩阈值或扩展常量容

19、易或用户友好执行某个操作的最大步骤教育程度要求标准参考引导用户的菜单或提示安全可以防止操作概念预期的操作员错误所产生的损害的功能列表快速或很快可接受的最低速度便携大小尺寸和重量描述所需的携带手段重量轻可接受的最大重量大可接受的最小几何尺寸小可接受的最大几何尺寸软件工程概论林平荣51需求管理&跟踪变化&标识需求&特征跟踪表、来源跟踪表、依赖跟踪表&正向跟踪、逆向跟踪软件工程概论林平荣52软件规格需求说明书(SRS)&参考qGB856T88 软件需求说明书&需求规格说明1979 Balzer and Goldman提出了作出良好规格说明的8条原则软件工程概论林平荣53需求规格说明1& 功能与实现分离,既描述“做什么”而不是:“怎样实现”& 要求使用面向处理的规格说明语言,讨论来自环境的各种刺激可能导致系统出现什么样的功能性反应,以此来定义一个行为模型,从而得到“做什么”的规格说明& 如果目标软件是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之内,描述该目标软件 与系统的其他元素的交互的方式。软件工程概论林平荣54需求规格说明2&规格说明必须包括系统运行的环境。&规格说明必须是可操作的,充分完全和形式的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论