Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Технологии программирования

Читайте также:
  1. Internet-технологии в бизнесе
  2. OLAP-технологии
  3. VII. Педагогические технологии на основе дидактического усовершенствования и реконструирования материала
  4. XI. Технологии развивающего обучения
  5. Адреса, протоколы и технологии Internet.
  6. Анализ возможностей информационной технологии «Текстовый редактор» в аспекте развития письменной речи и коррекции ее недостатков у школьников с нарушенным слухом
  7. Аналоги технологии индивидуализации

К настоящему времени наиболее популярными и жизнеспособными оказались 2 технологии программирования: структурное программирование, объектно-ориентированное программирование.

Функциональное программирование – почитать.

Последние версии языка ассемблера поддерживают объектно-ориентированное программирование.

Типичному процессу написания программы на ассемблере более всего удовлетворяет концепции структурного программирования. Для микропроцессора intel эти концепции поддерживаются на аппаратном уровне с помощью сегментации памяти и команд передачи управления.

Структурное программирование – это методология программирования базирующиеся на системном подходе к анализу проектированию и реализации ПО. Основой этой технологии составляет следующие положения:

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

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

3. Разработка программы должна вестись поэтапно. На каждом этапе должно решатся ограниченное число чётко поставленных задач с ясным пониманием их значения и роли в контексте всей задачи. Если такое понимание не достигается, то это говорит о том, что этап слишком велик и его нужно разделить на более элементарные шаги.

Модульное программирование является частью общего структурного подхода.

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

1. Функциональная декомпозиция задачи – разбиение большой задачи на ряд более мелких функционально связанных между собой модулей. Модули связанны между собой входными и выходными данными.

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

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

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

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

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

Применительно к ассемблеру рассматривают несколько форм организаций управляющих связей:

1. С использованием механизма макро-подстановок, позволяющего изменять исходный текст программы в соответствии с некоторыми предварительно описанными параметризованными объектами. Эти объекты имеют формальный аргумент, что позволяет производить их замещение фактическими аргументами в процессе макрогенерации.

2. Использование механизма подпрограмм (процедур), написанных на ассемблере и структурно входящих в одну программу. В отличие от макро –команд взаимодействие процедур осуществляется на этапе выполнения программы.

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

4. Использование механизма динамического вызова исполняемых модулей и подключение их к windows.

Основные информационные связи

1. Использование общих областей памяти и общих аппаратно-программных ресурсов процессора для связи модулей

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

3. Унифицированная передача аргумента при возврате управления из модуля.


Дата добавления: 2015-11-26; просмотров: 37 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)