第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章学习需要分析

说明
通过调查研究,发现教学中需要解决的问题; 分析所面临的问题的性质,确定采用教学系统设计 的方法能否解决该问题,论证解决该问题的必要性; 分析现有的资源条件及可能受到的限制,明确进行 教学系统设计的可行性、重要性;形成总的设计目 标。 ——是一个系统化的调查研究过程 ——实质是分析教学系统设计的必要性和可行性 ——最终目的是形成总的设计目标
3、分析可行性:人、财、物的支持、重要性 4、形成“选择或开发课程计划及配套教材”的项目及项
目总目标
3.2 学习需要分析的基本步骤和方法
Stage1:深入调研,分析教学系统存在的 差距或问题
1)感觉到需要,教育机构做出要进行教 学系统设计的决定 2)鉴别问题的症状(问题表面现象) 3)确定问题解决后适用的范围
可行性分析
2)设计课题的认定:价值判断;排序 差距优先的标准:
1)差距的大小; 2)目的的重要性; 3)影响学习者的范围; 4)减少差距的可能性
价值判断:
定量:若(解决付出的代价a)<(不解决付出的代价 b),则该教学问题才值得解决。 定性-----课题的急需性、普遍性、推广价值、对教学改 革的价值、 对人员、时间和经费的要求如何?
6.对专家的意见进行综合处理。
教学系统设计(解决问题)必要性与可行
性的分析
分析问题的原因,确定问题的性质(知识、技能、 态度方面的教学是形成教学问题的众多原因之一) 必要性分析——问题的性质:
1)列出的差距是不是学习需要? 2)有没有可合并的差距 3)有没有非教学原因引起的差距? 4)剩下的知识、技能和态度方面的差距是否能通过一定的
外部参照分析法:是根据机构外社会(或职业)的要求 来确定对学习者的期望值,以此为标准来衡量学习者学 习的现状,找出差距,从而确定学习需要的一种分析方 法。

第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章 需求分析-软件工程案例教程(第2版)-李军国-清华大学出版社

第3章 需求分析-软件工程案例教程(第2版)-李军国-清华大学出版社
6
可行性研究的任务和目的
➢ 用最小的代价在尽可能短的时间内确 定问题是否能够解决。
➢ 确定问题是否能够解决和值得解决。 ➢ 分析可能的利弊关系。
➢ 对行动方针提出建议(是否可行)。
7
可行性研究的时间与成本
➢ 可行性研究实质上是在较高层次上以抽 象方式进行系统分析和设计的过程。
➢ 可行性研究需要的时间长短取决于工程 的规模。
仔细阅读和分析有关的材料,改正含糊或不正确的叙述, 清晰的描述目标系统。
➢ 识别用户的真正要求?(访问关键人员) ➢技术现状如何? (系统调研) ➢系统配置如何? (分析有关的材料) ➢系统维护能力如何? (系统调研) ➢ 系统配置与外部环境的接口什么样?(限制和约束) ➢ 技术上的风险有哪些? ➢ 是否具备技术资源? ➢ 开发人员是否得到培训? ➢ 是否存在法律责任和政治风险?
21
系统分析的内容
1. 环境分析 2. 物理分析 3. 功能分析 4. 信息分析 5. 动态分析
➢ 了解业务活动状况,特别是活动要点的分析。 ➢ 明确这些要点间什么在流动,如何流动。 ➢ 对物理流量进行分析。 ➢ 模型化,得到实际业务系统的物理模型。
22
系统分析的内容
1. 环境分析 2. 物理分析 3. 功能分析 4. 信息分析 5. 动态分析
➢ 了解系统应解决的问题是什么? ➢ 这些问题是如何提出的? ➢ 了解问题的结构。 ➢ 这些问题如何解决才能满足用户的要求?
17
案例: (库存管理)
找出问题
➢不能及时获得库存信息 ➢库存信息不够准确 ➢无法及时了解车间对库存商品的需求情况
18
系统分析过程
① 分析现实世界,充分理解当前系统,并用一个具体模 型描述,获得当前系统的物理模型。

