《软件工程之软件需求分析课件》由会员分享,可在线阅读,更多相关《软件工程之软件需求分析课件(22页珍藏版)》请在金锄头文库上搜索。
1、软件工程之软件需求分析,第三章 软件需求分析,3.1 需求分析的任务 准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。用 规范的形式准确地表达用户的需求。,思考、涉及的几个问题,如何定义系统需求? 如何识别、获取需求? 你能够采取何种手段与用户进行交流沟通? 何为需求建模? 你如何理解模型与建模?,软件需求分析的几个阶段,问题分析 问题评估和方案综合 建模 规约 复审 系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)”,3.2 需求获取,3.2.1 需求获取的目的 清楚地理解所要解决的问题 完整地获取用户需求,需求获取面临的挑战:,(1)问题空间理解
2、(2)人与人之间的通信 (3)需求的不断变化,3.2.2 需求获取的内容,1.用户需求分类 (1)功能性需求: 定义了系统做什么(描述系统必须支持 的功能和过程) (2)非功能性需求(技术需求): 定义了系统工作时的特性 (描述操作环境和性能目标),2. 两类需求包括的内容,(1) 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证,(1) 功能需求,系统做什么? 系统何时做什么? 系统何时及如何修改 或升级?,(2) 性能需求,软件开发的技术性指标 例如: 存储容
3、量限制 执行速度、相应时间 吞吐量,(3) 环境需求,硬件设备:机型、外设、接口、 地点、分布、温度、 湿度、磁场干扰等 软件: 操作系统 网络 数据库,(4) 界面需求,有来自其它系统的输入吗? 到自其它系统的输出吗? 对数据格式有规定吗? 对数据存储介质有规定吗?,(5) 用户或人的因素,用户类型? 各种用户熟练程度? 需受何种训练? 用户理解、使用系统的难度? 用户错误操作系统的可能性?,(6) 文档需求,需哪些文档? 文档针对哪些读者?,(7) 数据需求,输入、输出数据的格式? 接收、发送数据的频率? 数据的准确性和精度? 数据流量? 数据需保持的时间?,(8) 资源需求,软件运行时所
4、需的数据、软件。 内存空间等资源。 软件开发、维护所需的人力、 支撑软件、开发设备等。,(9) 安全保密要求,需对访问系统或系统信息加以控 制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序和操作 系统隔离? 系统备份要求?,(10) 软件成本消耗 与开发进度需求,开发有规定的时间表吗? 软硬件投资有无限制?,(11) 质量保证,系统的可靠性要求? 系统必须监测和隔离错误吗? 规定系统平均出错时间? 出错后,重启系统允许的时间? 系统变化如何反映到设计中? 维护是否包括对系统的改进? 系统的可移植性?,3.3 需求规格说明书(SRS),(Software Requirement Specification) 需求分析阶段要完成的文档。 SRS的作用: 开发者与用户间事实上的技术合同书 开发者下一步设计和编码的基础 测试验收目标系统的依据,SRS大纲(模板),引言 任务概述(项目概述) 数据描述(DFD、DD) 功能描述 接口 性能需求 属性 其它需求,3.4 需求验证,(1) 正确性 (2) 无二义性 (3) 完整性 (4) 可验证性 (5) 一致性 (6) 可理解性 (7) 可修改性 (8) 可被跟踪性 (9) 可跟踪性 (10)设计无关性 (11)注释,