Методологии программирования - Введение
Когда программы разрабатываются для решения реальных проблем, таких как управление запасами, расчет заработной платы, прием студентов, обработка результатов экзаменов и т. Д., Они, как правило, огромны и сложны. Подход к анализу таких сложных проблем, планированию разработки программного обеспечения и контролю процесса разработки называетсяprogramming methodology.
Типы методологий программирования
Среди разработчиков программного обеспечения распространено множество типов методологий программирования -
Процедурное программирование
Проблема разбита на процедуры или блоки кода, каждый из которых выполняет одну задачу. Все процедуры, вместе взятые, составляют целую программу. Подходит только для небольших программ с низким уровнем сложности.
Example- Для программы калькулятора, которая выполняет сложение, вычитание, умножение, деление, извлечение квадратного корня и сравнение, каждая из этих операций может быть разработана как отдельные процедуры. В основной программе каждая процедура будет вызываться по выбору пользователя.
Объектно-ориентированного программирования
Здесь решение вращается вокруг сущностей или объектов, которые являются частью проблемы. Решение касается того, как хранить данные, связанные с сущностями, как сущности ведут себя и как они взаимодействуют друг с другом, чтобы дать связное решение.
Example - Если нам нужно разработать систему управления заработной платой, у нас будут такие объекты, как сотрудники, структура заработной платы, правила отпусков и т. Д., Вокруг которых должно быть построено решение.
Функциональное программирование
Здесь проблема или желаемое решение разбиты на функциональные блоки. Каждый блок выполняет свою задачу и самодостаточен. Эти блоки затем сшиваются вместе, чтобы сформировать законченное решение.
Example - Обработка заработной платы может иметь функциональные блоки, такие как ведение данных о сотрудниках, расчет базовой заработной платы, расчет валовой заработной платы, обработка отпусков, обработка погашения ссуд и т. Д.
Логическое программирование
Здесь проблема разбита на логические единицы, а не на функциональные единицы. Example:В системе управления школой у пользователей есть четко определенные роли, такие как классный руководитель, предметный учитель, лаборант, координатор, ответственный за обучение и т. Д. Таким образом, программное обеспечение может быть разделено на блоки в зависимости от ролей пользователей. У каждого пользователя может быть свой интерфейс, права доступа и т. Д.
Разработчики программного обеспечения могут выбрать одну или несколько из этих методологий для разработки программного обеспечения. Обратите внимание, что в каждой из обсуждаемых методологий проблема должна быть разбита на более мелкие единицы. Для этого разработчики используют любой из следующих двух подходов:
- Нисходящий подход
- Подход «снизу вверх
Нисходящий или модульный подход
Проблема разбита на более мелкие единицы, которые в дальнейшем могут быть разбиты на еще более мелкие единицы. Каждая единица называетсяmodule. Каждый модуль - это самодостаточная единица, в которой есть все необходимое для выполнения своей задачи.
На следующем рисунке показан пример того, как можно использовать модульный подход для создания различных модулей при разработке программы обработки заработной платы.

Подход «снизу вверх
При восходящем подходе проектирование системы начинается с компонентов самого низкого уровня, которые затем соединяются между собой для получения компонентов более высокого уровня. Этот процесс продолжается до тех пор, пока не будет сгенерирована иерархия всех компонентов системы. Однако в реальной жизни очень сложно знать все компоненты самого низкого уровня с самого начала. Таким образом, подход снизу вверх используется только для очень простых задач.
Давайте посмотрим на компоненты программы калькулятора.
