Средства и способы программирования

Основные средства разработки программного обеспечения. Встроенная и открытая компьютерная система. Архитектура процессора. Операционная система реального времени. Кросс-система программирования. Разработка, отладка и тестирование программного средства.

Рубрика Программирование, компьютеры и кибернетика
Вид шпаргалка
Язык русский
Дата добавления 11.11.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

1. Что является основным средством разработки ПО?

§ Объектно-ориентированный язык программирования, разработанный компанией, обычно компилируются в специальный байт-код, могут работать на любой машине, вне зависимости от компьютерной архитектуры.

§ Средства разработки ПО

§ ? JDK -- помимо набора библиотек для платформ Java SE и Java EE содержит компилятор командной строки java c и набор утилит, также работающих в режиме командной строки.

§ NetBeans IDE -- свободная интегрированная среда разработки для всех платформ Java -- Java ME, Java SE и Java EE. Пропагандируется Sun Microsystems, разработчиком Java, как базовое средство для разработки ПО на языке Java и других языках (C, C++, PHP, Fortran и др.).

§ Eclipse IDE -- свободная интегрированная среда разработки для Java SE, Java EE и Java MEhttp://ru.wikipedia.org/wiki/Java - cite_note-39. Пропагандируется IBM, одним из важнейших разработчиков корпоративного ПО, как базовое средство для разработки ПО на языке Java и других языках (C, C++, Ruby, Fortran и др.)

§ IntelliJ IDEA -- среда разработки для платформ Java SE, Java EE и Java ME. Разработчик -- компания JetBrains. Распространяется в двух версиях: свободной бесплатной (Community Edition) и коммерческой проприетарной (Ultimate Edition).

§ JDeveloper -- среда разработки для платформ Java SE, Java EE и Java ME. Разработчик -- компания Oracle.

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

2. Встроенная и открытая КС

Встроенная компьютерная система.

Встраиваемая система (встроенная система, англ. embedded system) -- специализированная микропроцессорная система управления, концепция разработки которой заключается в том, что такая система будет работать, будучи встроенной непосредственно в устройство, которым она управляет.

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

Особенности

PC-система: материнская плата ALIX.1C Mini-ITX с процессором AMD Geode LX 800, включая CF-, Mini PCI- и PCI-слоты, 44-контактный IDE-интерфейс, аудио, USB и 256 МБ RAM

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

§ минимальное собственное энергопотребление (возможно автономное питание);

§ минимальные собственные габариты и вес;

§ собственная защита (корпус) минимальна и обеспечивается прочностью и жёсткостью конструкции и применёнными элементами;

§ функции отвода тепла (охлаждения) обеспечивают минимум требований тепловых режимов. Если плотность теплового потока (тепловой поток, проходящий через единицу поверхности) не превышает 0,5 мВт/смІ, перегрев поверхности устройства относительно окружающей среды не превысит 0,5 °C, такая аппаратура считается нетеплонагруженной и не требует специальных схем охлаждения.

§ Микропроцессор и системная логика, а также ключевые микросхемы по возможности совмещены на одном кристалле

§ Специальные военно-космические требования по радиационной и электромагнитной стойкости, работоспособность в вакууме, гарантированное время наработки, срок доступности решения на рынке и т. д.

Основой построения простых встроенных систем часто служат одноплатные (однокристальные) ЭВМ (см.: микроконтроллер), специализированные или универсальные микропроцессоры, ПЛИС. Для построения некоторых видов встроенных систем широко используют микропроцессоры архитектуры ARM.

Широко распространено непосредственное использование или обеспечение значительной степени совместимости с морально устаревшими за долгое время выпуска (десятки лет) устройствами и интерфейсами (например, процессорами семейств Intel 8086, i386,i486, Pentium и их аналогами; шиной ISA и т. п.) из-за низкой стоимости разработки конкретного решения.

Открытая компьютерная система

Понятие «открытая система»

Модель OSI, как это следует из ее названия (Open System Interconnection), описывает взаимосвязи открытых систем. Что же такое открытая система?

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

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

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

Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Еще одним примером частичной открытости является применение в достаточно закрытой операционной системе Novell NetWare открытого интерфейса Open Driver Interface (ODI) для включения в систему драйверов сетевых адаптеров независимых производителей. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

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

Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:

· возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;

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

· возможность легкого сопряжения одной сети с другой;

· простота освоения и обслуживания сети.

Ярким примером открытой системы является международная сеть Internet. Эта сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу сети Internet - Request For Comments (RFC), что можно перевести как «запрос на комментарии», - показывает гласный и открытый характер принимаемых стандартов. В результате сеть Internet сумела объединить в себе самое разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру.

3. Три составляющих понятия - вычислительная платформа

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

Платформа АИТ в зависимости от контекста может определяться как комплекс аппаратных средств и соответствующей операционной системы, либо как только аппаратные средства, реализованные на соответствующем типе процессора.

К платформе АИТ, более расширительно, к наряду с компьютерами и их операционными системами, может быть отнесена также сетевая и периферийная аппаратура совместно с их драйверами и протоколами.

4. Risc и cisc

RISC (англ. Restricted (reduced) instruction set computer -- компьютер с сокращённым набором команд) -- архитектура процессора, в которой быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения -- короче. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками).

Наборы инструкций в более ранних архитектурах для облегчения ручного написания программ на языках ассемблеров или прямо в машинных кодах, а также для упрощения реализации компиляторов, выполняли как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций языков высокого уровня. Другая особенность этих наборов -- большинство инструкций, как правило, допускали все возможные методы адресации (т. н. «ортогональность системы команд (англ.)») -- к примеру, и операнды, и результат в арифметических операциях доступны не только в регистрах, но и через непосредственную адресацию, и прямо в памяти. Позднее такие архитектуры были названы CISC (англ. Complex instruction set computer).

Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.

CISC (англ. Complex instruction set computing, или англ. Complex instruction set computer -- компьютер с комплексным набором команд) -- концепция проектирования процессоров, которая характеризуется следующим набором свойств:

§ нефиксированное значение длины команды;

§ арифметические действия кодируются в одной команде;

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

Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola MC680x0.

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром.

Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

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

Это потребовалось для увеличения скорости обработки CISC-команд, так как известно, что любой CISC-процессор уступает RISC-процессорам по количеству выполняемых операций в секунду. В итоге, такой подход и позволил поднять производительность CPU.

5. Чем характеризуется архитектура процессора?

Архитектура процессора -- количественная составляющая компонентов микроархитектуры вычислительной машины (процессора компьютера) (например, регистр флагов или регистры процессора), рассматриваемая IT-специалистами в аспекте прикладной деятельности.

С точки зрения программиста -- совместимость с определённым набором команд (например, процессоры, совместимые с командами Intel х86), их структуры (например, систем адресации или организации регистровой памяти) и способа исполнения (например, счетчик команд).

С точки зрения аппаратной составляющей вычислительной системы -- это некий набор свойств и качеств, присущий целому семейству процессоров (иначе говоря -- «внутренняя конструкция», «организация» этих процессоров). Имеются различные классификации архитектур процессоров, как по организации (например, по количеству и скорости выполнения команд: RISC, CISC), так и по назначению (например, специализированные графические).

6. Многозадачная и многопользовательская система

Многозадамчность (англ. multitasking) -- свойство операционной системы или среды программирования обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.

Существует 2 типа многозадачности:

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

Поточная многозадачность (основанная на потоках). Наименьший элемент управляемого кода -- поток (одна программа может выполнять 2 и более задачи одновременно).

Многопоточность -- специализированная форма многозадачности.

Свойства многозадачной среды

Примитивные многозадачные среды обеспечивают чистое «разделение ресурсов», когда за каждой задачей закрепляется определённый участок памяти, и задача активизируется в строго определённые интервалы времени.

Более развитые многозадачные системы проводят распределение ресурсов динамически, когда задача стартует в памяти или покидает память в зависимости от её приоритета и от стратегии системы. Такая многозадачная среда обладает следующими особенностями:

§ Каждая задача имеет свой приоритет, в соответствии с которым получает процессорное время и память

§ Система организует очереди задач так, чтобы все задачи получили ресурсы, в зависимости от приоритетов и стратегии системы

§ Система организует обработку прерываний, по которым задачи могут активироваться, деактивироваться и удаляться

§ По окончании положенного кванта времени ядро временно переводит задачу из состояния выполнения в состояние готовности, отдавая ресурсы другим задачам. При нехватке памяти страницы невыполняющихся задач могут быть вытеснены на диск (своппинг), а потом через определённое системой время, восстанавливаться в памяти

§ Система обеспечивает защиту адресного пространства задачи от несанкционированного вмешательства других задач

§ Система обеспечивает защиту адресного пространства своего ядра от несанкционированного вмешательства задач

§ Система распознаёт сбои и зависания отдельных задач и прекращает их

§ Система решает конфликты доступа к ресурсам и устройствам, не допуская тупиковых ситуаций общего зависания от ожидания заблокированных ресурсов

§ Система гарантирует каждой задаче, что рано или поздно она будет активирована

§ Система обрабатывает запросы реального времени

§ Система обеспечивает коммуникацию между процессами

7. Система реального времени

Операционная система реального времени, ОСРВ (англ. Real-Time Operating System) -- тип операционной системы. Есть много определений термина, по сути похожих друг на друга.

Самые распространённые из них:

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

§ Стандарт POSIX 1003.1 даёт определение: «Реальное время в операционных системах -- это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени»

§ Операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий

§ Интерактивные системы постоянной готовности. В категорию ОСРВ их относят, исходя из маркетинговых соображений, и если интерактивную программу называют «работающей в реальном времени», то это лишь означает, что запросы от пользователя обрабатываются с задержкой, незаметной для человека.

8. Драйвер

