软件工程各种图结构
软件工程 第4版 第5章 详细设计
数据流程图
01
数据流程图表示 求解某一问题的 数据通路,同时 规定了处理的主 要阶段和所用的 各种数据媒体
程序流程图
02
程序流程图表示 程序中的操作顺 序
系统流程图
03
系统流程图表示 系统的操作控制 和数据流
程序网络图
04
程序网络图表示 程序激活路径和 程序与相关数据 流的相互作用
系统资源图
05
系统资源图表示 适用于一个问题 或一组问题求解 的数据单元和处 理单元的配置
5.1.3 PAD
01 PAD 的基本符号
OPTION
➢ 顺序结构 ➢ 条件结构 ➢ CASE 型多分支结构 ➢ 先检测循环条件的WHILE 型循环结构 ➢ 后检测循环条件的UNTIL 型循环结构 ➢ 语句标号 的特点
OPTION
用PAD 表示的程序从最左边的竖线的上端开始,自上而 下、自左向右执行 用PAD 设计的软件结构必然是结构化的程序结构
图1
图2
5.1.1 流程图
04 流程图的3 种基本结构
OPTION
流程图的3 种基本结构为顺序结构、条件 结构和循环结构,如图1所示,图中的C 是判 定条件。顺序结构如图(a)所示。条件结构 可分为两种,一种是IF...THEN...ELSE 型条件 结构,如图(b)所示;另一种是CASE 型多 分支结构,如图(c)所示。
应的应做的工作。
2 判定表中的符号
右上部用T 表示条件成立,用F表示条件不 成立,空白表示条件成立与否不影响。
右下部画× 表示在该列上面规定的条件下做 该行左边列出的那项工作,空白表示不做该 项工作。
5.1.5 判定树
判定树和判定表一样,也能表明复杂的条件组 合与对应处理之间的关系。判定树是一种图形表示 方式,更易被用户理解。
软件工程各种图结构
调用模块 A,B,C
2. 结构图的绘制 • 学生成绩管理系统的结构图
概要设计方法
结构化方法 • 结构化方法又称面向数据流设计方法(Structured
Design,SD)。 • 设计步骤是先根据系统数据流图建立系统逻辑模型,
再进行结构设计。 1. 建立系统逻辑模型 (1)变换型数据流 (2)事务型数据流
如: 成绩单=学号+姓名+1{课程名+成绩}3
• 也可写为 成绩单=学号+姓名+ {课程名+成绩}
数据字典与图形工具
• 数据字典与图形工具应相辅相成、互相配 合,既要互相补充又要避免冗余。
• 系统分析员在编写数据字典和使用图形工 具时应遵守一些约定
需求分析举例
•
概要设计
软件结构设计的图形工具
盒图 盒图是Nassi和Shneiderman提出的,又称N_S图。
1. 盒图的符号
将下述含有GOTO语句的用程序流程图,改为N_S图。
学生成绩管理系统的 N-S 图。
PAD 图
基本符号
学生成绩管理系统的 PAD 图
判定表
1. 判定表的组成 • 左上部列出所有条件。 • 左下部列出所有可能做的工作。 • 右上部每一列表示各种条件的一种可能组合,所有列
画出学生成绩管理 系统的 IPO 图。
数据字典
• 数据字典(Data Dictionary ,DD) 是对实体-关系图、状态转换图和数据流图中出现的 所有数据对象、属性、关系、状态、数据流、文件、 处理等元素的定义的集合。
数据字典的内容 • 1. 数据元素 • 2. 数据流 • 3. 数据存储 • 4. 数据处理
数据代码设计
软件工程各种图结构
软件工程各种图结构本文档旨在提供一个软件工程中各种图结构的详细说明和范例。
1.引言软件工程中的图结构是表示软件系统的重要工具之一。
通过对图结构的使用,可以清晰地描述软件系统中各个组件之间的关系,帮助开发人员理解系统的结构和功能。
本文档旨在介绍常见的软件工程图结构,并提供范例供参考。
2.需求图需求图是软件工程中最基础的图结构之一,用于表示系统的需求和功能。
需求图通常由用例图和活动图组成,用例图用于描述系统的外部行为,活动图用于描述系统的内部行为。
以下是一个需求图的范例:[插入需求图范例]3.静态结构图静态结构图用于表示系统的静态结构,主要包括类图、对象图和包图。
类图用于描述系统中的类及其关系,对象图用于描述系统中的对象及其关系,包图用于描述系统中的包及其关系。
以下是一个静态结构图的范例:[插入静态结构图范例]4.动态行为图动态行为图用于表示系统的动态行为,主要包括序列图、状态图和活动图。
序列图用于描述系统中的交互过程,状态图用于描述系统中的状态变化,活动图用于描述系统中的业务流程。
以下是一个动态行为图的范例:[插入动态行为图范例]5.部署图部署图用于表示软件系统的部署结构,包括系统中的各个节点和节点之间的关系。
节点可以是物理设备或者软件执行环境。
以下是一个部署图的范例:[插入部署图范例]6.附件本文档附带的附件包括需求图范例、静态结构图范例、动态行为图范例和部署图范例。
7.法律名词及注释在本文档中,涉及到的法律名词及其注释如下:●著作权:指创作作品的权利,包括复制、发行等权利。
●商标:指标识商品来源的标志,可以是图形、文字、颜色等。
●专利:指对发明的技术解决方案的专有权利。
软件工程状态图
何谓状态图
2. 为什么要使用状态图
状态图的作用主要体现在以下几个方面: (1)状态图清晰的描述了状态之间的转换顺序,通过状态的转换顺 序也就可以清晰的看出事件的执行顺序。如果没有状态图我们就 不可避免的要使用大量的文字来描述外部事件的合法顺序。 (2)清晰的事件顺序有利于程序员在开发程序时避免出现事件错序 的情况。 (3)状态图清晰的描述了状态转换时所必须的触发事件、监护条件 和动作等影响转换的因素,有利于程序员避免程序中非法事件的 进入。 (4)状态图通过判定可以更好的描述工作流因为不同的条件发生的 分支。
一个状态图只能有一个初始状态,用一个实心的圆表示。
何谓状态图
终止状态
终止状态是一个状态图的终点,一个状态图可以拥有一个或者多 个终止状态。
对象可以保持在终止状态,但是终止状态不可能有任何形式的触 发转换,它的目的就是为了激发封装状态上的完成转换。
何谓状态图
判定活Βιβλιοθήκη 图和状态图中都有需要根据给定条件进行判断,然后根据不 同的判断结果进行不同的转换的情况。
构成状态图的元素
外部转换
外部转换是一种改变状态的转换,也是最普通最常见的一种转换。在 UML中,它用从源状态到目标状态的带箭头的线段表示,其他属性以文 字串附加在箭头旁。
构成状态图的元素
内部转换
内部转换只有源状态,没有目标状态,不会激发入口和出口动作, 因此内部转换激发的结果不改变本来的状态。如果一个内部转换 带有动作,它也要被执行。内部转换常用于对不改变状态的插入 动作建立模型。要注意的是内部转换的激发可能会掩盖使用相同 事件的外部转换。
内部转换的表示法与入口动作和出口动作的表示法很相似。他们 的区别主要在于入口和出口动作使用了保留字“entry”和“exit”, 其它部分两者的表示法相同。
软件工程9种图
软件工程9种图软件工程9种图本文档旨在介绍软件工程中常用的9种图,包括需求分析图、用例图、活动图、类图、状态图、序列图、通信图、部署图和物理架构图。
每个章节将详细说明各种图的定义、特点和使用方法。
1.需求分析图需求分析图主要用于描述系统的需求和功能,并将其转化为可视化的图形表示。
它包括用例图、活动图、状态图等多种子图。
用例图用于展示系统的功能、用户以及各功能之间的关系;活动图则表示系统中的各种活动以及它们之间的关系;状态图则描述系统中对象的不同状态和状态之间的转移。
2.用例图用例图是描述系统功能和用户之间交互的图表。
它展示了系统的功能性需求,包括系统的主要功能和参与者(用户)之间的关系。
用例图由参与者、用例和关系构成,通过参与者和用例之间的关系来表示用户与系统的交互。
3.活动图活动图用于描述系统中的活动或业务流程,以及这些活动之间的顺序关系。
它展示了系统的业务流程,包括活动、决策、并行和合并分支。
活动图通过节点、边和分支条件来表示活动之间的关系。
4.类图类图用于描述系统中的类、对象以及它们之间的关系。
它展示了系统的结构,包括类的属性、方法、关联关系、继承关系等。
类图通过类、对象、关联和继承等元素来表示系统的结构。
5.状态图状态图用于描述系统中对象的不同状态和状态之间的转移。
它展示了系统中对象的状态及其变化,包括对象的初始状态、中间状态以及最终状态。
状态图通过状态、转移和条件来表示对象的状态和状态之间的转移。
6.序列图序列图用于描述系统中对象之间的交互顺序和消息传递。
它展示了系统中对象之间的交互流程,包括对象的创建、销毁、方法调用等。
序列图通过对象、消息、生命线等元素来表示对象之间的交互和顺序关系。
7.通信图通信图用于描述系统中对象之间的交互和消息传递。
它展示了对象之间的通信方式,包括消息的发送和接收。
通信图通过对象、消息、连接线等元素来表示对象之间的交互和通信关系。
8.部署图部署图用于描述系统中软件和硬件组件的部署布局。
软件工程---UML动态分析-活动图
Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:
软件工程状态图
构成状态图的元素
外部转换
外部转换是一种改变状态的转换,也是最普通最常见的一种转换。在 UML中,它用从源状态到目标状态的带箭头的线段表示,其他属性以文 字串附加在箭头旁。
构成状态图的元素
内部转换
内部转换只有源状态,没有目标状态,不会激发入口和出口动作, 因此内部转换激发的结果不改变本来的状态。如果一个内部转换 带有动作,它也要被执行。内部转换常用于对不改变状态的插入 动作建立模型。要注意的是内部转换的激发可能会掩盖使用相同 事件的外部转换。 内部转换的表示法与入口动作和出口动作的表示法很相似。他们 的区别主要在于入口和出口动作使用了保留字“entry”和“exit”, 其它部分两者的表示法相同。
创建项目中的状态图
2. 确定状态图中实体的状态
对于一个学生账号来说,它的状态主要包括: 初始状态 终止状态 可选课状态 不可选课状态 账号被删除状态
何谓状态图
终止状态
终止状态是一个状态图的终点,一个状态图可以拥有一个或者多 个终止状态。 对象可以保持在终止状态,但是终止状态不可能有任何形式的触 发转换,它的目的就是为了激发封装状态上的完成转换。
何谓状态图
判定
活动图和状态图中都有需要根据给定条件进行判断,然后根据不 同的判断结果进行不同的转换的情况。 实际就是工作流在此处按监护条件的取值发生分支,在UML中判 定用空心菱形表示。
构成状态图的元素
触发器事件
触发器事件就是能够引起状态转换的事件。如 果此事件有参数,这些参数可以被转换所用, 也可以被监护条件和动作的表达式所用。触发 器事件可以是信号、调用和时间段等。 对应与触发器事件,没有明确的触发器事件 的转换称作结束转换(或无触发器转换),是 在结束时被状态中的任一内部活动隐式触发的。
软件工程各种图结构
软件工程各种图结构摘要:本文档旨在详细介绍软件工程中常见的图结构,包括数据流图、用例图、类图、时序图、活动图等。
每个章节都对不同的图结构进行了细化讲解,以帮助读者更好地理解和使用这些图结构。
1、数据流图1.1 概述1.2 数据流图符号1.3 数据流图的绘制步骤1.4 数据流图的应用场景2、用例图2.1 概述2.2 用例图符号2.3 用例图的绘制步骤2.4 用例图的应用场景3、类图3.1 概述3.2 类图符号3.3 类图的绘制步骤3.4 类图的应用场景4、时序图4.1 概述4.2 时序图符号4.3 时序图的绘制步骤4.4 时序图的应用场景5、活动图5.1 概述5.2 活动图符号5.3 活动图的绘制步骤5.4 活动图的应用场景6、总结在本文档中,我们详细介绍了软件工程中常见的各种图结构,包括数据流图、用例图、类图、时序图和活动图。
每个章节都对不同的图结构进行了介绍、符号说明和绘制步骤。
这些图结构在软件开发过程中有着重要的应用,能够帮助开发人员更好地理解需求、设计系统和测试功能。
附件:本文档无附件。
法律名词及注释:1、软件工程:指以工程化的方法开发、维护和管理软件的一门学科或技术体系。
2、数据流图:是一种表示系统功能模型的图形符号技术,用来描述系统功能的输入、输出以及数据在系统中流动的路径。
3、用例图:是一种用来表示系统功能和用户之间交互的图形符号技术,以用户使用系统的需求为基础来描述系统功能。
4、类图:是一种用来表示系统中各个类以及它们之间的关系的图形符号技术,以类、属性和方法为基础进行建模。
5、时序图:是一种用来描述对象之间消息交互顺序的图形符号技术,以时间为基准,展示对象之间的时序关系。
6、活动图:是一种用来表示系统中各个活动以及它们之间的关系的图形符号技术,以流程、动作和决策为基础进行建模。
软件工程---状态图
语法形式: exit/动作名
3.内部转移---Do动作(do action),用于标 记内部活动,用来指定处于该状态时执行的 动作。 语法形式: do/动作名
内部转移不会改变对象的状态,内部转移在 入口动作执行完毕后开始执行。
4. 还可以添加其他事件和动作
event用来指定当特定事件触发时发生指定动 作,但此事件不会激发状态的改变,属于内部 活动。
(2)中间状态----由一个带圆角的矩形表示。
内部活动
注意:由于入口动作和
与状态相关的动作
出口动作是隐式地激活, 因此它们既没有参数也
在一个状态中允许有多个动作。没有守卫条件。
1.入口动作 (entry action),用来指定进入状态时
发生的动作。
语法形式: entry/动作名 2.出口动作(exit action),用来指定离开该状态时
状态图
状态和状态图 状态图的组成 转换的种类 状态图建模技术
用例图(功能模型): 从用户的角度描述系统能提供哪些功能。
• 结构模型视图(静态): 类图:描述系统的静态结构; 对 象图:描述系统在某个时刻的静态结构; 包图:将类分组成更高层次的静态结构。
• 行为模型视图(动态) 顺序图:按时间顺序描述系统元素之间的交互; 协作图:从时间和空间的顺序描述系统元素之间的交互; 状态图:描述系统元素对事件的响应引起的状态转换; 活动图:描述系统元素的活动。
图 带有历史指示器的软件安装过程状态图
2.2 转换(转移)
转换用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
转移连接了源状态和目标状态。但需要各种条件 才能激活转移。这些条件包括事件、监护条件和 动作。
软件工程课件之第4章用例和用例图
4.2.3 泛化关系
借阅者
.9 泛化关系
4.2.4 分组关系
在一些用例图中,用例的数目可能很多,这时就需要把 这些用例组织起来。这种情况在一个系统包含很多子系 统时就会出现。另一种可能就是,当你按顺序和用户会 谈,收集系统需求时,每个需求必须用一个单独的用例 来表达,这时就需要某种方式来对这些需求进行分类。
4.1.1 参与者
例如,在“图书管理系统”中,可以认为“读者”是 “学生读者”和“教师读者”的泛化,而“学生读者” 还可以具体化为“本科生读者”和“研究生读者”;同 样,“图书管理员”也是“采购员”、“ 编目员”及 “借阅人员”的泛化。图4.3表示出了参与者之间的泛 化关系。
4.1.1 参与者
“<<extend>>”是扩展关系的构造型,箭头指向基本用例。
4.2.2 扩展关系
借阅者
<<include>>
还书
<<extend>>
查询图书 交罚款
图4.8 扩展关系
区别与联系:
联系:都是从现有的用例中抽取出公共的那部分信息
,作为一个单独的用例,然后通过不同的方法来重用这 个公共的用例,以减少模型维护的工作量。
因此,在“图书管理系统”中“借阅者”和“系统管理 员”都是参与者。
4.1.1 参与者
【例4-1】客户给销售员发来传真订货, 销售员下班前 将当日订货单汇总输入系统。谁是系统的参与者?
分析:根据参与者的定义可知,此系统的参与者是销售 员。
4.1.1 参与者
【例4-2】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。
软件工程-第3章第3节
3.3.2 软件结构设计准则
如图3.5(a)(符号◇表示模块内有判定功能,阴影表示模块 的作用范围)所示,模块D的作用范围是C、D、E和F,模块D的 控制范围是D、E、F,作用范围超过了控制范围,这种结构最 差。因为D的判定作用到了C,必然有控制信息通过上层模块B 传递到C,这样增加了数据的传递量和模块间的耦合。若修改D 模块,则会影响到不受它控制的C模块,这样不易理解与维护。
3.3.2 软件结构设计准则
2.控制范围与作用范围之间的准则 一个模块的作用范围应在其控制范围之内,且条件判
定所在的模块应与受其影响的模块在层次上尽量靠近。 在软件结构中,由于存在着不同事务处理的需要,某
一层上的模块会存在着判断处理,这样可能影响其他层的 模块处理。为了保证含有判定功能模块的软件设计的质量 ,引入了模块的作用范围(或称影响范围)与控制范围的概 念。
3.3.1 软件结构图
(1) 模块:用方框表示,并用名字标识该模块,名字应体现该 模块的功能。 (2) 模块的控制关系:两个模块间用单向箭头或直线连接表示 它们的控制关系,如图3.2所示。按照惯例,图中位于上方的 模块调用下方的模块,所以不用箭头也不会产生二义性。调用 模块和被调用模块的关系称为上属与下属的关系,或者称为“ 统率”与“从属”的关系。如图3.4所示,模块M统率模块A、 B、C,模块D从属于模块A,也从属于M。 (3) 模块间的信息传递:模块间还经常用带注释的短箭头表示 模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表 示传递的是数据,带实心圆的表示传递的是控制信息,如图 3.2所示。
软件工程导论_数据流图
大连科技学院
患者监护系统
数据流图
时钟
日期时间
病人
生理信号
监护系统 警告信息 护士
病情报告
安全范 围信息
医生
顶层图
大连科技学院
患者监护系统
时钟
日期 时间
P1 打印 病情报告
病人
P2 产生 警告信息
护士
医生
安全信息
0层图
大连科技学院
患者监护系统
D1 定时信息 定时信息 定时信息
D2 患者日志 患者日志
设置 利率
录入 存款 信息
录入 取款 信息
录入 密码
存款 业务 处理
校验 密码
计算 利率
打印 存单
打印 利息 清单
大连科技学院
机票预定系统
3-4
为了方便旅客,某航空公司拟定开发一个机票预订系 统。旅行社把预订机票的旅客信息(姓名、性别、工作单 位、身份证号码、旅行时间、旅行目的地等)输入该系统 ,系统为旅客安排航班,印出取票通知和账单,旅客在 飞机起飞的前一天凭取票通知和账单交款取票,系统校 对无误即印出机票给旅客。
调 资 标 准
P2 检索调 资数据
符合调资人员 的原工资档案
调 整 后 工 资 档 案
P4 计算新 工资
调资标准
P5 校核 新工资
调资标准
P6 调整前后 行政管 打印工资 工资数据 理人员 对照表
D2 调资标准
0层图
大连科技学院
工资调整系统
软件结构图
工资调整系统
导入调资档案
调资
打印工资对照表
导入 工资 档案
核对 取款 凭证
交款 处理
核对 取票 凭证
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 流程图的三种基本结构: 顺序、选择、循环。
26
盒图 盒图是Nassi和Shneiderman提出的,又称N_S图。
1. 盒图的符号
27
将下述含有GOTO语句的 N-S 图。
29
PAD 图
基本符号
30
学生成绩管理系统的 PAD 图
31
判定表
1. 判定表的组成 • 左上部列出所有条件。 • 左下部列出所有可能做的工作。 • 右上部每一列表示各种条件的一种可能组合,所有列
表示条件组合的全部可能情况。 • 右下部的每一列是和每一种条件组合所对应的应做的
工作。 2. 判定表中的符号 • 右上部用“T”表示条件成立,用“F”表示条件不成
8
数据字典使用的符号
• = 表示“等价于”或“定义为” • + 连接 • [ ],| 表示“或”,用“|”分隔,表示可任选其中某一项 • { } 表示“重复” • ( ) 表示“可选”,用“,”号隔开
• 1{A} 表示 A 的内容至少要出现 1 次。 • {B} 表示 B 的内容允许重复 0 至任意次。
基本步骤如下: • 1. 确定编码对象 • 2. 明确编码目的 • 3. 确定代码的个数 • 4. 确定代码使用范围和使用期限 • 5. 确定代码体系和代码位数 • 6. 确定编码规则 • 7. 编写代码 • 8. 编写代码词典
41
用户界面设计问题 用户界面设计
• 1. 系统响应时间
• 2. 用户帮助设施
18
用Jacksan方法对学生成绩管理系统进行结构 设计。
学生成绩管理系统在学生入学时输入学 生基本信息。每次单科成绩是按班级内 学生学号的顺序依次输入每位学生的平 时成绩和考试成绩,。 然后由计算机计算每位学生的单科成绩 总评分。班级各科成绩汇总
19
20
21
详细设计
22
过程设计
• 过程设计就是用顺序、选择和循环三种结构的 有限次组合或嵌套,描述模块功能的实现算法。
ENDIF
l IF-THEN结构:
IF 条件
处理1
NDIF
35
l CASE结构: CASE 条件 OF CASE(1) 处理1 CASE(2) 处理2
… CASE(n) 处理n
• 3。循环结构 FOR循环结构:
FOR i=1 TO n 循环体
• END FOR WHILE循环结构: WHILE 条件 循环体
• (2)简单性
• (3)易学习性和易使用性
• (4)立即反馈性
用户界面设计指南
• 1.一般交互
• 2. 信息显示
• 3. 数据输入
42
无悔无愧于昨天,丰硕殷实 的今天,充满希望的明天。
43
立,空白表示条件成立与否不影响。 • 右下部画“X”表示做该行左边列出的那项工作,空白
表示不做该项工作。
32
用判定表表示旅游票价的优惠规定。
• 某旅行社根据旅游淡季、 旺季及是否团体订票, 确定旅游票价的折扣率。 具体规定如下:人数在 20人以上的属团体,20 人以下的是散客。每年 的4-5月、7-8月、10月 为旅游旺季,其余为旅 游淡季。旅游旺季,团 体票优惠5℅,散客不优 惠。旅游淡季,团体票 优惠30℅,散客优惠 20℅。用判定表表示旅 游订票的优惠规定。
2. 完成软件结构设计
16
面向数据结构设计方法
• Jackson 把数据结构(或程序结构)分为 三种基本类型 :(a)顺序 (b)选择 (c) 循环
17
➢Jacksan 图特点: l 能对结构进行自顶向下分解,可以清晰地表示层次结
构 l 结构易读、形象、直观 l 既可表示数据结构也可表示程序结构 ➢ Jackson 设计方法的四个步骤: • 1、分析并确定输入数据和输出数据的逻辑结构; • 2、找出输入数据结构和输出数据结构中有对应关系的数 据单元; • 3、从描述数据结构的Jackson 图导出描述程序结构的 Jackson 图; • 4、列出所有的操作和条件,并把它们分配到程序结构图 中去。
需求分析阶段涉及的图
1
实体-关系图
• 1. 数据对象 • 2. 属性 • 3. 关系 学生成绩管理系统
2
数据流图
1、数据流图的基本符号
3
2、数据流图的 附加符号
• * 表示数据 流之间是“与” 关系(同时存在)
• + 表示数据 流之间是“或” 关系
• ⊕ 表示只能从 几个数据流中 选一个(互斥关 系)
• (4)选择结构 • (5)循环结构,模块 H 循环
调用模块 A,B,C
14
2. 结构图的绘制 • 学生成绩管理系统的结构图
15
概要设计方法
结构化方法 • 结构化方法又称面向数据流设计方法(Structured
Design,SD)。 • 设计步骤是先根据系统数据流图建立系统逻辑模型,
再进行结构设计。 1. 建立系统逻辑模型 (1)变换型数据流 (2)事务型数据流
• 3. 出错信息处理
• 4.命令交互
用户界面设计过程
• 用户界面设计是一个迭代的过程,一般步骤如下:
• 先设计和实现用户界面原型。
• 用户试用该原型,向设计者提出对界面的评价。
• 设计者根据用户的意见修改设计并实现下一级原型。
• 不断进行下去,直到用户满意为止。
用户界面设计的基本原则
• (1)可靠性
33
用判定树表示旅游价格优惠规定。
• 某旅行社根据旅游淡季、 旺季及是否团体订票, 确定旅游票价的折扣率。 具体规定如下:人数在 20人以上的属团体,20 人以下的是散客。每年 的4-5月、7-8月、10月 为旅游旺季,其余为旅 游淡季。旅游旺季,团 体票优惠5℅,散客不优 惠。旅游淡季,团体票 优惠30℅,散客优惠 20℅。用判定表表示旅 游订票的优惠规定。
• ENDWHILE UNTIL循环结构:
REPEAT
循环体
UNTIL条件
36
4. 模块定义和调用
– 模块定义
• PROCEDURE 模块名(参数) …
RETURE
– 模块调用
• CALL模块名(参数) 数据定义
DECLARE 类型 变量名,… • 其中,类型可以有:字符、整型、实型、双精度、
指针、数组及结构等类型。 5. 输入或输出
38
代码种类 1. 顺序码 2. 信息块码 3. 归组分类码 见表 归组代码示例 4. 助记码 5. 数字式字符码 6. 组合码
39
表归组代码示例
哲学 宗教 社会科学 法律
商法 公司法
股份公司法 合股公司法
信息
代码 100 200 300 320 325 3252 32524 32525
40
代码设计方法
4
3、画数据流图的步骤
• 画顶层数据流图 • 画分层数据流图 • 画总的数据流图
4、几点注意事 项
画学生成绩管理系统 的数据流图。
5
状态转换图
• 1. 什么情况下要 画状态转换图
• 2. 状态转换图的 符号 画出数据结构中 “栈”对象的状 态转换图。
6
IPO 图
• 输入/处理/输出 (Input Process Output )图的简称。
• 过程设计阶段的工具:流程图、N_S图、问题 分析图(PAD图)、
• 判定表、判定树、过程设计语言(PDL)等。 流程图 • 1. 流程图的分类 • (1)数据流程图 • (2)程序流程图 • (3)系统流程图 • (4)程序网络图 • (5)系统资源图
23
2. 流程图符号
24
3. 流程图使用约定
34
过程设计语言
• 过程设计语言(Program Design Language,简称 PDL),也称伪码,
是一种混杂语言,说明某种结构化的程序设计语言的语法形式。
• 用PDL表示的程序结构:
1
顺序结构
处理1
处理2
…
处理3
2 选择结构
l IF-THEN-ELSE结构:
IF 条件
处理1
ELSE 处理2
如: 成绩单=学号+姓名+1{课程名+成绩}3 • 也可写为 成绩单=学号+姓名+ {课程名+成绩}
9
数据字典与图形工具
• 数据字典与图形工具应相辅相成、互相配 合,既要互相补充又要避免冗余。
• 系统分析员在编写数据字典和使用图形工 具时应遵守一些约定
10
需求分析举例
11
•
概要设计
12
软件结构设计的图形工具
• 层次图(或HIPO图)
13
结构图
1. 结构图的符号
• (1)方框代表模块,框内注 明模块的名字和主要功能。
• (2)方框之间的大箭头或直 线表示模块的调用关系。
• (3)带注释的小箭头表示模 块调用时传递的信息及其传 递方向。
❖ 尾部加空心圆的小箭头表示 传递数据信息。
❖ 尾部加实心圆的小箭头表示 传递控制信息。
画出学生成绩管理 系统的 IPO 图。
7
数据字典
• 数据字典(Data Dictionary ,DD) 是对实体-关系图、状态转换图和数据流图中出现的 所有数据对象、属性、关系、状态、数据流、文件、 处理等元素的定义的集合。
数据字典的内容 • 1. 数据元素 • 2. 数据流 • 3. 数据存储 • 4. 数据处理
GET(输入变量表) PUT(输出变量表)
37
数据代码设计
• 1. 代码的定义和作用 代码是为了对数据进行识别、分类、排序
等操作所使用的数字、文字或符号。 • 2. 代码的性质
代码设计原则
• 1、标准化:国际标准、国家标准、部颁标准 或习惯标准
• 2、 惟一性 • 3、可扩充性 • 4、 简单性 • 5、 规范化 • 6、 适应性