Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса (Анализ и изучение конкуренции)

Содержание:

ВВЕДЕНИЕ

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

Цель курсовой работы – проектирование информационной системы для реализации бизнес-процесса «Анализ и изучение конкуренции» на примере компании «Пицца-LIVE».

Для достижения поставленной цели необходимо решить следующие задачи:

  • проанализировать текущую организацию бизнес-процесса анализа и изучения конкуренции в компании «Пицца-LIVE» и возникающего при этом документооборота;
  • выбрать и обосновать проектные решения по информационному и программному обеспечению;
  • составить информационную модель проектируемой информационной системы;
  • разработать базу данных и программные модули ИС;
  • описать контрольный пример реализации проекта.

1 глава. Аналитическая часть.

1.1. Выбор комплекса задач автоматизации.

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

Анализом и изучением конкуренции в компании «Пицца-LIVE» занимается отдел маркетинга и продвижения. В составе отдела трудится всего два сотрудника – маркетолога. В их функции помимо анализа и изучения конкуренции также входят разработка и ведение рекламных компаний, акций, маркетинговых исследований, продвижение компании и её услуг как онлайн, так и офлайн.

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

По результатам анализа выдвигаются различные гипотезы и проводятся необходимые мероприятия, способствующие повышению конкурентоспособности компании «Пицца-LIVE».

1.2. Характеристика существующих бизнес-процессов.

Для анализа бизнес-процесса анализа и изучения конкурентов в компании «Пицца-LIVE» воспользуемся функционально-структурным моделированием этой деятельности. В качестве основной методологии построения функциональных моделей выступает IDEF0.

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

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

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

Стандарт IDEF0 регламентирует с помощью входа (первый тип входных данных) показывать объекты, которые преобразуются в данным бизнес-процессе, это могут информационные и материальные потоки. С помощью управления (второй тип) показывают объекты, которые управляют выполнением бизнес-процессам. С помощью механизмов (третий тип) необходимо показывать объекты, которые непосредственно осуществляют данные бизнес-процесс: сотрудники, технические средства, информационный системы. На выходе бизнес процесса показывают результат выполнения данного бизнес-процесса.

На первом этапе построения IDEF0 модели система представляется как единое целое. Основная цель данного этапа – выявить входные и выходные данные, а также механизмы и правила для данной системы. Диаграмма данного этапа называется контекстной.

Контекстная диаграмма бизнес-процесса анализа и изучения конкуренции изображена на рисунке 1 (для построения диаграмм использовалось CASE- средство AllFusion Process Modeler 7)

Рисунок 1. Контекстная диаграмма

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

Следующий этап построения функциональной модели – декомпозиция контекстной диаграммы на составляющие её бизнес-процессы. Диаграмма декомпозиции процесса анализа и изучения конкуренции представлена на рисунке 2.

Рисунок 2. Диаграмма декомпозиции

Анализ и изучение конкуренции состоит из трех основных этапов:

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

1.3. Характеристика документооборота, возникающего при решении задачи.

В процессе выполнения бизнес-процесса анализа и изучения конкуренции в компании «Пицца-LIVE» формируется три документа: список конкурентов, отчет по конкурентам и список мероприятий. На рисунках ниже (рисунки 3-5) приведены схемы документооборота для каждого из этих документов.

Рисунок 3. Схема документооборота для списка конкурентов

Рисунок 4. Схема документооборота для отчета по конкурентам

Рисунок 5. Схема документооборота для списка мероприятий

1.4. Обоснование проектных решений по информационному обеспечению.

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

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

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

Достоинствами реляционной модели являются:

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

Входными данными для проектируемой информационной системы автоматизации анализа и изучения конкуренции выступают данные о компаниях-конкурентах:

  • название;
  • телефон;
  • адрес;
  • дата открытия;
  • адрес сайта;
  • комментарий маркетолога;
  • слабые стороны;
  • тип конкурента;

Кроме того, по каждому конкуренту необходимо сохранять историю проводимых им маркетинговых акций:

  • описание;
  • дата запуска;
  • дата окончания;
  • тип акции.

Всего в информационной системе используется три справочника:

  • сотрудники (они же пользователи ИС);
  • типы конкурентов;
  • типы акций;
  • возможности (или особенности) конкурентов.

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

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

Описание используемых классификаторов приведено в таблице 1.

Таблица 1

Используемые идентификаторы

№ пп

Наименование кодируемого множества объектов

Значность кода

Мощность кода

Система кодирования

1

Идентификационный номер конкурента

4

9999

Порядковая

2

Идентификационный номер акции

4

9999

Порядковая

3

Идентификационный номер сотрудника

4

9999

Порядковая

4

Идентификационный номер типа акции

4

9999

Порядковая

5

Идентификационный номер типа конкурента

4

9999

Порядковая

6

Идентификационный номер типа возможности конкурента

4

9999

Порядковая

1.5. Обоснование проектных решений по программному обеспечению.

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

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

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

В качестве языка программирования был выбран язык Delphi.

Delphi 7 – язык программирования высокого уровня, имеющий следующие особенности:

  • набор операторов языка отражает принципы структурного проектирования и позволяет записывать достаточно сложные алгоритмы в лёгкой и элегантной форме;
  • синтаксис языка достаточно несложный и включает в себя возможности объектно-ориентированного программирования;
  • язык лёгок для изучения;
  • позволяет работать с базами данных;
  • позволяет составлять отчёты;
  • наличие компилятора с возможностью компоновки исполняемых файлов под операционные системы семейства Windows.

В качестве системы управления базами данных в текущей информационной системе была выбрана СУБД от компании Microsoft.

СУБД Microsoft Access наделена всеми возможностями, необходимыми для реализации информационной системы. Основным её достоинством стоит выделить то, что она входит в комплект офисных программ Microsoft Office, используемом в компании, а соответственно нет необходимости устанавливать дополнительное программное обеспечение.

2 глава. Проектная часть.

2.1. Информационная модель и её описание.

Информационной моделью называют схему движения входной, промежуточной и результативной информации и функций предметной области. Также с помощью информационной модели объясняется с помощью каких входных данных (документов) и какой нормативно-справочной информации происходит выполнение основных функций. Информационная модель проектируемой ИС представлена на рисунке 6.

Рисунок 6. Информационная модель

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

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

2.2. Характеристика нормативно-справочной, входной и оперативной информации.

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

Таблица 2

Справочники информационной системы

№ п/п

Название справочника

Ответственный за ведение

Средний объём справочника в записях

Средняя частота актуализации

Средний объем актуализации, %

1

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

Маркетолог

2

1 раз в полгода

50

2

Типы конкурентов

Маркетолог

10

1 раз в месяц

10

3

Типы акций

Маркетолог

10

1 раз в месяц

10

4

Возможности конкурентов

Маркетолог

50

1 раз в неделю

5

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

Реквизитный состав каждого справочника представлен в виде таблицы 3.

Таблица 3

Реквизитный состав справочников информационной системы

№ п/п

Наименование справочника

Перечень реквизитов

1

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

ФИО пользователя;

логин;

пароль;

электронная почта;

2

Типы конкурентов

Наименование типа

3

Типы акций

Наименование типа

4

Возможности (или особенности) конкурентов

Наименование возможности

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

На рисунке 7 изображена форма для работы с записями справочника «Пользователи».

Рисунок 7. Форма Пользователь

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

Формы для работы с записями других справочников имеют аналогичный вид (Рисунок 8).

Рисунок 8. Форма для работы со справочниками «Тип конкурента», «Тип акции», «Возможности конкурента»

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

Рисунок 9. Форма для создания конкурента

Рисунок 10. Форма добавления акции

Данные, введенные в формы, которые приведены выше, сохраняются в базе данных и используются для формирования выходных данных.

2.3. Характеристика результатной информации.

В качестве выходных данных выступает список конкурентов и отчет по конкурентам.

Подробное описание выходных данных в таблице 4.

Таблица 4

Описание результатной информации

Наименование

Список конкурентов

Отчет по конкурентам

Реквизиты

Наименование

Телефон

Адрес

Сайт

Тип конкурента

Количество акций

Наименование

Тип конкурента

Возможности (сильные стороны)

Слабы стороны

Активные акции

Комментарий

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

Конкурент

Акции

Тип конкурента

Конкурент

Акции

Тип конкурента

Тип акции

Возможности

Частота формирования

По мере необходимости

По мере необходимости

Способ доставки

Экранная форма, с возможностью выгрузки в файл Excel

Экранная форма, с возможностью выгрузки в файл Excel

2.4. Общие положения (дерево функций и сценарий диалога).

