Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Интегрированные среды разработки программ (Интегрированные среды разработки программ)

Содержание:

Введение

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

Наиболее широкое распространение головоломки получили на рубеже XIX и XX веков. Благодаря деятельности американца Сэма Лойда и англичанина Генри Дьюдени головоломки проникли во многие периодические издания, стали популярны среди широких слоев населения. Лойд считается автором популярнейшей во всем мире головоломки «Пятнашки». Игра была настолько популярной, что некоторые работодатели вынуждены были издать приказ о запрете приносить её на работу.

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

Данная головоломка стимулирует и развивает работу мозга, а также логическое мышление и способности к математическим вычислениям.

Курсовой проект был разработан в среде Delphi7 с базовым языком программирования ObjectPascal. Среди множества языков Pascal является наиболее универсальным и легко изучаемым языком. При этом его удобно использовать для создания сложных приложений, баз данных, приложений масштаба предприятия.

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

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

Задачи, которые нужно решить, для выполнения курсовой работы:

- Определиться с функционалом программы;

- Выбрать объекты, подходящие по назначению, для выполнения функционала программы из палитры компонентов Delphi;

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

Глава 1. Теоретические основы интегрированной среды разработки программы

1.1 Магический квадрат Дюрера

Дюрер составил так называемый магический квадрат, изображённый на одной из самых совершенных его гравюр - «Меланхолии». Заслуга Дюрера заключается в том, что он сумел так расположить чимсла от 1 до 16, что сумма 34 получается не только при их сложении по вертикали, горизонтали и диагонали, но и во всех четырёх четвертях, в центральном четырёхугольнике и даже при сложении чисел из четырёх угловых клеток. Сумма любой пары симметрично расположенных относительно центра квадрата чисел равна 17. Дюрер нашел место в таблице и для года создания гравюры «Меланхолия» (1514).

«Магический квадрат» Дюрера остаётся сложной загадкой. Если рассматривать средние квадраты первой вертикали, бросается в глаза, что в них внесены изменения -- цифры исправлены: 6 исправлена на 5, а 9 получена из 5. Несомненно, Дюрер не случайно обогатил свой «магический квадрат» такими деталями, которые нельзя не заметить. «Магический квадрат (волшебный квадрат)»,

Амльбрехт Дюмрер (нем. AlbrechtDьrer, 21 мая 1471, Нюрнберг -- 6 апреля 1528, Нюрнберг) -- немецкий живописец и график, признан крупнейшим европейским мастером ксилографии, поднявшим её на уровень настоящего искусства. Один из величайших мастеров западноевропейского Ренессанса. Первый теоретик искусства среди североевропейских художников, автор практического руководства для художников на немецком языке. Основоположник сравнительной антропометрии. Первый из европейских художников, написавший автобиографию. «Магический квадрат (волшебный квадрат)».

1.2 Среда программирования Delphi

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7. 0, Borland C++ 4. 0, Word for Windows, Program Manager — этовсе MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) — определяет особый способ управления нескольких дочерних окон внутри одного большого окна.

Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

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

Главные составные части среды программирования

Ниже перечислены основные составные части Delphi:

1. Дизайнер Форм (Form Designer)

2. Окно Редактора Исходного Текста (Editor Window)

3. Палитра Компонент (Component Palette)

4. Инспектор Объектов (Object Inspector)

5. Справочник (On-linehelp)

Есть, конечно, и другие важные составляющие Delphi, вроде линейки инструментов, системного меню и многие другие, нужные Вам для точной настройки программы и среды программирования.В. В. Фаронов, учебникдля ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

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

Дизайнер Форм в Delphi столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент.

Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время является Редактор. Логика является движущей силой программы и Редактор — то место, где Вы ее «кодируете».

Палитра Компонент, в соответствии с рисунком 4, позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз — на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши. «Среда программирования Delphi».

Палитра Компонентов использует постраничную группировку объектов. Внизу Палитры находится набор закладок — Standard, Additional, Dialogs и т. д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе. (На странице Additional есть компоненты для организации страниц с закладками сверху и снизу).

Предположим, Вы помещаете компонент TEdit на форму; Вы можете двигать его с места на место. Вы также можете использовать границу, прорисованную вокруг объекта для изменения его размеров. Большинством других компонент можно манипулировать тем же образом. Однако, невидимые во время выполнения программы компоненты (типа TMenu или TData Base) не меняют своей формы.

Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница — это список свойств, вторая — список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel изменяя свойства Caption, Left, Top, Height, и Width. «Среда программирования Delphi»,[URL: http: //citforum. ru/programming/32less/les11. shtml], (дата обращения: 13. 12. 2014)

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

Инспектор Объектов позволяет определять свойства и поведение объектов, помещенных на форму. Страница событий связана с Редактором; если Вы дважды щелкнете мышкой на правую сторону какого-нибудь пункта, то соответствующий данному событию код автоматически запишется в Редактор, сам Редактор немедленно получит фокус, и Вы сразу же имеете возможность добавить код обработчика данного события. Данный аспект среды программирования Delphi будет еще обсуждаться позднее.

Последняя важная часть среды Delphi — Справочник (on-linehelp). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Contents. Справочник является контекстно-зависимым; при нажатии клавиши F1, Вы получите подсказку, соответствующую текущей ситуации. Например, находясь в Инспекторе Объектов, выберите какое-нибудь свойство и нажмите F1 — Вы получите справку о назначении данного свойства. Если в любой момент работы в среде Delphi возникает неясность или затруднение — жмите F1 и необходимая информация появится на экране. «Среда программирования Delphi».

Стандартные компоненты

Для дальнейшего знакомства со средой программирования Delphi потребуется рассказать о составе первой страницы Палитры Компонент.В. В. Фаронов, учебникдля ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

На первой странице Палитры Компонент размещены 14 объектов, определенно важных для использования. Мало кто обойдется длительное время без кнопок, списков, окон ввода и т. д. Все эти объекты такая же часть Windows, как мышь или окно.

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

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

TMainMenu позволяет Вам поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют «невидимыми компонентом», поскольку они невидимы во время выполнения программы. Создание меню включает три шага: (1) помещение TMainMenu на форму, (2) вызов Дизайнера Меню через свойство Items в Инспекторе Объектов, (3) определение пунктов меню в Дизайнере Меню.

TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши.

TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.В. В. Фаронов, учебникдля ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

TEdit — стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.

TMemo — иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в Clipboard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10−20 страниц. (Есть VBX и «родные» компоненты Delphi, где этот предел снят).

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

procedure TForm1. Button1Click (Sender: TObject);

begin

MessageDlg ('Are you there?', mtConfirmation, mbYesNoCancel, 0);

end;

TCheckBox отображает строку текста с маленьким окошком рядом. В окошке можно поставить отметку, которая означает, что что-то выбрано. Например, если посмотреть окно диалога настроек компилятора (пункт меню Options | Project, страница Compiler), то можно увидеть, что оно состоит преимущественно из CheckBox’ов.

TRadioButton позволяет выбрать только одну опцию из нескольких. Если Вы опять откроете диалог Options | Project и выберете страницу LinkerOptions, то Вы можете видеть, что секции Mapfile и Linkbufferfile состоят из наборов RadioButton.В. В. Фаронов, учебникдля ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

TListBox нужен для показа прокручиваемого списка. Классический пример ListBox’а в среде Windows — выбор файла из списка в пункте меню File | Open многих приложений. Названия файлов или директорий и находятся в ListBox’е.

TComboBox во многом напоминает ListBox, за исключением того, что позволяет водить информацию в маленьком поле ввода сверху ListBox. Есть несколько типов ComboBox, но наиболее популярен выпадающий вниз (drop-downcombobox), который можно видеть внизу окна диалога выбора файла.

TScrollbar — полоса прокрутки, появляется автоматически в объектах редактирования, ListBox’ах при необходимости прокрутки текста для просмотра.

TGroupBox используется для визуальных целей и для указания Windows, каков порядок перемещения по компонентам на форме (при нажатии клавиши TAB).

TPanel — управляющий элемент, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него.

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

Это полный список объектов на первой странице Палитры Компонентов. Если Вам нужна дополнительная информация, товыберите на Палитреобъект и нажмите клавишу F1 — появится Справочник с полным описанием данного объекта.В. В. Фаронов, учебникдля ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

Сохранение программы

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

После создания поддиректории для хранения Вашей программы нужно выбрать пункт меню File | SaveProject. Сохранить нужно будет два файла. Первый — модуль (unit), над которым Вы работали, второй — главный файл проекта, который «владеет» Вашей программой. Сохраните модуль под именем MAIN. PAS и проект под именем TIPS1. DPR. (Любой файл с расширением PAS и словом «unit» в начале является модулем.)В.В. Фаронов, учебник для ВУЗОВ «Delphi», (дата обращения: 13. 12. 2014)

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

Для выполнения программы будут использованы компоненты Delphi, такие как «MainMenu», «Button», «StringGrid»,"Edit","Label".

1.3 Интегрированные среды разработки программ

Интегрированная среда разработки, ИСР (англ. IDE, Integrated Development Environment или Integrated Debugging Environment) — система программных средств, используемая программистами для разработки программного обеспечения (ПО).

Обычно среда разработки включает в себя:

  • текстовый редактор;
  • компилятор и / или интерпретатор;
  • средства автоматизации сборки;
  • отладчик.

Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования — такие, как Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования - как, например, Visual Basic, PureBasic, Delphi, Dev-C++.

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

Однако, так как IDE является сложным программным комплексом, то лишь после долгого процесса обучения среда разработки сможет качественно ускорить процесс разработки ПО. Обычно IDE ориентирована на определенный язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования. Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo, последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode.

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

Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках. В то время как большинство современных IDE являются графическими, они использовались еще до того, как появились системы управления окнами (которые реализованы в Microsoft Windows или X11 для *nix-систем). Они были основаны на тексте, используя функциональные клавиши или горячие клавиши, чтобы выполнить различные задачи (например, Turbo Pascal). Использование IDE для разработки программного обеспечения является прямой противоположностью способа, в котором используются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор), и т.п.

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

