软件工程分析和设计工具

软件分析和设计包括所有有助于将需求规格说明转换为实现的活动。需求规格说明指定了软件的所有功能和非功能的期望。这些需求规范以人类可读和可理解的文档形式出现,计算机与之无关。

软件分析和设计中间阶段,帮助将人类可读的需求转化为实际代码。

让我们来看看设计师使用的几个分析和设计工具:

数据流图是在信息系统中数据流的图形表示。它是能够描述输入数据流,输出数据流和存储数据。DFD中没有提到有关数据如何流经系统的任何内容。

DFD和流程图之间有着一个显著的差异。流程图描述了在流动的程序模块的控制流程。DFD的描述了系统中各个级别的数据流。DFD不含有任何控制或分支元素。

数据流图是逻辑或物理.

结构图是衍生自数据流图的图表。它比DFD更详细地表示系统。它将整个系统分解为最低的功能模块,比DFD更详细地描述系统每个模块的功能和子功能。

结构图表示模块的层次结构。在每一层执行某一特定任务.

以下是在建结构图中使用的符号:

HIPO(HIerarchicalInputProcessOutput,分层输入过程输出)图是结合两种有组织的方法来分析系统并提供文档的手段。HIPO模型由IBM于1970年开发。

HIPO图表示软件系统模块的层次结构。分析师使用HIPO图,以获得对系统功能的高级视图。它以分层方式将功能分解为子功能。它描述了系统执行的功能。

HIPO图适用于文档目的。它们的图形表示使设计人员和管理人员更容易获得系统结构的图形概念。

与描述模块中控制和数据流的IPO(InputProcessOutput,输入过程输出)图相比,HIPO不提供任何有关数据流或控制流的信息。

HIPO图、层级表示的IPO图这两个部分都用于软件程序的结构设计及其文档。

大多数程序员不了解软件的大局,所以他们只依赖于他们的经理告诉他们做什么。为程序员提供准确的信息以开发准确而快速的代码是高级软件管理人员的责任。

因此,该软件的分析师和设计师提出了诸如结构化英语之类的工具。它只不过是对编码所需的内容以及如何编码的描述。结构化英语帮助程序员编写无错误的代码。

使用图形或图表的其他形式的方法有时可能会被不同的人以不同的方法理解。在这里,结构化英语和伪代码试图缩小这种理解差距。

结构化英语是它在结构化编程范式中使用简单的英语单词。但这不是最终的代码,而是一种描述需要编码什么以及如何编码。以下是结构化编程的一些标记。

IF-THEN-ELSE,DO-WHILE-UNTIL分析师使用相同的变量和数据的名称,它存储在数据字典,这使得编写和理解代码变的更加简单。

我们以在线购物环境中的客户身份验证为例。此验证客户的程序可以用结构化英语编写为:

EnterCustomer_NameSEEKCustomer_NameinCustomer_Name_DBfileIFCustomer_NamefoundTHENCallprocedureUSER_PASSWORD_AUTHENTICATE()ELSEPRINTerrormessageCallprocedureNEW_CUSTOMER_REQUEST()ENDIF用结构化英语编写的代码更像是日常口语。它不能直接作为软件代码来实现。结构化英语独立于编程语言。

伪代码的编写更接近于编程语言。它可以被认为是增强的编程语言,充满了注释和描述。

伪代码包含比结构化英语更多的编程细节。它提供了一种执行任务的方法,就好像计算机正在执行代码一样。

打印最多n个数字的斐波那契数列的程序。

