Концепция модульного программирования
1. Принцип утаивания информации Парнаса. Внешней среде не имеет значения что и как работает внутри модуля. 2. Аксиома модульности Коуэна. Модуль должен удовлетворять следующим условиям: · блочность организации · синтаксическая обособленность · семантическая независимость · общность данных · полнота определения 3. Сборочное программирование Цейтина. Модули — это программные кирпичи, из которых строится программа. Предпосылки к модульному программированию: · стремление к выделению независимой единицы программного знания. · потребность организационного расчленения крупных разработок; · возможность параллельного исполнения модулей. Модуль, спецификация модуля Несколько определений модуля. · Модуль — это совокупность команд, к которым можно обратиться по имени. · Модуль — это совокупность операторов программы, имеющая граничные элементы и идентификатор (возможно агрегатный).
Функциональная спецификация модуля должна включать: · синтаксическую спецификацию его входов, которая должна позволять построить на используемом языке программирования синтаксически правильное обращение к нему; · описание семантики функций, выполняемых модулем по каждому из его входов.
Разновидность модулей Существуют три основные разновидности модулей: 1) Функциональные модули - реализуют одну какую-либо функцию. 2) Информационные модули - реализующие несколько операций над одной и той же структурой данных 3) Логические модули – объединяют два предыдущих. 45. Характеристики модуля: 1) размера модуля; В модуле должно быть 7 (+/-2) чанков. Чанк — наборы фактов и связей между ними, запоминаемые и извлекаемые как единое целое. 2) прочность модуля; Прочность - мера независимости его частей; чем выше - тем лучше. Типы прочности (связности), приведенные ниже: · Функциональная - реализует одну функцию и не может быть разбит на 2 модуля. · Последовательная - может быть разбит на последовательные части, совместно реализующие единственную функцию. · Информационная – модули работают с одной структурой данных. 3) сцепление модуля с другими модулями; Сцепление — мера относительной независимости модуля от других модулей. Типы сцепления: · Независимые модули (нулевое) — каждый модуль автономен. · Сцепление по данным — это сцепление, когда данные передаются модулю, как значения его параметров. 4) рутинность - это независимость модуля от предыдущих обращений к нему
Модули бывают дополнительные и главные, только в главном модуле выполняется: 1. Инициализация сегментов стека директив. Stack 2. Инициализация сегментов данных 3. Только он имеет метку start – начало программы.
Исходный текст модуля должен иметь заголовок, в котором указывается: · назначение и особенности функционирования модуля; · описание входных данных; · описание выходных данных.
Все имена, описанные в модуле, локализуются в нём. Каждый модуль может оперировать двумя типами идентификаторов: внутренними и внешними, которые определены или инициализированы в другом модуле. Extern <имя>:<тип>,…,<имя >:<тип>. Для переменных: byte, word, dword, … tbyte Для числовых констант: abs (определяются через директиву присваивания =) Для меток: near,far Для процедур: proc
Все внешние переменные (процедуры) для данного модуля, должны быть определены в каком-то другом модуле в качестве общедоступных с помощью директивы Public <имя>, …,<имя>
Машинный код, языки программирования низкого уровня, язык ассемблера, ассемблер Машинный код – система команд конкретной вычислительной машины (процессора), которая интерпретируется непосредственно процессором. Команда, как правило, представляет собой целое число, которое записывается в регистр процессора. Процессор читает это число и выполняет операцию, которая соответствует этой команде. Язык программирования низкого уровня (низкоуровневый язык программирования) – это язык программирования, максимально приближенный к программированию в машинных кодах. В отличие от машинных кодов, в языке низкого уровня каждой команде соответствует не число, а сокращенное название команды (мнемоника). Язык низкого уровня привязан к конкретному процессору. Язык ассемблера – это низкоуровневый язык программирования, на котором вы пишите свои программы. Для каждого процессора существует свой язык ассемблера. Ассемблер – это специальная программа, которая преобразует (ассемблирует, то есть собирает) исходные тексты вашей программы, написанной на языке ассемблера, в исполняемый файл (файл с расширением EXE или COM).
Debug: ассемблирование и дизассемблирование Debug— Программа-отладчик, которую используют для проверки и отладки выполняемых файлов. Также иногда называют процесс отладки программы. Ассемблирование - процесс трансляции программы с языка ассемблера в машинный код Дизассемблирование- процесс и/или способ получения исходного текста программы на ассемблере из программы в машинных кодах.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (773)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |