结构化分析方法分析模型:数据流图( 共46页

合集下载

结构化分析方法

结构化分析方法

结构化分析⽅法什么是结构化⽅法结构是指系统内各个组成要素之间的相互联系、相互作⽤的框架。

结构化开发⽅法提出了⼀组提⾼软件结构合理性的准则,如分解与抽象、模块独⽴性、信息隐蔽等。

针对软件⽣存周期各个不同的阶段,它有结构化分析(SA)和结构化程序设计(SP)等⽅法。

结构化分析⽅法结构化分析⽅法(Structured Method,结构化⽅法)是⼀种软件开发⽅法,⼀般利⽤图形表达⽤户需求,强调开发⽅法的结构合理性以及所开发软件的结构合理性。

结构化分析⽅法给出⼀组帮助系统分析⼈员产⽣功能规约的原理与技术。

它⼀般利⽤图形表达⽤户需求。

其基本思想是⾃顶向下逐层分解。

分解和抽象是⼈们控制问题复杂性的两种基本⼿段。

对于⼀个复杂的问题,⼈们很难⼀下⼦考虑问题的所有⽅⾯和全部细节,通常可以把⼀个⼤问题分解成若⼲个⼩问题,每个⼩问题再分解成若⼲个更⼩的问题,经过多次逐层分解,每个最底层的问题都是⾜够简单、容易解决的,于是复杂的问题也就迎刃⽽解了。

这个过程就是分解过程。

结构化分析⽅法把系统看作⼀个过程的集合体,包括⼈完成的和电脑完成的。

结构化分析⽅法的特点是利⽤数据流图来帮助⼈们理解问题,对问题进⾏分析。

是⾯向数据流的需求分析⽅法,是⽬前最成熟、应⽤最⼴泛的⽅法,主要特点是快速、⾃然和⽅便。

结构化系统分析⽅法从总体上来看是⼀种强烈依赖数据流图的⾃顶向下的建模⽅法。

它不仅是需求分析技术,也是完成需求规格化的有效技术⼿段。

结构化分析所使⽤的⼯具结构化分析⼀般包括以下⼯具:数据流图(Data Flow Diagram,DFD)数据字典(DataDictionary,DD)结构化语⾔判定表判定树后⾯将对它们⼀⼀做介绍。

结构化分析的⼯作步骤在介绍具体的结构化分析⽅法之前,先对如何进⾏结构化分析做⼀个总结性描述,以帮助⼤家更好地应⽤该⽅法。

初略的说主要如下步骤:1. 研究“物质环境”。

⾸先,应画出当前系统(可能是⾮计算机系统,或是半计算机系统)的数据流图,说明系统的输⼊、输出数据流,说明系统的数据流情况,以及经历了哪些处理过程。

结构化的分析方法

结构化的分析方法
(1)这样得到的多层DFD可清晰的反映整个数据加工的真实情况; (2)对于任何一层DFD来说,称它的上层为父图,下层为子图; (3)在多层DFD中,可以把顶层DFD,中间层DFD和底层DFD区分开来;
信息系统分析与设计
16
分层DFD示意图
信息系统分析与设计
17
绘制DFD的主要原则
• • • • 明确系统边界 自顶向下,逐步扩展 合理布局 DFD只反映数据流向,逻辑加工,数据存 储,不反映任何技术细节处理方式 • DFD绘制过程,用户参与原则
可行性分析
从经济、技术、社会等方面的 因素考察所要开发的系统的可 能性和必要性。 •功能性需求; •非功能性需求;主要包括性能,如处理 速度、吞吐量、响应时间等,安全性, 可靠性… 建立一个能够满足定义所描述的 用户需求模型,包括过程建模和 信息系统分析与设计 数据建模。
需求分析
系统建模
5
系统分析阶段的主要活动
信息系统分析与设计
18
(a)
பைடு நூலகம்
顶层图
(b)
第0层图
(c)
第一层图
(d)
第二层图
信息系统分析与设计 19
A
B
A
B
重复标记1
重复标记2 重复标记1
重复标记2
X
Y
信息系统分析与设计
X
Y
20
利用重复标记缩短箭线
用户
用户
用户
信息系统分析与设计
21
绘制DFD的主要步骤
(1)确定系统的外部项,也就是数据的源点和汇点;
成分的实际意义,避免空洞的名字
• 编号 按层给加工编号,编号表明该加工处于那一层,以及上下 层父图子图的关系

5 结构化分析方法

5  结构化分析方法

SRS所不能实现的作用
第一,它不是一个设计文档。它是一个“为了”设计的文档 。 第二,它不是进度或规划文档,不应该包含更适宜包含在 工作陈述(SOW)、软件项目管理计划(SPMP)、软件生存周 期管理计 划(SLCMP)、软件配置管理计划(SCMP)或软件质
量保证计划(SQAP)等文档中的信息。因此,在SRS中不应给 出: 项目成本; 交付进度; 报告规程;
给 出 实 现 开 发 过 程 的 途 径
(一) 结构化方法
--一种特定的软件开发方法学
1 结构化分析方法
1)何谓分析 一般地说,分析是系统化地使用信息,给出一个问题的估算. 分析的三要素: 需要使用哪些信息; 如何系统化的使用信息, 估算算法
何谓结构化分析 就软件需求分析而言,即为:系统化地使用问题域术语,给
软件开发 本质
定义
软 件 生 存 周 期 过 程
形 成
软 件 生 存 周 期 模 型
支 持 过 程 方 向
(活 动 与 定 序)
的 建 立
软件开发方法学 软 件 结构化方法 工 面向对象方法 程 面向数据结构 生 方法 存 维也纳开发方 周 期 法(VDM) 过 作用于 …… 程 支持/管理技术与方法
记帐 记帐文件
帐单
旅行社
5)过程指导
建立系统的功能模型 ---使用的工具为数据流图DFD 首先:建立系统环境图,确定系统边界 继之:自顶向下,逐层分解 建立数据字典
---使用的工具为结构符
定义数据流 定义数据项 定义数据存储
给出加工小说明
---使用的工具可以为判定表 判定树
结构化分析方法应用实例 问题1:建立一个简化的商业自动化系统,其中: 营业员通过该系统记录每日销售的商品(商品名,商品

数据流图实例ppt课件

数据流图实例ppt课件

注意:标注各加工框及数据流名称。
2.2.2 分层的数据流图 为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益
2.2.2 数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据流程 的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻 辑输入转换为逻辑输出所需的加工处理。
数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流。或者说一 个加工至少有一个输入数据流,一个输出数据流。
数据封闭是对整个系统而言。
加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几
个部分; 分解度:一般每一个加工每次分解最多不要超过7个子
加工,分解应分解到基本加工为止。
为 了 规 范 事 业单位 聘用关 系,建 立和完 善适应 社会主 义市场 经济体 制的事 业单位 工作人 员聘用 制度, 保障用 人单位 和职工 的合法 权益
2.2.5 画分层DFD图的基本原则
子图与父图的“平衡” 父图中某个加工的输入输出数据流应该同相应的子
图的输入输出相同(相对应),分层数据流图的这种特 点称为子图与父图“平衡”。 合理使用文件
医院病房监护系统二层DFD图
第二层:加工“中央监视”分解
3.1
病员数据 开解信号
脉搏
病员极限
血压 体温
3.2
计算超过 极限值否
超过极限值
生理信号 极限值
血压、体温 脉搏
3.3
产生 报警信息
报警
时钟
3.4
格式化 日期 病员数据

结构化分析方法

结构化分析方法

结构化分析方法结构化分析方法一、需求分析与需求分析方法需求阶段是软件开发的关键阶段。

需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。

需求分析阶段的工作(四方面):◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。

◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。

◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。

◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。

1、需求获取的目的清楚地理解所要解决的问题、完整地获取用户需求。

2、需求获取的内容用户需求分类:(1)功能性需求定义了系统做什么(描述系统必须支持的功能和过程)。

(2)非功能性需求(技术需求)定义了系统工作时的特性(描述操作环境和性能目标)。

3、需求分析的步骤4、需求分析过程示意(1)通过对现实环境的调查,获得当前系统的物理模型。

(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。

(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。

5、需求分析的方法结构化分析(传统建模方法)、面向对象分析。

二、结构化分析方法1、结构化分析方法(Structure Analysis---SA)(1)定义是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。

(2)结构化分析的主要步骤通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。

2、结构化分析方法使用的常用工具(1)数据流图(DFD—Data Flow Diagram )①作用从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。

餐饮服务系统--结构化分析数据流图E-R图数据字典

餐饮服务系统--结构化分析数据流图E-R图数据字典

淮海工学院计算机工程学院实验报告书课程名:《软件工程导论》题目:结构化分析实验学号: 511020825姓名:薛思雨一、实验目的与要求通过示例掌握结构化系统分析的方法综合运用DFD,DD,E-R图等工具建立系统的概念数据模型二、实验环境VISIO 2003其它相关软件及硬件、网络环境三、实验步骤与源程序1.餐饮服务管理系统1)总体说明餐饮服务管理系统是酒店管理系统的一个部分,主要完成中西餐、咖啡厅、酒吧等顾客消费的消费信息记录、资源分配以及员工的信息管理等工作。

2)系统相关角色系统管理员,员工,部门经理,采购员,顾客,供货商等等3)相关功能说明(1)餐饮收银管理登记管理:客人到来以后进行登记,可以修改或者删除登记信息,客人可以要求合台或者换台。

