1.1.1 Общие принципы ситуационного управления

Охарактеризуем кратко общие принципы работы ситуационного управления [1]. Общая схема ситуационного управления иллюстрируется Рис.1. Описание текущей ситуации, сложившейся на объекте управления, дается на вход Анализатора. Его задача состоит в оценке сообщения и определении необходимости вмешательства системы управления в процесс, протекающий в объекте управления. Если текущая ситуация не требует такого вмешательства, то Анализатор не передает ее на дальнейшую обработку. В противном случае описание текущей ситуации поступает в Классификатор. Используя информацию, хранящуюся в нем, Классификатор относит текущую ситуацию к одному или нескольким классам, которым соответствуют одношаговые решения. Эта информация подается в Коррелятор, в котором хранятся все логико-трансформационные правила (ЛТП). Список ЛТП задает возможности системы управления воздействовать на процессы, протекающие в объекте управления. Коррелятор определяет то ЛТП, которое должно быть использовано. Если такое правило единственное, то оно выдается для использования. Если же таких правил несколько, то выбор лучшего из них производится после обработки предварительных решений в Экстраполяторе, после чего выдается решение о воздействии на объект. Если Коррелятор или Классификатор не могут принять решения по поступившему описанию текущей ситуации, то срабатывает Блок случайного выбора и выбирается одно из воздействий, оказывающих не слишком большое влияние на объект.

Такие системы управления должны быть неизбежно открытыми. Они должны иметь возможность корректировать свои знания об объекте и методах управления им. В работе такой системы управления имеется два этапа:

1) этап обучения и настройки и 2) этап работы. На первом этапе собираются и обобщаются данные от технологов и формируются классы ситуаций и ЛТП. На втором этапе неизбежно проводится дообучение системы управления.


Рис.1. Общая схема ситуационного управления
1.1.2 Применения ситуационного управления

Принципы ситуационного управления нашли широкую сферу применения. Приведем некоторые примеры практических разработок, в которых использовались принципы ситуационного управления [1]:

Оперативное диспетчерское управление погрузочно-разгрузочными работами в морском порту (Одесса, Калининград).

Оперативное управление перемещением по буровым специальных установок для производства тампонажных работ и буровых установок по пунктам бурения (Грозный).

Комплекс задач АСУ гражданской авиации (Рига).

Оперативное управление производственными участками на приборостроительных предприятиях (Устинов).

Оперативная диагностика заболеваний и назначение лечения (Баку).

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

Прототипами системы управления производством партий в ОАО Ангстрем могут быть активно разрабатываемые в настоящее время за рубежом перспективные автоматизированные системы управления производственными процессами, Manufacturing executing systems (фирма Consilium и др.) [9,10] и системы диспетчерского управления и сбора данных (SCADA - системы). Эти системы кратко характеризуются в следующих разделах.


1.2 Manufacturing executing systems - перспективные автоматизированные системы управления производственными процессами

 

1.2.1 Общая характеристика MES-систем

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

MES-системы представляют собой компьютерно-сетевые архитектуры (Рис.2,3), способствующие эффективному управлению производственным процессом [9]. MES-системы предоставляют информацию, которая обеспечивает оптимизацию производства продукции от стадии заказа до выпуска конечной продукции. Используя точный сбор текущих данных, MES-система динамически отслеживает весь производственный процесс: инициирует операции, при необходимости оперативно вмешивается в процесс и ведет сбор данных об этом процессе. Функционирование MES-системы обеспечивает оперативное отслеживание постоянно меняющихся условий и устранение лишних затрат. MES-система осуществляет необходимое информационное обеспечение для управления производством в интерактивном режиме.

MES-системы разрабатываются рядом фирм. Фирмы объединены в ассоциацию MESA. Эти фирмы изготовляют различные наборы программных продуктов, в соответствии с требованиями предприятий-заказчиков.

  1.2.2 Блоки MES-систем

Различают 11 типов блоков, из которых может быть изготовлена конкретная MES система для того или иного производства. Перечислим эти блоки:

Составление расписания операций (Operations/Detail Scheduling) - установление временной последовательности действий для рассматриваемого производственного процесса на данном предприятии при заданных ресурсах. Составление расписания подразумевает определенную оптимизацию производственного процесса;

Распределение ресурсов и слежение за ресурсами (Resource Allocation and Status) - распределение заданий персоналу, машинам и установкам и отслеживание того, что они делают сейчас, и того, что они только что сделали;

Диспетчеризация элементов производства (Dispatching Production Units) - подача команд для транспорта материалов или заказов на определенные участки завода для того, чтобы начать какие-либо процессы или действия;

Управление документооборотом (Document Control) - управление информацией и распределение информации о продуктах, процессах, установках и т.д.;

Отслеживание генеалогии продуктов (Product Tracking and Genealogy) - мониторинг прогресса развития создаваемых продуктов и партий, осуществляемый с целью отслеживания полной истории изготавливаемых на заводе продуктов;

Анализ эффективности производства (Performance Analysis) - сравнение результатов завода с метриками, устанавливаемыми корпорацией, потребителями и организациями, регулирующими рыночные отношения;

Управление персоналом (Labor Management) - управление использованием персонала с точки зрения квалификации, распределения обязанностей и потребностей производства;

Управление оборудованием (Maintenance Management) - планирование и выполнение работ по поддержке работоспособности установок и другого оборудования в соответствии с производственными целями завода;

Управление текущими производственными процессами (Process Management) - управление потоком работ на заводе в соответствии запланированными и текущими процессами;

Управление качеством (Quality Management) - отслеживание и анализ характеристик продуктов и сопоставление их с желаемым идеалом;

Сбор и обработка данных (Data Collection/Acquisition) - мониторинг, обработка и упорядочивание данных о процессах, материалах и операциях, получаемых от персонала, машин и систем управления.

 

1.2.3 Достоинства MES-систем

Практика применения MES-систем демонстрирует следующие их достоинства:

уменьшение длительности производственного цикла, в среднем на 45%;

сокращение времени ввода (entry time), на 75% или больше;

уменьшение незавершенного производства (НЗП), на 24%;

уменьшение бумажного документооборота между сменами, в среднем на 61%;

сокращение времени проектирования (lead time), в среднем на 27%;

уменьшение работы с бумажной документацией и потерь на копировальные работы, в среднем на 56%;

уменьшение дефектности производимой продукции, в среднем на 18%.

  1.2.4 Перспективы развития MES-систем

Перспективы развития MES-систем связаны с общими тенденциями развития компьютерных сетей. Программные продукты MES-систем пишутся на объектно-ориентированных языках. Имеется определенная тенденция к использованию MES-систем в географически распределенных предприятиях (при этом производитель становится как бы ближе к заказчику и к субподрядчикам) на основе использования передовых достижений компьютерно-сетевых технологий (Рис.2,3). В США сформирован поддерживаемый государством консорциум Solution for MES-Adaptable Replicable Technology (NIIIP/SMART), который предназначен для разработки стандартов для создания инфраструктуры распределенных предприятий будущего.

Рис.2. Современная компьютерно-сетевая архитектура MES - системы

API - интерфейс прикладного программирования.

Application - пользовательское приложение.

Data Model - модель представления данных.

Data Communications - передача данных.

Database - база данных.


Рис.3. Схема, иллюстрирующая перспективные тенденции развития MES-систем

Object Model - объектная модель.

Object Request Broker - обработчик запросов.

FireWall - система защиты от несанкционированного доступа.

API - интерфейс прикладного программирования.

Application - пользовательское приложение.

1.3 Выводы

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

В настоящее время интенсивно развиваются компьютеризированные системы управления производственными процессами. Более того, предприятия, не использующие современные технологии, рискуют оказаться в роли "вечно отсталых" и, в конечном итоге, могут не выдержать рыночной конкуренции. Поэтому можно с уверенностью сказать: разработка АСУПП на ОАО "Ангстрем" необходима. При разработке такой системы целесообразно использовать подходы, методы и принципы построения ситуационных систем управления, принципы создания современных компьютерно-сетевых MES-систем и SCADA-систем.


2. Постановка задачи

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

 

2.1 Введение в предметную область. Анализ работы цехов ОАО Ангстрем

В этом разделе производится анализ существующей системы управления производством партий ОАО Ангстрем.

 

2.1.1 Особенности технологического цикла производства партий пластин

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

 

2.1.1.1 Изделия, партии, технологические маршруты, маршрутные листы

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

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

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

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

Каждому изделию ставится в соответствие индивидуальный технологический маршрут. В пределах одного изделия все партии имеют одинаковый маршрутный лист. Элементарная единица управления - партия, т.е. система управления отслеживает прохождение каждой партии по маршруту. Партий, представляющих конкретное изделие (изготавливаемых по данному маршруту), может быть много (до 500). Номер партии пластин составляется из номера изделия и номера партии в пределах изделия (рис.4).



Рис.4. Схема нумерации партий

 

2.1.1.2 Регистрация процесса производства партий пластин

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

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

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

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

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

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

 

2.1.1.3 Незавершенное производство

Важное понятие, характеризующее производственный процесс - незавершенное производство (НЗП).

Незавершенное производство - это продукция (партии кремниевых пластин), не прошедшая до конца весь технологический цикл.

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

Большая величина НЗП связана с тем, что административный персонал цеха и завода, желая увеличить загрузку оборудования, вводит в производственный процесс все новые и новые партии. При этом уже обрабатываемые партии скапливаются в "узких местах" производственного процесса, что создает "рецидивы" накопления НЗП.


2.1.2 Общая схема управления


Рис.5. Общая схема управления

 

2.1.3 Задержки в транспорте и обработке партий пластин

В данное время существует много задержек в транспорте и обработке партий. Эти задержки можно разделить на следующие группы:

обеденные перерывы.

совещания административного персонала цеха.

сдача и приемка смен.

оформлением списка, где какие партии находятся, и поиск партий.

сбои оборудования.

необходимость принимать повторные решения при сбое оборудования.

и т.п.

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

Остальные группы задержек являются следствием несовершенства системы управления и контроля. Контролировать их людьми очень трудно, поэтому вводится избыточная загрузка цеха партиями, чтобы обеспечить работой все участки в случае сбоев некоторых. Эта загрузка приводит к большому НЗП, что в свою очередь увеличивает длительность цикла. Автоматизированная система управления производственным процессом призвана сократить эти задержки. Электронная система позволит повысить четкость отслеживания партий и планирования работ, в результате этого можно будет уменьшить НЗП, не опасаясь перерывов в работе участков. Уменьшение НЗП в свою очередь приведет к уменьшению длительности производственного цикла.

Оценим количественно задержки в транспорте партий и задержки в управлении транспортом и производством партий.

Задержки в транспорте партий, обусловленные неоптимальностью работы распредов (в расчете на сутки). Пересменка - 2*20 минут = 40 минут, обеденные перерывы 30*4 = 2 часа. Составление списка партий, поиск партий (полагаем пока условно, в дальнейшем эти цифры можно будет уточнить) - 2 часа в сутки.

Итого: задержки в транспорте партий составляют примерно 5 часов в сутки.

Устранить эти задержки в электронной системе управления можно следующим образом (для определенности рассматриваем пример подцеха 131): Задержки, связанные с пересменками и обеденными перерывами, можно устранить, вводя дополнительно одного распреда и вводя скользящий график работы. А именно, считаем, что первый распред начинает работу в 7-00, второй - в 7-30, третий - в 8-00. Смена первого, второго и третьего распредов заканчивается в 19-00, 19-30 и 20-00 соответственно. Аналогично смещаются относительно друг друга и обеденные перерывы распредов. В результате, в подцехе все время будут находиться, по крайней мере, два распреда.

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

Оценим задержки в управлении (в сутки): совещания административного персонала цеха - 2*30 мин = 1 час, обеденные перерывы - 4*30мин =2 часа, сдача и приемка смен (полагаем пока условно, в дальнейшем эти цифры можно будет уточнить) - 2*30 мин = 1 час, сбои оборудования, необходимость принимать повторные решения при сбое оборудования и т.п. (полагаем пока условно, в дальнейшем эти цифры можно будет уточнить) = 1 час.

Итого - 5 часов в сутки не принимается решение о транспорте партий и обработке партий.

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

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

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

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

 

2.2 Анализ требований к системе

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

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

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

Итак, необходима система управления производством партий. Эта система должна обеспечивать принятие решений о транспорте и обработке партий. При этом количество принимаемых решений в единицу времени достаточно велико: оценки для типичного цеха дают величины порядка 108 элементарных принятий решений в месяц. Следовательно, система управления должна быть оперативной. Более того, эта система должна быть достаточно "интеллектуальной", с тем, чтобы учесть указанные выше требования. Оперативность и "интеллектуальность" системы управления подразумевают, что она должна базироваться на современных компьютерно-сетевых технологиях и использовать "интеллектуальные" схемы принятия решения.

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

