第3章_需求分析详解

合集下载

第3章 需求分析

第3章  需求分析

3. 画加工的内部
用画0层图同样的方法画出每个加工的DFD子图。
4. 对DFD子图中的每个加工重复第3步的分解
2013-7-16
上海大学计算机学院
7
数据流求精实例
某考务处理系统
① 对考生送来的报名单进行检查; ② 对合格的报名单编好准考证号后将 准考证送给考生,并将汇总后的 考生名单送给阅卷站; ③ 对阅卷站送来的成绩清单进行检查, 并根据考试中心制定的合格标准 审定合格者; ④ 制作考生通知单(内含成绩及合格 /不合格标志)送给考生; ⑤ 按地区、年龄、文化程度、职业、 考试级别等进行成绩分类统计和 试题难度分析,产生统计分析表。
2013-7-16
上海大学计算机学院
13
实体-联系图
◆ 基本成分与符号
数据对象/实体
数据对象间的联系(1:1, 1:N, M:N) 属性(数据对象的性质)
◆ 实例
姓名
教工号
教师
M M
学生
N
职称
教N学课程源自M2013-7-16
上海大学计算机学院
14
其他图形工具
◆层次方框图
◆Warnier图
2013-7-16
第3章
需求分析
◆需求分析的任务
◆需求获取
◆需求描述
◆需求验证
2013-7-16
上海大学计算机学院
1
需求分析的任务
◆ 基本任务
● 准确地回答“系统必须做什么?” ● 分析软件需求和书写软件需求规格说明书
◆ 软件需求 ● 用户解决问题或达到目标所需要的条件或能力(want OR need?) ● 需求层次:业务需求用户需求功能与非功能需求 ◆ 具体任务 ● 确定对系统的综合要求 功能需求、性能需求、可靠性和可用性需求、出错处理需求、 接口需求、约束、逆向需求、扩展需求 ● 分析系统的数据要求 ● 导出系统的逻辑模型 ● 修正系统开发计划 ? 开发原型系统

第3章 受众需求分析

第3章  受众需求分析
需求广告弹性:指一定时期内一种商品需 求量变化对于其广告支出水平变化的反应 程度,其弹性指数等于其需求量变化百分 比除以广告支出变化的百分比。
一般情况下,随着广告市场推广活动的进行, 受众对传媒产品的需求量会增加,故需求广告弹 性系数大于0,传媒经营者通过估算需求广告弹 性系数来科学决策广告投放方案。E
3、需求交叉弹性
需求交叉弹性:一定时期内一种商品需求量
变化对于它的相关商品的价格变化的反应程度。 其弹性指数等于其需求量变化的百分比除以相关 商品价格变化的百分比。
交叉弹性的大小取决于所考察的两种商品的相关 关系,若是替代关系,替代性越强弹性系数越大; 如果是互补关系,互补性越强则弹性系数的绝对 值就越大。如果两种商品不相关,弹性系数为零, 相关商品的价格对其没有影响。
受众消费需求是媒介消费者对媒介产品 或服务的需求。
一、受众市场的变化
主动性强 市场化 细分化
1、细分化
社会阶层逐渐分化,社会群体多样化,受众群 体间的差异日趋显著。受众市场由大众向分众乃 至小众甚至一对一转变,细分程度越来越深入。
受众被分成越来越细小的群体。
“每个人都有点喜欢的产品是没有 市场的,只有一部分人非常喜欢的产 品才有市场。”
影响需求的主要因素
价格、收入水平、相关商品价格、消费 偏好和价格预期。
1、商品本身的价格
一般说来,一种商品的价格越高,该商品的需求 量就会越小。相反,价格越低,需求量就会越大。
2、消费者的收入水(Yield)
正常商品 Y
Qd
低劣商品 Y
Qd
3、其它相关商品的价格
互Q1
P
D2
D1 P1
0
Q
Q1
Q2
需求价格弹性

自考软件工程第3章知识点总结

自考软件工程第3章知识点总结

