您的位置:首页 > 其它

软件工程视频总结(三)

2016-08-16 00:10 288 查看
昨天开师徒会的时候,师父问了一下,软工里面都提到了那些图,当时我就有点懵啊,只说了一个“数据流图”,所以我现在还是好好的总结一下软工里面提到的各种图吧,让自己有更大的进步。

数据流图

①简介

数据流图(Data Flow Diagram),简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。在结构化开发方法中,数据流图是需求分析阶段产生的结果。

②典型结构

数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。如下图:





③组成元素

→:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

□:数据源或宿(“宿”表示数据的终点)。代表系统之外的实体,可以是人、物或其他软件系统。

○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。

〓:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。



④DFD画法

(一)确定系统的输入输出

由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。

(二)由外向里画系统的顶层数据流图

首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。

(三)自顶向下逐层分解,绘出分层数据流图

对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示。

⑤举例



系统流程图

①简介

系统流程图是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。系统流程图表达的是系统各部件的流动情况,而不是表示对信息进行加工处理的控制过程。

②作用表现

1,制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员做进一步分析的依据。

2,系统流程图是系统分析员、管理员、业务操作员相互交流的工具。

3,系统分析员可直接在系统流程图上画出可以有计算机处理的部分。

4,可利用系统流程图来分析业务流程的合理性。

③示例



状态迁移图

①简介

状态—迁移图(STD)或状态—迁移表被用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为.属于结构化分析方法使用工具

②作用

在状态―迁移图中,由一个状态和一个事件所确定的下一状态可能会有多个。实际会迁移到哪一个状态,是由更详细的内部状态和更详细的事件信息来决定的,此时在状态―迁移图中可能需要使用加进判断框和处理框的记法。状态―迁移图的优点:第一,状态之间的关系能够直观地捕捉到,这样用眼睛就能看到是否所有可能的状态迁移都已纳入图中,是否存在不必要的状态等。第二,由于状态―迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具。

③示例



程序流程图

①简介

程序流程图是程序分析中最基本、最重要的分析技术,它是进行程序流程分析过程中最基本的工具。它运用工序图示符号对生产现场的整个制造过程做详细的记录,以便对零部件、产品在整个制造过程中的生产、加工、检验、储存等环节待作详细的研究与分析,特别适用于分析生产过程中的成本浪费,提高经济效益。

②流程图采用的符号

程序流程图由操作、搬运、检验、储存、等待五种符号构成。

(1)箭头表示的是控制流

(2)矩形表示的是加工步骤

(3)菱形表示逻辑条件





③流程图的优点

(a)采用简单规范的符号,画法简单;

(b)结构清晰,逻辑性强;

(c)便于描述,容易理解。

④作用

程序流程图是人们对解决问题的方法、思路或算法的一种描述。

⑤示例



时序图

①简介

时序图(Sequence Diagram),亦称为序列图或循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

②组成元素

时序图中包括如下元素:角色,对象,生命线,控制焦点和消息。

1、角色(Actor)

系统角色,可以是人或者其他系统,子系统。

2、对象(Object)

对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表。

3、生命线(Lifeline)

生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。

4、控制焦点(Activation)

控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。

5、消息(Message)

消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。

③创建步骤

1、确定交互过程的上下文;

2、识别参与过程的交互对象;

3、为每个对象设置生命线;

4、从初始消息开始,依次画出随后消息;

5、考虑消息的嵌套,标示消息发生时的时间点,则采用FOC(focus of control);

6、说明时间约束的地点。

④示例



状态图

①简介

状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。

状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State
Machine Diagram),重点在与描述状态图的控制流。

②元素

1、状态(States)

2、转移(Transitions)

3、动作(State Actions)

4、自身转移(Self-Transitions)

5、组合状态(Compound States)

6、进入节点(Entry Point)

7、退出节点(Exit Point)

8、历史状态(History States)

9、并发区域(Concurrent Regions)

③用处

为了模拟一个系统的对象的状态。

为了模拟响应系统。反应体系由反应物。

为了找出事件负责任的状态变化。

正向和逆向工程。

④示例



甘特图

①简介

即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。

1、以图形或表格的形式显示活动;

2、一种通用的显示进度的方法;

3、构造时应包括实际日历天和持续时间,并且不要将周末和节假日算在进度之内。

②优点

图形化概要,通用技术,易于理解;

中小型项目一般不超过30项活动;

有专业软件支持,无须担心复杂计算和分析。

③示例



PAD图

①简介

既可用于表示程序逻辑,也可用于描述数据结构。是一种程序结构可见性好、结构唯一、易于编制、易于检查和易于修改的详细设计表现方法。

它用二维树形结构的图表示程序的控制流,以PAD图为基础,遵循机械的走树规则就能方便地编写出程序,用这种图转换为程序代码比较容易。

②特征

1)结构清晰,结构化程度高;

2)易于阅读

3)最左端的纵线是程序主干线,对应程序的第一层结构;每增一层PAD图向右扩展一条纵线,帮程序的纵线数等于程序层次数。

4)程序执行:从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线。

③优点

1.使用表示结构优化控制结构的PAD符号所设计出来的程序必然是程序化程序

2.PAD图所描述的程序结构十分清晰。图中最左边的竖线是程序的主线,即第一层控制结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数;

3.用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维数型结构的图形,程序从图中最左边上端的结点开始执行,自上而下,从左到右顺序执行;

4.很容易将PDA图转换成高级程序语言源程序,这种转换可由软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。

5.可用于表示程序逻辑,也可用于描述数据结构

6.PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象程序,随着设计工作的深入而使用“def”符号逐步增加细节,直至完成详细设计。

HIPO图

①简介

一个同模块结构图等价的结构化设计图形工具,它也被广泛的使用在概要设计阶段。它又分为H图,IPO图和HIPO图三种。

HIPO图由层次结构图和IPO图两部分构成,前者描述了整个系统的设计结构以及各类模块之间的关系,后者描述了某个特定模块内部的处理过程和输入/输出关系。

它是表示软件系统结构的工具。HIPO图以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。

H图

①简介

描述软件总的模块层次结构,矩形框表示一个模块,矩形框之间的直线表示模块之间的调用关系,同结构图一样未指明调用顺序。它的设计依据是系统的模块划分,主要由设计者决定。在机房收费系统中,H图可以按照一般用户、操作员、管理员来划分层次

IPO图

①简介

描述每个模块输入、输出、处理功能及模块调用的详细情况,相当于为一个模块写的一份说明。

IPO图的主体是算法说明部分(数据处理),可采用结构化语言、判定表、判定树,也可用N-S图、问题分析图和过程设计语言等工具进行描述,要准确而简明的描述模块执行的细节。在IPO图中,输入、输出数据来源于数据字典,局部数据项是指个别模块内部使用的数据,与系统的其它部分无关,仅由本模块定义、存贮和使用,注释是对本模块有关问题作必要的说明。即根据数据流图、数据字典及H图绘制具体的IPO图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: