Разработка информационной системы для ООО "СервисКом"
Разработка информационной системы для автоматизации сбора, хранения, обработки и предоставления информации в удобной для пользователя форме о работе компании. Применение Qt-Creator и DB Browser, проектирование базы данных и клиентского приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 552,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования «Поволжский государственный университет телекоммуникаций и информатики»
Факультет Информационных систем и технологий
Направление(специальность) Информационные системы и технологии
Кафедра Информационных систем и технологий
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
(БАКАЛАВРСКАЯ РАБОТА)
Разработка информационной системы для ООО “СервисКом”
Разработал И.В. Гарбуз
Самара 2017
Реферат
Название |
Разработка информационной системы для ООО “СервисКом” |
|
Автор |
Гарбуз Илья Владимирович |
|
Научный руководитель |
Пиявский С.А. |
|
Ключевые слова |
Информационная система, база данных, клиентское приложение, SQLite, C++ |
|
Дата публикации |
2017 год |
|
Библиографическое описание |
Гарбуз И.В. Разработка приложения с использованием метода машинного обучения [Текст]: дипломная работа / А.С. Липатов. Поволжский государственный университет телекоммуникаций и информатики (ПГУТИ). Факультет информационных технологий (ФИСТ). Кафедра информационных систем и технологий (ИСТ): науч.рук. Секлетова Н.Н. - Самара. 2017. - 68 с. |
|
Аннотация |
Подробно рассмотрена предметная область и были установлены Qt-Creator и DB Browser for SQLite, а так же спроектированы и написаны база данных и клиентское приложение. Неоспоримым преимуществом получившейся системы является его простота и требование к минимальным знаниям баз данных. Получены практические результаты, получили информационную систему ориентированную для ООО “СервисКом”, обеспечивающую возможность корректной и простой работы. |
Введение
Со времен появления первых вычислительных компьютерных машин прошло уже много времени, которое превратило их из технологической диковины в незаменимый инструмент почти каждого современного специалиста, который хочет быть востребованным работником, так как они преумножают его профессиональные способности, содействуя в решении сложных задач за наименьшее время. Да и плюс ко всему нынешние компьютерные технические средства помогают решать поставленные задачи с качеством более высоким в сопоставлении с классическими способами.
Объем информации возрастает, по самым скромным оценкам, в геометрической прогрессии, а принятие по-настоящему верного и нужного решения зависит больше всего от полноты, достоверности и оперативности предоставления необходимой информации и совместно с этим их досягаемость для по максимуму широкого круга заинтересованных лиц. В наше время информация является одним из главных ресурсов развития общества, а информационные системы как средство для роста производительности и эффективности трудовых функций современного специалиста. Сейчас для почти что всякой организации информация имеет первостепенное значение. Качественность и своевременность информационного снабжения в части управленческой деятельности стало основой для удачного процесса формирования предприятия, при всем при этом дает гарантию на длительное конкурентное преимущество на рынке.
Таким образом, формирование и действенное функционирование информационных систем организации стало неизбежно необходимым условием для воплощения неизменно постоянной работы в актуальной на сегодня экономической обстановке. Информационные системы занимают важное место при выделении информации из огромного потока различных информационных ресурсов, что способствует увеличению результативности работы в целом и увеличению производительности труда сотрудников.
Например, следственное выявления злодеяний сейчас сложно представить без использования информационных систем, так как кране важен сбор, хранение, обработка криминалистически значимой информации.
Все это говорит нам о важности использования информационных систем в различных сферах деятельности и так же актуальности темы работы.
Целью дипломной работы является разработка информационной системы для автоматизации сбора, хранения, обработки и предоставления информации в удобной для пользователя форма о работе компании.
Для достижения данной цели нужно выполнить следующие задачи:
1. Изучение основных понятий предметной области и ознакомление с работой компании
2. Разработка базы данных
3. Разработка и отладка клиентского приложения
Объектом исследования является предприятие ООО “Сервиском”. Это организация, работающая на рынке услуг по монтажу, ремонту и демонтажу буровых вышек с 2011 года.
Предметом исследования является информационная система автоматизации сбора, хранения, обработки и предоставления информации в удобной форме.
Основными источниками информации для написания работы послужили:
1. Г. Гарсиа-Молина, Системы баз данных. Полный курс [Текст]/ Гарсиа-Молина Г. - “Вильямс”, 2004 год - 450 с.
2. М. Саммерфилд, Qt Профессиональное программирование [Текст] / Саммерфилд М. - “Символ-Плюс” 2011 год - 560 с.
3. Ю. Избачков, Информационные системы [Текст]/Избачков Ю. - “Питер”, 2010 год - 544 c.
Цель и задачи написания работы определили ее структуру, которая состоит из введения, 3-х глав и заключения.
В введении говорится о актуальности работы, ее целях и задачах, объекте и предмете исследования.
В первой главе говорится об основных понятиях предметной области и о назначении системы.
Во второй главе говорится о первой части практической работы, в которой описана разработка базы данных.
В третьей главе говорится о второй части практической работы, в которой описана разработка и отладка клиентского приложения.
В заключении говорится об основных выводах и результате выполненной работы.
1. Информация о предприятии и основные понятия предметной области
1.1 Назначение системы
Необходимо разработать информационную систему для сбора, хранения, обработки и предоставления информации в удобном виде.
Конечным пользователем является лицо, которое будет повседневно работать с этой информационной системой, работать она будет на одном компьютере под операционной системой Windows.
Перечень задач, которые должна выполнять эта информационная система:
1. Сопровождение по всем этапам предоставления услуг
2. Поиск по данным
3. Вывод их в удобном для пользователя виде
4. Редактирование информации
5. Удаление информации
Выбор СУБД и языка для разработки пользовательского приложения ложится на плечи разработчика.
1.2 Информационная система
Под информационной системой как правило понимается прикладная программная система, направленная на сбор, хранение, поиск и обработку информации. Хоть информационные системы и являются довольно типичным программным продуктом, они имеют ряд ощутимых различий от обычных прикладных программ и систем. В зависимости от предметной области информационные системы могут сильно отличаться по своим функциям, архитектуре и реализации. [3]Однако можно отметить ряд свойств, которые являются общими:
* Первое это то что информационные системы предназначены для сбора, хранения и обработки информации. Поэтому основой каждой их них является среда хранения и доступа к данным
* А второе это то что информационные системы ориентируются на конечного пользователя, не обладающего высокой квалификацией в области вычислительной техники. Поэтому клиентские приложения информационной системы должны иметь просто осваиваемым и удобным интерфейсом, который предоставляет конечному пользователю все требуемое ему для работы, но одновременно с этим не дает ему возможности выполнять какие-то лишние действия
Для функционирования информационной системы необходимы следующие основные компоненты[4]:
* База данных
* Система управления базой данных
* Пользовательское приложение
* Пользователи
Пока что рассмотрим вкратце каждый из них.
База дынных, есть не мало определений этого понятия. «Базу данных можно рассматривать как подобие электронной картотеки, то есть хранилище для некоторого набора занесенных в компьютер файлов данных» Крис Дейт. Ее важным свойством является то что она может себя описать, можно сказать что база данных обязательно содержит данные и метаданные. Данные это данные пользователя или предприятия, использующего систему, и связанные с его деятельностью. А метаданные это данные о данных или схема базы данных, которая описывает структуру обычных данных и дает о них фундаментальную информацию.
Система управления базами данных, представляет собой систему, позволяющую создавать базы данных и манипулировать сведениями из них. А осуществляет этот доступ к данным система управления базами данных с помощью специального языка SQL.
Пользовательское приложение, это приложение по автоматизации какой-то работы, использующее базу данных. Оно выполняет над данными стандартные операции: выборку существующей, вставку новой, удаление или обновление существующей информации, все эти функции выполняются через существующий запрос к системе управления базами данных. И при этом не дает пользователю делать какие-то лишние действия[5].
Пользователи, какие-то работники организации, которые работают с информационной системой непосредственно через рабочую станцию или терминал. Пользователь получает доступ к базе данных, используя одно из приложений.
Информационные системы классифицируются по самым разным признакам. Рассмотрим наиболее часто используемые виды классификации.
Классификация по масштабу.
По масштабу информационные системы подразделяются на следующие группы:
* Одиночные
* Групповые
* Корпоративные
Одиночные информационные системы могут содержать несколько простых приложений, связанных общим информационным фондом, и рассчитанным на работу 1-го пользователя либо группу пользователей, разделяющих по времени одно рабочее место.
Групповые информационные системы нацелены на коллективное использование информации участниками рабочей группы и строятся на базе локальной вычислительной сети.
Корпоративные информационные системы направлены на большие организации и могут поддерживать территориально разнесенные узлы или сети.
Классификация по сфере применения.
Так как информационные системы создаются для удовлетворения информационных потребностей в рамках конкретной предметной области, то каждой предметной области соответствует свой тип информационных систем. Так как количество предметных областей велико, перечислю всего парочку из них для примера:
* Информационная система организационного управления, предназначен для автоматизации функций управленческого персонала.
* Экономическая информационная система, предназначена для автоматизации сбора, хранения, обработки и выдачи необходимой информации, предназначенной для выполнения функций управления.
* Интегрированные информационные системы, предназначены для автоматизации всех функций фирмы и охватывает цикл работ от проектирования до сбыта продукции
Классификация по способу организации
Прежде чем начать нужно отметить что информационные системы могут размещаться на одном или на нескольких компьютерах.
Информационную систему из одного персонального компьютера, обычно называют локальной или однопользовательской. Данные в ней хранятся и обрабатываются на одном и том же компьютере. Для ее работы необходимо организовать на пользовательском компьютере хранение данных и доступ к ним. Это можно сделать тремя способами:
* Использовать полную версию системы управления базой данных, на локальный компьютер устанавливается полная версия СУБД, а приложение подключается к ней. Фактически это та же многопользовательская система, только СУБД не вынесена на отдельный сервер. Например, MySQL
* Использование встраиваемой системы управления базой данных, они обычно имеют ограниченные возможности в сопоставлении с полной версией СУБД, и представляют собой больше библиотеку, которая подключается к основному приложению. Для доступа используется обычно усеченная версия SQL или специальный язык запросов. Права доступа в них не контролируются, да и вообще не поддерживаются. Например, SQLite
* Вообще без системы управления базой данных, в таком случае используют текстовые файлы, например, XML и CSV или какие-то другие свои форматы
По способу организации информационные системы подразделяются на следующие группы:
* На основе архитектуры файл-сервер
* На основе архитектуры клиент-сервер
* На основе многоуровневой архитектуры
* На основе Интернет/интернет-технологии
Файл-серверные информационные системы создаются на базе локальной сети организации, сервер используется только для хранения информации, а ее обработка выполняется на рабочих станциях. В такой системе клиент обращается к серверу на уровне файловых команд, система управления файлами считывает запрашиваемые данные из базы данных и по блокам передает эти данные клиентскому приложению. Его основным недостатком является высокая нагрузка на сеть.
Клиент-серверные информационные системы, для нее характерно наличие двух взаимодействующих самостоятельных процесса - клиент и сервер. Особенностью данной архитектуры является то что, клиент отправляет на сервер только запросы, а обработку информации в ответ на запрос уже выполняет сервер, взаимодействующий с базой данных, понимающий язык структурированных запросов SQL и выполняющий поиск, сортировку и агрегирование информации. Для реализации подобного сервера используется многопользовательская система управления базой данных, типа Oracle или Microsoft SQL Server.
Многоуровневые информационные системы, является развитием клиент-серверных информационных систем, в них используется несколько центральных компьютеров, на которых находятся сервер и сервер баз данных, для обеспечения функционирования больших информационных систем.
Информационные системы на основе интернет технологий, позволяют создавать распределенные информационные системы, доступ к которым возможен через интернет. При этом создается многоуровневая информационная система.
1.3 Базы данных и системы управления базами данных
Базы данных - это совокупность сведений, относящихся к определенной теме либо задаче, организованная таким образом, для того чтобы обеспечить удобное представление этой совокупности как в целом, так и любой ее части, находящиеся под контролем системы управления базами данных[1].
Система управления базами данных - это система, допускающая возможность создавать базы данных и манипулировать сведениями из них, а доступ этот осуществляется с помощью специального языка запросов.
В состав любой системы управления базами данных входят:
* Ядро системы управления базами данных, предназначено для управления данными во внешней и оперативной памяти компьютера
* Набор утилит, в их состав входят такие процедуры, которые слишком затратно выполнять, используя внутренний язык, например, выполнение загрузки и выгрузки или глобальной проверки целостности базы данных
* Язык описания данных, с помощью него описывается структура базы данных
* Язык манипулирования данными, с помощью него выполняются операции над данными
На текущий момент самым популярным таковым языком является SQL, он объединяет собой язык описания данных и язык манипулирования данными, а представляет собой структурированный язык запросов, оперирующий группами записей, а не отдельными записями. Использование его обеспечивает[2]:
* Организация данных
* Чтение данных
* Обработку данных
* Управление доступом
* Целостность данных
* Совместное использование данных
Функциональные возможности систем управления базами данных:
* Средства постоянного хранения данных. Системы управления базами данных, схоже с файловыми системами, поддерживают возможность хранения чрезвычайно очень больших объемов информации, которые существуют независимо от каких-либо процессов их использования. Системы управления базами данных, всё-таки превосходят файловые системы касательно гибкости предоставления информации, предлагая структуры, обеспечивающие доступ к большим порциям данных
* Интерфейс программирования. Система управления базой данных предоставляет пользователю или прикладной программе возможность обращаться к данным и изменять их с помощью команд языка запросов. И тут тоже они имеют преимущество перед файловыми системами, первые предоставляют возможность манипулировать данными разными способами, более гибкими, относительно второй, которая предоставляет только операции чтения и записи файлов
* Управление транзакциями. Транзакция -- это последовательность производимых над базой данных действий, воспринимаемых системой управления базой данных как единое целое. Возможны два варианта развития событий. Либо транзакции реализуется успешно, и система управления базой данных закрепляет изменения базы данных, осуществленные той самой транзакцией во внешней памяти, либо никакое из происшедших изменений абсолютно не имеет влияния на состояние базы данных. Для того что бы избежать нежелательных последствий подобных обращений, системы управления базой данных реализуют механизмы обеспечения изолированности транзакций, их атомарности и устойчивости
Все системы управления базами данных делятся на два типа:
* Локальные
* Сетевые
Локальные системы управления базами данных вместе с базой данных находятся на компьютере пользователя. Такие системы не зависят от сетевых процессов, поскольку управление базой данных выполняется автономно.
Серверные системы управления базами данных делятся на два типа файл-серверные и клиент-серверные. Первое, на сервере хранятся только файлы базы данных, а уже обработка их происходит на компьютере пользователя. Второе, на сервере кроме хранения базы данных еще идет их обработка.
Ядром любой базы данных является модель данных[7]. Она представляет собой совокупность структур данных и операций их обработки. С помощью такой модели данных могут быть представлены информационные объекты и взаимосвязи между ними. Рассмотрим три основных типа моделей данных:
* Иерархическую
* Сетевую
* Реляционную
Основная структура представления иерархической модели представляет собой дерево. На самом верху иерархии находится только одна вершина, которая именуется корнем дерева. Эта вершина имеет связь с вершинами второго уровня, а вершины второго уровня имеют связь с вершинами третьего уровня и так далее. Связи между вершинами одного и того же уровня нет, то есть данные в иерархической модели не равноправны, одни жестко подчинены другим. Доступ к информации возможен только по вертикальной схеме, начиная с самого верхнего, так как каждый элемент связан только с одним элементом сверху и с одним или несколькими внизу.
Сетевая модель является дальнейшим развитием иерархической модели. Это структура, у которой любой элемент может быть связан с любым другим элементом. Она состоит из наборов записей, которые связаны между собой так, что записи могут содержать явные ссылки на другие наборы записей. Таким образом наборы записей образуют сеть. Связи между записями могут быть произвольными, и эти связи явно присутствуют и хранятся в базе данных.
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида.
Каждая строчка таблицы содержит данные об одном объекте, а столбцы таблицы содержат различные характеристики этих объектов или по-иному, атрибуты и имеют уникальное имя. Порядок следования строк и столбцов не имеет значения. Строки таблицы именуются записями. Все записи таблицы имеют идентичную структуру, они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных и максимально допустимый размер.
Для идентификации записей используется первичный ключ. Он представляет собой поле либо группу полей, которые позволяют однозначно определить каждую запись в таблице. Должен обладать 2-мя свойствами, 1-ое однозначная идентификация записи, 2-ое отсутствие избыточности. Если первичный ключ состоит из 1-го поля, то он называется простым ключом или ключевым полем. Если первичный ключ состоит из нескольких полей, то его именуют составным ключом.
Для установки связи меж таблицами используются ключевые поля. Можно связать две реляционные таблицы, если ключ одной из связываемых таблиц ввести в состав ключа другой таблицы. Так же можно ввести ключевое поле одной связываемой таблицы в структуру другой таблицы, так что оно в этой таблице не будет ключевым, тогда это поле именуется внешним ключом.
При проектировании любой базы данных необходимо задать ее структуру.
Проектирование можно разделить на несколько основных этапов:
* Определение сущностей. Для идентификации сущностей определяются объекты, которые существуют независимо от других, их называют сущностями. Каждой такой сущности присваивается имя. Имена и их описание заносятся в словарь данных и если есть такая возможность, устанавливается количество экземпляров каждой из сущностей
* Определение связей между сущностями. Определяются только те связи, которые необходимы для того что бы удовлетворить требования к проекту базы данных. Для каждой из них устанавливается тип связи, ее класс принадлежности сущности, присваивается имена, выраженные глаголами. Описание связей с указанием ее типа и класса заносится в словарь данных
* Определение атрибутов. Выявляются атрибуты описывающие сущности. Каждому из атрибутов присваивается имя и о каждом из них в словарь данных помещается следующие сведения, имя атрибута и его описание, тип и размер, значение по умолчанию, можно ли атрибут не объявлять при создании экземпляра сущности
* Определение первичных ключей. На этом этапе определяется первичный ключ, который может быть, как атрибутом, так и набором атрибутов, позволяющий идентифицировать экземпляры сущности. Также информация о первичных ключах заносится в словарь данных
Нормализация базы данных является процедура, производимая над базой данных с целью удаления в ней избыточности. С помощью нее уменьшается вероятность возникновения ошибок в базе данных и занимаемое ею место на жестком диске. Всего таких форм восемь, но часто достаточно соблюдать первые три:
* Первая нормальная форма. Основным ее правилом является необходимость неделимости значения в каждом поле строки, атомарность значений. Помимо атомарности, к ней относятся еще такие правила, строки таблиц не должны зависеть друг от друга, столбцы так же не должны зависеть друг от друга, каждая строка должна быть уникальна
* Вторая нормальная форма. Условием этой формы является отсутствие зависимости не ключевых полей от части составного ключа.
* Третья нормальная форма. Если вторая форма ликвидирует зависимости не ключевых полей от части ключа, то третья нормальная форма исключает зависимость не ключевых полей от других не ключевых полей
Так же нужно учесть, что в теории говорится что схема базы данных должна быть полностью нормализована. На самом деле это не так, так как при работе с полностью нормализованной базой данных необходимо применять весьма сложные SQL запросы, что приводит к обратному эффекту, поэтому иногда прибегают к обратной процедуре денормализации.
2. Разработка базы данных
2.1 Выбор СУБД для нашей системы
Так как наша система будет локальной, то есть работать она будет на одном компьютере, у нас есть на выбор три способа как организовать на пользовательском компьютере хранение данных, это использовать полную версию, либо использовать встраиваемую систему базы данных или не использовать систему базы данных вообще. Я решил остановится на встраиваемой по нескольким причинам:
* наши данные будут размещены на одном и том же компьютере что и приложение
* запрос отправлять будет только один клиент, то есть одновременное обращение нескольких клиентов нам не нужно
* нам не потребуется синхронизация данных, потому что больше одного человека с ней работать не будут
* ставить полную версию системы управления базами данных затратно по памяти, да и если приложение потребуется перенести на другой компьютер нужно будет искать человека который разбирается в этом, так как нужно будет настроить систему управления базами данных и перенести базу данных, а встраиваемые обычно идут как библиотеки, которые просто подключаются к основному приложению
Из встраиваемых систем управления базами данных мне знакома SQLite, ее и будем использовать.
SQLite представляет собой компактную встраиваемую реляционную базу данных, она не использует парадигму клиент сервер, то есть не является отдельным работающим процессом, с которым работает программа, а предоставляет библиотеку, с которой компонуется программа и движок становится частью программы. Получается так что в качестве протокола обмена используются вызовы функций библиотеки. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. Вся база данных хранится в единственном файле на котором исполняется программа.
Несколько процессов или потоков могут одновременно без каких-то проблем читать данный из одной базы, а вот запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается, в противном случае запись не удастся и в программу вернется код ошибки. Но это можно исправить, запуская автоматическое повторение попытки записи, пока запись не пройдет удачно.
Старые версии были реализованы без каких-то ограничений, единственным условием было что бы база данных помещалась в память. Это создавала некоторые проблемы и приводило все это к ошибкам при использовании ее в экстремальных условиях. И поэтому, в новых версиях были добавлены пределы, которые теперь проверяются вместе с общим набором тестов.
Все эти ограничения устанавливаются во время компиляции библиотеки SQLite, которые при желании можно увеличить. Единственное значение, которое сейчас нельзя увеличить больше заданного по умолчанию это, максимальный размер страницы базы данных. Получается что не изменяя его максимальный размер файла базы данных составляет примерно тридцать два терабайта. А вот некоторые ограничения можно менять в сторону уменьшения во время исполнения программы при помощи задания категории и соответствующего значения функции sqlite3_limit(), такие как:
* Максимальная длина любой строки или BLOB поля или ряда
* Максимальная длина SQL выражения
* Максимальное количество колонок в определении таблицы или результате выборки, или индексе, или выражениях с операторами ORDER BY или GROUP BY
* Максимальная глубина разобранного дерева любого выражения
* Максимальное количество термов в объединенном выражении с SELECT
* Максимальное количество инструкция программы виртуальной машины выполняемого SQL выражения
* Максимальное количество аргументов функции
* Максимальное количество присоединенных баз
* Максимальная длина шаблона как аргумента операторов LIKE или GLOB
* Максимальное количество переменных в SQL выражении, которое можно связать
* Максимальная глубина рекурсии триггеров
Это может помочь например если использовать SQLite в веб приложениях, так как уменьшая пределы можно предотвратить DoS атаки со стороны недоверяемых внешних клиентов.
Сама библиотека написана на языке Си, но существует большое количество привязок к другим языкам программирования. Таким как C++, Java, C#, VB.NET, Python, Perl, PHP, Tcl, Ruby, Haskell, Scheme, Smalltalk, Lua, Parser и также ко многим другим.
Она получила свою популярность за простоту и удобство встраивания и это привело к тому что эта библиотека используется в браузерах, музыкальных плеерах и на любом смартфоне. SQLite очень надежна. При выпуске версии она проходит через ряд серьезных автоматических тестов, которых около двух милионов, покрытие кода тестами приравнивается ста процентам.
2.2 Проектирование базы данных
Главной целью проектирования базы данных является уменьшения избыточности хранимых данных, а следуя из этого и уменьшение объема требуемой памяти. Про то из каких этапов состоит проектирование базы данных мы уже говорили в части 1.4, поэтому перейдем сразу к делу.
Требуется разработать базу данных “Сервиском”. База данных нужна для ведения учета работы компании и накоплении базы заказчиков.
Определение сущностей.
Первой сущностью будет Заказчик, в ней будут хранится основные данные о заказчиках, которые хотя бы оставили заявку на оказание услуг.
Второй нужной нам сущностью будет Работа, это то что мы будем делать для заказчика, за одну заявку на не определенное количество услуг.
Третьей сущностью является Наши услуги, в ней перечислены все услуги, которые предоставляет компания.
Четвертая сущность именуется Требуемые услуги, это сущность в которой будут хранится информация о услугах, которые запросил заказчик на одну работу (заявку на оказание услуг).
Пятая сущность Статусы, это сущность, хранящая все возможные состояний работы.
Шестой сущностью будет Сотрудники, в ней будет хранится информация о сотрудниках, которая не обходима в работе.
Седьмой сущностью является Работа сотрудников, в этой сущности будет хранится информация о том какой работник чем был занят.
И восьмой последней сущностью будет Должности, в ней будут хранится все вариации должностей сотрудников компании.
Определение связей
Существует три типа связей:
* Один ко многим, нужна когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице
* Один к одному, нужна когда одной записи родительской таблицы соответствует лишь одна запись в дочерней
* Многие ко многим, нужна когда записи в родительской таблице могут соответствовать больше одной записи в дочерней таблице, и записи в дочерней таблице могут соответствовать больше одной записи в родительской. Она моделируется с помощью введения дополнительной таблицы
Заказчик и Работа имеют между собой связь один ко многим, на одного заказчика может быть оформлено несколько работ, но у одной работы может быть только один заказчик.
Статусы и Работа имеют между собой связь один ко многим, на один статус может ссылаться несколько работ, но у работы может быть только одно состояние.
Работа и Сотрудники имеют между собой связь многие ко многим с помощью третьей таблицы Работа сотрудников, над одним заказом может работать несколько сотрудников, и каждый сотрудник может работать над несколькими заказами.
Должности и Сотрудники имеют между собой связь один ко многим, на одной должности могут работать несколько сотрудников, но у сотрудника может быть только одна должность.
Работа и Наши услуги имеют между собой связь многие ко многим с помощью третьей таблицы Требуемые услуги, на одну услугу может быть запрошено несколько услуг, и услуга может быть востребована у нескольких работ.
Определение атрибутов и первичного ключа
Каждое значение, хранящееся в базе данных SQLite имеет один из следующих типов:
* NULL. Пустое значение в таблице базы
* INTEGER. Целочисленное значение, хранящееся в 1, 2, 3, 4, 6 или 8 байтах, в зависимости от величины самого значения
* REAL. Числовое значение с плавающей точкой. Хранится в формате восьми байтового числа IEEE с плавающей точкой
* TEXT. Значение строки текста. Хранится с использованием кодировки базы данных, UTF-8, UTF-16BE или UTF-16LE
* BLOB. Значение бинарных данных, хранящихся точно в том же виде, в котором были введены.
Все столбики кроме тех которые относятся к первичному ключу, который может быть только INTEGER, могут быть использованы для хранения значения любого класса.
Так как SQLite не имеет отдельного класса для хранения логического типа данных. Вместо этого логические значения хранятся как целые числа 0 и 1, false и true соответственно.
Так же SQLite не имеет классов для хранения даты или времени. Вместо этого встроенные функции даты и времени работают с датой и временем хранимых в виде значений TEXT, REAL, INTEGER в следующем виде:
* TEXT, как строка формата ISO8601 YYYY-MM-DD HH:MM:SS.SSS
* REAL, как числа юлианского календаря. То бишь число дней с полудня 24 ноября 4714 года до нашей эры по Гринвичу в соответствии с ранним григорианским календарем
* INTEGER, как время Unix, количество секунд с 1970-01-01 00:00:00 UTC
Атрибуты таблицы Заказчик:
* Id, уникальный идентификатор заказчика, integer, пустое, первичный ключ, автоинкремент
* Name, имя заказчика, text, не пустое
* Surname, фамилия заказчика, text, не пустое
* Patronymic, отчество заказчика, text, не пустое
* Company_name, название организации, text, не пустое
* Inn, идентификационный номер налогоплательщика, text, не пустое
* Phone_number, телефонный номер, text, не пустое
* Email, электронная почта, text, не пустое
Атрибуты таблицы Статусы:
* Id, уникальный идентификатор статуса, integer, пустое, первичный ключ, автоинкремент
* Name, наименование статуса, text, не пустое
Атрибуты таблицы Работа:
* Id, уникальный идентификатор работы, integer, пустое, первичный ключ, автоинкремент
* Id_customer, уникальный идентификатор заказчика, integer, не пустое, внешний ключ Заказчик(id)
* Id_status, унакальный идентификатор статуса, integer, не пустое, внешний ключ Статусы(id)
* Application_file, файл заявления, text, пустое
* Contract_file, файл договора, text, пустое
* Estimate_file, файл сметы, text, пустое
* Comment, причина приостановки работы или закрытия заказа, text, пустое
* Deadline, дата когда нужно закончить работу, text, пустое
Атрибуты таблицы Наши услуги:
* Id, уникальный идентификатор услуги, integer, пустое, первичный ключ, автоинкремент
* Name, наименование услуги, text, не пустое
Атрибуты таблицы Требуемые услуги:
* Id, уникальный идентификатор требуемой услуги, integer, пустое, первичный ключ, автоинкремент
* Id_work, уникальный идентификатор работы, integer, не пустое, внешний ключ Работа(id)
* Id_service, уникальный идентификатор услуги, integer, не пустое, внешний ключ Наши услуги(id)
* Cost, стоимость предоставленной услуги, real, пустое
Атрибуты таблицы Должности:
* Id, уникальный идентификатор должности, integer, пустое, первичный ключ, автоинкремент
* Name, наименование должности, text, не пустое
Атрибуты таблицы Сотрудники:
* Id, уникальный идентификатор сотрудника, integer, пустое, первичный ключ, автоинкремент
* Id_position, уникальный идентификатор должности, integer, не пустое, внешний ключ Должности(id)
* Name, имя сотрудника, text, не пустое
* Surname, фамилия сотрудника, text, не пустое
* Patronymic, отчество сотрудника, text, не пустое
* Phone_number, телефонный номер сотрудника, text, не пустое
* Email, электронная почта сотрудника, text, не пустое
Атрибуты таблицы Работа сотрудников:
* Id, уникальный идентификатор работы сотрудника, integer, пустое, первичный ключ, автоинкремент
* Id_work, уникальный идентификатор работы, integer, не пустое, внешний ключ Работа(id)
* Id_worker, уникальный идентификатор сотрудника, integer, не пустое, внешний ключ Сотрудники(id)
* Data_of_appointment, дата начала работы, text, не пустое
* Data_of_completion, дата конца работы, text, пустое
Принимая во внимание все выше сказанное построим следующую датталогическую схему базы данных (Рис. 2.1):
Рис. 2.1 -- Даталогическая модель бд
2.3 Создание базы данных
Основные административные команды:
*.show, выдает текущие настройки заданных параметров
*.databases, выдает название баз данных и файлов
*.quit, выход из интерфейса командной строки
*.tables, выводит текущие таблицы
*.schema, выводит структуру таблицы
*.header, отобразить или скрыть шапку таблицы
*.mode, выбор режима отображения данных таблицы
*.dump, сделать копию базы данных
Стандартные команды можно разделить на три группы:
* Язык описания данных DDL
* Язык управления данными DML
* Язык запросов DQL
Рассмотрим те, которые нам могут пригодиться
Из языка описания данных DDL нам может понадобится:
* CREATE, создает таблицу, выглядит оператор как то так,
create [temp] table_name (column_definitions [, constraubts]);
table_name, название таблицы, оно должно быть уникальным, среди всех других имен объектов базы данных.
temp, означает что таблица временная, после выхода из консольного интерфейса, так же квадратные скобки означают что это не обязательная часть оператора
column_definitions, список разделенных запятыми определений колонок. Состоят поля из имени, домена и списка ограничений. Под доменном понимается тип поля, аналог типа данных. С помощью него задается то какое значение может храниться в данном поле. Ограничения так же перечисляются через запятые.
* ALTER, обновление таблицы, может переименовать таблицу и/или добавить столбик. Выглядит оператор как то так:
alter table table {rename to name | add column column_def};
Вертикальная черта означает или, а фигурные скобки означают что одна из опций включенных в эти скобки должна появиться в операторе. Если нужно добавить столбик, то определения пишутся так же как и в операторе создания таблицы. А для того чтобы переименовать таблицу просто напишите новое имя
* DROP, удаление объектов базы данных, с помощью нее можно удалить таблицу, индекс, триггер, представление. Выглядит оператор как то так:
удаляем таблицу
drop table [if exists] [schema-name.] table-name;
if exists проверка на существование
schema-name. указание на базу данных
table-name название таблицы
удаляем индексы
drop index [if exists] [db_name.]index_name;
удаляем тригеры
drop trigger [if exists] [schema-name.]trigger-name;
удаляем представления
drop view [if exists] [schema-name.]view-name;
Из языка управления данными DML нам может понадобится:
* INSERT, вставка записей, выглядит оператор как то так:
insert into table (column_list) values (value_list);
table, название таблицы.
column_list, список имен столбцов разделенных запятыми.
value_list, список выражений разделенных запятыми, должен совпадать с именами полей, порядок важен относительно выражений и полей. Если в списке выражений присутствуют все требуемые выражения, то список полей можно опустить.
* UPDATE, обновление записей, может менять одно или более полей одной или более записей в таблице. Выглядит как то так:
update table set update_list where predicate;
update_list, список того что на что сменить.
where, отбирает записи для редактирования.
predicate, сам критерий отбора.
* DELETE, удаление записей, выглядит как то так:
delete from table where predicate;
from, откуда.
table, название таблицы.
where, отбирает записи для удаления.
predicate, сам критерий отбора.
Из языка запросов DQL нам может понадобится:
* SELECT, выдает выборку данных из базы данных, выглядит как то так: select [distinct] heading from tables where predicate group by columns having predicate order by columns limit count, offset count;
Все фразы кроме самого select являются необязательными.
Вместо перечисления всех полей, их можно заменить знаком *.
heading, список столбиков которые нам нужны.
from, откуда.
table, список таблиц, которые объединяются в составное отношение.
where, отбирает требуемые записи.
predicate, критерий по которому отбираются записи.
group by, группировка на группы записей, используя одинаковые значения в указанных полях.
having, тоже самое что и where, только для group by.
predicate, критерий по которому отбираются группы.
columns, сами поля.
order by, сортировка.
columns, название столбика относительно которого будем сортировать, после него можно еще дописать, как сортировать asc по возрастанию или desc по убыванию.
limit, максимальное количество записей, которое нам выдаст select.
offset, количество записей которое нужно пропустить.
count, число.
Бинарные операции, которые нам могут пригодиться для написания более сложных критериев:
* ||, конкатенация строк
* *, умножение
* /, деление
* +, сложение
* -, вычитание
* <<, сдвиг битов вправо
* >>, сдвиг битов влево
* &, логическое и
* |, логическое или
* <, меньше
* <=, меньше равно
* >, больше
* >=, больше равно
* =, равно
* ==, равно
* <>, не равно
*!=, не равно
* IN, принадлежит
* AND, логическое и
* OR, логическое или
* IS, логическая эквивалентность
* LIKE, подобие строк
* GLOB, подобие имен файлов
LIKE, представляет собой операцию эквивалентности, но используется для подбора текстовых значений похожих на образец, так же работает с отрицанием NOT. % обозначает ноль или несколько символов, а _ обозначает один символ.
GLOB, тоже самое что и LIKE, только использует синтаксис Unix для определения символов подстановки, * обозначает ноль или несколько символов, а ? обозначает один символ.
Ограничения:
* Unique, ограничение уникальности, оно требует чтобы все значения в столбце были уникальны, при попытки добавления значения которое уже есть или заменить, то выдает ошибку
* Not null, не будет возможности добавить нулевое значение
* Primary key, первичный ключ, это столбец, который идентифицирует таблицу в базе данных и значение которого должно быть уникальным и вечным. Так же можно еще использовать модификатор autoincrement
* Default, значение по умолчанию. Задает значение по умолчанию для столбца, если его значение не было задано
* Check, с помощью него задаются дополнительные ограничения
* References, внешний ключ, это ограничение на то что нельзя ввести значение отличное от значений из столбика таблицы, откуда взят этот ключ
Теперь можно приступить к созданию самой базы данных.
Откроем консоль и создадим файл базы данных SQLite, с помощью команды
sqlite3 database.db
После чего в текущем каталоге будет создан файл database.db, после создания базы данных, sqlite3 обеспечит нас приглашением на ввод интерфейса командной строки.
Так как база данных теперь создана, можно приступить к созданию таблиц и их заполнению. Но сначала нужно включить foreign_keys, потому что по умолчанию он выключен, с помощью команды
PRAGMA foreign_keys = “1”;
Далее создаем таблицы:
1) Заказчики
CREATE TABLE `customers` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` TEXT NOT NULL,
`surname` TEXT NOT NULL,
`patronymic` TEXT NOT NULL,
`company_name` TEXT NOT NULL,
`inn` TEXT NOT NULL,
`phone_number` TEXT NOT NULL,
`email` TEXT NOT NULL
);
2) Статусы
CREATE TABLE `statuses` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` TEXT NOT NULL
);
3) Работа
CREATE TABLE `work` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`id_customer` INTEGER NOT NULL,
`id_status` INTEGER NOT NULL,
`application_file` TEXT,
`contract_file` TEXT,
`estimate_file` TEXT,
`comment` TEXT,
`deadline` TEXT,
FOREIGN KEY(`id_customer`) REFERENCES `customers`(`id`),
FOREIGN KEY(`id_status`) REFERENCES `statuses`(`id`)
);
4) Наши услуги
CREATE TABLE `services` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` TEXT NOT NULL
);
5) Требуемые услуги
CREATE TABLE `rendered_services` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`id_work` INTEGER NOT NULL,
`id_service` INTEGER NOT NULL,
`cost` REAL,
FOREIGN KEY(`id_work`) REFERENCES `work`(`id`),
FOREIGN KEY(`id_service`) REFERENCES `services`(`id`)
);
6) Должности
CREATE TABLE `positions` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` TEXT NOT NULL
);
7) Сотрудники
CREATE TABLE `workers` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`id_position` INTEGER NOT NULL,
`name` TEXT NOT NULL,
`surname` TEXT NOT NULL,
`patronymic` TEXT NOT NULL,
`phone_number` TEXT NOT NULL,
`email` TEXT NOT NULL,
FOREIGN KEY(`id_position`) REFERENCES `positions`(`id`)
);
8) Работа сотрудников
CREATE TABLE `work_schedule` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`id_work` INTEGER NOT NULL,
`id_worker` INTEGER NOT NULL,
`date_of_appointment` TEXT NOT NULL,
`date_of_completion` TEXT,
FOREIGN KEY(`id_work`) REFERENCES `work`(`id`),
FOREIGN KEY(`id_worker`) REFERENCES `workers`(`id`)
);
И некоторые из них заполняем сразу так как без этого работать с базой мы не сможем:
1) Статусы
INSERT INTO statuses (name) VALUES (`ожидание оценщика')
INSERT INTO statuses (name) VALUES (`заключение договора)
INSERT INTO statuses (name) VALUES (`выполнение работы)
INSERT INTO statuses (name) VALUES (`выполнено)
INSERT INTO statuses (name) VALUES (`сдача работы заказчику')
INSERT INTO statuses (name) VALUES (`заказчик отказался от услуг')
INSERT INTO statuses (name) VALUES (`работа приостановлена')
2) Наши услуги
INSERT INTO services (name) VALUES (`Чистка и уборка производственных и жилых помещений и оборудования')
INSERT INTO services (name) VALUES (`Монтаж буровой установки')
INSERT INTO services (name) VALUES (`Демонтаж буровой установки')
INSERT INTO services (name) VALUES (`Ремонт буровой установки')
INSERT INTO services (name) VALUES (`Цементирование обсадных труб')
INSERT INTO services (name) VALUES (`Цементирование нефтяных скважин')
INSERT INTO services (name) VALUES (`Цементирование газовых скважин')
INSERT INTO services (name) VALUES (`Откачка скважин')
INSERT INTO services (name) VALUES (`Консервацию скважин')
INSERT INTO services (name) VALUES (`Заглушка скважин')
3) Должности
INSERT INTO positions (name) VALUES (`сметчик')
INSERT INTO positions (name) VALUES (`водитель')
INSERT INTO positions (name) VALUES (`начальник смены')
INSERT INTO positions (name) VALUES (`технический работник')
4) Сотрудники
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`1', `Алексей', `Алексеев', `Алексеевич', `892777777', `alexey@al.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`2', `Иван', `Ванко', `Антонович', `892666666', `ivan@iv.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`2', `Владимир', `Иванович', `Вернадский', `892888888', `vladimir@vd.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`3', `Уилбур', `Райт', `Милтон', `89255555555', `wilbur@ww.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`3', `Орвилл', `Райт', `Милтон', `89244444444', `orville@ow.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`4', `Иван', `Петрович', `Павлов', `89219999999', `ivpepa@ip.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`4', `Петр', `Ильич', `Чайковский', `89218888888', `petr@pi.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`4', `Жюль', `Верн', `Пьер', `89217777777', `jules@jv.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`4', `Александр', `Дюма', `Томас', `89216666666', `alexandre@ad.com')
INSERT INTO positions (id_position, name, surname, patronymic, phone_number, email) VALUES (`4', `Артур', `Дойл', `Чарльз', `89215555555', `conan@cd.com')
INSERT INTO positions (id_position, name, surname, patronymic,
phone_number, email) VALUES (`4', `Винсент', `ван Гог', `Теодор', `89214444444', `vincent@vg.com')
INSERT INTO positions (id_position, name, surname, patronymic,
phone_number, email) VALUES (`1', `Эрнест', `Хемингуэй', `Кларенс', `89277556421', `ernest@eh.com')
5) Заказчики
INSERT INTO positions (name, surname, patronymic, company_name, inn, phone_number, email) VALUES (`Жан', `Бельмондо', `Поль', `ЖБП', `1235487654',`89217567481', `jean@jpb.ru')
INSERT INTO positions (name, surname, patronymic, company_name, inn, phone_number, email) VALUES (`Александр', `Флеминг', `Хуг', `АФХ', `2341457142',` 89244663257', `alexer.fleming@af.ru')
INSERT INTO positions (name, surname, patronymic, company_name, inn, phone_number, email) VALUES (`Юрий', `Никулин', `Владимирович', `ЮНВ', `2222222222',` 89289721396', `yuri.nikulin@yn.com')
INSERT INTO positions (name, surname, patronymic, company_name, inn, phone_number, email) VALUES (`Иван', `Иванов', `Иванович', `ИИИ', `1111111111',` 89277777777', `ivan.ivanov@ivan.ru')
3. Разработка клиентского приложения
3.1 Выбор языка программирования и ide
Так как я уже знаком с C++, решил остановиться на нем[6].
Он представляет собой компилированный строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.
Разработка языка началась в 1979 году. Целью создания C++ было дополнение C возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности C. Вместе с тем создатели C++ стремились сохранить совместимость с C: синтаксис первого основан на синтаксисе последнего, и большинство программ на C будут работать и как C++. Изначально новый язык назывался “C с классами”, но затем имя было изменено на C++ -- это должно было подчеркнуть как его происходжение от С, так и его превосходство над последним.
Первый выпуск C++ для коммерческого использования состоялся в 1985 году, вместе с публикацией книги “The C++ Programming Language”, которая на долгое время стала его неофициальным стандартом. В 1989 году вышла вторая версия языка в сопровождении книги “The Annotated C++ Reference Manual”.
Нововведениями C++ в сравнении с C являются[9]:
* поддержка объектно-ориентированного программирования через классы. C++ предоставляет все четыре возможности ООП -- абстракцию, инкапсуляцию, наследование (в том числе и множественное) и полиморфизм.
* поддержка обобщённого программирования через шаблоны функций и классов;
* стандартная библиотека C++ состоит из стандартной библиотеки C (с некоторыми модификациями) и библиотеки шаблонов (Standard Template Library, STL), которая предоставляет обширный набор обобщенных контейнеров и алгоритмов;
* дополнительные типы данных;
* обработка исключений;
* виртуальные функции;
* пространства имён;
* встраиваемые (inline) функции;
* перегрузка (overloading) операторов;
* перегрузка имён функций;
* ссылки и операторы управления свободно распределяемой памятью.
Так же для создания графического приложения будет использована библиотека Qt.
Qt - кросс-платформенный инструментарий разработчика прикладного программного обеспечения, широко используемый для создания графических интерфейсов. Он написан на C++ и предоставляет мощные расширения этого языка. Также доступны интерфейсы для других языков программирования, таких как Python (PyQt), Ruby (Korundum/QtRuby) и Perl (PerlQt). Существует проект Jambi для Java, но его развитие вскоре будет прекращено.
И так как у нас будет задействована библиотека Qt, то и IDE будет использована от тех же разработчиков, которая разработана специально для работы с этой библиотекой.
Она включает в себя Qt Designer, с помощью которого можно создавать графический интерфейс. Визуальное создание интерфейса позволяет легко и просто создавать интерфейс, перетаскивая различные виджеты(выпадающие списки, кнопки, переключатели) на форму. Qt поставляется вместе с Qt Assistant -- это огромный интерактивный справочник, содержащий в себе информацию по работе с Qt. К сожалению полностью не переведен на русский. В состав Qt также входит Qt Linguist, которая позволяет локализировать приложение для разных языков.
Состав библиотеки Qt.
Библиотека Qt состоит из различных модулей, которые подключаются при помощи директивы #include. В состав входят:
QtCore -- классы ядра библиотеки Qt, они используются другими модулями.
QtGui -- модуль содержит компоненты графического интерфейса.
QtNetwork -- модуль содержит классы для работы с сетью. В него входят классы для работы с протоколами FTP, HTPP, IP и другими.
QtOpenGL -- модуль содержит классы для работы с OpenGL
...Подобные документы
Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.
дипломная работа [2,0 M], добавлен 22.11.2015Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.
курсовая работа [3,3 M], добавлен 15.09.2014Технические средства обеспечения функционирования информационной системы. Проектирование базы данных информационной системы. Разработка веб-приложения – справочно-информационной системы для предприятия. Организация записи информации в базу данных.
дипломная работа [4,4 M], добавлен 16.05.2022Выявление информационных объектов баз данных и требований целостности к данным. Построение результирующей ER диаграммы. Даталогическое проектирование и разработка сценариев работы информационной системы. Выбор средства реализации клиентского приложения.
курсовая работа [2,7 M], добавлен 28.08.2012Технико-экономическая характеристика объекта автоматизации. Концептуальное, логическое и физическое проектирование базы данных, требования к системе. Разработка внешних приложений. Руководство пользователя автоматической информационной системы "Учёт".
курсовая работа [3,1 M], добавлен 17.08.2015Структура учреждения, выявление его основных задач и функций. Анализ входной информации и процессов. Разработка структуры базы данных и клиентского приложения для учета оборудования. Описание атрибутов таблиц. Расчет надежности информационной системы.
дипломная работа [2,3 M], добавлен 12.10.2015Проектирование базы данных "Деканат" в среде MySQL и разработка многопользовательского приложения с целью хранения информации о студентах и учета их успеваемости. Построение графиков оценок по предметам в спроектированной информационной системе.
курсовая работа [507,2 K], добавлен 16.01.2015Разработка программного обеспечения для автоматизации деятельности работников книжного магазина. Проектирование информационной системы с использованием базы данных Access. Методы хранения данных. Средства защиты данных от несанкционированного доступа.
контрольная работа [664,9 K], добавлен 13.06.2014Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.
курсовая работа [7,6 M], добавлен 27.04.2011Цели проектирования базы данных "Аэропорт": обработка информации о рейсах, расписании самолетов и билетах. Анализ предметной области. Принцип работы модели. Особенности реализации информационной системы. Среда программирования клиентского приложения.
лабораторная работа [2,4 M], добавлен 07.01.2014Автоматизация системы снятия показаний счетчиков энергии. Разработка базы данных и клиентского приложения для структур жилищно-коммунального хозяйства, занимающихся составлением квитанций. Описание предметной области. Тестирование клиентского приложения.
курсовая работа [953,3 K], добавлен 01.09.2016Разработка информационно-логической модели проектируемой информационной системы. Алгоритм функционирования информационной системы. Описание базы данных. Описание входной, промежуточной и выходной информации. Техническое и программное обеспечение.
реферат [28,1 K], добавлен 09.01.2009Общие требования к информационной системе, основные этапы ее разработки и оценка практической эффективности. Проектирование базы данных и технология доступа к ним. Разработка клиентского программного обеспечения, средства, защита и сохранность данных.
курсовая работа [720,7 K], добавлен 09.04.2013Разработка прикладного программного обеспечения деятельности гимназии, предназначенного для решения задачи автоматизации учета учащихся. Проектирование процессов, структуры информационной системы и структуры базы данных. Расчет экономических показателей.
курсовая работа [2,0 M], добавлен 06.04.2013Проектирование системы управления базой данных "Почтовые отделения" для создания единой информационной системы: создание таблиц для хранения данных, ввод данных, разработка элементов базы, предназначенных для просмотра, редактирования и вывода информации.
курсовая работа [1,4 M], добавлен 31.03.2010Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Понятие автоматизированной информационной системы. Построение функционально-ориентированных моделей "как есть" (as-is) и "как должно быть" (to-be). Описание базы данных, разработка приложения, руководство пользователя. Счет-фактура, платежное поручение.
дипломная работа [3,5 M], добавлен 23.04.2013Сокращение постоянных и переменных издержек путем автоматизации документооборота в компании "IT-Сервис". Разработка информационной системы и прототипа клиент-серверного трехзвенного приложения в среде Borland Delphi 7.0. Оценка экономического эффекта.
реферат [226,3 K], добавлен 25.09.2014Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.
курсовая работа [3,9 M], добавлен 18.01.2017