Автоматизация продажи билетов в кассе кинотеатра

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ВВЕДЕНИЕ

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

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

Для реализации данной задачи были выбраны среды разработки Access и Delphi7.

Перед выполнением данной курсовой работы я поставила перед собой следующие цели:

1. Изучить предметную область.

2. Изучить ее применение в современной жизни.

3. Разработать базу данных и приложение.

4. Проанализировать результаты работы.

1. АНАЛИТИЧЕСКИЙ РАЗДЕЛ

1.1 Анализ предметной области

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

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

Цена билета определяется сеансом и задается администратором БД.

Справочной службе может предоставить следующие сведения:

— репертуар кинотеатра,

— цена билетов на данный сеанс,

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

Администратор БД может вносить следующие изменения:

— введение нового фильма в репертуар,

— снятие фильма с проката.

Предусмотрена возможность выдачи справки (в виде отчета) о фильме по времени сеанса, кинотеатра и отчет обо всех фильмах в прокате.

Организационная структура кинотеатра (рис. 1. 1).

Рис. 1.1. Организационная структура кинотеатра

Схема информационных потоков (рис. 1. 2).

Рис. 1.2 Схема информационных потоков

Система продажи билетов в кинотеатре работает с базой данных репертуара, базой данных сеансов кинотеатра и базой данных отдела финансов и статистики. Также система продажи билетов в кинотеатре имеет систему защиты и систему обслуживания (рис. 1. 3).

Рис. 1.3 Система кинотеатра

Функциональная диаграмма бизнес-процессов. (рис. 1. 4). Построение модели информационной системы начинается с описания функционирования системы в целом в виде контекстной диаграммы.

Рис. 1.4 Функциональная диаграмма бизнес-процессов

Следующий уровень детализации: количество блоков — 3 (рис. 1. 5).

Рис. 1.5. Детализация функциональной диаграммы

1. 2 Разработка требований

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

· Обеспечение хранения в базе данных всей необходимой информации.

· Обеспечение возможности получения данных по всем необходимым запросам.

· Сокращение избыточности и дублирования данных.

· Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т. д.

Интерфейс базы данных должен быть простым и удобным в использовании.

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

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

· полнота;

· достоверность;

· актуальность;

· эффективность;

· оперативность;

· удобный интерфейс.

1.3 Выбор технологии реализации процесса

Для создания базы данных я выбрала Microsoft Office Access — реляционную СУБД корпорации Microsoft и среду визуально программирования Delphi 7.

Microsoft Office Access — простое и доступное средство для создания таких баз данных, которые нужны пользователю. Несмотря на простоту этой СУБД, она позволяет создавать приложения довольно сложной структуры. При желании систему можно развивать и настраивать собственными силами, используя язык программирования Visual Basic.

СУБД Access ориентирована на работу с объектами, к которым относятся таблицы базы данных, запросы, а также объекты приложений для работы с базой данных: формы, отчеты, страницы, макросы и модули.

Множество мастеров Access позволяют автоматизировать процесс создания таблиц базы данных, форм, запросов, отчетов и страниц доступа к данным; анализировать таблицы БД и выполнять многие другие работы. Практически для любых работ имеется мастер (wizard), который поможет их выполнить.

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

Access может использовать данные различных СУБД. Непосредственно могут обрабатываться файлы Paradox, dBase, FoxPro, а также базы данных, поддерживающие стандарт открытого доступа к данным (Open Database Connectivity, ODBC): Oracle, Microsoft SQL Server, DB2, Sybase SQL Server и др.

СУБД Microsoft Access является системой управления реляционной базой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети с файловым сервером или создания приложения пользователя, работающего с базой данных на SQL — сервере.

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

В Access обеспечивается все возможности динамического обмена данными (Dynamic Data Exchange, DDE) с любым приложением Windows, поддерживающим DDE. Access поддерживает также механизм связывания и внедрения объектов (Object Linking and Embedding, OLE), обеспечивающий установление связи с объектами другого приложения или внедрение объекта в базу данных. Активизация внедренного объекта открывает программу, которая его создала, и пользователь может изменить объект. При установлении связи с объектом он по-прежнему сохраняется в файле объекта, а не в базе данных. За счет этого он может обновляться независимо, а в базе данных всегда будет представлена последняя версия объекта.

Еще одним достоинством Access является ее интегрированность с Word, Excel и другими программами пакета Microsoft Office. Данные легко импортируются и экспортируются из одного приложения в другое.

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

В настоящее время программистам стала доступна очередная версия пакета Delphi — Borland Delphi 7 Studio. Как и предыдущие версии, Borland Delphi 7 Studio позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Отличительной особенностью седьмой версии является поддержка технологии. NET.

база данные касса кинотеатр

2. ПРОЕКТНЫЙ РАЗДЕЛ

2. 1 Проектирование базы данных

Первым шагом является нормализация. Нормализация данных -- одно из самых важных понятий и концепций реляционной системы. Нормализованная система сводит к минимуму количество избыточных данных, при этом сохраняя их целостность. Нормализованной можно назвать базу данных, в которой все таблицы следуют правилам нормальных форм. Нормальная форма -- набор правил, которые показывают, как надо организовать данные, что бы они были нормализованными. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Для проектирования базы данных необходимо, чтобы она соответствовала первым трем нормальным формам. Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы БД: было неделимым; не содержало повторяющихся групп. Вторая нормальная форма (2НФ) требует, соответствия 1НФ и чтобы все поля зависели от первичного ключа, т. е. чтобы первичный ключ однозначно определял запись и не был избыточным. Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц. Третья нормальная форма (3НФ) требует, соответствия 2НФ и чтобы в таблице не имелось транзитивных зависимостей между неключевыми полями, то есть, чтобы значение любого поля таблицы, не входящего в первичный ключ, не зависело от значения другого поля, не входящего в первичный ключ.

В ходе нормализации были выделены следующие сущности:

-Фильмы

-Тип дня

-Показ фильмов

-Жанр

-Билеты

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

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

Логическая модель базы данных. (рис. 2. 1).

Рис. 2.1 Логическая модель

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

Основными объектами логической модели данных являются сущности, атрибуты и взаимосвязи. Физическая модель данных, как правило, создается на основе логической, поэтому каждому объекту логической модели соответствует объект физической модели (хотя соответствие может быть неоднозначным). В физической модели данных сущности логической модели данных соответствует таблица, экземпляру сущности — строка в таблице, а атрибуту — колонка таблицы. Кроме перечисленных выше объектов, физическая модель может содержать объекты, тип которых зависит от СУБД: индексы, представления, последовательности, триггеры, процедуры и т. п. Если в логической модели данных не имеет большого значения, какой конкретно тип данных у атрибута, то в физической важно описать всю информацию о конкретных объектах. Физическая модель базы данных представлена на рисунке 2.2.

Физическая модель. (рис. 2. 2).

Рис. 2.2. Физическая модель

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

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

Таблица 2.1 Жанр фильма

Наименование поля

Содержание

Тип

1

Код_жанра

Идентификационный номер жанра

Счетчик

2

Жанр фильма

Содержит название жанра

Текстовый

-Фильмы. Содержит информацию о доступных фильмах в кинотеатре в настоящее время.

Таблица 2.2 Фильмы

Наименование поля

Содержание

Тип

1

Код_фильма

Идентификационный номер фильма

Счетчик

2

Фильм

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

Текстовый

3

Режиссер

Генеральный директор картины

Текстовый

4

Год выпуска

Год выхода фильма

Дата/время

5

Жанр

Жанр фильма

Текстовый

6

Дата начало проката

Дата начала проката в кинотеатре

Дата/время

7

Дата конца

Дата конца проката в кинотеатре

Дата/время

8

Страна

Страна производитель

Текстовый

9

Возрастные ограничения

Ограничения на просмотр (если имеются)

Подстановка ограниченных значений

-Тип дня.

Таблица 2.3 Тип дня

Наименование поля

Содержание

Тип

1

Код_типа

Идентификационный номер типа

Счетчик

2

Тип

Содержит название типа

Текстовый

-Показ фильмов. Содержит расписание фильмов.

Таблица 2.4 Показ фильмов

Наименование поля

Содержание

Тип

1

Код_показа

Идентификационный номер показа

Счетчик

2

Дата

Дата показа

Дата/время

3

Фильм

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

Подстановка

4

Тип дня

Тип дня показа

Подстановка

5

Сеансы

Время сеансов

Подстановка ограниченных значений

6

Цена

Цена билета

Подстановка

-Проданные билеты. Содержит информацию о проданных билетах.

Таблица 2.3 Проданные билеты

Наименование поля

Содержание

Тип

1

Код_билета

Идентификационный номер билета

Счетчик

2

Ряд

Содержит номер ряда

Подстановка ограниченных значений

3

Место

Содержит номер места

Числовой

4

Сеанс

Время сеанса

5

Фильм

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

2.2 Разработка интерфейса проектируемого приложения для работы с базой данных

База данных «Касса кинотеатра» создана в среде разработки Microsoft Access 2010. Она содержит 5 таблицы, 4 форм для ввода и просмотра информации, 2 запроса и 2 отчета.

Схема данных (рис. 2. 3).

Рис. 2.3 Схема данных

База данных состоит из следующих таблиц:

«Жанр фильма». Содержит следующие поля: Код жанра (ключевое); Жанр фильма. (рис. 2. 4).

Рис. 2.4. Жанр фильма

«Фильмы». Содержит поля: Код фильма (ключевое); Фильм; Режиссер; Год выпуска; Жанр; Дата начала; Дата окончания; Страна; Возрастые ограничения. (рис. 2. 5)

Рис. 2.5. Фильмы

«Показ фильмов». Включает поля: Код показа (ключевое); Дата; Фильм; Сеанс; Тип дня; Цена. (рис. 2. 6).

Рис. 2.6. Показ фильмов

«Тип дня». Содержит поля: Код дня (ключевое); Тип дня. (рис2. 7).

Рис. 2.7. Тип дня

«Проданные билеты». Содержит поля: Код билета (ключевое); Ряд; Место; Сеанс; Фильм. (рис. 2. 8).

Рис. 2.8. Проданные билеты

База данных содержит следующие запросы:

-«Сеансы Запрос» — запрос с параметром по времени сеанса. (рис. 2. 9).

Рис. 2.9. Сеансы. Запрос

-«Фильмы Запрос» — запрос по названию фильма. (рис. 2. 10).

Рис. 2. 10. Фильмы. Запрос

База данных содержит следующие формы:

-Начальная. Автоматически появляется при запуске. (рис. 2. 11).

Рис. 2. 11. Стартовая страница базы данных

-Показ фильмов. (рис. 2. 12).

Рис. 2. 12. Форма «Показ фильмов»

-Фильмы. Форма позволяющая добавлять и снимать фильмы с проката. (рис. 2. 13).

Рис. 2. 13. Форма фильмы

-Проданные билеты. Форма позволяет регистрировать проданные билеты (рис. 2. 14).

Рис. 2. 14. Форма билеты

База данных содержит следующие отчеты:

-«Показ фильмов «- выводит данные фильме, сеансах; ценах; (рис. 2. 15).

Рис. 2. 15. Отчет «Показ фильмов»

«Фильм» — выводит все фильмы в прокате, данные о режиссере, жанре и годе выпуска (рис. 2. 16).

Рис. 2. 16. Отчет «Фильмы»

Приложение Delphi

Главное меню (рис. 2. 17) содержит таблицы: Фильмы, Сеансы, Фильтрация. Таблица Фильм заполняется в соответствии с содержанием проката. Окно «Проданные билеты» открывается с помощью кнопки.

Таблица Фильмы (рис. 2. 17), содержит теже поля, что и СУБД Access, заполняется пользователем вручную. С помощью кнопок «Удалить», «Добавить», «Отменить» можно проводить различные операции. Слева выплывает окно «Справочники» предназначенное для заполнения таблиц, оно осдержит исключительно идентификационные номера.

Рис. 2. 17 Главное окно

Проданные билеты (рис. 2. 18). Фильтруются по ряду, по месту, по фильму, по типу сенанса.

Рис. 2. 18. Проданные билеты

Для удаления записи используем кнопку удалить. Потверждаем удаление. (рис. 2. 19).

Рис. 2. 19. Потверждение удаления записи

Для удаления фильма используется кнопка «Удалить фильм» с потверждением. (рис. 2. 20).

Рис. 2. 20. Удаление фильма

Удаление записи с индексом. (рис. 2. 21). Например с индексом 3.

Рис. 2. 21. Удаление записи с индексом

Фильтрацию можно проводить: По типу сеанса (рис. 2. 22); по выражению (рис. 2. 23); по дате (рис. 2. 24).

Рис. 2. 22. Фильтрация по типу сеанса

Рис. 2. 23. По выражению в будние дни до 4 сеанса

Рис. 2. 24 Фильтрация по дате

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

2. 3.1 Типы ошибок

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

— синтаксические ошибки;

— ошибки времени выполнения программы (run-time-errors);

— смысловые (логические) ошибки.

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

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

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

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

Если нельзя зафиксировать условия возникновения ошибки, нельзя понять причину ошибки и устранить её.

2. 3.2 Этапы отладки

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

выявление ошибки;

локализация ошибки в тексте программы;

установление причины ошибки;

исправление ошибки.

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

2. 3.3 Тесты на использование

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

1. Добавление данных:

— запущен исполняемый файл программы;

— запущена форма «Выдача пропуска клиенту»;

— введены данные о новом клиенте и выданном ему пропуске;

— завершена работа программы;

— программа была вновь открыта: добавленные данные присутствовали;

— испытание было повторено.

Вывод: данные были успешно сохранены в файле базы данных и корректно отображаются в приложении.

2. Добавление некорректных данных:

— совершено добавление некорректных данных;

— программа выдала сообщение об ошибке;

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

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

3. Удаление данных:

— некоторые данные были удалены (данные о клиенте, получившем пропуск);

— во время просмотра удалённые записи отсутствовали;

— был совершен выход из программы и повторный запуск;

— все ранее внесённые изменения присутствовали.

Вывод: программа успешно удаляет данные.

4. Системные и аппаратные сбои:

— запуск программы;

— в структуру данных внесены изменения;

— совершён нестандартный выход;

— программа вновь загружена.

При просмотре сделан вывод: нестандартный выход файл данных не повредил, однако новые изменения внесены были.

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

2.4 Разроботка инструкции пользователю

Данный программный продукт очень прост в использовании. Все операции и действия осуществляются с помощью расположенных рядом с полями кнопок (рис. 2. 25).

Рис. 2. 25. Кнопки главного окна

Кнопка «Удалить фильм» удаляет запись, сделанную в окне Фильмы. Для фильтрации используются переключатели и строка для ввода выражения. «Добавить», «Отменить», «Удалить» помогают выполнять операции с окном Сеансы. Кнопка «Проданные билеты» выдает пользователю следующее окно (рис. 2. 26).

Рис. 2. 26. Кнопки окна «Проданные билеты»

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

Важно помнить, что информация в окнах «Сеансы» и «Проданные билеты» содержит только идентификационные номера, расшифровку которым можно найти в побочном окне «Справочники» (рис. 2. 27) и основном «Фильмы».

Рис. 2. 27 Идентификационные номера в окне «Справочники»

ЗАКЛЮЧЕНИЕ

Программное средство «Информационно-справочная система кинотеатра» реализовано с использованием Delphi 7.

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

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

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Архангельский А. Я. Delphi 7 [Текст]: Справочное пособие, -- М: БИНОМ, 2006. — 1152 с.

2. Архипенков, С. Хранилища данных: от концепции до внедрения. [Текст]: / С. Архипенков Д. Голубев, О. Максименков. — М: ДИАЛОГ-МИФИ, 2002.

3. Баженова, И. Ю. Основы проектирования приложений баз данных. [Текст]: учеб. пособие ./ И. Ю. Баженова — М.: Интернет-Ун-т Информ Технологий БИНОМ. Лаб. знаний, 2006. — 324 с.: ил

4. Ахаян Р., Горев А., Макашарипов С. «Эффективная работа с СУБД», Санкт-Петербург, 2007. — 206с.

5. Банк В. С., Зверев В. С. Информационные технологии в экономике, [Текст]: -Москва -2003. — 214с.

6. Бобровский С. И. Delphi 7 [Текст]: Учебный курс, — СПб.: Питер, 2008. — 736 с.

7. Бобровский, С. Delphi 6 и Kylix: библиотека программиста. [Текст]:/ - СПб.: Питер, 2002. — 560 с.

8. Борисов, В. В. Компьютерная поддержка сложных организационно-технических систем. [Текст]:/ В. В Борисов, И. А. Бычков, А. В. Дементьев. — Горячая линия — Телеком, 2002 -154с.: ил

9. Гайдамакин, Н. А. Автоматизированные информационные системы, базы и банки данных. ввод. курс [Текст]: учеб. пособие для вузов ./ Н. А. Гайдамакин — М.: Гелиос АРВ, 2002. — 368 с.: ил

10. Дейт, К. Д. Введение в системы баз данных [Текст]:/ К. Д. Дейт. — Вильямс, 2006. — 1328 с.: ил

11. Диго, С. М. Проектирование и использование баз данных. [Текст]: учебник для вузов ./ С. М. Диго — М.: Финансы и статистика, 1995. — 208с.: ил

12. Докучаев А. А., Мошенский С. А., Назаров О. В. Средства информатики в офисе торговой фирмы. Средства компьютерных коммуникаций[Текст]: — СП б, ТЭИ, 2007. — 32с.

13. Золотова, С. И. Практикум по Access. [Текст]: подгот. курс, предваряющий более глубокое изучение технологии баз данных ./ С. И. Золотова — М.: Финансы и статистика, 2000. — 144 с.: ил

14. Ивлиев М. К., Порошина Л. А. Автоматизация оперативного и бухгалтерского учета товаров/Учебное пособие. М.: МУПК, 1997.

15. Карпова, Т. С. Базы данных: модели, разработка, реализация. [Текст]: / Т. С. Карпова. — СПб.: Питер, 2002. — 304 с.: ил

16. Ковязин, А. Н. Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/Firebird/Yaffil. [Текст]:/ А. Н. Ковязин, С. М. Востриков. — М.: КУДИЦ-ОБРАЗ, 2002. — 429 с.: ил

17. Когаловский, М. Р. Энциклопедия технологий баз данных. Эволюция технологий. Технологии и стандарты. Инфраструктура. Терминология. [Текст]: / М. Р. Когаловский — М.: Финансы и статистика, 2002. — 799 с.: ил

18. Карминский А. М., Нестеров П. В. Информатизация бизнеса. М.: Финансы и статистика, 1997

19. Качайлов А. Е. Автоматизация учета на базах и складах. М.: Экономика, 1970.

20. Клименко С. В., Уразметов В. Ф. Internet: среда обитания информационного общества. [Текст]: — Протвино.: РЦ ФТИ, 2005. — 215с.

21. Климова Р. Н., Сорокина М. В., Хахаев И. А., Мошенский С. А. Информатика торговой фирмы / Учебное пособие. Для студентов всех специальностей всех форм обучения[Текст]: — СП б.: СПбТЭИ, 2008. — 32с.

22. Кузин, А. В., Демин, В. М. Разработка баз данных в системе Microsoft Access. [Текст]: учеб. для сред. проф. образования. — М.: Форум ИНФРА-М, 2005. — 223 с.: ил

23. Кузнецов, С. Д. Основы баз данных. Курс лекций [Текст]: учеб. пособие для вузов по спец. в обл. информ. технологий / С. Д. Кузнецов — М.: Интернет-Ун-т Информ. Технологий, 2005. — 484 с.: ил

24. Ламберт, С. MICROSOFT OFFICE ACCESS 2007. Шаг за шагом + приложение. [Текст]:/ Стив Ламберт, Доу Ламберт.- ЭКОМ, 2007.- 432 с.: ил

25. Маклаков. Создание информационных систем с AllFusion Modeling Suite. [Текст]:/ Маклаков — Диалог-Мифи, 2007 — 432с.: ил

26. Малыхина, М. П., Базы данных: основы, проектирование, использование. [Текст]: учеб. пособие для вузов по спец. «Информатика и вычисл. техника» ./ М. П. Малыхина — СПб.: БХВ-Петербург, 2006. — 517 с.: ил

27. Марысаев В. Б. Персональный компьютер: Иллюстрированный справочник [Текст]: — Москва, 2007 — 120с.

28. Нанс Б. Компьютерные сети: Пер. с англ. [Текст]: — М.: Восточная книжная компания, 2007. — 456с.

29. Пятибратов А. П., Гудындо Л. П., Кириченко А. А. Вычислительные системы, сети и телекоммуникации[Текст]: — М., Финансы и статистика, 2005. — 341с.

30. Парижский С. М. Delphi. Учимся на примерах [Текст]: Справочное пособие/Под ред. Ю. А. Шпака — К.: «МК-Пресс», 2005. -216с,

31. Фаронов, В. В., Программирование баз данных в Delphi 8. [Текст]: / В. В. Фаронов. — СПб.: Питер

32. Фуфаев, Э. В. Базы данных. [Текст]: учеб. пособие для сред. проф. образования ./ Э. В. Фуфаев, Д. Э Фуфаев. — М.: Академия, 2006. — 320 с.: ил

33. Хендерсон, К. Профессиональное руководство по SQL Server. Структура и реализация. [Текст]:/ К. Хендерсон. — Вильямс, 2006. — 1056 с.: ил

34. Шекхар, Ш. Основы пространственных баз данных. Геоинформационные системы. САПР. Мультимедиа. [Текст]: учеб. пособие/ Ш. Шекхар. — М.: КУДИЦ-ОБРАЗ, 2004. — 330 с.: ил

35. Delphi 7 А. [Текст]:/ Хомоненко, В Гофман, Е Мещеряков и др.: под ред. Ф Хомоненко. Санкт — СПб.: БХВ-Петербург, 2004. — 12 016 с. :ил.

ПРИЛОЖЕНИЕ 1

Содержание и объем функций на разрабатываемое ПС ВТ

№ функции

Содержание функции

Объем, условных машино-команд

101

Организация ввода информации

100

№ функции

Содержание функции

Объем, условных машино-команд

201

Генерация структуры базы данных

3450

301

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

340

302

Сортировка файла

340

401

Генерация рабочих программ

3680

501

Монитор ПС ВТ (управление работой компонентов)

350

507

Обеспечение интерфейса между компонентами

730

605

Вспомогательные и сервисные программы

460

704

Процессор отчетов

1070

705

Формирование и вывод на внешние носители

2650

Итого

13 920

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

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

где VO - общий объем ПС, условных машино-команд;

Vi - объем i-ой функции ПС, условных машино-команд;

n - общее число функцией.

В связи с достаточно быстрым изменением ВТ рекомендуется определить скорректированный объем функций по формуле:

где Vo/ - скорректированный объем ПС, условных машино-команд;

VO — общий объем ПС, условных машино-команд;

Кск — коэффициент изменения скорости обработки информации;

Vo/ = 13 920*0,5 = 6960 условных машино-команд.

ПРИЛОЖЕНИЕ 2

Листинг

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, DBCtrls, ExtCtrls, Mask;

type

TForm1 = class (TForm)

Button1: TButton;

Database1: TDatabase;

DBGrid1: TDBGrid;

Table1: TTable;

Table2: TTable;

DataSource1: TDataSource;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

RadioGroup1: TRadioGroup;

ComboBox1: TComboBox;

Edit1: TEdit;

ComboBox2: TComboBox;

Edit2: TEdit;

Edit3: TEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBLookupComboBox3: TDBLookupComboBox;

DBEdit1: TDBEdit;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Table1Id: TFloatField;

Table1Film: TStringField;

Table1Director: TStringField;

Table1IssueYear: TFloatField;

Table1Start: TDateField;

Table1End: TDateField;

Table1Country: TStringField;

Table1Restristion: TFloatField;

Table1Genre: TFloatField;

Button7: TButton;

