Мегаобучалка Главная | О нас | Обратная связь


Концепция модульного программирования



2015-12-07 732 Обсуждений (0)
Концепция модульного программирования 0.00 из 5.00 0 оценок




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-12-07 732 Обсуждений (0)
Концепция модульного программирования 0.00 из 5.00 0 оценок









Обсуждение в статье: Концепция модульного программирования

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (732)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)