2
第3章 软件需求分析
需求分析在软件开发中所处的地位愈加突出,从而也愈加 困难,它的难点主要体现在以下几个方面:
(1) 问题的复杂性。 (2) 交流障碍。 (3) 不完备性和不一致性。 (4) 需求易变性。
软件需求分析与说明的方法的基本原则:
(1) 必须能够表达和理解问题的数据域和功能域。 (2) 可以把一个复杂问题按功能进行分解并可逐层细化。 (3) 建模。
结构化分析(Structured Analysis,简称SA),是面向数 据流进行需求分析的方法。根据软件内部数据传递、变换的关 系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
3.2.1自项向下逐层分解的分析策略
面对一个复杂的问题,采取分解的策略,把一个复杂的问
题划分成若干小问题,然后再分别解决。分解可分层进行,在
(3) 环境需求。 (4) 用户界面需求。
4
第3章 软件需求分析
2. 分析与综合, 导出软件的逻辑模型 分析人员对获取的需求,进行一致性的分析检查,在 分析、 综合中逐步细分软件功能,划分成各个子功能。 3. 编写文档 编写文档的步骤如下: (1) 编写“需求说明书。 (2) 编写初步用户使用手册。 (3) 编写确认测试计划。 (4) 修改完善项目开发计划。
3. 数据项条目 数据项条目是不可再分解的最小数据单位, 其定义格 式及举例如下: 数据项名称: 货物编号 别名: G-No, G-num, Goods-No 简述: 本公司的所有货物的编号 类型: 字符串 长度: 10
取值范围及含义: 第1位: 进口/国产
第2~4位: 类别 第5~7位: 规格
第8~10位: 品名编号
1. 数据流条目
数据流条目给出了DFD中数据流的定义,通常列出该数 据流的各组成数据项。

第3章 需求分析

第3章 需求分析

网上查某 本书<3秒
图书名称 /作者姓 名
按照输入的组 合条件,进行 模糊查询
显示“图书名称、作 者姓名、是否借出、 内容简介”
2
后台查询读 者信息响应 时间 后台查询图 书信息响应 时间
图书 馆借 阅部 图书 馆借 阅部
借阅 操作 员 借阅 操作 员
后台查某 读者信息 <2秒 后台查某 部书<2秒
案例3-3 【案例3-3】网上图书馆信息系统的部分接口列表,如 表3-3所示。 表3-3 目标系统的接口列表(接口模型)
3.2 需求分析的任务及过程
表3-3 目标系统的接口列表(接口模型)
编 号 接口 名称 接口 规范 接口 标准 入口参数 出口参数 传输 速率
1
与财 务系 统接 口
财务 系统 规定 的接 口规 范
3.2 需求分析的任务及过程
图3-2需求分析过程
3.2 需求分析的任务及过程
根据实际项目的规模和特点确定合适的需求分析常规过 程如下。 1.需求获取 2.综合需求与描述 3. 需求验证 4.需求文档
课堂讨论:
(1)需求分析具体任务有哪些? (2)需求分析常规步骤是什么?
3.2 需求分析的任务及过程书信息系统的 部分性能点列表(性能模型),如表 3-2所示。
3.2 需求分析的任务及过程
表3-2 图书馆系统的性能点列表
编号 性能名称 使用 部门 网上 读者 使用 岗位 网上 读者 性能描述 输入 系统响应 输出
1
读者网上查 询图书信息 响应时间
一张 凭证 一次 处理 传送
3.2 需求分析的任务及过程
7.确定系统运行环境及界面 8.修正开发计划和新系统方案 9. 编写需求文档,验证确认需求 【注意】上述任务要具体分析,灵活运用。如果需求 分析之后,对将要实现的新系统,仍然感到不够明确时, 不应签字确认,还需进行进一步深入分析。

第3 章 结构化需求分析

第3 章 结构化需求分析

