type
status
date
slug
summary
tags
category
icon
password
😀
文章前言:本文主要讲述构件级设计。
 

图形设计表示法

1 流程图

程序流程图是人们对解决问题的方法、思路或算法的一种描述。
流程图的优点:
  • 采用简单规范的符号,画法简单;
  • 结构清晰,逻辑性强;
  • 便于描述,容易理解。
notion image
notion image
notion image
 

2 盒图(N-S图)

在NS图中,每个处理步骤用一个盒子表示。盒子可以嵌套。盒子只能从上头进入,从下头走出,除此之外别无其他出入口,所以盒图限制了随意的控制转移,保证了程序的良好结构
与流程图相比,NS图的优点在于:
  • 它强制设计人员按结构化程序设计方法进行思考并描述其方案;
  • 图像直观,容易理解设计意图,为编程、复查、测试、维护带来方便;
  • 简单易学。
notion image
notion image
 

3 PAD图

PAD图是二维结构。
PAD所描述的程序层次关系表现在纵线上,每条纵线表示了一个层次。PAD图是从左向右展开的。
PAD图的描述结果保证了算法必然是结构化的。
notion image
notion image
PAD图的优点
  • 清晰的反映了程序的层次结构
  • 支持逐步求精的设计方法
  • 易读易写,使用方便
  • 支持结构化程序设计
  • 可自动生成程序
 

4 PDL语言

PDL是一种用于描述功能模块的算法设计和加工细节的语言。
  • 它是一种伪码。一般地,伪码的语法规则分为“外语法”和“内语法”。外语法应当符合一般程序设计语言常用语句的语法规则;而内语法可以用英语中一些简单的句子、短语和通用的数学符号,来描述程序应执行的功能。
  • 使用PDL语言,可以做到逐步求精:从比较概括和抽象的PDL程序起,逐步写出更详细的更精确的描述。
PDL程序的主要特征:
  • 用PDL写出的程序具有正文格式。在计算机上可做正文处理.
  • PDL程序中会有一些能够标明程序结构的关键字.
  • PDL语言仅有少量的简单语法规则,大量使用人们习惯的自然语言。
  • 使用PDL语言常常按逐步细化的方式写出程序.
  • PDL程序的注释行对语句进行解释,起到提高可读性的作用。
 
PDL语言表示
(1)数据说明:PDL程序中指明数据名的类型及作用域.其形式为:
declare<数据名>as<限定词>
<限定词>具体的数据结构:
  • scalar<纯量>
  • array<数组>
  • list<列表>
  • char<字符>
  • structure<结构>
(2)子程序结构
(3)分程序结构
(4)顺序结构
 

程序设计语言的特性

心理特性

言的心理特性指影响程序员心理的语言性能,许多这类特性是作为程序设计的结果而出现的,虽不能用定量的方法来度量,但可以认识到这类特性在语言中的表现形式:
  • 二义性
  • 简洁性
  • 局部性和顺序性
  • 传统性
 

工程特性

为满足软件工程的需要,程序设计语言还应考虑:
  • 源代码的可移植性。要增强可移植性,就必须在设计时考虑模块与操作系统的特性不应有紧密的联系,同时要使用标准语言和标准的数据库操作,并且对程序中各种可变信息均应参数化,以便于修改。
  • 配套的开发工具。
  • 可维护性。
  • 可重用性。
  • 将设计变换为源程序的便利程度以及编译器的有效性等。
 

程序设计语言的选择

  • 基础语言
    • FORTRAN、COBOL和BASIC是这类语言的代表。之所以称这些为基础语言,是因为它们都有较长的使用历史,在国内外流传甚广,有大量已开发的应用软件,今天仍拥有广大的用户。
  • 结构化语言
    • Pascal它是第一个系统地体现结构化程序概念的现代高级语言。
      C语言它除了具有结构化语言的公共特征,如表达简洁,控制结构与数据结构完备,有丰富的运算符和数据类型外,尤以移植力强、编译质量高等特点 。
      Ada语言它是迄今为止最完善的面向过程的现代语言,也是集FORTRAN以来各种语言之大成的语言。
  • 面向对象语言
    • C++语言:C++是从C语言进化而来,是C语言的超集。
      Java语言:Java语言是当今流行的新兴网络编程语言,它的面向对象、跨平台、分布式应用等特点给编程人员带来了一种崭新的计算概念。
 
一个富有吸引力的程序设计支持环境(PSE)应具备下列特性:
  • 通用性——适用于不同的语言、不同的应用领域和开发方法;
  • 适应性——通过开关设置,能配置出满足不同需要的PSE实例;
  • 开放性——能方便地增加新工具;
  • 支持重用——能支持可重用模块的存储、索引和查找;
  • 自控性——保证自身操作的正确和协调;
  • 自带数据库——提供数据库机制,存储、管理已开发的软件产品;
  • 保证质量——有助于提高所开发软件的质量;
  • 吸引用户——用户愿意使用;
  • 具有市场竞争力——PSE能真正提高软件生产力。
 

练习

用程序流程图、盒图和PAD图描述下述面问题的控制结构。
在数据A(1)~A(10)中求最大数。
notion image
 
 
💡
有关问题,欢迎您在底部评论区留言,一起交流~
编译原理:词法分析与有穷自动机OpenHarmony编译构建工具Ninja
Loading...
Koreyoshi
Koreyoshi
一个无可救药的乐观主义者
Latest posts
软件测试:集成测试
2025-3-25
软件测试:控制流测试
2025-3-25
软件测试:系统测试
2025-3-25
软件测试:数据流测试
2025-3-25
软件测试:测试驱动开发
2025-3-25
软件工程:面向对象的概念和记号
2025-3-24
Announcement
🎉写给自己的2025心愿🎉
保研
国奖
完善博客
学一门乐器
发表一篇论文
拍摄人生照片
去3个城市旅游
专业课知识视频
拍摄毕业季视频
----- 2025 ------
👏希望我们一起变好👏