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章 需求分析

第3章需求分析一、填空题(30小题)1、需求分析的困难主要体现在4个方面:问题的复杂性、( )、( )、需求易变性。

答案:交流障碍、不完备性和不一致性2、由于数据流是流动中的数据,所以必须有( )。

除了与( )之间的数据流不用命名外,数据流应该用名词或名词短语命名。

答案:流向、数据存储3、需求分析是指,开发人员要准确理解( ),进行细致的( ),将用户非形式的需求陈述转化为( ),再由( )转换到相应的形式功能规约(需求规格说明)的过程。

答案:用户的要求、调查分析、完整的需求定义、需求定义4、建立数据字典一般的两种形式是( )和( )。

答案:手工建立、利用计算机辅助建立并维护5、在进行可行性研究和软件计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入( )阶段。

答案:需求分析6、结构化语言是介于自然语言(英语和汉语)和形式化语言之间的一种半形式语言。

它的结构可分成外层和内层两层,外层用来描述( ),采用( )、( )、( )三种基本结构。

答案:控制结构、顺序、选择、重复7、在SA的需求描述工具中,( )描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。

( )定义了数据流图中每一个图形元素。

结构化语言、判定表和判定树则详细描述数据流图中不能被再分解的( )。

答案:数据流图、数据字典、每一个加工8、IDEF方法分为以下三部分。

IDEF0:用来描述系统的( ),建立系统的( )。

IDEF1:用来描述系统的( ),建立系统的( )。

IDEF2:用来进行系统的( ),建立系统的( )。

答案:功能活动及联系、功能模型、信息及其联系、信息模型、模拟、动态模型9、三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用( )描述。

对于存在多个条件复杂组合的判断问题,用( )和( )。

答案:结构化语言、判定表、判定树10、经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。

张海藩《软件工程导论》(第6版)(课后习题 第3章 需求分析)【圣才出品】

张海藩《软件工程导论》(第6版)(课后习题 第3章 需求分析)【圣才出品】

第3章需求分析1.为什么要进行需求分析?通常对软件系统有哪些需求?答:(1)需求分析的原因为了开发真正满足用户需求的软件产品,需求分析是软件开发工作获得成功的前提条件,不能满足用户需求的程序只会令用户失望,给开发者带来烦恼。

(2)对软件系统的需求功能需求、性能需求、可靠性和可用性需求、出错处理、借口需求、约束、逆向需求、将来可能提出的要求。

2.怎样与用户有效地沟通以获取用户的真实需求?答:访谈是最早开始使用的获取用户需求的技术,也是目前广泛使用的需求分析技术,访谈有两种形式,分别是正式的和非正式的访谈。

正式访谈时,系统分析员将提出一些事先准备好的具体问题。

在非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法。

其中情景分析技术往往非常有效。

3.银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

用数据流图描绘系统中的数据对象,并用实体联系图描绘系统中的数据对象。

答:(1)数据流图,如图3-9所示。

图3-9银行计算机储蓄系统数据流图(2)E-R模型如图3-10所示。

本题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。

因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(M:N)关系。

储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。

图3-10银行计算机储蓄系E-R图4.分析习题2第3题所述的机票预订系统。

试用实体一联系图描绘本系统中的数据对象并用数据流图描绘本系统的功能。

第3章+需求分析教学教案

第3章+需求分析教学教案

必须请用户对上述分析过程中得出的结果仔细
地复查,数据流图是帮助复查的极好工具。从输入 端开始,分析员借助数据流图、数据字典和IPO图 向用户解释输入数据是怎样一步一步地转变成输出 数据的。这些解释集中反映了通过前面的分析工作 分析员所获得的对目标系统的认识。这些认识正确 吗?有没有遗漏?用户应该注意倾听分析员的报告, 并及时纠正和补充分析员的认识。复查过程验证了 已知的元素,补充了未知的元素,填补了文档中的 空白。
3.1需求分析的任务
还有许多问题存在,如数据字典准确性和完整性、算法的 正确性和有没有遗漏必要的处理或数据元素等。
用户对前一个分析步骤中得出的结果仔细地进行复查。用 户应该注意倾听分析员的报告,确定对目标系统的认识是否正 确、有无遗漏,并及时纠正和补充分析员的认识。复查过程验 证了已知的元素,补充了未知的元素,填补了文档中的空白。
3.2.2 面向数据流自顶向下求精
结构化分析方法SA就是面向数据流自顶向下逐 步求精进行需求分析的方法。通过可行性研究已经 得出了目标系统的高层数据流图,需求分析的目标 之一就是把数据流和数据存储定义到元素级。为了 达到这个目标,通常从数据流图的输出端着手分析, 这是因为系统的基本功能是产生这些输出,输出数 据决定了系统必须具有的最基本的组成元素。
为了解决这些问题,往往需要向用户和其他有
关人员请教,他们的回答使分析员对目标系统的认 识更深入更具体了,系统中更多的数据元素被划分 出来了,更多的算法被搞清楚了。通常把分析过程 中得到的有关数据元素的信息记录在数据字典中, 把对算法的简明描述记录在IPO图(见3.7节)中。通 过分析而补充的数据流、数据存储和处理,应该添 加到数据流图的适当位置上。
3.1需求分析的任务
3. 提出系统的逻辑模型

