Разработка информационной системы для автоматизации работы салона художественной татуировки
Проектирование базы данных для автоматизации работы салона художественной татуировки в среде разработки Delphi 7 с использование сервера баз данных Microsoft SQL Server 2008 R2. Схема алгоритма системы. Протокол тестирования программного продукта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.02.2017 |
Размер файла | 539,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Постановка задачи
1.1 Описание предметной области
1.2 Описание входной информации
1.3 Описание структуры базы данных
1.4 Описание выходной информации
1.5 Общие требования к программному продукту
2. Экспериментальный раздел
2.1 Обоснование выбора языка программирования и СУБД
2.2 Схема алгоритма
2.3 Описание программы
2.4 Протокол тестирования программного продукта
2.5 Руководство пользователя
Заключение
Список использованной литературы
Приложение А. Форма выходного документа
Приложение Б. Исходный код программы
Введение
Разработанная на сегодняшний день компьютерная техника дает уникаьную возможность осуществлять трудные расчеты и моделирование. Именно благодоря этому технический процесс развития продолжает набирать обороты.
Трудно представить производственный учет реализации пролуктов или предоставлении услуг без информационных систем. Так как день за днем количество информации растет все быстрее и быстрее, то способ вести учет оказался нерациональным. Решением этой проблемы в процессе производства и учета явились автоматизированные системы управления.
Автоматизированные системы управления - это система, призванная обеспечить информационный сбор и обработку информации, необходимой для оптимизации процесса управления. Это человеко - машинная система: в ней ряд операций и действий предается для исполнения машинам и другим устройствам (особенно это относится к рутинным, повторяющимся, стандартным операциям и расчетам), но главное решение всегда остается за техническими усторйствами, которые действуют самостоятельно по установленной для них программе, без вмешательства человека.
В наши дни развитие такой сферы общества, как салоны художественной татуировки стало модным. Множество людей изо дня в день, в любое время года решаются на тату. Целью данного дипломного проекта является проектирование базы данных и создание программного обеспечения, предназначенного для автоматизации учета. Необходимость автоматизации данной задачи появилась в связи с тем, что систематизация, обработка и редактирование, отчетность, поиск, просмотр и нформации о клиентах и сотрудниках по бумажным носителям затруднителен, так как услугами ежедневно пользуются множество человек.
Использование разработанного программного продукта позволит сотрудникам салона быстро и оперативно получать нужную информацию, значительно сократить затраты, связанные с обработкой информации, освободить от хранения большого объема информации на бумаге, сократить рутинные вычисления при получении выходных документов.
Разрабатываемое программное обеспечение автоматизирует работу с базой данных и предоставляет понятный и дружественный интерфейс для работы с ней.
Таким образом, создание базы данных, обладающих таким свойствами, необходимое и рациональное решение.
1. Постановка задачи
1.1 Описание предметной области
база данные microsoft server
Требуется разработать информационную систему для автоматизации работы салона художественной татуировки.
У предприятия имеются свои мастера, они характеризуются следующй информацией:
- фамилия;
- имя;
- отчество;
- стаж работы;
- стиль работы;
-номер телефона.
Мастера выполняют работу по созданию татуировки от клиентов. Клиенты описываются следующей информацией:
- фамилия;
- имя;
- отчество;
- возраст;
-контактный телефон.
Сама же работы характеризуется следующей информацией:
- мастер;
- клиент;
- дата и время сеанса.
С данной информационной системой должны работать следующие группы пользователей:
- мастер тату - салона;
- менеджер;
- администратор системы.
При работе с программным продуктом мастер должен иметь возможность решать следующие задачи:
- отмечать прошел ли сеанс.
При работе с программным продуктом менеджер должен иметь возможность решать следующие задачи:
- проводить запись на сеанс;
- отменять сеанс.
При работе с программным продуктом администратор системы должен иметь возможность решать следующие задачи:
- добавлять новых сотрудников;
- вносить изменения в информацию о сотрудниках.
1.2 Описание входной информации
Входной информацией для поставленной задачи является информация о работе сотрудников, информация о клиентах. Описание входных документов отображено в таблице 1.2.1.
Таблица 1.2.1 - Описание входных документов
Наименование документа |
Периодичность поступления |
Откуда поступает |
|
Штатное расписание мастеров |
Ежедневно |
От мастеров |
|
Данные клиента |
По мере записи на сеанс |
От менеджера |
На основе этих документов создаются таблицы «Мастера», «Клиенты», «Работа». Пополнение базы данных осуществляется по мере поступления входных документов.
1.3 Описание структуры базы данных
База данных имеет три таблицы, которые подробно описаны в таблице 1.3.1.
Таблица 1.3.1 - Описание структуры базы данных
Назначение таблицы |
Физическое имя таблицы |
Наименование поля |
Шифр поля |
Формат поля |
|
1 |
2 |
3 |
4 |
5 |
|
Информация по мастерам |
Мастера |
ID мастера* |
ID* |
Счетчик |
|
Фамилия |
Фамилия |
Текст |
|||
Имя |
Имя |
Текст |
|||
Отчество |
Отчество |
Текст |
|||
Стаж работы |
СтажРаботы |
Число |
|||
Стиль работы |
СтильРаботы |
Текст |
|||
Номер телефона |
НомерТелефона |
Число |
|||
Информация по клиентам |
Клиенты |
ID клиента* |
ID* |
Счетчик |
|
Фамилия |
Фамилия |
Текст |
|||
Имя |
Имя |
Текст |
|||
Отчество |
Отчество |
Текст |
|||
Контактный телефон |
КонтактныйТелефон |
Число |
|||
Информация о сеансах |
Сеансы |
ID мастера |
ID* |
Счетчик |
|
Мастер |
Мастер |
Текст |
|||
Клиент |
Клиент |
Текст |
|||
Дата и время |
Дата/Время |
Дата |
Схема отношений базы данных представлена на рисунке 1.3.1.
Рисунок 1.3.1 - Схема отношений базы данных
1.4 Описание выходной информации
Выходными документами в данной задаче является отчет о проделанной работе каждым мастером.
Описание выходных документов представлено в таблице 1.4.1.
Таблица 1.4.1 - Описание выходных документов
Наименование документа |
Периодичность выдачи документа |
Кол-во экз. |
Куда передаются |
|
1 |
2 |
3 |
4 |
|
Отчет оп роделанной работе каждым мастером |
Каждый месяц |
1 |
Менеджеру салона |
Форма выходных документов представлена в приложении В.
1.5 Общие требования к программному продукту
Обоснование целесообразности решения задачи: задание на дипломный проект, рассмотренное на заседании цикловой комиссии, а также необходимость в простом, удобном, надёжном и функциональном программном средстве учета выполненных работ на предприятии.
Целевые задачи:
- программа должна максимально автоматизировать бумажную работу сотрудников салона;
- программа должна сохранять и отображать необходимую информацию;
- программа должна формировать необходимые отчеты.
Программное обеспечение разрабатывается для персональной вычислительной техники типа не ниже Windows 7 со следующими характеристиками:
- объем ОЗУ не ниже 256 Мб;
- графический адаптер SVGA;
- монитор;
- сетевая карта;
- манипулятор типа "мышь";
- клавиатура;
- принтер.
ЭВМ должна работать под управлением операционной системы с графическим интерфейсом (не ниже Windows XP/7), а также поддерживать СУБД Microsoft SQL Server 2008 R2.
Функциональные возможности:
- программный продукт должен формировать и отображать выходные документы;
- должен быть обеспечен просмотр базы данных с возможностью добавления, редактирования и удаления из нее данных;
- должен быть обеспечен вывод данных в MS Word.
Требования к надежности:
- программа должна обрабатывать ошибочные действия пользователя и сообщать ему об этом;
- программа должна обеспечивать контроль входной и выходной информации;
- в программе должно быть предусмотрено разграничение прав доступа и защита от несанкционированного доступа к данным.
Требования к практичности:
- программа должна работать в многооконном графическом режиме и поддерживать работу, как клавиатуры, так и манипулятора типа "мышь";
- программа должна содержать присвоение значений по умолчанию;
- программа должна обеспечивать возможность работы пользователям с начальными знаниями работы на компьютере.
Требования к информационной и программной совместимости:
- обеспечить работу с таблицами баз данных типа БД MS SQL Server 2008 R2 в качестве входной и выходной информации. Предусматривается взаимодействие с программными продуктами Microsoft Office.
2. Экспериментальный раздел
2.1 Обоснование выбора языка программирования и СУБД
Для создания программы использовались среда разработки Delphi 7 с использование сервера баз данных Microsoft SQL Server 2008 R2. Выбор языка программирования оказывает непосредственное влияние на быстроту разработки, надежность и эффективность программы. В качестве среды программирования для реализации системы был выбран пакет Delphi 7.
Интегрированная среда разработки Delphi с ее инструментами визуального редактирования, библиотекой компонент, механизмом баз данных и многим другим, идеально подходит для написания разумных 32-разрядных приложений Windows, используя свой диалект языка Object Pascal - Delphi Pascal, который является объектно-ориентированным.
Обоснованием выбора служат следующие факторы:
- быстрота разработка зависит, прежде всего, цена программного продукта. Для увеличения скорости написания Windows-приложений необходимо использовать средства визуального программирования. Delphi как нельзя более подходит для выполнения данной задачи, так как назначение Delphi - быстрая разработка приложений. Разработка приложений интерфейса пользователя с помощью Delphi - в основном процесс проектирования, с весьма небольшим количеством фактического программирования, что существенно сокращает время на создание удобного интерфейса, отвечающего стандартам разработки Windows-приложений. Delphi может компилировать 32-битные программы, обеспечивая высокую скорость выполнения;
- рассматриваемая относится к разряду вычислительных с использованием баз данных. В состав Delphi входит высокоэффективный компилятор с языка Object Pascal, основанный на концепции объектно-ориентированного программирования. Данный компилятор генерирует оптимизированный код, позволяющий увеличить скорость выполнения программ, что немаловажно для данного программного продукта. Delphi создает действительно откомпилированные программы, готовые для исполнения. Кроме того, для увеличения быстродействия программы и уменьшения объема занимаемой памяти используется возможность работы с динамическими структурами данных;
- постановка задачи исключает необходимость доступа к аппаратным средствам ЭВМ, поэтому отсутствует надобность выбора языка низкого уровня для написания программы или ее частей;
- создание приложений “Клиент - Сервер”. В настоящее время широко используются многозвенные информационные системы. Delphi предоставляет широкие возможности для создания приложений, поддерживающих трехзвенную систему, компонентами которой являются “тонкий” клиент, сервер приложений и сервер баз данных.
Таким образом, среда программирования Delphi является оптимальным выбором для решения поставленной задачи, так как:
- обеспечивает простоту написания вычислительных частей приложения, высокую скорость вычисления скомпилированной программы;
- обладает широкими средствами визуального построения интерфейса;
- обладает обширными средствами поддержки баз данных.
Microsoft SQL Server представляет собой СУБД, обеспечивающую создание информационных систем с архитектурой “клиент-сервер”, в которой он играет роль сервера баз данных. SQL Server поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных, отличается простотой управления и использования.
Эта СУБД обеспечивает высокую степень защиты данных, как от случайных потерь, так и от несанкционированного доступа, обладает развитыми средствами обработки данных и хорошим быстродействием. SQL-Server предназначен для хранения большого объема данных.
SQL Server добавляет к сетевым компонентам специальные сервисы, такие как OLE DB (Object Linking and Embedding-Database - связывание и внедрение объектов базы данных) и ODBC (Open Database Connectivity - совместимость открытых баз данных). С их помощью обеспечивается совместимость различных клиентских приложений при работе с сервером.
2.2 Схема алгоритма
Рисунок 2.1 - Схема алгоритма главного окна системы
2.3 Описание программы
Программа Programm.exe имеет модульную структуру. При ее запуске выполняется проект Project1.dpr, который состоит из тринадцати модулей программы, описаных в таблице 2.3.1.. Модульная схема приведена в приложении Д.
Таблица 2.3.1 - Описание модулей
Процедуры |
Назначение |
|
1 |
2 |
|
Модуль form1.pas - панель входа |
||
TForm1.BitBtn1Click |
Вход в систему |
|
TForm1.BitBtn2Click |
«О системе» |
|
TForm1.BitBtn3Click |
Выход |
|
Модуль form3. pas -панель авторизации |
||
TForm3.BitBtn1Click |
Вход в систему |
|
TForm3.FormShow |
Очищение поля ввода пароля |
|
Модуль form4. pas - главная панель |
||
TForm4.FormShow |
Показ окна с функциями для разных пользователей |
|
TForm4.N1Click |
Показ окна «Пользователи» |
|
TForm4.N2Click |
Показ окна «Мастера» |
|
TForm4.N3Click |
Показ окна «Клиенты» |
|
TForm4.N4Click |
Показ окна «О системе» |
|
TForm4.N5Click |
Выход на панель входа |
|
TForm4.BitBtn1Click |
Создание отчета в MS Word |
|
Модуль form5. pas - окно «Пользователи» |
||
TForm5.N1Click |
Показ окна «О системе» |
|
TForm5.N2Click |
Выход на панель входа |
|
Модуль form6.pas - окно «Мастера» |
||
Tform6.N1Click |
Показ окна «О системе» |
|
Tform6.N2Click |
Выход на панель входа |
|
Модуль form7.pas - окно «Мастера» |
||
Tform7.N1Click |
Показ окна «О системе» |
|
Tform7.N2Click |
Выход на панель входа |
|
Модуль form8.pas - окно «О системе» |
||
TForm8.BitBtn1Click |
Выход на панель входа |
2.4 Протокол тестирования программного продукта
Данный программный продукт удовлетворяет всем функциональным требованиям, имеет дружественный интерфейс, легок и понятен в пользовании, максимально исключает появление системных ошибок.
Таблица 2.4.1 - Сообщения пользователю
Сообщение |
Причина |
Действия |
|
1 |
2 |
3 |
|
«Выберите пользователя!» |
Не выбран пользователь |
Нажать кнопку «ОК» и выбрать пользователя |
|
«Введите пароль!» |
Не введен пароль |
Нажать кнопку «ОК» и ввести пароль |
|
«Неверный пароль!» |
Пароль введен не верноподключение к базе данных |
Нажать кнопку «ОК» и повторить набор пароля |
При тестировании программного продукта на данных контрольного примера обработка данных (т.е. изменение, удаление, вывода выходных документов) осуществляется корректно.
Результаты тестирования полностью совпадают с ожидаемыми. Результаты корректных выходных документов представлены в приложении Е.
2.5 Руководство пользователя
Для запуска программы необходимо запустить приложение Project1.exe. Во избежание неполадок не следует удалять, переименовывать и перемещать файлы из рабочего каталога программы.
Первая форма - форма входа в систему (рисунок 2.5.1).
Рисунок 2.5.1 - Вход в систему
При нажатии на кнопку «О системе» открывается одноименное окно (рисунок 2.5.2).
Рисунок 2.5.2 - Окно о системе
Для закрытия окна нужно нажать кнопку «Выход». Снова появляется форма входа в систему. Для того чтобы войти в систему, необходимо нажать одноименную кнопку. Появляется окно авторизации в системе (рисунок 2.5.3).
Рисунок 2.5.3 - Авторизация в системе
Существует три типа учетных записей: мастер, менеджер и администратор системы. Войдем в систему через администратора. Перед нами появляется главное окно системы (рисунок 2.5.4).
Рисунок 2.5.4 - Главное окно системы
На главном окне расположены вкладки «Пользователи», «Мастера», «Клиенты», «О системе», «Выход».
Пункт «Пользователи» на главном окне системы (рисунок 2.5.4) открывает одноименное окно. В данном окне имеется возможность добавления, редактирования и удаления данных(рисунок 2.5.5).
Рисунок 2.5.5 - Окно "Пользователи"
Пункт «Выход» соответственно производит выход на главное окно системы.
Вкладка «Мастера» на главном окне системы (рисунок 2.5.4). В окне «Мастера» возможны добавление, редактирование, удаление иинформации по мастерам (рисунок 2.5.6).
Рисунок 2.5.6 - Окно "Мастера"
Вкладка «Клиенты» на главном окне системы (рисунок 2.5.4) вызывает одноименное окно (рисунок 2.5.7) .
Рисунок 2.5.7 - Окно "Клиенты"
В данном окне возможно формирование отчета.
Вкладка «О системе» на главном окне системы (рисунок 2.5.4) соотвествует окну «О системе» (рисунок 2.5.2).
Заключение
В процессе выполнения дипломного проекта были разработаны структура и алгоритм работы приложения студии художественной татуировки, разработана постановка задачи, описана входная и выходная информация, составлен контрольный пример, сформулированы требования к продукту. Результатом работы стало создание программного продукта, облегчающего работу студии хулжественной татуировки.
Программное обеспечение написано на языке Object Pascal с использованием среды разработки Delphi 7. Результаты выводятся в MS Word. Код программы представлен в приложении А.
Были проведены опытная эксплуатация и отладочное тестирование программного обеспечения. По результатам отладочного тестирования были устранены некоторые недостатки. После этого были написаны руководство пользователей.
Список использованых источников
1 Российская Федерация. Законы. О персональных данных [Текст]: федер. закон [принят Гос. Думой 8 июля 2006 г., одобр. Советом Федерации 14 июля 2006 г. от 27.07. 2006 N 152-ФЗ (ред. от 21.07.2014) ]// Информационно-правовая система КонсультантПлюс.
2 Российская Федерация. Законы. Об информации, информационных технологиях и о защите информации [Текст]: федеральный закон [принят Гос. Думой 8 июля 2006 г., от 27.07.2006 N 149-ФЗ (ред. от 13.07.2015) ] // Информационно-правовая система КонсультантПлюс.
3 ГОСТ 19.001-77. ЕСПД. Единая система программной документации Общие положения. [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010.
4 ГОСТ 19.003-80. ЕСПД. Единая система программной документации. Схемы алгоритмов и программ. [Текст]. - Введ. 1981 - 01 - 07. - М.: Стандартинформ, 2010.
5 ГОСТ 19.104-78. ЕСПД. Единая система программной документации. Основные надписи. ( с изменением № 1) [Текст]. - Введ. 1980 -01 - 01. - М.: Стандартинформ, 2010 .
6 ГОСТ 19.401. - 78. Текст программы. Требования к содержанию и оформлению. Единая система программной документации [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010.
7 ГОСТ 19.402 - 78. Описание программы. Единая система программной документации [Текст]. - Введ. 1980 - 01 - 01. - М.: Стандартинформ, 2010 .
8 ГОСТ 19.404 - 79. Пояснительная записка. Требования к содержанию и оформлению. Единая система документации [Текст]. - Введ. 1981 - 01 - 01. - М.: Стандартинформ, 2010.
9 ГОСТ 19.701 - 90 ( ИСО 5807 - 85 ). Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения. Единая система программной документации [Текст]. - Введ. 1992 - 01 - 01. - М.: Стандартинформ, 2010.
10 Вендров А. М., Case-технологии. Современные методы и средства проектирования информационных систем [Текст] / А. М. Вендров. - М.: Финансы и статистика, 2004. - 235 с.
11 Горев А., Эффективная работа с СУБД. [Текст] / А., Горев , Р. Ахаян , С. Макашарипов . - СПб.: Питер, 2007. - 700 с.
12 Грабер М., Введение в SQL. [Текст]: пер. с англ. / М. Грабер - М.: "ЛОРИ", 2006. - 418с;
13 Дейт К. Дж., Введение в системы баз данных [Текст]: пер. с англ./ Дейт К. Дж. - 6-е изд. - СПб.: Издательский дом "Вильямс", 2000. - 482с;
14 Карпова, И.П. Базы данных. Учебное пособие. Курс лекций и материалы для практических занятий [Текст] / И.П. Карпова.. - СПб.: Питер, 2013. -- 240 с.
15 Кочеткова, А. И. Основы управления в условиях хаоса (неопределенности). Часть 1 [Электронный ресурс] / А. И. Кочеткова. - М.: ИНФРА-М, Znanium.com, 2014. - 484 с. - ISBN 978-5-16-101634-3 (online).
16 Культин Н.Б Основы программирования в Delphi 7 [Текст] / Н.Б Культин. -- СПб.: БХВ-Петербург, 2007 г. -- 608 с.: ил.
17 Маклаков С. В., BPWin и ERWin. CASE-средства разработки информационных систем [Текст] / С. В., Маклаков - М.:Диалог-МИФИ, 2006. - 256с;
18 . Фаронов В.В. Программирование баз данных в Dephi 7. Учебный курс [Текст] / В.В.Фаронов. - СПб.: Питер, 2006 г. - 459с.: ил.
19 . Хомоненко А.Д., Гофман В.Э. Работа с БД в Dephi [Текст] / А.Д. Хомоненко. - СПб.: «БХВ-Петербург», 2009. - 1230с.
20 . Википедия: свободная энциклопедия // Режим доступа: https:// ru.wikipedia.org/wiki/, свободный.
Приложение А
Форма выходного документа
id |
Мастер |
Клиент |
Дата/Время |
|
1 |
Исхакова |
Петров |
24.02.2017 10:00:00 |
Приложение Б
Исходный код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3, Unit8;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
close;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Unit2, DBCtrls;
type
TForm3 = class(TForm)
LabeledEdit2: TLabeledEdit;
BitBtn1: TBitBtn;
DBLookupComboBox1: TDBLookupComboBox;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit4;
{$R *.dfm}
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
if DBLookupComboBox1.Text='' then ShowMessage('Выберите пользователя.')
else if LabeledEdit2.Text='' then begin
ShowMessage('Введите пароль!');
LabeledEdit2.SetFocus;
end
else if LabeledEdit2.Text=DataModule2.Users.FieldByName('Пароль').AsString then begin
Form4.Show;
Hide;
end else begin
ShowMessage('Неверный пароль!');
end;
end;
procedure TForm3.FormShow(Sender: TObject);
begin
LabeledEdit2.Clear;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, DB, Grids, DBGrids, Menus, ExtCtrls, DBCtrls, StdCtrls,
Buttons, MyWord;
type
TForm4 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
N4: TMenuItem;
N5: TMenuItem;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit5, Unit6, Unit7, Unit8;
{$R *.dfm}
procedure TForm4.FormShow(Sender: TObject);
begin
if DataModule2.Users.FieldByName('Должность').AsString='Мастер' then begin
N1.Visible:=False;
N2.Visible:=False;
N3.Visible:=False;
end;
begin
if DataModule2.Users.FieldByName('Должность').AsString='Менеджер' then begin
N1.Visible:=False;
end;
end;
end;
procedure TForm4.N1Click(Sender: TObject);
begin
Form5.Show;
end;
procedure TForm4.N2Click(Sender: TObject);
begin
Form6.Show;
end;
procedure TForm4.N3Click(Sender: TObject);
begin
Form7.Show;
end;
procedure TForm4.N4Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm4.N5Click(Sender: TObject);
begin
close;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
var
table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
DataModule2.Works.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
DataModule2.Works.EnableControls;
end;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, Menus, ExtCtrls, DBCtrls, Grids, DBGrids;
type
TForm5 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit7, Unit8;
{$R *.dfm}
procedure TForm5.N1Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm5.N2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, Grids, DBGrids, ExtCtrls, DBCtrls, Menus;
type
TForm6 = class(TForm)
MainMenu1: TMainMenu;
N3: TMenuItem;
N4: TMenuItem;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit8;
{$R *.dfm}
procedure TForm6.N3Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm6.N4Click(Sender: TObject);
begin
close;
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, Menus;
type
TForm7 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses Unit8;
{$R *.dfm}
procedure TForm7.N1Click(Sender: TObject);
begin
form8.Show;
end;
procedure TForm7.N2Click(Sender: TObject);
begin
close;
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm8 = class(TForm)
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
{$R *.dfm}
procedure TForm8.BitBtn1Click(Sender: TObject);
begin
close;
end;
end.
unit MyWord;
interface
uses Grids,SysUtils,DBGrids;
type
WdFonts=integer;
const
{ wdStyleNormal = $FFFFFFFF;
wdStyleBodyText = $FFFFFFBD;
wdStyleHeading1 = $FFFFFFFE;
wdStyleHeading2 = $FFFFFFFD;
wdStyleHeading3 = $FFFFFFFC; }
wdStyleNormal = -1;
wdStyleBodyText = -1;
wdStyleHeading1 = -2;
wdStyleHeading2 = -3;
wdStyleHeading3 = -4;
type
WdUnits=integer;
const
wdPage =$00000000;
wdCharacter =$00000001;
wdWord = $00000002;
wdSentence = $00000003;
wdParagraph = $00000004;
wdLine = $00000005;
wdStory = $00000006;
wdScreen = $00000007;
wdSection = $00000008;
wdColumn = $00000009;
wdRow = $0000000A;
wdWindow = $0000000B;
wdCell = $0000000C;
wdCharacterFormatting = $0000000D;
wdParagraphFormatting = $0000000E;
wdTable = $0000000F;
wdItem = $00000010;
wdAutoFitFixed =0;
wdAutoFitContent =1;
wdAutoFitWindow =2;
wdAdjustNone=0;
wdOrientPortrait=0;
wdOrientLandScape=1;
wdAlignParagraphCenter=1;
wdAlignParagraphLeft=0;
wdAlignParagraphRight=2;
wdMove=0;
wdExtend=1;
wdBorderTop = $FFFFFFFF;
wdBorderLeft = $FFFFFFFE;
wdBorderBottom = $FFFFFFFD;
wdBorderRight = $FFFFFFFC;
wdBorderHorizontal = $FFFFFFFB;
wdBorderVertical = $FFFFFFFA;
wdLineStyleNone=0;
wdDialogFileSaveAs = $00000054;
wdDialogFileSummaryInfo = $00000056;
wdDialogToolsTemplates = $00000057;
wdDialogFilePrint = $00000058;
wdDialogFilePrintSetup = $00000061;
wdDialogFileFind = $00000063;
wdDialogFormatAddrFonts = $00000067;
wdDialogEditPasteSpecial = $0000006F;
wdDialogEditFind = $00000070;
wdDialogEditReplace = $00000075;
Function CreateWord:boolean;
Function VisibleWord(visible:boolean):boolean;
Function AddDoc:boolean;
Function AddDocFile(FileName:string):boolean;
Function OpenDoc(file_:string):boolean;
Function SaveDocAs(file_:string):boolean;
Function CloseDoc:boolean;
Function CloseWord:boolean;
Function InsertBreak(WdBreakType:WdUnits):boolean;
Function InsertParagraphAfter:boolean;
Function InsertParagraphAfterTable(table:integer):boolean;
Function MoveInDoc(UnitType:WdUnits;Count:integer):boolean;
Function PageCount:integer;
Function WordCount:integer;
Function StartOfDoc:boolean;
Function EndOfDoc:boolean;
Function TypeTextDoc(text_:string):boolean;
Function SetTextToDoc(text_:string ;InsertAfter_:boolean):boolean;
Function GetDocToText(var text:string; wordNum:integer):boolean;
Function FindTextDoc(text_:string):boolean;
Function PasteTextDoc(text_:string):boolean;
Function FindAndPasteTextDoc(findtext_,pastetext_:string):boolean;
Function FindAndInsert(FindText,ReplacementText:string):boolean;
Function DialogWord(Dialog:Wdunits):boolean;
Function SetFont(FontName:WdFonts):boolean;
//Table-------
Function CreateTable(NumRows, NumColumns:integer;var index:integer):boolean;
Procedure GetWordTablesCellValue(Table,Row,Column:integer;var S:string );
Procedure SetWordTablesCellValue(Table,Row,Column:integer;S:string);
procedure GetTableInStringGrid(Table:integer;var StringGrid:TStringGrid);
procedure GetStringGridInTable(StringGrid:TStringGrid;var Table:integer);
procedure GetStringGridInTable2(StringGrid:TStringGrid;var Table:integer;ColArr:array of integer);
procedure WordTableAddFromDBGrid(DBGrid: TDBGrid;CollSize:boolean;var Table:integer);
Function SetSizeTable(Table:integer;RowsHeight, ColumnsWidth:real):boolean;
Function GetSizeTable(Table:integer;var RowsHeight,ColumnsWidth:real):boolean;
Function SetHeightRowTable(Table,Row:integer;RowHeight:real):boolean;
Function GetHeightRowTable(Table,Row:integer;var RowHeight:real):boolean;
Function SetWidthColumnTable(Table,Column:integer;ColumnWidth:real):boolean;
Function GetWidthColumnTable(Table,Column:integer;var ColumnWidth:real):boolean;
Function SetTextToTable(Table:integer;Row,Column:integer;text:string):boolean;
Procedure GetTextFromTable(Table:integer;Row,Column:integer;var text:string);
Function CopyHereRawFromTable(table,Row1,Row2:integer):boolean;
Function SetLineStyleBorderTable(Table:integer;Row,Column,wdBorderType,wdBorderStyle:WdUnits):boolean;
Function SetMergeCellsTable(Table:integer;Row1,Column1,Row2,Column2:integer):boolean;
procedure TableAutoFit(Table:integer);
Procedure MakeNewLineInTable(Table,AfterRow,NewRowCount:integer);
Procedure DeleteRowInTable(Table,Row:integer);
//Table-------
procedure InsertPicture(FileName:string);
implementation
uses ComObj;
var W:variant;
Function CreateWord:boolean;
begin
CreateWord:=true;
try
W:=CreateOleObject('Word.Application');
W.Options.CheckGrammarAsYouType:=False;
W.Options.CheckSpellingAsYouType:=False;
except
CreateWord:=false;
end;
End;
Function VisibleWord(visible:boolean):boolean;
begin
VisibleWord:=true;
try
W.visible:= visible;
except
VisibleWord:=false;
end;
End;
Function AddDoc:boolean;
Var Doc_:variant;
i:integer;
begin
AddDoc:=true;
try
Doc_:=W.Documents;
Doc_.Add;
except
AddDoc:=false;
end;
End;
Function AddDocFile(FileName:string):boolean;
Var Doc_:variant;
begin;
AddDocFile:=true;
try
Doc_:=W.Documents;
Doc_.Add(FileName);
except
AddDocfile:=false;
end;
end;
Function InsertBreak(WdBreakType:WdUnits):boolean;
begin
W.Selection.InsertBreak(WdBreakType);
end;
Function InsertParagraphAfter:boolean;
begin
W.Selection.InsertParagraphAfter;
W.Selection.InsertParagraphAfter;
W.Selection.Move(wdParagraph,1);
end;
Function InsertParagraphAfterTable(table:integer):boolean;
begin
W.Selection.Start:=W.ActiveDocument.Tables.Item(Table).Range.End;
W.Selection.End:=W.ActiveDocument.Tables.Item(Table).Range.End;
W.Selection.InsertParagraphAfter;
end;
Function MoveInDoc(UnitType:WdUnits;Count:integer):boolean;
begin
W.Selection.Move(UnitType,Count);
end;
Function PageCount:integer;
begin
result:=W.ActiveDocument.ComputeStatistics(2);
end;
Function WordCount:integer;
begin
result:=W.ActiveDocument.Words.Count;
end;
Function SetTextToDoc(text_:string ;InsertAfter_:boolean):boolean;
var Rng_:variant;
begin
SetTextToDoc:=true;
try
Rng_:=W.ActiveDocument.Range;
if InsertAfter_ then Rng_.InsertAfter(text_) else Rng_.InsertBefore(text_);
except
SetTextToDoc:=false;
end;
End;
Function GetDocToText(var text:string; wordNum:integer):boolean;
var Rng_:variant;
begin
GetDocToText:=true;
try
text:=W.ActiveDocument.Words.Item(wordNum).Text
except
GetDocToText:=false;
end;
End;
Function SaveDocAs(file_:string):boolean;
begin
SaveDocAs:=true;
try
W.ActiveDocument.SaveAs(file_);
except
SaveDocAs:=false;
end;
End;
Function CloseDoc:boolean;
begin
CloseDoc:=true;
try
W.ActiveDocument.Close;
except
CloseDoc:=false;
end;
End;
Function CloseWord:boolean;
begin
CloseWord:=true;
try
W.Quit;
except
CloseWord:=false;
end;
End;
Function OpenDoc(file_:string):boolean;
Var Doc_:variant;
begin
OpenDoc:=true;
try
Doc_:=W.Documents;
Doc_.Open(file_);
W.ActiveDocument.ShowSpellingErrors:=false;
except
OpenDoc:=false;
end;
End;
Function StartOfDoc:boolean;
begin
StartOfDoc:=true;
try
W.Selection.End:=0;
W.Selection.Start:=0;
except
StartOfDoc:=false;
end;
End;
Function EndOfDoc:boolean;
begin
EndOfDoc:=true;
try
W.Selection.End:=W.ActiveDocument.Characters.Count;
W.Selection.Start:=W.ActiveDocument.Characters.Count;
except
EndOfDoc:=false;
end;
End;
Function FindTextDoc(text_:string):boolean;
begin
FindTextDoc:=true;
Try
W.Selection.Find.Forward:=true;
W.Selection.Find.Text:=text_;
FindTextDoc := W.Selection.Find.Execute;
except
FindTextDoc:=false;
end;
End;
Function PasteTextDoc(text_:string):boolean;
begin
PasteTextDoc:=true;
Try
W.Selection.Delete;
W.Selection.InsertAfter (text_);
except
PasteTextDoc:=false;
end;
End;
Function TypeTextDoc(text_:string):boolean;
begin
TypeTextDoc:=true;
Try
W.Selection.Delete;
W.Selection.TypeText(text_);
except
TypeTextDoc:=false;
end;
End;
Function FindAndPasteTextDoc(findtext_,pastetext_:string):boolean;
begin
FindAndPasteTextDoc:=true;
try
W.Selection.Find.Forward:=true;
W.Selection.Find.Text:= findtext_;
if W.Selection.Find.Execute then begin
W.Selection.Delete;
W.Selection.InsertAfter (pastetext_);
end else FindAndPasteTextDoc:=false;
except
FindAndPasteTextDoc:=false;
end;
End;
Function FindAndInsert(FindText,ReplacementText:string):boolean;
const wdReplaceAll=2;
begin
W. Selection.Find.Text:=FindText;
W.Selection.Find.Replacement.Text:=ReplacementText;
FindAndInsert:=W.Selection.Find.Execute(Replace:=wdReplaceAll);
end;
Function DialogWord(Dialog:Wdunits):boolean;
begin
DialogWord:=true;
try
W.Dialogs.Item(Dialog).Show;
except
DialogWord:=false;
end;
End;
Function SetFont(FontName:WdFonts):boolean;
begin
W.Selection.Style:=(FontName);
end;
Function CreateTable(NumRows, NumColumns:integer;var index:integer):boolean;
var Range:variant;
begin
CreateTable:=true;
try
EndOfDoc;
W.ActiveDocument.Tables.Add(W.Selection.Range, NumRows:=NumRows, NumColumns:=NumColumns);
index:=W.ActiveDocument.Tables.Count;
W.ActiveDocument.Tables.Item(index).Borders.Enable:=true;
W.ActiveDocument.Range.InsertAfter(' ');
except
CreateTable:=false;
end;
End;
Procedure GetWordTablesCellValue(Table,Row,Column:integer;var S:string);
begin
S:=W.ActiveDocument.Tables.Item(Table).Cell(Row,Column).Range.Text;
S:=StringReplace(S, #$D,'',[rfReplaceAll]);
S:=StringReplace(S, #$7,'',[rfReplaceAll]);
end;
Procedure SetWordTablesCellValue(Table,Row,Column:integer;S:string);
begin
W.ActiveDocument.Tables.Item(Table).Cell(Row,Column).Range.Text:=S;
end;
procedure GetTableInStringGrid(Table:integer;var StringGrid:TStringGrid);
var
S:string;
i,j,icols,irows:integer;
begin
try
irows:=W.ActiveDocument.Tables.Item(Table).Rows.Count;
icols:=W.ActiveDocument.Tables.Item(Table).Columns.Count;
StringGrid.RowCount:=irows;
StringGrid.ColCount:=icols;
for i:=1 to irows do
begin
for j:=1 to icols do
begin
GetWordTablesCellValue(Table,i,j,S);
StringGrid.Cells[j-1,i-1]:=S;
end;
end;
except
end;
end;
procedure GetStringGridInTable(StringGrid:TStringGrid;var Table:integer);
var
S:string;
icols,irows,iGridRows,jGridCols:integer;
begin
try
iCols:=StringGrid.ColCount;
iRows:=StringGrid.RowCount;
CreateTable(iRows,iCols,Table);
for iGridRows := 1 to iRows do
for jGridCols := 1 to iCols do
W.ActiveDocument.Tables.Item(Table).Cell(iGridRows, jGridCols).Range.Text:=
StringGrid.Cells[jGridCols - 1, iGridRows - 1];
W.ActiveDocument.Range.InsertAfter(' ');
Table:=W.ActiveDocument.Tables.Count;
W.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);
InsertParagraphAfterTable(Table);
except
end;
end;
procedure GetStringGridInTable2(StringGrid:TStringGrid;var Table:integer;ColArr:array of integer);
var
S:string;
icols,irows,iGridRows,jGridCols:integer;
begin
try
iCols:=Length(ColArr);
iRows:=StringGrid.RowCount;
CreateTable(iRows,iCols,Table);
for iGridRows := 1 to iRows do
for jGridCols := Low(ColArr) to High(ColArr) do
W.ActiveDocument.Tables.Item(Table).Cell(iGridRows, jGridCols+1).Range.Text:=
StringGrid.Cells[ColArr[jGridCols], iGridRows - 1];
W.ActiveDocument.Range.InsertAfter(' ');
Table:=W.ActiveDocument.Tables.Count;
W.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);
InsertParagraphAfterTable(Table);
except
end;
end;
procedure WordTableAddFromDBGrid(DBGrid: TDBGrid;CollSize:boolean;var Table:integer);
var i, j,Col,Row,ColWidth: Integer;
S:string;
begin
Col:=DBGrid.Columns.Count;
Row:=DBGrid.DataSource.DataSet.RecordCount+1;
//SetTextToDoc(DBGrid.Columns.Items[0].Title.Caption,true);
CreateTable(Row,Col,Table);
if CollSize then ColWidth:=DBGrid.Columns.Items[0].Width;
//W.Selection.Tables.Item(Table).Columns.Item(1).SetWidth(ColumnWidth:=ColWidth,RulerStyle:=wdAdjustNone);
For j:=0 To Col-1 Do
begin
S:=DBGrid.Columns.Items[j].Title.Caption;
SetWordTablesCellValue(Table,1,j+1,S);
if CollSize then ColWidth:=DBGrid.Columns.Items[j].Width;
//W.Selection.Tables.Item(Table).Columns.Item(j+1).
// SetWidth(ColumnWidth:=ColWidth,RulerStyle:=wdAdjustNone);
end;
DBGrid.DataSource.DataSet.First;
For i:=1 To Row-1 Do
begin
For j:=0 To Col-1 Do
SetWordTablesCellValue(Table,i+1,j+1,DBGrid.Columns.Items[j].Field.AsString);
DBGrid.DataSource.DataSet.Next;
end;
DBGrid.DataSource.DataSet.First;
W.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);
end;
Function SetSizeTable(Table:integer;RowsHeight, ColumnsWidth:real):boolean;
begin
SetSizeTable:=true;
try
W.ActiveDocument.Tables.Item(Table).Columns.Width:=ColumnsWidth;
W.ActiveDocument.Tables.Item(Table).Rows.Height:=RowsHeight;
except
SetSizeTable:=false;
end;
End;
Function GetSizeTable(Table:integer;var RowsHeight,ColumnsWidth:real):boolean;
begin
GetSizeTable:=true;
try
ColumnsWidth:=W.ActiveDocument.Tables.Item(Table).Columns.Width;
RowsHeight:=W.ActiveDocument.Tables.Item(Table).Rows.Height;
except
GetSizeTable:=false;
end;
End;
Function SetHeightRowTable(Table,Row:integer;RowHeight:real):boolean;
begin
SetHeightRowTable:=true;
try
W.ActiveDocument.Tables.Item(Table).Rows.item(Row).Height:=RowHeight;
except
SetHeightRowTable:=false;
end;
End;
Function GetHeightRowTable(Table,Row:integer;var RowHeight:real):boolean;
begin
GetHeightRowTable:=true;
try
RowHeight:=W.ActiveDocument.Tables.Item(Table).Rows.item(Row).Height;
except
GetHeightRowTable:=false;
end;
End;
Function SetWidthColumnTable(Table,Column:integer;ColumnWidth:real):boolean;
begin
SetWidthColumnTable:=true;
try
W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Width:=ColumnWidth;
except
SetWidthColumnTable:=false;
end;
End;
Function GetWidthColumnTable(Table,Column:integer;var ColumnWidth:real):boolean;
begin
GetWidthColumnTable:=true;
try
ColumnWidth:=W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Width;
except
GetWidthColumnTable:=false;
end;
End;
Function SetTextToTable(Table:integer;Row,Column:integer;text:string):boolean;
begin
SetTextToTable:=true;
try
W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Range.Text:=text;
except
SetTextToTable:=false;
end;
End;
Procedure GetTextFromTable(Table:integer;Row,Column:integer;var text:string);
begin
try
text:=W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Range.Text;
except
end;
End;
Function SetLineStyleBorderTable(Table:integer;Row,Column,wdBorderType,wdBorderStyle:wdUnits):boolean;
begin
SetLineStyleBorderTable:=true;
try
W.ActiveDocument.Tables.Item(Table).Columns.Item(Column).Cells.Item(Row).Borders.Item(wdBorderType).LineStyle:=wdBorderStyle;
except
SetLineStyleBorderTable:=false;
end;
End;
Function SetMergeCellsTable(Table:integer;Row1,Column1,Row2,Column2:integer):boolean;
var cel_:variant;
begin
SetMergeCellsTable:=true;
try
cel_:=W.ActiveDocument.Tables.Item(Table).Cell(Row2,Column2);
W.ActiveDocument.Tables.Item(Table).Cell(Row1,Column1).Merge(cel_);
except
SetMergeCellsTable:=false;
end;
End;
Function CopyHereRawFromTable(table,Row1,Row2:integer):boolean;
var
Here:integer;
begin
Here:=W.Selection.Start;
W.Selection.Start:=W.ActiveDocument.Tables.Item(Table).Rows.Item(Row1).Range.start;
W.Selection.End:=W.ActiveDocument.Tables.Item(Table).Rows.Item(Row2).Range.end;
W.Selection.Copy;
W.Selection.Start:=Here;
W.Selection.PasteAndFormat (0);
end;
procedure TableAutoFit(Table:integer);
begin
W.ActiveDocument.Tables.Item(Table).AutoFitBehavior(wdAutoFitContent);
end;
Procedure MakeNewLineInTable(Table,AfterRow,NewRowCount:integer);
begin
try
W.ActiveDocument.Tables.Item(Table).Rows.Item(AfterRow).Select;
W.Selection.InsertRowsBelow(NewRowCount);
except
end;
End;
Procedure DeleteRowInTable(Table,Row:integer);
begin
try
W.ActiveDocument.Tables.Item(Table).Rows.Item(Row).Select;
W.Selection.Rows.Delete;
except
end;
End;
procedure InsertPicture(FileName:string);
begin
W.Selection.InlineShapes.AddPicture(FileName);
W.ActiveDocument.Range.InsertParagraphAfter;
end;
end.
Размещено на Allbest.ru
Подобные документы
Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Разработка базы данных информационной системы предприятия. Хранение информации о проведенных мероприятиях, его стоимости, дате и месте проведения. Использование программного продукта Microsoft SQL Server 2008 R2. Формирование информационных запросов.
дипломная работа [508,9 K], добавлен 21.02.2016Общие понятия реляционного похода к базам данных. Разработка программы для автоматизации функций руководителя салона сотовой связи. Детализация бизнес-процессов. Интерфейс для работы пользователя. Тестирование разработанной информационной системы.
курсовая работа [2,2 M], добавлен 26.06.2012Программные продукты, используемые при проектировании базы данных. Разработка базы данных "Библиотека" с использование программного проекта Microsoft SQL Server. Создание таблиц, триггеров, пользователей, репликации, запросов, функций, процедур.
курсовая работа [897,6 K], добавлен 21.11.2011Разработка базы данных для информационной поддержки деятельности аптеки с целью автоматизированного ведения данных о лекарствах аптеки. Проектирование схемы базы данных с помощью средства разработки структуры базы данных Microsoft SQL Server 2008.
курсовая работа [3,6 M], добавлен 18.06.2012Разработка информационной системы "Салон портьер" для автоматизации деятельности менеджера фирмы, занимающейся пошивом портьер на заказ. Создание и обоснование проекта базы данных. Создание запросов, форм, отчетов. Тестирование программного приложения.
курсовая работа [4,6 M], добавлен 07.02.2016Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Ключевые потребности пользователей. Работа с учетными записями пользователей. Регистрация заказа. Обработка электронных платежей. Выявление технически подготовленных автомобилей. Разработка диаграмм вариантов использования. Проектирование базы данных.
курсовая работа [664,0 K], добавлен 31.10.2014Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.
курсовая работа [679,2 K], добавлен 22.01.2013Анализ существующих систем автоматизации документооборота. Выбор шаблона проектирования. Microsoft SQL Server как комплексная высокопроизводительная платформа баз данных. Язык программирования C#. Разработка интерфейса и иллюстрация работы системы.
дипломная работа [2,5 M], добавлен 19.07.2014