Разработка концепции, архитектуры построения и платформы реализации ИС

Автор работы: Пользователь скрыл имя, 13 Ноября 2013 в 22:02, курсовая работа

Краткое описание

В данной работе будет представлен проект информационной системы «Автоматизированная информационная система предприятия по изготовлению корпусной мебели» (кратко «АИС Корпусная мебель»). Основное назначение «АИС Корпусная мебель» - автоматизация работы предприятия ОАО «КорпСбор», изготавливающего корпусную мебель.

Содержание

ВВЕДЕНИЕ 4
1 Предпроектный анализ объекта автоматизации 5
1.1 Описание предметной области 5
1.2 Функции и организационная структура 6
1.3 Описание потоков данных и бизнес процессов 7
1.4 Обзор и анализ существующих проектных решений, выявление их достоинств и недостатков 19
1.5 Обоснование необходимости разработки информационной системы 20
2 СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ ИС 22
2.1 Разработка концепции, архитектуры построения и платформы реализации ИС 22
2.2 Структура информационной системы, состав функциональных и обеспечивающих подсистем 25
2.3 Техническое обеспечение ИС 28
3 ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ 30
3.1 Описание концептуальной модели информационной базы 30
3.2 Описание логической структуры информационной базы 32
3.3 Описание физической реализации БД 36
4 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ИС 41
4.1 Описание структуры программного обеспечения 41
4.2 Алгоритмизация типовых информационных запросов 43
4.3 Описание пользовательского интерфейса 48
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 56
ПРИЛОЖЕНИЕ А 58
ПРИЛОЖЕНИЕ Б 68

Прикрепленные файлы: 1 файл

Курсовой.docx

— 2.91 Мб (Скачать документ)

 

4 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ИС

4.1 Описание структуры программного обеспечения

Программа будет проектироваться  по клиент-серверной архитектуре  с использованием модульного принципа проектирования. В качестве сервера  баз данных будет выступать СУБД Oracle 11g. Применение данной системы не требует затрат, так как используется бесплатная версия.

Oracle Database 11g помогает снизить затраты на информационные технологии и повысить качество услуг за счет консолидации в облака баз данных и готовые системы, например, Oracle Exadata и Oracle Database Appliance. Это быстрая, надежная, безопасная и легкая в управлении система, подходящая для выполнения всех задач, связанных с базами данных, в том числе с приложениями для предприятий, банками данных и анализом крупных объемов данных. Oracle Exadata — это единственная машина баз данных, которая обеспечивает высочайшую производительность как для банков данных, так и онлайн-обработки транзакций, что делает ее идеальной платформой для консолидации связанных с базами данных смешанных нагрузок в частные облачные среды.

Oracle Database 11g предлагает экономически выгодное управление хранением данных благодаря автоматизации процессов, минимизации дорогостоящих операций ввода/вывода, сжатию данных и максимальному использованию многоуровневой системы хранения данных для всех баз данных вашего предприятия.

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

Для реализации клиентской части приложения будет применена среда разработки Microsoft Visual Studio 2010. Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server)[12].

На рисунке 4.1 представлена структура проекта Microsoft Visual Studio 2010.

Рисунок 4.1 - Обозреватель решений проекта

Созданы следующие формы:

    • KorpSbor.cs – экранная форма главного окна программы;
    • Spravochnik.cs – экранная форма справочника материалов;
    • Zakaz.cs – экранная форма создания заказа;
    • Plan_raskroya.cs – экранная форма справочника планов раскроя;
    • Plan_postr.cs – экранная форма диалогового окна после построения плана раскроя.

Также были созданы экранные формы для  справочников «Заказы», «Детали», «Фурнитура», «Заказчики», «Акты», «Счета», но они  здесь не приведены, так как их интерфейс аналогичен интерфейсам  справочников «Материалы» и «Планы раскроя» и отличается лишь другими  столбцами данных.

4.2 Алгоритмизация  типовых информационных запросов

4.2.1 Алгоритм реализации раскроя. Для построения планов раскроя использовался модифицированный метод Нелдера-Мида с использованием генетического алгоритма.

Данный метод (далее –  алгоритм)  используется   для получения плотной   упаковки   k  прямоугольников на   шаге 2 генетического алгоритма.  Дано  k – число  прямоугольников. Для описания взаимного  расположения  прямоугольников  на   плоскости  будем  использовать   2k -мерное  пространство. Координаты центров прямоугольников будем интерпретировать   как точку 2k -мерного пространства.

Для  применения  алгоритма  Нелдера- Мида важнейшими   шагами  являются выбор начальной  точки и  критерий преобразования симплекса. В  алгоритме, изложенном  ниже,  предложен   новый способ выбора  начальной  точки, который   позволяет  двигаться  к  решению   не   выходя  за   пределы построенной допустимой  области  в   пространстве   размерности  2k+2.  Сложность   выбора критерия   преобразования   симплекса   связана  с  необходимостью  предотвратить преждевременную   остановку  алгоритма  из - за   попадания  симплекса   в  локальный   минимум.

Шаг 1.  Построение  правильного симплекса   в   пространстве   размерности 2k + 2.  При   построении   симплекса   используем   свойство,  что проекция   любой   его вершины   на   противоположную   грань совпадает с центром масс  этой   грани.

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

Шаг 3.  Построение  ограничений  для  расстояний   между   центрами прямоугольников  и  сторонами   полосы (для  каждого   прямоугольника   со   всеми сторонами). Эти ограничения преобразуем в ограничения  пространства   2k+2, как  это  было описано  на   предыдущем  шаге.

Шаг 4. Поиск  максимальной  и  минимальной   высоты  полосы.

Шаг 5. Вычисление  текущей   высоты  полосы  как  среднего значения между  максимальной  и  минимальной   высотой  полосы.

Шаг 6.  Вписываем   правильный  симплекс  в   сферу   радиуса . Увеличиваем размер допустимой  области  путем  сдвига  ограничений  на  R.

Шаг 7.  Вычисляем   целевую   функцию   для  каждой  вершины   симплекса. Целевая функция   C – расстояние   от   вершины   до  ограничений.  По  построению точка не   нарушает  ограничение,  если   значение   целевой функции   отрицательно  (чем   меньше  значение   целевой  функции,  тем   оно   ближе   к искомому решению).  Уменьшаем размер   допустимой  области на   величину,  равную модулю  целевой функции,  умноженному   на   коэффициент   Q.

Шаг 8.  Сортировка  вершин  симплекса   в   зависимости от   значения   целевой функции   от   максимальных к минимальным   значениям.

Шаг 9.  Отражаем  i- ую  вершины   симплекса   относительно   своей противоположной   грани   и получаем  точку I. Если  значение   целевой функции для точки I строго   отрицательно   и разность   между   целевой функцией  и сдвигом   меньше  ε (чем меньше  ε,  тем   точнее   работа   алгоритма),  то   решение найдено.

Шаг 10.  Если  значение   целевой  функции   в   точке I отрицательно   и i- ая вершина   симплекса   не   была  получена   из   точки  I  на   предыдущем преобразовании    симлекса   и выполнено   хотя   бы  одно  из   следующих   условий 1 или 2,  то   тогда i-ая   вершина   симплекса   заменяется   своей  противоположной  точкой   и осуществляется   переход  на   Шаг 8.

Шаг 11.  Если  длина   ребра  симплекса   больше  ε,  то   переход на   Шаг 7.  В противном   случае   решение   не   может   быть  найдено и алгоритм   завершает работу.

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

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

Шаг 2.  Выбираем  текущую   высоту  как среднее значение   между   минимальной и максимальной  высотой.

Шаг 3.  Находим   точку внутри   допустимой  области.

Шаг 4.  Если допустимая  область существует,  то  максимальную  высоту  делаем  текущей,  иначе минимальную высоту  делаем   текущей.  Если  разность   между минимальной   и максимальной  высотой   больше  некоторого   числа ε,  переходим на   Шаг 2, в   противном   случае   алгоритм   завершает свою  работу.

Следует  также   заметить,  что для увеличения   скорости   работы  алгоритма можно   увеличить допустимую  область.  Для этого необходимо  увеличить ширину  полосы (например,  на  1-3%),  а  ширину  прямоугольников  уменьшить  (на  1-2%).  Далее  алгоритм   уплотнения   упаковки,  используя реальные   размеры полосы,  прямоугольников и данные  о   взаимном  расположении прямоугольников,  проверяет возможность   данной  упаковки.  Если  такая упаковка   возможна,  то   решение   найдено.  Если  увеличение   ширины  полосы  и уменьшение  ширины  прямоугольников приводят   к невозможности   реализации  такой упаковки,  то   упаковку   необходимо  проводить с исходными   данными[13].

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

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

