Информационная система управления контактами компьютерного магазина

Оглавление

Введение. 2

1. Исследовательская часть 7

1.1. Моделирование системы 7

Требования к системе. 8

1.11. Постановка задачи 9

Техническое задание 10

1) Введение 10

Основание для разработки 10

Назначение разработки 10

Система предназначена для автоматизации  и наглядности управления рабочим  процессом компании, упрощения процесса взаимодействия персонала и клиентов. 10

Требование к программе  или программному изделию 11

Требование к функциональным характеристикам 11

4.2.)  Требования к надежности 13

4.3.) Требования к производительности 14

4.4.) Требования к модифицируемости 14

4.5.) Требования к безопасности 15

4.6. Требования к составу и параметрам технических средств 16

4.7. Требования к информационной  и программной совместимости 16

4.8. Требования к маркировке  и упаковке 16

4.9. Требования к транспортированию  и хранению 16

4.10. Требования к программной  документации 16

4.11.  Планирование тестирования 16

Стадии и этапы разработки 17

Конструкторская часть 18

4.1. Выбор СУБД 18

4.2. Выбор языка программирования 20

4.3. Технологии программирования 20

4.4 Сетевое взаимодействие 23

Базовые сведения о сокетах 24

Установление соединений 27

Сериализация. 28

Логика работы программы. 30

4.6.4 Диаграмма классов 31

Заключение 34

Литература: 36

Ссылки на Web-ресурсы: 36

 

 

Введение.

 

Использование баз данных и информационных систем становится неотъемлемой составляющей деловой деятельности современного человека и функционирования многих преуспевающих организаций.

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

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

Компьютерные  сети в настоящее время представляют собой сложные комплексы со множеством поддерживаемых протоколов передачи данных и управления, которые интенсивно совершенствуются. Компьютерные сети предоставляют пользователям сервисы, реализуемые в виде сетевых приложений. Одним из наиболее распространенных классов сетевых приложений являются клиент-серверные приложения, которые  реализуются в виде клиентской части, формирующей запросы на сервисы, и серверной, обрабатывающей запросы  и предоставляющей сервисы. На рис. 1 приведена наглядная схема работы клиент-серверного приложения [2].

Рис. 1. Общая схема функционирования клиент-серверного приложения



 

 

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

База данных (БД) - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. БД является информационной моделью  предметной области. Обращение к  базам данных осуществляется с помощью  системы управления базами данных (СУБД) [6].

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

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

Реляционная база данных хранит и отображает данные в виде набора таблиц. (О таблицах будет рассказано чуть позже.) Логическая структура базы данных задается определением связей между таблицами. Вот основные преимущества реляционных БД:

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

Разрабатываемое Web-приложение является распределенным клиент-серверным. Клиентская часть программа предоставляет пользователю удобный интерфейс поиска по каталогу товаров и общении с сотрудниками магазина или администрирования сервера (для привилегированных пользователей), серверная часть – обрабатывает запросы клиентской части, проверяя их на корректность.

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

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

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

В CRM хранится вся важная информация по потенциальным и действующим  клиентам, а также история взаимоотношений  с ними. Используя данные из CRM, менеджер может определить текущую потребность  клиента в оборудовании. Процесс  продажи автоматизируется с помощью  прописанных в системе бизнес-процессов, чтобы качественно отрабатывать каждую потенциальную сделку. CRM-система  позволяет автоматизировать рутинную работу с документами: формирование прайс-листов, спецификаций и коммерческих предложений. Формирование комплектов оборудования может также производиться  системой с учетом рентабельности, налогов, затрат на таможню и т.д. Кроме того, в системе может быть организована работа по обработке заявок на сервисное обслуживание. При этом менеджеры и клиенты смогут контролировать ход эскалации каждой заявки. 

 

Что такое  CRM система и зачем она нужна? 

Под термином «CRM-система» понимается программный  продукт, направленный на реализацию концепции CRM. 
Основными принципами CRM-системы являются: 
·   Наличие единого хранилища информации, откуда в любой момент доступны все сведения о предыдущем и планируемом взаимодействии с клиентами. 
·   Использование всех каналов взаимодействия. Ранее к подобным каналам взаимодействия относили только телефонные звонки, электронную почту, события/встречи. Но с активным развитием веб-технологий появились другие каналы взаимодействия — регистрационные формы на веб-сайтах, рекламные ссылки, системы корпоративного веб-чата и т. д. 
·   Постоянный анализ собранной информации о клиентах и подготовка данных для принятия соответствующих организационных решений.

Несмотря  на то, что CRM-системы существуют уже  давно, вопрос о функциональных составляющих данных систем все еще остается открытым. Более того, определение CRM эволюционирует и изменяется с течением времени. Но многие специалисты сходятся во мнении, что в течение следующих  двух лет CRM будет состоять из 11 компонентов, описанных ниже. Это означает, что  на первоначальном этапе CRM-система  обычно состоит из одного или более  компонентов, и с течением времени  к ней будут добавлять компоненты из данного списка или вновь появляющиеся.

ВИДЫ CRM

 
CRM обычно разделяют на следующие  виды:  
- операционный CRM  
- аналитический CRM  
- коллаборационный CRM (CRM сотрудничества).

 

В данной курсовой работе рассматривается коллаборационная  CRM  - система. В качестве упрощения и абстракции присутствует единственный функционал – управление контактами. Следующая схема дает возможность понять связь видов CRM, и бизнес-процессы, в которых применяются CRM технологии (источник META Group):

 
  
 

 

 

 

 

 

 

 

 

1. Исследовательская  часть

В данном разделе  будет представлен список функциональных задач, предъявляемый к разрабатываемому приложению. Так как информационная система компьютерного магазина узкоспециальна, то аналоги можно найти только общие. Обзор аналогичных систем нецелесообразен. Можно выделить только крупные системы такие как: 1С: Управление Торговлей, Siebel CRM.

1.1. Моделирование системы

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

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

Предметная область – поставка и реализация компьютерной техники. Перед разработкой были поставлены следующие задачи: получить возможность  просматривать, редактировать, добавлять  данные, получать результаты запросов, делать поиск по базе

Так же необходимо обеспечить удобную  работу для персонала организации  и клиентов

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

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

Требования к  системе.

  1. Система должна быть распределенной.
  2. Система должна поддерживать добавление контакта
  3. Система должна поддерживать удаление контакта
  4. Система должна поддерживать обновление контакта
  5. Система дожна поддерживать выбор контакта с сервера – на клиент.
  6. Система должна поддерживать распределение полномочий по управлению контактами.
  7. Система должна быть легко масштабируемой.
  8. Система должна быть простой и наглядной.
  9. Система должна представлять возможность увеличения функционала с наименьшими функциональными правками.

 

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

1.11. Постановка задачи

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

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

 

Техническое задание

    1.  Введение

Техническое задание предназначается для  курсовой работы по курсу «Микропроцессорные устройства обработки сигналов». В рамках курсовой работы будет разрабатываться информационная система «Магазин компьютерной техники и программного обеспечения».

Основание для разработки

Основой для  разработки данной базы данных явился учебный план специальности «Информационные  системы и телекоммуникации», утвержденный ректором А.А. Александровым

  Назначение разработки

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

Предметная область – поставка и реализация компьютерной техники. Перед разработкой были поставлены следующие задачи: получить возможность  просматривать, редактировать, добавлять  данные, получать результаты запросов, делать поиск по базе

Так же необходимо обеспечить удобную  работу для персонала организации  и клиентов

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

Требование к  программе или программному изделию

 Требование к функциональным характеристикам

Согласно  ГОСТ в рассматриваемом разделе  должны быть указаны требования к  составу выполняемых функций, организация  входных и выходных данных.

Также в этом разделе будут представлены основные требования к системе:

  1. режимы работы программы;
  2. функции, выполняемые в каждом режиме;
  3. принципы смены режимов и параметров;
  4. структура входной информации и принцип её ввода;
  5. принцип выходной информации, вид представления результатов: сообщения, таблицы, графики, файлы;
  6. алгоритмы обработки информации.

 

Основными режимами работы разрабатываемой программы  являются :

    • ввод информации;
    • вывод информации;
    • редактирование информации;
    • удаление информации;
    • поиск интересующей информации.

