第4章 基于结构化方法的需求分析 (2015)
软件工程案例_结构化方法的需求分析

案例—结构化方法的需求分析一、约定1.假定校园卡只对学生发行。
2.校园卡本身不保存除“卡号”以外的信息,卡号由系统按照序列号自动生成。
3.假定使用校园卡的场合只有食堂、商店及图书馆,而且,不允许透支消费。
4.系统功能从简,包括:不考虑校园卡的加密问题,不考虑诸如修改密码、挂失等配套功能,与特约商户按照POS机号逐日汇总后对帐,等等。
二、软件功能1.校园卡发行2.帐户管理2.1、充值2.2、取款2.3、注销2.4、查询帐户收支记录3.刷卡消费4.身份验证5.统计报表5.1、打印收支情况统计表5.2、打印特约商户对帐表三、数据流图1.顶层(图1)学习提示:▲顶层数据流图的基本意图是什么?2.第1层(图2)学习提示:▲自顶向下、逐层细化原则的运用▲下层数据流图的边界与上层数据流图保持一致▲关于数据存储▲关于数据字典3.第2层(图3、图4)学习提示:▲对数据流图的细化到什么程度为止。
四、数据字典1.数据流与数据存储的数据结构学习提示:▲规范描述每种数据流、每种数据存储的数据元素构成。
▲用词的规范,语法与语义的一致,同一数据结构(或数据元素)使用同一名称、不同数据结构(或元素)使用不同的名称。
2.数据元素对上述数据结构中出现每个数据项,逐个作出定义。
本案例省略具体内容,只对如下数据元素作出说明。
学习提示:▲哪些内容属于“数据元素”。
▲对于数据元素,需要定义哪些内容。
▲关于“元数据”的概念▲数据分析要求清楚描述每种业务单据之间的关联每个数据元素值的“来龙去脉”五、功能说明以“功能2.2—取款”为例说明▲功能简介(略)▲录入数据:取款单▲界面原型(略)▲前置条件《校园卡基本档案》存在与《取款单》中“卡号”相对应的记录。
▲对录入数据的约束规则●该档案记录的“密码”与《取款单》输入值一致。
●该档案记录的“当前状态”为“正常”。
●该档案记录的“帐户余额”值大于或者等于《取款单》的“取款金额”。
▲系统处理●新增《存取款记录》。
结构化需求分析

外部实体
外部实体指系统以外又与系统有联系的人或事物。 它表达了该系统数据的外部来源和去处。例如:人、组 织、外部系统等等。 • 外部实体是数据的来源(谁提供了最初始的数据?) • 外部实体是数据的去处(数据对谁有价值?)
读者
图书 管理员
馆长
读者
图书 管理员
加工(数据处理)
处理指对数据的逻辑处理功能,也就是对数据的变 换功能。 别名:功能、处理过程,数据加工
数据流图的图形符号
或 或
加工。对输入数据进行变换以产生输出数据,其中要注明加工的名字。 外部实体,即数据输入源(Source)或数据输出汇点(Sink)。其中要注明数 据源或数据汇点的名字。
或
数据存储。要用名词或名词性短语为数据存储命名。 数据流。描述被加工数据及传递方向。箭头旁边要注明数据流的名字,可用名 词或名词性短语命名。
环境图(顶层数据流图)
环境图(context diagram)也称为顶层数据流图 (或0层数据流图),它仅包括一个数据处理过程, 也就是要开发的目标系统。 环境图的作用是确定系统在其环境中的位置,通过确 定系统的输入和输出与外部实体的关系确定其边界。
招生系统需求描述
学校首先公布招生条件,考生根据自己的条件报名,之后 系统进行资格审查,并给出资格审查信息; 对于资格审查合格的考生可以参加答卷,系统根据学校提 供的试题及答案进行自动判卷,并给出分数及答题信息, 供考生查询; 最后系统根据学校的录取分数线进行录取,并将录取信息 发送给考生。
储 户
密码
实例研究——第一层数据流图
+
实例研究——第二层“存款”数据流图
对一层图中的“处理存款”及“处理取款”进行进一步分 解,得到二层数据流图,即处理存款的数据流图和处理取 款的数据流图。
结构化需求分析方法

