Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Журавлёв.doc
Скачиваний:
4
Добавлен:
24.09.2019
Размер:
1.98 Mб
Скачать

Глава II. Технология разработки информационной системы салона видеопроката

2.1. Требования к функциям системы

Программа автоматизации салона видеопроката должна выполнять следующие функции:

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

  2. Выписывать чеки при каждой новой сделке по прокату или продаже;

  3. Вести систему скидок постоянным клиентам;

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

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

  6. Быстрый поиск видеопродукции по названию, жанру, носителю или стране производителю;

  7. Просмотр статистики заказов по конкретному клиенту, фильму или менеджеру заключающему сделки;

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

  9. Возможность ранжировать сотрудников, добавлять, удалять и редактировать данные;

  10. При возвращении фильма из проката, оценивать его состояние и срок возвращения, и в случае каких-либо не соответствии назначать штраф.

Главные функции в программе:

  • Регистрация нового клиента, печать карточки клиента;

  • Автоматическое определение кассет и клиентов по коду;

  • Система тарифов и скидок;

  • Списание кассеты(потеря, порча, выкуп);

  • Наём, увольнение, ранжирование сотрудников;

  • Регистрация нового фильма и кассет с этим фильмом;

  • Выдача кассет в прокат, возврат кассет из проката;

  • Печать отчетности.

2.2. Проектирование программы видеопроката по обслуживанию клиентов

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

Графически представить структуру базы данных можно с помощью схемы данных (рисунок 4)

Рисунок 4. Схема данных

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

Структурно база данных состоит из семи таблиц:

  1. Клиенты – для заполнения, хранения и работы;

  2. Сотрудники - для хранения информации о логине и пароле пользователей и других личных данных;

  3. Фильмы – для хранения всех сведений о фильмах;

  4. Сделки – для оформления сделок;

  5. Носитель - сведения о носителе;

  6. Страна – список стран производителей;

  7. Жанр – список жанров фильмов.

Таблица 1

Атрибуты сущности «Клиенты»

Атрибут

Тип поля

Информация атрибута

ID

Счетчик

Ключевое поле для связи с таблицей «сделки»

ФИО

Текстовый

Заполнение Ф.И.О.

Дата рождения

Дата/время

Заполнение даты рождения

Паспорт

Текстовый

Заполнение паспорта

Адрес

Текстовый

Заполнение адреса

Телефон

Числовой

Заполнение телефона

Дата регистрации

Дата/время

Заполняется дата регистрации

скидка

числовой

Процент начисленной скидки

Таблица 2

Атрибуты сущности «Сотрудники»

Атрибут

Тип поля

Информация атрибута

ID

Счетчик

Ключевое поле для связи с таблицей «сделки»

ФИО

Текстовый

Заполнение Ф.И.О.

Дата рождения

Дата/время

Заполнение даты рождения

Паспорт

Текстовый

Заполнение паспорта

Адрес

Текстовый

Заполнение адреса

Login

Текстовый

Логин сотрудника

Password

Текстовый

Пароль сотрудника

Должность

Текстовый

Должность сотрудника «Менеджер» или «Администратор»

Таблица 3

Атрибуты сущности «Сделки»

Атрибут

Тип поля

Информация атрибута

ID

Счетчик

Ключевое поле

Фильм

текстовый

Фильм, который взял клиент

Клиент

текстовый

Клиент который взял фильм

Дата вручения

Дата/время

Дата, когда взяли фильм

Дата возврата

Дата/время

Дата, в которую фильм должен быть возвращен

срок

числовой

Срок на который взяли фильм

стоимость

числовой

Общая стоимость сделки

статус

текстовый

Статус в котором находиться сделка

регистратор

текстовый

Сотрудник который, регистрировал сделку

Таблица 4

Атрибуты сущности «Фильмы»

Атрибут

Тип поля

Информация атрибута

ID

Счетчик

Поле ID для связи с таблицей “сделки”

Название

Текстовый

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

Режиссер

Текстовый

Режиссер фильма

Жанр

Текстовый

Жанр фильма

Страна

производитель

Текстовый

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

Носитель

Текстовый

Носитель на который записан фильм

Год издания

числовой

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

количество

числовой

Количество фильма на складе

Таблица 5

Атрибуты сущности «Носитель»

Атрибут

Тип поля

Информация атрибута

ID

Счетчик

Поле ID для связи с таблицей “Туры”

Название

текстовый

Название носителя

Стоимость

числовой

Стоимость при покупке

Стоимость

аренды

числовой

Стоимость дня аренды

2) Интерфейс приложения

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

Рисунок 5. Авторизация пользователя

После авторизации приложения откроется рабочее окно программы, которое выглядит следующим образом для администратора (рисунок 6):

Рисунок 6. Главное окно программы режим администратор

И таким образом для менеджера (рисунок 7):

Рисунок 7. Главное окно программы режим менеджер

В режиме администратора основными функциями является добавление нового сотрудника (рисунок 8) и регистрация в базе нового фильма (рисунок 9).

Рисунок 8. Добавление нового сотрудника

Рисунок 9. Добавление нового фильма

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

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

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

Рисунок 10. Заключение новой сделки

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

Рисунок 11. Возвращение фильма из проката

На рисунке 12 показаны связи таблиц базы данных и по каким атрибутам. Можно выделить 2 типа связей: один к одному и один ко многим.

Рисунок 12. ER-диаграмма

2.3. Разработка программного кода программы

Программный код для авторизации пользователя:

var i,n,k,z:integer;

begin

z:=0;

k:=0;

n:=adotable1.RecordCount;

adotable1.First;

if combobox1.Text='' then showmessage('Выберите режим работы');

for i:= 1 to n do

begin

if (combobox1.text='Администратор')

and (adotable1.FieldByName('должность').AsString='Администратор')

then

begin

if (edit1.text=adotable1.FieldByName('login').AsString)

and (edit2.text=adotable1.FieldByName('password').AsString)

then begin form1.Visible:=false; form2.show;z:=0; end

else begin z:=1;adotable1.Next; end;

end

else adotable1.Next;

end;

Первый цикл для авторизации пользователя администратора, в случае соответствия режима работы, логина и пароля, в случае не соответствия счетчику Z (счетчик соответствия для режима «администратор») присваивается значение 1:

adotable1.First;

for i:= 1 to n do

begin

if (combobox1.text='Менеджер')

then

begin

if (adotable1.FieldByName('должность').AsString='Менеджер')

and (edit1.text=adotable1.FieldByName('login').AsString)

and (edit2.text=adotable1.FieldByName('password').AsString)

then begin form1.Visible:=false; form3.show;z:=0;k:=0; form3.Label3.Caption:=adotable1.fieldbyname('Фамилия').AsString+' '+adotable1.fieldbyname('Имя').asstring; end

else begin k:=1;adotable1.Next; end;

end;

end;

Аналогично происходит для режима «Менеджер», только счетчик соответствия К:

if (z=1) then showmessage('Неверный логин или пароль или у вас нет прав работать в режиме администратора');

if (k=1) then showmessage('Неверный логин или пароль или у вас нет прав работать в режиме менеджера по продажам');

После прохождения циклов счетчики рассматриваются и если соответствий не было обнаружено (счетчик станет равен 1), то выходит сообщение об ошибке.

edit1.Text:='';

edit2.Text:='';

combobox1.Text:='';

end;

Программный код для пересчета предварительной стоимости проката:

procedure TForm7.Edit1Change(Sender: TObject);

var d1,d2:tdatetime;

x,i,n,s,s1,z:integer;

w:real;

begin

if edit1.text='' then x:=0

else x:=strtoint(edit1.text); // объявление срока аренды

d1:=date; // объявление даты вручения(текущая дата)

d2:=d1+x; // объявление даты возврата (текущая дата+срок)

label10.Caption:='0';

label14.Caption:='0';

label8.Caption:=datetostr(d1);

label9.Caption:=datetostr(d2);

n:=form6.adotable3.recordcount;

form6.adotable3.first;

for i:=1 to n do

begin

if form2.adotable2.FieldByName('носитель').asstring=form6.ADOTable3.FieldByName('носитель').asstring

then begin s:=form6.adotable3.FieldByName('стоимость_аренды').asinteger;

s1:=form6.adotable3.FieldByName('стоимость').asinteger;end

else form6.ADOTable3.Next;

end;

label10.Caption:=inttostr(s*x);

w:=(s*x)-((s*x)/100*form3.ADOTable1.fieldbyname('скидка').AsInteger);

z:=trunc(w);

label14.Caption:=inttostr(z);

x:=s1;

w:=s1-s1/100*form3.ADOTable1.fieldbyname('скидка').AsInteger;

s1:=trunc(w);

label12.Caption:=inttostr(s1);

end;

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

Программный код формирование ТОР фильмов:

begin

n:=adotable3.RecordCount;

for i:= 1 to n do

adotable3.Delete;

d:=datetimepicker1.Date;

d1:=datetimepicker2.Date;

m:=adotable2.RecordCount;

n:=form3.ADOTable2.RecordCount;

adotable2.First;

if checkbox1.checked=true then

for j:= 1 to m do

begin

form3.ADOTable2.First;

x:=0;

for i:= 1 to n do

begin

if (form3.ADOTable2.FieldByName('фильм').AsString=adotable2.FieldByName('название').asstring+' '+adotable2.FieldByName('носитель').asstring)

and (d<form3.ADOTable2.FieldByName('дата_вручения').AsDateTime)

and (d1>form3.ADOTable2.FieldByName('дата_вручения').AsDateTime)

then x:=x+1;

form3.ADOTable2.next;

end;

form3.ADOTable2.Next;

adotable3.Insert;

adotable3.FieldByName('имя').AsString:=adotable2.FieldByName('название').asstring+' '+adotable2.FieldByName('носитель').asstring;

adotable3.FieldByName('количество').AsInteger:=x;

adotable3.Post;

adotable2.Next;

end

else

for j:= 1 to m do

begin

form3.ADOTable2.First;

x:=0;

for i:= 1 to n do

begin

if (form3.ADOTable2.FieldByName('фильм').AsString=adotable2.FieldByName('название').asstring+' '+adotable2.FieldByName('носитель').asstring)

then x:=x+1;

form3.ADOTable2.next;

end;

showmessage(adotable2.FieldByName('название').asstring+' '+inttostr(x));

form3.ADOTable2.Next;

adotable3.Insert;

adotable3.FieldByName('имя').AsString:=adotable2.FieldByName('название').asstring+' '+adotable2.FieldByName('носитель').asstring;

adotable3.FieldByName('количество').AsInteger:=x;

adotable3.Post;

adotable2.Next;

end;

adotable3.sort:='количество DESC';

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

Программный код отчета все сделки за определенный период:

begin

d:=datetimepicker5.Date;

d1:=datetimepicker6.Date;

a:=0;

n:=adotable2.RecordCount;

adotable2.First;

AppProgID:='Word.Application';

ServerIsRunning:= False;

Result:= GetActiveObject(ProgIDToClassID(AppProgID),nil,Unknown);

if (Result=MK_E_UNAVAILABLE) then

App:= CreateOleObject(AppProgID)//создать сервер

else

begin // с существующей копией сервера

App:=GetActiveOleObject(AppProgID);

ServerIsRunning:=true;

end;

App.Visible:=True;

app.Documents.Add();

Rng:= App.ActiveDocument.Paragraphs.Item(1).Range;

sel:=App.Selection;

sel.font.size:=12;

sel.font.bold:=true;

Rng.InsertAfter('Перечень сделок салона видеопрокатк с '+datetostr(d)+' по'+datetostr(d1));

Rng.InsertParagraphAfter;

Rng.InsertParagraphAfter;

Rng:= App.ActiveDocument.Paragraphs.Item(3).Range;

Rng.InsertAfter('Фильм, клиент, дата вручения, дата возврата,стоимость, статус');

for i:= 1 to n do

begin

if (d<adotable2.FieldByName('дата_вручения').AsDateTime)

and (d1>adotable2.FieldByName('дата_вручения').AsDateTime)

then

begin

Rng.InsertParagraphAfter;

Rng.InsertAfter(adotable2.FieldByName('фильм').asstring+','+adotable2.FieldByName('клиент').asstring+','+adotable2.FieldByName('дата_вручения').asstring+','+adotable2.FieldByName('дата_возврата').asstring+','+adotable2.FieldByName('стоимость').asstring+','+adotable2.FieldByName('статус').asstring);

a:=a+1;

end;

adotable2.Next;

end;

Rng.InsertParagraphAfter;

Rng.ConvertToTable(',');

Rng.InsertParagraphAfter;

Rng.InsertAfter('Общее количество сделок '+inttostr(a));

Rng.InsertParagraphAfter;

End

Этот фрагмент кода осуществляет связь с Word сервером и экспортирует необходимые данные из таблицы Сделки. Строки таблицы заполняются при помощи вставок типа Rng.InsertAfter(###########);.

    1. Тестирование программы АИС видеопроката

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

При авторизации в программе, если не выбран режим работы (Администратор или Менеджер), появляется окно с предупреждением (рисунок 13):

Рисунок 13.

После выбора режима (Администратор или Менеджер), если введен неверный логин или пароль, появляется окно с предупреждением (рисунок14 и рисунок 15 соответственно):

Рисунок 14.

Рисунок 15.

При добавлении нового сотрудника в режиме Администратора в полях ввода Фамилии, Имени, Отчества запрещён ввод цифр (рисунок 16).

Рисунок 16.

При заключении новой сделки, если не указано количество дней проката, то выдаётся окно с предупреждением (рисунок 17):

Рисунок 17.

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

Рисунок 18.

При добавлении нового сотрудника или клиента, в случае совпадения паспортных данных, программа выводит сообщение (рисунок 19):

Рисунок 19.

    1. Экономическая эффективность

В процессе внедрения АИС Видеопрокат произойдет:

1. Увеличение производительности труда;

2. Более удобное использование программного продукта без каких либо затруднений в использовании;

3. Без внедрения АИС Видеопрокат или других аналогичных программ, работа видеопроката будет невозможна;

4. Внедрение данного программного продукта приведет к сокращению рабочего времени на выполнение операции на 120 минут.

Расчет экономической эффективности от внедрения мероприятия по приобретению программного обеспечения для салона Видеопроката. Исходные данные для расчета данных приведены в таблице 6.

Таблица 6

Исходные данные для расчета годовой экономической эффективности

Показатели

Условное обозначение

Единицы измерения

Значение показателей

1

Численность рабочих, охваченных мероприятием

Чох

Чел.

6

2

Общая численность работников

Чср

Чел.

25

3

Плановый реальный фонд рабочих дней на одного рабочего

Фвр дн

дни

248

4

Сокращение затрат рабочего времени после проведения мероприятия

Сзрв

мин.

120

5

Фонд зарплаты среднегодовой на одного работника

Фз/п ср.

Тыс. руб.

126

6

Годовой фонд рабочего времени на одного работника

Фвр

Час

1948

7

Страховые взносы в государственные внебюджетные фонды, %

СВ.

%

30

8

Затраты на приобретение и установку программы

Зед

Тыс. руб.

3,0

9

Нормативный коэффициент сравнительной экономической эффективности мероприятий (НОТ)

Ен

%

0,15

  1. Определим экономию времени (тыс. чел. – час):

Эвр. = (Чох)*(Фвр дн)

Эвр. = 6*120*248/60 = 2976

  1. Определим экономию численности (чел.):

Эч = Эвр/(Фвр)

Эч = 2976/1948 = 1,53

  1. Определим рост производительности труда (%):

Птр = Эч*100/(Чср-Эч)

Птр = 1,53*100/(25- 1,53) = 6,52

  1. Вычислим экономию по заработной плате (тыс.руб.):

Эзп = Эч*Фзп

Эзп = 1,53*126 = 192,78

  1. Определим экономию по страховым взносам в государственные внебюджетные фонды (тыс. руб.):

Эот.вт. = Эзп*0,30

Эот.вт. = 192,78*0,30 = 57,834

  1. Определим экономию от снижения себестоимости (тыс.руб.):

Эс/с = Эзп + Эот.вт.

Эс/с = 192,78+57,834 = 250,614

  1. Определим годовой экономический эффект (тыс.руб.):

Эг = Эс/с - Ен*Зед

Эг = 250,614 - 0,15*3,0 = 250,164

Внедрение данного мероприятия увеличит прибыль предприятия на 250,164 тыс.руб.

ЗАКЛЮЧЕНИЕ

Итогом выполнения выпускной квалификационной работы стала информационная система по автоматизации салона видеопроката. Данная информационная система изготовлена в среде визуального программирования Delphi 7 с использованием базы данных в формате MS Access.

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

1. Подобрана и изучена сфера деятельности видеопроката;

2. Проведен анализ аналогов данной программы;

3. Выбрана система управления базами данных и язык программирования;

4. Разработан программный код приложения;

5. Работа оформлена в соответствии с требованиями.

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

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

Достоинства программы:

  1. Введение полной базы фильмов, клиентов и сделок;

  2. Возможность добавление нового фильма нового клиента;

  3. Возможность просмотра базы клиентов;

  4. Возможность просмотра отчета по заданному фильму или клиенту;

  5. Пользовательский интерфейс соответствует стандартному Windows приложению.

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

СПИСОК ЛИТЕРАТУРЫ

  1. Акишкин А.М., Федорова Г.В. Основы программирования на персональных ЭВМ. М.: Экономическое образование, 2003. - 27 с.

  2. Артемьев В. И. Обзор способов и средств построения информационных приложений, 30.09.2004 http://www.osp.ru/

  3. Базы знаний интеллектуальных систем / Т.А. Гаврилова, В.Ф. Хорошевский - СПб: Питер, 2005. 384 с.

  4. Бемер С, Фратер Г., MS Access для пользователя. - Киев, "BHV", 2004.

  5. Биллиг В.А., Дехтярь М.И. VBA и Office 2005. Офисное программирование. - М., Русская редакция, 2004. - 342с.

  6. Вейскас Д. Эффективная работа с Microsoft Access. С.- Петербург: "Питер Пресс", 2003. - 856 с.

  7. Визе Манс. Microsoft ACCESS. М., Бином. 2003.

  8. Винтер П. Microsoft Access 2005: справочник. СПб.: Питер, 2003. 416 с.

  9. Воинов Б.С. Информационные технологии и системы: Монография. В 2 кн. Книга 1. Методология синтеза новых решений. Нижний Новгород: Изд-во ННГУ им. Н.И. Лобачевского, 2001. 404 с.

  10. Воинов Б.С. Информационные технологии и системы: Монография. В 2 кн. Книга 2. Прикладные системные исследования. Нижний Новгород: Изд-во ННГУ им. Н.И. Лобачевского, 2001. 272 с.

  11. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. - СПб.: Питер, 2004. 704 стр.

  12. Грабер Мартин. Введение в SQL. Пер. с англ. - М.: Издательство "ЛОРИ", 2004. - 375 с.

  13. Гусева Т.И., Башин Ю.Б. Проектирование баз данных в примерах и задачах. М.,2004.

  14. Давыдова Л.А. Информационные системы в экономике. - М.: Проспект, 2004. - 452с.

  15. Евдокимов В. В. Экономическая информатика. Учебник для ВУЗов. СПб. Питер. 2003.

  16. Калянов Г.Н. Теория и практика реорганизации бизнес-процессов. - М.: Синтег, 2005.

  17. Колесник А.П. Компьютерные системы в управлении финансами. - М.: "Финансы и статистика",2002. - 386с.

  18. Круглов М.Г., Сергеев С.К., Такташов В.А. Менеджмент систем качества. - М.: ИПК Издательство стандартов, 1997.

  19. Локальные вычислительные сети. Cправочник. / Под ред. С.В. Назарова. М.: "Финансы и статистика", 2002. - 400с

  20. Мартино Дж. Технологическое прогнозирование М.: Прогресс, 1977. 591 с.

  21. Николь Н., Альбрехт Р. Microsoft Access для профессионалов. М.: ЭКОМ., 2003 304 с.

  22. Пол Литвинг, Кен Гетц, Майкл Гилберт, Access 2005. Руководство разработчика. Том 2. Корпоративные приложения. Пер. с англ., Издательская группа BHV, Киев, 2001 912 c.

  23. Половинкин А.И., Чумаков Г.С. Поисковое проектирование и конструирование станочных приспособлений: Учебное пособие Волгоград: ВПИ, 2004. 133 с.

  24. Савельев В.А., Персональный компьютер для всех (кн.3), Создание и использование баз данных. - М., 2004.

  25. Тарасов В. К. Персонал технологии. М.: ЭКО, 2001. - 182с.

  26. Тимоти Бадд, Объектно- ориентированное программирование в действии. С.Пб., 2004.

  27. Токарев В.В., Хмелёв Н.Г., Абрамов А.В. Система поддержки принятия технических и управленческих решений //Материалы международной конференции "Информационные технологии". Волгоград, 2002. С. 218-227.

29. Фленов М. Е. Библия Delphi. – СПб.: БХВ-Петербург, 2004. – 880 с.

  1. Харитонова И.А., Михеева В.Д. Microsoft Access 2005. СПб.: БХВ Санкт-Петербург, 2005. 1088 с.: ил. Шнайдер Г. Access 2005. М.: Лаборатория Базовых Знаний, 2005. 480 с.: ил. (Справочник).

  2. Харитонова И.А., Михеева В.Д., "Microsoft ACCESS 2005: разработка приложений", Издетельство "БХВ-Санкт-Петербург", 2005 832 с.

  3. Хоффбауэр М., Шпильманн К., ACCESS 2005. Сотни полезных рецептов, Киев, "BHV", 2004

  4. Программирование в Delphi/БХВ- Петербург, Боровский А.Н., 2005-117с.

  5. Delphi 7. Учебный курс/Петербург, Бобровский С. И. , 2004-93с.