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