Автоматизированная информационная система "Летательные аппараты"
Разработка программы, предоставляющей возможности удобного и быстрого поиска энциклопедической информации в области знаний "Летательные аппараты". Среда разработки Delphi 7. Используемые компоненты, процедуры и функции. Алгоритм реализации проекта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 22.04.2014 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- Введение
- Глава 1. Аналитический разбор задачи, среда разработки
- 1.1 Среда разработки Delphi 7
- 1.2 Используемые компоненты, процедуры и функции
- 1.3 Технологии решения поставленной задачи
- Глава 2. Разработка электронной энциклопедии "летательные аппараты"
- 2.1 Постановка задачи
- 2.2 Функциональная и логическая структура программы
- 2.3 Алгоритм реализации проекта
- Заключение
Введение
Актуальность темы: в современном развитом обществе, вопрос получения достоверной информации, о разных областях науки стоит очень остро. Помимо достоверности, энциклопедическая информация должна быть исключительно доступна пользователю. Электронные энциклопедии облегчают поиск необходимой информации, и уменьшают затраты времени на него.
В данной курсовомпроекте будет рассмотрен процесс создания электронной энциклопедии "Летательные аппараты", использующей не типизированный файл как постоянное хранилище информации, и переменные типа "record" как временное. Разработка будет вестись в интегрированной среде разработки Delphi 7, от компании Borland. Использоваться будут только стандартные компоненты и функции, а проект будет включать в себя два программных модуля.
В ходе работы так же будет рассмотрено создание дополнительных функций, таких как:
- Создание хранилища информации;
- Поиск информации по точному имени;
- Выгрузка информации из энциклопедии в отдельную папку на физический диск пользователя;
Глава 1. Аналитический разбор задачи, среда разработки
На настоящий момент существует огромное количество языков программирования и сред разработки. Одни из них предоставляют более широкие возможности, другие - более узкие. Но в большинстве случаев, для конкретной задачи можно выделить наиболее подходящую среду разработки или язык. Для создания небольших проектов, Standalone-приложенийи визуальных оболочек для баз данных зачастую используется интегрированная среда разработки Borland © Delphi 7, выпущенная в 2002 году, и до сих пор не утратившая свою актуальность.
1.1 Среда разработки Delphi 7
Delphi 7 - Интегрированная среда разработки ПО для MicrosoftWindowsна языке Delphi (ранее ObjectivePascal). Delphi 7 распространяется на коммерческой основе, но в данный момент купить ее отдельно от пакета DelphiXE не представляется возможным. Цена пакета DelphiXE, в комплектацию которого входит и ключ для активации Delphi 7 - 900$ на 1 машину (цена для розничных покупателей).
Язык Delphi - Объектно-ориентированный, что в тандеме с визуальной средой исключительным образом упрощает разработку ПО и делает этот процесс более наглядным. Преимущества визуальной среды программирования перед текстовой достаточно очевидны. Во-первых, это простота создания программы - большую часть кода можно не набирать вручную - она генерируется самой средой, в зависимости от того, какие визуальные компоненты имеются в приложении и какие они выполняют функции. Кроме того, она содержит уже готовую целую иерархию классов объектов, что позволяет освободить программиста от огромного объема работы по созданию этих классов. И, наконец, редактор среды визуального программирования предоставляет ряд возможностей, позволяющих сократить работу по набору текста программы, путем добавления готовых конструкций, подсказок и др. Основной интерфейс среды разработки представлен на рисунке 1.
Рисунок 1 - Интерфейс среды разработки Delphi 7
В интерфейсе Delphi 7 четко выделяются отдельные части, или палитры инструментов. К ним можно отнести:
- Главное меню;
- Программный модуль;
- Инспектор объектов;
- Объект TreeView.
- Окно с формой программы.
Главное меню - самый важный элемент интерфейса, он практически не меняет своего местоположения на экране. Главное меню в свою очередь тоже можно разделить на части, такие как:
- Управление формами;
- Параметры компиляции;
- Палитра объектов;
- Программное меню.
Программный модуль - это окно, в котором пишется код текущего модуля. Здесь прописываются процедуры, функции и обработчики объектов, объявляются локальные и глобальные переменные.
Инспектор объектов - это инструмент, который позволяет настраивать объекты, используемые в разрабатываемом приложении. Здесь можно настроить различные параметры (Properties) и методы обработчиков объектов (Actions).
1.2 Используемые компоненты, процедуры и функции
Разработка любого приложения в визуальной объектно-ориентированной среде подразумевает использование достаточного количества объектов, процедур и функций, поставляемых вместе со средой разработки, или дополнительно прописываемых (устанавливаемых) пользователем.
Объекты бывают визуальные и не визуальные. Примеры визуальных объектов:
- TImage - Объект, позволяющий легко отображать изображение формата BMP или JPEG на пользовательской форме;
- TPanel - Объект, создающий панель-контейнер для других объектов;
- TLabel - Обеъкт - надпись;
- TEdit - поле ввода текстовой информации;
Примеры не визуальных компонентов:
- TOpenDialog - компонент, создающий диалог для указания файла, и последующей загрузки информации о нем в переменные приложения;
- TIBDataBase - компонент, использующийся для связи приложения с базой данных InterBaseExpress (в приложении курсового проекта не используется);
Разрабатываемое приложение не использует технологии баз данных, и для хранения информации служат потоки (компоненты TStream - TfileStreamи Tmemorystream).
Объекты типа TFileStreamпозволяет создать поток для работы с нетипизированными файлами. Методы объектов TFileStream:
- Create (`имя файла', Mode) - создает файловый поток, и связывает его с файлом, указанным первым атрибутом метода;
- Free - закрывает файловый поток;
- Read (x, count) - чтение информации из файлового потока в переменную X длинной в count байт.
- Write (x) - запись переменной в файловый поток;
- CopyFrom (tstream, count) - копирование информации из tstreamпотока длинной в countбайт;
Объекты типа TMemoryStreamпозволяют создать поток для динамического хранения данных в оперативной памяти, и имеет те же методы что и TFileStream, за исключением метода Create. Метод createв TmemoryStreamне создает файла, и в его названии не надо прописывать путь и modeсоздаваемого потока.
1.3 Технологии решения поставленной задачи
Электронная энциклопедия - продукт, при разработке которого программист может выбрать несколько альтернативных путей организации хранения информации. Выбирать способ хранения информации следует, исходя из доступных ресурсов, соображений программной оптимизации, прикладной составляющей и опыта разработчика. Основные технологии доступа к данным представлены ниже:
- Инструмент BDEadministrator+ компоненты из вкладки BDE при разработке приложения;
- Технология доступа IBX - СУБД InterBase + компоненты IBX;
- Технология БД MS ACCESS;
- Получение информации с WEB-сервера, и загрузка ее в память рабочей станции;
- Предварительно зафиксированная информация в константах приложения;
- Хранение информации в не типизированном файле (используется при разработке курсового проекта).
Сравнения некоторых важных характеристик представлены в таблице 1.
Таблица 1 - Сравнение технологий доступа к данным
Технология доступа/ Сравниваемые характеристики |
Цена |
Быстродействие |
Занимаемое место |
|
BDE |
Поставляется в комплекте с Delphi. |
Требует постоянной работы сервера BDEa, тем самым снижая быстродействие |
Данные + структура БД + сервер. |
|
IBX |
Бесплатно |
Низкие требования к аппаратной части |
Данные + структура БД + сервер. |
|
Access |
4 272 руб (Ms Office 2003) |
Достаточно высокое в последних версиях среды. |
Данные + структура БД + сервер+ MsOffice. |
|
Данные в константах |
Бесплатно |
Низкое. |
Данные весят столько, сколько требуется для их целостности. |
|
Данные в не типизированном файле |
Бесплатно |
Ниже среднего. |
Данные весят столько, сколько требуется для их целостности. |
Исходя из сравнения вышеизложенных характеристик и моего опыта разработки прикладных программ, было принято решение организовать доступ к данным энциклопедии посредством динамической работы приложения с не типизированным файлом. Запись и получение информации из файла будет выполняться компонентом TFileStreamинтегрированной среды разработки Delphi 7.
алгоритм программа энциклопедическая информация
Глава 2. Разработка электронной энциклопедии "летательные аппараты"
2.1 Постановка задачи
В ходе выполнения курсового проекта создается электронная энциклопедия "Летательные аппараты". Электронная энциклопедия должна соответствовать следующим требованиям.
- Информация, представленная в ней должна носить энциклопедический характер;
- Интерфейс должен быть удобным и понятным простому пользователю;
- Пользователь должен быть освобожден от максимального количества действий, при работе с энциклопедией. Эти действия должны выполняться ЭВМ;
- Алгоритмы, выполняемые ЭВМ должны быть максимально оптимизированы;
- Энциклопедия должна давать возможности для своевременного редактирования информации.
Так же, приветствуется кроссплатформенность (возможность использования программы на различных платформах, отличных от целевой) и небольшой вес.
2.2 Функциональная и логическая структура программы
В результате работы над курсовым проектом, была разработана программа, отвечающая основным требованиям, предъявляемым к программам типа "Электронная энциклопедия", был реализован метод, позволяющий создавать и редактировать базы данных, организованные по принципу записи и дозаписи в не типизированный файл, а так же алгоритм поиска информации в пределах одной базы данных и алгоритм выделения информации, с последующим сохранением на жестком диске пользователя. Было решено назвать программу так, чтоб ее название четко и недвусмысленно отражала ее суть и назначение, поэтому программа называется достаточно просто - Электронная энциклопедия "Летательные аппараты".
В ходе аналитического разбора проделанной работы и ее результата, были сформулированы следующие утверждения:
– Разработка программы заняла приблизительно 15 часов реального времени;
– Разработка (написание кода, тестирование, отладка, тестирование третьими лицами) занимала в среднем по три часа каждый день в течение пяти рабочих дней;
– Разработка алгоритмов и составление логической модели программы заняло примерно два часа рабочего времени;
– На составление базы данных о летательных аппаратах было затрачено около двух часов рабочего времени;
– В ходе разработки программы, код целиком переписывался единожды, когда стало ясно, что технология доступа BDEне подходит как технология доступа к данным в продукте типа "электронная энциклопедия" из-за необходимости работы с базой данных на пользовательском компьютере.
В связи с тем, что полет мысли современных авиаторов не сдерживает своих порывов, энциклопедия должна иметь возможность своевременного обновления, добавления и удаления информации из рабочих баз данных. Исходя из этого, была добавлена подпрограмма, позволяющая любому пользователю с исключительной легкостью проводить все вышеописанные операции с БД. Интерфейс подпрограммы представлен на рисунке 2.
Рисунок 2 - Интерфейс подпрограммы для редактирования баз данных
Название этого модуля "редактор статей", а основное его назначение - получение и обработка входных данных, с последующей записью их в базу данных. Для того, чтобы связать программу с желаемым файлом БД, необходимо нажать кнопку "укажите БД", и указать желаемый файл. Как только файл будет указан, информация о его имени запишется в переменную BDNAME типа String. Далее, программа считывает уже хранящиеся в файле данные. Код блока кода, ответственного за считывание данных приведен на рисунке 3.
Рисунок 3 - Код считывания данных
Процесс считывания абсолютно идентичен процессу считывания, используемому на главной форме. Происходит получение информации так:
1. Программа считывает по 20 байт текстовой информации из файла в переменные NAME, TYPE_FLYи NAZNтипа String, относящиеся к типу FromFile [] (Record).
2. Затем программа считывает 4 байта информации, и помещает их в переменную VESPIC типа Integer. Эта информация - размер изображения, относящегося к текущей статье.
3. Программа считывает информацию из файла, в размере VESPIC байт, и загружает ее в поток памятиMSFOTO типа TMEMORYSTREAM.
4. Затем программа считывает 4 байта информации, и помещает их в переменную VESTEXT типа Integer. Эта информация - размер описания, относящегося к текущей статье.
5. Программа считывает информацию из файла, в размере VESTEXT байт, и загружает ее в поток памятиMSTEXT типа TMEMORYSTREAM.
6. Основная информация по статье добавляется в ListBox1.
На рисунке 4 наглядно изображен порядок записи данных в файл БД, где в красной рамке - область, отводимая под одну запись, желтый, оранженый и фиолетовый сегменты - информация о названии летательного аппарата, его типе и назначении соответственно, черные сегменты - информация о размере изображения и размере описания соответственно, серый сегмент - данные изображения, зеленый сегмент - данные описания.
Рисунок 4 - Размещение данных в файле БД
После получения уже имеющейся информации, пользователь может дописать данные в файл. Ниже приведена подробная информация о входных данных, их типах и свойствах.
- "Название" - строковая информация, вводимая в TEditс соответствующей надписью. Тип вводимых данных - String, максимальная длина - 20 символов. Посленажатия кнопки "добавить статью" информация из этого поля записывается в переменную NAME типа String [20], а затем заносится в базу данных. Так же "название" - идентификатор статьи, именно он отображается как название статьи во всех элементах программы.
- "Тип летательного аппарата" - строковая информация, вводимая в TEditс надписью "укажите тип". Тип вводимых данных - String, максимальная длина - 20 символов. Посленажатия кнопки "добавить статью" информация из этого поля записывается в переменную TYPE_FLYтипа String [20], а затем заносится в базу данных.
- "Назначение" - строковая информация, вводимая в TEditс надписью "укажите назначение". Тип вводимых данных - String, максимальная длина - 20 символов. Посленажатия кнопки "добавить статью" информация из этого поля записывается в переменную NAZNтипа String [20], а затем заносится в базу данных.
- Изображение летательного аппарата выбирается в диалоговом окне выбора файла, которое вызывается нажатием кнопки "добавить картинку". Тип вводимых данных - TJPEGimage (изображение формата JPG). После выбора изображения, оно сохраняется в поток памяти (TMemoryStream), а информация о его физическом размере сохраняется в переменнуюVESPIC типа integer. На рисунке 5 представлен фрагмент кода, который отвечает за открытие диалогового окна, и принимает входные данные изображения.
Рисунок 5 - Ввод данных изображения
После нажатия кнопки "добавить статью" данные о размере изображения (4 байта) и данные самого изображения записываются в БД.
Описание летательного аппарата должно быть заблаговременно оформлено в TXT файле. Для того, чтоб добавить его в БД, необходимо нажать на кнопку с надписью "Укажите ТХТ файл с описанием" и выбрать вышеуказанный файл в диалоговом окне. После чего информация из выбранного файла будет записана в поток памяти MSTEXT (TMemoryStream), а информация о размере файла будет записана в переменнуюVESTEXT типа Integer. После нажатия кнопки "добавить статью" данные о размере текстового файла описания (4 байта) и сам файл записываются в БД. На рисунке 6 представлен фрагмент кода работы с описанием.
Рисунок 6 - Фрагмент кода работы с файлом-описанием
2.3 Алгоритм реализации проекта
Разработка любого программного продукта разделяется на 4 этапа (5 этапов если предусматривается сопровождение):
1. Анализ поставленной задачи;
2. Построение алгоритмов;
3. Написание программного кода;
4. Отладка программы;
5. В некоторых случаях - сопровождение.
Анализ поставленной задачи - это этап, на котором анализируются требования, предъявляемые к результату работы, выбирается среда разработки, целевая платформа, определяются входные и результирующие данные. Так же, на этом этапе оговаривается время и денежные/аппаратные средства, отводимые на разработку программного продукта. Кроме того описывается поведение программы в особых случаях, таких как:
– Некорректный ввод информации пользователем;
– Несовместимость с ОС или другим установленным ПО;
– Ошибочные действия пользователя;
– Аппаратные ошибки и т.д.
На этапе разработки алгоритма, разработчик определяет последовательность действий, которые необходимо выполнить для достижения поставленной цели. В блок-схеме записывается алгоритм работы всей программы, или ее отдельных частей.
Кодирование и компиляция - этап, на котором разработчик реализует идею программы, в программном коде. Компилятор - транслирует программный код в машинный код. Это очень ответственный этап, результат которого зависит от опыта, квалификации, и условий труда программиста. Написание кода, зачастую, занимает большую часть от всего времени, отведенного на разработку программного продукта.
Отладка - этап разработки компьютерной программы, на котором отслеживают и устраняют ошибки, приводящие к сбоям или неправильному функционированию программы, или всей системы в целом.
Существует две взаимодополняющие технологии отладки:
– Использование отладчиков - программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
– Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода - на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журнализацией.
Типичный цикл разработки, за время жизни программы многократно повторяющийся, выглядит примерно так:
1. Программирование - внесение в программу новой функциональности, исправление ошибок в имеющейся;
2. Тестирование (ручное или автоматизированное; программистом, тестером или пользователем) - обнаружение факта ошибки;
3. Воспроизведение ошибки - выяснение условий, при которых ошибка случается;
4. Отладка - обнаружение причины ошибки.
2.4 Описание пользовательского интерфейса
Интерфейс программы "Электронная энциклопедия Летательные Аппараты" предельно прост и интуитивен. Главная форма программы разделена на 3 объекта, все они представлены на рисунке 7:
1. Изображение, отражающее физическую сущность выбранного объекта;
2. Список статей, присутствующих в энциклопедии;
3. Описание выбранной статьи.
Рисунок 7 - Интерфейс главной формы
В главном меню главной формы присутствует несколько кнопок:
– "Меню" - основное меню приложения. Содержит следующие кнопки:
– "Редактор статей" - открывает редактор статей;
– "Указать энциклопедию" - именно с помощью этой кнопки необходимо указать место расположения файла БД;
– "Поиск" - поиск по энциклопедии по точно введенному имени.
– "Сохранить информацию" - приложение создает в корневой папке каталог с названием выбранной статьи и сохраняет в него информацию из статьи;
– "Помощь" содержит 2 подпункта:
– "информация о разработчике" - отображает информацию о разработчике;
– "Руководство пользователя" - отображает руководство пользователя.
Заключение
В ходе выполнения курсового проекта была разработана программа, предоставляющая возможности удобного и быстрого поиска энциклопедической информации в области знаний "летательные аппараты". Были реализованы такие функции как:
– Добавление информации в базу данных;
– Удаление информации из базы данных;
– Просмотр информации, хранящейся в базе данных;
– Поиск информации по ее заголовку.
В сопровождающем программу документе были описаны методы и средства реализации приведенных выше функций, и других объектов программы.
Размещено на Allbest.ru
Подобные документы
Беспилотные летательные аппараты. Возможный функционал применения беспилотных летательных аппаратов. Аэростатные летательные аппараты. Комплексы для использования до и свыше 100 метров. Двухлучевая модель распространения радиоволн, коэффициент отражения.
курсовая работа [2,8 M], добавлен 26.08.2017Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click.
курсовая работа [365,0 K], добавлен 18.05.2013Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.
курсовая работа [147,1 K], добавлен 05.02.2015Описание входной и выходной информации. Программно-технические средства, необходимые для разработки программы "Автоматизированная информационная справочная система аптеки". Возможность формирования и корректировки файлов, тестирование программы.
курсовая работа [761,7 K], добавлен 18.12.2013Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.
курсовая работа [40,8 K], добавлен 15.07.2009Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.
курсовая работа [506,5 K], добавлен 21.02.2011Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Разработка автоматизированной системы контроля знаний на примере дисциплины "История мира". Этапы разработки программного продукта.
курсовая работа [3,8 M], добавлен 18.05.2014Методология и технология разработки программного продукта. Решение задачи поиска кратчайших путей между всеми парами пунктов назначения, используя алгоритм Флойда. Разработка интерфейса программы, с использованием среды Delphi Borland Developer Studio.
курсовая работа [2,0 M], добавлен 26.07.2014Приемы программирования в Delphi. Алгоритм поиска альфа-бета отсечения, преимущества. Описание программного средства. Разработка программы, реализующая алгоритм игры "реверси". Руководство пользователя. Листинг программы. Навыки реализации алгоритмов.
курсовая работа [357,1 K], добавлен 28.02.2011