В дальнейшем эти пометки могут выделяться редакторами (напр. vim, emacs, встроенный редактор Visual Studio) или использоваться для организации совместной работы с построением тегов и задач (например, в IntelliJ). Использование комментариев с TODO так же является стандартом оформления кода на Object Pascal, Delphi.

Microsoft в руководстве по Visual Studio рекомендует использовать тег TODO (наравне с HACK, UNDONE) для следующих пометок:

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

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

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

Исходный текст набирается при помощи какого-либо текстового редактора.

По завершении набора, работа с текстовым редактором прекращается и запускается кросс компилятор.

Как правило, вновь написанная программа содержит синтаксические ошибки, и компилятор сообщает о них на консоль оператора.

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

Интегрированные среды (оболочки) разработки (Integrated Development Environment, IDE) позволяют избежать большого объема однообразных действий и тем самым существенно повысить эффективность процесса разработки и отладки позволяют, то есть они являются RAD-средами различной степени автоматизации процесса программирования.

Работа в интегрированной среде дает программисту:

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

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

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

Минимум перекомпиляции. Ей подвергаются только редактировавшиеся модули;

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

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

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

Глава 2. Алгоритм создания программы

2.1 Интегрированная среда на базе Eclipse

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

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

Среда Luminosity основана на популярной платформе Eclipse и является полнофункциональной интегрированной средой разработки на базе Java для всех платформ кросс-разработки LynuxWorks с целевыми операционными системами, такими как BlueCat® Linux®, LynxOS®, LynxOS-178, LynxOS-SE и LynxSecure.

Ключевые особенности интегрированной среды (IDE) Luminosity:

  1. Построена на базе инструментальной среды Eclipse CDT (C и C++ Development Tools).
  2. Позволяет пользователю легко переключаться между различными возможностями:

– построением кода на языке C/C++; 

– отладкой; 

– работой с целевой системой; 

– анализом (представлением) процесса; 

– профилированием; 

– удаленным просмотром файлов.

  1. Имеет развитые средства отладки операционной системы: 

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

– встроенные интегрированные средства просмотра содержимого ядра: очередей, мьютексов и семафоров; 

– отладка приложений с порожденными (fork) процессам (родительскими и дочерними).

  1. Поддерживает отладку как отдельных процессоров, так и разделов: 
    – позволяет присоединяться к нескольким целевым системам, причем индивидуально конфигурировать метод и параметры связи; 
    – позволяет присоединяться к различным разделам и отлаживать безопасные или секретные приложения.
  2. Включает средства анализа межпроцессной информации и инструмент трассировки SpyKer, что позволяет получать детальную информацию системного уровня.
  3. Имеет открытые коммуникационные интерфейсы с целевой системой.
  4. Имеет уникальную программу проверки дополнительных средств расширения.

Eclipse де-факто открытая платформа

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

