Проектирование приложения

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.09.2014
Размер файла 564,9 K

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

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

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

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

Введение

интерфейс пользователь программирование приложение

С начала 60-70хх началось бурное развитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым, компьютеры стали появляться и в учебных заведениях, предмету «Информатика» стали уделять огромное внимание. Стали появляться языки программирования высокого уровня такие, как Delphi, C++.

Далее пойдет речь о языке программирования Delphi и о базах данных.
В России Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.

В Delphi используется язык Object Pascal, который постоянно расширяется и дополняется Borland. Язык в полной мере поддерживает все требования, предъявляемые к объектно-ориентированному языку программирования. Как и положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу особенностей языка следует отнести поддержку обработки исключительных ситуаций (exceptions), а также перегрузку методов и подпрограмм (overload) в стиле C++.

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

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

Постановка задачи

Создать приложение «Энциклопедия киномана», содержащую базу данных со сведениями о фильмах, панели администрирования, предоставляющую возможность проведения поиска, сортировки и фильтрации данных.

1. Описание математической модели

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

Приложение представляет собой таблицу базы данных, гже хранится информация о фильмах. Таблица базы данных была спроектирована в СУБД Access и хранится в папке BD под именем kinoman.mdb.

Таблица базы данных имеет следующую структуру:

интерфейс пользователь программирование приложение

Таблица 1. Структура таблицы базы данных kinoman

Имя поля

Тип поля

Примечания

Kod

Числовое

Код фильма. Ключевое поле

Name

Тестовое

Название фильма

Director

Текстовое

Режиссер

Actor

Текстовое

Актеры

God

Числовое

Год выпуска фильма

janr

Текстовое

Жанр

2. Технология разработки приложения

2.1 Выбор и обоснование среды программирования

Delphi - императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитием платформы.NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.

Object Pascal - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal - динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией - данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.

Также отличительным свойством Object Pascal от С++ является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить «желание» «где хочу - там и буду лежать». Соответственно организуется и «многокучность».

Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.

Delphi позволяет создавать приложения интерактивным выбором необходимых компонентов из Component Palette и перетягиванием их на форму. Основное же достоинство этого метода заключается в том, что Delphi при этом самостоятельно создает необходимый код. Это напоминает по своим возможностям Visual Basic и другие подобные языки программирования, однако в случае Delphi - это настоящий объектно - ориентированный код и все возможности этого подхода, включая расширение функциональных возможностей компонентов Delphi до уровня, удовлетворяющего ваши запросы. Есть возможность использовать компоненты Delphi, наследовать их и добавлять собственные методы, а кроме того, существует возможность использования управляющих элементов Active X.

База данных создавалась в программе Microsoft Access. Для доступа к данным в Delphi использовалась технология ActiveX Data Objects (ADO).

Технология ADO поддерживается в Delphi версий 5,6, 7 которая в последнее время усиленно развивается корпорацией Microsoft. Базовый набор интерфейсов имеется в каждой операционной системе Microsoft. Поэтому для обеспечения доступа приложения к данным достаточно лишь правильно указать провайдер соединения ADO и затем переносить программу на любой компьютер, где имеется требуемая база данных, и, конечно, установленная ADO. Использование данной технологии не требуют развертывания и настройки BDE на компьютере.

ADO - представляет собой часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access) Основное назначение ADO - обеспечение простого универсального механизма доступа к данным.

2.2 Входные и выходные данные

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

Выходные данные представлены на экранной форме и содержат сведения о фильме, а именно:

· Название фильма;

· Режиссёр фильма;

· Актеры, играющие главные роли в фильме;

· Год выпуска;

· Жанр фильма.

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

3. Структурное проектирование приложений

3.1 Проектирование интерфейса пользователя

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

· Удобное расположение элементов окна;

· Интуитувно понятные кнопки и пункты меню;

· Баланс в использовании цветовой палитры при проектировании дизайна приложения.

Согласно поставленной задачи, в состав пользовательского интерфейса должны войти такие элементы, как:

· Кнопки управления приложением;

· Таблица отображения данных;

· Меню выбора;

· Поля ввода данных.

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

Рис. 1. Диаграмма варинатов диалога

4. Методы программирования

При проектировании приложения были использованы различные подходы к созданию. Опишем эти методы:

· Подключение базы данных

Связь базы данных Access и приложения Delphi осуществляется с использованием технологии ADO. Необходимо, чтобы на главной форме приложения были размещены компоненты:

- TDBGrid - Компонент предназначен для отображения данных БД в приложении, расположен на вкладке DataControls;

- TDataSource - Компонент предназначен для связи сетки отображения данных, с самой БД, расположен на вкладке Data Assecc;

- TADOConnection - Компонент предназначен для подключения БД по определенному провайдеру, расположен на вкладке ADO;

- TADOQuery - Компонент предназначен для извлечения нужных результатов из БД, расположен на вкладке ADO.

TADOQuery в свойстве Connection связывается с TADOConnection. TDataSource в свойстве DataSet связывается с TADOQuery. TDBGrid в свойстве DataSource связывается с TDatasource. Для осуществления связи все указанные свойства выбираются из выпадающего списка.

Для компонента TADOConnection в свойстве LoginPromt было установлено значение False, чтобы при подключении к БД не запрашивался пароль. Для соединения с базой данных в свойстве ConnectionString было вызвано окно следующего вида (см. рис. 2):

Рис. 2. Настройка подключения к базе данных

Далее, был выбран провайдер Microsoft Jet 4.0 OLE DB Provaider.

В следующем окне был указан путь к БД и имя пользователя по умолчанию (Admin). Если БД находится в корневом каталоге с программой, то в данном поле достаточно указать ее имя с расширением, база данных находится в подкаталоге BD, поэтому указываем имя BD\kinoman.mdb

В свойстве компонента TDBGrid было выбрано Options и в подствойстве dgEditing установлено значение False (запрет редактирования в таблице), а в подсвойстве dgRowSelect установлено значение True (выделяется вся строка в таблице)

Для компонента TADOConnection - в свойстве Mode выбрано значение cmShareDenyNone (из выпадающего списка)

· Перемещение по БД

Для возможности перехода по записям в таблице были созданы четыре кнопки «Следующая запись», «Предыдущая запись», «В начало», «В конец»

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

ADOQuery1. Next;

ADOQuery1. Prior;

ADOQuery1. First;

ADOQuery1. Last.

· Добавление, удаление данных

Для возможности добавления и удаления данных была проведена дополнительная настройка объекта TDBGrid. После этого, для кнопки «Добавить» был написан следующий код:

try

if (Trim (Edit1. Text)='') or (Trim (Edit2. Text)='') or (Trim (Edit3. Text)='') or (Trim (Edit4. Text)='') or (Trim (Edit5. Text)='') or (Trim (Edit6. Text)='')

then

begin

exit;

end;

ADOQuery1. Insert;

ADOQuery1. FieldByName('kod').AsInteger:=StrToInt (Edit1. Text);

ADOQuery1. FieldByName('name').AsString:=Edit2. Text;

ADOQuery1. FieldByName('director').AsString:=Edit3. Text;

ADOQuery1. FieldByName('actor').AsString:=Edit4. Text;

ADOQuery1. FieldByName('god').AsInteger:=StrToInt (Edit5. Text);

ADOQuery1. FieldByName('janr').AsString:=Edit6. Text;

Edit1. Clear;

Edit2. Clear;

Edit3. Clear;

Edit4. Clear;

Edit5. Clear;

Edit6. Clear;

except

on e: Exception do

end;

После добавления информации она должны быть дополнительно сохранена, для этого на кнопке «Сохранить» был написан следующий код:

try

ADOQuery1. Active:=True;

ADOQuery1. Post;

except

on e: Exception do

end;

Для удаления текущей записи был использован следующий код:

try

if Application. MessageBox ('Подтвердите удаления записи', 'ADO', MB_YESNO) = IDYES then

begin

ADOQuery1. Delete;

end;

except

on e: Exception do

end;

· Редактирование данных

Кнопка «Редактировать» содержит код:

try

Edit1. Text:=IntToStr (ADOQuery1. FieldByName('kod').AsInteger);

Edit2. Text:=ADOQuery1. FieldByName('name').AsString;

Edit3. Text:=ADOQuery1. FieldByName('director').AsString;

Edit4. Text:=ADOQuery1. FieldByName('actor').AsString;

Edit5. Text:=IntToStr (ADOQuery1. FieldByName('god').AsInteger);

Edit6. Text:=ADOQuery1. FieldByName('janr').AsString;

except

on e: Exception do

end;

ADOQuery1. Delete;

· Сортировка данных

В зависимости от выбранного пункта элемента RadioGroup1 сортировка проводится по разным полям

Программный код, реализующий сортировку:

case

radiogroup1.itemindex of

0:ADOQuery1. Sort:='kod';

1:ADOQuery1. Sort:='name';

2:ADOQuery1. Sort:='director';

3:ADOQuery1. Sort:='god';

4:ADOQuery1. Sort:='janr';

· Фильтрация данных

Поле, по которому будет производиться фильтрация, определяется с помощью объекта RadioGroup2.

Программный код, реализующий фильтрацию:

if length (edit7.text)>0 then

begin

ADOQuery1.SQL. Clear;

if radiogroup2.itemindex=0 then ADOQuery1.SQL. Add ('SELECT * FROM Kinoman where name like ' + #39 + ' % ' + edit7. Text + ' % ' + #39);

if radiogroup2.itemindex=1 then ADOQuery1.SQL. Add ('SELECT * FROM Kinoman where director like ' + #39 + ' % ' + edit7. Text + ' % ' + #39);

if radiogroup2.itemindex=2 then ADOQuery1.SQL. Add ('SELECT * FROM Kinoman where actor like ' + #39 + ' % ' + edit7. Text + ' % ' + #39);

ADOQuery1. Active:=True;

end;

edit7.text:='';

Для восстановления всех записей используем программный код:

ADOQuery1.SQL. Clear;

ADOQuery1.SQL. Add ('SELECT * FROM Kinoman');

ADOQuery1. Active:=True;

· Поиск данных

Поиск данных выполняется с помощью двух кнопок «Искать» и «Искать дальше». По умолчанию кнопка «Искать дальше» сделана неактивной (свойству Enable установлено значение false), она становится доступной в том случае, если найдено первое значение. Если искомое значение не найдено, выводится искомый текст и сообщение о том, что он не найден.

FoundRec:=False;

case radiogroup3. ItemIndex of

0: s:='kod';

1: s:='name';

2: s:='director';

3: s:='god';

4: s:='janr';

end;

ADOQuery1. First;

while not ADOQuery1. Eof do begin

if AnsiLowerCase (ADOQuery1. FieldValues[s]) = AnsiLowerCase (Edit7. Text) then

begin

FoundRec:=True;

Button13. Enabled:=True;

break;

end;

ADOQuery1. Next;

end;

if not FoundRec then begin

ADOQuery1. First;

ShowMessage (edit7. Text+' не найдено');

end;

В случае если первое значение будет найдено, кнопка «Искать дальше» становится активной и нажатие на нее переводит курсор на следующее найденное значение.

Программный код:

ADOQuery1. Next;

while not ADOQuery1. Eof do begin

if AnsiLowerCase (ADOQuery1. FieldValues[s]) = AnsiLowerCase (Edit7. Text) then

break;

ADOQuery1. Next;

end;

if ADOQuery1. Eof then ADOQuery1. First;

end;

5. Реализация защитного программирования

5.1 Аномалии

Приложение рассчитано на работу с базой данных о фильмах. Следовательно, должна быть обеспечена работа с самой базой данных - kinoman.mdb

Таблица 2. Перечень ситуаций и реакция приложения

Ситуация

Реакция приложения

Отсутствует файл с базой данных

Вывод сообщения об ошибке

Файл с базой данных поврежден

Вывод сообщения об ошибке

Не соответствует формат базы данных

Вывод сообщения об ошибке

5.2 Оптимизация программы

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

6. Тестирование программы

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

Таблица 3. Действия пользователя и реакция приложения

Действия пользователя

Реакция приложения

Была произведена попытка удаления фильма

Вывод сообщения-предупреждения об удалении

Была произведена попытка сохранения без внесения каких-либо изменений

Вывод сообщения об ошибке

Было задано пустое окно ввода

Сообщение об ошибке

Окно поиска не заполнено

Сообщение об отсутствии сведений

7. Инструкция пользователя

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

Системные требования:

· Операционная система WindowsXP, Vista, 7, 8

· Процессор с тактовой частотой 800 МГц

· 70 Мб ОЗУ

· Не менее 16 Мб свободного места на жестком диске

Для установки приложения достаточно скопировать папку с всеми данными на жесткий диск компьютера.

Для начала работы с приложением, необходимо запустить файл Project1.exe. После этого, пользователь получит доступ к главному окну приложения (см. рис. 3)

Рис. 3. Главное окно приложения Энциклопедия киномана

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

Добавление данных в базу данных происходит путем заполнения полей Код фильма, Название фильма, Режиссёр, Актеры, Год выпуска, Жанр (см. рис. 4).

Рис. 4. Заполнение полей для последующего добавления данных

После того, как все данные были заполнены, необходимо нажать кнопку «Добавить». Если хотя бы одно из полей не было заполнено, данные не добавятся. После добавления данных, поля ввода очистятся (см. рис. 5).

Рис. 5. Добавление данных о фильме

Во избежание ошибок редактирование данных непосредственно в таблице запрещено. Для возможности внести изменения в данные существует кнопка «Редактировать», нажатие на кнопку приводит к тому, что активная запись переносится в форму, при этом она удаляется из таблицы.

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

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

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

Заключение

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

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

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

Литература

1) А. Архангельский. Программирование в Delphi. Учебник по классическим версиям Delphi. М.: Бином. Лаборатория Знаний, 2008 г. - 816 с.

2) А.Н. Боровский. Программирование в Delphi. Сп-б.: БХВ-Петербург, 2005 г. - 448 с.

3) На примерах. Delphi. Под. Ред.: В.М. Пестриков, А.Н. Маслобоев. Сп-б.: БХВ-Петербург, 2012 г. - 496 с.

4) Тюкачев Н.В. Программирование в Delphi для начинающих. Сп-б.: БХВ-Петербург, 2007 г. - 672 с

5) Фленов М.Е. Библия Delphi. 3-е издание. Сп-б.: БХВ-Петербург, 2012 г., 688 с.

6) Аникеев С. Разработка приложений баз данных в Delphi. М.: Диалог-МИФИ? 2013 г.

7) Осипов Д.Л. Базы данных и Delphi. Теория и практика. Сп-б.: БХВ-Петербург, 2011 г., 752 с.

8) Бекаревич Ю. Access 2010. Сп-б.: БХВ-Петербург, 2011, 432 с.

9) Гончаров А.Ю. Access 2007: справочник с примерами. М.: Кудиц-образ, 2008 г., 296 с.

Размещено на Allbest.ru


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

  • Характеристика основных разделов программирования, изучаемых в курсе программирования на языке С++. Описание внутренних переменных, входных и выходных данных. Особенности использования компилятора Microsoft Visual Studio 2008. Руководство пользователя.

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

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

    курсовая работа [81,7 K], добавлен 18.08.2014

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

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

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

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

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

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

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

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

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

    контрольная работа [1,1 M], добавлен 14.05.2013

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

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

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

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

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

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

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