第3 章 结构化需求分析
3.1.2 需求分析的过程 (2)分析与综合 从信息流和信息结构出发, 从信息流和信息结构出发,逐步细化软 件的所有功能, 件的所有功能,找出系统各个元素之间 的联系、接口特性和对设计的限制, 的联系、接口特性和对设计的限制,判 断是否存在因片面性或短期行为而导致 的不合理需求, 的不合理需求,判断是否有用户尚未提 出的确实有价值的潜在需求, 出的确实有价值的潜在需求,从而提出 其中不合理的部分, 其中不合理的部分,增加真正需要的部 分。
第3 章 结构化需求分析
采用“自顶向下,逐步求精”的方式, 系统被分解成 系统被分解成3 采用“自顶向下,逐步求精”的方式,X系统被分解成 个子系统 :
第3 章 结构化需求分析
3.3.2 结构化分析方法 指导性原则: 指导性原则: 在开始建立分析模型之前先理解问题, 在开始建立分析模型之前先理解问题 ,而不应 急于求成,甚至在问题未被很好地理解之前, 急于求成 ,甚至在问题未被很好地理解之前, 就产生了一个解决错误问题的软件; 就产生了一个解决错误问题的软件; 开发模型,使用户能够了解将如何进行人机交 开发模型, 互; 记录每个需求的起源和原因, 记录每个需求的起源和原因 ,这样能有效地保 证需求的可追踪性和可回溯性; 证需求的可追踪性和可回溯性; 使用多个需求分析视图,建立数据、 使用多个需求分析视图,建立数据、 功能和行 为模型。 为模型。
第3 章 结构需求分析
3.1.2 需求分析的过程
第3 章 结构化需求分析
3.1.2 需求分析的过程 (1)调查研究 对目标系统的运行环境、功能要求、 对目标系统的运行环境、功能要求、非 功能性要求与用户达成共识。 功能性要求与用户达成共识。 问题研究集中在以下3个方面: 问题研究集中在以下3个方面: 经济可行性: 经济可行性: 技术可行性: 技术可行性: 操作可行性: 操作可行性:

软件工程导论第3章

软件工程导论第3章

2.访谈
访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍 然广泛使用的需求分析技术。 访谈有两种基本形式: 正式访谈:系统分析员将提出一些事先准备好的具体问题。 非正式访谈:分析员将提出一些用户可以自由回答的开放性问题, 以鼓励被访问人员说出自己的想法。 调查表是当需要调查大量人员的意见时的一个十分有效的做法。 分析员仔细阅读收回的调查表,然后再有针对性地访问一些用户, 以便向他们询问在分析调查表时发现的新问题。 在访问用户的过程中可以使用情景分析技术。情景分析技术的 用处主要体现在下述两个方面: (1) 它能在某种程度上演示目标系统的行为,从而便于用户理解, 而且还可能进一步揭示出一些分析员目前还不知道的需求。 (2) 由于情景分析较易为用户所理解,使用这种技术能保证用户在 需求分析过程中始终扮演一个积极主动的角色。
(1) 数据对象
数据对象是对软件必须理解的复合信息的抽象。所谓 复合信息是指具有一系列不同性质或属性的事物,仅有单 个值的事物(例如,宽度)不是数据对象。 数据对象可以是外部实体(例如,产生或使用信息的任 何事物)、事物(例如,报表)、行为(例如,打电话)、事件 (例如,响警报)、角色(例如,教师、学生)、单位(例如,会 计科)、地点(例如,仓库)或结构(例如,文件)等。总之,可 以由一组属性来定义的实体都可以被认为是数据对象。 数据对象彼此间是有关联的,例如,教师“教”课程, 学生“学”课程,教或学的关系表示教师和课程或学生和 课程之间的一种特定的连接。
(4)需求验证 由软件开发者和用户一起来进行软件需求规格
说明的复审。确保需求规格说明可作为软件设计和最 终系统验收的依据。
二. 需求获取的常用方法
1. 建立联合分析小组 建立一个由用户、系统分析员和领域专家参加 的联合分析小组,密切合作,共同标识问题,提出 解决方案要素,商讨不同方案并指定基本需求。 这是一种面向团队的需求收集法,又称为简易 的应用规格说明技术。

软件工程导论-第3章_需求分析_(第五版)(张海藩编著)_a_百度文库

软件工程导论-第3章_需求分析_(第五版)(张海藩编著)_a_百度文库
求互相矛盾。
(2) 完整性:需求必须是完整的,规格说明书应该包括用户需要的
每一个功能或性能。
(3) 现实性:指定的需求应该是用现有的硬件技术和软件技术基本
上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步 则很难做出预测,只能从现有技术水平出发判断需求的现实性。
(4) 有效性:必须证明需求是正确有效的,确实能解决用户面对的
成功来之不易
31%
(取消)
16.2%
(成功地完成)
53.8%
(受到挑战) Source: Standish Group
2
软件项目失败的原因
软件项目失败的最重要的五个主要原因:
需求不完整 缺少客户的参与 缺少资源 期望值过高 缺少高层的支持
0% 5% 10% 15%
3
需求错误的成本
4
软件需求的重要性: •软件需求分析是决定软件成功开发的一个关键因素
3.1.4 修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体 的了解,可以比较准确地估计系统的成本和进度,修 正以前制定的开发计划。
补充:与用户沟通获取需求的方法
3.2 与用户沟通获取需求的方法
需求获取的困难:
-用户通常并不真正知道自己希望计算机系统做什么 用户通常使用业务语言表达需求,开发人员缺乏相关 的领域知识和经验,难以准确理解这些需求 -不同的用户提出不同的需求,可能存在矛盾和冲突 管理者可能出于增加影响力的原因而提出特别的需求 -由于经济和业务环境的动态性,需求经常发生变更
图3.7 IPO图的一个例子图
模块编号:c.5.5.8
图3.7 IPO图的一个例子图
图3.8 改进的IPO图的形式
本书建 议使用 一种改 进的 IPO图 (也称 为IPO 表 ),