Базовый набор функций разработанной информационной системы можно изобразить в виде дерева, изображенного на рисунке 11.

Рисунок 11. Дерево функций

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

Рисунок 12. Сценарий диалога

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

2.5. Характеристика базы данных.

В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД Microsoft Access.

Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 7 таблиц. ER-модель спроектированной базы данных представлена на рисунке 13.

Рисунок 13. ER-модель базы данных

Описание всех таблиц базы данных представлено в таблицах 5-11.

Таблица 5

Таблица users

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код пользователя

id

int

4

AI

ФИО пользователя

fio

varchar

120

Пароль пользователя (в зашифрованном виде)

password

varchar

120

Телефон пользователя

phone

varchar

120

Таблица 6

Таблица competitors

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код конкурента

id

int

4

AI

Наименование

caption

varchar

120

Телефон

phone

varchar

120

Адрес

address

varchar

120

Веб-сайт

website

varchar

120

Дата открытия

opendate

datetime

10

Комментарий

comment

varhar

255

Слабые стороны

weak

longtext

65655

Тип конкурента

typeid

int

4

Сотрудник, добавивший конкурента

authorid

int

4

Таблица 7

Таблица comptypes

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код типа

id

int

4

AI

Наименование

caption

varchar

120

Таблица 8

Таблица actiontypes

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код типа

id

int

4

AI

Наименование

caption

varchar

120

Таблица 9

Таблица features

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код возможности

id

int

4

AI

Наименование

caption

varchar

120

Таблица 10

Таблица competitors_features

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код возможности

featureid

int

4

Код конкурента

competitorid

int

4

Комментарий

caption

varchar

120

Таблица 11

Таблица actions

Наименование поля

Идентификатор поля

Тип поля

Длина поля

Прочее

Код акции

id

int

4

Название

caption

varchar

120

Описание

description

TEXT

65655

Дата запуска

begindate

datetime

10

Дата окончания

enddate

datetime

10

Тип акции

typeid

int

4

Код конкурента

competitorid

int

4

2.6. Структурная схема пакета (дерево вызова программных модулей).

Проект программы состоит из шести модулей:

  • модуль Main.pas (главный модуль);
  • модуль Konkur.pas (работа с данными конкурентов);
  • модуль Report.pas (формирование отчетов);
  • модуль Sprav.pas (работа со справочниками);
  • модуль Connect.pas (настройки соединения с базой данных).

Подробное описание модулей представлено в виде таблицы 12.

Таблица 12

Описание модулей системы

№ п/п

Наименование модуля

Функции модуля

1.

модуль Main.pas

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

2.

модуль Konkur.pas

в данном модуле запрограммированы процедуры для обработки введенных данных о конкурентах и их акциях

3.

модуль Report.pas

модуль содержит процедуры и компоненты для ввода параметром отчетов, их формирования и выгрузки в Microsoft Excel

4.

Модуль Connect.pas

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

5.

модуль Sprav.pas

модуль содержит процедуры и компоненты для выполнения основных операций со справочниками (просмотр, добавление, изменение, удаление записей)

Дерево вызова программных модулей приведено на рисунке 14.

Рисунок 14 – Дерево вызова программных модулей

2.7 Описание программных модулей.

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

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

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

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

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

OLE DB по сути представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

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

В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

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

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

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

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

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

  • Запросы на выборку;
  • Запросы на добавление данных;
  • Запросы на обновление данных.

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

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

Для обновления данных, хранящихся в базе данных используется оператор UPDATE, для добавления новых – оператор INSERT.

Следует отметить, что технология ADO позволяет писать запрос в объекте AdoQuery на классическом языке SQL, без учета особенностей СУБД, используемой в качестве хранилища данных. Это является значимым преимуществом, т.к. позволяет легко переводить программные средства с одной СУБД на другую, в зависимости от условий эксплуатации и требований к ней.

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

Рисунок 15 – Блок-схема алгоритма авторизации пользователя

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

2.8. Контрольный пример реализации проекта и его описание.

После запуска программы открывается форма авторизации (Рисунок 16).

Рисунок 16. Форма авторизации

В окне пользователю необходимо выбрать свои ФИО в выпадающем списке, а затем ввести пароль. Если пароль указан верно, то откроется главное окно программы. Единственным активным элементом главного окна является меню, расположенное в верхней части окна. С помощью данного меню осуществляется доступ к формам, предназначенным для выполнения тех или иных функций (Рисунок 17).