При разработке этих принципов мы основывались на общих методах и подходах, предложенных в системах ситуационного управления [1-4], и использовали идеи активно развивающегося сейчас за рубежом направлений Manufacturing executing systems (MES-системы) и Системы диспетчерского управления и сбора данных (SCADA-системы).

Общие требования к автоматизированной системе управления производственным процессом состоят в следующем. АСУ ПП должна:

Осуществлять контроль прохождения партий по технологическому маршруту.

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

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

В рамках подготовительного этапа была проведена следующая работа:

Проведен анализ принципов построения аналогичных систем управления (результаты анализа отражены в обзоре литературы).

Проанализирована структура технологического процесса на ОАО "Ангстрем", сложившаяся к настоящему времени.

Предложена архитектура компьютерно-сетевой АСУ ПП, предназначенной для управления технологическим процессом производства партий.

Произведен объектно-ориентированный анализ технологического процесса производства партий. В результате анализа разработана объектная модель производственного процесса. Объектная модель представляет собой концептуальную основу разрабатываемой компьютерно-сетевой системы управления производством партий (см. технологическую часть).

 

2.3 Рекомендации к разработке автоматизированной системы управления производственным процессом

На основе проведенного анализа можно рекомендовать следующие общие принципы построения разработки автоматизированной системы управления производством партий (АСУ ПП) ОАО "Ангстрем".

Система управления должна включать в себя:

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

Центральную программу управления. Эта программа должна быть предназначена для:

Принятия решений о транспорте и обработке партий.

Отслеживания и сокращения задержек с целью сокращения производственного цикла.

Сбора статистики (пропускная способность участков, средний объем НЗП, задержки).

Контролирования объема НЗП.

Формирования очереди к потенциально узким участкам.

Своевременного предупреждения "рецидивов" накопления НЗП.

Планирования на краткосрочную и долгосрочную перспективу.

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

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

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

Общение программного обеспечения с пользователями должно происходить посредством максимально удобного и интуитивно понятного интерфейса, например, типа MS Windows. Анализ развития компьютерных технологий и опыта зарубежных фирм по разработке MES - и SCADA-систем показывает, что АСУ ПП должна базироваться на компьютерно-сетевых технологиях и использовать методы объектно-ориентированного программирования.

  2.4 Предлагаемая архитектура автоматизированной системы управления производственным процессом

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

 

2.4.1 Общая схема управления

Общая схема системы управления представлена на Рис.6. Система предназначена для управления производством партий в отдельном цехе.


Рис.6. Архитектура системы управления производством партий в цехе

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

Блоки системы управления описаны ниже.

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

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

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

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

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

Программа отслеживает весь процесс производства вплоть до конкретного исполнителя.

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

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

Предполагается, что разработанная программа (или ее упрощенная версия) будет использоваться для тренинга персонала. Для отдельных цехов блоки "Имитационная модель" и "Тренинг" могут отсутствовать.


2.4.2 Взаимодействие программы регистрации и персонала

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

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

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

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

 

2.4.3 Реализация

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


2.4.4 Управление обработкой партий   2.4 4.1 Понятие дисциплины очереди

Управление транспортом партий происходит в соответствии с определенной дисциплиной очереди.

Дисциплина очереди - это набор правил, в соответствии с которыми осуществляется управление порядком обработки партий на установках.

Существует два типа очередей:

Очереди НЗП, таких очередей несколько, отдельная конкретная очередь соответствует определенной установке. Партии, стоящие в этих очередях, "ждут" подачи на начало соответствующего микроцикла.

Очередь на установках, партии в этих очередях "ждут" подачи на операцию внутри микроцикла.

Ожидание в очереди 1-го типа может быть длительным (часы, сутки, недели). Ожидание в очереди 2-го типа должно быть кратковременным (минуты, десятки минут).

Управление очередями 2-го типа простое, оно осуществляется по методу FIFO (первым пришел - первым вышел), т.е. в первую очередь обрабатываются те партии, которые первыми попали в очередь.

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

Ниже приведены схемы дисциплины очереди.

  2.4.4.2 Предварительная схема дисциплины очереди

При формировании дисциплины очереди необходимы знания об определенных параметрах партии и производственного процесса. Выделим эти параметры.

Основные параметры (атрибуты партий, атрибуты установок, характеристики производственного процесса), которые требуется учесть при управлении потоками партий:

Время задержки прохождения партией данной операции (отрицательные времена тоже важны), Δ tзад;

Априорная важность партии, Imp (обычная партия Imp = 1, важная партия Imp = 2,3,…) априорную важность партии устанавливает группа контроля по заданию руководства;

Процент прохождения маршрута, Pr;

Прогноз следствий невыполнения;

Коэффициент нагрузки, r = Iзаявок / Iобслуживания (I - интенсивность). r зависит от НЗП. Средняя длина очереди зависит от r: l = [1 - r] -1 Разумно выбирать r ≤ 0,5 - 0,6, в этом случае длина очереди l = ≤ 2 - 2,5.

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

Если партия прошла n-й микроцикл, то в программу управления производством поступает рапорт о выполнении микроцикла и заявка на выполнение n +1-ого микроцикла.

Считаем, что схема имеет вид правил:

Если …., то …., иначе.

Некоторые из правил требуют выполнения определенных расчетов. Схема принятия решения основана на учете указанных выше параметров.

Опишем конкретный вариант упрощенной схемы принятия решения.

Если есть свободная установка для выполнения первой операции n +1-ого микроцикла, и эта установка одна, то заявка подается на эту установку.

Иначе

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

Иначе

Если все устройства, соответствующие первой операции n +1-ого микроцикла заняты, то партия подается в очередь на все эти установки.

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

В простейшем случае текущий приоритет есть Δ tзад * Imp.

Еще раз подчеркнем, что необходим отдельный анализ по разработке дисциплины очереди. Отметим, что известен ряд методов формирования систем управления, подобных разрабатываемой системе. Одна из серьезных проработок: методы ситуационного управления, описанные выше. Второй пример - схемы классифицирующих систем (Classifier Systems), представляющие собой самообучающиеся системы принятия решения. Эти системы основаны на использовании правил типа "Если …., то …. ". Совокупность таких правил оптимизируется как путем обучения (переоценка приоритетов правил), так и путем эволюции (эволюционный поиск новых правил). Еще одну возможность предоставляют системы поддержки принятия решений, основанные на активно применяемом в последнее время нейросетевом подходе.

2.5 Техническое задание на дипломный проект

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

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

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

К программе регистрации предъявляются следующие требования:

Регистрировать передачу партии полупроводниковых пластин на участок.

Фиксировать время начала и окончания выполнения технологической операции.

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

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

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

Программа должен функционировать в среде MS Windows 95,98,NT. Предполагается использовать программу на участках с длительными технологическими операциями (нанесение эпитаксиальных структур, диффузия, металлизация).

2.6 Выбор платформы и инструмента разработки программы

В качестве операционной системы для реализации программного обеспечения была выбрана среда Windows’98 (Windows NT). Можно выделить следующие причины, обосновывающие этот выбор:

Распространенность этих операционных систем;

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

возможность работы с большими массивами данных, реализация чего в среде Windows 3.1 или в среде MS-DOS представляет нетривиальную и трудновыполнимую задачу;

32-разрядность систем Windows’95 и Windows NT увеличивает скорость выполнения вычислительных задач.

В качестве среды программирования была выбрана среда Visual C++ фирмы MicroSoft, сочетающая в себе следующие преимущества:

простота и надежность создания и отладки программы;

использование всех преимуществ операционных систем Windows’98 и Windows NT, включая 32-разрядность, многозадачность, удобный интерфейс и прочее;

использование обработки исключений (exceptions), что позволяет повысить надежность работы программного продукта;

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

наличие мощных, удобных утилит для отладки и тестирования программного обеспечения;

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


3. Разработка алгоритмов и программ

 

3.1 Этапы объектно-ориентированного подхода

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

Анализ требований.

Проектирование.

Реализация (программирование).

Тестирование.

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

Объектно-ориентированный анализ

Ниже приводятся результаты первого этапа - анализа требований к проектируемой системе. При анализе использовались стратегии и образцы, разработанные Питером Коудом, а также методология OMT (Object Modeling Technique). Результатами анализа являются назначение системы, характерные свойства, объектная модель.

Назначение системы:

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


3.2 Характерные свойства системы

Система должна:

Регистрировать передачу партии полупроводниковых пластин на участок.

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

Фиксировать результаты контроля и измерений для последующего анализа.

Фиксировать время начала и окончания выполнения технологической операции.

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

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

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

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

 

3.3 Выбранные объекты

В процессе анализа были выявлены следующие объекты:

Группа контроля - лицо или группа лиц, осуществляющее планирование запуска партий из НЗП в производство и материально ответственное за партии, хранящиеся в НЗП.

Транспорт - служба, занимающаяся транспортировкой партий между участками.

Представитель участка - лицо или группа лиц, материально ответственное за партии находящиеся на участке.

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

Установка - устройство, осуществляющее операции над партиями.

Участок - административная единица, выполняющая некий набор операций над партиями.

Участок НЗП - участок, на котором партии хранятся между микроциклами, в НЗП поступают новые партии и готовые партии.

Шкаф - место на участке НЗП, в котором партии хранятся между микроциклами.

Контроль - 1) участок, на котором осуществляется операция контроля,

2) операция контроля, на которой выявляется брак.

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

Маршрутный лист - документ, содержащий список операций, которые партия должна пройти в процессе изготовления.

Операция - действие, изменяющее готовность партии, этап изготовления партии согласно маршрутному листу.

Хранение - операция, которой подвергаются партии между микроциклами.

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

Реставрация - изменение в технологическом маршруте, возникающее в связи с браком, осуществляется ведущим технологом.

Микроцикл - часть технологического маршрута; между микроциклами партия может храниться длительное время.

Забраковка - признание партии непригодной для дальнейшей обработки, ее удаление из плана производства и, возможно, запуск новой идентичной партии.

Входной считыватель штрихкода - устройство, фиксирующее поступление партии на участок.

Выходной считыватель штрихкода - устройство, фиксирующее передачу партии с участка на транспорт.

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

Терминал - средство общения между системой управления и персоналом.

Цех - помещение, в котором осуществляется производство.

Участок ВТ - место нахождения Ведущего технолога.

Рис.7. Объектная модель, характеризующая объекты системы управления и связи между ними

Объектная модель показывает планируемую структуру программы, с точки зрения объектно-ориентированного подхода. В этой модели показаны объекты, важные для проектируемой системы и связи между ними. Рис.8 поясняет нотацию (систему обозначений) Unified, в которой приведена модель.


Рис.8. Обозначения, принятые в объектной модели

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

 

3.4 Алгоритм выполнения технологической операции

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


Рис.9. Алгоритм выполнения технологической операции


3.5 Алгоритм формирования дисциплины очереди

Рис.10 конкретизирует этап выбора партии полупроводниковых пластин для обработки.

Управление транспортом партий происходит в соответствии с определенной дисциплиной очереди.

Дисциплина очереди - это набор правил, в соответствии с которыми осуществляется управление порядком обработки партий на установках.

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

Выбрать из всего множества партии с минимальным межоперационным временем;

Выбрать из оставшегося списка партии пластин с высоким априорным приоритетом;

Выбрать из оставшегося списка партии, близкие к завершению технологического цикла;

Использовать правило "FIFO - первым вошел - первым вышел".

Все рассмотренные правила представлены алгоритмом.


Рис.10. Алгоритм формирования дисциплины очереди

3.6 Использование библиотеки Microsoft Foundation Classes

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

Использование объектно-ориентированного подхода дает многочисленные преимущества в сравнении с традиционным стилем программирования:

Инкапсуляция кода и данных внутри класса;

Наследование;

Разрешение коллизий имен функций;

Уменьшается общий объем текстов.

Основные возможности библиотеки MFC:

Поддержка всех функций, управляющих элементов и ссобщений Windows, графических примитивов GDI, меню и окон диалога;

Использование соглашения об именах API Windows, при котором по имени класса становится ясным его предназначение;

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

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

На рис.11 приведена иерархия классов программы. Ниже будут приведены пояснения для основных классов.


Рис.11. Иерархия классов программы регистрации процесса производства


Cobject - базовый класс, широко используемый при разработке приложений Windows.

CCmdTarget -

CWnd - родительский класс для всех окон.

CWinApp - родительский класс для приложения.

CDialog - родительский класс для окон диалога.

Как видно из иерархии классов, программа состоит из четырех основных классов:

CAngstremApp - основной класс. Разделен на два файла - заголовочным для него является файл cangstremapp. h, файл реализации - cangstrem. cpp.

CMainFrame - этот класс, производный от CFrameWnd, используется для управления главным окном приложения.

CAngstremView - является наследником класса CView. Класс CView, производный от CWnd, служит базовым для пользовательских классов отображения. Отображение (view) служит промежуточным звеном между документом и пользователем. Обычно отображение - это дочернее окно главного окна.

CAngstremDoc - класс используется для хранения данных.

Технологическая часть:

Технология разработки программных систем

Выполнил:

Ляшко М.А.

Консультант:

Брусникин Г.Н.


4. Объектно-ориентированное программирование   4.1 Введение

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

Технология программирования - это совокупность методов и средств разработки (написания) программ и порядок применения этих методов и средств. На ранних этапах развития программирования, когда программы писались в виде последовательностей машинных команд, какая-либо технология программирования отсутствовала. Первые шаги в разработке технологии состояли в представлении программы в виде последовательности операторов. Написанию последовательности машинных команд предшествовало составление операторной схемы, отражающей последовательность операторов и переходы между ними. Операторный подход позволил разработать первые программы для автоматизации составления программ - так называемые составляющие программы.

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

В 1958 году были разработаны первые языки программирования, Фортран и Алгол-58. Программа на Фортране состояла из главной программы и некоторого количества процедур - подпрограмм и функций. Программа на Алголе-58 и его последующей версии Алголе-60 представляла собой единое целое, но имела блочную структуру, включающую главный блок и вложенные блоки подпрограмм и функций. Компиляторы для Фортрана обеспечивали раздельную трансляцию процедур и последующее их объединение в рабочую программу, первые компиляторы для Алгола предполагали, что транслируется сразу вся программа, раздельная трансляция процедур не обеспечивалась.

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

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

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

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

4.2 Понятие жизненного цикла программного обеспечения

Одним из базовых понятий методологии разработки информационных систем является понятие жизненного цикла ее программного обеспечения (ЖЦ ПО). ЖЦ ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости создания программного обеспечения и заканчивается в момент его полного изъятия из эксплуатации.

Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO/IEC 12207 (ISO - International Organization of Standardization). Он определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены.

 

4.3 Модели жизненного цикла программного обеспечения

Стандарт ISO/IEC 12207 не предлагает конкретную модель жизненного цикла и методы разработки ПО. Его регламенты являются общими для любых моделей ЖЦ, методологий и технологий его разработки.

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

В изначально существовавших однородных ИС приложения представляли собой единое целое. Для разработки такого типа приложений применялся каскадный способ. Его основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на другой происходит только после того, как будет полностью завершена работа на текущем (рис.12).

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


Рис.12. Каскадная схема разработки программного обеспечения

Преимущества применения каскадного способа заключается в следующем:

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

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

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

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

Рис.13. Схема реального процесса разработки программного обеспечения

Для преодоления вышеперечисленных проблем была предложена спиральная модель ЖЦ, в которой делается упор на начальные этапы ЖЦ: анализ и проектирование с использованием объектно-ориентированного подхода. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом, постепенно углубляются и последовательно конкретизируются детали проекта. Основная проблема спирального цикла - определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если вся запланированная работа не закончена.

Рис.14. Спиральная модель жизненного цикла

 

4.4 Анализ

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

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

 

4.5 Проектирование

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

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

удовлетворяет заданным (возможно, неформальным) функциональным спецификациям;

согласована с ограничениями, накладываемыми оборудованием;

удовлетворяет явным и неявным требованиям по эксплуатационным качествам и ресурсопотреблению;

удовлетворяет явным и неявным критериям дизайна продукта;

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

По предположению Страуструпа: "Цель проектирования - выявление ясной и относительно простой внутренней структуры, иногда называемой архитектурой... Проект есть окончательный продукт процесса проектирования". Проектирование подразумевает учет противоречивых требований. Его продуктами являются модели, позволяющие нам понять структуру будущей системы, сбалансировать требования и наметить схему реализации.

 

4.5.1 Методы проектирования

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

процедурное программирование;

метод структурного проектирования "сверху вниз";

метод потоков данных;

объектно-ориентированное проектирование.

Структурное проектирование "сверху вниз" основано на алгоритмической декомпозиции. При таком подходе к проектированию происходит обычное разделение алгоритмов, где каждый модуль системы выполняет один из этапов общего процесса. Структурный подход в проектировании в течение большого промежутка времени был практически лидером среди имеющихся методов разработки программного обеспечения. Но в связи с резким скачком развития аппаратного обеспечения, появлением очень мощных вычислительных комплексов, и как результат - многократное усложнение программного обеспечения, структурное проектирование перестало быть эффективным. Значение структурного подхода осталось прежним, но было замечено, что структурный подход не работает, если объем программы превышает приблизительно 100000 строк. Структурный подход не позволяет выделить абстракции и обеспечить ограничение доступа к данным; он также не предоставляет достаточных средств для организации параллелизма. Структурный метод не может обеспечить создание предельно сложных систем, и он, как правило, неэффективен в объектных и объектно-ориентированных языках программирования. Однако, в некоторых случаях его применение в этих языках оправдывает себя.

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

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

Именно объектно-ориентированная декомпозиция отличает объектно-ориентированное проектирование от структурного; в первом случае логическая структура системы отражается абстракциями в виде классов и объектов, во втором - алгоритмами.

4.5.2 Объектно-ориентированная модель

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

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

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

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

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

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

В то время, как объектно-ориентированное программирование основано на абстракции, инкапсуляции и наследовании, параллелизм главное внимание уделяет абстрагированию и синхронизации процессов. Каждый объект (полученный на конкретном уровне абстракции) может представлять собой отдельный поток управления (абстракцию процесса). Такой объект называется активным. Система, построенная на основе ООП, может быть представлена, как совокупность взаимодействующих объектов, часть из которых является активной и выступает в роли независимых вычислительных центров.

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

промежуточные результаты вычисления выражений;

локальные переменные в вызове процедур;

собственные переменные, глобальные переменные и динамически создаваемые данные;

данные, сохраняющиеся между сеансами выполнения программы;

данные, сохраняемые при переходе на новую версию программы;

данные, которые вообще переживают программу.

В использовании объектно-ориентированной модели можно выделить следующие преимущества:

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

Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования не только программ, но и проектов, что в конце концов ведет к созданию среды разработки. Объектно-ориентированные системы часто получаются более компактными, чем их не объектно-ориентированные эквиваленты. А это означает не только уменьшение объема кода программ, но и удешевление проекта за счет использования предыдущих разработок, что дает выигрыш в стоимости и времени.

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

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

4.5.3 Процесс объектно-ориентированного проектирования

Процесс объектно-ориентированного проектирования не сводится к одностороннему движению "сверху вниз" или "снизу вверх". Хорошо структурированные сложные системы можно создать методом "возвратного проектирования".

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

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

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


Рис.15. Микропроцесс проектирования

Как показано на рис.15, микропроцесс обычно состоит из следующих видов деятельности:

выявление классов и объектов на данном уровне абстракции;

выяснение семантики этих классов и объектов;

выявление связей между этими классами и объектами;

спецификация интерфейса и реализация этих классов и объектов.

Рассмотрим их более подробно:


Информация о работе «Программа регистрации процесса производства для автоматизированной системы управления предприятием электронной промышленности»
Раздел: Информатика, программирование
Количество знаков с пробелами: 182348
Количество таблиц: 5
Количество изображений: 27

Похожие работы

Скачать
138680
12
12

... приведения к базовому узлу, метод удельных весов, метод учета затрат на единицу веса изделия, расчет себестоимости по статьям затрат. В данном проекте приводится расчет себестоимости разработки автоматизированной системы управления торговым предприятием. (АСУТП). АСУТП служит для ведения учета торговой деятельности в Интернет и на аукционе EBay. Из основных преимуществ перед конкурентами стоит ...

Скачать
47979
1
0

... — системы управления ресурсами предприятия), которые включили в себя планирование ресурсов предприятия для всех основных видов его деятельности. 2. Автоматизируемые системы управления торговыми предприятиями и их возможности Первые автоматизированные системы стали появляться в начале 80-х гг. XX в., они были написаны для среды DOS и являлись довольно примитивными. Они не были рассчитаны на ...

Скачать
37178
0
9

... требуемый температурный режим во всех зонах реактора и холодильника-оросителя. Опуская подробности физико-химических процессов получения активного печного углерода, затронем только технический и программный аспекты созданной АСУ ТП производства технического углерода. ТЕХНИЧЕСКИЙ АСПЕКТ СИСТЕМЫ При выборе технических средств перед разработчиками (фирма «Эталон ТКС») стояла задача подобрать ...

Скачать
78053
2
0

... и количеством пользователей от 20 до 150.«Гран-Док» - корпоративная версия («Единая система электронного документооборота и делопроизводства муниципальных структур управления административного округа») - единая система электронного документооборота и делопроизводства административного округа. Ее можно отнести к специализированным системам автоматизации делопроизводства и ...

0 комментариев


Наверх