Создание АРМ "Клиент-менеджер.Наружная реклама"

Автор работы: Пользователь скрыл имя, 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

Вложенные файлы: 1 файл

Диплом (Antonio).doc

— 1.45 Мб (Скачать файл)

 

TNIzdelie (Объект «Вид изделия»)

Таблица 3.7

Название поля/Свойство объекта

Тип данных

Длина

Разрешен ли NULL

Индекс/

Отношение

ID_IZD/«Уникальный идентификатор»

Числовой

4

Нет

Уникальное

IZD/ «Вид изделия»

Текстовый

20

Нет

Нет

 

Рис. 3.2. Структура реляционной базы данных «Клиент-менеджер. Наружная реклама»

3.6. Подключаемые внешние модули

Подключаемые внешние модули являются технологией, которая позволяет расширить функциональность приложения. Модуль представляет стандартную динамически загружаемую библиотеку (DLL — Dynamic Link Library) Windows, которая содержит дополнительные функции по обработке данных[31].

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

16. Функция инициализации;

17. Функция получения имени модуля;

18. Функция обработки данных.

Процедура подключения библиотеки:

// Загрузка файла конфигурации

void __fastcall TForm1::LoadConfiguration(AnsiString cfgname)

{

// Загрузка файла из параметра cfgname

st->Items->LoadFromFile(cfgname);

HINSTANCE htmp;

void (__stdcall *ver)(char *); // описание указателя на функцию

for(int i=0;i<st->Items->Count;i++)  // перебор всех строк из файла

{

  htmp=LoadLibrary((st->Items->Strings[i]).c_str()); // Загрузка динамической библиотеки dll

  if(htmp){ // проверка успешно ли загруженна библиотека

   ver=(void (__stdcall *)(char *))GetProcAddress(htmp,"_GetDllVersion"); // получение адреса функции проверки версии библиотеки

   if(ver){ // если данная функция существует

    char *ctmp=new char[50]; ctmp[0]='\0'; ver(ctmp); // вызов функции

    if(strcmp(ctmp,"Master v1")==0){ // совместима ли библиотека с данной версией программы

     // установка массива переменных

     libs[libscount].Lib=htmp;

     libs[libscount].Name=st->Items->Strings[i];

     ver=(void (__stdcall *)(char *))GetProcAddress(htmp,"_GetLibraryID"); // получение адреса функции определения уникального идентификатора библиотеки

     ctmp[0]='\0'; ver(ctmp);

     libs[libscount++].UniqueID=ctmp;

     ver=(void (__stdcall *)(char *))GetProcAddress(htmp,"_GetLibraryHeader"); // получение адреса функции определения заголовка библиотеки

     ctmp[0]='\0'; ver(ctmp);

     libs[libscount++].LibHeader=ctmp;

     // добавление закладки загруженной библиотеки

     TabControl1->Tabs->Add(ctmp);

    }else{ FreeLibrary(htmp);} // если библиотека не та то высвобождаем память от нее

    delete [] ctmp;

   }else{ FreeLibrary(htmp);}

  }

}

if(libscount>0){

  LoadResource(0); // в случае загрузки библиотек загружаем ресурсы из них

}

}

В начале работы, программа сканирует файл конфигурации на  наличие динамических загружаемых библиотек — DLL.

// Загрузка кофигурационного файла библиотек

LoadConfiguration(rootdir+"\\test.cfg");

Путем вызова процедуры LoadLibrary, программа открывает динамически обновляемую библиотеку. Если успешно, то осуществляется загрузка модуля в память. Далее, для получения имени модуля и отображения его в закладке редактора вызывается функция GetProcAddress. При завершении работы программы, все модули выгружаются из памяти.

В файле MR_lib.cpp содержатся описания методов работы с классами, находящимися в DLL-файле:

enum ProgModes { mNone, mInsertObject, mDragInsertObject,

                  mSelectObject, mDragObject, mMouseOnPoint,

                  mTextInput };

enum StatusModes {sNone, sBeforeInsert, sAfterInsert,

                  sBeforeSelect, sAfterSelect,

                  sBeforeDrag, sAfterDrag,

                  sBeforeResize, sAfterResize};

enum ReturnMode { rmNone, rmBreak, rmStop, rmCrash,

                  rmTextInput };

enum MouseButton { Left, Midle, Right };

3.7. Тестирование и отладка

3.7.1. Методы тестирования

