软件工程第3章 需求分析PPT课件

合集下载

软件工程3软件需求分析ppt课件

软件工程3软件需求分析ppt课件

1)从问题描述中分析出4种基本组成成分 (1)外部实体:顾客。 (2)数据流:顾客ID、现金、IC卡信息、购物
单、发票信息、维护结果、对账结果、结账信 息、正确的帐户信息。
(3)加工:发卡、维护、对账及错误处理、发 票打印、结算。
(4)数据存储:发卡记录、结账记录。
2)画出系统的基本模型
图3-2 IC卡管理系统的顶层数据流图
以火车票售票为例,如果是学生,并且每年累计的 乘车次数少于4次,则售半票,否则售全票。用形式化 语言可描述如下:
IF 乘客是学生 THEN
IF 每年累计的乘车次数少于4次 THEN 售半票 ELSE 售全票 ENDIF ELSE 售全票 ENDIF
结构化语言的特点是简单直观,且容易转化为程序, 但它不方便处理组合条件。
(1)变换型数据流图
具有较明显的输入、变换(或主加工)和输 出的数据流图称为变换型数据流图。在变换型 数据流图中,主加工是系统的中心。如图3-2 所示的是一个典型的变换型数据流图,图中 “发卡”是主加工,“现金”是输入,“IC卡” 是输出。
图3-2 IC卡管理系统的顶层数据流图
(2)事务型数据流图
3.1.2 需求分析的原则
1.分析人员要使用符合用户语言习惯的表达
2.分析人员要了解用户的业务及目标 3.分析人员必须编写软件需求报告 4.要求得到需求工作结果的解释说明 5.开发人员要尊重客户的意见 6.开发人员要对需求及产品实施提出建议和解决方案
7.描述产品使用特性 8.允许重用已有的软件组件 9.要求对变更的代价提供真实可靠的评估 10.获得满足客户功能和质量要求的系统 11.给分析人员讲解业务
某个加工将它的输入分离成一串发散的数据 流,形成许多活动路径,并根据输入的值选择 其中一条路径,具有这样特征的数据流图是事 务型数据流图。

软件工程v3_课件_03_需求分析_

软件工程v3_课件_03_需求分析_

正常使用主观题需2.0以上版本雨课堂
作答
主观题 10分
2.为方便旅客,某航空公司拟开发一个机票预订 系统。旅行社把预订机票的旅客信息(姓名、性 别、工作单位、身份证号码、旅行时间、旅行目 的地等)输入进该系统,系统为旅客安排航班, 印出取票通知和账单,旅客在飞机起飞的前一天 凭取票通知和账单交款取票,系统校对无误即印 出机票给旅客。请绘制该系统的ER图。
3.2 与用户沟通获获取需求的方法
面向数据流自顶向下求精 3.数据流分析的结果 • 清晰地定义了可实际操作的个数据元素; • 明确地展现了数据的来源与去处; • 初步描绘了数据处理的可能算法(方法)。 4.数据流描述方法 • 数据流图:数据及其处理关系 • 数据字典:数据元素 • IPO图:处理算法
可靠性Reliability:系统失效时间间隔的描述,以发生的失 效个数为驱动 可用性Availability:系统可供使用时间的描述,以丢失的 时间为驱动 4. 出错处理需求:如何响应环境错误 5. 接口需求:与环境通信的格式 6. 约束:应遵守的限制条件,精度、工具、标准、硬件平台 7. 逆向需求:不应该做什么 8. 未来的需求:不属于当前系统的开发范畴
析重要性
① 数据决定了需要的处理和算法,数据是需求分析的出 发点
② 信息系统的基本模型:输入数据 数据处理 输出数 据
③ 数据在流动中被处理,数据决定了处理所需的算法
3.2 与用户沟通获获取需求的方法
面向数据流自顶向下求精 1.基于数据流图的结构化分析方法 ① 结构化分析方法就是面向数据流自顶向下逐步求精进 行需求分析的方法
需求分析的原则
基本原则 P56 尽管目前有许多不同的用于需求 分析的结构化分析方法,但是所有 这些方法都遵循下述原则

软件工程之第3章-需求分析(第五版)(张海潘编著)精品PPT课件

软件工程之第3章-需求分析(第五版)(张海潘编著)精品PPT课件
根据在分析过程中获得的对系统的更深入更具 体的了解,可以比较准确地估计系统的成本和 进度,修正以前制定的开发计划。
3.2 与用户沟通获取需求的方法
访谈 面向数据流自顶向下求精 简易的应用规格说明技术 快速建立软件原型
需求的获取
需求获取是开发人员与客户或用户一起对应用领 域进行调查研究,收集系统需求的过程
层次的方法展示细节。
3.1 需求分析的任务
确定对系统的综合要求
---功能需求、性能需求、可靠性和可用性需求、出错处理需求、 接口需求、约束、 逆向需求、将来可能提出的要求。
分析系统的数据要求 导出系统的逻辑模型 修正系统开发计划
3.1.1 确定对系统的综合要求
1. 功能需求 2. 性能需求 3. 可靠性和可用性需求 4. 出错处理需求 5. 接口需求 6. 约束 7. 逆向需求 8. 将来可能提出的要求
确定系统必须完成哪些工作,也就是对目标系 统提出完整、准确、清晰、具体的要求。
系统分析员应该写出软件需求规格说明书,以 书面形式准确地描述软件需求。
需求:正在构建的系统必须符合的事务。
需求管理:是一种获取、组织并记录系统需求 的系统化方案以及一个使客户与项目团队不断 变更的系统需求达成并保持一致的过程。
第四代技术特点:
简单易学,用户界面良好,面向问题、非过程化程度 高,用户只需告知系统做什么,而无需说明怎么做。 用4GL编程使用的代码量较少,并可成数量级地提高 软件生产率。
程序设计语言划代:
1GL是汇编语言;
2GL是高级程序设计语言,如FORTRAN,ALGOL, BASIC,LISP等;
术性的转换
功能范围更广,
现代
全过程的,注 重整个产品过 程的全部

03第三章 软件需求分析精品PPT课件

03第三章 软件需求分析精品PPT课件

统计资料:
In 1994, the Standish Group surveyed over 350 companies about their over 8000 software projects to find out how well they were faring. The results are sobering. Thirty-one percent of the software projects were canceled before they were completed. Moreover, in large companies, only 9% of the projects were delivered on time and cost what they were budgeted, and 16% met those criteria in small companies (Standish 1994).
2021/1/1
仲恺农业技术学院计算机与电子工程学院
4
在美国高科技历史上曾有过令人痛心的事件: 大家知道,DEC曾经是美国三大计算机公司之一,几年前
被康柏收购,从地球上消失,成为美国计算机界一大憾事。 DEC曾以众多的高新技术著称于世。其中,它在最后的几年里 研发出的 Alpha 计算机芯片更以卓越的技术在性能上超过了 Intel, sun 和其他厂家的芯片。微软也曾大力协助 DEC ,将 Windows Nt 移植到 Alpha 系统,然而,Alpha 在市场上彻底地 失败了,成为 DEC 最终失败的原因之一。
the Ariane-5, a space rocket belonging to the European Space Agency (ESA). On June 4, 1996, on its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then, it began to veer off course. At the direction of an Ariane ground controller, the rocket was destroyed by remote

《软件工程导论》第3章需求分析ppt课件

《软件工程导论》第3章需求分析ppt课件
3.1.3 导出系统的逻辑模型
包括完善的数据流图、实体-联系图、状态转换图、 数据字典、主要的处理算法(IPO图)等。
3.1.4 修正系统开发计划
修订前期制定的开发进度计划、等。
3.2 与用户沟通获取需求的方法
3.2.1 访谈
正式访谈:系统分析员提出事先准备好的问题。 非正式访谈:提出一些用户可以自由回答的开放性问
题,鼓励被访者说出自己的想法。 需要访问大量人员时,利用调查表访问较佳。 情景分析技术:对用户将来使用目标系统解决某个具
体问题的方法和结果进行分析。
3.2.2 面向数据流自顶向下求精
借助数据流图、数据字典、IPO图等,细化、完善详
细的数据流图,等到各处理环节对应的功能。
需要分解
有补充修正
分析追踪数 据流图
3.6.2 事件
事件是某个特定时刻发生的事情,它是引起系
统做动作或状态转换的控制信息。 3.6.3 符号 初态:实心圆 终态:同心圆(内圆为实心园) 中间态:圆角矩形,分为上、中、下三部分
状态名称 状态变量 活动表
状态变量的名字和值 事件名(参数表)/动作表达式 标准事件:entry, exit, do
1.引言
1.1 目的 1.2 文档的约定 1.3 预期的读者和阅读建议 1.4 产品的范围 1.5 参考文献
2. 综合描述
2.1 产品的远景 2.2 产品的功能 2.3 用户类和特性 2.4 运行环境 2.5 设计和实现的限制
需求规格说明书
3. 外部接口
3.1 用户界面 3.2 硬件接口 3.3 软件接口 3.4 通信接口
用户接口、硬件接口、软件接口、通信接口、等。 6. 约束
精度、工具和语言、设计约束、硬件约束、标准,等。 7. 逆向需求 :软件系统不应该做什么 8. 将来可能提出的要求 :为将来的修改和扩充做准备。

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

软件工程第三章 软件需求分析 PPT课件
购 书 申 学 请 书 购 单 开发票 发 票 领 书 单 发书

审查 有效性
开领 书单

学 生
学生购买教材的逻辑模型
需求分析过程示意
(3) 分析当前系统与目标系统的差别, 建立目标系统的逻辑模型
无效书单
学 购书单 审查并 发票 领书单 开领

开发票
书单
学 生
计算机售书系统的逻辑模型
需求分析过程示意
对象 系统
抽象(映射) 模型应用
模型 系统
模型构造的过程
逻辑模型 (本质模型、概念模型)
物理模型 (实施模型、技术模型)
现 行 系 统
描述重要的业务 功能,无论系统 是如何实施的。
描述现实系统是 如何在物理上实 现的。 描述新系统是如 何实施的(包括 技术)。
目 标 系 统
描述新系统的主要 业务功能和用户新 的需求,无论系统 应如何实施。
接收、发送数据的频率?
数据的准确性和精度? 数据流量? 数据需保持的时间?
(8)
资源需求
软件运行时所需的数据、软件。
内存空间等资源。
软件开发、维护所需的人力、
支撑软件、开发设备等。
(9)
安全保密要求
需对访问系统或系统信息
加以控制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序 和操作系统隔离? 系统备份要求?
(1)
功能需求
系统做什么?
系统何时做什么?
系统何时及如何修改
或升级?
(2)

性能需求
软件开发的技术性指标:

存储容量限制 执行速度、相应时间 吞吐量
(3)
环境需求

软件工程03软件需求分析PPT共98页

软件工程03软件需求分析PPT共98页
56、极端的法规,就是极端的不公。 ——西 塞罗 57、法律一旦成为人们的需要,人们 就不再 配享受 自由了 。—— 毕达哥 拉斯 58、法律规定的惩罚不是为了私人的 利益, 而是为 了公共 的利益 ;一部 分靠有 害的强 制,一 部分靠 榜样的 效力。 ——格 老秀斯 59、假如没有法律他们会更快乐的话 ,那么 法律作 为一件 无用之 物自己 就会消 灭。— —洛克
60、人民的幸福是至高无个的法。— —西塞 罗
46、我们若已接受最坏的,就再没有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.层次方框图 用树形结构的一系列多层次的矩形框描述数据的层次结 构。树形结构的顶层是单独的矩形框,它代表完整的数据 结构,下面的各层矩形框,代表这个数据的子集,最底层 的各个框代表组成这个数据的实际数据元素。这种模式非 常适合在需求分析阶段描述数据结构。
3.Warnier图 表示信息层次结构的另一种图形工具,它是由嵌套的花括 号、伪代码、以及少量的说明和符号组成的层次树,表明 信息的逻辑组织。
对象具有以下特点。
(1)数据的封装性。 (2)以数据为中心。 (3)对象是主动的。 (4)模块独立性好。 (5)并行性。
3.3.1.1 面向对象的基本概念 4.封装(Encapsulation) 封装具有两个含义:一是把对象的全部属性和全部服务结
合在一起,形成一个不可分割的独立单位(即对象);二 是尽可能隐蔽对象的内部细节,对外形成一个边界,只保 留有限的对外接口使之与外部联系。。
SA方法的基本思想是“自顶向下逐步分解”, 使用“分解”和“抽象”两个基本手段来控 制工程的复杂性。
SA方法的核心是数据流图。使用SA方法获 得的需求规格说明书有数据流图、数据词典 及补充材料组成。
1.数据流图的基本符号

数据源点或终点 或
2.画数据流图的步骤
(1)画系统的输入输出 (2)画系统的内部 (3)画加工的内部
2.建立目标系统的逻辑模型
当前系统
模型化
怎么做 物理模型
目标系统
具体化
物理模型
抽象化
做什么 逻辑模型
实例化
逻辑模型
理 解 需 导求

表 达


需求分析的任务就是借助当前系统的逻辑模型导
出目标系统的逻辑模型,解决目标系统“做什么” 的问题。
结构化分析(SA)方法是一种面向数据流的需 求分析方法,以数据流分析作为需求分析的 出发点。
封装是一种信息隐蔽技术,对象的所有信息(数据和行为) 都封装在对象中,即对象的内部结构从其环境中隐藏起来。 若要对对象的数据进行读写,必须将用消息的形式传递给 该对象,它将调用其相应的方法对其数据进行读写。
面向对象的类是封装良好的模块,类定义将其说明(使用 者可见的外部接口)与实现(使用者不可见的内部实现) 显式地分开,其内部实现按其具体定义的作用域提供保护。 封装可减少程序相互依赖性。对象间的相互联系和相互作 用过程主要通过消息机制得以实现。
继承分为单重继承、多重继承。当一个类只有一个父类时, 类的继承是单重继承;如果一个类有多个父类,类的继承 为多重继承。
通过类的继承关系,使公共的特性能够共享,提高了软件 的复用性。继承性使得具有相同特性的对象可以共享程序 代码和数据结构,从而大大地提高了软件开发效率。
3.3.1.2 对象模型技术 2.开发过程 (1)分析
2.判定表 对数据的有些处理依赖于多个逻辑条件的取值,这些取值
构成不同的情况,满足不同的条件执行不同的操作。这类 问题适合使用判定数或判定表来描述加工逻辑。
判定表通常由四部分组成:条件桩、条件条目、操作桩、 操作条目。
3.判定树 判定树在本质上同判定表示一样的,当用户不易接受判定 表时可用判定树的形式。
4.IPO图 能方便地描述输入数据、对数据的处理和输出数据之间的
关系,因此,在需求分析阶段可使用IPO图简单地描述系 统的主要算法(即从数据流图中各个处理获得的基本算 法)。
改进的IPO图,或称为IPO表中可以包含某些附加信息。
3.3.1.1 面向对象的基本概念 1.对象(Object)
对象是由描述该对象属性的数据以及可以对这些 数据施加的所有操作封装在一起所构成的统一体。 一个对象有一组属性和对这组属性进行操作的一 组方法构成。属性是用来描述对象静态特征的一 个数据项。方法是用来描述对象动态特征(行为) 的一个操作序列,也称为服务。
数据词典中一般有四种类型的条 目:数据流条目、数据存储文件 条目、数据项条目、加工条目。
数据词典定义式中的符号
3.2 结构化分析 3.2.3 数据词典
1.数据流条目 数据流条目给出某个数据流的定义,通常列出该数据流的 各个组成数据项。
2.数据存储文件条目 数据存储文件条目给出某个文件的定义,通常是列出其记 录的组成数据项,此外还可指出文件的组织方式等。
3.数据项条目 数据项又叫数据流分量或数据元素,这类条目给出某个数 据单项的定义,通常是该数据项的值类型、允许值等。
4.加工条目 数据词典中只需列出基本加工(不再进一步分解的加工) 的定义,只要有了基本加工的定义,就可以理解其他加工。 加工的定义又称为加工逻辑或小说明,它集中描述一个加 工做什么。
1.结构化语言 结构化语言是介于自然语言和形式语言之间的一种半形式 化语言,是自然语言的一个受某些限制的子集。虽不如形 式语言精确,但具有自然语言简单易懂的优点,又避免了 自然语言的一些缺点。
3.分层数据流图 SA方法采用“分层”的技术,自外向内,自顶向
下,有控制地逐层细化。
一套分层的数据流图由顶层、底层和中间层组成。 底层图由不必再分解的基本加工组成。
相邻两层的数据流图的关系称为“父子”关系。 数据流图和加工编号规则:
子图的编号是父图中相应加工的编号。 子图中加工的编号由子图号、小数点、加工在子图中
的顺序号连接而成。 顶层图只有一张,不必编号,下一层的图可以编号为
0,图中加工的编号是0.1、0.2、0.3……,通常删去小 数点及前面的0,即该层加工的编号一般用1、2、 3……。
数据字典(Data Dictionary,DD)定义 了数据流图中每一个图形元素, 也就是说数据流图中所有名字的 定义构成数据词典。
包括问题描述、构建对象模型、构建动态模型、构建功能模型。最后得到的 分析文档包括问题需求的陈述、对象模型、动态模型和功能模型。
3.3.1.1 面向对象的基本概念 5.继承(Inheritance) 由一些特殊类归纳出来的一般类称为这些特殊类的父类或
基类,特殊类称为一般类的子类或派生类,同样父类可演 绎出子类,父类是子类更高级别的抽象。子类可以继承父 类的全部描述(数据和操作)。
在面向对象方法学中,子类将继承其父类的全部数据和其 上的方法。继承是类不同抽象级别之间的关系。
相关文档
最新文档