第3章 需求分析及功能建模方法

第3章 需求分析及功能建模方法

第3章需求分析及功能建模方法3.1 需求分析概述3.1.1 需求分析概念1、所谓需求分折:就是对待开发的系统要做什么,完成什么功能的全面描述。

2、需求分析的工作:通过对需求的调查、了解、观察和分析,通过对原始数据的收集、分类和抽象,并采用有效的技术、工具,对原始资料进行加工整理,描述开发目标、实现的功能及其相互关系等活动的集合;3、需求的定义:客户对一个待开发的系统在实现目标、完成功能、应达到的性能、安全性、可靠性等方面的期望和要求的集合;4、需求获取的困难:(1) 软件功能复杂;(2) 需求的可变性;5、需求分析阶段的主要任务:分析当前的业务流程,包括体系结构,各职能部门完成的主要任务、关系及其交流的信息。

6、需求分析的结果通常以模型等建模工具和方法描述系统的信息流、功能结构及完成各功能需要的数据。

7、功能模型和软件需求规格说明书是软件开发的依据,将指导后续的开发工作。

8、需求分析工作是系统分析员与用户不断交互的过程中完成的。

3.1.2 系统分析员的职能1、系统分析员的主要要任务:是确定应用信息系统及软件产品应该达到的各项功能性要求和非功能性要求,即用户要做什么。

2、系统分析员应该具备的素质:(1) 获取需求的能力;(2) 管理及沟通能力;(3) 技术素养;3.1.3 需求获取的方法常用的几种获取需求的方法:(1)面谈;(2)实地观察;(3)问卷调查;(4)查阅资源;3.1.4 需求分析过程1、标识问题:(1) 需求分析的第一步,通过对问题的识别和标识获得所求解问题及其运行环境的理解;(2) 标识问题从现行系统的业务流程做起,理解现行系统的业务流程;(3) 在标识理解需求的同时,还要注意确定系统的人机界面;2、建立需求模型:(1) 模型是对现实原形所作的一种抽象,其本质是只关心与研究内容有关的因素,而忽略无关的因素,其目的是把复杂的事物变得简单,便于认识和分析;(2) 目前常用的模型方法主要有DFD数据流图和IDEFO,都属于结构化分析方法,其特征是抽象和分解;(3) 首先对应用领域进行全面的分析,发现并找出同类事物的本质,用抽象方法把这类事物的非主要方面剔除,把握住事物的内部规律或本质,就可以找到解决办法;然后采用自上而下逐步求精的方法对复杂的问题进行分解;(4) 结构化分析及建模方法的主要优点:(A) 不过早陷入具体的细节;(B) 从整体或宏观入手分析问题;(C) 通过图形化的模型对象直观地表示系统要做什么,完成什么功能;(D) 图形化建模方法方便系统分析员理解和描述系统;(E) 模型对象不涉及太多的技术术语,便于用户理解;3、描述需求:(1) 需求描述的目标:对软件项目功能性和非功能性的需求全面描述;(2) 功能性需求:指需要计算机实际解决的问题或实现的具体功能,明确描述系统必须做什么,实现什么功能以及输入输出等;(3) 非功能性需求:软件项目对实际运行环境的要求;(4) 需求描述主要由需求模型和需求说明书组成,说明书侧重文字说明,内容如下:需求概述;功能需求;信息需求;性能需求;环境需求;其他需求;(5) 在对需求进行分析过程中,系统分析员要经常考虑的问题:(A) 描述的需求是完全的吗?(B) 需求描述是正确的和一致的吗?(C) 描述的这些需求是可行的、实际可操作的吗?(D) 描述中的每一条需求都是客户需要的吗?4、确认需求:1、评审委员会审核下列内容:功能需求;数据需求;性能;数据管理;其他需求。

第3章 需求分析-大纲

第3章 需求分析-大纲