消费管理:能够录入、修改或者删除客人的消费信息。

订餐管理:订餐信息登记,包括订餐时间、就餐时间、订餐桌数、人数、订餐详情、取消订餐、订餐查询。

主窗体:显示当前桌台、包房的占用情况,显示客人消费状态。

结算管理:客人结账的时候可以分类打折或者全面打折,计算开发票金额,打印账单,结账方式也有多种方式,如现金付款、支票付款、信用卡付款、免费、挂帐等自动统计。

日统计管理:可以对今日收银进行概览,方式多样,如按类别统计、按菜品统计、按帐单统计、按包房统计等等,可显示日销售项目排行榜,可打印销售日报表。

二级库存管理(主要管理酒水饮料的日常库存):这里主要是指前台的酒水饮料管理,包括入库、入库查询、入库统计,退货、退货查询、退货统计,库存动态,销售查询、销售统计,库存盘点、盘点查询、盘点统计。

菜谱管理:对菜品进行管理,如菜品类别维护、特色菜维护、菜品明细维护、酒水饮料维护,价格维护、套餐维护、菜谱打印、商品单位维护。

各消费类别和消费项目可任意增加、修改与删除,按照自己业务情况任意设置。

(2)采购库存管理该库存管理系统是后勤部门对所有资源的管理。

