细数软件工程各阶段必不可少的那些图流程图数据流

软件工程中规定,软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每一个时期又进一步划分为若干个阶段。

本文旨在说明在软件生命周期不同阶段的各种图的含义与使用。

二、可行性研究2.1系统流程图

系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。

符号

当以概括的方式抽象的描绘一个实际系统时,仅仅使用图2.1中列出的基本符号就足够了。当需要更具体地描绘一个物理系统时还需要使用图2.2中列出的系统符号,利用这些符号可以把一个广义的输入输出操作具体化为读写存储在特殊设备上的文件(或数据库),把抽象处理具体化为特定的程序或手工操作等。

分层

面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。

2.2数据流图

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。此外,设计数据流图时只需要考虑系统必须完成的基本逻辑功能,完全不需要考虑样具体的实现这些功能,所以它也是今后进行软件设计的很好的出发点。

三、需求分析3.1实体-联系图

为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与在软件系统中的实现方法无关。数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。

通常,使用实体-联系图(entity-relationshipdiagram)来建立数据模型。可以把实体-联系图简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。

3.2状态转换图

在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。

状态

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个(或一系列)动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。

在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。

状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。当描绘循环运行过程时,通常并不关心循环是怎样启动的。当描绘单程生命期时,需要标明初始状态(系统启动时进入初始状态)和最终状态(系统运行结束时到达最终状态)。

事件

在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。

活动表的语法格式如下:

事件名(参数表)/动作表达式

其中,“事件名”可以是任何事件的名称。在活动表中经常使用下述3种标准事件:entry,exit和do。entry事件指定进入该状态的动作,exit事件指定退出该状态的动作,而do事件则指定在该状态下的动作。需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。

状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。状态变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换。

事件表达式的语法如下:

事件说明[守卫条件]/动作表达式

其中,事件说明的语法为:事件名(参数表)。

守卫条件是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且布尔表达式为真时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真,状态转换就发生。

动作表达式是一个过程表达式,当状态转换开始时执行该表达式。

图3.3给出了状态图中使用的主要符号。

3.3层次方框图

层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。

3.4Warnier图

法国计算机科学家Warnier提出了表示信息层次结构的另外一种图形工具—Warnier图。和层次方框图类似,Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。

用Warnier图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息元素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把Warnier图转变成软件设计的工具。

图中花括号用来区分数据结构的层次,在一个花括号内的所有名字都属于同一类信息;异或符号(⊕)表明一类信息或一个数据元素在一定条件下才出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个;在一个名字下面(或右边)的圆括号中的数字指明了这个名字代表的信息类(或元素)在这个数据结构中重复出现的次数。(例如P1种、P2种)

3.5IPO图

IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

IPO图使用的基本符号既少又简单,因此很容易学会使用这种图形工具。它的基本形式是在左边的框中列出有关的输入数据,在中间的框内列出主要的处理,在右边的框内列出产生的输出数据。处理框中列出处理的次序暗示了执行的顺序,但是用这些基本符号还不足以精确描述执行处理的详细情况。在IPO图中还用类似向量符号的粗大箭头清楚地指出数据通信的情况。

四、总体设计4.1层次图

层次图用来描绘软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。

4.2HIPO图

HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。

4.3结构图

Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具,图中一个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。

在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。

五、详细设计5.1程序流程图

程序流程图又称为程序框图,它是历史最悠久、使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法。

从20世纪40年代末到70年代中期,程序流程图一直是软件设计的主要工具。它的主要优点是对控制流程的描绘很直观,便于初学者掌握。由于程序流程图历史悠久,为最广泛的人所熟悉,尽管它有种种缺点,许多人建议停止使用它,但至今仍在广泛使用着。不过总的趋势是越来越多的人不再使用程序流程图了。

程序流程图的主要缺点如下。

5.2盒图

出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图,又称为N-S图。它有下述特点。