第三章需求分析
3.1 需求分析的任务和步骤
——需求分析的任务
……确定对系统的综合要求
……分析系统的数据要求
……建立软件的逻辑模型
——确定对系统的综合要求
……功能性需求
……非功能性需求:可用性,可靠性……
——分析系统的数据要求
……数据字典——定义数据
……层次方框图——定义数据结构
——建立软件的逻辑模型:数据流图、数据字典、实体-联系图、主要算法
——编写软件需求规格说明书
——需求分析评审
3.2 需求获取的常用方法(5个)
——访谈
——问卷调查
——观察用户工作流程
——建立联合分析小组
——快速原型法
3.3 需求分析的方法(4个)
——功能分解法:软件需求当做一棵倒置的功能树
——结构化开发方法:结构化分析、结构化设计和结构化程序设计
——信息建模方法:实体-联系图
——面向对象的分析
3.4 结构化分析技术
——思路:基于数据流图自顶向下逐层分解
3.5 需求分析图形工具
——实体-联系图(Entity-Relationship Diagram)
……实体定义:对软件必须理解的复合信息的抽象
……属性定义:数据对象的性质
……联系定义:数据对象彼此之间相互连接的方式
——数据字典
……定义:数据字典是关于数据的信息的集合,也就是对数据流图中包含的
所有元素的定义的集合。

……四类元素:数据流,数据流分量(即数据元素),数据存储,处理——层次方框图
……定义:用树型结构的一系列多层次的矩形框描绘数据的层次结构。

——IPO图(Input Process Output)。

第三章 劳动力需求分析

第三章  劳动力需求分析

(4)几个相关概念
边际产品(MP):一个单位的某种投入所带来的 实物产出变化。 劳动的边际产品(边际产量): 在资本保持 不变的情况下,劳动投入的数量单位变化 (ΔL)所导致的实物产出变化(ΔQ)。 MPL=ΔQ/ΔL
边际收益(MR):一个单位的某种投入所 带来的收益变化。在完全竞争的产品市场 上,厂商每个单位的产出的边际收益等于 产品价格(P)。 边际收益产品(MRP):一个单位的某种投 入所产生的边际收入。 MRP=MP×MR 劳动力的边际收益产品 MRPL=MPL×MR= ΔTR/ΔL= ΔQ/ΔL × ΔTR/ΔQ
(2)成本既定条件下的产量最大
K Q1 Q2 a Ke Kb
Q3
e
b C1
O
Le
Lb
L
我们同样考察上图发现:均衡点由等成本线与 等产量线切点决定,在均衡点实现了成本既定 条件下的常量最大。 根据等成本线与等产量线的特点,我们也可得 到在均衡点有下列等式成立:
MPL W MP K R
上述等式的含义即为企业实现利润最大化的条 件,也是企业长期劳动力需求必须遵循的条件。
3.2.1 பைடு நூலகம்全竞争的基本假设
(1) 市场条件假设 完全竞争市场的假设条件是: 其一,产品市场、劳动力市场有为 数众多的供给者和需求者,市场上任何 一个主体的供给量与需求量所占市场的 比例很小,从而任何一种交易无法影响 市场的价格。
其二,商品和服务生产中仅使用两 种同质的生产要素,即劳动力和资本。 其三,资源完全自由流动,企业和 劳动者均可以自由地进入或退出某个行 业。 其四,市场主体具有完全信息,且 获得信息的成本为零。
3.3.1 长期劳动力需求的基础知识
(1)等产量曲线:技术水平不变条件下生产同 一产量的两种生产要素的投入量的不同组合的轨 迹。 斜率为负 凸向原点(边际技术替代率递减) 密集性 离原点越远,产量越大 不能相交

第3章需求分析

第3章需求分析

3.2.2 面向数据流自顶向下求精
借助数据流图、数据字典、 图等, 借助数据流图、数据字典、据流图,等到各处理环节对应的功能。 细的数据流图,等到各处理环节对应的功能。
需要分解 有补充修正 分析追踪数 据流图 无补充 修正 细化数据流 不需分解 图
用户复查
5. 接口需求
用户接口、硬件接口、软件接口、通信接口等。 用户接口、硬件接口、软件接口、通信接口等。
6. 约束
精度、工具和语言、设计约束、硬件约束、标准等。 精度、工具和语言、设计约束、硬件约束、标准等。
7. 逆向需求 8. 将来可能提出的要求
3.1.2 分析系统的数据要求
通过建立数据模型来分析,如数据字典、层次方框图、 通过建立数据模型来分析,如数据字典、层次方框图、 Warnier图,并将数据结构规范化。 图 并将数据结构规范化。
图3.1 需求分析基本过程
3.2.3 简易的应用规格说明技术
面向团队的需求收集法: 用户与开发者配合) 面向团队的需求收集法: (用户与开发者配合) 1)初步访谈; )初步访谈; 2)开发者和用户分别写出“产品需求”; )开发者和用户分别写出“产品需求” 3)开会讨论,各自展示需求列表; )开会讨论,各自展示需求列表; 4)得出一致意见,为需求列表制定小型规格说明; )得出一致意见,为需求列表制定小型规格说明; 5)根据会议成果,起草完整的软件需求规格说明。 )根据会议成果,起草完整的软件需求规格说明。
3.2.4 快速建立软件原型
快速建立能演示目标系统主要功能的程序。 快速建立能演示目标系统主要功能的程序。 (1)第四代技术 ) (2)可重用的软件构件 ) (3)形式化规格说明和原型环境 )
3.3 分析建模与规格说明
3.3.1 分析建模

第3章 结构化需求分析

第3章  结构化需求分析
第3章 需求分析
为了开发出真正满足用户需求的软件 产品,首先必须知道用户的需求。 产品,首先必须知道用户的需求。
教学目的
掌握需求分析的任务 理解E-R图、数据流图、数据字典的编制 理解 图 数据流图、 理解解需求规格说明的制作
对软件需求的深入理解是软件开发工 作获得成功的前提和关键, 作获得成功的前提和关键,不论我们把设 计和编码工作做得如何出色, 计和编码工作做得如何出色,不能真正满 足用户需求的程序只会给用户带来失望, 足用户需求的程序只会给用户带来失望, 给开发者带来烦恼。 给开发者带来烦恼。
在非正式的访谈中, 在非正式的访谈中,将提出一些可以 自由回答的开放性问题, 自由回答的开放性问题,以鼓励被访问的 人员表达自己的想法,例如, 人员表达自己的想法,例如,询问用户为 什么对目前正在使用的系统感到不满意。 什么对目前正在使用的系统感到不满意。
当需要调查大量人员的意见时, 当需要调查大量人员的意见时,向被 调查的人员分发调查表是一个十分有效的 做法。 做法。
在对用户进行访谈的过程中使用情景 分析技术往往非常有效。 分析技术往往非常有效。所谓情景分析就 是对用户运用目标系统解决某个具体问题 是对用户运用目标系统解决某个具体问题 的方法和结果进行分析。 的方法和结果进行分析。
3.2.2 术
简易的应用规格说明技
这种方法提倡用户与开发者密切合作, 这种方法提倡用户与开发者密切合作, 共同标识问题,提出解决方案的要素, 共同标识问题,提出解决方案的要素,商 讨不同的方法并指定基本的需求。今天, 讨不同的方法并指定基本的需求。今天, 简易的应用规格说明技术已经成为信息系 统界使用的主流技术。 统界使用的主流技术。
快速原型应该具备的第二个特性是 容易修改” “容易修改”。如果原型的第一版不是用 户所需要的, 户所需要的,就必须根据用户的意见迅速 地修改它,构建出原型的第二版, 地修改它,构建出原型的第二版,以更好 地满足用户的需求。 地满足用户的需求。

《软件工程实用教程》第3_章_结构化需求分析

《软件工程实用教程》第3_章_结构化需求分析

第3 章 結構化需求分析
(2)分析與綜合 從資訊流和資訊結構出發,逐步細化軟 體的所有功能,找出系統各個元素之間 的聯繫、介面特性和對設計的限制,判 斷是否存在因片面性或短期行為而導致 的不合理需求,判斷是否有用戶尚未提 出的確實有價值的潛在需求,從而提出 其中不合理的部分,增加真正需要的部 分。
第3 章 結構化需求分析
2.系統需求:系統需求是比用戶需求更具有技 術特性的需求陳述,是提供給開發者或用戶 方技術人員閱讀的,並將作為軟體開發人員 設計系統的起點與基本依據。系統需求需要 對系統的功能、性能、數據等方面進行規格 定義。
第3 章 結構化需求分析
(1)功能需求 功能需求是軟體系統的最基本的需求表述,包 括對系統應該提供的服務,如何對輸入做出 反應,以及系統在特定條件下的行為描述。 在某些情況下,功能需求還必須明確系統不 應該做什麼,這取決於開發的軟體類型、軟 體未來的用戶、以及開發的系統類型。所以, 功能性的系統需求,需要詳細地描述系統功 能特徵、輸入和輸出介面、異常處理方法等。
第3 章 結構化需求分析
需求開發活動: 將系統級的需求分為幾個子系統,並 將需求中的一部份分配給軟體組件。 瞭解相關品質屬性的重要性。 商討實施優先順序的劃分。 將所收集的用戶需求編寫成規格說明 和模型。 評審需求規格說明
第3 章 結構化需求分析
需求管理活動包括: 定義需求基線 評審提出的需求變更、評估每項變更 的可能影響從而決定是否實施它。 以一種可控制的方式將需求變更融入 到專案中。 使當前的專案計畫與需求一致。 估計變更需求所產生影響並在此基礎 上協商新的承諾(約定)。
第3 章 結構化需求分析
本章學習內容: 1.掌握需求分析的基本概念 2.明確需求分析應遵循的原則 3.掌握如何使用需求獲取技術來進行數據 採集 4.掌握結構化分析的思想與過程 5.掌握數據流建模技術

软件工程第3章--软件需求分析

软件工程第3章--软件需求分析

2.4.4 用途
画数据流图的基本目的是利用它作为交流信息的工 具。分析员把他对现有系统的认识或对目标系统的 设想用数据流图描绘出来,供有关人员审查确认。 由于在数据流图中通常仅仅使用4种基本符号,而 且不包含任何有关物理实现的细节,因此,绝大多 数用户都可以理解和评价它。
数据流图应该分层,并且在把功能级数据流图细化 后得到的处理超过9个时,应该采用画分图的办法, 也就是把每个主要功能都细化为一张数据流分图, 而原有的功能级数据流图用来描绘系统的整体逻辑 概貌。
2.5 数据字典
数据字典是关于数据的信息的集合,也就是对数据 流图中包含的所有元素的定义的集合。
任何字典最主要的用途都是供人查阅对不了解的条 目的解释,数据字典的作用也正是在软件分析和设 计的过程中给人提供关于数据的描述信息。
数据流图和数据字典共同构成系统的逻辑模型,没 有数据字典数据流图就不严格,然而没有数据流图 数据字典也难于发挥作用。只有数据流图和对数据 流图中每个元素的精确定义放在一起,才能共同构 成系统的规格说明。
5. 接口需求
接口需求描述应用系统与它的环境通信的格式。常 见的接口需求有:用户接口需求;硬件接口需求; 软件接口需求;通信接口需求。
6. 约束
设计约束或实现约束描述在设计或实现应用系统时 应遵守的限制条件。在需求分析阶段提出这类需求, 并不是要取代设计(或实现)过程,只是说明用户或 环境强加给项目的限制条件。常见的约束有:精度; 工具和语言约束;设计约束;应该使用的标准;应 该使用的硬件平台。
3.4 实体-联系图
为了把用户的数据要求清楚、准确地描述出来,系 统分析员通常建立一个概念性的数据模型(也称为 信息模型)。概念性数据模型是一种面向问题的数 据模型,是按照用户的观点对数据建立的模型。它 描述了从用户角度看到的数据,它反映了用户的现 实环境,而且与在软件系统中的实现方法无关。

L-第三章-软件工程课件需求分析

L-第三章-软件工程课件需求分析
6
教学要求
教学目的:了解需求分析的任务和步骤、评 审标准和过程;掌握基本技术,理解需求规 格说明书的作用与组成。 教学重点:基本技术、需求规格说明书的作 用与组成。 教学难点:基本技术。
7
需求分折简介
软件需求指用户对所开发的软件在功能、 性能、环境、可靠性等各方面的要求。
需求分析主要回答待开发的系统必须 “做什么”,并用 《 需求规格说明书 》 的 形式准确、详细、规范地表达出来。
8
注意
①需求分析阶段,系统分析员的主要关注点 是“做什么( what ) ” ,不是“怎样做 ( how)”; ②需求分析阶段,系统分析员应该给出软件 求规格书。
9
§3.1需求分析的任务
四项主要任务: 1 、确定对系统的综合要求 2 、分析系统的数据要求 3 、导出系统的逻辑模型 4 、修正系统开发计划
34
一、基本概念(2)
联系:客观事物之间的联系。联系分为三种: 一对一( 1 : 1 ) .班级和班长 一对多联系( 1 : N ) .班级和学生,系与教师,学生与宿舍 多对多联系( M : N ) 课程与学生,教师和课程,学生和学会 二、 E 一 R 图的结构 三种基本元素:
35
例:教学E-R图
46
注意的原则 ( 1 )
数据流图上所有图形符号只限于前述四种基本图 形元素; 数据流图的主图必须包括前述四种基本元素,缺 一不可; 数据流图的主图上的数据流必须封闭在外部实体 之间; 每个数据处理至少有一个输入数据流和一个输出 数据流; 在数据流图中,需按层给数据处理框编号。编号 表明该处理所处层次及上下层的亲子关系;
36

仓库,职工,零件和供应商的ER图
37
三、如何建立实体一联系图?
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向数据流自顶向下求精过程
3.2.3 简易的应用规格说明技术

简易的应用规格说明技术是一种面向团队的需
求收集法。 这种方法提倡用户与开发者密切合作,共同标 识问题,提出解决方案要素,商讨不同方案并 指定基本需求。

分析需求的典型过程如下: 1. 初步访谈,准备会议 首先进行初步的访谈,初步确定待解决的问题 的范围和解决方案。 然后开发者和用户分别写出“产品需求”。选 定会议的时间和地点,并选举协调人。 2. 会前审查需求,确定列表 要求每位与会者在开会的前几天认真审查产品 需求,并且列出对象、操作这些对象或与这些 对象交互的服务、约束条件和性能标准。
数据模型中包含3种相互关联的信息:


数据对象 数据对象的属性 数据对象彼此间相互连接的关系
3.4.1 数据对象

数据对象:是对软件必须理解的复合信息的抽 象。复合信息是指具有一系列不同性质或属性 的事物,仅有单个值的事物不是数据对象。 数据对象可以是外部实体、事物、行为、事件、 角色、单位、地点或结构等。 数据对象彼此间是有关联的。
3.3 分析建模与规格说明 3.3.1 分析建模


模型:就是为了理解事物而对事物做出的一种 抽象,是对事物的一种无歧义的书面描述。通 常,模型由一组图形符号和组织这些符号的规 则组成。 结构化分析过程:实质上是一种创建模型的活 动。系统分析员从不同角度抽象出目标系统的 特性,使用精确的表示方法构造系统的模型, 验证模型是否满足用户对目标系统的需求,并 在设计过程中逐渐把和实现有关的细节加进模 型中,直至最终用程序实现模型。
需求管理存在的问题: 范围问题:系统目标、边界未被良好定义,用 户和开发团队理解不一致。 理解问题:用户不能完全了解自己需要什么, 对系统能力、局限更加不清楚;工程师不理解 用户的问题域和应用环境。 易变问题:需求随时间发生变化。
需求工程: 20世纪80年代中期,形成了软件工程的子领 域——需求工程。 进入20世纪90年代后,需求工程称为软件界研 究的重点之一。 Alan Davis 把需求工程定义为“直到(但不包 括)把软件分解为实际架构构件之前的所有活 动”。