Смена режимов осуществляется с  помощью контекстного меню, расположенного на странице, путём нажатиях необходимых  кнопок.

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

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

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

Таблица 4.1.1. Требования к функциональности

Параметр сценария

Возможное значение

Источник стимула

Пользователь, разработчик, администратор  БД

Стимул

Ввод/редактирование/вывод информации

Условия

Система в рабочем режиме

Артефакт

Информация, вводимая в специальную  форму/Информация, хранящаяся в таблицах БД

Реакция

Ввод : сохранение информации;

Редактирование: вывод формы для редактирования, сохранение результата в БД;

Вывод : вывод требуемых данных на экран.

Количественная мера реакции

Обработка запроса не более чем  за 0.005 сек


 

Требования реализуются модулем  изменения информации.

4.2.) Требования к надежности

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

Таблица 4.2.1. Требования к  надёжности

Параметр сценария

Возможное значение

Источник

Пользователь

Стимул

Некорректный ввод данных

Условия

Система в рабочем режиме

Артефакт

СУБД 

Реакция

Проверка корректности вводимых данных. В случае неверного ввода переход  в режим с ухудшенными характеристиками (за счет уменьшения возможностей происходит нейтрализация неисправностей); система  должна обнаружить событие и выполнить  следующее действие: оповестить пользователя об ошибке и предложить пользователю диалоговое окно, в котором пользователь сможет выбрать одно из следующих  действий : изменить БД (одну из таблиц) или добавить значения по умолчанию.

Количественная мера реакции

Время на обнаружение и устранение ошибки ≈10-3 сек


 

Требования реализуются модулем  бэкапа, модулем автоматического  обновления данных и модулем оповещения.

  4.3.) Требования к производительности

Параметр сценария

Возможное значение

Источник

Внешний по отношению к системе (пользователи)

Стимул

Непериодическое инициирование 1500 транзакций в минуту

Условия

Система в рабочем режиме

Артефакт

Модуль просмотра данных

Реакция

Переход из нормального режима работы в перегруженный

Количественная мера реакции

Время на обработку транзакций не более 5 сек


 

Требования реализуются модулем  доступа к данным и модулем  кэширования.

4.4.) Требования к модифицируемости

Параметр сценария

Возможное значение

Источник

Разработчик

Стимул

Изменение существующих функций

Условия

Проектирование

Артефакт

Подсчёт зарплаты сотрудника с учётом процента от продаж

Реакция

Тестирование изменений

Количественная мера реакции

Время модификации не более 2 часов


 

 

 

Параметр сценария

Возможное значение

Источник

Разработчик

Стимул

Внесение изменения в пользовательский интерфейс

Условия

Тестирование

Артефакт

Пользовательский интерфейс

Реакция

Локализация изменений в модуле добавления данных

Количественная мера реакции

Время модификации не более 2 часов


 

Требования реализуются модулем  автоматического обновления данных в БД.

4.5.) Требования к безопасности

Параметр сценария

Возможное значение

Источник

Пользователь без прав доступа

Стимул

Попытка ввести/изменить данные

Условия

Оперативный/неоперативный режим, наличие подключения к сети

Артефакт

Данные, хранящиеся в системе

Реакция

Сообщение от системы о попытке  изменить данные пользователем без  прав доступа; занесение ip-адреса злоумышленника в таблицу; запрет на изменение данных с этого ip.

Количественная мера реакции

Время восстановления  не более 1 мин.


 

Требования реализуются модулем  доступа к данным и модулем  обновления данных в БД.

4.6. Требования к составу и параметрам технических средств

РС совместимый  компьютер (производительность не ниже Intеl х64  1.7 Ггц, 3 Гб оперативной памяти, 35гб свободного места на жестком диске SSD) с установленной операционной системой Windows Server 2008 R2.

4.7. Требования к информационной  и программной совместимости

Требуется установленная  система Windows Server 2008 R2 система должна поддерживать ввод/вывод русских букв. Веб-сервер IIS 7, и СУБД MSSQL. Данная БД имеет русский интерфейс, следовательно, операционная система должна поддержать русский язык. 

4.8. Требования к маркировке и  упаковке

Нет.

4.9. Требования к транспортированию  и хранению

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

4.10. Требования к программной документации

В состав документации входит пояснительная записка

4.11. Планирование тестирования

  1. Какие компоненты ПО подлежат тестированию:

Тестируем выполнение запросов к базе данных (БД) через пользовательский интерфейс  БД.

  1. Основание для тестирования:

Ошибки  в структуре данных, ключах и связях.

  1. Как часто стоит выполнять тестирование:

Тестирование  производится во время процесса разработки БД.

  1. Кто выполняет тестирование:

Разработчик программного продукта.

  1. Как выполняется тестирование:

Тестирование  проходит с учётом структуры БД и  её таблиц. Сначала при необходимости  проводится вставка некоторых первоначальных данных. Далее проверяется состояние  БД после выполнения каких-либо запросов (удаление, редактирование, вычисления параметров и т.д.). После этого  необходимо очистить БД и повторить  всё вышеперечисленное для каждого  теста.

  1. Сколько длится тестирование:

Необходимо  написать тест для каждого столбца  всех таблиц (всего 50 столбцов) во время  разработки и после каждой модификации  БД.

Стадии  и этапы разработки

 

Номер этапа

Содержание этапа

Отчётные материалы

4 нед.

7 нед.

11 нед.

14 нед.

1

Исследовате-льская часть

17 листов формата А4 РПЗ

 

     

2

Техническое задание

4 листа формата А4 РПЗ

       

3

Конструктор-ская часть

14 листов формата А4 РПЗ

       

4

Технологи-ческая часть

3 листа формата А4 РПЗ

       

 

 

Конструкторская часть

В данном разделе рассмотрена общая схема функционирования разрабатываемого приложения и основные сведения о БД.

Разработка  распределенной  информационной системы на основе паттерна проектирования Publisher/Broker/Subscriber.

Работу разрабатываемого приложения можно описать следующим  образом:

  1. Подписчик формирует запрос и посылает его брокеру в виде объекта.
  2. Брокер проверяет, разрешено ли подписчику делать запрос (проверяется также тип запроса)  и только в положительном случае формирует SQL-запрос к БД.
  3. СУБД возвращает данные из БД.
  4. Внесение измений в БД может осуществлять брокер.Причем у брокера есть функционал  CRUD (Create – Read – Update – Delete).
  5. Паблишер отправляет данные брокеру в виде объекта, брокер добавляет данные в БД.

4.1. Выбор СУБД

БД – это  автоматизированное справочное бюро, предназначенное для хранения и  обработки больших объемов однородной информации. Основной функцией БД является выдача ответов на запросы пользователей (или клиентов БД). БД состоит из информационного  фонда (называемого также состоянием БД) и программы, управляющей этим фондом. Эта программа называется системой управления базами данных (или  СУБД). [2]

В данной работе в качестве СУБД была выбрана MSSQL.

СУБД MSSQL основывается на реляционной модели. Это значит, что данные хранятся в виде отношений (по-английски - relation, отсюда и название модели) или, проще говоря, таблиц. Эти таблицы делятся на базисные, в которых хранятся исходные данные и производные, которые получаются в результате работы СУБД. В частности, ответы на запросы пользователя также представляются в виде производных таблиц. По сути, работа СУБД заключается в переработке таблиц. [2]

В MSSQL в качестве языка запросов используется SQL.

SQL - сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными). MSSQL соответствует спецификации ANSI 92 SQL. [3]

СУБД MSSQL широко распространена в глобальной сети Интернет. Большинство провайдеров интернет-услуг предоставляют сервисы MSSQL.

MSSQL подходит для решения большинства повседневных задач, поэтому нет необходимости использовать более сложные и узкоспециализированные СУБД [7].

По сравнению с MySQL MSSQL обладает более дружественным инструментом управления базами данных и разработки, таким как SQL Server Management Studio и средствами анализа данных. MSSQL удобен для быстрой разработки приложений работающих с данными. И так как среда разработки MS Visual Studio отлично работает в связке  c MSSQL, то для данной системы идеальным выбором будет использование SQL Server 2008 R2.

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

Информационная система управления контактами компьютерного магазина