第三章 软件需求分析基础

第三章 软件需求分析基础



逆向需求:说明软件系统不应该做什么。理论 上有无限多个逆向需求,我们应该仅选取能澄 清真实需求且可消除发生误解的那些逆向需求; 将来可能提出的要求:应该明确地列出那些虽 然不属于当前系统开发范畴,但是据分析将来 很可能会提出来的要求。
另一种分类


功能性需求 产品的范围 功能与数据需求 非功能性需求 观感需求 易用性 性能 限制条件
第三章 软件需求分析基础
主要内容

需求分析的概念和原则 传统的软件需求分析基础
3.1 需求分析的概念和原则

需求分析的基本任务是准确地回答“系统必须做什 么?”这一核心问题。 需求分析是发现、求精、建模和规约的过程。这一过 程包括:详细精化最初由系统分析员建立在软件项目 计划中确定的软件范围,创建所需数据流、控制流以 及操作行为的模型,在此基础上选择解决方案。

例2. 客户希望得到指明什么零件从库存中取出、 以及还剩余多少相似零件的日报表。客户指明 一旦当该零件离开仓库时库存管理员就该记载 每个零件的标号。通过对当前问题和希望的信 息(输入和输出)进行的评估,系统分析员开 始综合一个或多个解决方案。为了便于开始, 必须详细地定义系统的数据、处理功能和行为。

操作需求 可维护性和可移植性需求 安全性需求 文化与政策 法律需求

需求的质量



完整性 正确性 可行性 必要性 划分优先级 无二义性 可验证性 设计无关性
2.需求分析的任务