2.2 Поддержка открытых стандартов в Luminosity

Среда Luminosity обеспечивает быстрый и легкий способ создания, редактирования, сборки, управления, отладки и профилирования встраиваемых приложений реального времени на языке C/C++, а также включает инструменты для эффективного построения и отладки загружаемых образов ядра конфигурируемых операционных систем LynuxWorks. Luminosity объединяет лучшее, что есть в инструментальных средствах в различных операционных системах LynuxWorks на базе открытых стандартов, и выводит эти средства на более удобный для пользователя интерактивный стиль общения.

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

Представлением в Eclipse является некая рабочая панель. Все рабочее пространство Eclipse состоит из нескольких представлений. Примером может служить навигационное или схематическое представление (navigator или outline views). Набор таких представлений называется перспективой. Одна из наиболее распространённых перспектив – ресурсы (Resource) – представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

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

CDT является расширением (плагином) платформы Eclipse. Система плагинов, с помощью которых реализуется практически вся функциональность Eclipse, позволяет этой платформе быть крайне гибкой и масштабируемой. CDT является одним из популярнейших расширений Eclipse, причем не только среди разработчиков Linux, – более половины разработчиков используют CDT для разработок Windows-приложений.

В составе проекта CDT идут подкомпоненты, отвечающие за возможности пакета. Базовую функциональность обеспечивает компонент CDT. Компонент CDT Debug UI предоставляет пользовательский интерфейс для отладчика. CDT UI – возможности интерфейса пользователя, программы просмотра и редактирования, набор мастеров. Редакторы CDT имеют возможности по подсветке синтаксиса и помощника по коду (code assist, автоматическое дописывание кода в соответствии с шаблонами), которые могут настраиваться индивидуально под требования разработчика и делают проект CDT еще более популярным. И это далеко не полный перечень компонентов проекта CDT.

Перспективы Eclipse

Перспектива построения C/C++ объединяет открытый проект CDT, инструменты компиляции GNU и развитую среду разработки образов операционных систем LynuxWorks и встраиваемых приложений, которые будут работать в среде OC.

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

2.3 Управление проектом под руководством помощников

В Luminosity при создании проектов пользователю неоценимую помощь могут оказать легкие в использовании помощники (wizard).

Разработчик может использовать помощника нового проекта (New Project Wizard) для легкого и быстрого создания структуры кода нового проекта (C, C++), а затем использовать кросс-процессный viewer в перспективе сборки (Build Perspective), чтобы наблюдать за активностью всего процесса и за работой потоков на целевой системе.

В Luminosity опции проекта LynuxWorks C/C++ позволяют пользователям напрямую редактировать и управлять своими make-файлами. Luminosity будет управлять make-файлами автоматически, если выбрана опция Managed Make C/C++. Разработчики могут использовать помощника ядра (Kernel Wizard) в Luminosity для проектов C, которые собирают ядро LynxOS-SE, или помощника драйвера (Driver Wizard), чтобы создать скелет проекта драйвера, который будет служить отправной точкой при разработке драйвера устройства.

Рис. 1. Помощник создания проекта

Рис. 1. Помощник создания проекта

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

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

Luminosity также добавляет дополнительные представления в перспективе отладки для операционных систем LynuxWorks. Эти расширенные представления отображают информацию о состоянии операционной системы и ее коммуникационных механизмов, таких как очереди сообщений, семафоры, условные переменные и мьютексы. Отладчик также обеспечивает представления для множества потоков и данные о динамически присоединенных к системе процессах. Для операционных систем с временным и пространственным изолированием разделов, таких как LynxOS-178, доступна дополнительная информация об этих разделах, которая облегчает отладку приложений, работающих в различных разделах.

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

Рис. 2. Архитектура Luminosity

Рис. 2. Архитектура Luminosity

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

Рис. 3. Перспектива построения C/C++ в Luminosity вместе с конфигурированием ядра

Рис. 3. Перспектива построения C/C++ в Luminosity вместе с конфигурированием ядра

Рис. 4. Перспектива отладки Luminosity вместе с межпроцессным представлением

Рис. 4. Перспектива отладки Luminosity вместе с межпроцессным представлением

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

Например:

  • Разработчики могут отслеживать обширный диапазон событий, включая запросы системы, прерывания, переключения контекста, исключения процессора и много других системных событий.
  • Точки трассировки могут быть вставлены статически и динамически в запросы к разделенным библиотекам, позволяя пользователям визуализировать процедуры работы библиотеки с помощью знакомых им названий.
  • SpyKer может также захватывать события «вручную» (для так называемых событий пользователя), что позволяет настраивать SpyKer для специфической задачи отладки. Cобытия пользователя могут быть добавлены и в ядре, и в разделяемых прикладных уровнях.

http://www.rtsoft.ru/press/img/Luminosity-5.jpg

Рисунок 5

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

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

Luminosity предлагает разработчикам встраиваемых систем и партнерам LynuxWorks открытый коммуникационный интерфейс LOCI (Open Communications Interface), который дает возможность легко связать инструменты разработки на хосте с резидентными агентами отладки и анализа целевых систем. Открытый интерфейс, наряду с модулями расширения Eclipse, дает возможность новым инструментам быть интегрированными в Luminosity, что в результате позволяет им взаимодействовать, управлять, отлаживать или выполнять приложения и ядра на встраиваемой целевой системе.

Преимущества открытого коммуникационного интерфейса:

  • Полнофункциональные сервисы и сессии, легкодоступные для инструментов и приложений на хост-платформе.
  • Упрощенное портирование инструментов для хост-платформ с изоляцией различия операционных систем для целевого сервера и целевых агентов.
  • Абстракция операционной системы.
  • Собственные структуры данных операционной системы скрыты за коммуникационным интерфейсом.
  • Более легкое для партнеров портирование инструментов в семейство операционных систем LynuxWorks.
  • Абстрагирует коммуникационные каналы для поддержки соединений по TCP/IP, последовательному или JTAG-интерфейсу.

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

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

Программа проверки модулей расширений Luminosity была создана для проверки других инструментов как из мира open source, так и от коммерческих поставщиков на корректность работы в среде Luminosity. Инструменты: редакторы, компиляторы, средства проектирования высокого уровня, менеджеры исходного текста и инструменты тестирования и анализа – в общем случае доступны как программные расширения Eclipse.

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

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

2.4 Компоненты и алгоритмы создаваемой программы

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

Настройка Form1(основное окно программы): ObjectInspector — Properties — Caption: «Магический квадрат».

MainMenu — главное меню программы. Компонент способен создавать и обслуживать сложные иерархические меню.

Настройка MainMenu1: ObjectTreeView — MainMenu1 — Form1. MainMenu1 — «Новая игра», «Об игре»,"Выход"

Form1. MainMenu1 — Новаяигра:

/

Form1. MainMenu1 — Обигре:

/

Form1. MainMenu1 — Выход:

/

StringGrid — компонент для отображения различных данных в табличной форме. Как следует из названия, ячейки компонента StringGridDelphi могут содержать данные, имеющие тип String, а также отображать графику.

Настройка StringGrid1:

ѕ Object Inspector — Properties — DefaultRowHeight: 24;

ѕ Object Inspector — Properties — Options — goEditing: True.

Edit — это однострочное текстовое поле, служащее для ввода данных пользователем.

Настройка Edit1: Object Inspector — Properties — очиститьстроку Text.

Label — это компонентпредназначенный для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы.

Настройка Label1: Object Inspector — Properties — Caption: «Ввестиразмерквадрата:».

Button — это простая командная кнопка, которая используется для реализации в программе команд с помощью обработчика события OnClick этого компонента.

Настройка Button1: Object Inspector — Properties — Caption: «Создать».

Form1 — Button1:

/

НастройкаButton2: Object Inspector — Properties — Caption: «Проверить».

Form1 — Button2:

/

НастройкаForm2(окносинформациейопрограмме): ObjectInspector — Properties — Caption: «Обигре».

Label1: Object Inspector — Properties — Caption: ««(информацияобигреиеёсоздателе).

Button1: Object Inspector — Properties — Caption: «Закрыть».

Form2 — Button1:

/

Создание программы описано в практической части. Данная программа составлялась в соответствии с выполняемыми ею функциями и выбранными компонентами. Была создана втораяForm (помимо основной программной), для выполнения функции всплывающего окна с текстом об игре и её создателе, которая запускается с помощью кнопки «Об игре» на панели меню программы. Так же на панели имеется: кнопка «Новая игра», которая позволяет быстро очистить квадрат в компоненте StringGrid, и кнопка «Выход» для закрытия программы.

Заключение

В итоге курсовой работы все задачи, поставленные во «Введении» для выполнения данной работы, были решены. А именно:

