需求分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户或人的因素
用户类型? 各种用户的熟练程度? 需受何种训练? 用户理解、使用系统的难度? 用户错误操作系统的可能性?
来自百度文库
需求分析的困难性
误解 交流障碍 缺乏共同语言 “完整性”问题 需求永远不会稳定 用户意见不统一 错误要求 认识混淆
问题A图书馆管理
R.A.Kemmerer
需求分析涉及人员
需求分析的任务
软件需求分析可分成6个任务: 问题识别 (problem recognition) 评估和综合 (evaluation and synthesis) 建模 (modeling) 建立原型 (prototyping) 规格说明书 (specification) 评审 (review)
需求规格说明是软件设计、实现、测试、 维护的基础。
用户需求、系统需求和软件设计描 述
用户需求 用自然语言和图表描述,说明系统必须提供哪 些服务、系统运行要受哪些约束 系统需求 详细说明系统将要提供的服务以及系统受到的 约束 精确的描述软件的功能 系统买方和软件开发者签订合同的重要内容 软件设计描述 在系统需求的基础上,加入更详细的内容,构 成软件设计活动的概要描述,是软件设计和实 现的基础
字符串格式化 A Mili
2.2此外,输出串满足以下限制: 2.2.1输出串中不出现前导和后导分隔符,也不 出现相邻的分隔符。 2.2.2任何MAXPOS+1个相邻字符中含有一个 换行符; 2.2.3对于输出串中的任意子串S,如果: (1) S的长度不超过MAXPOS; (2) S是输出 串的首部,或S的前一字符是换行符; (3) S是输出串的尾部,或S的后一字符是空格 符。那么,S中不包含换行符。
一个小型图书馆管理系统,需完成以下工作: 1借书、还书; 2在图书馆中增加/删除一本书; 3按照作者名或专业领域检索一批书; 4找出被某位读者借出的一批书; 5找出最近借走某本图书的读者。 该系统有两类用户:图书管理员与普通读者。 功能4供普通读者使用。功能1、2、5供图书管理员使用。 系统必须满足条件: 1馆中所有未借出的书籍能够供读者随时借阅 2在同一时刻,一本书不能既被借出,又被借阅。 3一个读者一次借出的书籍数目不能超过预定值。
需求获取
面临的挑战
问题的复杂性
对问题空间理解的不完备性与不一致性
交流障碍
需求易变性
需求获取的内容
用户需求分类
功能性需求:定义了系统做什么(描述系统 必须支持 的功能和过程)。 非功能性需求(技术需求): 定义了系统工 作时的特性描述操作环境和性能目标)。
功能需求
系统做什么? 系统何时做什么? 系统何时及如何修改或升级?
需求分析的目标
软件需求分析实现以下几个目标: 给出软件系统的数据领域、功能领域和 行为领域的模型; 提出详细的功能说明,确定设计约束条 件,规定性能要求; 密切与用户的联系,使用户明确自己的 任务,以便实现上述两项目标。
软件需求的产品和过程
软件需求分析产品 用户需求 (系统分析的产品) 系统需求 软件需求规格说明(软件设计描述)
需求分析涉及与思考的几个问题
如何定义软件系统需求? 如何识别、获取需求? 你能够采取何种手段与用户进行交
流沟通?
需求获取
需求获取确定客户或用户的要求是什么 的信息收集过程。 目的: 研究可行性分析报告和系统实施计划, 明确系统的目标要求。 建立分析所需要的通信途径,保证需 求获取得顺利进行。
在M层的建筑物内安装N个电梯。电梯问题是指这些电梯的逻辑 控制问题: 1每个电梯有一些按钮,每个按钮对应一个楼层。当按下按钮后, 按扭灯亮,并指出电梯开往相应的楼层。当电梯到达该楼层后, 按钮灯熄。 2除底层和顶层只有一个按钮外,每个楼层有两个按钮,分别指示 上楼和下楼请求。当按下后,按钮灯亮。如果电梯已到达该楼层, 或者电梯正在沿所请求的方向运动,或者遇到有冲突的请求时, 按钮灯灭。在后一情况下,如果两楼层同时发出请求,则只能取 消其中一个请求。决定服务优先次序的算法应尽量减少两个请求 的等待时间。 3当没有服务请求时,电梯保持在最后一个目的楼层,电梯门关闭 4系统以事件驱动方式响应楼层对电梯的请求。所有楼层的优先级 是相同的。 5系统以事件驱动方式响应电梯内部对到达楼层的要求,并按照电 梯运动方向依次完成这些要求。 6每个电梯都有一个紧急按钮,按下后向管理人员发出报警信号, 然后电梯被置为“不可用”状态。每个电梯都有取消“不可用” 状态的机制。
问题B保温系统 S.White
如果主开关置于“加热”状态,保温系统的控制器负责开关锅炉, 监视锅炉系统的燃油流率和燃烧状态,进而调节进入房间的热量 流。当室内温度降至Tr-2度以下,控制器启动锅炉。这里Tr是 用户设定的理想室温。 锅炉启动过程: 1 控制器向锅炉的马达发信号。 2 制器监视马达速度。马达达到正常操作速度时,启动点火并打开 油阀。 3 控制器监视水温,一旦水温达到预定值时,它发信号打开水流循 环阀。热水开始在室内循环。 4 如果发生异常情况,燃油流率指示器和光感器向控制器发信号。 此时控制器发信号关闭系统。 5 一旦室内温度达到Tr+2度,控制器首先关闭油阀,延迟5秒后关闭 锅炉马达。 系统须满足条件: 1 锅炉停机后重启必须延迟5分钟。 2 在主开关关闭或油阀关闭5秒内应指示锅炉停机。
问题D电梯问题 N.Davb
问题C字符串格式化 A Mili
给定非负整数MAXPOS和包含空格与换行作为分隔 符的字符集。对字符串S,称两分隔符之间或分隔符 到S的结尾处的非空字符串为字。 程序以有穷字符串为输入,输出满足以下条件的字符 串: 1 如果输入串包含长度为MAXPOS+1的字,则输出串 为一空格。 2 如果输入串的任何MAXPOS+1个相邻字符至少含有 一个分隔符,则: 2.1 输入串的所有字以相同的次序出现在输出串中; 并且,输出串不含有未在输入串中出现的字;
性能需求
软件开发的技术性指标。例如: 存储容量限制 执行速度、相应时间 吞吐量
环境需求
硬件设备:机型、外设、接口、
地点、分布、温度、 湿度、磁场干扰等
软件:操作系统、网络、数据库
等
界面需求
有来自其它系统的输入吗?
到自其它系统的输出吗? 对数据格式有规定吗? 对数据存储介质有规定吗?
需求分析的重要性
软件生命周期中,一个错误发现得越晚, 修复错误的费用越高。 在需求过程中会产生很多错误。 许多错误是潜伏的,并且在错误产生后 很长一段时间才被检查出来。 在需求阶段,代表性的错误为疏忽、不 一致和二义性。 需求错误是可以被检查出来的。
生命周期中修复软件的相对费用
阶段 需求阶段 设计阶段 编码阶段 单元测试阶段 验收测试阶段 维护阶段 相对修复费用 0.1 ~ 0.2 0.5 1 2 5 20
第 4 讲 需求分析
Requirements Analysis
需求是什么?
需求分析总述
“系统必须做什么?”的问题。 需求分析阶段真正的目标是确定客户需要 什么样的软件。 软件开发者和用户起着同样重要的作用。 需求分析是软件开发项目得以成功的基础。
需求分析
可行性分析阶段已经粗略了解了用户的 需求,甚至已经提出了一些可行的方案, 但是,可行性研究的基本目的是用较小 的成本在较短的时间内确定是否存在可 行的方案。因此许多细节被忽略。 在系统开发前,还需要进一步确定