Модульное программирование как метод разработки программ

Обновлено: 21.11.2024

Чтобы преодолеть эти проблемы, решение следует разделить на более мелкие части, называемые модулями. Метод разбиения одного большого решения на более мелкие модули для простоты разработки, внедрения, модификации и обслуживания называется модульным методом программирования или разработки программного обеспечения.

Преимущества модульного программирования

Модульное программирование предлагает следующие преимущества —

Ускоряет разработку, так как каждый модуль можно разрабатывать параллельно

Модули можно использовать повторно

Поскольку каждый модуль тестируется независимо, тестирование проходит быстрее и надежнее

Упрощение отладки и обслуживания всей программы

Модули меньше и имеют более низкий уровень сложности, поэтому их легко понять

Идентификация модулей

Идентификация модулей в программном обеспечении — невероятная задача, потому что не может быть единственно правильного способа сделать это. Вот несколько советов по идентификации модулей —

Если данные являются наиболее важным элементом системы, создайте модули, обрабатывающие связанные данные.

Если услуги, предоставляемые системой, разнообразны, разбейте систему на функциональные модули.

Если ничего не помогло, разбейте систему на логические модули в соответствии с вашим пониманием системы на этапе сбора требований.

Для написания кода каждый модуль необходимо снова разбить на более мелкие модули для простоты программирования. Это снова можно сделать, используя три приведенных выше совета в сочетании с определенными правилами программирования. Например, для объектно-ориентированного языка программирования, такого как C++ и Java, каждый класс со своими данными и методами может образовывать единый модуль.

Пошаговое решение

Чтобы внедрить модули, процесс каждого модуля должен быть описан пошагово. Пошаговое решение может быть разработано с использованием алгоритмов или псевдокодов. Предоставление пошагового решения предлагает следующие преимущества —

Любой, кто читает решение, может понять и проблему, и решение.

Она одинаково понятна как программистам, так и непрограммистам.

Во время кодирования каждый оператор просто необходимо преобразовать в оператор программы.

Он может быть частью документации и помогать в обслуживании программы.

Детали микроуровня, такие как имена идентификаторов, требуемые операции и т. д., обрабатываются автоматически

Давайте рассмотрим пример.

Структуры управления

Как видно из приведенного выше примера, необязательно, чтобы логика программы выполнялась последовательно. В языке программирования управляющие структуры принимают решения о ходе выполнения программы на основе заданных параметров. Они являются очень важными элементами любого программного обеспечения и должны быть идентифицированы до начала кодирования.

Алгоритмы и псевдокоды помогают аналитикам и программистам определить, где требуются управляющие структуры.

Структуры управления относятся к этим трем типам —

Структуры управления принятием решений

Структуры управления принятием решений используются, когда выполнение следующего шага зависит от критерия. Эти критерии обычно представляют собой одно или несколько логических выражений, которые необходимо оценить. Логическое выражение всегда оценивается как «истина» или «ложь». Один набор операторов выполняется, если критерий «истинен», а другой набор выполняется, если критерий оценивается как «ложь». Например, оператор if

Структуры управления выбором

Структуры управления выбором используются, когда последовательность выполнения программы зависит от ответа на конкретный вопрос. Например, программа имеет множество опций для пользователя. Оператор, который будет выполняться следующим, будет зависеть от выбранной опции. Например, оператор switch, оператор case.

Структуры повторения/управления циклом

Структура управления повторением используется, когда набор операторов должен повторяться много раз. Количество повторений может быть известно до его начала или может зависеть от значения выражения. Например, оператор for, оператор while, оператор do while и т. д.

Как вы можете видеть на изображении выше, и структура выбора, и структура принятия решения реализованы в блок-схеме одинаково. Управление выбором — это не что иное, как серия утверждений о принятии решений, принимаемых последовательно.

Модульное программирование – это метод проектирования программного обеспечения, в котором основное внимание уделяется разделению функциональных возможностей программы на независимые взаимозаменяемые модули, каждый из которых содержит все необходимое для выполнения только одного аспекта желаемой функциональности. [1]

Концепция модуляризации

Одной из наиболее важных концепций программирования является возможность сгруппировать несколько строк кода в блок, который можно включить в нашу программу. Первоначальная формулировка для этого была подпрограммой. Другие названия включают: макрос, подпрограмма, процедура, модуль и функция. Мы будем использовать термин «функция», поскольку именно так они называются в большинстве современных языков программирования. Функции важны, потому что они позволяют нам брать большие сложные программы и делить их на более мелкие управляемые части. Поскольку функция представляет собой меньшую часть общей программы, мы можем сосредоточиться на том, что мы хотим, чтобы она делала, и протестировать ее, чтобы убедиться, что она работает правильно. Как правило, функции делятся на две категории:

  1. Управление программой — функции, используемые для простого разделения и управления программой. Эти функции уникальны для записываемой программы. Другие программы могут использовать похожие функции, возможно, даже функции с теми же именами, но содержание этих функций почти всегда сильно отличается.
  2. Специальная задача — функции, предназначенные для использования с несколькими программами. Эти функции выполняют определенную задачу и поэтому могут использоваться во многих различных программах, поскольку другие программы также должны выполнять определенную задачу. Конкретные функции задачи иногда называют строительными блоками. Поскольку они уже закодированы и протестированы, мы можем с уверенностью использовать их для более эффективного написания большой программы.

