Скачать презентацию МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ МОДУЛЬ Это функционально законченный фрагмент Скачать презентацию МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ МОДУЛЬ Это функционально законченный фрагмент

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

  • Количество слайдов: 6

МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ

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

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

СВОЙСТВА МОДУЛЯ Во-первых, в модуле обычно определяются объекты, являющиеся носителями базовых понятий некоторой СВОЙСТВА МОДУЛЯ Во-первых, в модуле обычно определяются объекты, являющиеся носителями базовых понятий некоторой "предметной" области, так что модуль задает контекст этой предметной области. Поэтому программы, которые будут выполнять различные алгоритмы обработки в этой области, смогут воспользоваться готовыми и, что важно, одинаковыми определениями базовых объектов. Во-вторых, и модули, и использующие их программы компилируются независимо. Благодаря этому время компиляции большой программы использующей готовые модули, существенно сокращается, что важно при отладке программ, когда приходится их компилировать многократно. Третьим важным свойством модуля является то, что он скрывает, представление и реализацию экспортируемых им объектов, так что их возможные изменения в модуле (при его настройке или адаптации к новым аппаратным возможностям) не требуют никаких переделок пользовательских программ. Все модули используют мнемонические имена для определяемых ими объектов что облегчает понимание их назначения и запоминание, удовлетворяет требованию наглядности текста программ.

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

ПОДДЕРЖИВАЮЩИЕ ЯЗЫКИ Языки формально поддерживающие концепцию модулей: Assembler, Кобол, RPG, ), Фортран, Haskell, Blitz ПОДДЕРЖИВАЮЩИЕ ЯЗЫКИ Языки формально поддерживающие концепцию модулей: Assembler, Кобол, RPG, ), Фортран, Haskell, Blitz BASIC, OCaml, Паскаль, ML, Модула-2, Оберон, Компонентный Паскаль, Zonnon, Erlang, Perl, Python и Ruby. Модульное программирование может быть осуществлено, даже когда синтаксис языка программирования не поддерживает явное задание имён модулям. Программные инструменты могут создавать модули исходного кода, представленные как части групп — компонентов библиотек, которые составляются с программой компоновщиком.