Інформаційна система оптимізації роботи співробітників з прокату кіно та відео фільмів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Анотація
У пояснювальній записці описаний процес проектування, розробки і створення багатокористувацької інформаційної системи. База даних для інформаційної системи створена під управлінням сервера баз даних 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.1. Введення і редагування даних;
1.2. перегляд відомостей про кінофільмах і кінотеатрах, в яких вони демонструються, на поточну дату;
1.3. перегляд відомостей про кінофільмах, які були взяті в оренду для демонстрації в певному кінотеатрі, за конкретний час;
1.4. перегляд відомостей про виробників фільмів, з якими були укладені договори певним кінотеатром.
2. Подання в графічному вигляді такої інформації:
2.1. сумарний сукупний дохід від оренди кінофільмів у розрізі кінотеатрів за певний часовий період;
2.2. кількість фільмів продемонстрованих кінотеатрами за певний часовий період у розрізі кінотеатрів.
3. Подання такої інформації для виведення на друк:
3.1. список фільмів, які в певний момент демонструються в кінотеатрах міста;
3.2. список виробників фільмів, з якими певний кінотеатр уклав договори на протязі певного періоду часу.
Інформаційна система повинна бути реалізована засобами Borland Delphi 7.0.

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

У цій роботі розроблено користувальницький інтерфейс програми, що дозволяє автоматизувати діяльність фірми, що виробляє меблі, зі статистичними показниками, які можуть переглядати працівники бухгалтерії та відділів збуту і постачань.
Уявімо інформаційну систему фотоательє на малюнку 1:
АРМ бухгалтерії
АРМ менеджера
Сервер СУБД
Сховище даних про товари на складі, послуги, замовлення, поставили ....
1. товари
2. постачальники
3. послуги
4. клієнти
5. співробітники
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.Нормалізація

Обгрунтування стану третій нормальної форми

Всі розроблені таблиці знаходяться в 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.divview;

Висновок

Поставлена ​​задача виконана успішно. У результаті виконання була розроблена інформаційна система, що автоматизує діяльність фірми, що виробляє меблі.
Розроблена інформаційна система дозволяє спростити процес обліку та збору інформації, приймати замовлення на надання послуг, формувати і контролювати процес ведення справ.
Після виконання курсового проекту, я освоїла роботу в середовищі Borland Delphi 7.0 у зв'язку з Доля Inter Base 6.0 і набула навичок роботи з SQL Explorer, а також отримала практичний досвід написання запитів на мові SQL, практичні та теоретичні навички роботи в структурі корпоративних інформаційних систем.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
39кб. | скачати


Схожі роботи:
Пошук глядача документального кіно на прикладі фільмів режисера У Косаківського
Коротка інформація про конкурентної ситуації у сфері теле-відео кіно-індустрії РФ
Вплив змін за місцем роботи на співробітників організації
Документаційне забезпечення роботи з персональними даними співробітників складального виробництва 90
Шляхи оптимізації роботи персоналу в організаціях соціальних служб
Шляхи оптимізації роботи з формування навички словотворення на етапі закріплення матеріалу у 2
Шляхи оптимізації роботи з формування навички словотворення на етапі закріплення матеріалу у
Бухгалтерський уч т як інформаційна система
Інформаційна система ВНЗ
© Усі права захищені
написати до нас