需求分析的任务是借助于当前系统的物理模型 导出目标系统的逻辑模型,解决目标系统“做 什么”的问题。 所要做的工作是深入描述软件的功能和性能, 确定软件设计的限制和软件同其他系统元素的 接口细节,定义软件的其他有效性需求。 必须全面理解用户的各项要求,但只能接受合 理的要求。 要将软件的需求准确地表达出来,形成软件需 求说明书。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中原工学院信息商务学院
3.2.3 简易的应用规格说明技术 简易的应用规格说明技术是一种面向团队的需求 收集法 提倡用户与开发者密切合作,共同标识问题,提 出解决方案要素,商讨不同的方案并指定基本需 求 目前它已成为信息系统领域使用的主流技术。
中原工学院信息商务学院
使用简易的应用规格说明技术分析需求的典型过程:
中原工学院信息商务学院
3.1 需求分析的任务 任务3:导出系统的逻辑模型 综合上述两项分析的结果可以导出系统的详细的 逻辑模型,通常用数据流图、实体-联系图、状态 转换图、数据字典和主要的处理算法描述这个逻 辑模型。 任务4:修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体 的了解,可以比较准确地估计系统的成本和进度, 修正以前制定的开发计划。
功能需求 性能需求 可靠性和可用性需求 出错处理需求
接口需求
约束 逆向需求
将来可能提出的要求
中原工学院信息商务学院
3.1 需求分析的任务 任务2:分析系统的数据要求 分析系统的数据要求通常采用建立数据模型的方 法(见3.4节实体-联系图)
复杂的数据由许多基本的数据元素组成,数据结构表 示数据元素之间的逻辑关系,通常用层次方框图和 Warnier图来描绘数据结构。 软件系统经常使用各种长期保存的信息,这些信息通 常以一定的方式组织并存储在数据库或文件中,为减 少数据冗余,避免出现插入异常或删除异常,简化修 改数据的过程,通常需要把数据结构规范化。
中原工学院信息商务学院
在分析软件需求和书写软件需求规格说明书的过程中, 分析员和用户都起着关键的、必不可少的作用。
中原工学院信息商务学院
第3章 需求分析 所有的需求分析方法都遵守下述准则:
(1) 必须理解并描述问题的信息域,根据这条准则应 该建立数据模型。 (2) 必须定义软件应完成的功能,这条准则要求建立 功能模型。 (3) 必须描述作为外部事件结果的软件行为,这条准 则要求建立行为模型。
情景分析技术的用处主要体现在下述两个方面: (1) 它能在某种程度上演示目标系统的行为,从而便于用户 理解,而且还可能进一步揭示出一些分析员目前还不知道 的需求。 (2) 由于情景分析较易为用户所理解,使用这种技术能保证 用户在需求分析过程中始终扮演一个积极主动的角色。
中原工学院信息商务学院
3.2.2 面向数据流自顶向下求精 数据决定了需要的处理和算法,它是需求分析的 出发点。 结构化分析方法实质上就是面向数据流自顶向下 逐步求精进行需求分析的方法。 通过可行性研究已经得出了目标系统的高层数据 流图,需求分析的一个主要目标是把数据流和数 据存储定义到元素级。为了达到这个目标,通常 从数据流图的输出端着手分析。
了解其他图形工具
中原工学院信息商务学院
第3章 需求分析 意义: 软件需求的深入理解是软件开发工作获得
成功的前提条件,不论我们把设计和编码
做得如何出色,不能真正满足用户需求的
程序只会令用户失望,给开发带来烦恼。
中原工学院信息商务学院
第3章 需求分析 需求分析的基本任务是准确地回答“系统必须做 什么?”这个问题。 确定系统必须完成哪些工作,也就是对目标系统 提出完整、准确、清晰、具体的要求。 需求分析阶段结束之前,系统分析员应该写出软 件需求规格说明书,以书面形式准确地描述软件 需求。
(4) 必须对描述信息、功能和行为的模型进行分解, 用层次的方式展示细节。
中原工学院信息商务学院
3.1 需求分析的任务
1 确定对系统的综合要求
2
分析系统的数据要求
3 导出系统的逻辑模型 4 修正系统开发计划
中原工学院信息商务学院
3.1 需求分析的任务 任务1:确定对系统的综合要求 通常对软件系统有下述几方面的综合要求:
中原工学院信息商务学院
3.2 与用户沟通获取需求的方法
访谈
面向数据流自顶向下求精
简易的应用规格说明技术
快速建立软件原型
中原工学院信息商务学院
3.2.1 访谈
访谈是最早开始使用且是迄今为止仍然广泛使用 的需求分析技术。
正式访谈 --- 系统分析员将提出一些事先准备好的具体问题。 非正式访谈 --- 分析员将提出一些用户可以自由回答的开放性问 题,以鼓励被访问人员说出自己的想法。
第3章 需求分析
《软件工程导论》(第5版)
中原工学院信息商务学院
目录
需求分析的任务
与用户沟通获取需求的方法
分析建模与规格说明
实体-联系图
中原工学院信息商务学院
目录
数据规范化
院信息商务学院
目标
列举信息收集技术技巧 设计项目的E-R图 设计项目的状态转换图
当需要调查大量人员的意见时,请被调查人填写 调查表是十分有效的做法。
中原工学院信息商务学院
3.2.1 访谈
在访问用户的过程中使用情景分析技术往往十分 有效。所谓情景分析,就是对用户将来使用目标 系统解决某个具体问题的方法和结果进行分析。 系统分析员利用情景分析技术往往能够获知用户 的具体需求。
1.初步的访谈,通过用户对基本问题的回答,初步确定待解决的问 题的范围和解决方案。 2.开发者和用户分别写出“产品需求”。 3.开发者和用户开会讨论,共同创建一张意见一致的组合列表。 4. 把与会者分成更小的小组,每个小组的工作目标是为每张列表 中的项目制定小型规格说明。小型规格说明是对列表中包含的 单词或短语的准确说明。 5. 每个小组向全体与会者展示他们制定的小型规格说明,讨论, 以创建出意见一致的确认标准。 6. 由一名或多名与会者根据会议成果起草完整的软件需求规格说 明书。
中原工学院信息商务学院
3.2.2 面向数据流自顶向下求精
图3.1面向数据流自顶向下求精过程
中原工学院信息商务学院
问题: 使用传统的访谈或面向数据流自顶向下求精方法 定义需求时,用户处于被动地位而且往往有意无 意地与开发者区分“彼此”。由于不能像同一个 团队的人那样齐心协力地识别和精化需求,这两 种方法的效果有时并不理想。
相关文档
最新文档