3.4.2 属性

属性:定义了数据对象的性质。必须把一个或
3.1.2 分析系统的数据要求



建立数据模型——ER图 描绘数据结构——层次方框图和Warnier图 数据结构规范化
3.1.3 导出系统的逻辑模型

综合上述两项分析的结果可以导出系统的详细
的逻辑模型,通常用数据流图、实体-联系图、
状态转换图、数据字典和主要的处理算法描述
这个逻辑模型。
3.1.4 修正系统开发计划
我国定义了GB856D-1988国家标准,给出了需求规格说 明的内容框架:
1 引言 1.1 编写目的 1.2 项目背景(单位和其他系统 的关系) 1.3 定义(专门术语和缩写词) 2 任务概述 2.1 目标 2.2 运行环境 2.3 条件限制 3 数据描述 3.1 静态数据 3.2 动态数据 3.3 数据库描述 3.4 数据字典 3.5 数据采集 4 功能需求 4.1 功能划分 4.2 功能描述 5 性能需求 5.1 数据精确度 5.2 时间特性 5.3 适应性 6 运行需求 6.1 用户界面 6.2 硬件接口 6.3 软件接口 6.4 故障处理 7 其他需求 (检测或验收标准、可用性、可 维护性、可移植性、安全保密性)


快速原型的特性:

“快速”。快速原型的目的是尽快向用户提供 一个可在计算机上运行的目标系统的模型。因 此,原型的某些缺陷是可以忽略的。

“容易修改”。如果原型的第一版不是用户所 需要的,就必须根据用户的意见迅速地修改它, 构建出原型的第二版,以更好地满足用户需求。 如果修改耗时过多,势必延误软件开发时间。
3. 会上讨论列表,创建组合列表 每位与会者展示列表供大家讨论。大家共同创建一 张组合列表。由协调人主持讨论这些列表。 4. 分组制定小型规格说明 与会者分成更小的小组,为每张列表中的项目制定 小型规格说明。每个小组都向全体与会者展示他们 制定的小型规格说明,供大家讨论。 5. 制定确认标准,起草需求规格说明书 每个与会者都制定出产品的一整套确认标准,并提 交会议讨论,以创建出意见一致的确认标准。 最后,起草完整的软件需求规格说明书。
简易的应用规格说明技术的优点:

开发者与用户不分彼此,齐心协力,密切合作; 即时讨论并求精; 有能导出规格说明的具体步骤。
3.2.4 快速建立软件原型

快速建立软件原型是最准确、最有效、最强大
的需求分析技术。 快速原型就是快速建立起来的旨在演示目标系 统主要功能的可运行的程序。 构建原型的要点是,它应该实现用户看得见的 功能,省略目标系统的“隐含”功能。
传统与现代需求方法的比较:
需求管理过程 需求管理功能 需求管理思想方法 一成不变的观点, 局 限 于 需 求 分 注 重 具 体 的 需 注重“描述”的方 传统 析这一个阶段 求分析方法 法和过程,是纯技 术性的转换
功能范围更广, 包括获取、分 全过程的,注 注重需求实现与维 析、处理、验 现代 重 整 个 产 品 过 护过程,处理不断 证、实现和全 程的全部 变更的系统需求 过程的需求管 理
快速原型通常使用下述3种方法和工具:
(1) 第四代技术(4GL)

第四代技术包括众多数据库查询(如SQL)和
报表语言(如ADF)、程序和应用系统生成器
(如Power Builder和Oracle的应用开发环境)
以及其他非常高级的非过程语言。

