Проектирование компонентов информационной системы для ООО технический центр «курс»

Вид материалаДокументы

Содержание


3 Глава. разработка информационной системы
Подобный материал:
1   2


Рисунок 2.2. Даталогическая модель данных


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

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

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

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

Сущность «Справочник работ» (атрибуты: код работы, наименование, цена, код нормо-часа) содержит информацию о выполняемых работах.

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

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

Сущность «Справочник автомобилей» (атрибуты: код автомобиля, категория ТС (A, B, C, D, E), код нормо-часа, государственный номер автомобиля, номер кузова автомобиля, номер двигателя внутреннего сгорания автомобиля, пробег автомобиля, год выпуска автомобиля) содержит сведения обо всех автомобилях клиентов, обслуживаемых станцией технического обслуживания автомобилей.

Сущность «Товарный чек» (атрибуты: код товарного чека, код клиента, номер, дата, номер кассового чека, код детали, единица измерения, количество, цена, сумма) содержит сведения о количестве отпущенных автомобильных запасных частях клиентам.

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

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

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

Сущность «Заявка на работы» (атрибуты: код заявки на работы, код клиента, дата, номер, код детали, код нормо-часа, код работы, количество, цена, сумма) содержит информацию о требованиях клиентов, обратившихся за оказанием услуг станции технического обслуживания.

Атрибуты сущностей могут быть обязательными для заполнения информацией и необязательны.

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

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

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


Существуют следующие типы связей:
  • Связь «один-к-одному» (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот. Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.
  • При связи «один-ко-многим» (1:М) одному экземпляру информационного объекта А соответствует любое количество экземпляров объекта В, но каждый экземпляр объекта В связан не более, чем с одним экземпляром объекта А. Отношения данного типа являются наиболее часто используемыми.
  • Связь «многие-ко-многим» (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует любое количество экземпляров объекта В и наоборот. Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации.

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

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


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

Справочник автомобилей содержит

Справочник работ содержит

Справочник деталей содержит

Справочник количества нормо-часов содержит

Справочник сотрудников содержит


2.6. Ограничения целостности БД

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

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

Ограничения делятся на явные и неявные.

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

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

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

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

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

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

Ограничения на ввод данных в таблицу Spravochnik_Klients:

Код клиента – целое число, которое является уникальным номером, выдается генератором, для каждой новой записи и является обязательным для заполнения. Обязательны для заполнения: фамилия, имя, адрес (кроме номера квартиры), телефон, код автомобиля, тип клиента, серия и номер паспорта. Необязательными для заполнения являются: отчество, номер квартиры, кем выдан паспорт и дата выдачи паспорта.

Ограничения на ввод данных в таблицу Zakaz_nariad:

Код заказ-наряда — уникальный номер, выдается генератором, таким образом сохраняется уникальность данного поля таблицы. Все поля являются обязательными для заполнения. На поле «Сумма» существует ограничение: все значения должны быть положительными.

Все поля таблиц Spravochnik_sotrudnikov, Rasxodnaia_nakladnaia, Prixodnaia_nakladnaia, Spravochnik_avtomobilei, Spravochnik_rabot, Spravochnik_detalei, Zaiavka_na_raboti, Tovarny_chek, Spravochnik_kolichestva_normo_chasov являются обязательными для заполнения.

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

Таблица Nomenklatura_detalei_i_komplektov является справочной и введена в базу данных для поддержания и обеспечения целостности.


    1. Структура программы







Рисунок 2.3. Форма выходного документа заказ-наряд (лицевая сторона)


Р
исунок 2.4. Форма выходного документа заказ-наряд (оборотная сторона)


Рисунок 2.5. Форма выходного документа товарный чек



Рисунок 2.6. Форма документа приходная накладная



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



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



    1. Алгоритмы



2.10. Обоснование выбора СУБД

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

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

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

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

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

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

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

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

Отношения между записями четко контролируются, и несогласованные данные не допускаются.

Строки таблиц могут быть связаны друг с другом одним из трех способов:
  1. Отношение «один к одному» означает, что строка первой таблицы соответствует одной единственной строке второй таблицы.
  2. Отношение «один ко многим» означает ситуацию, когда строка одной таблицы соответствует нескольким строкам другой таблицы. Это наиболее распространенный тип отношений.
  3. При отношении «многие ко многим» строки первой таблицы могут быть связаны с произвольным числом строк во второй таблице.

MySQL является реляционной СУБД. Данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL (Structured Query Language – язык структурированных запросов).

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

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

MySQL, как и многие другие СУБД, функционирует по модели «клиент-сервер».

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

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

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

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

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

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


2.11. Обоснование выбора среды проектирования

Язык PHP создан для решения конкретной практической задачи в среде Internet.

PHP поддерживается почти на всех известных платформах, почти во всех операционных системах и на самых разных серверах.

PHP используется для создания скриптов, работающих на стороне сервера.

PHP-скриптами называются программы, которые выполняются и обрабатываются сервером.

В PHP сочетаются две самые популярные парадигмы программирования – объектная и процедурная.

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

Область применения PHP достаточно обширна и разнообразна.


3 ГЛАВА. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ

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

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

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

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

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

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

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