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