Автор работы: Пользователь скрыл имя, 18 Декабря 2013 в 21:19, курсовая работа
В данной курсовой работе описываются основные свойства информационных систем, область их реализации, а так же широко известные в наше время непроцедурные языки, на которых построено большинство современных автоматизированных информационных систем двадцать первого века. Помимо этого, в данном проекте будет освещена тема, посвященная процессу управления информационными системами, а так же реализована практическая задача автоматизации анализа входной информации.
Введение 5
1 Закономерности систем 6
1.1 Целостность 6
1.2 Интегративность 7
1.3 Коммуникативность 7
1.4 Иерархичность, эквифинальность, историчность 8
1.5 Закон необходимого разнообразия, закономерность осуществимости и потенциальной эффективности систем, закономерность целеобразования 9
1.6 Системный подход и системный анализ 12
2 Непроцедурные языки 17
3 Процесс управления 23
4 Практическая часть 28
Выводы и рекомендации 29
Библиографический список 30
Термин «системный анализ» впервые появился в связи с задачами военного управления в исследованиях RAND Corporation (1948), а в отечественной литературе получил широкое распространение после выхода в 1969 г. книги С. Оптнера «Системный анализ для решения деловых и промышленных проблем».
В начале работы по системному анализу в большинстве случаев базировались на идеях теории оптимизации и исследования операций. При этом особое внимание уделялось стремлению в той или иной форме получить выражение, связывающее цель со средствами, аналогичное критерию функционирования или показателю эффективности, т, е. отобразить объект в виде хорошо организованной системы.
Так, например, в ранних руководящих материалах по разработке автоматизированных систем управления (АСУ) рекомендовалось цели представлять в виде набора задач и составлять матрицы, связывающие задачи с методами и средствами достижения. Правда, при практическом применении этого подхода довольно быстро выяснялась его недостаточность, и исследователи стали прежде всего обращать внимание на необходимость построения моделей, не просто фиксирующих цели, компоненты связи между ними, а позволяющих накапливать информацию, вводить новые компоненты, выявлять новые связи и т. д„ т. е. отображать объект в виде развивающейся системы, не всегда предлагая, как это делать.
Позднее системный анализ начинают определять как «процесс последовательного разбиения изучаемого процесса на подпроцессы» (С. Янг) и основное внимание уделяют поиску приемов, позволяющих организовать решение сложной проблемы путем расчленения ее на подпроблемы и этапы, для которых становится возможным подобрать методы исследования и исполнителей. В большинстве работ стремились представить многоступенчатое расчленение в виде иерархических структур типа «дерева», но в ряде случаев разрабатывались методики получения вариантов структур, определяемых временными последовательностями функций.
В настоящее время системный
анализ развивается применительно
к проблемам планирования и управления,
и в связи с усилением внимания
к программно-целевым
Сразу же после появления программируемых устройств снижение сложности программирования стала одной из главных забот всех разработчиков. Первые этапы развития средств программирования хорошо описаны в литературе и не являются предметом данной статьи.
Для нас интересен момент выделения из общего дерева программных средств языков технологического программирования. Это событие стало результатом осознания особенностей задач, стоящих перед разработчиком АСУТП, и желанием приблизить алгоритмиста-технолога к написанию прикладных программ. Для удобства технологов программы стали представлять в графическом виде, привычном для проектировщиков АСУТП: релейно-контактных схем (RCS), функциональных блоковых диаграмм (FBD), ...(SFC). К концу 80-х годов, как вершина этого подхода, был разработан стандарт IEC1131-3. Опубликованный в 1988г, он включил в себя 5 языков технологического программирования: перечисленные выше графические плюс текстовые ST и IL. На момент своего принятия стандарт использовал современные технологии программирования и стал важным этапом развития языков технологического программирования, существенно облегчив разработчикам создание прикладных программ.
Однако, поставленную задачу, стать средством программирования для технологов - языки стандарта не решили и решить не могли, т.к. структура описания алгоритма, естественная для технолога (примером которой может служить любая инструкция оператора-машиниста), принципиально отличается от структур языков 1131-3.
В 90-х годах в мире программирования произошла настоящая революция, связанная с внедрением объектной и компонентной технологий. Однако, перевернув весь программистский мир, они лишь всколыхнули поверхность в «стране» АСУТП. Знакомство с новейшими пакетами нескольких очень известных фирм разочаровывает - новые технологии используются преимущественно в графических и цифровых интерфейсах, почти не повлияв на внутреннюю организацию систем. Последняя редакция IEC1131-3, опубликованная в 1999г, вообще не обратила на них никакого внимания, хотя при программировании систем реального времени эти технологии дают максимальный эффект. Фактически, первоначально удачный стандарт превратился сейчас в тормоз, а не стимул развития средств технологического программирования.
Характерно, что наиболее «продвинутые» SCADA-системы, например Genesis32, в качестве встроенного средства программирования используют не языки 1131-3, а различные варианты Visual Basic - объектность и компонентность языка перевешивают его «нетехнологичность», но естественным для алгоритмиста-технолога такой язык не является.
Использование современных технологий позволяет уже сейчас создавать системы программирования действительно дружественные для алгоритмиста-технолога.
Основой современной системы
Автоматизированная система
Объектный подход - мощная современная технология проектирования и программирования, разработанная в конце 80-х годов. К настоящему времени АСУТП в силу большой инерционности остается одной из наименее освоенных этой технологией областей. Он практически не используется в системах технологического программирования, а при организации управления «объектность» не поднимается выше уровня задвижки и регулятора. Преимущества объектного подхода в сравнении с функциональным доказаны как теоретически, так и 15-летней практикой его использования.
В системе технологического программирования очень важны такие преимущества объектной технологии как естественный параллелизм описания процессов, легкость расширения набора функций без изменения структуры системы (например, при переходе от информационной системы к управляющей), простота расширения системы при увеличении объема автоматизации объекта, эффективность тиражирования на аналогичные объекты.
Компонентная структура - современная технология построения программной системы из набора типовых элементов (компонентов). Для всех компонентов разрабатывается единый протокол взаимодействия с исполняющей системой, пользователями и другими компонентами.
При программировании конкретного компонента достаточно описать внутреннюю логику его работы и реализацию указанного протокола, а все взаимодействия с окружением реализует исполняющая система. Использование технологии существенно сокращает сроки разработки и увеличивает надежность программного обеспечения.
Технология «промежуточного
Многослойная организация
Последним словом» данной технологии является использование виртуальных машин обеспечивающих максимальную переносимость программного кода.
Непроцедурные языки - современное направление системного программирования, позволяющее сконцентрировать внимание разработчика на описании целей и правил, а не на последовательности действий по их реализации (т.е. описывается «что делать» вместо «как делать»). Использование непроцедурного языка обеспечивает максимально возможную простоту и понятность программ для разработчика-технолога, перенося сложности процедурной реализации на системный уровень, что сокращает трудоемкость и сроки разработки, увеличивает надежность ПО.
Как известно, человеческое мышление построено прежде всего на ассоциациях и связях. Естественное мышление непроцедурно - алгоритмы типа «делай раз, делай два» составляются с трудом лучшими специалистами, а всеми остальными выучиваются наизусть. Вне производства люди по-возможности избегают жестких алгоритмов (показательно, что даже в классически-процедурном кулинарном процессе хозяйки не любят использовать «строгие» измерения и активно варьируют рецептуру, сохраняя смысловые связи между компонентами).
Однако, современные вычислительные машины требуют процедурного описания своего функционирования. Поэтому, уже в течении последних 50 лет все большее количество людей занимаются ручной компиляцией своего непроцедурного мышления в процедурные описания. Принципиальное несовершенство глобальной процедурности было осознано сравнительно недавно, а системы непроцедурного программирования, позволяющие заменить ручную компиляцию знаний на автоматическую, только начинают заявлять о себе. В настоящий момент такие системы активно используются в элитных отраслях типа космических исследований, параллельных вычислений в задачах ядерной физики и т.п. Эпоха широкого внедрения в непроцедурного программирования в промышленности еще не наступила, хотя в лабораториях крупных фирм ведутся соответствующие разработки.
Одной из принципиальных особенностей становления непроцедурного программирования является преимущественное развитие неуниверсальных языков, ориентированных на конкретную предметную область (в нашем случае - на АСУТП). Универсальность является неизбежной жертвой дружественности языка для технолога. Как говорят специалисты, «универсальный язык дружественен для системного программиста». Впрочем, традиционные процедурные языки технологического программирования также неуниверсальны.
Совокупность объектно-
Заканчивая исторический экскурс хотелось бы особо отметить, что непроцедурное программирование - одна из немногих областей, в которых отечественная наукоемкое производство находится на передовых рубежах. Несколько коллективов РАН, ведущих соответствующие разработки высоко котируются в мире. К сожалению, Российское правительство практически не финансирует развитие этого стратегического направления отечественной научной технологии, а существенным источником финансирования работ в течении длительного времени были заказы от НАСА и министерства обороны США!
Информационная система
Различают также основные 6 типов информационных систем управления (тип системы определяется целью, ресурсами, характером использования и предметной областью):