Драмйвер (англ. driver, мн. ч. драмйверы) -- компьютерная программа, с помощью которой другие программы (обычно операционная система) получают доступ к аппаратному обеспечению некоторого устройства. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для некоторых устройств (таких, как видеокарта илипринтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.

В общем случае драйвер не обязан взаимодействовать с аппаратными устройствами, он может их только имитировать (например, драйвер принтера, который записывает вывод из программ в файл), предоставлять программные сервисы, не связанные с управлением устройствами (например,/dev/zero в Unix, который только выдаёт нулевые байты), либо не делать ничего (например, /dev/null в Unix и NUL в DOS/Windows).

9. ДО с абсолютными и относительными приоритетами.

ДО с абсолютными приоритетами.

§ Абсолютный приоритет, относительный приоритет и метка активизации связаны с объектом при всех его перемещениях в теле процесса.

§ Абсолютный приоритет означает, что при поступлении требования более высокого класса обслуживание требований более низкого класса прерывается.

§ Абсолютный приоритет объекта, выполняющего оператор ЗАХВАТИТЬ, сравнивается с абсолютным приоритетом объекта, занимающего ресурс. Если активный объект имеет более высокий абсолютный приоритет, то обслуживание объекта, занимающего устройство, прерывается, он ставится в очередь на дообслуживание, а активный объект занимает устройство. В противном случае прерывания не происходит, активный объект ставится в очередь на обслуживание и переводится в состояние ожидания.

Общая схема управления компримирующей системой.

§ Абсолютным приоритетом обладают сигналы-запросы, соответствующие первым трем из названных ситуаций.

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

§ Принцип абсолютного приоритета ( absolute priority) - в случае банкротства или реорганизации - правило, которое гласит, что претензии кредиторов каждого класса приоритетности должны удовлетворяться только после полного удовлетворения требований кредиторов более высокого класса.

Организация обработки заявок с абсолютными приоритетами.

§ При использовании абсолютных приоритетов обслуживание заявок организуется по схеме рис. 3.16, где / - заявка, ожидающая обслуживания; 2 - прерванная заявка. Ом, в которой заявки размещаются в порядке поступления.

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

§ ТАС обладает абсолютным приоритетом.

§ Эффект от использования абсолютных приоритетов иллюстрируется рис. 3.17, где ОП - кривая относительного приоритета; АП - кривая абсолютного приоритета. Присваивание заявкам абсолютных приоритетов приводит к уменьшению времени ожидания заявок с высокими приоритетами, но одновременно с этим увеличивается время ожидания низкоприоритетных заявок.

§ Для дисциплины с абсолютными приоритетами необходимо учесть различие затрат времени на ожидание как прерывающих обслуживание, так и прерываемых программ и частость прерываний. Для произвольной заявки fe-ro приоритета суммарное время ее пребывания в ВС из-за затрат на прерывание увеличивается на величину Yk 5 Y k - Первое слагаемое Y k соответствует затратам времени на выполнение операции прерывания обслуживания заявки более низкого приоритета, чем у поступившей заявки. Второе слагаемое Y учитывает увеличение длительности пребывания заявки в ЭВМ из-за того, что ее обслуживание прерывается заявками высших приоритетов.

§ Для дисциплины с абсолютными приоритетами эффективность резко падает при увеличении затрат на переключение программы. Изменения эффективности для дисциплины с относительными приоритетами значительно меньше. При некотором значении 0 0 эффективность обеих приоритетных дисциплин сравнивается, а затем эффективность дисциплины с абсолютными приоритетами становится меньше, чем с относительными приоритетами. Дисциплина с абсолютными приоритетами при 9 0 менее эффективна, чем бесприоритетная.

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

ДО с относительными приоритетами.

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

Ясно, что для систем разделения времени и реального времени такая дисциплина обслуживания не подходит: интерактивное приложение может ждать своей очереди часами, пока вычислительной задаче не потребуется ввод-вывод. А вот в системах пакетной обработки (в том числе известной ОС OS/360) относительные приоритеты используются широко.

10. Инструментальная и вычислительная платформа

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

программных компонентов для решения задач математического моделирования и оптимизации ТСС. Новые методы и алгоритмы, реализованные в виде программных компонентов, становятся частью инструментальной платформы.

В основе инструментальной платформы лежит парадигма разработки ПО, управляемой моделями (Model-Driven Development, MDD). Идея MDD состоит в том, что ПО автоматически строится на основе моделей для4 решения конкретной задачи [4]. Модели, описывающие объекты решаемой задачи и связи между ними, формализуются с помощью специальных языков описания предметных областей. Формирование схемы вычислительного процесса происходит на основе этих моделей, как это показано на рис.1.

Рис. 1 - Схема формирования вычислительного процесса на основе моделей

Модели, на базе которых строится ПО, в рамках инструментальной платформы, формализованы в виде онтологий [5].

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

Инструментальная платформа состоит из следующих компонентов (рис. 2):

Рис. 2 - Структура инструментальной платформы

11. Кросс-система программирования и СП

Кросс-система программирования (Cross-programming system) по ГОСТ 19781-90

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

Кросс-система - система программирования, обеспечивающая подготовку программ в среде, отличной от целевой вычислительной среды. Обычно кросс-системы применяются в тех случаях, когда целевая среда не имеет ресурсов, необходимых для подготовки программ.

12. Транслятор и интерпретатор

Транслямтор -- программа или техническое средство, выполняющее трансляцию программы.

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

Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.

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

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

Виды трансляторов

§ ? Диалоговый. Обеспечивает использование языка программирования в режиме разделения времени (англ.).Синтаксически-ориентированный (синтаксически-управляемый). Получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием.

§ Однопроходной. Формирует объектный модуль за один последовательный просмотр исходной программы.

§ Многопроходной. Формирует объектный модуль за несколько просмотров исходной программы.

§ Оптимизирующий. Выполняет оптимизацию кода в создаваемом объектном модуле.

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

§ Обратный. Для программы в машинном коде выдаёт эквивалентную программу на каком-либо языке программирования (см.: дизассемблер, декомпилятор).

Интерпретамтор -- программа (разновидность транслятора) или аппаратное средство, выполняющее интерпретацию.

Интерпретамция -- пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).

Типы интерпретаторов

Простой интерпретатор анализирует и тут же выполняет (собственно интерпретация) программу покомандно (или построчно), по мере поступления её исходного кода на вход интерпретатора. Достоинством такого подхода является мгновенная реакция. Недостаток -- такой интерпретатор обнаруживает ошибки в тексте программы только при попытке выполнения команды (или строки) с ошибкой.

Интерпретатор компилирующего типа -- это система из компилятора, переводящего исходный код программы в промежуточное представление, например, в байт-код или p-код, и собственно интерпретатора, который выполняет полученный промежуточный код (так называемая виртуальная машина). Достоинством таких систем является большее быстродействие выполнения программ (за счёт выноса анализа исходного кода в отдельный, разовый проход, и минимизации этого анализа в интерпретаторе). Недостатки -- большее требование к ресурсам и требование на корректность исходного кода. Применяется в таких языках, как Java, Tcl, Perl (используется байт-код), REXX (сохраняется результатпарсинга исходного кода), а также в различных СУБД (используется p-код).

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

Некоторые интерпретаторы (например, для языков Лисп, Scheme, Python, Бейсик и других) могут работать в режиме диалога или так называемого цикла чтения-вычисления-печати (англ. read-eval-print loop, REPL). В таком режиме интерпретатор считывает законченную конструкцию языка (например, s-expression в языке Лисп), выполняет её, печатает результаты, после чего переходит к ожиданию ввода пользователем следующей конструкции.

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

Следует также отметить, что режимы интерпретации можно найти не только в программном, но и аппаратном обеспечении. Так, многие микропроцессоры интерпретируют машинный код с помощью встроенных микропрограмм, а процессоры семейства x86, начиная с Pentium (например, на архитектуре Intel P6), во время исполнения машинного кода предварительно транслируют его во внутренний формат (в последовательность микроопераций).

1. Алгоритм работы простого интерпретатора

2. 1. прочитать инструкцию;

3. проанализировать инструкцию и определить соответствующие действия;

4. выполнить соответствующие действия;

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

13. Объектный и абсолютный модуль.

Объектный модуль составляется компилятором в кодах команд машины.

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

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

Объектный модуль обрабатывается редактором связей. Редактор связи осуществляет стыковку программных блоков.

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

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

Объектный модуль обрабатывается редактором связей. Редактор связей осуществляет стыковку программных блоков.

Объектный модуль - программа, составленная компилятором в кодах команд машины.

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

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

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

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

Объектные модули проходят еще один этап - этап редактирования, на котором они обрабатываются программой РЕДАКТОР. После редактирования получаются программные фазы, готовые к выполнению. Программная фаза (абсолютный модуль) - это программный объект, не подлежащий дроблению при вызове в основную память для выполнения.

Объектный модуль может рассматриваться РЕДАКТОРОМ либо как неделимая единица обработки, либо как совокупность более мелких частей, называемых программными секциями. Программные секции, входящие в один объектный модуль, обрабатываются РЕДАКТОРОМ независимо друг от друга и могут быть помещены в различные программные фазы. Разделение объектного модуля на программные секции осуществляет программист на исходном языке, и он же указывает РЕДАКТОРУ, в какую программную фазу должна быть включена та или иная программная секция. Например, из объектного модуля, который состоит из трех программных секций С 1, С 2, С 3, можно построить программу, состоящую из двух фаз А и В В фазу А могут быть включены С 1 и С 3, а программная секция С 2 этого же модуля может образовывать фазу В.

