1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程.ppt

软件工程 Software Engineering Fall, 2012 第三章 需求获取 什么是需求? 什么是需求获取? 需求获取的常用方法 描述客户需求 需求的类型 业务需求(business requirement) 客户对系统的高层次的目标要求。在项目视图与范围文档中予以说明 用户需求(user requirement) 用户使用产品必须要完成的任务 功能需求(functional requirement) 定义了系统做什么(描述系统必须支持的功能和过程) 开发人员必须实现的软件功能,使得用户能完成他们的任务,满足业务需求 非功能需求(non-functional requirement ) 定义了系统工作时的特性(描述操作环境和性能目标) 对系统提供的服务或者功能提出的约束,包括时间、开发过程、软件质量、标准等约束 功能和非功能两类需求包括的内容: 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证 (1) 功能需求 系统做什么? 系统何时做什么? 系统何时及如何修改或升级? (2) 性能需求 软件开发的技术性指标,例如: 存储容量限制 执行速度、相应时间 吞吐量 (3) 环境需求 硬件设备:机型、外设、接口、 地点、分布、温度、 湿度、磁场干扰等 软件: 操作系统 网络 数据库 (4) 界面需求 有来自其它系统的输入吗? 到其它系统的输出吗? 对数据格式有规定吗? 对数据存储介质有规定吗? (5) 用户或人的因素 用户类型? 各种用户熟练程度? 需受何种训练? 用户理解、使用系统的难度? 用户错误操作系统的可能性? (6) 文档需求 需哪些文档? 文档针对哪些读者? (7) 数据需求 输入、输出数据的格式? 接收、发送数据的频率? 数据的准确性和精度? 数据流量? 数据需保持的时间? (8) 资源需求 软件运行时所需的数据、软件、内存空间等资源。 软件开发、维护所需的人力、支撑软件、开发设 备等。 (9) 安全保密要求 需对访问系统或系统信息加以控制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序和操作系统隔离? 系统备份要求? (10) 软件成本消耗与开发进度需求 开发有规定的时间表吗? 软硬件投资有无限制? (11) 质量保证 系统的可靠性要求? 系统必须监测和隔离错误吗? 规定系统平均出错时间? 出错后,重启系统允许的时间? 系统变化如何反映到设计中? 维护是否包括对系统的改进? 系统的可移植性? 一个例子 从不同的角度来看,需求具有不同的层次,即业务需求、用户需求、功能需求和非功能需求等 例子:字处理程序 之 “ 拼写检查器” 业务需求:“用户能有效地纠正文档中的拼写错误” 用户需求:“找出文档中的拼写错误并通过一个提供的替换项列表来供选择替换拼错的词” 功能需求:“找到并高亮度提示错词的操作”;“显示提供替换词的对话框”;“实现整个文档范围的替换” 非功能需求:“替换操作执行速度快”;“异常出现概率小” 什么是需求获取 需求获取的目标是确定用户“需要”什么样的软件产品,就是说,新的软件必须能够做什么。 没有专业的系统分析人员,用户很难了解到需要开发什么相关信息和功能;另一方面,没有与用户的交流,系统分析人员也很难弄清客户真正需要什么。 发现用户需求的过程称为需求获取。 一旦提出了最初的需求,进一步推敲、细化和扩充的过程称为需求分析。 需求获取 需求获取的目的 清楚地理解所要解决的问题; 完整地获取用户需求。 需求获取面临的挑战 问题的复杂性和对问题空间理解的不完备性与不一致性; 交流障碍; 需求易变性。 开发用户需求的典型过程 需求获取的常用方法 建立联合分析小组:用户、领域专家、系统分析员等; 通过客户访谈等方式与用户交互; 问题分析与确认。 与用户交互 1. 识别利益相关者(stakeholder) 对项目承担风险和享有利益的人即为利益相关者。他们是应用的“客户”,如公司高层、项目经理、最终用户、系统开发人员等。 不同利益相关者之间的利益冲突会导致需求不一致。如果需求冲突不能调和,项目就会陷入困境,最后往往会被取消。 即使所有利益相关者的需求一致,也可能由于实现代价高昂,需求不能得到完全满足。 与用户交互 2.了解客户的需求 一般客户希望得到一个产品,他们需要系统开发人员帮助,明确自己的需要。 完整的客户要求应当记录在需求文档的“概述”部

文档评论(0)

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

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

1亿VIP精品文档

相关文档