仓库从供货商处对商品进货,也可以对商品退货,可以进行商品进货信息和商品退货信息的查询、统计等。

软件工程考试题(带答案)..

软件工程考试题(带答案)..

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是: ( B )A)可行性研究,问题定义,需求分析。

B)问题定义,可行性研究,需求分析。

C)可行性研究,需求分析,问题定义。

D)以上顺序都不对。

2.可行性研究主要从以下几个方面进行研究:(A )A ) 技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3 耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下: (C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

D)控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是: (A )A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。

C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。

D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A )A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)A.概要设计B.详细设计C.需求分析D.可行性分析7 下面不是软件工程的3 个要素的是(C )A过程B.方法C.环境D.工具8.下面不属于软件的组成的是(B )A程序B.记录 C.文档 D.数据9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C )A.维护时期B.运行时期C.定义时期D.开发时期10.在瀑布模型中,下面(C )是其突出的缺点。

结构化分析方法

结构化分析方法

IT项目需求分析与管理之结构化分析方法(一)作者:雪影发表于2012 年 5 月 5 日分类:软件架构|暂无评论1、概述结构化开发方法是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。

结构化开发方法包含三部分:•结构化分析方法(SA法):结构化分析方法是面向数据流进行需求分析的方法,适合于数据处理类型软件的需求分析。

•结构化设计方法(SD 法)•结构化程序设计方法(SP 法)SA 法建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件模型为止。

结构化分析方法是传统软件工程中公认的技术成熟和使用广泛的需求分析方法。

它主要借助于分层数据流图和数据字典等图形及半形式化的工具表达系统的需求。

结构化分析方法结构化分析方法(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70 年代末由Yourdon, Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别是企事业管理系统。

主要应用技术和工具:数据流图(DFD);数据字典(DD);加工说明(PESPEC);实体关系图(E-R);状态变迁图(STD)等SA法的基本思想结构化分析的基本思想:“分解”和“抽象”分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。

抽象:即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容。

自顶向下逐层分解,顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

SA 法的步骤1⑴建立当前系统的“物理模型”;系统的“物理模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

SA 法的步骤2⑵抽象出当前系统的逻辑模型;分析系统的“物理模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

第二章-系统分析—结构化分析方法

第二章-系统分析—结构化分析方法

1、结构化方法概述

一种面向数据流的传统软件开发方法,以 数据流为中心构建软件的分析模型和设计 模型。
结构化分析(Structured Analysis
分为:
简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简 称SP)
1、结构化方法概述

主要思想:抽象与自顶向下的逐层分解 (控制复杂性的两个基本手段)
抽象:在每个抽象层次上忽略问题的内部复杂
性,只关注整个问题与外界的联系。 个最底层的问题都足够简单为止。
分解:将问题不断分解为较小的问题,直到每

抽象:从作为整体的软件系统开始(第一层),每一 抽象层次上只关注于系统的输入输出。 分解:将系统不断分解为子系统、模块…… 随着分解层次的增加,抽象的级别越来越低,也 越接近问题的解(算法和数据结构)。
(1)源或宿

存在于软件系统之外的人员或组织,表示软件系 统输入数据的来源和输出数据的去向,因此也称 为源点和终点。
例如,对一个图书馆信息管理系统而言 读者向系统提供查询条件(输入数据流),所以读者是管理系统 的一个源 管理系统向供货商发出购书请求(输出数据流),所以供货商 是管理系统的一个源
经理
图书库存 库存状态 库存查询 书库 管理
入库单
采购单
帐务数据库
图书代理 商
数据流图的扩充符号

描述一个加工的多个数据流之间的关系
星号(*):表示数据流之间存在“与”关系

所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流 至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流

软件工程 第六讲 结构化分析方法

软件工程 第六讲 结构化分析方法

什么是GOTO语句?
ห้องสมุดไป่ตู้

在以前的程序设计课程中,老师说 goto语句很重要,为什么在这里说不 那么重要呢?
简单明确的概述什么是自顶向下、逐步求 精的思想,它和自底向上的分析方法有什 么不同??




结构化设计程序的方法在软件工程提出后产生, 主要是提出取消“GOTO“语句的使用。我想问的 是在结构化中的模块之间的接口不就算是 “GOTO”语句吗? 问题一:书中104在讲到结构化程序设计(SP)中 提到的“只要三种控制结构(顺序、选择、重复) 就是能表达用一个入口和一个出口的流程图所能 表达的任何程序逻辑”该做如何理解? 问题二:该如何来理解结构化方法的指导思想 (自顶向下、逐步求精)与两个基本原则(抽象、 分解)的联系?

问题六:基本加工是靠自己的经验来确定的,还 是有一定的标准?
返回
数据流



表示数据的流向。 数据流由一组数据项组成。 命名规则和注意事项:

数据流的名字用名词或名词词组 应尽量使用现实系统中已有的名字 把现实环境中传递的一组数据中最重要的那个数据的名字作为数 据流的名字 不要把控制流作为数据流 不要使用意义空洞的名词作为数据流名,如”数据“、“信息 “等。 如果在命名时遇到困难,说明你可能对数据流的分解不恰当,应 进行重新分解。 对流进或流出文件的数据流不需标注名字。



问题P110 怎样准确的判断出父图与子图的平 衡?
父图 与子 图平 衡吗?
父图 与子 图平 衡吗?
问题


110页图8.6为什么平衡不清楚。 P110 对父图与子图的平衡的理解:图8.6中如果 不存在图8.4的情况下,那么这个父图与子图就不 符合自图的平衡了,对吗? 画数据流图中,父图与子图怎样保持平衡? P110:第(6)个注意事项第二段第一句:有时考 虑平衡可忽略一些枝节性的数据流。我对本句中 的“枝节性的数据流”不太理解,不知道什么叫 “枝节性的数据流”,枝节性的数据流有何特点?

结构化分析—-数据流图ppt课件

结构化分析—-数据流图ppt课件
产品
销售量
职工
累计销售量单价
D2
产品
计算 销售量
D2 产品销售帐
计算销售总额
商品编号#_
怎么辨别数据存储
• 各种需要长期保存的表格(纸质/电子)
– 答辩评审表、新生登记表、包裹邮寄单
• 分类存放的某类表格数据,称为一个数据存 储 • 一个数据存储可能经过多道处理手续,即数 据处理(可能涉及多个人填写表格或查看)

3、提高易读性
提高数据流图的易理解性
(1)简化处理间的联系(利用数据存储)
如:P2 成绩管理 ->P1 异动管理之间的联系可 以改变为: P2成绩管理->D3留退名单 P1异动管理<-D3留退名单 D3留退名单为增加的数据存储
(2)均匀分解,应齐头并进 (3)适当的命名
4、确定系统边界
• 信息系统建模不是对应用领域的业务建模, 信息系统可能只反映业务系统的部分处理过 程。 • 因此要关注信息系统解决的问题,重点是系 统中的数据处理和流动。 (1)排除纯手工活动 (2)排除其它外部系统的活动 (3)和系统外的外部实体之间的接口通过数 据流来实现
p1
外部实体
数据处理
数据存储
数据流
外部实体
外部实体指系统以外又与系统有联系的人或事物 。它表达了该系统数据的外部来源和去处。 例如:人、组织、外部系统等等。
• 外部实体是数据的来源(谁提供了最初始的数据?) • 外部实体是数据的去处(数据对谁有价值?)
图书 管理员 图书 管理员
读者
馆长
读者
数据处理
课堂练习
• 不完整的DFD如下:
P3 报警 拨出 通信 系统
电话号码
通信 系统

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。

A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。

A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。

A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。

A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。

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

0..1
1
Item quantity
1..* Contained
* Stocked-in
关联
1
1
Sale
Store
属性
date time 1
Address name
1 Paid-by
1 Houses
1
1..*
Payment
Captured-on POS
amout
1
商店问题域中的概念(UML 中的类)
• 成员 • 约束 • 关联、属性、操作
动态模型
用来描述系统与时间相关的动态 行为即系统的控制逻辑,表现对象彼 此间经过相互作用后,随时间改变的 不同运算顺序。
动态模型以“事件”(Events)和 “状态”(States)为其模型的主要概 念。
动态模型以状态图形式呈现,
• 事件: 瞬时发生的行为;
事件
抽象概念 过程
规则、手册
记录
目录 金融工具、服务机构
举例
销售、会议 出航、着陆、坠机
商店 机场 退货政策、雇员手册 取消策略、修理手册 收据、分类帐目、合同 维护日志 产品目录、零件目录
信用卡、股票
POS系统问题域的候选概念
•POS机(POS) •商品项(Item) •商店(Store) •销售项(Sale) •支付(Payment) •产品目录(ProductCatalog) •产品规格说明(ProductSpecification) •销售项条目(SalesLineItem) •出纳员(Cashier) •顾客(Customer) •管理员(Manager)
建立概念模型(UML中的类图)
•确定并定义类 •建立关联 •添加属性 •描述系统行为:系统顺序图等
建立关联
对象之间的静态联系称为实例 连接(Instance Connection) ,它通过 对象的属性来表现对象之间的依赖关 系。
面向对象术语中把对象之间的实 例连接称为链接(Link),把类之间的 实例连接称为关联(Association)
金额计算器
金额
累加 找零 重置
属于 属于
贩卖机
饮料号码 价格
投币-接受 饮料掉出 金额显示 按纽 退币杆
属于 属于
售完显示
存量计算器
饮料号码 存量
递减 售完显示 重置
退币杆 被拉动
退币杆状态
拉动
购买
顾客
姓名 硬币 投币-置入 拿取饮料
选取
选择钮
选择钮状态
灯亮 灯熄 售完灯亮 按钮
建立数据字典
为所有模型实体准备一个数 据字典,精确描述每一个对象类, 包括:
定义移动电话系统的对象(简化)
手机包括的对象:
• 手机屏幕 • 手机按钮 • 手机(屏幕、按钮以外的部件) 其它对象:
• 基站
MButton
MmobileStation
MDisplqy
MmobileHandset
移动电话系统的类图
移动电话系统对象间的通信
1:pushDigButton() 3:pushSendButton() 2:displayButtonNumber()
OMT支持整个软件生命周期:
需求分析、系统设计、系统实现、 测试与维护。
1. 分析阶段
理解应用问题,建立对象模型、动态 模型和功能模型,说明对象关联、控制流及 数据变换。
2. 系统设计阶段
确定系统框架,考虑并发任务、通讯 机制和数据存储策略。
3. 对象设计阶段
1. 打电话者拿起听筒 2. 电话忙音开始 3. 打电话者拨数字(8) 4. 电话忙音结束 5. 打电话者拨数字(2) 6. 打电话者拨数字(3) 7. 打电话者拨数字(7) 8. 打电话者拨数字(3)
9. 接电话者的电话开始振铃
10. 铃声在打电话者电话传出 11. 接电话者回答 12. 接电话者电话停止振铃 13. 铃声在打电话者电话中消失 14. 通电话 15. 接电话者挂断电话 16. 电话切断 17. 打电话者挂断电话
Address name
1 Paid-by
1 Houses
1
1..*
Payment
Captured-on POS
amout
1
范例:移动电话系统
移动电话系统的功能: • 用手机做移动通讯 • 下载铃声 • 下载图案 • 管理电话簿
移动电话系统的使用用例图
Talk to Others Download Icons Mobile user Download Rings Mobile Network Manage Phonebook
MDisplqy
displayError() displayButtonNumber() displayConnectSuccess() displayIncomingCall()
MmobileHandset
connectStation() disconnectStation()
connectSuccess () Diaconnectsuccess()
移动电话系统的类图之二
对象模型技术 (OMT, Object Model Tech)
基本模型:
对象模型 动态模型 功能模型
三个模型分别从不同角度分析系统
分析模型
•对象模型: 描述静态结构, 定义做
事情的实体
•功能模型: 描述处理(数据变换),
指明系统应“做什么”
•动态模型: 描述交互过程, 规定什么
事件
动作
当前时间=目标时间+20 重新设置闹钟
按下按钮(任意按钮) 重新设置闹钟
下一个状态 正常 正常
动态模型表示方法
• 状态图 状态和事件的网络,侧重描述每一类对象 的动态行为。
• 状态图
初始 事件
状态1
事件1[条件1] / 动作1 状态2
结束 事件
Do:活动1
.…...
例:
空闲
左边按钮按下/显示弹出菜单 左边按钮弹起/擦除弹出菜单
displayConnectSuccess() connectSuccess ()
MButton
pushDigButton() pushSendButton() pushDisconnectButton()
MmobileStation
createConnection() destoryConnection () responseError()
设置
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
销售
顾客将硬币投入售货机,经累加金额足额的饮料选择 键灯亮,等顾客按键选择。顾客按键后饮料由取物楼 掉出,并自动结算及找钱。
时候做
OMT模型系统分析和设计过程概观图
产生需求

问题描述

建立模型
阶 段
对象模型、动态模型、功能模型
结构及对象

设计
详细的对象模型

详细的动态模型

详细的功能模型

实例:饮料自动售货机系统
设置
一个饮料自动售货机可以放置五种不同或部分相同的 饮料,可由厂商根据销售状况自动调配,并可随时重 新设置售价,但售货机最多仅能放置50罐饮料,其按 钮设计在各种饮料样本的下方,若经金额计算器累计 金额足够,则选择键灯会亮;若某一种饮料已销售完 毕,则售完灯会亮。
• 状态: 对象属性和对象关联的抽象形式
状态的特征表示方法举例:
状态:闹铃响
描述:闹铃响表示预定时间到
产生本状态的事件序列: 设置闹钟(预定时间) 不包括清除闹铃的任何后续操作 当前时间=预定时间
表征本状态的条件:
闹铃=开,从预定时间起没有按键的情况下,
目标时间当前时间 目标时间=20秒
本状态接受的各种时间:
概念就是一个想法、事物或对象
概念的描述 记号(Symbol) — 代表一个概念的单词或图形 内涵(Intension) — 一个概念的定义 外延(Extension) — 概念应用的一组实例
商店和销售领域的一个部分概念模型(UML的类图)
概念
Sales LineItem quantity
Records-sale-of
引起对象状态转换的控制信息。
事件类和属性举例:
飞机起飞(航线、航班号、城市) 按动鼠标按钮(按钮、位置) ……..
• 脚本和事件踪迹
脚本是系统某一次特定运行时期内发 生的事件序列。(脚本也叫场景)
• 事件追踪图
侧重说明发生于系统执行过程中的一 个特 定“场景(scenarios)”。
通话脚本(只包括影响电话线的事件)
顾客 售货机 金额计算器 选择键 存量计算器 售完灯
投入硬币
显示总额 选择按纽
累加 总额
金额总够
灯亮
饮料
选择键 #
结算 余额
找零
扣减存量
存量为零
灯亮
3. 功能模型
用来描述系统中数据的变换。
传统DFD + 控制流
对象A
数据流
过程 1
控制流
过程 2
对象B
数据存储区
基于三个模型的分析步骤
• 需求陈述
• 对象建模 • 动态建模 • 功能建模 • 添加操作反复建模
Store
POS
Sale
识别概念
候选概念类型
物理的或实在的对象 规格说明、设计或事物描述 地点 事务 人的角色 系统外部的其他系统或设备 组织
相关文档
最新文档