Объектные модули могут быть записаны на SYSLNK трансляторами непосредственно после получения их в результате трансляции, либо программой УПРАВЛЕНИЕ ЗАДАНИЯМИ, которая переписывает их на SYSLNK. Управляющие операторы для РЕДАКТОРА помещаются на SYSLNK программой УПРАВЛЕНИЕ ЗАДАНИЯМИ.

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

Объектный модуль -- это некоторый промежуточный вид записи программы.

В объектном модуле специфика исходного языка программирования теряется, однако это еще не рабочая (машинная) программа.

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

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

Все модули, как правило, хранятся в соответствующей библиотеке -- библиотеке исходных модулей, библиотеке объектных модулей или библиотеке абсолютных модулей.

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

В операционной системе могут существовать как системные, так и личные (принадлежащие конкретным абонентам) библиотеки объектных и исходных модулей.

Результатом работы трансляторов являются объектные модули.

Объектные модули объединяются сервисной программой РЕДАКТОР для получения программ, готовых к загрузке в оперативную память.

На первом этапе производится трансляция на Автокод, затем трансляция с Автокода, в результате которой выдается окончательный результат трансляции в виде программного модуля на языке загрузки.

Трансляторы с базисного Фортрана ДОС и Фортрана IV ДОС переводят программу на исходном языке в объектный модуль, который представляет собой программный модуль в промежуточном формате, общем для всех трансляторов операционной системы.

Объектный модуль может содержать символические адреса, не определенные во время трансляции, а также некоторую другую информацию, поэтому до непосредственного выполнения на машине объектный модуль проходит обработку программой РЕДАКТОР,

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

В соответствующих библиотеках могут храниться все программы на любой стадии подготовки (исходный модуль, объектный модуль, абсолютный модуль).

Библиотека абсолютных модулей обязательна для функционирования операционной системы ДОС ЕС.

Библиотеки базисного Фортрана ДОС и Фортрана IV ДОС являются частью библиотеки объектных модулей и включают программы вычисления различных математических функций, организации ввода и вывода и программы выполнения ряда служебных (системных) действий.

Правилами языка Фортран ЕС запрещается: -- использовать символ $ (или <>) в качестве разделителя между операторами в пределах одной строки; на ЕС ЭВМ символ $ является буквой [Т]; -- использовать оператор PROGRAM для указания начала основной программы [Т]; -- использовать операторы ENCODE и DECODE [Т]; -- использовать восьмеричные константы; вместо них можно использовать шестнадцатеричные константы [Т]; -- указывать целые константы, превосходящие по модулю 2'»' -- lsi2X10'J [Т]; на БЭСМ-6 аналогичный предел равен 210-- 1и1Х 1012; -- указывать константы двойной точности, превосходящие по модулю 166Й«7Х10'4 [Т]; на БЭСМ-6 такой предел равен приблизительно IX 101000; -- использовать текстовые константы, состоящие более чем из четырех символов [ТС*]; -- использовать идентификаторы, содержащие буквы русского алфавита или состоящие более чем из шести символов [Т]; -- указывать текстовые константы в операторах присваивания и в логическом операторе IF fT]; -- использовать элементы массивов без индексов или с меньшим числом индексов, чем указано в описании соответствующих массивов; исключения допускаются только в операторах EQUIVALENCE и DATA, а также в фактических параметрах при вызове подпрограмм [TCP]; -- использовать одинаковые метки у исполняемых операторов и у операторов FORMAT в пределах одной программной единицы [Т]; на БЭСМ-6 в одной и той же подпрограмме допускаются, например, операторы

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

