(面向对象软件工程与UML)第2章需求分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 需 求 分 析 什么是用户需求 思考、涉及的几个问题 如何识别、获取需求? 你能够采取何种手段与用户进行交流沟通? 何为需求建模? 你如何理解模型与建模? 需求分析的步骤 问题分析 问题评估和方案综合 建模 规约 复审 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)” 需求获取的常用方法 建立分析小组 领域专家: 主角 系统分析员:导演 客户访谈 问题分析与确认 现场提问题的类别 第一类:关注客户、整体目标和收益 谁是本工作的最初请求者? 谁将使用该解决方案? 成功的解决方案的经济收益是什么? 存在另外一个需要解决的问题吗? 第二类:便于分析员更好的理解、并使得客户更好的表达观点 对正在开发中的系统能够带来的好处有什么看法? 该解决方案强调了什么问题? 能向我演示或者描述本方案应用的环境吗? 存在影响本方案的特殊性能问题或约束吗? 第三类:所谓的“元问题” 你是回答这些问题的合适人员吗?你的回答是“正式的”吗? 我的提问和你想解决的问题相关吗? 还有其他人员可以提供附加信息吗? 还有其他我应该问你的问题吗? 常用的提问词 谁 什么 哪里 何时 为什么 如何(怎样) 客户的需求观 谁是客户? 客户是指直接或间接从产品中获得利益的个人或组织 软件客户包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者( stakeholder )或是获得产品所产生的结果的人。 客户与开发人员之间的合作关系 高质量的需求来源于客户与开发人员之间有效的交流与合作 通常,开发人员与客户或客户代理人成为一种对立关系 只有当双方参与者都明白要成功自己需要什么,同时也应知道要成功合作方需要什么时,才能建立起一种合作关系。 软件客户需求权利书(1) 客户有如下权利: 1. 要求分析人员使用符合客户语言习惯的表达。 2. 要求分析人员了解客户系统的业务及目标。 3. 要求分析人员组织需求获取期间所介绍的信息,并编写软件需求规格说明。 4. 要求开发人员对需求过程中所产生的工作结果进行解释说明。 5. 要求开发人员在整个交流过程中保持和维护一种合作的职业态度。 软件客户需求权利书(2) 6. 要求开发人员对产品的实现及需求都要提供建议,拿出主意。 7. 描述产品使其具有易用、好用的特性。 8. 可以调整需求,允许重用已有的软件组件。 9. 当需要对需求进行变更时,对成本、影响、得失( trade - off)有个真实可信的评估。 10. 获得满足客户功能和质量要求的系统,并且这些要求是开发人员同意的。 软件客户需求义务书 (1) 客户有下列义务: 1. 给分析人员讲解业务及说明业务方面的术语等专业问题。 2. 抽出时间清楚地说明需求并不断完善。 3. 当说明系统需求时,力求准确详细。 4. 需要时要及时对需求做出决策。 5. 要尊重开发人员的成本估算和对需求的可行性分析。 软件客户需求义务书(2) 6. 对单项需求、系统特性或使用实例划分优先级。 7. 评审需求文档和原型。 8. 一旦知道要对项目需求进行变更,要马上与开发人员联系。 9. 在要求需求变更时,应遵照开发组织确定的工作过程来处理。 10. 尊重需求工程中开发人员采用的流程(过程)。 高质量的需求过程带来的好处 开发后期和整个维护阶段的重做的工作大大减少 强调需求质量并不能引起某些人的重视,他们错误地认为在需求上消耗多少时间就会导致产品开发推迟多少时间 将选定系统的需求明确地分配到各软件子系统,强调采用产品工程的系统方法。这样能简化硬软件的集成 优秀需求具有的特性 1. 完整性 2. 正确性 3. 可行性 4. 必要性 5. 划分优先级 6. 无二义性 7. 可验证性 需求获取的内容 用户需求分类 (1)功能性需求: 定义了系统做什么(描述系统必须支持 的功能和过程) (2)非功能性需求(技术需求): 定义了系统工作时的特性 (描述操作环境和性能目标) 两类需求包括的内容 (1) 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证 (1) 功能需求 系统做什么? 系统何时做什么? 系统何时及如何修改 或升级? (2) 性能需求 软件开发的技术性指标 例如: 存储容量限制 执行速度、响应时间 吞吐量 (3) 环境需求 硬件设备:机型、外设、接口、 地点、分布、温度、 湿度、磁场干扰等 软件: 操作系统

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档