软件设计理念——输入输出为例

简介: 软件设计理念——输入输出为例

工程1:不使用变量,实现4+5的计算并显示。

Private Sub cmdResult_Click()
Print "4+5="; 4 + 5; 在; '窗体中显示,4+5='
End Sub

工程2:①通过两个变量a,b,分别赋值为4,5;②直接显示这两个变量的和

Private Sub cmdCount_Click()
Dim a As Integer
Dim b As Integer
a = 4
b = 5
Print a + b;
End Sub

独立思考如下有趣的话题:

1、对比工程1的实现与工程2的实现,代码和形式上有哪些不同?
2、从软件工程学的角度看,非常巨大的进步是什么?

回答:工程1的实现与工程2的实现的不同之处在于:1.工程1直接给定了值,并进行了相加。2.工程2增加了一个变量的概念,通过变量相加。

巨大的进步:引入变量的值,不仅仅局限4 和 5 灵活性大大增加,并且实际上复用了加法。

工程3:通过三个a/b/c变量,a/b分别赋值为4、5,a/b的和赋值给c,显示变量c的值

Private Sub cmdCount_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = 4
b = 5
c = a + b
Print c
End Sub

独立思考如下有趣的话题:

1、对比工程2的实现与工程3的实现,代码和形式上有哪些不同?
2、从软件工程学的角度看,非常巨大的进步是什么?

回答:工程2的实现与工程3的实现代码和形式不同之处:1.工程2直接将a加b两个变量的和直接打印。2.工程3将a加b的值赋值给变量c,之后将c打印出来

巨大的进步:1.将a+b进行了封装,复用了a+b。2.变量c不仅可以输出a加b 还可以输出E加D,F加G,C的作用就变得巨大了,具有了无限制的开拓空间。

工程4: 通过inputbox函数(也可以使用text等类似控件),给a/b分别赋值。

①定义三个a/b/c变量,

②通过inputbox函数(也可以使用text等类似控件),给a/b分别赋值;

③a/b的和赋值给变量c;

④显示输出变量c的值

Private Sub cmdResult_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = Val(txt1.Text)
b = Val(txt2.Text)
c = a + b
txt3.Text = c
End Sub

问题:工程3的实现与工程4的实现,有哪些不同?从软件工程学的角度看,非常巨大的进步是什么?

工程3和工程4的实现不同在于:1.工程4引入了前端的概念,将对a和b的赋值放在前端,通过用户输入来赋值。

巨大的进步:有了前端以后我们就能实现数据输入的分布式,由客户更加自主的随时随地输入数据,解放了程序员,解放了程序,可以扩展为n个前端,n个用户的赋值。让用户自己觉得是主人,同时还把很多客户的工作通过分布式的形式迅速的还给了客户,我们在瞬间就能够获得大量的数据。

工程5:通过msgbox函数(也可以使用label等类似控件),显示输出变量c的值

①定义三个a/b/c变量,

②通过inputbox函数(也可以使用text等类似控件),给a/b分别赋值;

③a/b的和赋值给变量c;

④通过msgbox函数(也可以使用label等类似控件);

⑤显示输出变量c的值

Private Sub cmdResult_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = InputBox("请输入第一个数")
b = InputBox("请输入第二个数")
c = a + b
MsgBox (c)
End Sub

问题:工程4的实现与工程5的实现,有哪些不同?从软件工程学的角度看,非常巨大的进步是什么?

不同之处:1.工程4将结果在控制台展示给程序员2.工程5增加了一个信息框将结果直接展示客户

巨大的进步:用户可以及时得到反馈,有了messagebox我们就可以针对不同的客户输出不同的内容可以同时输出给多个用户,当然我们还可以赋值给messagebox不同的变量,这样messagebox就得到了复用,同时有了一个messagebox,就有一个和客户通道的永久通道。


目录
相关文章
|
5月前
|
监控 测试技术 持续交付
设计通用灵活的LabVIEW自动测试系统
设计通用灵活的LabVIEW自动测试系统
98 0
|
7月前
|
传感器 人工智能 测试技术
热敏电阻怎么进行性能测试?并以LabVIEW为例进行说明
热敏电阻怎么进行性能测试?并以LabVIEW为例进行说明
81 2
|
7月前
|
存储 算法 安全
软件系统设计步骤与原理
软件系统设计步骤与原理
|
异构计算
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
107 0
|
7月前
|
机器学习/深度学习 算法 C++
在线等价类(c++底层全实现)
在线等价类(c++底层全实现)
|
7月前
|
传感器 数据采集 数据挖掘
LabVIEW开发压电陶瓷特性测试系统
LabVIEW开发压电陶瓷特性测试系统
39 0
|
7月前
|
缓存 算法 Linux
Linux操作体系结构与功能流程
Linux操作体系结构与功能流程
39 2
|
安全
Trustwallet/TP/ImToken/MetaMask钱包系统开发步骤方案/案例设计/功能需求/逻辑项目/源码版
Trustwallet, TP wallet, ImToken, and MetaMask wallet systems are currently popular cryptocurrency wallet applications. These wallet systems provide users with the ability to store, manage, and trade cryptocurrencies. The following are the development requirements and analysis for these wallet system
|
搜索推荐 数据库 Nacos
项目实战典型案例8——让软件的使用者成为软件的设计者
项目实战典型案例8——让软件的使用者成为软件的设计者
129 0
|
传感器 测试技术
嵌入式软件测试笔记1 | 简单说明 & 嵌入式系统认识和测试目标
嵌入式软件测试笔记1 | 简单说明 & 嵌入式系统认识和测试目标
9503 0