Стандартные функции 53--55 содержат всегда по два аргумента и осуществляют деление первого аргумента по модулю второго аргумента, т.

Метод логических устройств 306 Микропроцессор 13 Модуль абсолютный 306 -- исходный 306 -- объектный 306 Монитор 35, 36 Мультипрограммирование 12

Целое число нестандартной длины содержит 2 байта, модуль его находится в пределах от 0 до 216--1.

14. Линкер, компоновщик и редактор связей

Компоновщик (также редамктор свямзей, линкер -- от англ. link editor, linker) -- программа, которая производит компоновку: принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль.

Для связывания модулей компоновщик использует таблицы имён, созданные компилятором в каждом из объектных модулей. Такие имена могут быть двух типов:

§ Определённые или экспортируемые имена -- функции и переменные, определённые в данном модуле и предоставляемые для использования другим модулям;

§ Неопределённые или импортируемые имена -- функции и переменные, на которые ссылается модуль, но не определяет их внутри себя.

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

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

15. Диалоговый, интерактивный пакетный отладчик

Опыт разработки и отладки программ в системе УВП показал необходимость создания специальных средств отладки программ, использующих управляемую виртуальную память. Существующие на ЭВМ БЭСМ-6 средства отладки оказались не очень подходящими для задач, решаемых с помощью системы УВП прежде всего потому, что не обеспечивали отладку в терминах понятий УВП.

Создавая средства отладки, следует учесть опыт, накопленный в этой области за последние годы. В настоящее время существует большое число методов и приемов отладки. Задача, однако, состояла в том, чтобы выделить те из них, быть может, дополнив и развив, которые соответствовали бы классу задач, решаемых с помощью метода УВП.

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

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

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

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

Важная особенность вычислительных задач состоит в том, что в ходе отладки часто возникает необходимость выводить на печать в некоторых точках программы информационные массивы, промежуточные значения переменных. Объем выводимой информации может быть достаточно большим и может требовать при распечатке десятки метров бумаги АЦПУ. Повторные запуски задачи на счет с выводом отладочной информации, которые неизбежны при отладке, вызывают перерасход бумаги. Но основное неудобство такого способа отладки заключается в том, что анализ результатов отладки, требующий просмотра многочисленных объемных выдач, становится весьма трудоемким делом.

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

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

- обеспечивать выдачу системной распечатки в случае возникновения в задаче аварийной ситуации,

- предоставлять средства ведения отладки в диалоговом режиме,

- предоставлять возможность отладки программ в пакетном режиме ,

- располагать архивом результатов отладки и средствами анализа накопленной в архиве информации.

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

Таким образом, цель настоящей работы состоит в том, чтобы

- развить идеологию метода управляемой виртуальной памяти на случай многоуровневой организации виртуальной памяти,

- разработать средства отладки, отвечающие классу задач, решаемых с помощью метода УВП.

В соответствии с поставленной целью были разработаны система трехуровневой управляемой виртуальной памяти УВП-3 и система отладки, концепции и вопросы реализации которых составляют основное содержание настоящей работы.

16. Удалённый и резидентный отладчики

Удалённый отладчик Монитор удаленной отладки (msvsmon.exe) представляет собой небольшое приложение, к которому Visual Studio подключается для выполнения удаленной отладки. Во время удаленной отладки Visual Studio выполняется на одном компьютере (узле отладчика) и запусках Монитор удаленной отладки на удаленном компьютере вместе с приложениями, что выполняется отладка.

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

Термины «монитор» и «отладчик» взаимозаменяемы, они используются для описания одной и той же части программного обеспечения. Монитор -- это программа, которая предназначена для контроля за выполнением программы, а также для модификации содержимого памяти или регистров с целью изменения работы программы.

* Монитор реализует следующие типичные функции.

* Загрузка программы.

* Выполнение программы.

* Остановка в контрольных точках.

* Пошаговое выполнение.

* Модификация программы

* Чтение/запись памяти/регистров.

Если Вы работали с резидентным отладчиком (например, отладчик для MS-DOS), то, вероятно, знакомы со многими из этих функций. Если Вы не знакомы с ними, то возьмите старую версиюMS-DOS и посмотрите программу «debug». Еще лучше обратиться к главе «Примеры применения микроконтроллера 8051» и посмотреть, как используется интегрированная графическая средаUMPS.

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

...

Подобные документы

  • Требования к информационной системе интернет-магазина на базе "1С:Предприятие 8". Выбор средства для разработки. Реализация и тестирование программного средства. Редактирование базы данных. Оценка функционального качества программного средства.

    курсовая работа [1,7 M], добавлен 07.09.2012

  • Особенности визуальной среды программирования Microsoft Visual Studio 2015 Enterprise. Средства объектно-ориентированного программирования. Этапы проектирования программного комплекса. Отладка и тестирование программы игры "Виселица".

    курсовая работа [2,4 M], добавлен 31.01.2016

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

    отчет по практике [203,8 K], добавлен 12.04.2015

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

    реферат [87,7 K], добавлен 07.03.2009

  • Характеристика устройств реального времени: принципы их создания, виды, практическое применение к операционным системам для персональных компьютеров. Основные свойства системы LynxOS, поддержка приложений, сетевые возможности. Средства кросс-разработки.

    реферат [33,1 K], добавлен 02.12.2013

  • Архитектура программного продукта и требования к платформе, обоснование выбора разработки. Закономерности и основные этапы алгоритмизации и программирования, а также отладка и тестирование продукта. Разработка и содержание руководства пользователя.

    дипломная работа [2,3 M], добавлен 19.01.2017

  • Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.

    курсовая работа [36,9 K], добавлен 21.07.2012

  • Описание существующих информационных систем в данной сфере. Система управления "Fidelio". Выбор средства для разработки. Тестирование программного средства, оценка его функционального качества. Описание выявленных недостатков разработанной программы.

    курсовая работа [856,6 K], добавлен 24.09.2014

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.

    курсовая работа [501,4 K], добавлен 07.12.2016

  • Проект системы автоматизированного аудита программного обеспечения вычислительного центра ЛГТУ; функциональное назначение, методы и средства разработки концептуальных статических и динамических моделей пользовательского интерфейса; технические средства.

    курсовая работа [4,2 M], добавлен 04.01.2012

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

    курсовая работа [974,0 K], добавлен 21.12.2016

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Порядок разработки пользовательской документации. Руководство по инсталляции программного средства. Справочник по применению программного средства. Печать с помощью функций файлового ввода/вывода. Печать текстов в обогащенном формате методом Print.

    курсовая работа [78,3 K], добавлен 05.02.2016

  • Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.

    курсовая работа [1,3 M], добавлен 29.12.2014

  • Выбор, обоснование и особенности языка программирования. Вербальное и графическое описание функционального назначения системы. Разработка диаграммы классов, описывающей логическую модель системы. Проектирование физической структуры программного средства.

    курсовая работа [2,4 M], добавлен 26.05.2014

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

    курсовая работа [2,8 M], добавлен 08.07.2012

  • Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.

    дипломная работа [1,4 M], добавлен 13.07.2011

  • Разработка информационно-справочной системы на тему "Наука и техника. Средства передвижения". Характеристика программного продукта. Анализ существующих аналогов. Выбор языка программирования Turbo Pascal версии 7.0. Метод и алгоритм решения задачи.

    курсовая работа [262,5 K], добавлен 29.01.2009

  • Эффективные средства разработки программного обеспечения. Технология визуального проектирования и событийного программирования. Конструирование диалоговых окон и функций обработки событий. Словесный алгоритм и процедуры программы Borland Delphi 7 Studio.

    дипломная работа [660,2 K], добавлен 21.05.2012

  • Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.

    контрольная работа [2,5 M], добавлен 17.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.