voidfunctionFibonacciGetvalueofn;Setvalueofato1;Setvalueofbto1;InitializeIto0for(i=0;i

它是调试和防止错误的强大工具。它有助于将相似的信息分组到一个表中,然后通过组合表来提供简单方便的决策。

要建立决策表,开发人员必须遵循四个基本步骤:

让我们举一个简单的例子来说明我们的互联网连接的日常问题。我们首先确定启动互联网时可能出现的所有问题及其各自可能的解决方案。

我们列出了列条件下所有可能的问题以及列操作下的预期操作。

表:决策表–在内部网络故障排除

实体关系模型是一种基于现实世界实体和它们之间的关系概念的数据库模型。我们可以将现实世界的场景映射到ER数据库模型上。ER模型创建一组实体及其属性、一组约束和它们之间的关系。

ER模型最适用于数据库的概念设计。ER模型可以如下表示:

数据字典通常被称为元数据(关于数据的数据)存储库。它是与软件程序的DFD(数据流图)模型一起创建的,并且预计会在DFD更改或更新时进行更新。

在设计和实现软件时通过数据字典引用数据。数据字典消除了任何歧义的可能性。它有助于保持程序员和设计人员的工作同步,同时在程序中的任何地方使用相同的对象引用。

数据字典为整个数据库系统提供了一种在一个地方记录的方式。DFD的验证是使用数据字典进行的。

数据字典中应包含以下内容的信息

数据流是通过前面研究过的DFD来描述的,并以所描述的代数形式表示。

Address=HouseNo+(Street/Area)+City+StateCourseID=CourseNumber+CourseName+CourseLevel+CourseGrades数据元素数据元素由数据和控制项的名称和描述、内部或外部数据存储等组成,具有以下详细信息:

它存储数据从何处进入系统和存在于系统外的信息。数据存储可能包括:

THE END
1.数据流图及数据字典.ppt全文免费数据流图及数据字典.ppt,用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种 自顶向下的结构化分析方法(Structured Analysis,简称SA方法)是最简单实用的方法。 SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(Data Flow Diagramhttps://max.book118.com/html/2019/0701/5231241341002101.shtm
2.软件工程第二章三、数据流图(DFD) (一)是什么? (二)为什么? (三)怎么办? 四、数据字典 (一)是什么? (二)为什么? (三)怎么办? 五、成本/效益分析 (一)是什么? (二)为什么? (三)怎么办? 总结 写作风格说明 在软件工程这个专栏,我将会尽可能围绕知识点进行剖析,主要撰写重难点,不计较细枝末节。重点关注问题是什么,...https://www.jianshu.com/p/f288df57546d
3.数据库原理?四数据库设计和规范化理论当需求分析完成后,最终产生阶段性的成果:系统需求说明书,包括数据流图、数据字典、数据表格、系统功能结构图和必要的说明。 4.4 数据流图 数据流图(Data Flow Diagram, 简记为DFD) 是用图形方式来表达系统的逻辑功能,以及数据在系统内部的逻辑流向和逻辑变换过程。任何一个系统都可以抽象为数据流图形式。 https://developer.aliyun.com/article/1232854
4.学生信息管理系统ER图,数据流图用例图以及用例说明(部分)软件...软件工程-期末考试复习总结知识点必考题型(根据老师讲的重点自己整理) 简答和应用大题着重复习课后习题,尤其是数据流图、数据字典、ER图、状态图、程序流程图、N-S图、PAD图、等价类划分与逻辑覆盖的测试用例设计方法、用例图、活动图和顺序图。 软件工程复习重点.ppt(看完理解ppt内容及格没问题) 软件工程-期末考试...https://www.iteye.com/resource/m0_45272112-13585493
1.数据流图与数据字典的一个例子数据流图与数据字典的一个例子 数据流图是软件开发中的一种重要工具,用于描述系统的逻辑结构和数据处理过程。数据字典是数据流图的补充,用于详细说明数据流图中的各种成分。 在本例子中,我们考虑了一个计算机化的帐务处理系统,系统的数据流图是计算机部分的数据流图,人工完成的部分将不做反应。系统的顶层数据流图如...https://download.csdn.net/download/sociass/1460641
2.数据流图数据字典的画法数据流图、数据字典的画法 技术标签:笔记软件工程软件工程师 查看原文 数据流图 feedback.数据流图(DFD)数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是...细分画法数据流图的画法有一定的规则,需按照一定的规则来画,...https://www.pianshen.com/article/25802063423/
3.一文带你了解数据字典包括哪些内容及数据字典有什么作用星云联动数据存储是数据流的来源和去向,是数据结构停留或者保存的地方,一般从数据存储名、组成、编号、说明、数据量、存储方式、数据流流入、数据流流出灯方面进行描述。数据字典对数据存储的描述就是对数据流图中数据块的存储特性说明。 5、处理过程 处理过程在数据流图中用判定树或表,而在数据字典中只需要处理过程的说明信...https://www.istarscloud.com/new/3486.html
4.数据库系统:第七章数据库设计腾讯云开发者社区消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。 并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。 用规范化理论来消除冗余: 1. 确定分E-R图实体之间的数据依赖。实体之间一对一、一对多、多对多的...https://cloud.tencent.com/developer/article/2069176
5.软件工程第3~4章结构化方法和面向对象方法UML数据源点终点(外部实体;也被称为数据源和数据潭):矩形表示。外部实体是存在于软件系统之外的人员或组织,他指出数据所需要的发源地或系统所产生的数据的归属地。一般只出现在数据流图的顶层图。 3.数据字典、判定表和判定树 (1)在数据字典中,为了使定义的结构数据便于理解和阅读,一般按三种条目来组织,即数据流条...https://blog.51cto.com/mlxia/7840867