精品文档)方法结构化分析(SA是现有的软件开发方法(Structured Developing Method)结构化开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法(SP 及结构化程序设计方法法)(SA法)、结构化设计方法(SD 由结构化分析方法构成的。
法)方法是面向数据流的需求分法)结构化分析(Structured Analysis,简称SA等人提出和发及DeMarco 70 年代末由Yourdon,Constaintine 析方法,是特别是企事业管理它适合于分析大型的数据处理系统,展,并得到广泛的应用。
系统。
法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,SA 自顶向下逐层分解,描绘出满足功能要求的软件模型。
法概述1 SA1.SA 法的基本思想是面向数据流的需求分析方)简称SA 法结构化分析(Structured Analysis,并得等人提出和发展,Yourdon,Constaintine 年代由及DeMarco 70法,是到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象”。
.精品文档可分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,以把大问题分解成若干小问题,然后分别解决。
是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具图4体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。
抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以这种用最本质的属性表示一个自直至涉及到最详细的内容,后再逐层添加细节,系统的方法就是“抽象”。
2.SA 法的步骤;⑴建立当前系统的“具体模型”图描系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 述出来。
这样的表达与当前系统完全对应,因此用户容易理解。
;⑵抽象出当前系统的逻辑模型.精品文档分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用图描述的当前系统的“逻辑模型”。
第4章 结构化分析

软件需求?
• Phil开发了一套人力资源软件,有一天他接 到了人力资源部Maria打来的电话…
Maria 一个同事想把自己的名字改为Sparkle Starlight,但系统不允 许,能帮忙吗? Phil 她嫁给了一个姓Starlight的人吗?
Maria 不,她并没有结婚,她只是想改名字而已;
29
4.3.6 非功能需求(Non-Functional
Requirements, NFR)
从各个角度对系统进行约束和限制,反映了
客户对软件系统质量和特性的额外要求。 如数据精度、可靠性等。 [例 ] # 系统应该每周7天、每天24小时都可使用; # 对一个没有经验的用户而言,经过2小时培 训即可使用系统的所有功能。
• 用户需求:从用户角度描述系统功能需求与非 功能需求,通常只涉及系统的外部 行为而不涉及内部特性。
[例]用户可以通过Internet随时查询图书信息和个 人借阅情况,并可以快速查找和浏览需要的电 子资料; [功能需求]用户通过Internet查询图书信息;
[功能需求]用户通过Internet浏览个人借阅情况;
5
不同的人有不同的“需求”?
法国人、美国人和中国人被困 在一个荒岛上,遇到了一个神仙… 神仙说:“我可以满足你们每个人一个愿望。” 法国人抢先说:“我要回家!我要回家!” 神仙说:“满足你的愿望。” 于是把法国人送走了。 美国人马上说:“我也要回家!我也要回家!” 神仙说:“满足你的愿望。” 于是美国人也被送走了。 最后剩下中国人,神仙问:“你有什么愿望?” 中国人说:“他们都走了,留下我怪寂寞的,把他们 叫回来吧。” 于是法国人和美国人又回来了...
3
4.1.1
什么是软件需求? 什么是需求
结构化需求分析获取课件

功能需求清 单
总结词
列出系统的所有功能点。
详细描述
功能需求清单是需求分析阶段的关键输出之一,它列出了系 统的所有功能点,包括用户直接操作的系统功能以及系统内 部处理逻辑。每个功能点应明确描述其输入、处理逻辑和输 出,以便开发人员准确实现。
非功能需求清 单
总结词
列出系统的非功能属性要求。
详细描述
非功能需求清单关注的是系统的非功能性属性,如性能、可用性、安全性和可维护性等。 这些要求对于确保系统的质量和用户体验至关重要,因此在需求分析阶段需要充分考虑 和明确。
完整性
需求必须全面覆盖项目目 标,确保项目所有重要方 面都得到满足。
需求的重要性
确保项目成功
明确、全面的需求是项目 成功的关键,能够避免项 目范围蔓延和预算超支等 问题。
减少变更
明确的需求可以减少项目 执行过程中的变更,降低 变更带来的成本和时间压力。
提高满意度
明确、全面的需求有助于 满足项目干系人的期望, Байду номын сангаас高客户满意度。
测试案例评审
制定测试案例并评审,以验证需 求的实现是否符合预期。
需求变更管理
01
02
03
04
变更申请
建立需求变更申请的流程,确 保所有变更都经过正式的申请
和审批。
变更评估
对每个变更申请进行评估,分 析其对项目进度和成本的影响。
变更实施
根据评估结果,实施必要的变 更,并相应地调整项目计划和
资源。
变更记录
4. 功能分配
将各个功能分配给相应的软件 组件或硬件设备。
数据流 图
1. 确定数据流边界
确定系统数据的输入、输出和内 部处理过程。
系统分析师 结构化需求分析 范文

系统分析师结构化需求分析范文下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!而且本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!系统分析师:结构化需求分析范文。
引言在当今信息时代,系统分析师扮演着至关重要的角色,他们负责确保软件开发项目的顺利进行。
第4章 结构化分析

基本目标:
(1)描述用户的需求。 (2)为软件设计工作奠定基础。 (3)定义一组需求,一旦开发出软件 产品之后,就可以用这组需求作为标准 来验收该产品。
实体 -关系图 数据流图
数据 字典
状态转换图
控制规约
结构化分析模型的结构
4
4.2 数据流图
一、数据流图的基本成分
数据流图的基本图形元素:
或 数据的源点/终点 source or sink
⊕ T
C 只有数据流A或只有数据流B(但数据流A和数据 流B不能同时)输入时变换成数据流C B 数据流A变换成数据流B或数据流C,但不能变换 T ⊕ C 成数据流B和数据流C
6
4.2 数据流图
二、数据流图绘制方法
绘制步骤: 找出系统的输入和输出
画系统的内部 画加工的内部
注意事项: (1)命名 (2)层次结构 (3)图和加工的编号 (4)在系统分析中要注意区别物流和数据流 (5)每个加工至少有一个输入数据流和一个输出数据流 (6)数据存储的读取 (7)数据守恒 (8)父图和子图的平衡 (9)局部数据存储 (10)合理分解
的信息存储。
13
4.4 数据字典
二、内容及格式
1.数据流条目 要定义数据流图中的数据流就要用数据流条目。数据流条目给出了某个数据流的 定义,它通常是列出该数据流的各个组成数据项。
表4.1 数据字典使用的描述符号
符 号 = + [· · · |· · · ] [· · · ,· · · ] 含 义 被定义为 与 或 或 示 例 X=· · · 表示X由· · · 组成 X=a+b表示X由a和b组成 X=[a|b]表示X由a或b组成 X=[a,b]表示X由a或b组成
4.4 数据字典
结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。
结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。
结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
它适合于分析大型的数据处理系统,特别是企事业管理系统。
SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型.1 SA 法概述1。
SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。
结构化分析方法的基本思想是“分解”和“抽象".分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决.图4 是自顶向下逐层分解的示意图。
顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡.抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。
2。
SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型"就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。
这样的表达与当前系统完全对应,因此用户容易理解.⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Software Engineering
Ma Nan ,xxtmanan@
7
一.问题识别
③ 环境需求。软硬件需求。 ④ 出错处理需求。指环境错误,非系统本身 的错误。 ⑤ 用户界面需求
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
Ma Nan ,xxtmanan@
26
二.结构化分析方法案例
0层图
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
27
二.结构化分析方法案例
数据流图绘制步骤一:1层图(加工内部(1…n层图))
确定加工:将父图中某加工分解而成的子加工
8
一.问题识别
接口需求。常见的接口需求:用户接口需 求;硬件接口需求;软件接口需求;通信接 口需求。
例如:
账户接收系统必须为月财务状况系统提供 更新信息。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
9
外部接口分为以下几类:
--系统接口(System interfaces):描述一个应用如何与系统的其 他应用进行交互。 --用户接口(User interfaces):规约了软件产品和用户之间接口的 逻辑特性。即规约对给用户所显示的数据,对用户所要求 的数据 以及用户如何控制该用户接口。 --硬件接口(Hardware interfaces):如果软件系统必须与硬件设 备进行交互,那么就应说明所要求的支持和协议类型。 --软件接口(Software interfaces):允许与其它软件产品进行交互, 如,数据管理系统、操作系统或数学软件包。 --通讯接口(Communications interfaces):规约待开发系统与通 讯设施(如,局域网)之间的交互。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
5
一.问题识别
① 功能需求。指定系统必须提供的服务。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
6
一.问题识别
② 性能需求。明确待开发的软件的技术性能指标.
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
22
二.结构化分析方法案例
第一步:绘制顶层数据流(程)图( 1 )
顶层图只有一个加工,下层是0层图,1、2层图 基本思想,任何计算机系统都是有若干个数据源(终)点加上 一个事务处理组成。
1
教学要求
教学目的:
掌握需求分析的主要任务和步骤; 了解结构化系统分析方法的特点; 理解需求规格说明书的作用与组成; 了解数据流程图和数据字典的简单使用。
教学难点:系统逻辑功能的抽象 。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
数据 字典
数据流( 程)图
状态—迁移图
控制规格说明
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
16
4.3 数据流(程)图
数据流(程)图(DFD,Data Flow Diagram) 描述系统逻辑模型的图形工具。 描绘信息在系统中的流动和处理情况,不反映系统中的物理 部件。使用4个标准符号: 符
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
18
系统流程图、数据流(程)图、程序流程图的 区别:
业务流程图: 反应系统流程、系统物理框架 数据流(程)图:反应系统的逻辑功能与数据流 在功能中的流动 程序流程图:程序逻辑结构
IT of BUU
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
10
⑦约束。常见的约束:精度;工具和语言约束;
设计约束;应该使用的标准;应该使用的硬件平台。
⑧逆向需求。指定系统不应该做什么。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
20
一. 应该注意的几个问题
适当地命名 “数据存储”代表数据静止状态,“数据流” 代表数据的运动状态;
通常数据流图中忽略出错处理、打开或关闭 文件之类ngineering
Ma Nan ,xxtmanan@
21
二.结构化分析方法案例
成 绩 清 单
考 生 名 单 阅卷站
错 误 成 绩 单
IT of BUU
顶层图 Ma Nan
Software Engineering
,xxtmanan@
24
二.结构化分析方法案例
数据流图绘制步骤二:0层图
确定加工:
将系统顶层图按处理的输入输出数据处理功能的不同分解成不同的子加工
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
29
二.结构化分析方法案例
*
*
1层图
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
30
二.结构化分析方法案例
1层图
IT of BUU
Ma Nan ,xxtmanan@
14
4.2 结构化需求分析
二、描述工具 1. 数据流(程)图 2. 数据字典
三、SA分析步骤
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
15
数据对象描述
加工规格说明
实体— 关系图
或
号
含
义
外部实体(数据的源点或终点) 数据流
或
或
数据存储 加工/处理
Software Engineering
Ma Nan ,xxtmanan@
IT of BUU
17
数据流图:
外部实体
输入信息 目标 系统
输出信息
外部实体
外部实体
输入信息
输出信息
外部实体
目标系统被表示成如上图所示的数据变换流程图。系统的 功能体现在核心的数据变换中。
第四章 软件需求分析
4.1 需求分析的任务 4.2结构化分析方法 4.3 数据流图 4.4 数据字典 4.5 实体一联系图 4.6 状态转换图 4.7其他图形工具 4.8 验证软件需求 习题
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
①一种面向数据流的传统软件需求建模分析方法; ②用于分析系统的功能; ③使用图形符号;
④数据流图只考虑系统必须完成的基本功能。
结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简称SP)
IT of BUU
Software Engineering
首先从问题的描述中提取数据流图中的外部实体,即源(终)
点、数据处理、数据流和数据存储。 .分析外部实体,即源(终)点. . 分析数据处理
IT of BUU
.分析数据流和数据存储
Software Engineering
Ma Nan ,xxtmanan@
23
二.结构化分析方法案例
考生 报 考 准 统 名 生 考 计 单 不 通 证 分 合 知 析 格 单 表 报 名 单 考务管理系统 考试中心 合 格 标 准
Software Engineering
Ma Nan ,xxtmanan@
19
数据流图
Visio中的DFD图例:
•处理 •数据源/终点 •处理 •数据存储
•数据存储
•数据流
•数据源/
终点
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
例如: 系统应该在5分钟内计算出给定季度的总销售税。 系统应该在1分钟内从100000条记录中检索出一个 销售定单。
该应用必须支持100个Windows 95/NT工作站的并 行访问。
注:性能需求隐含了一些满足功能需求的设计方案, 经常对设计产生一些关键的影响。例如:排序,关于 花费时间的规约将确定哪种算法是可行的。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
4
§4.1需求分析的任务
以用户为中心。
四项主要任务:
1 、确定对系统的综合要求和总体目标;
2 、分析系统的数据要求 ; 3 、导出系统的逻辑模型 ; 4 、编写需求规格说明书,修正系统开发计划; 5、需求分析评审。
11
二. 导出系统的逻辑模型
用数据流图、实体一联系图、数据字典、和 主要的处理算法描述这个逻辑模型。
IT of BUU
Software Engineering
Ma Nan ,xxtmanan@
12
三. 需求分析原则和分类
原则:
1、正确认识和理解问题的功能域和数据域 2、将问题的分析结果模型化表示
根据业务处理流程确定加工:分析父图中待分解加工的业务处理流 程,业务流程中的每一个数据流发生变化的地方都可能存在一个加 工
分解方法
将该加工看作一个小系统,该加工的输入/输出数据流就是这个假 设的小系统的输入/输出数据流。 然后采用画0层图的方法,画出该加工的子图。