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