сформирован функционал программы;

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

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

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

Список используемых источников

  1. Акимов, О.Ю. Малый и средний бизнес: эволюция понятий, рыночная среда, проблемы развития / О.Ю. Акимов. - М.: Финансы и статистика, 2014. - 192 c.
  2. Бердичевский, В.Л. Вариационные принципы механики сплошной среды / В.Л. Бердичевский. - М.: [не указано], 2017. - 738 c.
  3. Бреховских, Л.М. Акустика слоистых сред / Л.М. Бреховских, О.А. Годин. - М.: [не указано], 2015. - 562 c.
  4. Де Гиус Живая компания. Рост, научение и долгожительство в деловой среде / Де Гиус, Ари. - М.: СПб: Стокгольмская школа экономики в Санкт-Петербурге, 2015. - 224 c.
  5. Дэниэлс, Джон Д. Международный бизнес: внешняя среда и деловые операции / Дэниэлс, Джон Д., Радеба, Ли Х.. - М.: Дело; Издание 6-е, 2012. - 784 c.
  6. Заславский, Г.М. Взаимодейстивие волн в неоднородных средах / Г.М. Заславский, В.П. Мейтлис, Н.Н. Филоненко. - М.: [не указано], 2017. - 828 c.
  7. Зоммерфельд, А. Механика деформируемых сред: моногр. / А. Зоммерфельд. - М.: [не указано], 2013. - 151 c.
  8. Комплекс новых методов контроля разработки газовых и газоконденсатных месторождений. Минимизация техногенного воздействия на окружающую среду. - М.: Наука. Ленинградское Отделение, 2013. - 168 c.
  9. Кравцов, Ю.А. Геометрическая оптика неоднородных сред: моногр. / Ю.А. Кравцов, Ю.И. Орлов. - М.: [не указано], 2012. - 481 c.
  10. Любанова, Т.П. Бизнес-план: опыт, проблемы. Содержание бизнес-плана, пример разработки / Т.П. Любанова, Л.В. Мясоедова, Т.А. Грамотенко, и др.. - М.: Приор, 2016. - 228 c.
  11. Маккей Как уцелеть среди акул / Маккей, Харви. - М.: Экономика, 2017. - 172 c.
  12. Маккей Как уцелеть среди акул. Деловая стратегия / Маккей, Карлоф Харви; , Бенгт. - М.: Экономика, 2017. - 367 c.
  13. Мосолов, П.П. Механика жесткопластических сред / П.П. Мосолов, В.П. Мясников. - М.: [не указано], 2015. - 256 c.
  14. Некрасова, М.А. Искусство ансамбля. Художественный предмет - интерьер - архитектура - среда / М.А. Некрасова. - М.: Изобразительное искусство, 2014. - 464 c.
  15. Овсянников, Л.В. Введение в механику сплошных сред. Часть 1: общее введение / Л.В. Овсянников. - М.: [не указано], 2012. - 949 c.
  16. Овсянников, Л.В. Введение в механику сплошных сред. Часть 2: классические модели / Л.В. Овсянников. - М.: [не указано], 2012. - 660 c.
  17. Олейник, О.А. Математические задачи теории сильно неоднородных упругих сред / О.А. Олейник, Г.А. Иосифьян, А.С. Шамаев. - М.: [не указано], 2012. - 948 c.
  18. Островский, Н.В. Местное самоуправление и охрана окружающей среды (Обзор законодательных актов) / Н.В. Островский. - М.: Москва: Союз российских городов, 2017. - 134 c.
  19. Рассел, Джесси Eclipse (среда разработки) / Джесси Рассел. - М.: VSD, 2012. - 631 c.
  20. Рассел, Джесси Интегрированная среда разработки / Джесси Рассел. - М.: VSD, 2012. - 147 c.
  21. Руби, Сэм Гибкая разработка веб-приложений в среде Rails / Сэм Руби , Дэйв Томас , Дэвид Хэнссон. - М.: Питер, 2013. - 464 c.
  22. Тер-Микаелян, М.Л. Влияние среды на электромагнитные процессы при высоких энергиях / М.Л. Тер-Микаелян. - М.: [не указано], 2015. - 494 c.
  23. Фаронов, Валерий Delphi 2005. Язык, среда, разработка приложений / Валерий Фаронов. - М.: Питер, 2013. - 560 c.