Рассмотрим  некоторые имеющие место запросы:

    1. Вывести заказ по его номеру:

select *

from Zakaz

where id_zakaz ='111'

Результат представлен на рисунке 4.2.1:

Рисунок 4.2.1 - Результат  запроса поиска заказа по его номеру

    1. Вывести ФИО и адрес заказчика по дате заказа:

select zk.id_zakazchik, zk.FIO, zk.Adress

from Zakazchik zk, Zakaz z

where z.Date_invite ='25.12.2012'

AND zk.id_zakaz= z.id_zakaz

Результат представлен на рисунке 4.2.2:

Рисунок 4.2.2 - Результат запроса поиска заказчика по дате заказа

    1. Вывести детали по дате заказа:

select d.*

from Detali d,Zakaz z

where z.Date_invite ='25.12.2012'

AND d.id_zakaz= z.id_zakaz

Результат представлен на рисунке 4.2.3:

Рисунок 4.2.3 - Результат запроса поиска детали по дате заказа

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

4.3 Описание пользовательского интерфейса

Пользовательский  интерфейс представлен в виде иерархии форм.

 

В начале работы пользователь видит окно, представленное на рисунке 4.3. Соответствии с техническим  заданием (приложение А), в АИС «КорпСбор» существует разграничение доступа  на уровне функций. Поэтому, при работе с программой пользователь должен выбрать  отдел, в котором он работает и  далее ввести пароль (окно ввода  пароля представлено на рисунке 4.4). Работникам административного отдела доступны все функции, работникам производственного  не доступно изменение заказа, справочных данных заказчика, а также счетов и актов о выполнении работ.

Рисунок 4.3 – Выбор  отдела пользователя

Рисунок 4.4 - Окно ввода  пароля

 

При неправильном вводе пароля форма ввода открывается заново. При успешном вводе пароля открывается  главное окно программы, представленное на рисунке 4.5.

Рисунок 4.5 - Главное  окно программы

В меню заказ можно создать  новый заказ или открыть список всех заказов. По команде невыполненные  открываются те заказы, для которых  еще нет даты акта выполнения.

Рисунок 4.6 - Меню "Заказ"

При нажатии на «Создать»  пользователь видит форму создания заказа, представленную на рисунке 4.7.

Рисунок 4.7 - Создание нового заказа

Кнопка «Экспорт» используется, чтобы экспортировать данные о заказе в Microsoft Word для последующей их печати.

При нажатии  на кнопку «Сохранить» внесенные  изменения сохраняются без выхода из формы ввода, при нажатии на кнопку «ОК» происходить сохранение и выход, при нажатии на кнопку «Отмена» - выход без сохранения изменений.

Вкладки «Заказчик», «Счет» и «Акт» имеют аналогичную  вкладке «Заказ» структуру.

Вкладка «Детали» используется для внесения данных по деталям для  данного заказа и представлена на рисунке 4.8. Вкладка «Материалы»  имеет ту же структуру.

При нажатии на кнопку «Рассчитать  план раскроя» появляется окно с результатами расчета. На на рисунках 4.9-4.11 представлен план раскроя для заказа 111. Программа автоматически выполняет раскладку на листы. Вкладки соответствуют листам. Учитывается материал каждого листа.

 

Рисунок 4.8 - Добавление новых деталей в заказ

Рисунок 4.9 - План раскроя

Рисунок 4.10 - План раскроя. Лист 2

Рисунок 4.11 - План раскроя. Лист 3

При нажатии на кнопку «Сохранить остаток  как новый лист» выполняется  добавление в справочник «Материалы»  нового листа с размерами, соответствующими размерами остатка. Номер новому материалу присваивается автоматически. При нажатии на кнопку «Печать» появляется диалоговое окно печати изображения плана раскроя. При нажатии на кнопку «Сохранить» план раскроя и текст с данными о раскрое экспортируется в Microsoft Word. Все созданные планы раскроя хранятся в базе данных в соответствующем справочнике.

На  вкладке «Счет» производится расчет итоговой суммы заказа. Интерфейс  вкладки «Счет» представлен на рисунке 4.12. Для заполнения доступны все  поля, кроме поля «Итого сумма к  оплате». Данное поле рассчитывается автоматически  после нажатия на кнопку «Рассчитать  итоговую сумму».

Информация о работе Разработка концепции, архитектуры построения и платформы реализации ИС