PAD图是问题分析图(problemanalysisdiagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。

优点

PAD图的主要优点如下:

5.4判定表

判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。

判定表由4部分组成,左上部分列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。判定表右半部的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。

5.5判定树

判定表虽然能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的。

判定树是判定表的变种,它也能清晰地表示复杂的条件组合与应做的动作之间的对应关系.

六、后记

本文简要描述了软件工程中经常用到的一些图,其实还有很多图没有介绍到,比如UML(标准图、类图)等,感兴趣的小伙伴可以自行学习。

Rust语言2020调查报告发布:Rust太难,生命周期更难

2020-12-18

Eclipse4.18稳定版发布

每年投入100万美元,CloudLinux团队宣布将构建稳定版CentOS分支

THE END
1.实现简易的图书管理系统本次我们要提出的问题是设计一个简易的图书管理系统可以使图书管理变得不再那么困难。 2方法 先建造一个Book的类,包含了书名、作者、价格、类型和是否被借的属性,且设置为private类型,提供了get和set方法。还有就是用户端的实现,同样使用get和set的方法。 https://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA==&mid=2247504918&idx=1&sn=ae283bcbd47f424d7c218836e2ef6ac4&chksm=edf6d09ea467219ffcf31856a550730061d7f020544f5e23a28ce324c3d65f0f2673775aa068&scene=27
2.图书管理系统用例图全世界每一处都是你全世界每一处都是你 读者用例图 图书管理员用例图https://www.cnblogs.com/xubaby0912/p/6755923.html
3.图书管理系统用例图(共6页)精选优质文档倾情为你奉上图书管理系统UML建模与设计模式实验报告计算机与信息工程学院一实验目的在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括:1掌握用例图的建立。2掌握用例描述文档的编写。3掌握建模工具的使用。二实验内容根据以下需求https://www.renrendoc.com/paper/183879493.html
4.图书管理系统用例图7篇(全文)图书管理系统用例图 第1篇 图书管理系统 UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。3.掌握建模工具的使用。 二、实验内容 https://www.99xueshu.com/w/filesaiudqen.html
5.图书管理系统用例图图书管理程序(一)php教程email varchar(50) NOT NULL, PRIMARY KEY (publisher_id), KEY name (publisher_name), KEY address (address), KEY email (email) ); 以上就介绍了图书管理系统用例图 图书管理程序(一),包括了图书管理系统用例图方面的内容,希望对PHP教程有兴趣的朋友有所帮助。https://www.php.cn/faq/320877.html
6.图书管理系统UML用例图书吧运营管理系统uml文章浏览阅读2w次,点赞6次,收藏35次。细节处还未扣。资料保留_书吧运营管理系统umlhttps://blog.csdn.net/u013369277/article/details/50041689
7.用例图图书馆管理系统02流程图模板图书馆管理系统02用例图展示了该系统的主要功能和参与者。系统的主要参与者包括图书管理员、读者和系统管理员。图书管理员负责图书的入库、借阅、归还和查询等操作;读者可以查询图书信息、借阅和归还图书;系统管理员负责对系统进行维护和管理。 在用例图中,我们可以看到一些主要的功能用例,如“查询图书”、“借阅图书”https://www.processon.com/view/552a1ff9e4b004356a30fd3d
8.UML图书借阅管理系统的用例图.pdf管理系统UML图书借阅管理系统的用例图.pdf 6页内容提供方:180***7385 大小:354.94 KB 字数:约2.77千字 发布时间:2021-11-24发布于江苏 浏览人气:341 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)UML图书借阅管理系统的用例图.pdf 关闭预览 想预览更多内容,点击免费https://mip.book118.com/html/2021/1124/7165121165004050.shtm
9.JAVA计算机毕业设计“爱学”图书馆座位预定管理系统小程序(附源码在当今社会,随着高等教育的普及和终身学习理念的深入人心,图书馆作为知识传播与学习的重要场所,其日均访问量显著增长。然而,图书馆座位资源有限,尤其是在考试周和热门学习时段,座位紧张问题尤为突出。这不仅影响了读者的学习效率和体验,也给图书馆管理带来了挑战。因此,开发一款高效、便捷的图书馆座位预定管理系统显得尤https://zhuanlan.zhihu.com/p/12023439569
10.uml图书借阅管理系统用例图设计几个类,用UML类图说明一个 学生借阅图书 系统 基于UML的图书馆借阅管理系统设计(1)系统分析(包括系统描述(问题域描述)、用例模型、分析类图)。(2)系统设计(包括系统的逻辑模型如设计类图、顺序图、状态图及组件图等)。(3)系统实施(包括信息代码设计、数据库设计、输入设计、输出设计、用户界面设计和处理过程的https://www.zboao.com/cgal/9422.html
11.图书馆数据库管理系统用例图用例图由用例、参与者以及它们之间的关系构成,如下图所示: 1.1 用例 用例表示参与者使用系统进行操作的功能需求。用例通常以椭圆形表示,用例名在椭圆形内。 在图书馆数据库管理系统中,例如“查询图书信息”、“借阅图书”、“归还图书”等用例。 1.2 参与者 参与者是使用系统的人、机器、其他系统或其他实体,它们与https://www.volcengine.com/theme/845520-T-7-1
12.图书馆管理系统用例图活动图类图时序图.doc该【图书馆管理系统用例图、活动图、类图、时序图 】是由【艾米】上传分享,文档一共【15】页,该文档可以免费在线阅读,需要了解更多关于【图书馆管理系统用例图、活动图、类图、时序图 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文https://www.taodocs.com/p-857406246.html
13.图书管理系统需求分析及用例图状态图数据流图图书馆管理信息系统的用例图和类图类图图书管理系统主要管理对象是图书,系统的用户包括,借阅者,图书管理员。该系统主要设计的类包括:Book (代表一本书)、Borrower (借阅者)和 Worker(图书管理员)。 其中Borrower和Book之间为关联关系,Borrower和Book存在关联关系。类图如下:用例图主要用户有管理员和借阅者:管理员可以接https://www.pianshen.com/article/8392777416/
14.图书馆管理系统UML用例图迅捷画图,在线制作流程图这是一份图书馆管理系统UML用例图模板,简单围绕图书馆管理系统的功能用例进行制图,从外部用户角度描述系统功能的需求,帮助实现图书馆管理系统的开发,希望可以帮助您绘制UML用例图.https://www.liuchengtu.com/process/3313.html
15.用用例图描述图书管理。该系统主要包括三类用户:读者图书管理员用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是一个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、https://m.ppkao.com/mip/tiku/shiti/8972953.html
16.图书管理系统中UML图分析与设计UML统一建模语言相信大家有所了解,它是如何使用的呢,这里通过基于B/S模式的图书管理系统中UML图的分析与设计这个实例来向大家介绍一下,欢迎大家一起来学习。 本节向大家介绍一下基于B/S模式的图书管理系统中UML图的分析与设计,主要包括图书管理系统用例分析和系统静态建模两部分内容,相信通过本节的介绍你对UML图有更https://www.51cto.com/article/204739.html
17.图书管理系统可行性研究报告(精选6篇)如图4.1图书管理系统机构图所示,该系统只有用户和管理员。 4.2机构职责 用户:注册自己的信息,借书,还书。 管理员:修改图书,删除图书。 第5章系统需求 5.1业务分析 通过调研和分析可得到下图: 图5.1图书管理系统业务用例图 业务用例图中共有种5业务用例,2种业务角色,“用户”业务角色是所有业务角色的基类。下面是各https://www.ruiwen.com/baogao/6424056.html
18.图书管理系统的出现意义图书管理系统注意事项随着信息化时代的不断深入发展,越来越多的书籍实现了电子化。然而,纸质化的书籍与电子化的书籍相比,仍有着不可被磨灭的作用。在一些大型的图书馆进行书籍的查找时十分的不方便。图书管理系统就此产生。下面就来为大家介绍一下这个系统及其设计时的注意事项。https://cloud.tencent.com/developer/article/1851631
19.用例图怎么画2 下面以图书借阅系统为例进行说明。图书借阅管理是图书馆管理的核心业务,主要包括图书信息管理、借书证管理以及图书借阅管理三个方面的业务。首先提取参与者:图书借阅系统涉及图书管理员和借阅者两种参与者。3 然后确定用例:(1)借书证管理借书证管理包括办理、补办、注销和查询等功能。在办理和补办的过程中需要打印https://jingyan.baidu.com/article/948f592401ad72d80ef5f966.html