Разработка информационно-поисковой системы
Информационные потребности пользователя, модульная декомпозиция информационно-поисковой системы. Выбор средств разработки, проектирование базы данных, описание входных и выходных данных. Алгоритмы работы программы и модулей, пользовательский интерфейс.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 03.10.2017 |
Размер файла | 742,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
БД |
- база данных |
|
ДЛМ |
- даталогическая модель |
|
ИЛМ |
- инфологическая модель |
|
ИПС |
- информационно-поисковая система |
|
ПК |
- персональный компьютер |
|
ПО |
- программное обеспечение |
|
ПП |
- программный продукт |
|
ПЭВМ |
- персональная электронно-вычислительная машина |
|
СУБД |
- система управления базами данных |
|
ЭРИ |
- электрорадиоизделия |
ВВЕДЕНИЕ
Развитие современной компьютерной техники и программного обеспечения для нее раскрывает широкие возможности для автоматизации различных производственных и обеспечивающих процессов с использованием самых совершенных компьютеров, которые позволяют ускорить и облегчить работу человека, тем самым снизить себестоимость товаров или предоставляемых услуг и повысить их качество.
Данная информационно-поисковая система (ИПС) создавалась для НИИ ВС и СУ МИЭТ, который занимается разработкой радиоэлектронной аппаратуры специального назначения.
Работа НИИ ВС и СУ связана с использованием большого количества отечественных и импортных электрорадиоизделий (ЭРИ). Специфика работы отдела технической документации заключается в подготовке и учете технической и программной документации, как на разрабатываемые блоки аппаратуры, так и на примененные изделия. Постоянно возрастающее число документов (как бумажных, так и электронных), значительные временные затраты на поиск документов в электронном архиве диктуют необходимость создания специализированного информационного хранилища с программным обеспечением для доступа к нему. Кроме того, необходима автоматизация процесса обновления описаний используемых изделий, а также ведение учета покупных изделий и получение информации о наличии ЭРИ в отделе материально-технического снабжения НИИ ВС и СУ.
Именно с этой целью и была создана информационно-поисковая система «Разработка и макетирование».
Предлагаемый к защите дипломный проект посвящен разработке подсистемы администрирования с автоматической регистрацией пользователей, модуля учета изделий на складе и модуля формирования перечней элементов и ведомостей покупных изделий, которые автоматизируют соответствующие этапы работ.
Пояснительная записка к дипломному проекту состоит из четырех разделов и трех приложений [1].
Раздел 1 в составе исследовательской и конструкторской частей содержит описание постановки задачи и информационных потребностей пользователя, модульную декомпозицию ИПС, выбор средств разработки, проектирование базы данных системы, описание входных и выходных данных, алгоритмы работы программы и модулей, иерархию форм пользовательского интерфейса и описание методики тестирования.
Раздел 2 является технологическим разделом и содержит информацию о технологии создания базы данных с использованием IBExpert и технологии экспорта данных с использованием OLE.
В разделе 3 (организационно-экономическом) проводится сегментация рынка с целью определения пользователей, для которых созданный программный продукт может быть наиболее полезен.
Раздел 4 посвящен вопросам безопасности жизнедеятельности при работе за компьютером, описанию требований к рабочему месту программиста и расчету общего освещения.
Приложение 1 включает в себя текст программы.
Приложение 2 - это руководство оператора, входящее в документацию, поставляемую с программой.
Приложение 3 содержит протокол тестирования программы.
1. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
информационный поисковый база данных
1.1 Исследовательская часть
1.1.1 Постановка задачи
Работа любого предприятия, занимающегося разработкой электронной аппаратуры, связана с использованием большого количества отечественных и импортных электро- и радиоизделий (ЭРИ). Ни одно предприятие такого рода не может обойтись без отдела технической документации. Специфика работы данного отдела заключается в подготовке и учете технической и программной документации, как на разрабатываемые блоки аппаратуры, так и на примененные изделия.
Так как при разработке отечественной аппаратуры специального назначения применение импортных изделий ограничено, инженеру необходимо иметь исчерпывающую информацию о разрешенных к применению импортных ЭРИ и полную документацию об уже использованных изделиях.
В основном используются документы двух типов - бумажные и электронные. Бумажные документы порождают электронные (например, сканирование документа) и наоборот, электронные документы порождают бумажные (например, процесс печати документа).
С течением времени количество документов растет, нужный документ трудно найти, а ненужный всегда под руками. Бумажные документы зачастую теряются, а поиск в электронном архиве нужной информации занимает немало времени. Поэтому для быстрого поиска документа необходимо иметь централизованное информационное хранилище и программное обеспечение для доступа к нему.
Труд любого сотрудника можно разделить на две основные составляющие - производительную и обеспечивающую. В зависимости от категории работника и вида деятельности соотношение этих видов деятельности разное, но можно заметить, что при любом раскладе доля обеспечивающей деятельности остается немалой. Операции с бумажными и электронными документами относятся, естественно, к обеспечивающей деятельности и, следовательно, при сокращении времени на эти операции высвобождается время для производительного труда.
Вышеприведенные факты диктуют необходимость использования информационно-поисковой системы, имеющей централизованное хранилище данных, для сбора и быстрого поиска сведений об импортных ЭРИ и электронной аппаратуре.
Одной из организаций, разрабатывающих электронную аппаратуру специального назначения, является НИИ ВС и СУ. За период деятельности НИИ ВС и СУ его работниками был накоплен большой опыт в области разработки и применения отечественных и импортных изделий радиоэлектронной аппаратуры, а также архив технической и программной документации. Для оперативного доступа к имеющейся информации возникла необходимость создания централизованной библиотеки информационных материалов об используемых ЭРИ и области их возможного применения. Кроме того, крайне важно иметь возможность вести учет покупных изделий и знать о наличии ЭРИ в отделе материально-технического снабжения НИИ ВС и СУ. К тому же необходима автоматизация процесса обновления описаний используемых изделий.
Именно эти проблемы должна решать информационно-поисковая система (ИПС) «Разработка и макетирование».
1.1.2 Информационные потребности пользователя
В результате анализа указанных выше проблем были выявлены основные требования, предъявляемые пользователем к системе:
- вход в систему должен быть разрешен всем пользователям, прошедшим аутентификацию в домене локальной сети НИИ ВС и СУ;
- информация об узлах, блоках и изделиях должна накапливаться в каталогах сервера \\Std локальной сети НИИ ВС и СУ и специальной базе данных - быстрый поиск обеспечивается благодаря наличию в ней сведений о связях между информационными материалами, документацией и т.п.;
- должны обеспечиваться ввод, изменение и удаление информации в базе данных и каталогах сервера \\Std;
- должен быть реализован автоматизированный ввод в БД информации об имеющихся в настоящее время документах и их местонахождении из Excel-таблиц и каталогов сервера \\Std;
- должен обеспечиваться просмотр связанных таблиц с информацией об изделиях и элементах с сортировкой по определенным столбцам, поиск информации по реквизитам изделий и элементов и просмотр файлов с документацией (.doc), описаниями импортных ЭРИ (.pdf), электрическими схемами (.lib);
- должно осуществляться автоматизированное формирование ведомостей покупных изделий;
- должен осуществляться мониторинг использования ИПС (кто с какими файлами работал, какие темы изучал и т.п.) с накоплением статистики и последующим анализом и отображением статистической информации об использовании ИПС;
- должен быть реализован автоматический поиск в Интернете и сравнение описаний импортных ЭРИ для замены новой редакцией описания;
- должна быть реализована возможность указания местоположения ЭРИ на складе;
- должен быть реализован механизм формирования заявок (требований) на получение ЭРИ со склада и отказа разработчика от своих заявок;
- должно отражаться движение ЭРИ по складу (приход - расход);
- должен формироваться перечень дефицитных ЭРИ;
- должен осуществляться сбор и отображение статистической информации о поступлении, выполнении и отказе от заявок на конкретные ЭРИ, а также о количестве имеющихся на складе, закупаемых и выдаваемых ЭРИ (за определенные временные периоды - день, неделя, месяц, год).
1.1.3 Модульная декомпозиция ИПС
Исходя из анализа информационных потребностей пользователя целесообразно произвести декомпозицию ИПС на отдельные модули, каждый из которых позволяет решить ту или иную задачу. Основными требованиями, предъявляемыми к декомпозиции, являются независимость модулей друг от друга при сохранении глубокой интеграции между ними и возможность без особого труда добавлять их в работающую систему.
В результате проведения декомпозиции разрабатываемая система была разбита на следующие составные части:
- информационное хранилище - база данных;
- подсистема ввода, поиска и отображения информации об изделиях;
- подсистема администрирования;
- подсистема мониторинга;
- модуль данных;
- модуль автоматического поиска информации;
- модуль учета изделий на складе;
- модуль формирования ведомостей.
Схема взаимодействия компонентов ИПС представлена на рис.1.1.
Модуль данных включает в себя компоненты для работы с базой данных, глобальные переменные и компоненты для обеспечения взаимосвязи между частями системы.
С помощью подсистемы администрирования осуществляется управление учетными записями пользователей системы и системными словарями. Она состоит из модуля автоматической регистрации, модуля управления учетными сведениями о пользователях и модуля импорта. Основными функциями являются:
- определение имени пользователя, работающего на компьютере в данный момент;
- автоматическая регистрация пользователей при входе в систему;
- изменение учетных сведений о пользователях;
- управление системными словарями;
- импорт сведений из информационной базы контроллера домена локальной сети;
- уведомление администратора системы о появлении новых пользователей.
Рис. 1.1. Схема взаимодействия компонентов ИПС
Модуль формирования ведомостей производит автоматизированное формирование перечней элементов и ведомостей покупных изделий, используемых при разработке и макетировании устройств, в виде документов Word (файлов с расширением .doc) по шаблонам установленной формы. Полученные файлы можно использовать как на бумажном носителе, так и в электронном виде.
Модуль учета изделий на складе предоставляет широкий функционал по регистрации и проведению складских операций:
- выдача и поступление изделий;
- подача заявок (резервирование) и аннулирование их;
- ведение журнала операций;
- формирование списка дефицитных изделий;
- выдача информации о доступных на складе изделиях.
1.1.4 Обоснование выбора средств разработки ИПС
В настоящее время программисту предоставляется большой выбор средств разработки и проектирования. В каждом конкретном случае предпочтение отдается тому набору средств, который является наиболее подходящим для решения поставленных задач.
Сравнительные характеристики различных средств разработки приведены ниже.
Характеристика |
Средства и платформы разработки |
||||
Delphi 7 (VCL) |
Access (VB) |
VC++ (MFC) |
VS.NET(.NET) |
||
1. Принцип обработки кода |
компилятор |
интерпретатор |
компилятор |
компилятор |
|
2. Язык |
Object Pascal |
Visual Basic |
C++ |
C# |
|
3. Средства доступа к базам данных |
Компоненты VCL: DataSource, DataTable для различных БД, спец. компоненты для СУБД InterBase |
MDB, ODBC |
ADO |
ADO .NET |
|
4. Разработка многомодульных приложений |
+ |
- |
+ |
+ |
В рамках данного проекта были выбраны:
- средство проектирования баз данных ERwin 4.1;
- СУБД FireBird 1.5;
- среда разработки Delphi 7.
Средство проектирования баз данных ERwin
ERwin сочетает графический интерфейс Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз данных. С помощью ERwin можно создавать или проводить обратное проектирование (реинжиниринг) баз данных [2].
Реализация моделирования в ERwin базируется на теории реляционных баз данных и на методологии IDEF1Х. ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными). Все объекты модели ERwin могут редактироваться средствами, принятыми в Windows, - группировка, копирование, удаление, перемещение, использование системного буфера. Установка цветов и шрифтов осуществляется в удобных диалогах.
ERwin поддерживает прямой интерфейс с основными СУБД: InterBase, FireBird, SQL Server, ORACLE, Progress, Sybase System, а также настольными СУБД: Microsoft Access, FoxPro, dBASE IV и Paradox [2].
Применение ERwin существенно повышает эффективность деятельности разработчиков информационных систем. Основными преимуществами являются:
- существенное повышение скорости разработки за счет мощного редактора диаграмм, автоматической генерации базы данных, автоматической подготовки документации;
- нет необходимости ручной подготовки SQL-предложений для создания базы данных;
- возможность легко вносить изменения в модель при разработке и расширении системы;
- возможность автоматической подготовки отчетов по базе данных; важно, что эти отчеты всегда в точности соответствуют реальной структуре БД;
- разработчики прикладного программного обеспечения снабжены удобными в работе диаграммами;
- тесная интеграция со средствами 4GL позволяет уже на стадии информационного моделирования задавать отображение данных в приложениях;
- обратное проектирование позволяет документировать и вносить изменения в существующие информационные системы;
- поддержка однопользовательских СУБД позволяет использовать для персональных систем современные технологии, что значительно упрощает переход от настольных систем к системам в технологии клиент-сервер.
СУБД FireBird
FireBird является клоном InterBase 6.x в открытых кодах. Его поддержкой и развитием занимается сообщество OpenSource, а распространение проводится по лицензии GNU Public License. FireBird является абсолютно бесплатным продуктом, что является неоспоримым преимуществом для реализации данного проекта. SQL-сервер FireBird предназначен для хранения и обработки больших объемов информации в условиях одновременной работы с БД множества клиентских приложений [3].
Ниже рассматривается ряд технологий FireBird, использование которых обеспечивает максимальную вычислительную разгрузку клиентского приложения и гарантирует высокую степень безопасности и целостность информации [3]:
- отношения подчиненности между таблицами БД путем определения первичных ключей у родительских и внешних ключей у дочерних таблиц;
- ограничения на значения отдельных столбцов; условия ограничений могут быть разнообразны - от требования удовлетворения вводимых значений определенному диапазону или соответствия некоторой маске до требуемого отношения с одной или несколькими записями из другой таблицы БД;
- триггеры - подпрограммы, автоматически выполняемые сервером до и/или после события изменения записи в таблице БД;
- генераторы для создания и использования уникальных значений нужных полей;
- для ускорения работы клиентских приложений с удаленной БД могут быть определены хранимые процедуры, которые представляют собой подпрограммы, принимающие и возвращающие параметры и способные выполнять запросы к БД, условные ветвления и циклическую обработку;
- в составе записи БД могут определяться BLOB-поля(Binary Large Object - большой двоичный объект), предназначенные для хранения больших объемов данных в виде последовательности байтов. Таким образом могут храниться текстовые и графические документы, файлы мультимедиа, звуковые файлы и т.д. Интерпретация BLOB-поля выполняется в приложении, однако разработчик может определить так называемые BLOB-фильтры для автоматического преобразования содержимого BLOB-поля к другому виду;
- FireBird дает возможность создавать пользовательские функции (User Defined Function, UDF), в которых может реализовываться функциональность, отсутствующая в стандартных встроенных функциях FireBird. Функция пишется на любом алгоритмическом языке, позволяющем разрабатывать DLL;
- FireBird может посылать уведомление клиентским приложениям о наступлении какого-либо события. Одновременно работающие приложения могут обмениваться сообщениями через сервер БД, вызывая хранимые процедуры, инициирующие нужные события;
- чтобы ускорить выполнение запросов и освободить клиентское приложение от необходимости такие запросы выдавать, в БД можно определить виртуальные таблицы, или представления, в которых объединяются записи из одной или более таблиц, соответствующих некоторому условию. Поддерживает представление сервер, реагируя на изменение данных в БД.
Среда разработки Delphi 7
Delphi 7 - это мощное средство создания приложений для Windows при помощи языка Object Pascal. Данный язык - комбинация нескольких важнейших технологий [4]:
- высокопроизводительный компилятор в машинный код;
- объектно-ориентированная модель компонент;
- визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
- простота и надежность создания и отладки программы;
- использование всех преимуществ операционных систем Windows2000/XP, включая, многозадачность, удобный интерфейс и прочее;
- использование обработки исключений (exceptions), что позволяет повысить надежность работы программного продукта;
- наличие и доступность большого количества компонент, реализующих многие стандартные функции.
Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Этот компилятор в настоящее время является одним из самых быстрых в мире, его скорость компиляции составляет порядка 200 тысяч строк в минуту. Он предлагает легкость разработки и быстрое время проверки готового программного блока [5].
Объектно-ориентированная модель программных компонент позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует.
Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - Rapid Application Development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL (Visual Component Library) - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE [4].
Отличительной особенностью Delphi является наличие специализированной библиотеки компонент IBExpress для работы с СУБД InterBase/FireBird. Данные компоненты обеспечивают прямой доступ к базе данных без использования ODBC-драйверов [3].
Рассмотрим также возможность применения для организации складского учета программного продукта «1С: Торговля и склад», который является не только механизмом ведения учета и регистрации операций, но и платформой разработки на встроенном языке. Основным инструментом является Конфигуратор. Изучив описание типовой конфигурации, я пришел к выводу, что «1С: Торговля и склад» предоставляет не только весь необходимый функционал, но и имеет ряд дополнительных возможностей. Но существует ряд причин, по которым стоит отказаться от ее использования. В стандартной поставке программа работает с собственной базой данных под управлением драйвера dBase, к которой сложно применять директивы языка SQL, каждая таблица хранится в отдельном файле, индексы таблиц - в других файлах. Соответственно становится необходимым обеспечивать репликацию между базой данных ИПС «Разработка и макетирование» и базой данных «1С: Торговля и склад» в реальном времени, что всегда чревато ошибками синхронизации. Конечно, можно использовать конфигурацию «1С: Торговля и склад» совместно с оболочкой «1С: Предприятие для SQL». В таком случае база данных будет управляться сервером MS SQL Server, поддерживать инструкции SQL. Однако стоимость лицензионной версии такой оболочки очень высока, а покупка «пиратской» - чревата нестабильностью работы и возможной утратой каких-либо функций. Держать же два подобных информационных хранилища не имеет смысла, к тому же одной из задач создания ИПС «Разработка и макетирование» является создание единого централизованного информационного хранилища. Поэтому целесообразнее разработать модуль складского учета для ИПС «Разработка и макетирование» с учетом всей специфики работы предприятия.
1.2 Конструкторская часть
1.2.1 Проектирование БД системы
В БД отражается информация об определенной предметной области. Предметная область - это часть реального мира, представляющая интерес для данного исследования или использования.
Создание инфологической модели (ИЛМ)
Для проектирования структуры БД необходимо иметь исходную информацию (желательно в формализованном виде). Формализованным видом представления информации является инфологическая модель.
Инфологическая модель предметной области - это описание информационных аспектов предметной области, выполненное с помощью специальных языковых средств, не зависящее в дальнейшем от выбранных средств разработки [4].
Все работы, проводимые в НИИ ВС и СУ можно условно разделить на работы с разрабатываемыми изделиями и с примененными в них ЭРИ. Одним из требований технического задания являлась систематизация данных об изделиях и элементах. С этой целью мне потребовалось спроектировать таблицы для хранения информации об изделиях и примененных в них элементах (рис. 1.2 и 1.3).
Идентификатор изделия |
|
Идентификатор темы Идентификатор назначения изделия Шифр изделия Название изделия |
Рис. 1.2. Структура таблицы «Изделия»
Идентификатор элемента |
|
Идентификатор назначения элемента Тип элемента Фирма-изготовитель, страна Основные характеристики Вид исполнения Полные аналоги элемента Рекомендуемая замена Фирмы, у которых можно купить Цена элемента Организация, выдавшая разрешение на использование Номер протокола с разрешением Дата протокола с разрешением Дата регистрации или обновления Комментарий |
Рис. 1.3. Структура таблицы «Элементы»
Так как разработка электронной аппаратуры связана с использованием большого количества электро- и радиоизделий, то эти таблицы должны быть связаны, причем эта связь имеет тип «многие ко многим» (одно изделие может состоять из нескольких элементов и один элемент может быть применен при разработке нескольких изделий) (рис. 1.4).
Рис. 1.4. Связь таблицы «Изделия» и таблицы «Элементы»
Для реализации связи типа «многие ко многим» между таблицами изделий и элементов потребовалось ввести дополнительную таблицу «Элементы_Изделия» (рис. 1.5).
Идентификатор изделия Идентификатор элемента |
|
Рис. 1.5. Структура таблицы «Элементы_Изделия»
В результате связь между таблицами изделий и элементов разбилась на две (рис. 1.6 а, б):
а)
б)
Рис. 1.6. а - связь таблицы «Изделия» и таблицы «Элементы_Изделия»,
б - связь таблицы «Элементы» и таблицы «Элементы_Изделия».
Каждое изделие, разрабатываемое в НИИ ВС и СУ, принадлежит определенной категории и реализует основные характеристики этой категории. Для описания списка функциональных назначений изделий я ввел в рассмотрение таблицу «Категории изделий» (рис. 1.7). Таблицы «Категории изделий» и «Изделия» связаны между собой и имеют связь типа «один ко многим».
Идентификатор назначения изделия |
|
Название категории |
Рис. 1.7. Структура таблицы «Категории изделий»
Каждое изделие разрабатывается в рамках определенной темы одним или несколькими разработчиками. На каждое готовое изделие разработчиками выпускается техническая и программная документация. Для хранения данной информации были спроектированы таблицы «Темы», «Разработчики изделий» и «Документация на изделия» соответственно (рис. 1.8).
Идентификатор темы |
|
Шифр темы Название темы Руководитель Ответственный исполнитель Дата начала Дата окончания |
а)
Идентификатор разработчика |
|
ФИО Пол Дата рождения Должность Подразделение |
б)
Идентификатор документа |
|
Идентификатор изделия Децимальный номер документа Наименование документа Местонахождение файла Код доступа |
в)
Рис. 1.8. Структура таблиц «Темы» (а), «Разработчики изделий» (б) и «Документация на изделия» (в)
Эти таблицы связаны с таблицей «Изделия» и имеют типы связей, изображенные на рис. 1.9.
а)
б)
в)
Рис. 1.9. а - связь таблицы «Изделия» и таблицы «Темы»,
б - связь таблицы «Разработчики изделий» и таблицы «Изделия»,
в - связь таблицы «Документация на изделия» и таблицы «Изделия»
Как разрабатываемые изделия, так и примененные в них элементы тоже принадлежат определенным категориям. Для описания списка функциональных назначений элементов предусмотрена таблица «Категории элементов» (рис. 1.10). Таблицы «Категории элементов» и «Элементы» связаны между собой и имеют связь типа «один ко многим».
Идентификатор назначения элемента |
|
Название категории |
Рис. 1.10. Структура таблицы «Категории элементов»
Все примененные элементы имеют свое описание и электрическую схему. Информация о местонахождении файла с описанием элементов, функциональных электрических схем и др. хранится в специальных таблицах (рис 1.11).
Идентификатор описания элемента |
|
Идентификатор элемента Местонахождение файла Адрес описания элемента Дата обновления описания |
а)
Идентификатор схемы |
|
Идентификатор элемента Местонахождение файла Адрес источника информации Дата обновления информации |
б)
Рис. 1.11. Структура таблиц «Описание элементов» (а) и «Схемы» (б)
Данные таблицы связаны с таблицей «Элементы» и имеют типы связей, изображенные на рис. 1.12.
а)
б)
Рис. 1.12. а - связь таблицы «Элементы» и таблицы «Описание элементов»,
б - связь таблицы «Элементы» и таблицы «Схемы»
Имеющиеся в наличии элементы хранятся в определенном месте на складе. Для ведения складского учета была спроектирована таблица «Места на складе» (рис. 1.13, а), которая связана с таблицей «Элементы» связью типа «многие ко многим». Для обеспечения такой связи создается дополнительная таблица «Места на складе - Элементы».
В ней указываются идентификаторы элемента и места хранения, а также количество элементов, хранящихся в данном месте, и количество зарезервированных элементов для исполнения заявок (рис. 1.13, б).
Идентификатор места |
|
Указатель местоположения |
а)
Идентификатор места Идентификатор элемента |
|
Количество имеющихся элементов Количество зарезервированных элементов |
б)
Рис. 1.13. Структура таблиц «Места на складе» (а) и «Места на складе - Элементы» (б)
Для хранения приходных и расходных ведомостей, заявок на выдачу элементов со склада и фиксаций операций с этими документами предусмотрены таблицы «Ведомости» и «Журнал операций», а также таблицы-словари «Тип ведомости» и «Статус ведомости». В таблице «Ведомости» хранятся сведения о типе и статусе ведомости (идентификаторы соответствующих значений словарей), дате создания и документе-основании (рекурсивная связь), исполнителе и номере ведомости (рис 1.14).
Идентификатор ведомости |
|
Идентификатор типа Идентификатор документа-основания Идентификатор исполнителя Номер ведомости Дата создания Идентификатор статуса Идентификатор места перемещения |
Рис. 1.14. Структура таблицы «Ведомости»
В ведомость включаются элементы, изымаемые или помещаемые на различные места хранения. Для реализации такой трехсторонней связи типа «многие ко многим» была введена дополнительная таблица «Ведомости - Элементы», в которой содержатся идентификаторы ведомости, элемента, его количества и места хранения (рис. 1.15).
Идентификатор ведомости Идентификатор элемента Идентификатор места хранения |
|
Количество элементов |
Рис. 1.15. Структура таблицы «Ведомости - Элементы»
Таблицы-словари «Тип ведомости» и «Статус ведомости» имеют простую структуру, которая включает в себя идентификатор элемента словаря и его значение (рис. 1.16, а, б).
Идентификатор типа ведомости |
|
Тип ведомости |
а)
Идентификатор статуса ведомости |
|
Статус ведомости |
б)
Рис. 1.16. Структура таблиц «Тип ведомости» (а) и «Статус ведомости» (б)
В таблице «Журнал операций» отражаются все операции, производимые со складскими документами - получение, исполнение и аннулирование заявок, проведение и отмена проводок ведомостей.
В ней хранится информация о документе, над которым производилась операция, дате проведения, исполнителе и результате операции (рис. 1.17).
Идентификатор операции |
|
Идентификатор ведомости Идентификатор исполнителя Идентификатор статуса Дата операции |
Рис. 1.17. Структура таблицы «Журнал операций»
Разрабатываемая система является многопользовательской, поэтому для хранения информации о пользователях предусмотрена таблица «Пользователи системы» (рис.1.18). Кроме стандартных учетных сведений («фамилия, имя, отчество», «login», «пароль») в базе данных хранится информация о подразделении, в котором работает пользователь, и о занимаемой должности. Для статистического анализа фиксируется количество входов в систему и дата регистрации пользователя. В процессе автоматической регистрации вырабатывается признак нового пользователя.
Идентификатор пользователя |
|
ФИО пользователя Имя пользователя (Login) Пароль пользователя Должность пользователя Подразделение, в котором работает Код доступа к документам Категория пользователя Дата регистрации Счетчик входов в систему Признак нового пользователя |
Рис. 1.18. Структура таблицы «Пользователи системы»
В разрабатываемой системе предусмотрен механизм разграничения прав доступа пользователей. Он реализуется с помощью определения категории пользователя (роли) и кода доступа к документам. Для последующего варьирования этих параметров (добавление и удаление ролей и уровней доступа) мной были спроектированы таблицы-словари «Роли пользователей» и «Коды доступа к документам» (рис. 1.19).
Идентификатор роли |
|
Описание роли |
а)
Идентификатор кода доступа |
|
Код доступа Описание кода доступа |
б)
Рис. 1.19. Структура таблиц «Роли пользователей» (а) и «Коды доступа к документам» (б)
Данные таблицы связаны с таблицей «Пользователи системы» посредством связи «один ко многим». Кроме того, таблица «Коды доступа к документам» дополнительно связана с таблицей «Документация на изделия».
Следует заметить, что при работе модуля формирования перечней и ведомостей покупных изделий в базе данных формируются дополнительные таблицы. Они являются временными и предназначены для проведения необходимых операций. По окончании работы эти таблицы удаляются из БД.
В результате инфологического моделирования была получена модель, показанная на рис.1.20.
Рис. 1.20. Результат построения инфологической модели
Создание даталогической модели (ДЛМ)
Даталогическая модель - это описание структуры баз, сделанное на языке выбранной СУБД [4]. Выбранной СУБД является Firebird, достоинства которой были рассмотрены ранее. Требования, предъявляемые к системе, полностью можно реализовать с помощью данной СУБД. Она обеспечивает достаточно большое быстродействие на отдельном компьютере и в пределах небольшой локальной сети. ДЛМ является концептуальной моделью БД и представляет собой отражение логических связей между информационными элементами ИЛМ. ДЛМ строится в терминах условных единиц, допустимых в конкретной СУБД. Результат построения даталогической модели представлен на рисунке 1.21.
Рис. 1.21. Результат построения даталогической модели
Результатом даталогического проектирования является схема базы данных. Она включает в себя описание всех полей таблиц с указанием их типов. Схема БД для разрабатываемой системы приведена в таблице 1.1.
Таблица 1.1
Название таблицы |
Описание таблицы |
Название поля |
Тип данных поля |
Описание поля |
|
Designers |
Разработчики готовых изделий |
DBirthDay |
DATE |
Дата рождения разработчика |
|
DDep |
VARCHAR(50) |
Подразделение, в котором работает разработчик |
|||
DName |
VARCHAR(50) |
Фамилия, имя, отчество разработчика |
|||
DPost |
VARCHAR(50) |
Должность разработчика |
|||
DSex |
CHAR(1) |
Пол разработчика (М, Ж) |
|||
IdR |
INTEGER |
Уникальный идентификатор разработчика |
|||
Documents |
Документация на разработанные изделия |
DACL |
INTEGER |
Код доступа к документу - Access Control Level (используется для сравнения с кодом доступа пользователя системы к документам) |
|
DocName |
VARCHAR(100) |
Полное наименование документа |
|||
DocNum |
VARCHAR(100) |
Децимальный номер документа по принятой системе обозначений |
|||
FileDoc |
VARCHAR(100) |
Местонахождение файла с текстом документа на диске |
|||
IdD |
INTEGER |
Уникальный идентификатор документа |
|||
IdI |
INTEGER |
Уникальный идентификатор изделия |
|||
EDescription |
Описание импортного элемента |
ERenewDate |
DATE |
Дата обновления описания импортного элемента |
|
FileLoc |
VARCHAR(100) |
Местонахождение файла с описанием элемента на диске |
|||
FileURL |
VARCHAR(100) |
Адрес описания элемента в Интернете |
|||
IdE |
INTEGER |
Уникальный идентификатор элемента |
|||
IdO |
INTEGER |
Уникальный идентификатор описания элемента |
|||
Elements |
Импортные элементы изделий |
AllowDate |
DATE |
Дата протокола с разрешением на использование/приобретение импортного ЭРИ |
|
AllowOrg |
VARCHAR(100) |
Организация, выдавшая разрешение на использование/приобретение импортного ЭРИ |
|||
Analogs |
VARCHAR(600) |
ЭРИ, являющиеся полными аналогами данного ЭРИ |
|||
IdE |
INTEGER |
Уникальный идентификатор элемента |
|||
IdNE |
INTEGER |
Уникальный идентификатор назначения элемента |
|||
MainValues |
VARCHAR(100) |
Функциональное назначение и основные характеристики ЭРИ |
|||
Performance |
VARCHAR(50) |
Вид исполнения/наличие исполнения millitary |
|||
Price |
DECIMAL(12,2) |
Цена ЭРИ (в У.Е.) |
|||
Producer |
VARCHAR(100) |
Фирма-изготовитель, страна |
|||
ProtocolN |
VARCHAR(20) |
№ протокола с разрешением на использование/приобретение импортного ЭРИ |
|||
RenewDate |
DATE |
Дата регистрации или обновления сведений об ЭРИ |
|||
Replacement |
VARCHAR(100) |
ЭРИ, используемые для замены |
|||
TypeE |
VARCHAR(300) |
Тип примененного импортного электрорадиоизделия (ЭРИ) |
|||
Vendor |
VARCHAR(100) |
Фирмы, у которых можно купить ЭРИ |
|||
Elem_Prod |
Таблица связи «Элементы-Изделия» |
IdE |
INTEGER |
Уникальный идентификатор элемента |
|
IdI |
INTEGER |
Уникальный идентификатор изделия |
|||
ENomination |
Функциональное назначение ЭРИ |
IdNE |
INTEGER |
Уникальный идентификатор назначения элемента |
|
NameNE |
VARCHAR(100) |
Наименование функционального назначения элемента (ЭРИ) |
|||
EScheme |
Электрические схемы ЭРИ |
FileLoc |
VARCHAR(100) |
Местонахождение файла с описанием электрической схемы на диске |
|
FileURL |
VARCHAR(100) |
Адрес источника информации в Интернете |
|||
IdE |
INTEGER |
Уникальный идентификатор элемента |
|||
IdS |
INTEGER |
Уникальный идентификатор электрической схемы импортного элемента |
|||
SRenewDate |
DATE |
Дата обновления электрической схемы импортного элемента |
|||
PNomination |
Функциональное назначение изделия |
IdNI |
INTEGER |
Уникальный идентификатор назначения изделия |
|
NameNI |
VARCHAR(100) |
Наименование функционального назначения изделия |
|||
Products |
Информация о разработанном изделии |
IdI |
INTEGER |
Уникальный идентификатор изделия |
|
IdNI |
INTEGER |
Уникальный идентификатор назначения изделия |
|||
IdT |
INTEGER |
Уникальный идентификатор темы |
|||
PCode |
VARCHAR(100) |
Условное обозначение изделия |
|||
PName |
VARCHAR(100) |
Полное название изделия |
|||
Pr_Designers |
Таблица связи «Изделия-Разработчики» |
IdI |
INTEGER |
Уникальный идентификатор изделия |
|
IdR |
INTEGER |
Уникальный идентификатор разработчика |
|||
StorePlaces |
Места на складе, где находятся импортные ЭРИ |
IdM |
INTEGER |
Уникальный идентификатор места на складе |
|
Place |
VARCHAR(50) |
Указатель местоположения ЭРИ на складе |
|||
SP_Elements |
Таблица связи «Места на складе-Элементы» |
IdE |
INTEGER |
Уникальный идентификатор элемента |
|
IdM |
INTEGER |
Уникальный идентификатор места на складе |
|||
N_Exist |
INTEGER |
Количество имеющихся элементов |
|||
N_Reserved |
INTEGER |
Количество зарезервированных элементов |
|||
Themes |
Темы выполненные или выполняемые |
FinishDate |
DATE |
Дата окончания выполнения темы |
|
IdT |
INTEGER |
Уникальный идентификатор темы |
|||
StartDate |
DATE |
Дата начала выполнения темы |
|||
TChief |
VARCHAR(50) |
Руководитель темы |
|||
TCode |
VARCHAR(50) |
Условное обозначение темы |
|||
TName |
VARCHAR(100) |
Полное название темы |
|||
TRuler |
VARCHAR(50) |
Ответственный исполнитель темы |
|||
Users |
Пользователи системы |
UCount |
INTEGER |
Счетчик входов пользователя в систему |
|
IdU |
INTEGER |
Уникальный идентификатор пользователя системы |
|||
Login |
VARCHAR(20) |
Имя пользователя системы |
|||
UPassword |
VARCHAR(20) |
Пароль зарегистрированного пользователя для входа в систему |
|||
RegDate |
DATE |
Дата регистрации пользователя системы |
|||
URole |
INTEGER |
Роль пользователя |
|||
UACL |
INTEGER |
Код доступа пользователя к документам |
|||
UDep |
VARCHAR(50) |
Подразделение, в котором работает пользователь |
|||
UName |
VARCHAR(50) |
Фамилия, имя, отчество пользователя системы |
|||
UPost |
VARCHAR(50) |
Должность пользователя системы |
|||
N_New |
INTEGER |
Признак нового пользователя |
|||
Dict_ACL |
Коды доступа |
N_ACL_Id |
INTEGER |
Уникальный идентификатор кода доступа |
|
N_ACL_Code |
INTEGER |
Децимальное обозначение кода доступа |
|||
VC_ACL_Name |
VARCHAR(30) |
Описание кода доступа |
|||
Dict_Role |
Роли пользователей |
N_Role_Id |
INTEGER |
Уникальный идентификатор роли пользователя |
|
VC_Role |
VARCHAR(30) |
Описание роли пользователя |
|||
Orders_Type |
Тип ведомости |
N_Order_Type_Id |
INTEGER |
Уникальный идентификатор типа ведомости |
|
VC_Order_Name |
VARCHAR(30) |
Тип ведомости |
|||
States_Type |
Статус ведомости |
N_State_Id |
INTEGER |
Уникальный идентификатор статуса ведомости |
|
VC_State_Name |
VARCHAR(30) |
Статус ведомости |
|||
Orders |
Ведомости |
N_Order_Id |
INTEGER |
Уникальный идентификатор ведомости |
|
N_Order_Type_Id |
INTEGER |
Уникальный идентификатор типа ведомости |
|||
N_Parent_Id |
INTEGER |
Уникальный идентификатор документа-основания |
|||
IdU |
INTEGER |
Уникальный идентификатор исполнителя |
|||
N_Order_Num |
INTEGER |
Децимальный номер ведомости |
|||
DA_Order_Date |
DATE |
Дата создания ведомости |
|||
N_State_Id |
INTEGER |
Уникальный идентификатор статуса ведомости |
|||
N_Source_IdM |
INTEGER |
Идентификатор места перемещения (для документа «перемещение по складу») |
|||
Orders_Elem |
Таблица связи «Ведомости - Элементы» |
N_Order_Id |
INTEGER |
Уникальный идентификатор ведомости |
|
IdE |
INTEGER |
Уникальный идентификатор элемента |
|||
IdM |
INTEGER |
Уникальный идентификатор места хранения |
|||
N_Ordered |
INTEGER |
Количество элементов |
|||
Orders_Log |
Журнал операций |
N_Log_Id |
INTEGER |
Уникальный идентификатор записи журнала |
|
N_Order_Id |
INTEGER |
Уникальный идентификатор ведомости |
|||
IdU |
INTEGER |
Уникальный идентификатор исполнителя |
|||
N_State_Id |
INTEGER |
Уникальный идентификатор статуса ведомости |
|||
DA_Log_Date |
DATE |
Дата совершения операции |
Ограничения целостности
Ограничения целостности - это условия, при которых имеют смысл значения, хранящиеся в БД. Ограничения целостности для разрабатываемой системы определяются как типами данных, выбранными при проектировании даталогической модели, так и имеющимися связями между таблицами. Они обеспечиваются автоматически системой после создания базы и при внесении изменений в нее.
1.2.2 Структура входных и выходных данных
При запуске программы происходит определение имени пользователя (login), работающего на компьютере в данный момент. Входными данными для автоматической регистрации будут сведения об аутентификации Windows. Для экспорта данных в подсистему администрирования используется информация, получаемая с контроллера домена локальной сети. Для добавления или изменения сведений о пользователях заполняются экранные формы. Выходными данными являются роль, код доступа и login пользователя (поступают на вход подсистем ввода, поиска и отображения информации и мониторинга), а также информация, записываемая в БД или выводимая на дисплей. Для модуля формирования ведомостей входными данными служат файлы P-CAD и сведения об изделиях. Результат работы отображается на экране или формируется в виде документов Word. Для организации учета изделий на складе принимается информация из заполненных экранных форм, заявок на получение ЭРИ и Excel-таблиц. Выходными данными для этого модуля будут требуемые регламентные документы (список доступных изделий, перечень дефицитных ЭРИ, приходные и расходные ведомости), а также сведения, отображаемые на экране или записываемые в БД. Схема потоков входных и выходных данных изображена на рис.1.22.
Рис.1.22. Схема потоков входных и выходных данных
1.2.3 Алгоритмы работы программы
При запуске программы производится считывание настроек программы из файла конфигурации (ini-файла): путь к базе данных, настройки инструментария администратора и списка доступных категорий элементов и изделий. Далее проводится попытка подключения к базе данных. Если попытка не увенчалась успехом, выдается сообщение об ошибке и работа программы завершается. В противном случае запускается процедура авторегистрации, которая определяет имя учетной записи пользователя...
Подобные документы
Общее описание информационно–справочной системы, предназначенной для контролирования работы промоутеров. Описание входных и выходных данных. Проектирование интерфейса пользователя. Выбор стратегии разработки тестов. Поиск информации, просмотр отчётов.
курсовая работа [3,6 M], добавлен 27.07.2014Выбор состава технических и программных средств разработки системы. Описание входных и выходных данных. Выбор модели базы данных. Разработка подсистемы наполнения базы данных, формирования отчетов. Разработка интерфейса пользователя, тестирование системы.
курсовая работа [3,7 M], добавлен 04.12.2014Возможности программы DBDesigner. Проектирование и реализация информационно-поисковой системы с помощью CASE-средства DBDesigner в среде Intranet. Этапы проектирования базы данных, установление соединения с базой данных на сервере, синхронизация.
лабораторная работа [1,5 M], добавлен 18.08.2009Совместимость и преобразование типов данных. Создание информационно-поисковой системы на языке программирования Паскаль. Описание интерфейса, каждого блока программы "Картотека больных". Рассмотрение результатов работы программы, сортирования данных.
курсовая работа [368,9 K], добавлен 18.05.2015Автоматизация и визуализация рабочего места методиста факультета, работающего с личными делами студентов. Создание базы данных и ограничений. Интерфейс пользователя и порядок работы с программным обеспечением. Разработка справки и контекстной помощи.
курсовая работа [867,3 K], добавлен 22.02.2016Разработка web-приложения для оперирования данными с помощью базы данных и web-браузера в качестве клиента пользователя. Основные преимущества языка программирования Java. Осуществление редактирования, добавления информации и поиска по архивам данных.
дипломная работа [2,1 M], добавлен 30.09.2016Анализ существующих поисковых систем и используемых ими алгоритмов поиска документов. Разработка информационно-поисковой системы словарного типа, способной осуществлять релевантный поиск документов, особенности ее структуры и информационно-поисковой базы.
дипломная работа [942,1 K], добавлен 19.05.2011Разработка программы для автоматизации расчетов на телефонной станции. Описание входной и выходной информации, комплекс технических средств. Интерфейс конечного пользователя. Проектирование программных модулей представления входных и выходных данных.
курсовая работа [460,1 K], добавлен 26.06.2015Разработка информационной системы на языке программирования С++ в среде С++Builder. Схема базы данных. Характеристика энергосберегающих режимов операционной системы. Интерфейс программы, ее установка на компьютер, выполнение, средства и порядок испытания.
отчет по практике [986,2 K], добавлен 06.02.2016Анализ информационно-поисковых систем автоматизации производства. Построение инфологической и логической модели базы данных технологического оборудования для сборочно-монтажных работ. Выбор языка программирования приложения БД. Алгоритм работы программы.
дипломная работа [2,5 M], добавлен 18.12.2013Разработка база данных в виде таблицы, включающей поля: ФИО, адрес, номер телефона, наименование услуги, сумма оплаты, срок выполнения. Процедуры программы и соответствующие им пункты в меню. Описание исходных данных, интерфейса и работы каждой процедуры.
курсовая работа [997,3 K], добавлен 08.06.2014Описание входной и выходной информации. Требования к комплексу технических средств и к интерфейсу конечного пользователя. Разработка форм представления входных и выходных данных. Проектирование программных модулей. Руководство пользователя и программиста.
курсовая работа [421,6 K], добавлен 27.06.2015База данных как компьютеризованная система, предназначенная для хранения информации и предоставления ее по требованию. Описание предметной области для проектирования и организации базы учета данных готовой продукции и сопровождения ее программой.
дипломная работа [1,0 M], добавлен 19.05.2011Описание и классификация современных информационно–поисковых систем. Гипертекстовые документы. Обзор и рейтинги основных мировых поисковых систем. Разработка информационно–поисковой системы, демонстрирующей механизм поиска информации в сети Интернет.
дипломная работа [1,3 M], добавлен 16.06.2015Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Возможности программы DBDesigner. Моделирование, сопровождения информационных систем. Проектирование базы данных. Кодирование, установление соединения с базой данных на серввере. Синхронизация, запросы для внесения изменений и операций над данными.
лабораторная работа [1,4 M], добавлен 26.08.2009Проектирование алгоритмов и программных кодов для различных элементов пользовательских форм информационно-аналитической системы. Исследование структуры базы данных. Связь между таблицами. Разработка графического интерфейса программы и справочной системы.
курсовая работа [2,4 M], добавлен 10.01.2015Проектирование информационно-поисковой системы "Цветы" для решения задач, связанных с предоставлением услуг по оформлению и доставке заказов букетов и композиций. Разработка объектов базы данных - транзакций, представлений, хранимых процедур и запросов.
курсовая работа [4,2 M], добавлен 26.11.2011Описание входных и выходных данных. Общая характеристика и требования к проектируемой программе, ее структуре и функциональным компонентам. Выбор и обоснование средств разработки, разработка интерфейса пользователя. Требования к программному обеспечению.
курсовая работа [1,4 M], добавлен 12.05.2016Разработка базы данных при помощи системы управления базами Microsoft Access. Определение состава выходных и входных данных, их математическое выражение и информационно-логическая модель. Разработка блок-схемы алгоритма и таблиц в режиме "Конструктор".
курсовая работа [2,8 M], добавлен 12.11.2013