软件需求分析培训
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求分析的几个阶段
•问题分析 •问题评估和方案综合 •建模 •规约 •复审
系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)”
§3.2 需求获取
3.2.1 需求获取的目的
清楚地理解所要解决的问题 完整地获取用户需求
需求获取面临的挑战:
(1)问题空间理解
(2)人与人之间的通信
有时我们使用术语“抽象”来表示模型, 因为我们从现实世界中抽象出对我们特别有用 的东西。
需求分析wk.baidu.com步骤
怎 么 做
物理 模型
当前 系统
模型化
抽象化
做 什 么
逻辑 模型
当前 系统
具体化 物理 实例化 逻辑 目标
系统
需 求 定 义
模型
模型 目标 系统
逻辑模型和物理模型
模型是对对象系统的形式化的特征
• 学科的3个形态
• 理论
计算机科学与技术学科的方法论
• 抽象(模型化)
• 设计
• 重复出现的概念
• 绑定(binding) • 概念与形式模型 • 一致性和完备性
• 抽象层次
• 重用 • ……
计算中抽象的本质和 使用。在处理复杂事务、 构造系统、隐藏细节和获 取重复模式方面使用抽象 ,通过具有不同层次的细 节和指标的抽象,能够表 达一个实体和系统
界面需求
•
有来自其它系统的输入吗?
• 到自其它系统的输出吗?
• 对数据格式有规定吗?
• 对数据存储介质有规定吗?
(5) 用户或人的因素
•
用户类型?
• 各种用户熟练程度? • 需受何种训练?
• 用户理解、使用系统的难度? • 用户错误操作系统的可能性?
(6)
文档需求
•
需哪些文档?
• 文档针对哪些读者?
(1)
功能需求
•
系统做什么? • 系统何时做什么? • 系统何时及如何修改 或升级?
(2)
性能需求
软件开发的技术性指标 例如: • 存储容量限制 • 执行速度、相应时间 • 吞吐量
(3)
环境需求
地点、分布、温度、 湿度、磁场干扰等
• 硬件设备:机型、外设、接口、
•软件:
操作系统 网络 数据库
(4)
某出版社系统调查表
编 号 7 8 9 提出问题
您的部门需要成本核算和统计的内容有哪 些? 您的部门采用计算机管理工作情况如何?
如何改进业务流程使之更合理?
10 哪些问题是目前传统手工方法根本无法解 决的? 11 出版社计算机管理信息系统需要解决什么问 题?
3.2.2 需求获取的内容
1.用户需求分类
(1)功能性需求:
定义了系统做什么(描述系统必须支持 的功能和过程)
(2)非功能性需求(技术需求):
定义了系统工作时的特性 (描述操作环境和性能目标)
2. 两类需求包括的内容
(1) 功能 (2) 性能 (3) 环境 (4) 界面 (5) 用户或人的因素 (6) 文档 (7) 数据 (8) 资源 (9) 安全保密 (10)软件成本消耗与开发进度 (11)质量保证
• 典型的学科方法:
• 数学方法 • 系统科学方法
抽象(模型化)
• 源于实验科学,主要要素为数据采集方法和
假设的形式说明,模型的构造与预测实验分 析结果分析.
• 在为可能的算法数据结构和系统结构等构造
模型时使用此过程.
• 抽象的结果是概念符号模型
模型(model)
模型: 现实世界某些重要方面的表示。
(3)需求的不断变化
某出版社系统调查表
编 号
1 2 3 4 5
6
提出问题
您在哪个部门工作? 出版业务流程是什么? 您每日都处理那些文件、数据、报表? 工作中手工处理特别麻烦的事情是什么? 工作中手工处理什么问题解决不了?影响 效率的问题有哪些?
您认为提高工作效率,节省工作时间,减 轻工作强度可采取哪些办法?
描述现实系统是 如何在物理上实 现的。 描述新系统是如 何实施的(包括 技术)。
(7)
数据需求
•
输入、输出数据的格式?
• 接收、发送数据的频率?
• 数据的准确性和精度?
• 数据流量? • 数据需保持的时间?
(8)
资源需求
•
软件运行时所需的数据、软件。 内存空间等资源。
• 软件开发、维护所需的人力、
支撑软件、开发设备等。
(9)
安全保密要求
• 需对访问系统或系统信息加以控 • • •
抽象,概括性或近似地表示;
构造模型的过程是一个抽象、分 析的过程。 对象 系统
抽象(映射) 模型应用
模型 系统
模型构造的过程
逻辑模型
(本质模型、概念模型)
物理模型
(实施模型、技术模型)
现 行 系 统 目 标 系 统
描述重要的业 务功能,无论 系统是如何实 施的。 描述新系统的主 要业务功能和用 户新的需求,无 论系统应如何实 施。
第三章
软件需求分析
§3.1 需求分析的任务
准确地定义未来系统的目 标,确定为了满足用户的需求 系统必须做什么。用 <需求规 格说明书> 规范的形式准确地 表达用户的需求。
思考、涉及的几个问题
如何定义系统需求?
如何识别、获取需求?
你能够采取何种手段与用户进行交流沟通?
何为需求建模?
你如何理解模型与建模?
系统变化如何反映到设计中?
维护是否包括对系统的改进?
系统的可移植性?
3.3 需求建模
计算机学科的发展
计算机科学 (CS)
计算机工程 (CE)
计算机科学 (CS)
计算学科 (computing discipline)
软件工程 (SE)
信息系统 (IS)
计算学科是研究通过在计算机上建立模型 并模拟物理过程来进行科学调查和研究的学科.
制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序和操作 系统隔离? 系统备份要求?
(10) 软件成本消耗 与开发进度需求
•开发有规定的时间表吗? •软硬件投资有无限制?
(11) 质量保证
•
系统的可靠性要求?
• 系统必须监测和隔离错误吗?
• 规定系统平均出错时间?
• • • •
出错后,重启系统允许的时间?