程序设计方法学 - 简介
当开发程序来解决现实生活中的问题,例如库存管理、工资处理、学生入学、考试成绩处理等时,这些程序往往会变得庞大而复杂。分析此类复杂问题、规划软件开发以及控制开发过程的方法称为程序设计方法学。
程序设计方法学的类型
在软件开发人员中,存在许多类型的程序设计方法学 -
过程式编程
将问题分解成过程或代码块,每个代码块执行一项任务。所有过程合在一起构成整个程序。它仅适用于复杂程度较低的少量程序。
示例 - 对于一个执行加法、减法、乘法、除法、平方根和比较的计算器程序,可以将每个操作开发成单独的过程。在主程序中,将根据用户的选择调用每个过程。
面向对象编程
此处,解决方案围绕构成问题一部分的实体或对象展开。该解决方案涉及如何存储与实体相关的数据、实体的行为方式以及它们如何相互交互以提供一个连贯的解决方案。
示例 - 如果我们需要开发一个工资管理系统,我们将拥有诸如员工、工资结构、休假规则等实体,解决方案必须围绕这些实体构建。
函数式编程
在此,问题或期望的解决方案被分解成功能单元。每个单元执行自己的任务并且是自给自足的。然后将这些单元拼接在一起以形成完整的解决方案。
示例 - 工资处理可以具有员工数据维护、基本工资计算、总工资计算、休假处理、贷款偿还处理等功能单元。
逻辑编程
在此,问题被分解成逻辑单元而不是功能单元。示例:在学校管理系统中,用户具有非常明确的角色,例如班主任、学科教师、实验室助理、协调员、学术负责人等。因此,软件可以根据用户角色划分成单元。每个用户可以具有不同的界面、权限等。
软件开发人员可以选择一种或多种此类方法的组合来开发软件。请注意,在讨论的每种方法中,都必须将问题分解成更小的单元。为此,开发人员可以使用以下两种方法中的一种 -
- 自顶向下方法
- 自底向上方法
自顶向下或模块化方法
将问题分解成更小的单元,这些单元可以进一步分解成更小的单元。每个单元称为模块。每个模块都是一个自给自足的单元,包含执行其任务所需的一切。
以下插图显示了一个示例,说明在开发工资处理程序时如何遵循模块化方法来创建不同的模块。
自底向上方法
在自底向上方法中,系统设计从最低级别的组件开始,然后将这些组件互连以获得更高级别的组件。此过程持续进行,直到生成所有系统组件的层次结构。但是,在现实场景中,一开始很难知道所有最低级别的组件。因此,自底向上方法仅用于非常简单的问题。
让我们看一下计算器程序的组件。