欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第三讲 需求分析基础.ppt

    • 资源ID:87325165       资源大小:1.13MB        全文页数:96页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第三讲 需求分析基础.ppt

    西北大学信息学院西北大学信息学院需求分析需求分析u需求分析是介于系统分析和软件设计阶段之间需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的出发点,并从软件角项目规划作为分析活动的出发点,并从软件角度对他们进行检查与调整;另一方面,需求规度对他们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的格说明又是软件设计、实现、测试直至维护的主要基础主要基础主要主要内内容容需求获取的技术需求获取的技术 需求建模需求建模 需求分析的任务和目标需求分析的任务和目标结构化的分析方法结构化的分析方法 LOGO需求规格说明需求规格说明u需求分析阶段研究的对象是软件项目的用户要需求分析阶段研究的对象是软件项目的用户要求。一方面,必须全面理解用户的各项要求,求。一方面,必须全面理解用户的各项要求,但又不能全盘接受所有的要求,另一方面,但又不能全盘接受所有的要求,另一方面,要准确地表达被接受的用户要求。只有经过要准确地表达被接受的用户要求。只有经过确切描述的软件需求才能成为软件设计的基确切描述的软件需求才能成为软件设计的基础。础。需求的层次需求的层次u业务层次业务层次:是组织或客户对于系统的高层次目标要求,定义了:是组织或客户对于系统的高层次目标要求,定义了项项目目的远景和范围,即确定软件产品的发展方向、功能范围、目的远景和范围,即确定软件产品的发展方向、功能范围、目标客户和价值来源。这种需求通常来源于标客户和价值来源。这种需求通常来源于项目项目投资人、购买产投资人、购买产品的客户、市场营销部门或产品策划部门,一般使用远景和范品的客户、市场营销部门或产品策划部门,一般使用远景和范围文档进行记录。围文档进行记录。u用户层次用户层次:用户需求是从用户角度描述的系统功能需求和非功能:用户需求是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。用户需求的描述应该易于用户的理解,一般不采用技术性很强用户需求的描述应该易于用户的理解,一般不采用技术性很强的语言,而是采用自然语言和直观图形相结合的方式进行描述。的语言,而是采用自然语言和直观图形相结合的方式进行描述。u功能需求功能需求:功能需求描述系统应该提供的功能或服务,通常涉及:功能需求描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。非功能需求是从各个角度对系统的约束和限制,反映了细节。非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。应用对软件系统质量和特性的额外要求。需求的层次需求的层次u系统需求:系统需求:是描述整个系统体系结构的高层需求,它可以只包含是描述整个系统体系结构的高层需求,它可以只包含软件子系统,也可以同时包含软件和硬件子系统,甚至某些系软件子系统,也可以同时包含软件和硬件子系统,甚至某些系统功能可能要由人完成。系统需求是更加详细地描述系统应该统功能可能要由人完成。系统需求是更加详细地描述系统应该做什么,通常包括许多分析模型,诸如对象模型、数据模型、做什么,通常包括许多分析模型,诸如对象模型、数据模型、状态模型等,它是开发人员进行软件设计的基础。状态模型等,它是开发人员进行软件设计的基础。u非功能需求:非功能需求:包括过程需求、产品需求和外部需求等类型,其中包括过程需求、产品需求和外部需求等类型,其中过程需求包含交付、实现方法和标准等方面的需求,产品需求过程需求包含交付、实现方法和标准等方面的需求,产品需求包含性能、可用性、实用性、可靠性、可移植性、包含性能、可用性、实用性、可靠性、可移植性、安全安全性、容性、容错性等方面的需求,外部需求有法规、成本、互操作性等需求。错性等方面的需求,外部需求有法规、成本、互操作性等需求。用户的需求分类用户的需求分类u基基本本的的需需求求:用用户户明明确确提提出出的的系系统统应应达达到到的的目目标标,如如果果产产品品实实现现了了这这些些需需求求,用用户户会会感感到到满满意意。例例如如,用用户户所所要要求求的的图图形形界界面面的的类类型型,特特定定的的系系统统功功能能,以以及及指定的性能。指定的性能。u期期望望的的需需求求:这这些些需需求求隐隐含含于于产产品品或或系系统统中中,用用户户没没有有明明确确的的陈陈述述。但但如如果果没没有有实实现现这这些些需需求求,用用户户会会感感到到失失望望。例例如如产产品品的的易易于于安安装装,超超负负载载时时的的正正确确性性和和可靠性等。可靠性等。u感感兴兴趣趣的的需需求求:这这些些需需求求在在用用户户的的期期望望之之外外,但但如如果果被被实实现现了了,用用户户会会感感到到非非常常满满意意。例例如如字字处处理理软软件件除除了标准的特性之外,提供了许多页面的排列功能。了标准的特性之外,提供了许多页面的排列功能。需求分析的任务需求分析的任务u深入描述软件的功能和性能深入描述软件的功能和性能深入描述软件的功能和性能深入描述软件的功能和性能u确定软件设计的约束和软件同其它系统元素的确定软件设计的约束和软件同其它系统元素的确定软件设计的约束和软件同其它系统元素的确定软件设计的约束和软件同其它系统元素的接口细节接口细节接口细节接口细节u定义软件的其它有效性需求定义软件的其它有效性需求定义软件的其它有效性需求定义软件的其它有效性需求n n通常软件开发项目是要实现目标系统的物理模型。作通常软件开发项目是要实现目标系统的物理模型。作通常软件开发项目是要实现目标系统的物理模型。作通常软件开发项目是要实现目标系统的物理模型。作为目标系统的参考,需求分析的任务就是借助于当前为目标系统的参考,需求分析的任务就是借助于当前为目标系统的参考,需求分析的任务就是借助于当前为目标系统的参考,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的系统的系统的系统的“做什么做什么做什么做什么”的问题的问题的问题的问题 需求分析的原则需求分析的原则u必须能够表达和理解问题的数据域和功能域必须能够表达和理解问题的数据域和功能域u必须按自顶向下、逐层分解的方式对问题进必须按自顶向下、逐层分解的方式对问题进行分解和不断细化行分解和不断细化 u分析过程中不应该关注问题的实现细节分析过程中不应该关注问题的实现细节需求分析的过程需求分析的过程 u问题识别问题识别 n首先系统分析人员要确定对目标系统的综合要求,首先系统分析人员要确定对目标系统的综合要求,即软件的需求。并提出这些需求即软件的需求。并提出这些需求实现条件实现条件,以及需,以及需求求应达到的标准应达到的标准。这些需求包括功能需求、性能需。这些需求包括功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进界面需求、资源使用需求、软件成本消耗与开发进度需求,并预先估计以后系统可能达到的目标度需求,并预先估计以后系统可能达到的目标需求分析的过程需求分析的过程n n问题识别的另一项工作是建立分析所需要的通信途问题识别的另一项工作是建立分析所需要的通信途问题识别的另一项工作是建立分析所需要的通信途问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。径,以保证能顺利地对问题进行分析。径,以保证能顺利地对问题进行分析。径,以保证能顺利地对问题进行分析。需求分析的过程需求分析的过程u分析与综合分析与综合 n n从从从从信息流信息流信息流信息流和和和和信息结构信息结构信息结构信息结构出发,出发,出发,出发,逐步细化所有的软件功逐步细化所有的软件功逐步细化所有的软件功逐步细化所有的软件功能能能能,找出,找出,找出,找出系统各元素之间的联系系统各元素之间的联系系统各元素之间的联系系统各元素之间的联系、接口特性接口特性接口特性接口特性和和和和设计设计设计设计上的约束上的约束上的约束上的约束,分析它们是否满足功能要求,是否合理。,分析它们是否满足功能要求,是否合理。,分析它们是否满足功能要求,是否合理。,分析它们是否满足功能要求,是否合理。剔除其不合理的部分,增加其需要部分。最终综合剔除其不合理的部分,增加其需要部分。最终综合剔除其不合理的部分,增加其需要部分。最终综合剔除其不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出成系统的解决方案,给出成系统的解决方案,给出成系统的解决方案,给出目标系统的详细逻辑模型目标系统的详细逻辑模型目标系统的详细逻辑模型目标系统的详细逻辑模型。需求分析的过程需求分析的过程u需求分析评审需求分析评审n作为需求分析阶段工作的复查手段,应该对功能的作为需求分析阶段工作的复查手段,应该对功能的正确性、文档的一致性、完备性、准确性和清晰性,正确性、文档的一致性、完备性、准确性和清晰性,以及其它需求给予评价。以及其它需求给予评价。n n系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致系统定义的目标是否与用户的要求一致;n n系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全系统需求分析阶段提供的文档资料是否齐全;n n文档中的所有描述是否完整、清晰、准确反映用户要求文档中的所有描述是否完整、清晰、准确反映用户要求文档中的所有描述是否完整、清晰、准确反映用户要求文档中的所有描述是否完整、清晰、准确反映用户要求;n n与所有其它系统成分的重要接口是否都已经描述与所有其它系统成分的重要接口是否都已经描述与所有其它系统成分的重要接口是否都已经描述与所有其它系统成分的重要接口是否都已经描述;需求分析的过程需求分析的过程n n被开发项目的数据流与数据结构是否足够,确定被开发项目的数据流与数据结构是否足够,确定被开发项目的数据流与数据结构是否足够,确定被开发项目的数据流与数据结构是否足够,确定;n n所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解所有图表是否清楚,在不补充说明时能否理解;n n主要功能是否已包括在规定的软件范围之内,是否都已主要功能是否已包括在规定的软件范围之内,是否都已主要功能是否已包括在规定的软件范围之内,是否都已主要功能是否已包括在规定的软件范围之内,是否都已充分说明充分说明充分说明充分说明;n n设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际设计的约束条件或限制条件是否符合实际;n n开发的技术风险是什么开发的技术风险是什么开发的技术风险是什么开发的技术风险是什么;是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案是否考虑过软件需求的其它方案;n n是否考虑过将来可能会提出的软件需求是否考虑过将来可能会提出的软件需求是否考虑过将来可能会提出的软件需求是否考虑过将来可能会提出的软件需求;n n是否详细制定了检验标准,它们能否对系统定义是否成是否详细制定了检验标准,它们能否对系统定义是否成是否详细制定了检验标准,它们能否对系统定义是否成是否详细制定了检验标准,它们能否对系统定义是否成功进行确认功进行确认功进行确认功进行确认;需求的获取技术需求的获取技术u如果需求获取不正确或在需求开发过程中很多如果需求获取不正确或在需求开发过程中很多功能没有挖掘出来的话,那么在后期选择弥功能没有挖掘出来的话,那么在后期选择弥补时,将会造成项目延期以及成本的大幅度补时,将会造成项目延期以及成本的大幅度增加。增加。u需求获取的目的是通过各种途径获取用户的需需求获取的目的是通过各种途径获取用户的需求信息,由于在实际工作中,大部分客户是求信息,由于在实际工作中,大部分客户是无法完整地讲述其需求,因此需求获取是一无法完整地讲述其需求,因此需求获取是一件看似简单,做起来很难的一件事情。在需件看似简单,做起来很难的一件事情。在需求获取过程中,主要需要弄清楚求获取过程中,主要需要弄清楚3 3个问题,即:个问题,即:明确需要获取的信息(明确需要获取的信息(WhatWhat)、明确所获取)、明确所获取信息的来源和渠道(信息的来源和渠道(WhereWhere)和怎样获取需求)和怎样获取需求(HowHow)。)。需求获取技术需求获取技术u明确需要获取的信息(明确需要获取的信息(WhatWhat)n与问题域相关的背景信息(如业务资料,组织结构与问题域相关的背景信息(如业务资料,组织结构图,业务处理流程等);图,业务处理流程等);n与要求解决的问题直接相关的信息;与要求解决的问题直接相关的信息;n用户对系统的特别期望与施加的任何约束信息。用户对系统的特别期望与施加的任何约束信息。需求获取技术需求获取技术u明确所获取信息的来源和渠道(明确所获取信息的来源和渠道(WhereWhere)n用户或客户;用户或客户;n公司研发管理部门;公司研发管理部门;n公司技术管理部门公司技术管理部门n项目实施部门;项目实施部门;n营销管理部门;营销管理部门;n旧有系统的研发项目组;旧有系统的研发项目组;n来自项目组内。来自项目组内。需求获取技术需求获取技术u访谈与会议。访谈与会议。u观察用户的工作流程观察用户的工作流程u用户和开发人员共同组成联合小组用户和开发人员共同组成联合小组实例:某出版社系统实例:某出版社系统u需求获取方式:调查表需求获取方式:调查表提出问题提出问题1 1您在您在哪个部门工作?哪个部门工作?2 2出版业务流程是什么?出版业务流程是什么?3 3您您每日都处理那些文件、数据、报表?每日都处理那些文件、数据、报表?4 4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5 5工作中手工处理什么问题解决不了?影响效率的问题有哪些?工作中手工处理什么问题解决不了?影响效率的问题有哪些?6 6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?7 7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8 8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9 9如何改进业务流程使之更合理?如何改进业务流程使之更合理?1010哪些问题是目前传统手工方法根本无法解决的?哪些问题是目前传统手工方法根本无法解决的?1111出版社计算机管理信息系统需要解决什么问题?出版社计算机管理信息系统需要解决什么问题?需求建模需求建模u建立软件模型是分析活动的焦点,在很多时候建立软件模型是分析活动的焦点,在很多时候我们需要把文本表示的需求与图形表示的需我们需要把文本表示的需求与图形表示的需求结合起来绘制出对预期系统的完整描述,求结合起来绘制出对预期系统的完整描述,并帮助检测并帮助检测不一致性、模糊性、错误和遗漏不一致性、模糊性、错误和遗漏。这些图形化的表示或者分析模型可以增强你这些图形化的表示或者分析模型可以增强你对系统需求的理解,而且对某些类型的信息,对系统需求的理解,而且对某些类型的信息,图形化交互比文本交互更高效,可以清除不图形化交互比文本交互更高效,可以清除不同开发组成员间语言和词汇上的障碍。同开发组成员间语言和词汇上的障碍。分析模型须达到的目标分析模型须达到的目标u描述客户的需求是什么?描述客户的需求是什么?u为软件的设计提供基础。为软件的设计提供基础。u定义当软件建立后可被验证的一组需求定义当软件建立后可被验证的一组需求数数据字典据字典对象描述对象描述过程描述过程描述 控制描述控制描述TEXT分析模型分析模型u对象描述的图形一般包括实体关系图(对象描述的图形一般包括实体关系图(ERDERD)、)、类图,过程描述一般包括数据流图(类图,过程描述一般包括数据流图(DFDDFD)、)、功能图等,控制描述的图形一般为状态转化功能图等,控制描述的图形一般为状态转化图(图(STDSTD)等。另外还有一些其它的用于特殊等。另外还有一些其它的用于特殊系统的描述,如系统的描述,如PetriPetri网。常用的分析方法有网。常用的分析方法有面向数据流的结构化分析方法(简称面向数据流的结构化分析方法(简称SASA)、)、面面向数据结构的向数据结构的JacksonJackson方法(简称方法(简称JSDJSD)、)、面向面向对象的分析方法(简称对象的分析方法(简称OOAOOA)等,这些方法都等,这些方法都采用图文结合的方式,可以直观的描述软件采用图文结合的方式,可以直观的描述软件的逻辑模型。的逻辑模型。原型化方法原型化方法原型化方法原型化方法u在开发初期,要想得到一个完整准确的在开发初期,要想得到一个完整准确的规格说明不是一件容易的事。特别是对规格说明不是一件容易的事。特别是对一些大型的软件项目。一些大型的软件项目。u用户往往对系统只有一个模糊的想法,用户往往对系统只有一个模糊的想法,很难完全准确地表达对系统的全面要求。很难完全准确地表达对系统的全面要求。u软件开发者对于所要解决的应用问题认软件开发者对于所要解决的应用问题认识更是模糊不清识更是模糊不清原型化方法原型化方法原型化方法原型化方法u随着开发工作向前推进,用户可能会产生新的随着开发工作向前推进,用户可能会产生新的随着开发工作向前推进,用户可能会产生新的随着开发工作向前推进,用户可能会产生新的要求,或因环境变化,要求系统也能随之变要求,或因环境变化,要求系统也能随之变要求,或因环境变化,要求系统也能随之变要求,或因环境变化,要求系统也能随之变化;开发者又可能在设计与实现的过程中遇化;开发者又可能在设计与实现的过程中遇化;开发者又可能在设计与实现的过程中遇化;开发者又可能在设计与实现的过程中遇到些没有预料到的实际困难,需要以改变需到些没有预料到的实际困难,需要以改变需到些没有预料到的实际困难,需要以改变需到些没有预料到的实际困难,需要以改变需求来解脱困境。求来解脱困境。求来解脱困境。求来解脱困境。u因此规格说明难以完善、需求的变更、以及通因此规格说明难以完善、需求的变更、以及通因此规格说明难以完善、需求的变更、以及通因此规格说明难以完善、需求的变更、以及通信中的模糊和误解,都会成为软件开发顺利信中的模糊和误解,都会成为软件开发顺利信中的模糊和误解,都会成为软件开发顺利信中的模糊和误解,都会成为软件开发顺利推进的障碍。推进的障碍。推进的障碍。推进的障碍。u为解决这些问题,逐渐形成了软件系统的快速为解决这些问题,逐渐形成了软件系统的快速为解决这些问题,逐渐形成了软件系统的快速为解决这些问题,逐渐形成了软件系统的快速原型的概念。原型的概念。原型的概念。原型的概念。软件原型的分类软件原型的分类软件原型的分类软件原型的分类u在软件开发中,原型是软件的一个早期可运行在软件开发中,原型是软件的一个早期可运行在软件开发中,原型是软件的一个早期可运行在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。的版本,它反映最终系统的部分重要特性。的版本,它反映最终系统的部分重要特性。的版本,它反映最终系统的部分重要特性。n n 探索型:探索型:探索型:探索型:目的是要弄清对目标系统的要求,确定目的是要弄清对目标系统的要求,确定目的是要弄清对目标系统的要求,确定目的是要弄清对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。所希望的特性,并探讨多种方案的可行性。所希望的特性,并探讨多种方案的可行性。所希望的特性,并探讨多种方案的可行性。n n实验型:实验型:实验型:实验型:这种原型用于大规模开发和实现之前,考这种原型用于大规模开发和实现之前,考这种原型用于大规模开发和实现之前,考这种原型用于大规模开发和实现之前,考核方案是否合适,规格说明是否可靠。核方案是否合适,规格说明是否可靠。核方案是否合适,规格说明是否可靠。核方案是否合适,规格说明是否可靠。n n 进化型:进化型:进化型:进化型:这种原型的目的不在于改进规格说明,这种原型的目的不在于改进规格说明,这种原型的目的不在于改进规格说明,这种原型的目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,而是将系统建造得易于变化,在改进原型的过程中,而是将系统建造得易于变化,在改进原型的过程中,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。逐步将原型进化成最终系统。逐步将原型进化成最终系统。逐步将原型进化成最终系统。快速原型的好处:快速原型的好处:快速原型的好处:快速原型的好处:uu增进软件者和用户对系统服务需求的理解,使比较含增进软件者和用户对系统服务需求的理解,使比较含增进软件者和用户对系统服务需求的理解,使比较含增进软件者和用户对系统服务需求的理解,使比较含糊的具有不确定性的软件需求(主要是功能)明确化。糊的具有不确定性的软件需求(主要是功能)明确化。糊的具有不确定性的软件需求(主要是功能)明确化。糊的具有不确定性的软件需求(主要是功能)明确化。uu软件原型化方法提供了一种有力的学习手段软件原型化方法提供了一种有力的学习手段软件原型化方法提供了一种有力的学习手段软件原型化方法提供了一种有力的学习手段uu使用原型化方法,可以容易地确定系统的性能,确认使用原型化方法,可以容易地确定系统的性能,确认使用原型化方法,可以容易地确定系统的性能,确认使用原型化方法,可以容易地确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行各项主要系统服务的可应用性,确认系统设计的可行各项主要系统服务的可应用性,确认系统设计的可行各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果。性,确认系统作为产品的结果。性,确认系统作为产品的结果。性,确认系统作为产品的结果。uu软件原型的最终版本,有的可以原封不动地成为产品,软件原型的最终版本,有的可以原封不动地成为产品,软件原型的最终版本,有的可以原封不动地成为产品,软件原型的最终版本,有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,有的略加修改就可以成为最终系统的一个组成部分,有的略加修改就可以成为最终系统的一个组成部分,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。这样有利于建成最终系统。这样有利于建成最终系统。这样有利于建成最终系统。编写需求规格说明编写需求规格说明u为了描述用户的需求,我们可以把它分成两类:为了描述用户的需求,我们可以把它分成两类:功能性需求和非功能性需求。功能性需求描功能性需求和非功能性需求。功能性需求描述系统和环境之间的相互作用。非功能性需述系统和环境之间的相互作用。非功能性需求描述了对系统的限制,即当建立问题的解求描述了对系统的限制,即当建立问题的解时对我们选择的限制。时对我们选择的限制。可以用三种不同的方可以用三种不同的方法编写软件规格说明书法编写软件规格说明书n用好的结构化和自然语言编写用好的结构化和自然语言编写文本性文档文本性文档 n建建立立图图形形化化模模型型,这这些些模模型型可可以以描描绘绘转转换换过过程程、系系统统状状态态和和它它们们之之间间的的变变化化、数数据据关关系系、逻逻辑辑流流或或对对象类之间的关系象类之间的关系n编编写写形形式式化化规规格格说说明明,可可以以用用数数学学上上精精确确的的形形式式化化逻辑语言来定义需求逻辑语言来定义需求编写需求规格说明建议编写需求规格说明建议u保持语句和段落的简短保持语句和段落的简短u采用主动语态的表达方式采用主动语态的表达方式u使用的术语应一致使用的术语应一致u需求陈述应具有一致的样式需求陈述应具有一致的样式u为为了了减减少少不不确确定定性性,必必须须避避免免模模糊糊的的、主主观观的的术术语语,例例如如,用用户户友友好好、容容易易、简简单单、迅迅速速、最新技术等最新技术等u避避免免使使用用比比较较性性的的词词汇汇,例例如如:提提高高、最最大大化化、最小化、最佳化等。最小化、最佳化等。需求评审需求评审u完整性完整性u正确性正确性u可行性可行性u必要性必要性u划分优先级划分优先级u无二义性无二义性u可验证性可验证性u一致性一致性u可修改性可修改性u可跟踪性可跟踪性练习练习 某大企业最近决定采用高性能微机开发人事管理系统,将某大企业最近决定采用高性能微机开发人事管理系统,将四台联机终端分置于人事处的三个科室。该系统可供操作员和四台联机终端分置于人事处的三个科室。该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。人事信息的查询。该企业有该企业有30003000多个工人、干部和技术人员,大体可分成机多个工人、干部和技术人员,大体可分成机关科室、生产车间、后勤服务和开发研制部门等几类部门。厂关科室、生产车间、后勤服务和开发研制部门等几类部门。厂领导决定由计算机应用科来负责协调和开发应用系统。计算机领导决定由计算机应用科来负责协调和开发应用系统。计算机应用科科长指示系统工程师张某负责进行系统分析。应用科科长指示系统工程师张某负责进行系统分析。考虑到人事处有大量的查询信息要求、频繁的人事信息修考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,计算机应用科决定认真设计人机改和文件存档、查阅等特点,计算机应用科决定认真设计人机交互界面,交互界面,首先设计好在终端上的交互式会话的方式首先设计好在终端上的交互式会话的方式。练习练习u系统工程师张某通过调查收集到如下系统工程师张某通过调查收集到如下1010条意见:条意见:1 1、某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影、某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。响操作人员的工作效率。2 2、某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,、某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供系统应当提供HELPHELP功能。功能。3 3、某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应、某操作人员认为:既然是交互式会话,那么对所有的输入都应当作出响应,不应出现击键后,计算机没有任何反应的情况。出现击键后,计算机没有任何反应的情况。4 4、某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可、某操作人员认为:在出错的时候,交互式会话系统应当给出出错信息,并且尽可能告诉我们出错的性质和错在什么地方。能告诉我们出错的性质和错在什么地方。5 5、某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效、某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。地维护人事管理系统。6 6、教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话、教育科干部甲认为:应当对操作员进行一些必要的培训,让他们掌握交互式会话系统的设计技巧,有助于提高系统的使用效率。系统的设计技巧,有助于提高系统的使用效率。7 7、教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可、教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。能缩短和减少操作员输入的信息,以降低出错概率。8 8、某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式、某程序员认为:由于本企业中有很多较大的文件,文件的查找很费时间,交互式会话系统在响应时间较长时应给予使用者以提示信息。会话系统在响应时间较长时应给予使用者以提示信息。9 9、人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式、人事处干部丙认为:我们企业的人事资料相当复杂,格式非常之多,希望交互式系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。系统使用十分清晰的格式,并容易对输入数据中的错误进行修改。1010、人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性,因此人事处干部丁认为:人事管理系统应当具有相当的保密性和数据安全性,因此在屏幕上显示出的信息应该含混一些,以免泄密。在屏幕上显示出的信息应该含混一些,以免泄密。u系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的系统工程师张某对上述调查情况和其他要求作了分析后,发现收集到的1010条意见条意见中有中有3 3条意见是不能接受的,条意见是不能接受的,u面向数据流的分析方法与其它的需求分析方法面向数据流的分析方法与其它的需求分析方法一样,均属于需求建模方法,它们都有一组一样,均属于需求建模方法,它们都有一组语言机制,供需求分析人员表达用户需求和语言机制,供需求分析人员表达用户需求和构造软件模型,面向数据流的分析方法属于构造软件模型,面向数据流的分析方法属于结构化分析方法中的一种,具有明显结构化结构化分析方法中的一种,具有明显结构化的特征。的特征。结构化的分析方法结构化的分析方法u结构化分析方法最初由结构化分析方法最初由Douglas RossDouglas Ross提出,由提出,由DeMarcoDeMarco推广,由推广,由WardWard和和MellorMellor以及后来的以及后来的HatleyHatley和和PirbhaiPirbhai扩充,形成了今天的结构化扩充,形成了今天的结构化分析方法的框架分析方法的框架 。结构化分析方法是一种建。结构化分析方法是一种建模技术。模技术。结构化方法的分析模型结构化方法的分析模型数据对象描述数据对象描述加工规格说明加工规格说明 控制规格说明控制规格说明数数据字典据字典数据数据词典词典实体实体关系关系图图数据数据流图流图状态状态迁移图迁移图结构化方法的分析模型结构化方法的分析模型u在模型的核心是数据词典,它描述了所有的在在模型的核心是数据词典,它描述了所有的在目标系统中使用的和生成的数据对象。围绕目标系统中使用的和生成的数据对象。围绕着这个核心的有三种图:着这个核心的有三种图:实体实体关系图关系图(ERD)(ERD)描述数据对象及数据对象之间的关系;描述数据对象及数据对象之间的关系;数据数据流图流图(DFD)(DFD)描述数据在系统中如何被传送或变描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能换,以及描述如何对数据流进行变换的功能(子功能);(子功能);状态状态迁移图迁移图(STD)(STD)描述系统对描述系统对外部事件如何响应,如何动作。外部事件如何响应,如何动作。ERDERD用于用于数数据建模据建模,DFDDFD用于用于功能建模功能建模,STDSTD用于用于行为建行为建模模数据建模数据建模u数据模型包括三种互相关联的信息:数据对象,数据模型包括三种互相关联的信息:数据对象,描述对象的属性,描述对象间相互连接的关描述对象的属性,描述对象间相互连接的关系。系。n数据对象数据对象 :是需被目标系统所理解的复合信息的:是需被目标系统所理解的复合信息的表示。所谓复合信息是具有若干不同特征或属性的表示。所谓复合信息是具有若干不同特征或属性的信息。信息。数据对象只封装了数据,没有包含作用于这数据对象只封装了数据,没有包含作用于这些数据上的操作些数据上的操作。这与面向对象范型中的类和对象。这与面向对象范型中的类和对象不同。具有相同特征的数据对象组成的集合仍然称不同。具有相同特征的数据对象组成的集合仍然称为数据对象,其中的某一个对象叫做该数据对象的为数据对象,其中的某一个对象叫做该数据对象的一个实例。一个实例。数据建模数据建模u数据对象可以是外部实体(如显示器),事物(如报数据对象可以是外部实体(如显示器),事物(如报表或显示),角色(如教师或学生),行为(如一个表或显示),角色(如教师或学生),行为(如一个电话呼叫)或事件(如单击鼠标左键),组织单位电话呼叫)或事件(如单击鼠标左键),组织单位(如研究生院),地点(如注册室)或结构(如文件)(如研究生院),地点(如注册室)或结构(如文件)。u属性:定义了数据对象的特征。它可用来:属性:定义了数据对象的特征。它可用来:为数为数据对象的实例命名;据对象的实例命名;描述这个实例;描述这个实例;建立对另建立对另一个数据对象的另一个实例的引用。如学生数据对象一个数据对象的另一个实例的引用。如学生数据对象的属性可以有学号、姓名、性别、出生年月、籍贯等。的属性可以有学号、姓名、性别、出生年月、籍贯等。u关系:各个数据对象的实例之间有关联关系:各个数据对象的实例之间有关联 .实例的关联实例的关联有三种:有三种:一对一一对一(1:1)(1:1);一对多一对多(1:m)(1:m);多多对多对多(n:m)(n:m)。制造商制造商生生产产汽车汽车 汽车汽车型型号号颜颜色色车车体体类类 型型买买主主功能建模功能建模u功能建模的思想就是用抽象模型的概念,按照功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型使用了数据流图实现的软件为止。功能模型使用了数据流图来表达系统内数据的运动情况。来表达系统内数据的运动情况。数据流图数据流图数据流图数据流图u数据流图中的主要图形元素数据流图中的主要图形元素数据流图中的主要图形元素数据流图中的主要图形元素描述银行取款过程的数据流图描述银行取款过程的数据流图描述银行取款过程的数据流图描述银行取款过程的数据流图数据流图数据流图数据流图数据流图u在数据流图中,如果有两个以上数据流指向一在数据流图中,如果有两个以上数据流指向一个加工,或是从一个加工中引出两个以上的个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关数据流,这些数据流之间往往存在一定的关系。为表达这些关系,在这些数据流的加工系。为表达这些关系,在这些数据流的加工可以标上不同的标记符号。所用符号及其含可以标上不同的标记符号。所用符号及其含意在下图给出意在下图给出 分层数据流图分层数据流图u为了表达数据处理过程的数据加工情况,用一为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。稍为复杂的实际问题,个数据流图是不够的。稍为复杂的实际问题,在数据流图上常常出现十几个甚至几十个加在数据流图上常常出现十几个甚至几十个加工。这样的数据流图看起来很不清楚。工。这样的数据流图看起来很不清楚。层次层次结构的数据流图结构的数据流图能很好地解决这一问题。按能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。达和容易理解整个系统。分层的数据流图分层的数据流图分层的数据流图分层的数据流图n在多层数据流图中,在多层数据流图中,在多层数据流图中,在多层数据流图中,顶层流图顶层流图顶层流图顶层流图仅包含仅包含仅包含仅包含一个加工一个加工一个加工一个加工,它代表被开发系统。它的输入流是该系统的它代表被开发系统。它的输入流是该系统的它代表被开发系统。它的输入流是该系统的它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据输入数据,输出流是系统所输

    注意事项

    本文(第三讲 需求分析基础.ppt)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开