Рисунок 17. Главное меню

При выборе пункта меню конкуренты открывается список конкурентов в виде таблицы (Рисунок 18).

Рисунок 18. Список конкурентов

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

Рисунок 19. Форма добавления конкурента

Работа с данными конкурента осуществляется с помощью другой формы, которая открывается при нажатии на кнопку «Изменить» на форме со списком конкурентов. Форма работы с конкурентом состоит из трех разделов: общие данные, список акций, список возможностей конкурента (Рисунок 20).

Рисунок 20. Форма работы с конкурентом

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

ЗАКЛЮЧЕНИЕ

В ходе проделанной работы были решены следующие задачи:

  • Была проанализирована текущая организация бизнес-процесса анализа и изучения конкуренции в компании «Пицца-LIVE», были выделены основные этапы выполнения бизнес-процесса, изучен возникающий документооборот;
  • Были выбраны и обоснованы проектные решения по информационному и программному обеспечению;
  • Была составлена информационная модель информационной системы;
  • Была разработана база данных и программные модули, реализующие работу ИС.
  • Был описан контрольный пример реализации проекта.

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  • ГОСТ 2.105 – 95. Общие требования к текстовым документам.
  • ГОСТ 7.32 – 2001. Отчет по научно-исследовательской работе. Структура и правила оформления.
  • ГОСТ 7.82-2001. Библиографическое описание электронных ресурсов.
  • ГОСТ 24.702-85 Эффективность автоматизированных систем управления.
  • ГОСТ Р 7.0.5-2008. Библиографическая запись. Библиографическое описание.
  • Агальцов В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 272 с.
  • Гагарина Л.Г. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие. М.: ИД «ФОРУМ»: ИНФРА-М, 2013. 384 с.
  • Горбаченко В.И., Убиенных Г.Ф. Бобрышева Г.В. Проектирование информационных систем с СА Erwin Modeling Suite 7.3. Пенза: Изд-во ПГУ, 2012, 154 c.
  1. Зуев Е.А. Программирование на языке Delphi 6.0,7.0. – М.: Радио и связь, Веста, 2016. - 186 с.
  • Калмыков Ю.В. Учебно-методичское пособие по обучению программированию на языке Delphi для школ, 2014. – 100 с.
  • Карпова И.П. Базы данных: Учебное пособие. – Спб.: Питер, 2013. – 240 с.
  • Кузин А.В., Левонисова С.В. Базы данных: Учебное пособие для студ. высш. учеб. заведений. – М.: ИЦ Академия, 2012. – 320с.
  • Культин Никита – Основы программирования в Delphi, 2015 – 232 с.
  • Маклаков С. В. Моделирование бизнес-процессов с AllFusion Process Modeler (BPwin 4.1) / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2013. – 340 c.
  • Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite / С.В. Маклаков. – М. : ДИАЛОГ-МИФИ, 2015. – 512 c.
  • Тельнова, Ю.Ф. Проектирование экономических информационных систем: учеб. / под ред. Ю. Ф. Тельнова. М. : Горячая линия, 2015 — 345 c.
  • Фуфаев Д.Э. Фуфаев Э.В. Разработка и эксплуатация автоматизированных информационных систем: учебник дя студ. М.: Издательский центр «Академия», 2013. 304 с.
  • Шаньгин В.Ф. Информационная безопасность компьютерных системы и сетей: Учебное пособие. М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. 416 с.

ПРИЛОЖЕНИЯ

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, Menus, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids, comobj,

ExtCtrls;

type

