应用模块化技术
一个现实生活中的问题是复杂且庞大的。如果开发了一个整体解决方案,它会带来这些问题:
编写、测试和实施一个大型程序很困难
最终产品交付后几乎不可能进行修改
程序维护非常困难
一个错误可能导致整个系统停止运行
为了克服这些问题,解决方案应该被分成更小的部分,称为模块。将一个大型解决方案分解成更小的模块以方便开发、实施、修改和维护的技术称为编程或软件开发的模块化技术。
模块化编程的优点
模块化编程具有以下优点:
由于每个模块可以并行开发,因此可以加快开发速度
模块可以重复使用
由于每个模块都需要独立测试,因此测试更快且更可靠
更容易调试和维护整个程序
模块更小,复杂程度更低,因此更容易理解
确定模块
在软件中确定模块是一项令人费解的任务,因为没有一种正确的方法。以下是一些确定模块的要点:
如果数据是系统最重要的元素,请创建处理相关数据的模块。
如果系统提供的服务多种多样,请将系统分解成功能模块。
如果其他方法都失败了,请根据您在需求收集阶段对系统的理解,将系统分解成逻辑模块。
对于编码,每个模块必须再次分解成更小的模块以方便编程。这可以使用上述三个技巧结合特定的编程规则再次完成。例如,对于像 C++ 和 Java 这样的面向对象编程语言,每个类及其数据和方法可以构成一个模块。
分步解决方案
为了实现模块,必须以分步的方式描述每个模块的流程。可以使用算法或伪代码来开发分步解决方案。提供分步解决方案具有以下优点:
任何阅读解决方案的人都可以理解问题和解决方案。
程序员和非程序员都能同样理解。
在编码过程中,每个语句只需要转换为程序语句。
它可以作为文档的一部分,并协助程序维护。
标识符名称、所需操作等微观细节会自动确定
让我们来看一个例子。
控制结构
正如您在上面的例子中看到的,程序逻辑并非一定顺序执行。在编程语言中,控制结构根据给定的参数对程序流程做出决策。它们是任何软件中非常重要的元素,必须在任何编码开始之前确定。
算法和伪代码帮助分析人员和程序员确定需要控制结构的位置。
控制结构有以下三种类型:
决策控制结构
当要执行的下一步取决于某个条件时,使用决策控制结构。此条件通常是一个或多个必须计算的布尔表达式。布尔表达式始终计算为“真”或“假”。如果条件为“真”,则执行一组语句;如果条件计算为“假”,则执行另一组语句。例如,if语句
选择控制结构
当程序序列取决于特定问题的答案时,使用选择控制结构。例如,程序为用户提供了许多选项。接下来要执行的语句将取决于所选择的选项。例如,switch 语句、case 语句。
重复/循环控制结构
当需要重复执行一组语句多次时,使用重复控制结构。重复次数可能在开始之前就知道,也可能取决于表达式的值。例如,for 语句、while 语句、do while 语句等。
正如您在上面的图像中看到的,选择结构和决策结构在流程图中的实现方式相似。选择控制只不过是一系列按顺序执行的决策语句。
以下是一些来自程序的示例,用于显示这些语句的工作方式: