repo-话说软件详细设计工具

repost 4 https://blog.csdn.net/tang_huan_11/article/details/8043481

 

在软件设计是需要写软件详细说明书,设计此文档的时候,肯定少不了工具.现在我们就来了解一下软件详细设计的

 

工具.

 

1)程序流程图

   

      程序流程图又称为程序框图,它是最古老,应用最广泛且最有争议描述详细设计的工具.它易学,表达算法直观,缺点是

 

不够规范,特别是使用箭头会使质量受到很大的影响.

 

为了使它能够描述结构化的程序,限制只能用以下所述的三种基本结构:

 

(a)顺序结构图

 

 

(b)选择结构

 

 

(c) "当型"结构

 

 

(d)"直到型"循环

 

       

 

2)N-S图

 

     为了克服流程图在描述程序逻辑时的随意性等缺点,1973年 ,Nassi 和Shneiderman代表了题为"结构化程序的流程

 

图技术"的文章,提出用盒式图来代替传统的流程图,又称

 

为"N-S图",N-S图的主要特点就是只能藐视结构化程序所允许的标准结构.

 

N-S图基于三种基本程序结构的表现方法如下所示:

 

(1)顺序结构

 

 

 

(2) 选择结构

 

 

 

(3) 循环结构

 

 

3)PAD图

 

     问题分析图(Problem Analysis Diagram,PAD)采用一种由左向右展开的二维树形结构图来描述程序的逻辑.用PDA图

 

描述程序的流程能使程序一目了然.根据PDA图编出的程序,

 

不管由谁来编写,都会得到风格相同的源程序.

 

例如:将数组A(1)~A(10)从大到小进行选择法排序的算法.如下两个图所示:

 

 

 

 

4)过程设计语言 

     过程设计语言(Process Design Language,PDL),也称为伪码,是一种用于描述模块算法设计和处理细节的语言.一方面,PDL具有严格的关键字外层语法,用于定义控制结构和数据结构;另一方面,PDL表示实际操作和条件的内层语法又是灵活自由的,以便可以适应各种工程项目的需要.

       因此,PDL 是一种混杂语言,它在使用一种语言词汇的同时有使用另一种语言的语法.PDL与实际的高级程序设计语

言的区别在于:PDL的语句中嵌有自然语言的叙述,故PDL是不能被编译的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你必须了解Spring的生态

转载自 你必须了解Spring的生态 Spring不止是提供了IOC、AOP的功能,还提供了大量的基于Spring的项目,拿来用就行了,用于一站式开发,大大降低了开发的难度。 下面列举下主要的一些Spring的生态项目: Spring Boot&#…

Vue 使用 token

vue 解析 token 引入jwt-decode 包 npm install jwt-decode --save在 vue 中引入jwt-decode import jwtDecode from jwt-decodejs 中使用 const decode jwtDecode(token); console.log(decode);//解析后的对象vue-resource 设置请求头,带上token 第一种方法&a…

vmware安装centos6-步骤小结

【README】安装了很多次,但没有记录过,经常忘记,所以就记录一下 【1】 vm15 install centos8 at 2020/12/12 完成。

Ehcache介绍及整合Spring实现高速缓存

转载自 Ehcache介绍及整合Spring实现高速缓存 Ehcache介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。它使用的是JVM的堆内存,超过内存可以设置缓存到磁盘,企业版的可以使用…

转:使用 Tkprof 分析 ORACLE 跟踪文件

【README】 昨天在验证oracle 数据库性能的时候,查询日志中 打出了 exec time , fetch time 不懂什么意思,所以就记录了下; A 表 680w, count 耗时5秒; B表 2013w, count 耗时10秒; A inne…

浅谈大型网站之负载均衡架构

转载自 浅谈大型网站之负载均衡架构 概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 负载均衡建立…

单词拆分

作者:xiao_ben_zhu 链接:https://leetcode-cn.com/problems/word-break/solution/shou-hui-tu-jie-san-chong-fang-fa-dfs-bfs-dong-tai/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权&#xff…

centos Error: Cannot find a valid baseurl for repo: base 解决方法

参考 https://arstech.net/centos-6-error-yumrepo-error-all-mirror-urls-are-not-using-ftp-http/ 【1】报错现场; 原因, 软件镜像地址有误,需要手工录入; 2、编辑文件, /etc/yum.repos.d/CentOS-Base.repo. 找到…

精选30道Java多线程面试题

转载自 精选30道Java多线程面试题 1、线程和进程的区别 2、实现线程有哪几种方式? 3、线程有哪几种状态?它们之间如何流转的? 4、线程中的start()和run()方法有什么区别? 5、怎么终止一个线程?如何优雅地终止线程&…

Vue 媒体处理(摄像头,截图,播放本地视频)

Vue 媒体处理(摄像头,截图,播放本地视频) 一. 打开摄像头 javascriptthis.constraint {// video属性设置video: {width: 300,height: 300,},// audio属性设置audio: true,}navigator.mediaDevices.getUserMedia(this.constrain…

how to install nc on centos8及nc应用

转自: https://linuxconfig.org/install-netcat-on-redhat-8 【README】 nc 是什么? nc,全名叫netcat,它可以用来完成很多的网络功能,譬如端口扫描、建立TCP/UDP连接,数据传输、网络调试等等&#xff0c…

大型网站架构利器-CDN技术

转载自 大型网站架构利器-CDN技术概念CDN这个概念相信大家都比较耳熟,到底什么是CDN呢?CDN,全称为Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环…

centos8启动zk集群失败:zk Error contacting service. It is probably not running.

【README】在 192.168.163.201 机器上 启动zk ,并查看zk 这台; 即 集群只有2台机器, 201 202 --ZOO.cfg# The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can tak…

动态调整canvas时的问题

动态调整canvas大小时必须重新获取上下文( canvas.getContext(‘2d’) )及重新设置ctx的属性,否则会导致后续的绘制操作无效 动态调整canvas: var canvas document.getElementsByTagName("canvas")[0];var ctx canvas.getConte…

Maven精选系列--标准目录结构

转载自 Maven精选系列--标准目录结构Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构。src/main/java:源代码目录 src/main/resources:资源文件目录 src/test/java:测试代码目录 src/test/resources&#x…

java本地连接zk集群

【README】基于centos8 搭建zookeeper 集群&#xff0c;refer2 https://blog.csdn.net/PacosonSWJTU/article/details/111409079 【1】创建maven项目 添加依赖后&#xff0c; pom.xml 长这个样子&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0&quo…

Java IO(BIO, NIO, AIO) 总结

文章转载自&#xff1a;JavaGuide 目录BIO,NIO,AIO 总结同步与异步阻塞和非阻塞1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO区别2.3 NIO 读数据和写数据方式2.4 NIO核心组件简单介绍2.5 代码示例3.…

Maven精选系列--介绍与安装

转载自 Maven精选系列--介绍与安装Maven介绍Maven是一个项目管理工具&#xff0c;用来管理项目的生命周期&#xff0c;如项目中各个项目之间的依赖管理&#xff0c;项目中使用到的jar包依赖管理&#xff0c;还有许多项目构建的插件等。使用Maven最大的好处就是不再需要我们手工…

java本地创建zk节点

【README】 java本地连接zk cluster, refer to https://blog.csdn.net/PacosonSWJTU/article/details/111404364; 【1】 创建zk节点 star &#xff08;明星节点&#xff09; /*** 测试 zk * author pacoson**/ public class TestZK {/*** zk server 连接串 */private Stri…

Java8 Lambda总结

什么是Lambda&#xff1f; Lambda是一个匿名函数&#xff0c;我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像参数一样进行传递&#xff0c;称为行为参数化)。Lambda允许把函数作为一个方法的参数&#xff08;函数作为参数传递进方法中&#xff09;&#xff0c;要…