第四代技术使得软件工程师能够快速地生成可 执行的代码,它们是较理想的快速原型工具。



需求:正在构建的系统必须符合的事务。 需求管理:是一种获取、组织并记录系统需求 的系统化方案以及一个使客户与项目团队不断 变更的系统需求达成并保持一致的过程。 传统需求分析:强调需求的记录,以一成不变 的观点对待需求,不重视需求实现与维护。 现代需求过程:包括需求的获取、分析、处理、 验证、实现和全过程的需求管理。需求管理覆 盖软件工程的整个过程。
需求工程的阶段划分:
现代软件工程的需求工程 需求开发过程 需求获取 需求分析 需求处理 需求确认 需求管理过程 需求实现 需求跟踪 需求变更控制
3.1 需求分析的任务

确定对系统的综合要求
分析系统的数据要求
导出系统的逻辑模型
修正系统开发计划
3.1.1 确定对系统的综合要求
1. 功能需求 2. 性能需求 3. 可靠性和可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 7. 逆向需求 8. 将来可能提出的要求



需求分析过程 应该建立3种模 型,分别是:

数据模型
处 述 理 描
功能模型
规 格





数据模型 功能模型 行为模型




-关



数据 字典


状态转换图
控制规格说明 行为模型
分析模型的结构




数据字典:是分析模型的核心,它描述软件使 用或产生的所有数据对象。 实体-联系图:描绘数据对象及数据对象之间 的关系,是用于建立数据模型的图形。 数据流图:描绘当数据在软件系统中移动时被 变换的逻辑过程,指明系统具有的变换数据的 功能,因此,数据流图是建立功能模型的基础。 状态转换图(简称为状态图):指明了作为外部 事件结果的系统行为。为此,状态转换图描绘 了系统的各种行为模式(称为“状态”)和在不 同状态间转换的方式。状态转换图是行为建模 的基础。
2.2 打印 存单 存单
存款信息 储户
3.1 验证 账户
取款额 取款额
3.3 计算 利息 利息 3.4 打印利息 清单
账户信息 密码 储户 3.2 核对 密码
利息清单
细化的数据流图
3.4 实体-联系图

概念性数据模型是一种面向问题的数据模型, 是按照用户的观点对数据建立的模型。它描述 了从用户角度看到的数据,它反映了用户的现 实环境,且与在软件系统中的实现方法无关。
第四代技术特点: 简单易学,用户界面良好,面向问题、非过程化程度 高,用户只需告知系统做什么,而无需说明怎么做。 用4GL编程使用的代码量较少,并可成数量级地提高 软件生产率。 程序设计语言划代: 1GL是汇编语言; 2GL是高级程序设计语言,如FORTRAN,ALGOL, BASIC,LISP等; 3GL是增强性的高级程序设计语言,如PASCAL, ALGOL68,FORTRAN77等; 4GL是按计算机科学理论指导设计出来的结构化语言, 如ADA,MODULA-2,SMALLTALK-80,JAVA, VB,VC,VF等。

根据在分析过程中获得的对系统的更深入更具
体的了解,可以比较准确地估计系统的成本和 进度,修正以前制定的开发计划。
3.2 与用户沟通获取需求的方法

访谈
面向数据流自顶向下求精
简易的应用规格说明技术
快速建立软件原型
需求分析综合症 解决方案 需求诱导的方法:
被动式沟通 用户讲故事 介绍游戏规则 输出结果 主动式沟通 幻灯片放映 动画制作 仿真演示 交互演示 现场演示 复杂程度与成本 原型开发 交互式沟通
(2) 可重用的软件构件 另外一种快速构建原型的方法,是使用一组已 有的软件构件(也称为组件)来装配(而不是从头 构造)原型。 软件构件可以是数据结构(或数据库),或软件 体系结构构件(即程序),或过程构件(即模块)。 (3) 形式化规格说明和原型环境 非形式化方法:自然语言描述 半形式化方法:数据流图或实体-联系图 形式化方法:基于数学的技术
相关文档
最新文档