TFrm1 = class(TFrm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

Label1: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

DBGrid2: TDBGrid;

Label2: TLabel;

Edt2: TEdt;

BitBtn2: TBitBtn;

Adotbl1: TAdotbl;

Adotbl1Id: TAutoIncField;

Adotbl1FIO: TWideStringField;

Adotbl1Phone: TWideStringField;

Adotbl1Address: TWideStringField;

Adotbl1Passport: TWideStringField;

DataSource1: TDataSource;

DataSource2: TDataSource;

Adotbl2: TAdotbl;

Adotbl2id: TAutoIncField;

Adotbl2caption: TWideStringField;

Adotbl2path: TWideStringField;

PopupMenu1: TPopupMenu;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

PopupMenu2: TPopupMenu;

N8: TMenuItem;

ADOQuery1: TADOQuery;

N9: TMenuItem;

N10: TMenuItem;

BitBtn3: TBitBtn;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

produre N3Click(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmShow(Send: TObject);

produre Edt1Change(Send: TObject);

produre N7Click(Send: TObject);

produre N8Click(Send: TObject);

produre N5Click(Send: TObject);

produre N6Click(Send: TObject);

produre N4Click(Send: TObject);

produre N2Click(Send: TObject);

produre FrmResize(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm1: TFrm1;

implementation

uses shabl;

{$R *.dfm}

produre TFrm1.N3Click(Send: TObject);

begin

frm1.Close;

end;

produre TFrm1.BitBtn1Click(Send: TObject);

begin

Edt1.Clear;

Edt1.SetFocus;

end;

produre TFrm1.BitBtn2Click(Send: TObject);

begin

Edt2.Clear;

Edt2.SetFocus;

end;

produre TFrm1.FrmShow(Send: TObject);

begin

Adotbl1.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

Adotbl2.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.Edt1Change(Send: TObject);

begin

if Edt1.text<>'' then

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='FIO like %'+Edt1.Text+'%';

DbGrid1.DataSource.DataSet.Filtered:=true;

end

else

begin

DbGrid1.DataSource.DataSet.Filtered:=false;

DbGrid1.DataSource.DataSet.Filter:='';

end;

end;

produre TFrm1.N7Click(Send: TObject);

begin

Dbgrid2.DataSource.DataSet.Close;

DbGrid2.DataSource.DataSet.open;

Adotbl2.Sort:='caption ASC';

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.28);

end;

produre TFrm1.N8Click(Send: TObject);

begin

Dbgrid1.DataSource.DataSet.Close;

DbGrid1.DataSource.DataSet.open;

Adotbl1.Sort:='FIO ASC';

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.25);

end;

produre TFrm1.N5Click(Send: TObject);

begin

if not DbGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

Frm2.Edt1.Text:=DbGrid2.DataSource.DataSet.FieldByName('caption').AsString;

Frm2.Edt2.Text:=DbGrid2.DataSource.DataSet.FieldByName('path').AsString;

Frm2.Caption:='Редактирование шаблона';

Frm2.Label3.Caption:= DbGrid2.DataSource.DataSet.FieldByName('id').AsString;

Frm2.show;

end;

end;

produre TFrm1.N6Click(Send: TObject);

var

s: string;

begin

s := InputBox('Ввод данных','Необходимо указать название нового шаблона','');

if s<>'' then

begin

With AdoQuery1 do

begin

close;

SQL.Clear;

SQl.add('INSERT INTO shablon (caption) VALUES ( :caption )');

Parameters.ParamByName('caption').Value:=s;

EXECSQL;

end;

n7.Click;

end;

end;

produre TFrm1.N4Click(Send: TObject);

var

Word:Variant;

begin

if not DBGrid1.DataSource.DataSet.FieldByName('id').IsNull then

begin

if fileExists(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(ExtractFilePath(ParamStr(0))+'shablon\'+DbGrid2.DataSource.DataSet.FieldByName('path').AsString);

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+DbGrid2.DataSource.DataSet.FieldByName('path').AsString+' не найден в папке shablon.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end;

produre TFrm1.N2Click(Send: TObject);

begin

n7.Click;

n8.Click;

end;

produre TFrm1.FrmResize(Send: TObject);

begin

panel1.Width:=Round((frm1.Width-50)*0.5);

panel2.Width:=Round((frm1.Width-50)*0.5);

panel1.Width:=Round(frm1.Width*0.5);

BitBtn3.Left:=Round(panel5.Width*0.5)-Round(Bitbtn3.Width*0.5);

DbGrid2.Collums[0].Width:=ROUND(DbGrid2.Width*0.65);

DbGrid2.Collums[1].Width:=ROUND(DbGrid2.Width*0.26);

DbGrid1.Collums[0].Width:=ROUND(DbGrid1.Width*0.65);

DbGrid1.Collums[1].Width:=ROUND(DbGrid1.Width*0.26);

end;

end.

unit shabl;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Frms,

Dialogs, StdCtrls, Buttons, DB, ADODB, comobj;

type

TFrm2 = class(TFrm)

Label1: TLabel;

Label2: TLabel;

Edt1: TEdt;

BitBtn1: TBitBtn;

Edt2: TEdt;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

OpenDialog1: TOpenDialog;

Label3: TLabel;

ADOQuery1: TADOQuery;

produre BitBtn3Click(Send: TObject);

produre Edt1Change(Send: TObject);

produre Edt2Change(Send: TObject);

produre BitBtn1Click(Send: TObject);

produre BitBtn2Click(Send: TObject);

produre FrmClose(Send: TObject; var Action: TCloseAction);

produre BitBtn4Click(Send: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Frm2: TFrm2;

implementation

Uses main;

{$R *.dfm}

produre TFrm2.BitBtn3Click(Send: TObject);

begin

Frm2.Close;

end;

produre TFrm2.Edt1Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.Edt2Change(Send: TObject);

begin

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

end;

produre TFrm2.BitBtn1Click(Send: TObject);

begin

openDialog1.InitialDir := GetCurrentDir;

if opendialog1.Execute then

begin

if FileExists(opendialog1.FileName) then

begin

Edt2.Text:=Opendialog1.FileName;

end;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

CopyFile(Pchar(Edt2.text), Pchar(ExtractFilePath(ParamStr(0))+'shablon\'+ExtractFileName(OpenDialog1.Filename)), true) ;

caption:=copy(caption,0,length(caption)-2);

close;

Frm1.N7.Click;

end;

produre TFrm2.FrmClose(Send: TObject; var Action: TCloseAction);

begin

if copy(caption,length(caption)-1,1) = '*' then

begin

If MessageBox(Handle,PChar('Данные были изменены. Сохранить изменения?'),PChar('Подтверждение'),MB_ICONINFRMATION+MB_YESNO+MB_DEFBUTTON2)=IdYes

then BitBtn2.Click;

end;

end;

produre TFrm2.BitBtn2Click(Send: TObject);

begin

if Edt1.text='' then begin showmessage('Имя шаблона не может быть пустым'); Edt1.SetFocus; exit; end;

if Edt2.text='' then begin showmessage('Необходимо выбрать файл'); BitBtn1.SetFocus; exit; end;

if not (FileExists(ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text)) or (FileExists(Edt2.Text)) then begin showmessage('Указанный файл шаблона не найден'); BitBtn1.SetFocus; exit; end;

if OpenDialog1.filename='' then OpenDialog1.filename:=ExtractFilePath(ParamStr(0))+'shablon\'+Edt2.Text;

With AdoQuery1 do

begin

close;

SQl.clear;

SQL.add('UPDATE shablon SET caption = :caption, path = :path WHERE id = :id');

Parameters.ParamByName('caption').value:=Edt1.text;

Parameters.ParamByName('path').value:=ExtractFileName(OpenDialog1.Filename);

Parameters.ParamByName('id').value:=label3.caption;

execSQL;

end;

produre TFrm2.BitBtn4Click(Send: TObject);

var

Word:Variant;

begin

if fileExists(Edt2.text) then

begin

Word := CreateOleObject('Word.Application');

Word.Documents.Add(Edt2.text);

if not (copy(caption,length(caption)-1,1) = '*') then caption:=caption+'*';

Word.visible:=true;

end

else

begin

Showmessage(' Файл '+Edt2.text+' не найден.'+#10+#13+'Проверьте правильность названия файла и его наличие в указанной папке.');

end;

end;

end.

unit Connect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons;

type

TForm5 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

Uses DataM;

{$R *.dfm}

procedure TForm5.BitBtn1Click(Sender: TObject);

var

SetF : TextFile;

s:array[1..9] of string;

i:integer;

begin

if Edit1.text='' then begin showmessage('Укажите имя сервера'); exit; end;

if Edit2.text='' then begin showmessage('Укажите логин'); exit; end;

if Edit3.text='' then begin showmessage('Укажите пароль'); exit; end;

if Edit4.text='' then begin showmessage('Укажите имя базы данных'); exit; end;

AssignFile(SetF, ExtractFilePath(ParamStr(0))+'SetF.cfg');

reset(SetF);

For i:=1 to 4 do Readln(Setf,s[i]);

closeFile(SetF);

s[1]:=edit1.text;

s[2]:=edit2.text;

s[3]:=edit3.text;

s[4]:=edit4.text;

Rewrite(SetF);

For i:=1 to 9 do Writeln(Setf,s[i]);

closefile(Setf);

Close;

end;

end.