军事需求工程技术:3需求分析

军事需求工程技术:3需求分析

化几乎是不可避免的。对这一点可能会感到不可理解, 是最底层的原理。 分析人员在通过前面的分析之后, 建立了功能的层 为什么看起来完整而准确的需求会发生变化?事实上, 这种变化有时来源于分析中出现的盲点, 有时来源于系 统用户的环境发生了变化。 因此必须对需求变化的不可 避免性有清楚的认识, 采取必要的措施在开发过程中消 除这种变化的影响才是首先要考虑的。 需求变化的不可 避免性并不应该影响需求分析工作中所要求的精确和 次关系, 但功能之间的顺序关系、 物质能量关系等还没 有表现出来, 因此必须建立功能的数据结构图。功能的 数据结构图是根据功能/子功能的需要设计的,是依据 功能的分解和求解建立的。通过建立功能的数据结构 图, 可以明确从该系统功能所划分出的子功能及其间的
图 1 需求分析方法论分类示意图
1.功能分解法 功能分解 = 功能+ 子功能+ 功能接口 功能分解法 (function decomposition ) 以系统需要 提供的功能为中心来组织系统。首先定义各种功能, 然 后把功能分解为子功能, 同时定义功能之间的接口。对 较大的子功能再进一步分解, 直到可对它给出明确的定 义。功能分解过程需要确定停止层, 以便控制功能分解 的层次和各个功能与方法的意义。 分解底层在用来解决 问题的原理域中确定, 因为一个功能如果能方便的由原 理实现,那就不必进行分解了。但是, 目前还没有系统的 理论方法去确定停止层。因此, 在分解过程中要充分利 用设计人员的知识:如果原理能与已有的部件对应, 或 设计者认为该原理的实际实现已很容易, 则这些原理就
详细。反过来, 需求分析工作越详细、 越精确, 需求的变 化所造成的影响就会越小。
三、 需求分析方法
在系统分析发展的同时, 需求分析也通过自身理论 的发展和对多年经验的总结,得出了几类分析方法, 当 中最有影响的几种方法有功能分解法、 数据流法 (又称 结构化分析方法) 、 信息建模法和80 后代后期兴起的面 向对象的分析方法, 其关系如图1 所示。

第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 需求分析-1 任务获取

3 需求分析-1 任务获取
8
非功能需求
安全保密
♦ 系统备份 ♦ 系统版权
软件成本消耗与开发进度
♦ 软硬件投资 ♦ 规定时间表?
9
3.1.1 确定对系统的综合要求
例:某高校医疗费管理系统的需求分析
♦ 某高校医疗费分为校内门诊费、校外门诊费、 住院费、子女医疗费4种,要求在数据库中存放 每个职工的职工号、姓名、所属部门。职工报 销时填写所属部门、职工号、姓名、日期、医 疗费种类和数额。 ♦ 该校规定,每年每个职工的医疗费报销有限额, 限额在年初时确定,每个职工一年内报销的医 疗费不超过限额时可全部报销;超过限额时, 超出部分只可报90%,职工个人负担10%。子 女医疗费也有限额,超出部分可报销50%。
13
3.1.1确定目标系统的具体要求
(3)系统功能 主要功能有:数据输入、结算、累加、 统计、查询及系统维护等。
♦ ①数据输入:
• 报销日期、职工号、姓名、部门、校外门诊费、 校内门诊费、住院费、子女医疗费。输入数据后, 根据是否超额计算本次可报销的数额。
♦ ②结算
• 结算当日报销人数、各类医疗费总额及所有类别 的总额,供核对。若数额有误,将当日报销人员 和分类数额全部列出,供出纳员仔细核对,若发 现错误,则进入“修改”模块进行修改。
14
3.1.1确定目标系统的具体要求
♦ ③修改
• 会计帐是不能随意更改的,这里只允许修改当天 输入的错误数据。
♦ ④累加 …… ♦ ⑤统计 …… ♦ ⑥查询 …… ♦ 系统维护 ……
15
3.1.2 确定对系统数据要求
♦ 分析系统的数据要求,建立数据模型:数据 字典、方框图、WaБайду номын сангаасnier图。
(2)系统的性能要求

