Автор работы: Пользователь скрыл имя, 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
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 - Обозреватель решений проекта
Созданы следующие формы:
Также были созданы экранные формы для справочников «Заказы», «Детали», «Фурнитура», «Заказчики», «Акты», «Счета», но они здесь не приведены, так как их интерфейс аналогичен интерфейсам справочников «Материалы» и «Планы раскроя» и отличается лишь другими столбцами данных.
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 основывается на исчислении кортежей [14].
Рассмотрим некоторые имеющие место запросы:
select *
from Zakaz
where id_zakaz ='111'
Результат представлен на рисунке 4.2.1:
Рисунок 4.2.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 - Результат запроса поиска заказчика по дате заказа
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.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. Для заполнения доступны все поля, кроме поля «Итого сумма к оплате». Данное поле рассчитывается автоматически после нажатия на кнопку «Рассчитать итоговую сумму».
Информация о работе Разработка концепции, архитектуры построения и платформы реализации ИС