После завершения этапа разработки приложения «АРМ «Клиент-менеджер. Наружная реклама» необходимо провести его тестирование в отношении критериев эффективности. Тестирование программного продукта необходимо для проверки правильности функционирования всех компонентов программы.

Тестирование является одним из этапов жизненного цикла ПИ, направленным на повышение качественных характеристик. При создании типичного программного продукта около 40% общего времени и более 40% общей стоимости расходуется на проверку (тестирование) разрабатываемой программы [23].

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

Так как для разработки приложения применялась методология Object Modeling Technique (OMT), то тестирование и отладка приложения производилась после написания очередного модуля, потому что это является одной из особенностей данной методологии. Учитывая этот фактор, в качестве метода тестирования был выбран метод статистического тестирования. Реализация этого метода проводится путем проверки программного кода и исправлении его, в случае выявления ошибок.

Статическое тестирование - наиболее формализованное, базируется на правилах структурного построения программ и обработки данных. Проверка степени выполнения этих правил проводится без изменения объектного кода программы путем формального анализа текста программы на языке программирования. Операторы и операнды текста программы анализируются в символьном виде, поэтому этот метод тестирования иногда называют символическим тестированием.

Статическое тестирова­ние реализуется путем применения ручных методов тестирова­ния программ. Они получили развитие с начала 70-х годов, когда в программировании были введены требования структур­ного и модульного написания программ. Это сделало програм­мы удобочитаемыми и позволило проводить тестирование отдельных модулей вручную без использования ЭВМ.

Использование ручных методов тестирования достаточно эф­фективно. Для типичных программ, по данным фирмы IВМ, можно находить от 30 до 80% ошибок логического проектирова­ния и кодирования. Эти методы способствуют существенному увеличению производительности и повышению надежности программ, позволяют раньше обнаружить ошибки, а значит, уменьшить стоимость исправления. При ручных методах тести­рования вероятность того, что при исправлении ошибок не вно­сятся новые ошибки, намного выше [24].

Мной был выбран  метод ручного тестирования – инспекции исход­ного текста.

В этом методе предполагается некоторая подготовительная работа и проведение собрания, состоящего из участников проверки, цель которого нахождение ошибок, но не их устранение (т.е. тестирование, а не отладка).

В проверке участвовали разработчик ПС – А.Е. Сысуев и Д.В. Ануфриев (дизайнер фирмы «Мастерская Рекламы»). Д.В. Ануфриев проверял работоспособность программного кода, написанного А.Е. Сысуевым.

Рассмотрим каждую из предлагаемых процедур.

Инспекции исходного текста – набор правил и приемов обнаружения ошибок при изучении текста программы.

Общая процедура инспекции заключается в том, что заранее (за несколько дней) просматривается листинг программы и проектная спецификация. Инспекционное заседание начинается с докла­да автора о логике своей части кода, о методах и приемах, использованных при ее написании. Далее программа анализи­руется по списку вопросов для выявления общих ошибок про­граммирования. Предлагаемый список содержит около 70 вопросов, сгруппированных в 8 групп.

Тестер должен сосредоточить свое внимание на поиске ошибок, а не на их корректировке. По окончании проверки автору программы передается список найденных ошибок. Если он очень велик и требует больших доработок, то может быть принято решение повторной инспек­ции. Оптимальная продолжительность заседания 90-120 мин. Скорость просмотра 150 операторов в час.

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

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

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

3.7.2. Результаты тестирования и отладки

При проверке всех частей программного кода были выявлены различные ошибки.

Примеры некоторых ошибок:

     Не работали некоторые свойства подключенного модуля;

     Не корректно работал «Предварительный просмотр»;

     Данные некоторых таблиц выдавались неверно.

При оценке программного средства были проверены функции:

     Вывод на печать;

     Просмотр сформированных документов;

     Подключение модуля;

     Построение графиков.

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

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

Выводы.

1.      В качестве платформы для создания программного продукта выбрана Win32, как наиболее распространенная и эффективная.

2.      Средством разработки выбран программный продукт Borland C++ Builder 5.0.

3.      Описана реализация интерфейса программы «АРМ «Клиент-менеджер. Наружная реклама», разработанного с использованием стандартов графического интерфейса пользователя (GUI), являющегося обязательным компонентом большинства современных программных продуктов.

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

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

Информация о работе Создание АРМ "Клиент-менеджер.Наружная реклама"