软件工程3要素

软件工程3要素

软件工程3要素
软件工程的三个要素是:需求分析、设计和编码、测试与维护。

1. 需求分析:需求分析是软件工程的第一步,它涉及到了对用户需求的分析和理解。

在这个阶段,软件工程师与用户或客户进行交流,确定软件需要实现的功能和目标,并将这些需求转化为明确的、可执行的规范。

需求分析的目标是确定软件的功能和性能需求,为后续的设计和编码提供基础。

2. 设计和编码:设计和编码是软件工程的核心环节,它涉及到了如何将需求转化为具体的软件系统。

在设计阶段,软件工程师使用各种设计方法和工具来定义软件的结构、组织和行为,并确定合适的算法和数据结构。

在编码阶段,软件工程师将设计好的系统转化为计算机可执行的代码,使用编程语言来实现软件功能。

设计和编码的目标是按照需求规范,开发高质量、可维护、可扩展的软件系统。

3. 测试与维护:测试与维护是软件工程的最后一个阶段,它涉及到对已开发的软件系统进行测试和修复错误,以确保其质量和可靠性。

在测试阶段,软件工程师使用各种测试方法和工具对软件系统进行验收测试、功能测试、性能测试等,并修复测试中发现的问题。

在维护阶段,软件工程师监听用户的反馈和需求变化,对软件系统进行更新和修复,确保软件系统一直处于可运行和可用的状态。

测试与维护的目标是确保软件系统满足用户需求,并能持续运行和发展。

需求分析的3个层次

需求分析的3个层次

需求分析的3个层次马斯洛需求层级理论也好,Y方法论、Z方法也好,归根到底都是一些思考框架和方法,如何把握需求、提炼需求,还是需要我们在真实的环境中多聊、多看、多做。

无论是市场营销还是产品设计,“需求”这个词,是最频繁被提及的词汇。

在市场营销领域,无论是新的产品的研发设计,还是制定推广活动方案,我们需要做的是“消费者洞察”。

所以市面上有大量的调查公司,帮助品牌通过问卷、焦点小组访谈等方式,收集用户反馈,以求获得insight。

近些年,随着互联网行业兴起和产品经理岗位的火热,“需求”一词有反复被提及,需求分析成为产品经济的必备技能之一;在“人人都是产品经理”上搜索8,226条结果。

马斯洛需求层级理论也好,Y方法论、Z方法也好,归根到底都是一些思考框架和方法,如何把握需求、提炼需求,还是需要我们在真实的环境中多聊、多看、多做。

需求的第一个层次:需求的忠实记录者腾讯推崇产品文化,其有一个著名的「10/100/1000法则」:即每位产品经理每个月必须做 10 个用户调查,关注 100 个用户博客,收集反馈 1000 个用户体验。

于是,很多产品经理,特别是刚刚进入产品领域的新手,每天将“用户需求”、“使用场景”这些词挂在嘴边,并践行腾讯的「10/100/1000法则」,每天都在记录用户的反馈和槽点。

能坚持倾听用户反馈并记录用户需求,固然不错,然而这还不够。

举一个小例子。

早些年,针对B端广告主制作视频素材的需求,做了一个小工具,小白用户选定模板之后按规定上传图片或者视频,就可以渲染出一支质量还凑合的视频,并且可以直接推送到投放后台。

然而,很多广告主在后台留言,希望能开放下载功能。

这个时候,我们就面临着一个选择:是否需要开放下载?需求的第二个层次:需求的挖掘机多问一句Why,发掘需求背后的动因。

通常情况下,用户通过语言或者文字表达出来的,只是最直接的功能指向。

每一个功能指向背后,都暗藏着一个刺激因素,这个刺激因素才是用户真正希望解决的问题。

第三章:需求分析PPT课件

第三章:需求分析PPT课件

-
3.2 获取需求的方法
1、访谈
访谈有两种基本形式,分别是正式的和非正式的访谈。
当需要调查大量人员的意见时,向被调查人分发调查表 是一个十分有效的做法。
在访问用户的过程中使用情景分析技术往往非常有效。
情景分析技术的用处主要体现在下述两个方面:
(1) 它能在某种程度上演示目标系统的行为,从而便于用户 理解,而且还可能进一步揭示出一些分析员目前还不知道 的需求。
一般使用第三范式。
17
-
3.6 状态转换图
在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简 称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统 的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例 如,处理数据)。
1、状态
状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种 行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可 以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是 既改变状态又做动作。
7.其它需求
-
3.4概念模型
最常用的表示概念性数据模型的方法:实体—联 系方法(Entity-Relationship Approach),简称ER模型。
E-R模型包含三个基本成分:“实体”、“联 系”、“属性”
(1)实体:是客观世界中存在的且可相互区分的事物。 它可以是人或物,也可以是具体事物或抽象事物。 – 例如:教师、学生、课程是实体。 实体用矩形框表示,如: 教师
在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态) 和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。

第3章 需求分析

第3章 需求分析
6
软 件 工 程
4. 出错处理需求
这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到 从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这 类错误并不是由该应用系统本身造成的。 在某些情况下,“出错处理”指的是当应用系统发现它自己犯下一 个错误时所采取的行动。但是,应该有选择地提出这类出错处理需求。 我们的目的是开发出正确的系统,而不是用无休止的出错处理代码掩盖 自己的错误。总之,对应用系统本身错误的检测应该仅限于系统的关键 部分,而且应该尽可能少。 3.7.6 故障处理 a. 内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 b. 外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运 行,在需求调用时出错,有错误提示,重试。
(1)必须理解并描述问题的信息域,根据这条准则应该建 立数据模型。 (2)必须定义软件应完成的功能,这条准则要求建立功能 模型。 (3)必须描述作为外部事件结果的软件行为,这条准则要 求建立行为模型。 (4)必须对描述信息、功能和行为的模型进行分解,用层 次的方式展示细节。
12
第 3 章 需 求 分 析
据存储(可行性研究得到的高层数据流图)定义到元素级。
沿数据流图从输出端往输入端回溯着手分析。
第 3 章 需 求 分 析
图3.1 面向数据流自顶向下求精过程
15
3.2.3 简易的应用规格说明技术 软 件 工 简易的应用规格说明技术(面向团队的而求收集法)提倡用户 程 与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同
18
软 件 工 程
3.3.2 软件需求规格说明
通过需求分析除了创建分析模型之外,还应该写出软件 需求规格说明书,它是需求分析阶段得出的最主要的文档。 通常用自然语言完整、准确、具体地描述系统的数据要 求、功能需求、性能需求、可靠性和可用性要求、出错处理 需求、接口需求、约束、逆向需求以及将来可能提出的要求。 自然语言的规格说明具有容易书写、容易理解的优点,为大 多数人所欢迎和采用。 为了消除用自然语言书写的软件需求规格说明书中可能 存在的不一致、歧义、含糊、不完整及抽象层次混乱等问题, 有些人主张用形式化方法描述用户对软件系统的需求,第4章 将简要地介绍形式化说明技术。

(管理经济学课件)第3章 需求弹性与需求分析

(管理经济学课件)第3章 需求弹性与需求分析
什么影响。
1、求需求的价格弹性
弧弹性
❖ 如果价格变化的幅度很小,可以用点弹性; ❖ 如果价格变化的幅度比较大,则须用弧弹性。
❖处理方法是,取两点连 线的中点作为衡量价格与 需求量变化的基础。
EP Q (Q2 Q1) • (P2 P1) P (P2 P1) (Q2 Q1)

假定在某企业的需求曲线上,当P=2时,Q=20;当 P=5时,Q=5。求价格从2元到5元之间的弧价格弹性。
❖ 产业的收入弹性是影响产业发展的主要因素 之一。
❖ 需求的收入弹性较高的产业,随着人均收入 水平的提高,其发展前景也就会很大。
❖ 应当选择进入需求收入弹性较大的产业。
收入弹性与企业决策
❖ 家用空调普及率与人均可支配收入 ❖ P91,表3-4,收入越高,弹性越小。 ❖ 对于低收入家庭,需求收入弹性大,空调属
需求点弹性的四种类型
图(c) 中,直角 双曲线,K为 大于零的常数, 价格弹性等于
1; 图(d)中,斜率
只有一个。
证明:如果PQ=k,则价格弹性为1.
证明: P
k , dP Q dQ
k Q2
,
dP dQ
k Q2
dQ Q2 Q2 Q , dP k PQ P
EP dQ P 1 dP Q
解:已知Q1=20,Q2=5;P1=2,P2=5;
EP
Q2 Q1 P2 P1
P2 P1 Q2 Q1
5 20 5 2 1.4 5 2 5 20
即价格从2元到5元之间的弧价格弹性为1.4。
需求曲线与价格弹性
❖ 一般地,越平坦的需求曲线,价格弹性越大; 越陡峭的需求曲线,价格弹性越小。
❖ ① dP > 0涨价,则 dQ < 0,可知 dTR < 0,即销 售收入减少;

第3章 需求分析-大纲

第3章 需求分析-大纲

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

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

——IPO图(Input Process Output)。

第3章 结构化需求分析

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

《软件工程学》第3章 需求分析-答案

《软件工程学》第3章 需求分析-答案

3.1 需求分析的任务和步骤1.需求分析阶段产生的文档是软件需求规格说明书。

2.需求分析的任务是要建立软件的逻辑模型。

3.分析系统的数据要求是软件需求分析阶段的一个重要的任务。

4.需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审5.需求规格说明书是在计划时期可行性研究阶段产生的文档。

(×)6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。

(×)7.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。

(√ )8.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。

(√ )3.2 需求分析获取的常用方法3.3 需求分析的方法3.4 结构化分析技术1.要将一个复杂的系统分析清楚,常用方法的结构化分析方法就是( A )A.面向数据流自顶向下逐步求精的方法B.由内向外进行分析的方法C.先局部后整体的分析方法D.使用IPO图形工具分析的方法2.结构化程序设计的一种基本方法是( D )。

A.筛选法B.递归法C.归纳法D.逐步求精法3.结构化程序设计主要强调的是( A )。

A.程序易读性B.程序的效率C.程序的规模D.程序设计语言的先进性4.下列各种叙述中,哪一个不是结构化方法的特征?( C )A.严格定义需求B.划分开发阶段C.提供运行模型D.制定规范文档5.通常所说的结构化设计(SD)是属于基于( B )的设计方法。

A.数据结构B.数据流C.对象D.以上均可6.通常所说的结构化设计方法就是基于数据流的设计方法。

7.结构化程序设计强调模块采用自上而下逐步求精设计方法,单入口、单出口。

(√ )3.5 需求分析图形工具。

3.需求分析

3.需求分析

11、职业 错误话术:大哥,你做哪一行的啊? 建议话术:这么热的天,您是怎么过来的啊?您好成功啊, 这么年轻就开车了,我得向您学习。(寒暄或者赞美来 铺垫) 大哥做哪行的啊?(有赞美的空间别忘记赞美) 话术分析:了解客户的职业也可以发现某些隐性需求,而 且赞美客户的职业可以让客户有一种尊贵感。
谢谢观看!
7、购车时间、使用地点 错误话术:您决定什么时候买车? 建议话术:大哥,您什么时候要用到车呢? 话术分析:第一种方式重点在“买”上,会让客户紧张,产生对抗情绪, “是不是要强迫我购买”。 后一种方式让客户觉得你在关心他,而且可以有效的刺探客 户的诚意。 8、客户是不是决策者
错误话术:您自己可以定下来吗?您自己可以做主吗?您看中后还需要 其他人来看吗?
建议话术:您还需要参考家人的意见吗?(家用) 选购这台车式您全权负责的吧。(公用) 话术分析:上述错误话术前两种语气生硬,没有礼貌,容易激怒客户。 第三种貌似比较礼貌,实际上是对客户权威的挑战。
9、第几次来店 错误话术:大哥您好,您是第一次来我们店吗? 建议话术:大哥您好,欢迎光临。天气真热(冷),快进来吹吹空调。 看您好面熟啊,咱们应该见过,您是不是来过我们店啊?(不管是 不是面熟) 话术分析:生硬的问客户是不是初次来店也会让客户产生防备心理 “没来过是不是你们就能放开手脚忽悠我”。 第二种方式采用套近乎的方式,更容易拉近与客户的关系。 10、信息渠道 建议话术:您从什么渠道了解到我们店和车型的信息的呢?报纸还 是……? 话术分析:了解这个信息,是为了完善表卡中的信息,对销售服务店 的数据统计提供参考,更深层次是为了销售服务店的运营管理。
需求分析
1 需求冰山理论 思考: 在采购的求 客户知道而且愿意说出来的需求
隐性需求 客户知道但不愿意说出来,或并不自知但内在需要的需求 创造需求——需求是需要销售人员去激发和创造的,比如说: 连带销售的方式。

3 需求分析-业务流程图和数据流程图

3 需求分析-业务流程图和数据流程图

• 业务流程图 • 数据流程图
业务流程图与数据流图的区别
1 描述对象不同
• 业务流程图的描述对象是某一具体的业务; 数据流程图的描述对象是数据流。
• 业务是指企业管理中必要且逻辑上相关的、 为了完成某种管理功能的一系列相关的活 动。将一项业务处理过程中的每一个步骤 用图形来表示, 并把所有处理过程按一定的 顺序都串起来就形成了业务流程图。
需求分析-业务流程图
车海莺
思考
• 请你向一个***软件开发公司描述你想开发 一个Iphone4 销售部门的业务管理系统或者 你是***软件开发公司的系统分析人员,你 如何描述该销售部门的业务,系统有如下 功能?
• 网上预订 • 订单管理 • 故障处理和维修记录
需求工程
需求是什么?需求就是以一种清晰、简洁、 一致且无二义性的方式,对一个待开发系 统中各个有意义方面的陈述的一个集合。
• 根据现金收付款凭证登记现金日记帐。 • 根据银行收付款凭证登记银行存款日记帐。 • 根据银行送来的对帐单对银行存款日记帐核对。 • 根据记帐凭证及所付原始凭证登记有关明细帐。
• 根据记帐凭证,按相同的借贷方汇总出科目汇 总表。
• 根据科目汇总表登记汇 总分类帐。 • 将明细帐科目余额与财产物资实用数核对。 • 把总分类帐余额与有关明细帐余额核对。 • 根据总帐、明细帐余额编制各种会计报表。
• 应使用有意义的名称标记所有箭头和泡泡
• 总是以系统环境图SCD开始(also called 0层DFD图)
• 在第0层DFD图中显示外部实体
• 当从一层转到另一层时要保持信息流的连续性
• 一次精化一个泡泡
40
分层数据流图
I0
O0
系统加工S
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-5-10 14
下列系统规范说明一致吗
“当且仅当系统正常操作时(p),系统处 于多用户状态(q)。如果系统正常操作,则 它的核心程序正在运行(r)。核心程序不能 正常运行,或者系统处于中断模式(s)。如 果系统不处于多用户状态,它就处于中断 模式。系统不处在中断模式。”
2012-5-10
15
2012-5-10
11
情景分析技术的用处主要体现在下述两个方面: 情景分析技术的用处主要体现在下述两个方面:
(1) 它能在某种程度上演示目标系统的行为,从而便于用户 理解,而且还可能进一步揭示出一些分析员目前还不知道 的需求。 (2) 由于情景分析较易为用户所理解,使用这种技术能保证 用户在需求分析过程中始终扮演一个积极主动的角色。需 求分析的目标是获知用户的真实需求,而这一信息的惟一 来源是用户,因此,让用户起积极主动的作用对需求分析 工作获得成功是至关重要的。
2012-5-10 前一页
21
细化数据流图
面向数据流自顶向下求精过程
分 析 过 程
分析员向 用户解释
需要 分解
2012-5-10 前一页
22
修正开发计划 分 析 过 程
经过需求分析阶段的工 作,在对目标系统有了更深 入的认识之后,可以对原来 的开发计划作进一步的修正。
2012-5-10 前一页
23
2012-5-10
17
分析过程
主 要 内 容 沿数据流图回溯 用户复查 细化数据流图 修正开发计划 书写文档
2012-5-10
前一页
18
沿数据流图回溯 分 析 过 程
步骤: 从输出端沿着数据流图向输入端回 溯,由此确定出每个数据的来源 把分析过程得到的有关数据元素的 信息记录在数据字典中,把算法记 录在IPO图中
为了快速地构建和修改原型,通常使用下述3种方 法和工具:
(1) 第四代Βιβλιοθήκη 术包括众多数据库查询和报表语言、程序和应用系统生成器以及其他 非常高级的非过程语言。第四代技术使得软件工程师能够快速地生成可 执行的代码,它们是较理想的快速原型工具。
(2) 可重用的软件构件
另外一种快速构建原型的方法,是使用一组已有的软件构件(也称为 组件)来装配(而不是从头构造)原型。 软件构件:数据结构(或数据库),或软件体系结构构件(即程序),或 过程构件(即模块)。
2012-5-10
12
合理使用逻辑表达式可以避免二义
用p=“扫描消息中的病毒”;q=“消息来自一个未 知的系统”以及逻辑词来表示下面的系统规范说 明。 1.每当消息来自一个未知的系统时,就扫描消息中 的病毒。 2.“消息来自一个未知的系统,但不扫描消息中的病 毒。” 3.“每当消息来自一个未知的系统时,就有必要扫描 消息中的病毒。” 4.“当消息不是来自一个未知的系统时,就不扫描消 息中的病毒。”
前一页
26
简易的应用规格说明技术
步骤: 步骤: 初步访谈,确定问题的范围和解决方案 由开发者和用户分别写出“产品需求”,并在由双方 代表组成的会议上讨论 会议上确定与会人员意见一致的问题和列表 将与会者分成小组,每个小组就列表中的问题展开讨 论,然后形成小型规格说明 小组讨论结束后,每组向全体人员展示小型规格说明 每个与会者都制定出产品的一整套确认标准 专门人员根据会议成果起草完整的软件需求文档
2012-5-10 8
分析系统的数据要求
分析系统的数据要求,这是软件需求分析的一个重要任务。 分析系统的数据要求通常采用建立数据模型的方法(见3.4 节)。 数据字典的缺点是不够形象直观。为了提高可理解性,常 常利用图形工具辅助描绘数据结构。常用的图形工具有层 次方框图和Warnier图,在本章第3.7节中将简要地介绍这两 种图形工具。 软件系统经常使用各种长期保存的信息,这些信息通常以 一定方式组织并存储在数据库或文件中,为减少数据冗余, 避免出现插入异常或删除异常,简化修改数据的过程,通 常需要把数据结构规范化(见3.5节)。
2012-5-10
前一页
7
3.1需求分析的任务 3.1需求分析的任务
需求分析是软件定义的最后一个阶段, 需求分析是软件定义的最后一个阶段,它的基本任务是准确地回答 系统必须做什么? 这个问题。对目标系统提出完整、准确、清晰、 “系统必须做什么?”这个问题。对目标系统提出完整、准确、清晰、 具体的要求。 具体的要求。
确定对系统的综合要求
系统功能要求 ——指定系统必须提供的服务 系统性能要求(系统必须满足的定时约束或容量约束—响应时间, 所需存储容量及后援存储,安全性和简便性)。 可靠性和可用性需求 出错处理需求——说明系统对环境错误应该怎样响应 接口需求——描述应用系统与他的环境通信的格式(用户接口需求, 硬件接口需求,软件接口需求,通信接口需求) 约束——设计约束或实现约束描述在设计或实现应用系统时应遵守 的限制条件 逆向需求——说明软件系统不应该做什么 将来可能提出的要求
10
3.2 与用户沟通获取需求的方法
3.2.1 访谈
访谈是最早开始使用的获取用户需求的技术,也是迄今为 止仍然广泛使用的需求分析技术。 访谈有两种基本形式:正式的和非正式的。 当需要调查大量人员的意见时,向被调查人分发调查表是 一个十分有效的做法。 在访问用户的过程中使用情景分析技术往往非常有效。所 谓情景分析就是对用户将来使用目标系统解决某个具体问 题的方法和结果进行分析。
2012-5-10 27
简易的应用规格说明技术
面向团队的需求收集法优点: 强调了用户的参与,开发者和用户密切合 作 讨论即时并求精 有能导出规格说明的具体步骤
2012-5-10
28
3.2.4 快速建立软件原型
快速建立软件原型是最准确、最有效、最强大的需求分析 技术。 快速原型就是快速建立起来的旨在演示目标系统主要功能 的可运行的程序。 构建原型的要点是,它应该实现用户看得见的功能(例如, 屏幕显示或打印报表),省略目标系统的“隐含”功能(例如, 修改文件)。
2012-5-10 13
例2
使用命题p“用户输入有效的口令”;q“访 问被授权”;r ”用户已经付费”以及逻辑 词表达下列系统规范说明。 1.“用户已经付费,但没有输入有效的口令。” 2.“每当用户已经付费并输入有效的口令,访 问被授权。” 3.“如果用户没有付费,访问被拒绝。” 4.“如果用户没有输入有效的口令但已经付费, 访问被授权。”
例3 下列系统规范说明一致吗
“路由器能向系统发送分组仅当它支持新的 地址空间时。要让路由器支持新的地址空间, 就必须安装最新的软件发布。如果最新的软 件发布被安装了,路由器就能向系统发送分 组。路由器不支持新的地址空间。”
2012-5-10
16
3.2.2 面向数据流自顶向下求精
任何信息处理系统的基本功能都是把输入数据转变成需要 的输出信息。数据决定了需要的处理和算法,看来数据显 然是需求分析的出发点。 结构化分析方法就是面向数据流自顶向下逐步求精进行需 求分析的方法。 可行性研究已经得出了目标系统的高层数据流图, 需求分析的目标之一就是把数据流和数据存储定义到元 素级。 为了达到这个目标,通常从数据流图的输出端着手分析。
快速原型应该具备的第一个特性是“快速” 快速原型应该具备的第一个特性是“快速”。 快速原型应该具备的第二个特性是“容易修改” 快速原型应该具备的第二个特性是“容易修改”。原型的 “修改—试用—反馈”过程可能重复多遍,如果修改耗时 修改—试用—反馈” 过多,势必延误软件开发时间
2012-5-10 29
需求分析
需求分析的任务就是借助于当前系统的逻辑模型导 出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。
怎么做
模型化 当前系统 物理模型 抽象化 逻辑模型
做什么
理 导解 需 出求 表 达 需 求
6
具体化 目标系统
2012-5-10
实例化 物理模型 逻辑模型
需求分析的任务
主 要 内 容
确定对系统的综合要求 分析系统的数据要求 导出系统的逻辑模型 修正系统开发计划 开发原型系统
书写文档
1)系统规格说明:主要描述目标系统的概 1)系统规格说明
分 析 过 程
貌、功能要求、性能要求、运行要求和 将来可能提出的要求。用数据流图、IPO 等描述的算法也是其中主要的组成部分。 此外,还应包括用户需求与系统功能之 间的参照关系,设计约束等 。
2)数据要求:主要包括数据字典、层次方框 2)数据要求
2012-5-10 前一页 20
细化数据流图
为了追踪更详细的数据流图,分析员 应该把数据流图扩展到更低的层次。
分 析 过 程
通过对功能的分解 来完成对数据流图 的细化。在数据流图中选取功能比较复杂 的处理,将其功能分解为若干子功能,使 其成为数据流图新的处理。 对数据流图细化之后,数据元素之间 的关系更加清楚,处理加工算法更加具体。 分析员将越来越深入具体地定义目标系统 。
软件工程
(Software Engineering)
第三章 需求分析
2012-5-10
1
第三章需求分析
学习要求: 1、了解需求分析的任务; 2、掌握并熟练使用与用户沟通获取需求的方法; 3、会分析建模和编写需求规格说明书; 4、会使用E-R图、状态转换图、IPO/HIPO图做分析, 、会使用E 图、状态转换图、IPO/HIPO图做分析, 会对数据库信息进行规范化; 5、了解软件需求验证的内容;
2012-5-10
19
用户复查 分 析 过 程
对于数据字典、数据流图、IPO图 中的有关内容是否完整正确地描述了 目标系统,只有用户是最清楚的。与 用户共同对描述的目标系统进行复查 是极为重要的一个环节。 “复查、补充、修改、再复查…”, 是一个不断循环的过程,系统在这个 过程中不断完善,分析员的认识在这 个过程中不断加深。
(3) 形式化规格说明和原型环境
相关文档
最新文档