第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 图描述的当前系统的“逻辑模型”。
软件工程实用案例 第4章 结构化需求分析
3项目范围 3.1 第一版范围 3.2 后续版本范围 3.3 限制与排除
4项目环境 4.1 操作环境 4.2 涉众 4.3 项目属性
词汇表 参考资料 附录
4.3 需求获取
4.3.3 选择信息的来源
• 1. 涉众
• 包括用户、客户、领域专家、用户替代源(市场人员、销售人员) 等。
4.4 需求分析
4.4.1 过程建模
4.4.1.1 数据流图
3. 分层结构 (3)N层图
图4-12 功能分解示意图
4.4 需求分析
4.4.1 过程建模
4.4.1.1 数据流图
3. 分层结构 (3)N层图
图4-13 食物订货系统的1层图
4.4 需求分析
4.4.1 过程建模
4.4.1.2 微规格说明
正式规定文档所需具有的条件或能力。
(3) 对(1)或(2)所描述的条件或能力的文档化表述。 其中,(1)是从用户角度定义的,(2)是从开发人员、
系统的角度定义的。
4.1 需 求
4.1.2 需求的层次
需求通常体现为三个层次:业务需求、用户需求和系 统需求。
4.1 需 求
4.1.2 需求的层次
4.3 需求获取
4.3.2 定义项目前景和范围
• 1.明确问题
P1 决策者:生产的废品过多。
• 2.发现业务需求
BR1:提供销售订单的准确性,减少因此而产生废品。
BR2:提供销售订单的准确性,在使用后3个月内,减少50%因此而产生 的废品。
4.3 需求获取
4.3.2 定义项目前景和范围
• 3.定义解决方案及系统特性
4.3 需求获取
4.3.4 需求获取的方法
软件工程第四章结构化需求分析
数据字典
定义
数据字典是一种用于描述数据元 素及其属性的工具,它提供了数 据的详细描述和定义。
பைடு நூலகம்
内容
包括数据元素的名称、别名、类 型、长度、取值范围、默认值等 属性信息。
作用
为开发人员提供了一个统一的数 据定义和描述标准,避免了数据 不一致和歧义的问题。
03 结构化需求分析过程
问题识别
01
确定软件系统的范 围和目标
用例表
列出系统的所有用例,包括用例名称、描述、前置条件和后置条件 等。
用户故事表
以用户为中心描述系统需求,包括用户角色、场景、任务和目标等。
原型工具
低保真原型
使用简单的工具和方法创建的原型,主要用于 概念验证和用户反馈收集。
高保真原型
使用高级工具和方法创建的原型,几乎与实际 产品一样,用于详细需求分析和用户测试。
04 结构化需求分析工具
图形工具
流程图
用于描述系统或程序的逻辑流程,包括开始、结束、决策点和活动 等元素。
数据流图
用于描述数据在系统中的流动和处理过程,包括数据源、数据存储、 数据处理和数据终点等元素。
实体关系图
用于描述系统中实体之间的关系,包括实体、关系和属性等元素。
表格工具
需求规格说明书
详细列出系统需求,包括功能需求、性能需求、安全需求和接口 需求等。
步骤
首先确定系统的主要功能,然后逐层向下分解,直 到每个功能都清晰、具体、可实现。
优点
能够全面地了解系统的功能需求,有助于保 证系统的完整性。
数据流图
定义
数据流图是一种图形化表示方法,用于描述系统中数 据的流动和处理过程。
组成
包括数据流、数据存储、数据处理和外部实体等基本 元素。
结构化的需求分析与建模课件
资源规划:准确的需 求为项目团队提供了 估计所需资源和时间 的基础。
风险降低:在需求阶 段识别并处理模糊或 冲突性需求可以降低 项目风险。
非结构化与结构化需求分析
非结构化需求分析
01
02
依赖于个人经验和直觉来理解和解释需求。
往往缺乏组织和标准化,可能导致遗漏或 误解。
03
04
结构化需求分析
采用系统化、规范化的方法来捕获和处理 需求。
解决方法
可行性分析:对需求进行技术和资源上的可行性 评估,确保项目可行性。
原型反馈:通过创建原型并获取用户反馈,来澄 清和验证模糊的需求。
版本控制:采用版本控制系统(如Git)来跟踪需 求变更,确保所有相关方都了解和同意这些变更 。通过这样的方法,团队能够更为有效地管理项 目范围,降低由于需求变更带来的潜在风险。
05
06
强调使用明确的工具和技术,如数据流图 、实体关系图、用例图等。
需求分析的挑战与解决方法
挑战 需求模糊性:用户需求可能不明确或存在歧义。
技术限制:某些需求可能受到技术或资源的限制。
需求分析的挑战与解决方法
• 变更管理:需求在项目过程中可能发生变化,需 要有效的变更管理机制。
需求分析的挑战与解决方法
数据可视化
通过数据可视化手段,直 观展示需求追踪和度量的 结果,便于项目团队和利 益相关者了解需求状态。
THANKS
感谢观看
转换
描述系统从一种状态转移到另一 种状态的条件和动作,包括触发 条件、输入/输出、状态变量更新 等。
状态图
通过状态图,可以直观地展示系 统状态及其转换关系,有助于分 析人员理解和描述系统的动态行 为。
04
需求验证与管理
第四章 结构化分析与设计
第四章结构化分析与设计学习目的及要求:通过本章结构化分析与设计的学习,掌握结构化方法的主要思想和过程。
重点要求掌握软件系统结构化分析阶段的数据流图、数据字典和加工小说明的绘制和编写;结构化设计阶段从数据流图到结构图的映射方法,理解模块的合并、分解和优化方法。
引言结构化方法是传统的软件分析和设计方法,包括在需求分析阶段的结构化分析方法和设计阶段的结构化设计方法,也就是把结构化的思想融入到分析和设计阶段。
在结构化分析阶段,通过对软件的数据、功能和行为的分析并进行分析建模,产生软件系统的数据流图、数据字典和加工小说明。
结构化设计阶段应用一定的规则把数据流图映射为结构图,转换为模块化的系统体系结构,并进行对模块的修改和优化,为结构化程序设计打下基础。
4.1结构化分析方法概述(历史、主要思想、过程)结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟、应用最广泛的方法,其主要特点是快速、自然和方便。
结构化开发方法由结构化分析方法(Structured Analysis Method)、结构化设计方法(Structured Design Method)及结构化程序设计方法(Structured Program Method)构成的。
结构化分析方法于20世纪70年代中期由E.Yourdon,Constaintine及DeMarco等人提出并得到了广泛的应用,是强调开发方法的结构合理性以及所开发软件的结构合理性的一种面向数据流的分析方法。
所谓结构是指系统内各个组成部分之间的相互关系,而结构化方法采用一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等来进行分析建模。
结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术,它一般利用图形表达用户需求,主要使用的手段有数据流图、数据字典、结构化语言、判定表以及判定树等。
伴随着软件规模不断增长,传统的手工作坊式开发方法已经很难能胜任,当我们面对大型而复杂的系统时,可能一时会感觉到无从下手或者束手无策,这时必须采取软件工程的科学方法开发软件,结构化方法能够很好的适应复杂软件的开发。
结构化需求分析方法
结构化分析(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 图描述的当前系统的“逻辑模型”。
第4章结构化分析方法
计算机系
何谓结构化分析 就软件需求分析而言,即为:系统化地使用问题域术语,给
出该问题的模型,即:
分析(映射)
问题域 --客观事物系统
需求-一个抽象层
形成
该系统的概念 模型或称系统 的需求规约
可见,需求分析作为一种活动,其目标为:
在一个确定的抽象层(即需求层)上为客观事物系统施
加了一个结构, 形成待开发软件系统(产品)的概念模型, 即需求规约( 规格说明书),作为开发人员和客户间技术 契约的基础,并作为而后开发活动的一个基本输入. 计算机系 课件来源: 北京大学软件工程国家工程研究中心 王立福
2)数据源和数据潭为:图书管理人员,读者以及时钟。
课件来源: 北京大学软件工程国家工程研究中心 王立福
计算机系
基于以上分析,可形成该系统的环境图:
图 书 管 理 员
图书管理要求
查询要求
图书统计表
系统时钟 图书管理系统 当前日期
罚款单
图书情况
读者情况
读者
其中:3个输入流:图书管理要求,查询要求,系统时钟
计算机系
问题2:图书管理系统
图书管理系统旨在用计算机对图书进行管理,主要涉及四个方面的 工作:新书入库、读者借书、读者还书以及图书注销,以及查询某位读 者的借书情况、某种图书和整个图书的库存情况。 在购入新书时,图书管理人员为购入的新书编制图书卡片,包括分类 目录号、流水号(要保证每本书都有惟一的流水号,即使同类图书也是如 此)、书名、作者、内容摘要、价格和购书日期等信息,并写入图书目录 文件中; 读者借书时,首先填写借书单,包括姓名、学号、欲借图书分类目录 号等信息,然后管理人员将借书单输入系统,继之系统检查该读者号是 否有效,若无效,则拒绝借书;否则进一步检查该读者所借图书是否超 过最大限制数(此处我们假设每位读者同时只能借阅不超过五本书),若已 达到最大限制数(此处为五本),则拒绝借书;否则读者可以借出该书,登 记图书分类目录号、读者号和借阅日期等,写入到借书文件中;
软件工程第四章结构化需求分析
计算机分析语言
精选ppt课件
4
结构化分析方法
▪ 结构化分析(SA,Structured Analysis)方法 是20世纪70年代,由E.Yourdon等人倡导的一 种适用于大型数据处理系统的、面向数据流的 需求分析方法。
▪ 结构化需求分析方法特征:
➢ 在开始建立分析模型之前先理解问题。 ➢ 以业务流程为中心来理解用户需求。 ➢ 使用多个需求分析视图,建立数据、功能和行为模
▪ 分析模型结构的中间层有三种视图:
➢ 数据流图(DFD,Data Flow Diagram)服务于两个目 的:一是指明数据在系统中移动时如何被变换,二是 描述对数据流进行变换的功能和子功能。
➢ 实体—关系图(E-RD,Entity-Relationship Diagram) 描述数据对象间的关系,用来进行数据建模活动的记 号。
➢ 数据源点:工人
➢ 数据终点:消费者
➢ 数据处理:包装、运输、销售、配送
➢ 数据流:产品
➢ 数据存储:仓库 精选ppt课件
18
数据流图的分析步骤
▪ 找出数据流图的四种组成要素:数据的源点和终 点、数据处理、数据存储、数据流。
▪ 画出基本系统模型。基本系统模型是把软件系统 看作一个整体单元,它与外部环境的数据交互关 系。
➢ 实体—关系模型:关心的是寻找系统中的数据
及其之间的关系,却不关心系统中包含的功能。
精选ppt课件
6
结构化分析模型结构
数据 对象 描述
实体关系
图
数据 流图
加工 规约
状态转换图 控制规约
精选ppt课件
7
结构化分析模型结构
▪ 分析模型结构的核心是数据字典(DD,Data Dictionary),包含了软件使用或生产的所有数据 对象描述的中心库。
结构化的需求分析与建模.ppt
③找出外部实体的输入数据流和输出数据流。 ④在图的边上画出系统的外部实体。
画数据流程图的基本步骤
⑤从外部实体的输入流(源)出发,按照系统的逻 辑需要,逐步画出一系列逻辑处理过程,直至找 到外部实体处理所需的输出流,形成数据流的封 闭。
模型帮助分析员理解系统的信息、功能和行为; 模型成为评审焦点;模型也是设计基础。
建模充分体现了“分而治之”这一古老而有效的 概念。把复杂而困难的问题分解细化后,逐个解 决它们。
建模能有效地将需求映射到软件结构中 。
第四章 结构化分析与建模(一)
本章结构
4.1 需求建模概述与结构化建模 4.2 数据模型与ER图 4.3 功能模型-数据流图 4.4 行为模型-状态转换图 4.5 数据字典 4.6 判定表和判定树
数据模型包括三种互相关联的信息:数据对象、 描述数据对象的属性和数据对象相互连接的关 系。
1. 数据对象是一个外部实体、一个事物(如报 告)、一次行为(如电话呼叫)或事件(一个 警报)、一个角色(如销售人员)、一个组织 单元(如销售部门、人事部门)、一个地点 (如仓库)或一个结构(如文件)。
4.2 数据模型与ER图
表4.1列出了一些可能的映射:
单词类型
示例
分析模型组件
名词
人、组织、软件系统、数据项或存 数据存储(DFD) 在的对象
执行者(用例图)
实体或实体属性(ERD)
类或类属性(类图)
动词
动作、用户可做的事情或可能发生 过程(DFD) 的事件
用例(用例图)
关系(ERD)
状态(STD)
- 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层图的方法,画出该加工的子图。