Введение
Современные радиостанции - это сложный комплекс, включающий сотрудников радиостанции, аппаратно-программный комплекс для подготовки и проведения радиовещания для различных аудиторий слушателей, корреспондентов и внешних источников информационных, рекламных, развлекательных материалов. Технологический процесс подготовки материалов и выдачи их в эфир является сложным, в нем задействовано большое количество исполнителей, большие объемы перерабатываемых материалов в различных форматах хранения (текстовом, рукописном, звуковом, видео, в виде статических изображений). Эти материалы поступают из различных источников, имеют, как было сказано выше, различный характер, находятся в различном состоянии с точки зрения их качества. Организация обработки этих материалов (а она может быть последовательной, многоступенчатой), задействование для этих целей многочисленных сотрудников, комплектование из этих материалов передач в соответствии со сценариями, ведение учета всех аспектов получения, подготовки и использования материалов, - это очень большой и важный объем работы, возлагаемый на специалиста по формированию программ радиовещания. Автоматизация его деятельности позволит поднять производительность труда, повысить качество формируемых передач за счет уменьшения количества накладок и использования наиболее подходящих материалов в передачах. Автоматизация учета данных обо всех объектах бизнес-процеса, в котором участвует данный специалист, дает также соответствующий выигрыш за счет централизованного хранения, доступа и поиска данных в электронном виде.
Таким образом, тема данного дипломного проекта является актуальной. Для обеспечения автоматизации деятельности специалиста по формированию программ радиовещания и достижения вышеизложенных целей необходимо решить следующие задачи:
проанализировать бизнес-процесс подготовки радиовещания современной радиостанции и место в этом процессе задач данного специалиста;
разработать с помощью диаграмм системного анализа информационную модель бизнес-процесса и предметной области специалиста;
разработать с помощью UML диаграммы для проектирования АРМ и программного обеспечения;
спроектировать и реализовать БД, используемую специалистом, и приложение для работы с БД с использованием современных средств разработки.
Анализ предметной области и постановка задачи. Общая часть
Введение
Основой автоматизированного рабочего места специалиста по формированию программ радиовещания является приложение баз данных. Программа для ведения базы данных на автоматизированном рабочем месте специалиста называется "АРМ Радио" и предназначена для автоматизации учета и обработки данных о передачах, элементах вещания, поставщиках элементов и сотрудниках, обрабатывающих элементы вещания.
Основание для разработки
Разработка ведется на основании задания на дипломный проект согласно приказу ректора №07-18 от 26.03.2007 г.
Наименование организации: ДГМА. Тема разработки: "Автоматизированное рабочее место специалиста по формированию программ радиовещания. Спецчасть - Разработка программного обеспечения для организации и ведения базы данных".
Назначение разработки
Функциональное назначение:
формирование и ведение базы данных передач, элементов вещания, включения элементов вещания в передачи, поставщиков элементов вещания, сотрудников радиостанции, обработок элементов вещания сотрудниками.
Эксплуатационное назначение:
хранение данных о вышеперечисленных объектах предметной области и связях между ними;
получение данных обо всех объектах и связях, о характеристиках формируемых передач, о ходе поставок материалов передач поставщиками, о сводных данных по обработке элементов вещания работниками радиостанции.
Требования к программе
Требования к функциональным характеристикам
Требования к функциональным характеристикам заключается в том, что программа должна:
обеспечивать наглядное и понятное специалисту по формированию программ радиовещания представление входной и выходной информации в базах данных;
осуществлять проверку входных данных и при формировании баз или расчетах выдавать сообщение об ошибке;
автоматически формировать документы и результаты запросов;
обеспечить интерфейс для специалиста по формированию программ радиовещания, как для пользователя, предоставив ему возможность быстрого просмотра, модификации, поиска фильтрации необходимой информации.
Требования к надежности.
Программа должна:
устойчиво функционировать и не приводить к сбоям операционной системы.
осуществлять контроль вводимой и выводимой информации согласно заданным ограничениям и контролировать действия пользователя с выдачей соответствующих сообщений.
Условия эксплуатации
Условия эксплуатации должны соответствовать санитарным и техническим нормам эксплуатации ПЭВМ - СанПиН 2.2.2 545-96 "Гигиенические требования к видеодисплейным терминалам, персональным вычислительным машинам и организации работы".
Для обслуживания программного комплекса нужен 1 человек квалификации программист. Он должен обладать навыками работы в ОС Windows и средстве разработки Delphi, а также, желательно, уметь работать системами управления базами данных.
Требования к составу и параметрам технических средств
Для работы с программой достаточно приобрести недорогую ЭВМ со следующими характеристиками:
процессор Athlon 3.0 Ghz;
память 256 Mb DDR;
дисковод 3.5’’;
жесткий диск емкостью 80 Gb;
CD-ROM DVD LG+IDE;
манипулятор мышь двухкнопочная;
монитор 17”;
принтер.
Требования к информационной и программной совместимости
Для работы с программой выдвигаются следующие требования:
используемая операционная система - Windows 2000/XP;
интегрированная среда Delphi, рабочая версия которой будет определена на стадии рабочего проекта.
На машине, где будет установлена программа, необходимо наличие Borland Database Engine для работы с базами данных.
Требования к программной документации
Состав требуемой программной документации определен в соответствии с ГОСТ 19.101-77:
исходный код программы (в текстовом виде);
руководство пользователя, которое включает инструкцию пользователя и инструкцию программиста.
Стадии и этапы разработки
Разработка ведется поэтапно в соответствии с требованиями ГОСТ 19.101-77:
техническое задание - общее определение требований к программе и составу документации;
техно-рабочий проект - разработка алгоритмов решения задачи, разработка программы и программной документации, испытание программы;
внедрение - подготовка и передача программы.
Таблица 1.1 - Этапы разработки программного комплекса
№ п/п | Неделя | Этап | Содержание | Срок |
1 | 1-2 | Техническое задание | Описание характеристики автоматизированного рабочего места специалиста по формированию программ радиовещания (АРМ "Радио"). Основание разработки: приказ № 07-18 от 23.03.2007 г. Назначение разработки: автоматизация работы специалиста по формированию программ радиовещания современной радиостанции. Выделены требования к АРМ "Радио" и документации по программному комплексу (ПК). Выделены стадии и этапы разработки АРМ "Радио" и порядок контроля и приемки. | 26.03 - 16.04.07 |
2 | 3-4 | Эскизный проект | Предварительная разработка структуры входных и выходных данных для АРМ "Радио". Разработка логической модели работы специалиста для соответствующих прецедентов. Разработка диаграммы прецедентов для АРМ "Радио", диаграммы классов предметной области и диаграммы последовательностей программного обеспечения. | 9.04 - 20.04.07 |
3 | 5-6 | Технический проект | Уточнение структуры входных и выходных данных. Разработка ER-диаграммы предметной области (ПО). Разработка диаграммы классов программного комплекса (ПК) и диаграммы последовательностей ПК. Проектирование экранных форм. Разработка диаграммы деятельности ПК. | 23.04 - 4.05.07 |
7-8 | Рабочий проект | Реализация ПК. Отладка. Проведение предварительных испытаний. Разработка документации. | 7.05 - 18.05.07 | |
9-10 | Внедрение | Подготовка и передача ПК на предприятие. Обучение специалиста использованию программного комплекса. Внесение корректировок в программное обеспечение и документацию. | 21.05 - 31.05.07 | |
Порядок контроля и приемки
По завершении разработки системы проводится тестирование на выполнение программой контрольного примера с проверкой на правильность выдачи выходных данных и проверкой невозможности ввода информации, не предусмотренной для работы данного программного комплекса.
Экономические расчеты
Спроектированное в данном проекте автоматизированное рабочее места специалиста по формированию программ радиовещания позволяет автоматизировать деятельность играющего важную роль в бизнес-процессе радиостанции работника, дает возможность повысить производительность его труда, быстроту и качество принимаемых им решений. Автоматизация деятельности специалиста позволит повысить качество формируемых передач за счет уменьшения количества накладок и использования наиболее подходящих материалов в передачах. Автоматизация учета данных обо всех объектах бизнес-процеса, в котором участвует данный специалист, дает также соответствующий выигрыш за счет централизованного хранения, доступа и поиска данных в электронном виде.
Выводы по разделу
Подтверждена эффективность использования капитальных вложений, так как рассчитанный срок окупаемости (1 год и 8 месяцев) меньше нормативного, равного 2,4 года. Экономическая и организационная эффективность от использования автоматизированного рабочего места специалиста по формированию программ радиовещания заключается в сокращении на несколько порядков затрат времени на обработку данных.
Охрана труда
Выводы
Автоматизированное рабочее места специалиста по формированию программ радиовещания позволяет автоматизировать деятельность играющего важную роль в бизнес-процессе радиостанции работника, дает возможность повысить производительность его труда, быстроту и качество принимаемых им решений.
Разработка и реализация БД об объектах предметной области, связях между ними, обеспечивает информационную поддержку функционирования АРМ. Спроектированный АРМ путем подключения к локальной вычислительной сети входит в аппаратно-программный комплекс автоматизации деятельности небольшой радиостанции. С помощью данного АРМ специалист сможет вести учет элементов вещания, представленных в различных форматах хранения, поставщиков этих элементов, организовывать при необходимости их обработку силами сотрудников радиостанции (перевод из одного формата хранения в другой, улучшение качества и т.д.), а также комплектовать передачи из элементов вещания.
Проектирование АРМ с использованием информационных и логических моделей бизнес-процесса и предметной области дало возможность выявить задачи специалиста, разработать оптимальную структуру базы данных и сформулировать запросы к ней. Использование языка моделирования UML позволило выявить прецеденты использования АРМ, классы программного обеспечения и логику их взаимодействия. С использованием полученных результатов разработано приложение для работы с БД.
Утилиты средства разработки Delphi позволили работать с таблицами БД в различных форматах хранения. Delphi задействовано для реализации структуры БД и приложения для работы с ней. Это средство разработки имеет иерархию классов, которые дали возможность быстро реализовать приложение.
Автоматизация ручного труда специалиста по формированию программ радиовещания дает существенный экономический эффект, что показано соответствующими расчетами. Срок окупаемости капитальных затрат меньше нормативного, что подтверждает эффективность расходов на оборудование и программное обеспечение.
Установлены вредные и опасные факторы, ухудшающие санитарно - гигиенические условия на рабочем месте специалиста как оператора ЭВМ и показаны пути снижения их влияния на пользователя.
Перечень ссылок
1. Радиовещание и электроакустика: Учебное пособие для вузов связи / С.И. Алябьев, А.В. Выходец, Р. Гермер и др. - М.: Радио и связь, 2002. - 792 с.
2. Ковалгин Ю. Формирование программ радиовещания и автоматизация процессов их выдачи в эфир / Ковалгин Ю., Пеньшина А. // Звукорежисер. - 2002. - №7. - С.12-18.
3. Васильев Д. Автоматизация радиостанции: зачем это надо? //: Каталог "Оборудование для радиовещания". - 2005. - №1. - С.66-67.
4. Правоторхов К. Внедрение систем автоматизации радиокомплекса // Каталог "Оборудование для радиовещания". - 2005. - №1. - С.68-69.
5. Клевцов П. IT-решения для автоматизации производства информационных программ / Клевцов П., Сологуб Р. // Broadcasting. Телевидение и радиовещание - 2006. - №3. - С.46-47.
6. Симонович В.С. Информатика. Базовый курс. Учебник для вузов. - СПб.: Издательство "Питер", 1999. - 637 с.
7. Колесниченко О., Шишигин И. Аппаратные средства РС. Энциклопедия аппаратных ресурсов персонального компьютера. СПб: Питер, 2000. - 1024 с.
8. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. - СПб.: Питер, 2003. - 864 с.
9. Конноли Т., Бегг К. Базы данных: проектирование, реализация и сопровождение. Теория и практика. - 2-е изд. - М.: Изд. дом Вильямс, 2000. - 1120 с.
10. Базы данных: Учебник для вузов / Под ред.А.Д. Хомоненко. - СПб.: Корона принт, 2000. - 416 с.
11. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. - /Пер. с англ. - М.: ДМК, 2000. - 432 с.
12. Александровский А. Delphi. Разработка корпоративных приложений. - М.: ДМК, 2000. - 512 с.
13. Канту Марко и др. Delphi. Руководство разработчика. - К.: Век; М.: ЭНТРОП; М.: ДЕСС, 2001. - 752 с.
14. Баженова И.Ю. Delphi 6. Самоучитель программиста. - М.: КУДИЦ-ОБРАЗ, 2002. - 432 с.
15. Гофман В.Э., Хоменко А.Д. Delphi 6. - СПб.: БХВ-Петербург, 2002. - 1152 c.
16. Методические указания к выполнению экономической части дипломных проектов студентами специальности “Компьютерные системы проектирования” /Сост. Скибина А.В., Подгора Е.А. - Краматорск: ДГМА, 1998. - 22 с.
17. План-пам’ятка до вивчення курсу “Охорона праці в галузі” для студентів спеціальності 7.080402 „Інформаційні технології проектування” / Укл.: Л.В. Дементій, Г.Л. Юсіна, Романьков Д.А. - Краматорськ: ДДМА, 2005. - 60 с.
18. Основи охорони праці // В.Ц. Жидецький, В.С. Джигерей, О.В. Мельников. Львів: Афіша, 2000. - 350 с.
19. Сивко В.Й. Розрахунки з охорони праці. - Житомир: ЖІТІ, 2001. - 152 с.
20. Справочник по охране труда на промышленном предприятии / К.Н. Ткачук, Д.Ф. Иванчук, Р.В. Сабарно, А.Г. Степанов. - Киев: Техника, 1991. - 285 с.
Приложение А
ВЕДОМОСТЬ ПРОЕКТА
Формат | № п/п | Наименование документа | Наименование объекта или изделия | Кол-во листов |
1 | Пояснительная записка | КИТ 011з.00.00.00. ДП. ПЗ | ||
Графическая часть | ||||
А4 | 2 | Источники информации и их форматы при первичном сборе материалов для радиовещания | КИТ 011з.01.00.00. ДП. ПЛ | 1 |
А4 | 3 | Операции при монтаже и обработке фонограмм | КИТ 011з.02.00.00. ДП. ПЛ | 1 |
А4 | 4 | SADT-диаграмма бизнес-процесса подготовки программ и вещания на радиостанции | КИТ 011з.03.00.00. ДП. ПЛ | 1 |
А4 | 5 | SADT-диаграмма, детализирующая активность "Формирование программ радиовещания" | КИТ 011з.04.00.00. ДП. ПЛ | 1 |
А4 | 6 | ER-диаграмма предметной области работы автоматизированного рабочего места | КИТ 011з.05.00.00. ДП. ПЛ | 1 |
А4 | 7 | Состав таблиц и схема связей между ними для БД АРМ | КИТ 011з.06.00.00. ДП. ПЛ | 1 |
А4 | 8 | Диаграмма прецедентов использования автоматизированного рабочего места | КИТ 011з.07.00.00. ДП. ПЛ | 1 |
А4 | 9 | Диаграмма классов предметной области АРМ "Радио" | КИТ 011з.08.00.00. ДП. ПЛ | 1 |
А4 | 10 | Диаграмма последовательностей АРМ "Радио" | КИТ 011з.09.00.00. ДП. ПЛ | 1 |
А4 | 11 | Интерфейс пользователя приложения БД АРМ "Радио" | КИТ 011з.10.00.00. ДП. ПЛ | 1 |
А4 | 12 | Обработка данных в приложении БД АРМ "Радио" | КИТ 011з.11.00.00. ДП. ПЛ | 1 |
А4 | 13 | Выполнение запросов к БД АРМ "Радио" | КИТ 011з.12.00.00. ДП. ПЛ | 1 |
14 | Дискета | 1 |
Приложение Б
Листинг программного комплекса:
program ARM_Radio;
uses
Forms,
uSotrudniki in 'uSotrudniki. pas' {frmSotrudniki},
uDataModule in 'uDataModule. pas' {frmDataModule: TDataModule},
uConnect in 'uConnect. pas' {frmConnect},
uMain in 'uMain. pas' {frmMain},
uResultSQL1 in 'uResultSQL1. pas' {frmResultSQL1},
uReport in 'uReport. pas' {frmReport},
uPeredachi in 'uPeredachi. pas' {frmPeredachi},
uElementy in 'uElementy. pas' {frmElementy},
uResultSQL2 in 'uResultSQL2. pas' {frmResultSQL2},
uResultSQL3 in 'uResultSQL3. pas' {frmResultSQL3},
uPostavshiki in 'uPostavshiki. pas' {frmPostavshiki};
{$R *. res}
begin
Application. Initialize;
Application. CreateForm (TfrmMain, frmMain);
Application. CreateForm (TfrmSotrudniki, frmSotrudniki);
Application. CreateForm (TfrmDataModule, frmDataModule);
Application. CreateForm (TfrmConnect, frmConnect);
Application. CreateForm (TfrmResultSQL1, frmResultSQL1);
Application. CreateForm (TfrmReport, frmReport);
Application. CreateForm (TfrmPeredachi, frmPeredachi);
Application. CreateForm (TfrmElementy, frmElementy);
Application. CreateForm (TfrmResultSQL2, frmResultSQL2);
Application. CreateForm (TfrmResultSQL3, frmResultSQL3);
Application. CreateForm (TfrmPostavshiki, frmPostavshiki);
Application.run;
end.
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls, uDataModule,
Mask, uConnect, ShellAPI, uReport;
type
TfrmMain = class (TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
TabSheet5: TTabSheet;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
DBGrid5: TDBGrid;
DBNavigator5: TDBNavigator;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
N4: TMenuItem;
N5: TMenuItem;
N10: TMenuItem;
N12: TMenuItem;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox5: TCheckBox;
Button1: TButton;
MaskEdit2: TMaskEdit;
CheckBox7: TCheckBox;
N13: TMenuItem;
N14: TMenuItem;
N3: TMenuItem;
N15: TMenuItem;
TabSheet6: TTabSheet;
CheckBox8: TCheckBox;
MaskEdit3: TMaskEdit;
Button3: TButton;
CheckBox9: TCheckBox;
DBGrid6: TDBGrid;
DBNavigator6: TDBNavigator;
DBGrid4: TDBGrid;
Label1: TLabel;
Edit1: TEdit;
CheckBox4: TCheckBox;
DBNavigator4: TDBNavigator;
procedure N6Click (Sender: TObject);
procedure N7Click (Sender: TObject);
procedure N5Click (Sender: TObject);
procedure N10Click (Sender: TObject);
procedure N12Click (Sender: TObject);
procedure CheckBox1Click (Sender: TObject);
procedure CheckBox2Click (Sender: TObject);
procedure CheckBox3Click (Sender: TObject);
procedure CheckBox4Click (Sender: TObject);
procedure CheckBox5Click (Sender: TObject);
procedure Edit2Change (Sender: TObject);
procedure Edit4Change (Sender: TObject);
procedure Edit3Change (Sender: TObject);
procedure CheckBox7Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
procedure N8Click (Sender: TObject);
procedure N9Click (Sender: TObject);
procedure N11Click (Sender: TObject);
procedure N13Click (Sender: TObject);
procedure N14Click (Sender: TObject);
procedure N21Click (Sender: TObject);
procedure N31Click (Sender: TObject);
procedure N3Click (Sender: TObject);
procedure CheckBox9Click (Sender: TObject);
procedure CheckBox8Click (Sender: TObject);
procedure Edit1Change (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure N15Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses uResultSQL1, uResultSQL2, uResultSQL3,uPeredachi, uElementy, uSotrudniki, uPostavshiki;
{$R *. dfm}
procedure TfrmMain. N6Click (Sender: TObject);
begin
if InputBox ('Аутентификация пользователя','Введите пароль! ','') ='12345' then
begin
frmDataModule. tbPeredachi. Active: =True;
frmDataModule. tbVkljuchenie. Active: =True;
frmDataModule. tbElementy. Active: =True;
frmDataModule. tbObrabotka. Active: =True;
frmDataModule. tbSotrudniki. Active: =True;
frmDataModule. tbPostavshiki. Active: =True;
end;
end;
procedure TfrmMain. N7Click (Sender: TObject);
begin
frmDataModule. tbPeredachi. Active: =False;
frmDataModule. tbVkljuchenie. Active: =False;
frmDataModule. tbElementy. Active: =False;
frmDataModule. tbObrabotka. Active: =False;
frmDataModule. tbSotrudniki. Active: =False;
frmDataModule. tbPostavshiki. Active: =False;
end;
procedure TfrmMain. N5Click (Sender: TObject);
begin
frmPeredachi. ShowModal;
end;
procedure TfrmMain. N10Click (Sender: TObject);
begin
frmElementy. ShowModal;
end;
procedure TfrmMain. N12Click (Sender: TObject);
begin
frmSotrudniki. ShowModal;
end;
procedure TfrmMain. N15Click (Sender: TObject);
begin
frmPostavshiki. ShowModal;
end;
procedure TfrmMain. CheckBox1Click (Sender: TObject);
begin
if CheckBox1. Checked=True
then
frmDataModule. tbPeredachi. IndexName: ='ixNaimen_Peredachi'
else
frmDataModule. tbPeredachi. IndexName: ='';
end;
procedure TfrmMain. CheckBox2Click (Sender: TObject);
begin
if CheckBox2. Checked=True
then
frmDataModule. tbElementy. IndexName: ='ixNaimen_Elementy'
else
frmDataModule. tbElementy. IndexName: ='';
end;
procedure TfrmMain. CheckBox3Click (Sender: TObject);
begin
if CheckBox3. Checked=True
then
frmDataModule. tbSotrudniki. IndexName: ='ixFIO_Sotrudniki'
else
frmDataModule. tbSotrudniki. IndexName: ='';
end;
procedure TfrmMain. CheckBox4Click (Sender: TObject);
begin
if CheckBox4. Checked=True
then
frmDataModule. tbPostavshiki. IndexName: ='ixNaimen_Postavshiki'
else
frmDataModule. tbPostavshiki. IndexName: ='';
end;
procedure TfrmMain. CheckBox5Click (Sender: TObject);
begin
if CheckBox5. Checked=True
then
frmDataModule. tbVkljuchenie. IndexName: ='ixDate_Vkljuchenie'
else
frmDataModule. tbVkljuchenie. IndexName: ='';
end;
procedure TfrmMain. CheckBox9Click (Sender: TObject);
begin
if CheckBox9. Checked=True
then
frmDataModule. tbObrabotka. IndexName: ='ixDate_Obrabotka'
else
frmDataModule. tbObrabotka. IndexName: ='';
end;
procedure TfrmMain. Edit2Change (Sender: TObject);
begin
CheckBox1. Checked: =True;
frmDataModule. tbPeredachi. IndexName: ='ixNaimen_Peredachi';
frmDataModule. tbPeredachi. FindNearest ([Edit2. Text]);
end;
procedure TfrmMain. Edit4Change (Sender: TObject);
begin
CheckBox2. Checked: =True;
frmDataModule. tbElementy. IndexName: ='ixNaimen_Elementy';
frmDataModule. tbElementy. FindNearest ([Edit4. Text]);
end;
procedure TfrmMain. Edit3Change (Sender: TObject);
begin
CheckBox3. Checked: =True;
frmDataModule. tbSotrudniki. IndexName: ='ixFIO_Sotrudniki';
frmDataModule. tbSotrudniki. FindNearest ([Edit3. Text]);
end;
procedure TfrmMain. Edit1Change (Sender: TObject);
begin
CheckBox4. Checked: =True;
frmDataModule. tbPostavshiki. IndexName: ='ixNaimen_Postavshiki';
frmDataModule. tbPostavshiki. FindNearest ([Edit1. Text]);
end;
procedure TfrmMain. CheckBox7Click (Sender: TObject);
begin
if CheckBox7. Checked=False then
begin
frmDataModule. tbVkljuchenie. Filter: ='';
frmDataModule. tbVkljuchenie. Filtered: =False;
Button1. Visible: =False;
MaskEdit2. Visible: =False;
end
else
begin
Button1. Visible: =True;
MaskEdit2. Visible: =True;
MaskEdit2. Text: ='';
end;
end;
procedure TfrmMain. CheckBox8Click (Sender: TObject);
begin
if CheckBox8. Checked=False then
begin
frmDataModule. tbObrabotka. Filter: ='';
frmDataModule. tbObrabotka. Filtered: =False;
Button3. Visible: =False;
MaskEdit3. Visible: =False;
end
else
begin
Button3. Visible: =True;
MaskEdit3. Visible: =True;
MaskEdit3. Text: ='';
end;
end;
procedure TfrmMain. Button1Click (Sender: TObject);
begin
try
StrToDate (MaskEdit2. Text);
frmDataModule. tbVkljuchenie. Filter: =' [Data_prinjatia] ='+''''+MaskEdit2. Text+'''';
frmDataModule. tbVkljuchenie. Filtered: =True;
except
ShowMessage ('Введите правильную дату! ');
end;
end;
procedure TfrmMain. Button3Click (Sender: TObject);
begin
try
StrToDate (MaskEdit3. Text);
frmDataModule. tbObrabotka. Filter: =' [Data_obrabotki] ='+''''+MaskEdit3. Text+'''';
frmDataModule. tbObrabotka. Filtered: =True;
except
ShowMessage ('Введите правильную дату! ');
end;
end;
procedure TfrmMain. N8Click (Sender: TObject);
begin
N7Click (Self);
CopyFile ('Peredachi. db','copyPeredachi. db', false);
CopyFile ('Peredachi. px','copyPeredachi. px', false);
CopyFile ('Peredachi. XG0','copyPeredachi. XG0', false);
CopyFile ('Peredachi. YG0','copyPeredachi. YG0', false);
CopyFile ('Vkljuchenie. db','copyVkljuchenie. db', false);
CopyFile ('Vkljuchenie. px','copyVkljuchenie. px', false);
CopyFile ('Vkljuchenie. XG0','copyVkljuchenie. XG0', false);
CopyFile ('Vkljuchenie. YG0','copyVkljuchenie. YG0', false);
CopyFile ('Elementy. db','copyElementy. db', false);
CopyFile ('Elementy. px','copyElementy. px', false);
CopyFile ('Elementy. XG0','copyElementy. XG0', false);
CopyFile ('Elementy. YG0','copyElementy. YG0', false);
CopyFile ('Postavshiki. db','copyPostavshiki. db', false);
CopyFile ('Postavshiki. px','copyPostavshiki. px', false);
CopyFile ('Postavshiki. XG0','copyPostavshiki. XG0', false);
CopyFile ('Postavshiki. YG0','copyPostavshiki. YG0', false);
CopyFile ('Obrabotka. db','copyObrabotka. db', false);
CopyFile ('Obrabotka. px','copyObrabotka. px', false);
CopyFile ('Obrabotka. XG0','copyObrabotka. XG0', false);
CopyFile ('Obrabotka. YG0','copyObrabotka. YG0', false);
CopyFile ('Sotrudniki. db','copySotrudniki. db', false);
CopyFile ('Sotrudniki. px','copySotrudniki. px', false);
CopyFile ('Sotrudniki. XG0','copySotrudniki. XG0', false);
CopyFile ('Sotrudniki. YG0','copySotrudniki. YG0', false);
ShowMessage ('Резервное копирование завершено! ');
end;
procedure TfrmMain. N9Click (Sender: TObject);
begin
N7Click (Self);
CopyFile ('copyPeredachi. db','Peredachi. db', false);
CopyFile ('copyPeredachi. px','Peredachi. px', false);
CopyFile ('copyPeredachi. XG0','Peredachi. XG0', false);
CopyFile ('copyPeredachi. YG0','Peredachi. YG0', false);
CopyFile ('copyVkljuchenie. db','Vkljuchenie. db', false);
CopyFile ('copyVkljuchenie. px','Vkljuchenie. px', false);
CopyFile ('copyVkljuchenie. XG0','Vkljuchenie. XG0', false);
CopyFile ('copyVkljuchenie. YG0','Vkljuchenie. YG0', false);
CopyFile ('copyElementy. db','Elementy. db', false);
CopyFile ('copyElementy. px','Elementy. px', false);
CopyFile ('copyElementy. XG0','Elementy. XG0', false);
CopyFile ('copyElementy. YG0','Elementy. YG0', false);
CopyFile ('copyPostavshiki. db','Postavshiki. db', false);
CopyFile ('copyPostavshiki. px','Postavshiki. px', false);
CopyFile ('copyPostavshiki. XG0','Postavshiki. XG0', false);
CopyFile ('copyPostavshiki. YG0','Postavshiki. YG0', false);
CopyFile ('copyObrabotka. db','Obrabotka. db', false);
CopyFile ('copyObrabotka. px','Obrabotka. px', false);
CopyFile ('copyObrabotka. XG0','Obrabotka. XG0', false);
CopyFile ('copyObrabotka. YG0','Obrabotka. YG0', false);
CopyFile ('copySotrudniki. db','Sotrudniki. db', false);
CopyFile ('copySotrudniki. px','Sotrudniki. px', false);
CopyFile ('copySotrudniki. XG0','Sotrudniki. XG0', false);
CopyFile ('copySotrudniki. YG0','Sotrudniki. YG0', false);
ShowMessage ('Восстановление прошло успешно! ');
end;
procedure TfrmMain. N11Click (Sender: TObject);
begin
frmResultSQL1. ShowModal;
end;
procedure TfrmMain. N13Click (Sender: TObject);
begin
frmConnect. ShowModal;
end;
procedure TfrmMain. N14Click (Sender: TObject);
begin
ShellExecute (Application. MainForm. Handle,'open','Справка по работе с приложением БД АРМ Радио. htm',nil,nil,SW_SHOWNORMAL);
end;
procedure TfrmMain. N21Click (Sender: TObject);
begin
frmResultSQL2. ShowModal;
end;
procedure TfrmMain. N31Click (Sender: TObject);
begin
frmResultSQL3. ShowModal;
end;
procedure TfrmMain. N3Click (Sender: TObject);
begin
frmReport. QuickRep1. Preview;
end;
end.
unit uDataModule;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TfrmDataModule = class (TDataModule)
dsPeredachi: TDataSource;
dsVkljuchenie: TDataSource;
dsElementy: TDataSource;
dsPostavshiki: TDataSource;
dsObrabotka: TDataSource;
dsSotrudniki: TDataSource;
tbPeredachi: TTable;
tbPeredachiCod_peredachi: TAutoIncField;
tbPeredachiVid_peredachi: TStringField;
tbPeredachiNaimen_peredachi: TStringField;
tbPeredachiDlitelnoct: TIntegerField;
tbVkljuchenie: TTable;
tbVkljuchenieCod_peredachi: TIntegerField;
tbVkljuchenieCod_elementa: TIntegerField;
tbVkljuchenieNomer_documenta: TStringField;
tbVkljuchenieData_prinjatia: TDateField;
tbVkljuchenieDlitelnost_v_peredache: TIntegerField;
tbVkljuchenieNomer_po_porjadku: TSmallintField;
tbElementy: TTable;
tbPostavshiki: TTable;
tbPostavshikiCod_postavshika: TAutoIncField;
tbPostavshikiVid_postavshika: TStringField;
tbPostavshikiNaimen_postavshika: TStringField;
tbPostavshikiCharakteristiki: TStringField;
tbObrabotka: TTable;
tbObrabotkaCod_elementa: TIntegerField;
tbObrabotkaTab_nomer: TIntegerField;
tbObrabotkaNomer_narjada: TStringField;
tbObrabotkaData_obrabotki: TDateField;
tbObrabotkaVid_obrabotki: TStringField;
tbSotrudniki: TTable;
tbSotrudnikiTab_nomer: TAutoIncField;
tbSotrudnikiFIO: TStringField;
tbSotrudnikiDoljnost: TStringField;
tbSotrudnikiObrazovanie: TStringField;
tbSotrudnikiCharakteristiki: TStringField;
tbElementyCod_elementa: TAutoIncField;
tbElementyVid_elementa: TStringField;
tbElementyNaimen_elementa: TStringField;
tbElementyFormat_chranenia: TStringField;
tbElementyEd_izmerenia: TStringField;
tbElementyObjem: TIntegerField;
tbElementyCod_postashika: TIntegerField;
tbVkljuchenieNaimen_peredachi: TStringField;
tbVkljuchenieNaimen_elementa: TStringField;
tbElementyNaimen_postavshika: TStringField;
tbObrabotkaNaimen_elementa: TStringField;
tbObrabotkaFIO_sotrudnika: TStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmDataModule: TfrmDataModule;
implementation
{$R *. dfm}
end.
unit uConnect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, Grids, DBGrids, ExtCtrls, uDataModule;
type
TfrmConnect = class (TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Panel3: TPanel;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
Panel5: TPanel;
DBGrid5: TDBGrid;
DBNavigator5: TDBNavigator;
Panel2: TPanel;
DBGrid2: TDBGrid;
DBNavigator2: TDBNavigator;
Panel4: TPanel;
DBGrid4: TDBGrid;
DBNavigator4: TDBNavigator;
procedure FormShow (Sender: TObject);
procedure FormDeactivate (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmConnect: TfrmConnect;
implementation
{$R *. dfm}
procedure TfrmConnect. FormShow (Sender: TObject);
begin
frmDataModule. tbVkljuchenie. MasterSource: =frmDataModule. dsPeredachi;
frmDataModule. tbVkljuchenie. MasterFields: ='Cod_peredachi';
frmDataModule. tbElementy. MasterSource: =frmDataModule. dsVkljuchenie;
frmDataModule. tbElementy. MasterFields: ='Cod_elementa';
frmDataModule. tbObrabotka. MasterSource: =frmDataModule. dsElementy;
frmDataModule. tbObrabotka. MasterFields: ='Cod_elementa';
frmDataModule. tbSotrudniki. MasterSource: =frmDataModule. dsObrabotka;
frmDataModule. tbSotrudniki. MasterFields: ='Tab_nomer';
end;
procedure TfrmConnect. FormDeactivate (Sender: TObject);
begin
frmDataModule. tbVkljuchenie. MasterSource: =nil;
frmDataModule. tbVkljuchenie. MasterFields: ='';;
frmDataModule. tbElementy. MasterSource: =nil;
frmDataModule. tbElementy. MasterFields: ='';;
frmDataModule. tbObrabotka. MasterSource: =nil;
frmDataModule. tbObrabotka. MasterFields: ='';;
frmDataModule. tbSotrudniki. MasterSource: =nil;
frmDataModule. tbSotrudniki. MasterFields: ='';;
end;
end.
Введение
Современные радиостанции - это сложный комплекс, включающий сотрудников радиостанции, аппаратно-программный комплекс для подготовки и проведения радиовещания для различных аудиторий слушателей, корреспондентов и внешних источников информационных, рекламных, развлекательных материалов. Технологический процесс подготовки материалов и выдачи их в эфир является сложным, в нем задействовано большое количество исполнителей, большие объемы перерабатываемых материалов в различных форматах хранения (текстовом, рукописном, звуковом, видео, в виде статических изображений). Эти материалы поступают из различных источников, имеют, как было сказано выше, различный характер, находятся в различном состоянии с точки зрения их качества. Организация обработки этих материалов (а она может быть последовательной, многоступенчатой), задействование для этих целей многочисленных сотрудников, комплектование из этих материалов передач в соответствии со сценариями, ведение учета всех аспектов получения, подготовки и использования материалов, - это очень большой и важный объем работы, возлагаемый на специалиста по формированию программ радиовещания. Автоматизация его деятельности позволит поднять производительность труда, повысить качество формируемых передач за счет уменьшения количества накладок и использования наиболее подходящих материалов в передачах. Автоматизация учета данных обо всех объектах бизнес-процеса, в котором участвует данный специалист, дает также соответствующий выигрыш за счет централизованного хранения, доступа и поиска данных в электронном виде.
Таким образом, тема данного дипломного проекта является актуальной. Для обеспечения автоматизации деятельности специалиста по формированию программ радиовещания и достижения вышеизложенных целей необходимо решить следующие задачи:
проанализировать бизнес-процесс подготовки радиовещания современной радиостанции и место в этом процессе задач данного специалиста;
разработать с помощью диаграмм системного анализа информационную модель бизнес-процесса и предметной области специалиста;
разработать с помощью UML диаграммы для проектирования АРМ и программного обеспечения;
спроектировать и реализовать БД, используемую специалистом, и приложение для работы с БД с использованием современных средств разработки.
Анализ предметной области и постановка задачи. Общая часть
Дата: 2019-07-30, просмотров: 198.