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