procedure Button1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Edit1KeyUp (Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure ComboBox1Change (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button5Click (Sender: TObject);

procedure Button6Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button7Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *. dfm}

procedure TForm1. Button1Click (Sender: TObject);

begin

Form2. Show;

Form1. Button1. Visible:=false;

end;

procedure TForm1. FormShow (Sender: TObject);

begin

Form2. Show;

Table1. Active:=true;

Table2. Active:=true;

Form2. Table1. Active:=true;

Form2. Table2. Active:=true;

Form2. Table3. Active:=true;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

DataBase1. Connected:=false;

Database1. Params. Clear;

Database1. DatabaseName: ='DB';

Database1. DriverName: ='STANDARD';

Database1. Params. Add ('PATH='+getcurrentdir+'DB');

DataBase1. Connected:=true;

Table1. DatabaseName:=DataBase1. DatabaseName;

Table1. TableName:='Film. DB';

Table1. Active:=true;

Table2. DatabaseName:=DataBase1. DatabaseName;

Table2. TableName:='Session. DB';

Table2. Active:=true;

end;

procedure TForm1. Edit1KeyUp (Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If (ComboBox1. Text<>'=') AND (ComboBox1. Text<>'<>') AND (Edit1. Text<>'') then

begin

ComboBox2. Enabled:=true;

Edit2. Enabled:=true;

end

else

begin

ComboBox2. Enabled:=false;

Edit2. Enabled:=false;

end;

end;

procedure TForm1. ComboBox1Change (Sender: TObject);

begin

If (ComboBox1. Text='=') OR (ComboBox1. Text='<>') OR (Edit1. Text='') then

begin

ComboBox2. Enabled:=false;

Edit2. Enabled:=false;

end

else

begin

ComboBox2. Enabled:=true;

Edit2. Enabled:=true;

end;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

IF Table2. State = dsBrowse THEN

Table2. Insert;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

IF Table2. State = dsBrowse THEN

IF MessageDlg ('Подтвердите удаление записи', mtConfirmation,[mbYes, mbNo], 0) = mrYes

THEN Table2. Delete;

end;

procedure TForm1. Button5Click (Sender: TObject);

begin

IF Table2. State in [dsInsert, dsEdit] THEN

Table2. Cancel;

end;

procedure TForm1. Button6Click (Sender: TObject);

begin

IF Table1. State = dsBrowse THEN

IF MessageDlg ('Подтвердите удаление фильма', mtConfirmation,[mbYes, mbNo], 0) = mrYes

THEN Table1. Delete;

end;

procedure TForm1. Button2Click (Sender: TObject);

var str, t: string;

begin

case RadioGroup1. ItemIndex of

0: t: ='Date';

1: t: ='SessionTypeId';

2: t: ='FilmId';

3: t: ='DayTypeId';

4: Table2. Filter:= Edit3. Text;

end;

str: =t+ComboBox1. Text+Label1. Caption+Edit1. Text+Label1. Caption;

If (ComboBox2. Enabled=true) AND (ComboBox2. Text<>'') AND (Edit2. Text<>'') then

str: =str+' AND '+t+ComboBox2. Text+Label1. Caption+Edit2. Text+Label1. Caption;

Table2. Filter:=str;

end;

procedure TForm1. Button7Click (Sender: TObject);

begin

Form3. Show;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids;

type

TForm2 = class (TForm)

Button1: TButton;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Table1: TTable;

DataSource2: TDataSource;

Table2: TTable;

DBGrid2: TDBGrid;

DataSource3: TDataSource;

Table3: TTable;

DBGrid3: TDBGrid;

procedure Button1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm2. Button1Click (Sender: TObject);

begin

Form2. Hide;

Form1. Button1. Visible:=true;

end;

procedure TForm2. FormCreate (Sender: TObject);

begin

Table1. DatabaseName:=Form1. DataBase1. DatabaseName;

Table1. TableName:='DayType. DB';

Table1. Active:=true;

Table2. DatabaseName:=Form1. DataBase1. DatabaseName;

Table2. TableName:='SessionType. DB';

Table2. Active:=true;Table1. DatabaseName:='DB';

Table3. DatabaseName:=Form1. DataBase1. DatabaseName;

Table3. TableName:='Genre. DB';

Table3. Active:=true;

end;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, StdCtrls, ExtCtrls, DB, DBTables, Grids, DBGrids;

type

TForm3 = class (TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Button2: TButton;

Button3: TButton;

DataSource1: TDataSource;

Table1: TTable;

Button4: TButton;

RadioGroup1: TRadioGroup;

Edit1: TEdit;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

Edit2: TEdit;

Edit3: TEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

Label1: TLabel;

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1;

{$R *. dfm}

procedure TForm3. FormCreate (Sender: TObject);

begin

Table1. DatabaseName:=Form1. DataBase1. DatabaseName;

Table1. TableName:='Ticket. DB';

Table1. Active:=true;

end;

procedure TForm3. Button1Click (Sender: TObject);

begin

IF Table1. State = dsBrowse THEN

Table1. Insert;

end;

procedure TForm3. Button3Click (Sender: TObject);

begin

IF Table1. State = dsBrowse THEN

IF MessageDlg ('Подтвердите удаление записи', mtConfirmation,[mbYes, mbNo], 0) = mrYes

THEN Table1. Delete;

end;

procedure TForm3. Button2Click (Sender: TObject);

begin

IF Table1. State in [dsInsert, dsEdit] THEN

Table1. Cancel;

end;

procedure TForm3. Button4Click (Sender: TObject);

var str, t: string;

begin

case RadioGroup1. ItemIndex of

0: t: ='Row';

1: t: ='Seat';

2: t: ='SessionType';

3: t: ='FilmId';

4: Table1. Filter:= Edit3. Text;

end;

str: =t+ComboBox1. Text+Label1. Caption+Edit1. Text+Label1. Caption;

If (ComboBox2. Enabled=true) AND (ComboBox2. Text<>'') AND (Edit2. Text<>'') then

str: =str+' AND '+t+ComboBox2. Text+Label1. Caption+Edit2. Text+Label1. Caption;

Table1. Filter:=str;

end;

end.

. ur

ПоказатьСвернуть
Заполнить форму текущей работой