Основная программа должна установить наличие функций, используемых в этой программе. В зависимости от языка программирования существует формальный способ:

  1. определить функцию (ее определение или код, который она будет выполнять)
  2. вызвать функцию
  3. объявить функцию (прототип — это объявление для компилятора)

Примечание. Определение и вызов функций являются общими действиями в разных языках программирования. Объявление функций с помощью прототипов относится к определенным языкам программирования, включая C и C++.

Функции управления программой обычно не передают информацию друг другу, а используют общую область для хранения переменных. Специальные функции Task создаются таким образом, чтобы данные могли передаваться между вызывающей частью программы (которая обычно является другой функцией) и вызываемой функцией. Именно эта способность передавать данные позволяет нам создать специальную функцию задачи, которую можно использовать во многих программах. Правила того, как данные передаются в функцию и из функции, сильно различаются в зависимости от языка программирования, но концепция одна и та же. Передаваемые (или сообщаемые) элементы данных называются параметрами. Таким образом, формулировка: передача параметров. Четыре варианта передачи данных включают:

  1. нет связи на входе и нет связи на выходе
  2. нет входящей связи с некоторой исходящей связью
  3. некоторая связь входящая и некоторая исходящая информация
  4. некоторые входящие сообщения без исходящих сообщений

Функция управления программой

Главной частью программы во многих языках программирования является специальная функция с идентификатором main. Особенность или уникальность main как функции заключается в том, что именно здесь программа начинает выполнение кода, и именно здесь она обычно останавливает выполнение кода. Часто это первая функция, определенная в программе, и она появляется после области, используемой для включения, других технических элементов, объявления прототипов, списка глобальных констант и переменных и любых других элементов, обычно необходимых программе. Предоставляется код для определения функции main; однако она не является прототипом и обычно не вызывается, как другие функции в программе.

Конкретная функция задачи

Нам часто нужно выполнить определенную задачу, которая может использоваться во многих программах.

Общий вид функции на языке с динамической типизацией, таком как JavaScript и Python:

В некоторых языках программирования функции имеют набор фигурных скобок <>, используемых для обозначения группы или блока операторов или строк кода. Другие языки используют отступы или некоторые типы операторов начала и конца для идентификации блока кода. Обычно функция состоит из нескольких строк кода.

В языках программирования будут определенные функции задач, определенные до или после основной функции, в зависимости от правил кодирования для данного языка.

При вызове функции вы используете ее имя-идентификатор и набор скобок. Вы помещаете любые элементы данных, которые вы передаете, в круглые скобки. После того, как наша программа скомпилирована и запущена, выполняются строки кода в основной функции, а когда дело доходит до вызова конкретной функции-задачи, управление программой переходит к функции и начинает выполнять строки кода в основной функции. функция. Когда это будет сделано со строками кода, он вернется к месту в программе, которая его вызвала (в нашем примере функция main), и продолжит код в этой функции.

Макет программы

Большинство программ имеют несколько элементов перед функциями, в том числе:

  1. Документация. Большинство программ имеют область комментариев в начале программы с различными комментариями, относящимися к программе.
  2. Включить или импортировать операторы, используемые для доступа к функциям стандартной библиотеки.
  3. Код для конкретного языка, например ссылки на пространство имен или прототипы функций.
  4. Глобальные или модульные константы и переменные, если это необходимо.

Ключевые термины

Ссылки

Лицензия

Книга «Основы программирования» Кеннета Лероя Басби и Дэйва Брауншвейга распространяется под лицензией Creative Commons Attribution-ShareAlike 4.0 International License, если не указано иное.

Модульное программирование — это процесс, который включает в себя разделение компьютерной программы на отдельные подпрограммы. Модуль — это отдельный компонент, который можно использовать с рядом функций и приложений в сочетании с другими компонентами системы. Идентичные функции объединяются с одним и тем же программным кодом, а отдельные функции создаются как отдельные блоки кода, что делает его доступным для повторного использования в других приложениях.

Существует множество преимуществ использования модульного программного обеспечения и программирования по сравнению с другими методами.

Разработку можно разделить

Модульное программирование позволяет разделить разработку путем разбиения программы на более мелкие программы для выполнения различных задач. Это позволяет разработчикам работать одновременно и сводит к минимуму время, затрачиваемое на разработку.

Программы для чтения

Модульное программирование помогает разрабатывать программы, которые намного легче читать, поскольку их можно активировать как пользовательские функции. За программой, выполняющей несколько функций, легче следить, тогда как за программой, не имеющей функции, следить намного сложнее.

Ошибки программирования легко обнаружить

Модульное программирование сводит к минимуму риск появления ошибок программирования, а также упрощает обнаружение ошибок, если таковые имеются. Это связано с тем, что ошибки могут быть сведены к конкретной функции или подпрограмме.

Разрешает повторное использование кодов

Программный модуль можно повторно использовать в программе, что сводит к минимуму разработку избыточных кодов. Также удобнее повторно использовать модуль, чем писать программу с самого начала. Кроме того, требуется написать очень мало кода.

Улучшает управляемость

Разбивка программы на более мелкие подпрограммы упрощает управление. Отдельные модули легче тестировать, внедрять или проектировать. Затем эти отдельные модули можно использовать для разработки всей программы.

Сотрудничество

Благодаря модульному программированию программисты могут совместно работать над одним и тем же приложением. Разработка программы также упрощается, поскольку небольшие группы могут сосредоточиться на отдельных частях одного и того же кода.

Надеюсь, вам понравится это читать!
Не забудьте поделиться этим блогом со своими друзьями.

Что такое модульное программирование?

Модульное программирование или модульная архитектура – это способ распределения кода больших программных приложений на небольшие фрагменты кода для повышения удобства обслуживания и устойчивости. При таком подходе программное обеспечение разделено на несколько модулей, и каждый модуль выполняет определенную задачу программного приложения.

Что такое модульное программирование

Думаю, что этот пылесос — это ваше программное обеспечение, а его часть — модули.

Модульное программирование — это не новый подход, он существует с 1960-х годов, но его использование и один из наиболее часто используемых подходов к разработке программного обеспечения.

Модульное программирование тесно связано со "структурным программированием" и "ООП", и все они имеют одну и ту же цель - улучшить ремонтопригодность больших программ и систем путем разложения на более мелкие части, и все они возникли примерно в 1960-х годах.

Преимущества модульного программирования

Вот некоторые из основных преимуществ модульного программирования.

Это основная причина, по которой другие (и я) рекомендуют модульное программирование.

Объяснение возможности повторного использования кода

Разделите большое программное обеспечение на несколько независимых модулей и заставьте каждый класс/метод выполнять только одну конкретную задачу. Модульность делает код простым для понимания и более удобным в сопровождении.Это позволяет легко повторно использовать методы или функции в программе и уменьшает необходимость повторного написания кода.

Разбивка программы на более мелкие подпрограммы упрощает управление. Отдельные модули легче тестировать, внедрять или проектировать. Затем эти отдельные модули можно использовать для разработки всей программы.

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

Совместная работа

Еще одно преимущество модульного подхода заключается в возможности совместного программирования. Вместо того, чтобы давать большую работу одному программисту, вы можете разделить ее на большую команду программистов. Каждому программисту может быть поставлена ​​конкретная задача для выполнения в рамках общего программного приложения. Затем, в конце концов, вся разнообразная работа программистов компилируется для создания программы. Это помогает ускорить работу.

Недостатки модульного программирования

  • Может привести к проблемам с именами переменных
  • Документация модулей должна быть тщательной
  • Может привести к проблемам при связывании модулей, поскольку связь должна быть тщательно проверена

Языки, поддерживающие модульное программирование

Языки программирования, поддерживающие концепцию модульного программирования:

Примечание. Есть и другие языки программирования.

Модульное программирование на Python

Модульный подход в Python уже широко используется, например: когда вы импортируете пакет в Python, вы используете модульный подход.

Вот пример кода:

импорт математики, случайный

Вы также можете создать собственный модуль для своего программного приложения.

Вот пример кода:

Создать модуль в Python

Следуйте этому пошаговому руководству, чтобы создать модуль на Python:

  1. Создайте файл «example.py» и вставьте приведенный ниже код.
    1. Импортируйте свой модуль.

    Этого недостаточно для большого программного обеспечения, есть и другие вещи, которые нужно изучить в модульном программировании на Python.

    Модульное программирование на Java

    Модули обычно записываются как независимые функции (в Java они называются методами).

    Вот пример кода:

    Java состоит не только из методов. Это объектно-ориентированный язык программирования, в котором функциональность разбита на объекты. Объект реализован как класс Java и имеет имя, некоторые характеристики (называемые атрибутами) и некоторые действия (методы), которые могут выполняться над ним или им.

    Этого недостаточно для большого программного обеспечения, есть и другие вещи, которые нужно изучить по модульному программированию в Java.

    Модульное программирование на C++

    Наименьшая единица кода в C++ называется функцией.

    Помещение функций или группы функций в отдельный модуль (исходный файл) — это модульное программирование на C++.

    Вот пример кода:

    Этого недостаточно для большого программного обеспечения, есть и другие вещи, которые нужно изучить в модульном программировании на C++.

    Общие термины модульного программирования.

    Функция

    Какие модули вызываются во многих современных языках программирования?

    Вызов функции

    Функция использует или вызывает другую функцию.

    Определение функции

    Код определяет, что делает функция.

    Прототип функции

    Объявление связи функции с компилятором.

    Имя идентификатора

    Имя было дано программистом для идентификации функции или других элементов программы, таких как переменные.

    Модульность

    Возможность группировать несколько строк кода в блок, который можно включить в нашу программу.

    Читайте также: