47153 (Информационная система оптимизации работы сотрудников по прокату кино и видео фильмов)

2016-07-30СтудИзба

Описание файла

Документ из архива "Информационная система оптимизации работы сотрудников по прокату кино и видео фильмов", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47153"

Текст из документа "47153"

Аннотация

В пояснительной записке описан процесс проектирования, разработки и создания многопользовательской информационной системы. База данных для информационной системы создана под управлением сервера баз данных InterBase 6.0, а интерфейс спроектирован и разработан в среде визуального программирования Borland Delphi 7.0.

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

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

  • содержание информационных потоков, возникающих в процессе функционирования организации;

  • разработка структуры корпоративной информационной системы;

  • изучение функций менеджера;

  • проектирование БД CASE-средствами;

  • создание БД под управлением сервера баз данных InterBase 6.0;

  • разработка пользовательского интерфейса для рабочего места менеджера средствами Borland Delphi.

Содержание

1.Назначение и область применения информационной системы.

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

3. Структура информационной системы.

4. База данных рабочего места.

4.1. Проектирование.

4.3.Структура базы данных.

5.Создание таблиц.

6.Создание триггеров.

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

7.1.Выпадающее меню Ввод и редактирование данных.

7.2Выпадающее меню Запросы.

7.3Выпадающее меню Диаграммы.

7.4Выпадающее меню Отчёты.

Заключение.

1. Назначение и область применения информационной системы

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

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

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

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

1. Клиентская программа должна осуществлять следующее:

    1. Ввод и редактирование данных;

    2. просмотр сведений о кинофильмах и кинотеатрах, в которых они демонстрируются, на текущую дату;

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

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

  1. Представление в графическом виде следующей информации:

    1. суммарный совокупный доход от аренды кинофильмов в разрезе кинотеатров за определённый временной период;

    2. количество фильмов продемонстрированных кинотеатрами за определённый временной период в разрезе кинотеатров.

  2. Представление следующей информации для вывода на печать:

    1. список фильмов, которые в определённый момент демонстрируются в кинотеатрах города;

    2. список производителей фильмов, с которыми определенный кинотеатр заключил договора в течении определённого периода времени.

Информационная система должна быть реализована средствами Borland Delphi 7.0.


3. Структура информационной системы

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

Представим информационную систему фотоателье на рисунке 1:



  1. поставки

  2. продажи

  3. заказы







Рисунок 1

4. База данных рабочего места


4.1. Проектирование

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

1. Водители: номер водителя, фамилия, имя, отчество.

Первичный ключ: NOMER_V

2.Автобусы: номер автобуса, название модели, номер водителя, дата введения в эксплуатацию

Первичный ключ: NOMER_A

Внешний ключ: NOMER_V.

3.Контролеры: номер контролера, фамилия, имя, отчество.

Первичный ключ: NOMER_K

4.Маршрут: номер маршрута, название, протяженность, среднее время.

Первичный ключ: NOMER_M

5.Раписание рейсов: номер рейса, дата отправления, номер маршрута, намер контролера, номер автобуса.

Первичный ключ: NOMER_R

Внешние ключи: NOMER_M, NOMER_A, NOMER_K

6.Заказ: номер заказа, дата приема заказа, дата выполнения заказа, номер клиента.

Первичный ключ: N_ZAKAZA

Внешние ключи: NOMER_V, NOMER_A,

4.2.Нормализация

Обоснование состояния 3-ей нормальной формы

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

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

Во всех таблицах все не ключевые атрибуты взаимно независимы. Например, не ключевые атрибуты таблицы «Клиент» функционально не зависят друг от друга (фамилия и имя не зависят от адреса и т.д.. Аналогично доказывается взаимная независимость не ключевых атрибутов всех остальных таблиц данной БД, поэтому они находятся в 3-ей нормальной форме, а, следовательно, свободны от избыточности и связанными с ней аномалиями обновления.


5.Создание таблиц

1) Таблица “автобусы”

CREATE TABLE A (

NOMER_A INTEGER NOT NULL,

MODEL VARCHAR(20),

NOMER_V INTEGER,

DATAV TIMESTAMP

)

2)Таблицаконтролеры

CREATE TABLE K (

NOMER_K INTEGER NOT NULL,

FAMILIA VARCHAR(20),

NAME VARCHAR(20),

OTCH VARCHAR(20)

)

3) Таблицамаршруты

CREATE TABLE M (

NOMER_M INTEGER NOT NULL,

NAZVAN VARCHAR(20),

PROT INTEGER,

SRTIME INTEGER

)

4)Таблицарейсы

CREATE TABLE R (

NOMER_R INTEGER NOT NULL,

DATAOTPR TIMESTAMP,

NOMER_M INTEGER,

NOMER_K INTEGER,

NOMER_A INTEGER

)

5) Таблицатехнический осмотр

CREATE TABLE TECH_OSMOTR (

NOMER_TO INTEGER NOT NULL,

DATETO TIMESTAMP NOT NULL,

REZULT VARCHAR(50),

NOMER_V INTEGER,

NOMER_A INTEGER

)

6) Таблица “водители ”

CREATE TABLE V (

NOMER_V INTEGER NOT NULL,

FAMILIA VARCHAR(20),

NAME VARCHAR(20),

OTCH VARCHAR(20)

)


6.Создание триггеров

Создание триггера для заполнения номера компонента в таблице «Автобус»:

CREATE TRIGGER INS_A FOR A BEFORE INSERT POSITION 0 as declare variable cn integer;

begin

select max(nomer_a) from a into :cn;

if (cn is null) then new.nomer_a=1;

else

new.nomer_a=cn+1;

end

Создание триггера для заполнения номера компонента в таблице «Контролер»:

CREATE TRIGGER INS_K FOR K BEFORE INSERT POSITION 0 as declare variable cn integer;

begin

select max(nomer_k) from k into :cn;

if (cn is null) then new.nomer_k=1;

else

new.nomer_k=cn+1;

end

Создание триггера для заполнения номера компонента в таблице «маршрут»:

CREATE TRIGGER INS_M FOR M BEFORE INSERT POSITION 0 as declare variable cn integer;

begin

select max(nomer_m) from m into :cn;

if (cn is null) then new.nomer_m=1;

else

new.nomer_m=cn+1;

end

Создание триггера для заполнения номера компонента в таблице «Технический осмотр»:

CREATE TRIGGER INS_TO FOR TECH_OSMOTR BEFORE INSERT POSITION 0 as declare variable cn integer;

begin

select max(nomer_to) from tech_osmotr into :cn;

if (cn is null) then new.nomer_to=1;

else

new.nomer_to=cn+1;

end

Создание триггера для заполнения номера компонента в таблице «Заказ»:

CREATE TRIGGER INS_V FOR V BEFORE INSERT POSITION 0 as declare variable cn integer;

begin

select max(nomer_v) from v into :cn;

if (cn is null) then new.nomer_v=1;

else

new.nomer_v=cn+1;

end

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

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

7.1.Выпадающее меню Ввод и редактирование данных

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

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

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

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

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

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

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


7.2Выпадающее меню Запросы

При нажатии на это пункт меню появится выпадающий список, из которого можно выбрать один из 5запросов.

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

SQL для этого запроса выглядит следующим образом:

Select M.NAZVAN, R.DATAOTPR from M,R

SQL для кнопки «просмотр» выглядит следующим образом:

Select M.NAZVAN, R.DATAOTPR from M,R' );

where M.NOMER_M=R.NOMER_M and R.DATAOTPR>='+''''+edit1.Text+''''+'

and R.DATAOTPR<='+''''+edit2.text+''''

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

При вводе модели автобуса и нажатии на кнопку «определенный автобус» формируется таблица данных.

SQL для этого запроса выглядит следующим образом:

Select a.model, nazvan ,prot

from A,V,m,R

where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a

SQL для этого кнопки выглядит следующим образом:

QUERY1.CLOSE;

QUERY1.SQL.CLEAR;

QUERY1.SQL.ADD('Select a.model,nazvan ,prot from A,V,m,R' );

QUERY1.SQL.ADD('where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a and model='+''''+edit1.Text+'''') ;

QUERY1.open;

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

SQL для этого запроса выглядит следующим образом:

Select distinct a.model,sum(PROT) from A,V,m,R

where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a group by model

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

SQL для этого запроса выглядит следующим образом:

Select M.NAZVAN, R.DATAOTPR, K.FAMILIA , v.familia from M,R,K, v,a

where M.NOMER_M=R.NOMER_M and

K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and a.nomer_v=a.NOMER_a

and v.familia like :fv and k.familia like :fk

SQL для этого кнопки выглядит следующим образом:

procedure TForm12.Button1Click(Sender: TObject);

begin

QUERY1.CLOSE;

QUERY1.ParamByName('fk').value:=Edit1.Text+'%';

QUERY1.ParamByName('fv').value:=Edit2.Text+'%';

QUERY1.open;

end;

SQL для этого кнопки выглядит следующим образом:

procedure TForm12.FormActivate(Sender: TObject);

begin

QUERY1.CLOSE;

QUERY1.ParamByName('fk').value:='%';

QUERY1.ParamByName('fv').value:='%';

QUERY1.open;

end;

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

Результат запроса выглядит следующим образом

SQL для этого запроса выглядит следующим образом:

Select a.model, TECH_OSMOTR.dateto, TECH_OSMOTR.rezult, v.familia from TECH_OSMOTR, v,a

where

TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a and a.model like :m

SQL для этого кнопки выглядит следующим образом:

procedure TForm18.Button1Click(Sender: TObject);

begin

form18.query1.close;

form18.QUERY1.ParamByName('m').value:=Edit1.Text+'%';

form18.query1.open;

end;

Select a.model, TECH_OSMOTR.dateto, TECH_OSMOTR.rezult, v.familia from TECH_OSMOTR, v,a

where

TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a and v.familia like :f

procedure TForm20.Button1Click(Sender: TObject);

begin

form20.query1.close;

form20.QUERY1.ParamByName('f').value:=Edit1.Text+'%';

form20.query1.open;

end;

Выбрав запрос «Сведения о количестве», можно посмотреть сведения о количестве ТО, проведенных каждым сотрудником.

Запрос выглядит следующим образом:

Select v.familia, count(v.familia) from TECH_OSMOTR, v,a

where TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a

group by v.familia

7.3Выпадающее меню Диаграммы

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

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

Необходимо ввести фамилию мастера и выбрать период. Нажать на кнопку «Просмотр».

Запрос выглядит следующим образом:

Select familia, count(familia) from M,R,K, v,a

where M.NOMER_M=R.NOMER_M and

K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and v.nomer_v=a.NOMER_v and

dataotpr>=:d1 and dataotpr<=:d2

group by v.familia

Select model, count(model) from M,R,K, v,a

where M.NOMER_M=R.NOMER_M and

K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and v.nomer_v=a.NOMER_v and

dataotpr>=:d1 and dataotpr<=:d2

group by a.model

gr1.query1.close;

gr1.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;

gr1.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;

gr1.query1.open;

gr1.query3.close;

gr1.QUERY3.ParamByName('d1').asDate:=DateTimePicker1.Date;

gr1.QUERY3.ParamByName('d2').asDate:=DateTimePicker2.Date;

gr1.query3.open;

7.4Выпадающее меню Отчёты.

При нажатии на этот пункт меню «Отчеты» появится пункт «Списочный состав автопарка и персонала предприятия».

Выбрав его, появляется соответствующий отчет.

SQL для оттого отчёта выглядит следующим образом:

select v.familia, k.familia from k, v,a,r

where

K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and a.nomer_v=v.NOMER_v

group by v.familia, k.familia

Отчет о маршрутах можно сформировать. Нажав на кнопку «Просмотр» на форме «расписание маршрутов за определенный период»

Запрос выглядит следующим образом:

Select M.NAZVAN, R.DATAOTPR from M,R

where M.NOMER_M=R.NOMER_M and

dataotpr>=:d1 and dataotpr<=:d2

form17.query1.close;

form17.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;

form17.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;

form17.query1.open;

form16.query1.close;

form16.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;

form16.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;

form16.query1.open;

form16.quickrep1.preview;


Заключение

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

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

После выполнения курсового проекта, я освоила работу в среде Borland Delphi 7.0 в связи с СУДБ Inter Base 6.0 и приобрела навыки работы с SQL Explorer, а также получила практический опыт написания запросов на языке SQL, практические и теоретические навыки работы в структуре корпоративных информационных систем.

25



Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее