Автор работы: Пользователь скрыл имя, 31 Мая 2012 в 15:45, дипломная работа
Цель дипломной работы – создание АРМ «Клиент- менеджер. Наружная реклама».
Для достижения поставленной цели были сформулированы и решены следующие задачи:
1. проведен информационный анализ существующих методик работы с клиентами и заказами;
2. разработан полнофункциональный интерфейс обеспечивающий:
а) ввод данных посредством клавиатуры;
б) предоставление данных пользователю;
в) формирование и вывод на принтер отчетов в виде договоров и бланков заказа;
г) построение графика зависимости заказ/дата;
3. создана окончательная версия программного средства «АРМ Клиент-менеджер. Наружная реклама»;
4. осуществлен ввода средства в эксплуатацию;
Объектом исследования является работа клиент- менеджеров с клиентами и заказами.
Предметом исследования является автоматизация работы клиент- менеджеров с клиентами и заказами.
В работе были использованы следующие методы работы:
- метод экспертных оценок;
- сбор данных о предметной области;
- информационное моделирование предметной области;
- метод объектно-ориентированного программирования (на базе C++ Builder);
Гипотеза исследования.
Разработка автоматизированного рабочего места клиент- менеджера позволит вести жесткий учет заказов и освободит рабочее время, уходящее на заполнение договоров, бланков заказа и построение графиков зависимости заказ/дата.
Новизна работы.
Разработка АРМ велась с учетом возможности подключения новых программных модулей, таких как «Видео реклама», «Полиграфия», «Аудио реклама» и многих других. Новые модули позволят использовать данное АРМ в других фирмах, занимающихся производством наружной рекламы, а также в фирмах, вид деятельности которых связан с производством других видов рекламы. В ходе проведенных работ, опрашивая конкурирующие фирмы, выяснилось, что ни одна из 12 опрошенных фирм не обладает подобным программным средством.
Практическая ценность.
Исходя из результатов опроса, а также личных просьб опрошенных необходимость в подобном АРМ в регионе высока.
На защиту выносятся:
1. Результаты анализа предметной области;
2. Структура реляционных баз данных системы;
3. Пользовательский интерфейс;
4. Результаты внедрения.
Апробация работы.
Материалы дипломной работы докладывались и обсуждались с руководителями и клиент-менеджерами фирмы «Мастерская Рекламы».
Реализация результатов работы.
Разработанное АРМ прошло тестирование и находится в эксплуатации с апреля 2002 года.
Структура и объем работы.
Дипломная работа состоит из введения, трех разделов, заключения, списка использованных источников, включающего 32 наименования, и 5 приложений. Общий объём работы – 147 страниц, основной текст занимает 68 страниц, приложения – 79 страниц.
В первом разделе проводится исследование предметной области, обоснование выбора программных средств для создания системы.
Второй раздел раскрывает вопросы внутренней организации программы и взаимодействия ее с пользователем.
В третьем разделе представлены методы и алгоритмы с помощью которых было реализовано АРМ «Клиент-менеджер. Наружная реклама».
В заключении сформулированы основные выводы и результаты, полученные в дипломной работе.
В приложениях представлены:
печатные формы;
описание структуры данных;
структура аппаратно – программного обеспечения фирмы «Мастерская Рекламы»;
материалы внедрения результатов дипломной работы;
документированный листинг глобального модуля АРМ;
иллюстративный материал.
ВВЕДЕНИЕ 6
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 12
1.2. Описание предметной области 13
1.2.1. Бланк заказа и договор 13
1.3. Информационно-логическая модель системы 17
1.3.1. Подсистема «Бланк заказа» 17
1.3.2. Подсистема «Договор» 17
1.3.3. Система работы фирмы с заказом 18
1.4. План автоматизации работы клиент – менеджеров с заказами и клиентами 21
1.5. Статистический анализ деятельности фирмы 23
Выводы 28
2. АРХИТЕКТУРА АРМ «КЛИЕНТ-МЕНЕДЖЕР. НАРУЖНАЯ РЕКЛАМА» 30
2.1. Информационно-логическая модель и структура базы данных 30
2.2. Потоки данных 34
Выводы 38
3. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АРМ «КЛИЕНТ-МЕНЕДЖЕР. НАРУЖНАЯ РЕКЛАМА» 39
3.1. Выбор среды программирования 39
3.2. Модель ЖЦ ПС 45
3.3. Характеристика операционной системы и ее версии, с обоснование выбора и указание источников описывающих ОС 47
3.4. Разработка интерфейса ПС 47
3.5. Проектирование базы данных «Клиент-менеджер. Наружная реклама» 53
3.5.1. Физическая реализация инфологической модели системы 53
3.6. Подключаемые внешние модули 57
3.7. Тестирование и отладка 59
3.7.1. Методы тестирования 59
3.7.2. Результаты тестирования и отладки 62
Выводы. 63
ЗАКЛЮЧЕНИЕ 64
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 66
ГЛОССАРИЙ 69
ПРИЛОЖЕНИЯ 72
П.1. Техническое задание 72
П.2. Инструкция пользователя. 78
П.3. Описание демонстрационного ролика 78
П.4. Документированный листинг программного средства «АРМ «Клиент-менеджер. Наружная реклама» 79
П.5. Материалы внедрения дипломной работы 146
//----------------------------
#endif
Master08.h
//----------------------------
#ifndef Master08H
#define Master08H
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "RXCtrls.h"
#include <DBGrids.hpp>
#include <Grids.hpp>
//----------------------------
class TFAddMaterial : public TForm
{
__published: // IDE-managed Components
TRxSpeedButton *RxSpeedButton1;
TRxSpeedButton *RxSpeedButton2;
TRxSpeedButton *RxSpeedButton3;
TDBGrid *DBGrid1;
void __fastcall RxSpeedButton1Click(TObject *Sender);
void __fastcall RxSpeedButton2Click(TObject *Sender);
void __fastcall RxSpeedButton3Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFAddMaterial(TComponent* Owner);
};
//----------------------------
extern PACKAGE TFAddMaterial *FAddMaterial;
//----------------------------
#endif
Master09.h
//----------------------------
#ifndef Master09H
#define Master09H
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DBCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
//----------------------------
class TFNColor : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TDBNavigator *DBNavigator1;
TDBEdit *DBEdit1;
private: // User declarations
public: // User declarations
__fastcall TFNColor(TComponent* Owner);
};
//----------------------------
extern PACKAGE TFNColor *FNColor;
//----------------------------
#endif
Master10.h
//----------------------------
#ifndef Master10H
#define Master10H
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DBCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
//----------------------------
class TFNMaterial : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TDBNavigator *DBNavigator1;
TDBEdit *DBEdit1;
private: // User declarations
public: // User declarations
__fastcall TFNMaterial(TComponent* Owner);
};
//----------------------------
extern PACKAGE TFNMaterial *FNMaterial;
//----------------------------
#endif
Основная форма
object Form1: TForm1
Left = 218
Top = 107
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = 'Form1'
ClientHeight = 417
ClientWidth = 476
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 42
Width = 65
Height = 13
Caption = 'Дата заказа'
end
object Label2: TLabel
Left = 224
Top = 42
Width = 95
Height = 13
Caption = 'Дата утверждения'
end
object Label3: TLabel
Left = 9
Top = 8
Width = 384
Height = 20
Caption = 'Заказ на изготовление наружной рекламы №'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object DBNavigator1: TDBNavigator
Left = 233
Top = 384
Width = 234
Height = 25
DataSource = DataBase.DZakaz
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel]
Flat = True
TabOrder = 0
OnClick = DBNavigator1Click
end
object DBEdit1: TDBEdit
Left = 88
Top = 40
Width = 121
Height = 21
DataField = 'DATA'
DataSource = DataBase.DZakaz
TabOrder = 1
end
object DBEdit2: TDBEdit
Left = 344
Top = 40
Width = 121
Height = 21
DataField = 'DATAUTV'
DataSource = DataBase.DZakaz
TabOrder = 2
end
object DBEdit3: TDBEdit
Left = 392
Top = 8
Width = 73
Height = 21
DataField = 'NOMER'
DataSource = DataBase.DZakaz
TabOrder = 3
end
object GroupBox1: TGroupBox
Left = 8
Top = 64
Width = 457
Height = 97
Caption = 'Заказчик рекламы'
TabOrder = 4
object Label4: TLabel
Left = 8
Top = 20
Width = 48
Height = 13
Caption = 'Заказчик'
end
object RxSpeedButton1: TRxSpeedButton
Left = 424
Top = 14
Width = 25
Height = 25
Hint = 'Добавить заказчика'
Flat = True
Glyph.Data = {
DE010000424DDE0100000000000076
040000000000680100000000000000
800000800000008080008000000080
F0000FF000000FFFF00FF000000FF0
333333333333333333333333000033
0000333333F4444833333333333383
333383333F3333330000333333F444
33F4444833333333333383333F3333
3FFFFFF300003F4444444444444483
4444833833333333333333F300003F
00003F444444444444448338333333
88888333388888F30000333333F444
33F4444833333333333383333F3333
3F3333330000333333F44448333333
33333333333388888F333333000033
0000}
NumGlyphs = 2
OnClick = MT1Click
end
object Label5: TLabel
Left = 8
Top = 48
Width = 31
Height = 13
Caption = 'Адрес'
end
object DBText1: TDBText
Left = 80
Top = 48
Width = 201
Height = 17
DataField = 'ADRES'
DataSource = DataSource1
end
object DBText3: TDBText
Left = 344
Top = 48
Width = 105
Height = 17
DataField = 'TEL'
DataSource = DataSource1
end
object Label7: TLabel
Left = 288
Top = 48
Width = 45
Height = 13
Caption = 'Телефон'
end
object Label8: TLabel
Left = 8
Top = 72
Width = 59
Height = 13
Caption = 'Документы'
end
object DBText4: TDBText
Left = 80
Top = 72
Width = 369
Height = 17
DataField = 'DOKUMENT'
DataSource = DataSource1
end
object DBLookupComboBox1: TDBLookupComboBox
Left = 80
Top = 16
Width = 337
Height = 21
DataField = 'ZAKAZCHIK'
DataSource = DataBase.DZakaz
KeyField = 'ID'
ListField = 'ZAKAZC'
ListSource = DataBase.DZakazchik
TabOrder = 0
OnClick = DBLookupComboBox1Click
end
end
object GroupBox2: TGroupBox
Left = 8
Top = 160
Width = 457
Height = 113
Caption = 'Существующие заказы'
TabOrder = 5
object DBGrid1: TDBGrid
Left = 2
Top = 15
Width = 453
Height = 96
Align = alClient
DataSource = DataSource2
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
end
object MainMenu1: TMainMenu
Left = 8
Top = 384
object MenuTable: TMenuItem
Caption = 'Таблицы'
object MT1: TMenuItem
Caption = 'Заказчик'
OnClick = MT1Click
end
object MT2: TMenuItem
Caption = 'Изделие'
OnClick = MT2Click
end
object TM3: TMenuItem
Caption = 'Наименование изделие'
OnClick = TM3Click
end
object TM4: TMenuItem
Caption = 'Вид оплаты'
OnClick = TM4Click
end
object TM5: TMenuItem
Caption = 'Цвет'
OnClick = TM5Click
end
object TM6: TMenuItem
Caption = 'Материал'
OnClick = TM6Click
end
end
end
object Query1: TQuery
DatabaseName = 'Master'
DataSource = DataBase.DZakaz
SQL.Strings = (
'select * from TZakazchik'
'where ZAKAZC="Петров Петр Петрович"')
Left = 72
Top = 384
end
object DataSource1: TDataSource
DataSet = Query1
Left = 40
Top = 384
end
object DataSource2: TDataSource
DataSet = Query2
Left = 128
Top = 384
end
object Query2: TQuery
DatabaseName = 'Master'
DataSource = DataBase.DZakaz
SQL.Strings = (
'select'
'(select IZDELIE from TNIzdelie where ID=2) AS Naimenovanie,'
'(KOLVO) AS Kolichestvo,'
'(VYSOTA) AS Vysota, '
'(SHIRINA) AS Shirina,'
'(TOLSHINA) AS Tolshina,'
'(DIAMETR) AS Diametr,'
'(SUMMA) AS Summa'
'from TIzdelie T'
'where ZAKAZ=1')
Left = 160
Top = 384
end
end
Запросы к базе данных
object Form1: TForm1
Left = 218
Top = 107
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = 'Form1'
ClientHeight = 417
ClientWidth = 476
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 42
Width = 65
Height = 13
Caption = 'Дата заказа'
end
object Label2: TLabel
Left = 224
Top = 42
Width = 95
Height = 13
Caption = 'Дата утверждения'
end
object Label3: TLabel
Left = 9
Top = 8
Width = 384
Height = 20
Caption = 'Заказ на изготовление наружной рекламы №'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object DBNavigator1: TDBNavigator
Left = 233
Top = 384
Width = 234
Height = 25
DataSource = DataBase.DZakaz
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel]
Flat = True
TabOrder = 0
OnClick = DBNavigator1Click
end
object DBEdit1: TDBEdit
Left = 88
Top = 40
Width = 121
Height = 21
DataField = 'DATA'
DataSource = DataBase.DZakaz
TabOrder = 1
end
object DBEdit2: TDBEdit
Left = 344
Top = 40
Width = 121
Height = 21
DataField = 'DATAUTV'
DataSource = DataBase.DZakaz
TabOrder = 2
end
object DBEdit3: TDBEdit
Left = 392
Top = 8
Width = 73
Height = 21
DataField = 'NOMER'
DataSource = DataBase.DZakaz
TabOrder = 3
end
object GroupBox1: TGroupBox
Left = 8
Top = 64
Width = 457
Height = 97
Caption = 'Заказчик рекламы'
TabOrder = 4
object Label4: TLabel
Left = 8
Top = 20
Width = 48
Height = 13
Caption = 'Заказчик'
end
object RxSpeedButton1: TRxSpeedButton
Left = 424
Top = 14
Width = 25
Height = 25
Hint = 'Добавить заказчика'
Flat = True
Glyph.Data = {
DE010000424DDE0100000000000076
040000000000680100000000000000
800000800000008080008000000080
F0000FF000000FFFF00FF000000FF0
333333333333333333333333000033
0000333333F4444833333333333383
333383333F3333330000333333F444
33F4444833333333333383333F3333
3FFFFFF300003F4444444444444483
4444833833333333333333F300003F
00003F444444444444448338333333
88888333388888F30000333333F444
33F4444833333333333383333F3333
3F3333330000333333F44448333333
33333333333388888F333333000033
0000}
NumGlyphs = 2
OnClick = MT1Click
end
object Label5: TLabel
Left = 8
Top = 48
Width = 31
Height = 13
Caption = 'Адрес'
end
object DBText1: TDBText
Left = 80
Top = 48
Width = 201
Height = 17
DataField = 'ADRES'
DataSource = DataSource1
end
object DBText3: TDBText
Left = 344
Top = 48
Width = 105
Height = 17
DataField = 'TEL'
DataSource = DataSource1
end
object Label7: TLabel
Left = 288
Top = 48
Width = 45
Height = 13
Caption = 'Телефон'
end
object Label8: TLabel
Left = 8
Top = 72
Width = 59
Height = 13
Caption = 'Документы'
end
object DBText4: TDBText
Left = 80
Top = 72
Width = 369
Height = 17
DataField = 'DOKUMENT'
DataSource = DataSource1
end
object DBLookupComboBox1: TDBLookupComboBox
Left = 80
Top = 16
Width = 337
Height = 21
DataField = 'ZAKAZCHIK'
DataSource = DataBase.DZakaz
KeyField = 'ID'
ListField = 'ZAKAZC'
ListSource = DataBase.DZakazchik
TabOrder = 0
OnClick = DBLookupComboBox1Click
end
end
object GroupBox2: TGroupBox
Left = 8
Top = 160
Width = 457
Height = 113
Caption = 'Существующие заказы'
TabOrder = 5
object DBGrid1: TDBGrid
Left = 2
Top = 15
Width = 453
Height = 96
Align = alClient
DataSource = DataSource2
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
end
object MainMenu1: TMainMenu
Left = 8
Top = 384
object MenuTable: TMenuItem
Caption = 'Таблицы'
object MT1: TMenuItem
Caption = 'Заказчик'
OnClick = MT1Click
end
object MT2: TMenuItem
Caption = 'Изделие'
OnClick = MT2Click
end
object TM3: TMenuItem
Caption = 'Наименование изделие'
OnClick = TM3Click
end
object TM4: TMenuItem
Caption = 'Вид оплаты'
OnClick = TM4Click
end
object TM5: TMenuItem
Caption = 'Цвет'
OnClick = TM5Click
end
object TM6: TMenuItem
Caption = 'Материал'
OnClick = TM6Click
end
end
end
object Query1: TQuery
DatabaseName = 'Master'
DataSource = DataBase.DZakaz
SQL.Strings = (
'select * from TZakazchik'
'where ZAKAZC="Петров Петр Петрович"')
Left = 72
Top = 384
end
object DataSource1: TDataSource
DataSet = Query1
Left = 40
Top = 384
end
object DataSource2: TDataSource
DataSet = Query2
Left = 128
Top = 384
end
object Query2: TQuery
DatabaseName = 'Master'
DataSource = DataBase.DZakaz
SQL.Strings = (
'select'
'(select IZDELIE from TNIzdelie where ID=2) AS Naimenovanie,'
'(KOLVO) AS Kolichestvo,'
'(VYSOTA) AS Vysota, '
'(SHIRINA) AS Shirina,'
'(TOLSHINA) AS Tolshina,'
'(DIAMETR) AS Diametr,'
'(SUMMA) AS Summa'
'from TIzdelie T'
'where ZAKAZ=1')
Left = 160
Top = 384
end
end
Форма «Заказчик»
object FZakazchik: TFZakazchik
Left = 431
Top = 193
BorderStyle = bsDialog
Caption = 'Заказчик'
ClientHeight = 188
ClientWidth = 338
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
OnClose = FormClose
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 48
Height = 13
Caption = 'Заказчик'
end
object Label2: TLabel
Left = 232
Top = 56
Width = 45
Height = 13
Caption = 'Телефон'
end
object Label3: TLabel
Left = 8
Top = 56
Width = 31
Height = 13
Caption = 'Адрес'
end
object Label4: TLabel
Left = 8
Top = 104
Width = 130
Height = 13
Caption = 'Прилагаемые документы'
end
object DBEdit1: TDBEdit
Left = 8
Top = 24
Width = 321
Height = 21
DataField = 'ZAKAZC'
DataSource = DataBase.DZakazchik
TabOrder = 0
end
object DBEdit2: TDBEdit
Left = 8
Top = 72
Width = 209
Height = 21
DataField = 'ADRES'
DataSource = DataBase.DZakazchik
TabOrder = 1
end
object DBEdit3: TDBEdit
Left = 232
Top = 72
Width = 97
Height = 21
DataField = 'TEL'
DataSource = DataBase.DZakazchik
TabOrder = 2
end
object DBEdit4: TDBEdit
Left = 8
Top = 120
Width = 321
Height = 21
DataField = 'DOKUMENT'
DataSource = DataBase.DZakazchik
TabOrder = 3
end
object DBNavigator1: TDBNavigator
Left = 52
Top = 152
Width = 234
Height = 25
DataSource = DataBase.DZakazchik
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel]
Flat = True
TabOrder = 4
end
end
Форма «Изделие»
object FIzdelie: TFIzdelie
Left = 351
Top = 116
BorderStyle = bsDialog
Caption = 'Изделие'
ClientHeight = 423
ClientWidth = 426
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 121
Height = 13
Caption = 'Наименование изделия'
end
object Label2: TLabel
Left = 8
Top = 56
Width = 38
Height = 13
Caption = 'Высота'
end
object Label3: TLabel
Left = 112
Top = 56
Width = 39
Height = 13
Caption = 'Ширина'
end
object Label4: TLabel
Left = 216
Top = 56
Width = 46
Height = 13
Caption = 'Толщина'
end
object Label5: TLabel
Left = 320
Top = 56
Width = 46
Height = 13
Caption = 'Диаметр'
end
object Label6: TLabel
Left = 8
Top = 104
Width = 34
Height = 13
Caption = 'Сумма'
end
object Label7: TLabel
Left = 112
Top = 104
Width = 59
Height = 13
Caption = 'Количество'
end
object Label8: TLabel
Left = 8
Информация о работе Создание АРМ "Клиент-менеджер.Наружная реклама"