Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
Для оценки деятельности предприятия широко применяется аудит. Согласно положению об основной концепции аудита, которое в 1973 опубликовал комитет Аме...полностью>>
'Статья'
кадастровый номер - уникальный, не повторяющийся во времени и на территории Российской Федерации номер объекта недвижимости, который присваивается ем...полностью>>
'Диплом'
У сучасних умовах науково-технічного прогресу діяльність інженера-матеріалознавця, дослідника, нерозривно пов’язана з вивченням явищ і закономірносте...полностью>>
'Рабочая программа'
Cоциология - наука, которая не нуждается в обосновании своей миссии. Это укоренившаяся в системе наук социальная дисциплина, занимающая устойчивое по...полностью>>

Тема Введение: научное мировоззрение, инженерный подход

Главная > Конспект
Сохрани ссылку в одной из сетей:

Конспект лекций ч2

«Логика и методология науки ( информационные системы и технологии)»

Тема 1. Введение: научное мировоззрение, инженерный подход.

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

Информационные технологии сталкиваются с рядом противоречий, обобщением которых являются:

  • Преобладание темпа роста сложности информационных систем над развитием методов их разработки. В основе данного противоречия лежит эффект увеличения количества образующих систему подсистем и объектов. Как следствие, растет разделение труда и количество работающих в этой сфере, что влечет за собой рассогласование совместных действий в рамках понятий «единой» системы.

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

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

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

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

Программная система (ПС) – совокупность программ, выполненных на языках программирования, пригодных для исполнения на ЭВМ, с зафиксированными показателями качества и снабженная комплектами документов достаточными для ее эксплуатации по назначению как продукции производственно-технического назначения и (или) ее модернизации и развития как продукции инженерно-творческой деятельности. Если акцент в изложении делается на производственный аспект, то будем употреблять термин «программное обеспечение», если же программная система рассматривается, как объект инженерной разработки, то будем употреблять термин «программное средство».

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

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

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

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

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

Тема 2. Методологическая классификация автоматизированных информационных систем, направлений и методологий их исследования.

Рыночные отношения и конкурентная борьба производителей диктуют свои правила организации производства, в том числе постоянно расширяющуюся сферу автоматизации, которая охватывает не только чисто механические и технические операции, но и интеллектуальную деятельности человека. На современном уровне развития «человеко-машинных», автоматизированных систем, не зависимо от их ориентации (АСУ, САПР, ГАП и др.), заметна тенденция к сближению их программной составляющей. Эта тенденция выражается в переходе к интегрированным многофункциональным программным системам (ИМПС) с интеллектуальной поддержкой этапов производственного цикла и управления. Современные прогрессивные технологии повышения производительности труда базируются на технике взаимодействия пользователей с ЭВМ, специфике представления и хранения информации, что выдвигает ряд дополнительных производственных требований предъявляемых к ИМПС: наличие инструментальных средств анализа, документирования, хранения данных и знаний, с учетом их непрерывного развития и совершенствования.

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

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

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

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

  • CASE-технологии (Computer Aided Software Engineering), которые представляют собой методологию проектирования, язык спецификаций (как правило, в виде графических нотаций), инструментальные средства моделирования и анализа предметной области. Это научное направление представлено в работах Калянова А.Н., Эпштейна В.Л., Путилова В.А., Марк Д., Джонс Дж.К., Зиглер К. и др. С инженерно-технической точки зрения (ориентация CASE-технологий) наибольший интерес вызывают концептуальные и логические модели проектных решений, уровень формального представления которых позволяет использовать для их анализа и синтеза аппарат математической логики (Колмогоров А.Н., Нечипоренко В.И., Поспелов Д.А., Журавлев Ю.И., Шоу А. и др.), легко поддающийся автоматизации на базе современных ЭВМ.

  • Когнитология – научная дисциплина, которая интегрирует в себе знаковые (символьные) и структурные методы представления знаний (работы Костина А.Е., Венда В.Ф., Бауэр Ф., Коллинз Г, Пирс Д.,) с учетом методов дисциплины искусственного интеллекта (труды Поспелова Г.С, Попова Э.В., Рафаэль. Б., Эндрю. А., Марселлус Д. и др.). С научной точки зрения (ориентация когнитологии) наибольший интерес представляют исследования по развитию синтаксических, семантических и процедурных моделей и переход к семиотическому моделированию знаний.

  • Научное направление по исследованию аппарата спецификаций, который исследует формальные методы структуризации и оценки знаний (развит в работах Агафонова В.Н., Глушкова В.М., Деметрович Я., Лисков Б., Феррари Д. и др.). Это научное направление представляет интерес с точки зрения теории познания и представления объектов и предметов моделирования с учетом эргономических аспектов человеческого фактора.

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

В широком смысле слова наука «моделирование» АИС является научно-творческой дисциплиной, истоки которой можно найти в научных материалах акцентирующих внимание на различных аспектах изучения, в том числе можно выделить:

  • В работах Орлова П.И., Хетагурова Я.А., Ханзен Ф., Хоар Ч. акцент делается на системотехническое (инженерное) проектирование.

  • Материалы Джонс Дж. К., Диксон Дж. Р, Петренко В.Ф., Хилл П., посвящены творческой составляющей разработки технических систем, учету человеческого фактора.

  • В трудах Холл А.Д., Холстед М., Чен Ш., рассматриваются общеметодологические подходы к представлению систем.

  • В работах Гантер Р., Гласс Р., Дейкстра Э., Кнут Д. раскрываются технологии разработки ПС.

  • В работах Коллинз Г., Костина А.Е., Лазарева И.А. программные системы выступают, как самостоятельные системо-образующие объекты исследования.

  • Философским, психологическим, эргономическим проблемам, связанным с автоматизацией технических систем, посвящены труды Арбиб М., Венды В.Ф., Голяса Ю.Е., Горского Ю.М., Косарева Ю.А., Мюллер И., Мячева А.А., Пятницына Б.Н., Ракитова А.И., Сетрова М.И.

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

В широком понимании термин "программное обеспечение" охватывает функциональные и служебные программы, средства автоматизации программирования, тестирования, отладки и т.п. Решение проблем возникающих при разработке программного обеспечения бесконечно разнообразно, но может быть достаточно полно представлено конечным набором системных задач. Этот набор взаимосвязанных системных задач получается в результате применения фундаментальных принципов, в основе которых лежит классификация и организация программного обеспечения как системы. Поэтому, говоря в дальнейшем о системологических аспектах программного обеспечения, мы будем употреблять термин «программная система». Материалы, которые изложены в трудах Бусленко Н.П., Буркова В.Н., Глушкова В.М., Колесникова Д.Н., Клир Дж., Лазарева И.А., Мамиконова А.Г., Нечипоренко В.И., Попова С.А., Перегудова Ф.И., Советова Б.Я. и многих других являются классическим представлением концепций системологии. В развитие этого научного направления можно отметить следующую тенденцию: на сегодняшний день, большими темпами развиваются разделы информатики, которые решают проблемы единства научного знания и формирования единой научной картины мира, охватывающей не только технику, но и окружающую природу и человека.

В общем случае создание программных систем происходит при наличии ограничений двух типов:

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

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

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

Тема 3. Эволюция информационных технологий.

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

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

Укажем три типа отношений знаков и знаковых конструкций, фиксирующих и выражающих знания.

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

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

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

Информация и данные.

Рассмотрим понятия "информация" и "данные".

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

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

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

Где D - множество данных; R - множество возможных результатов; r=f(d) - функция реализации критерия выбора.

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

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

Решение этого вопроса лежит в сфере развития программного обеспечения.

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

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

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

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

Эволюция информационных средств автоматизации.

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

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

Машинно-ориентированные языки (ассемблеры). Первым шагом в этом направлении явилось создание так называемых автокодов. Автокоды являются первыми машинно-ориентированными языками программирования. Понятие машинно-ориентированные означает, что программы написанные на автокоде, могут выполняться только на тех ЭВМ, для которых разработан соответствующий автокод. Состав и структура автокода полностью соответствуют составу и структуре команд ЭВМ.

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

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

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

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

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

Язык Си, в отличие от Паскаля, с момента своего появления (1972 г.) был ориентирован на разработку системных программ. Он, в частности, послужил главным инструментом для создания операционных систем ЮНИКС и MS-DOS. В этом языке имеются более гибкие средства для эффективного использования особенностей аппаратуры, чем в Паскале. Благодаря этому порождаемые машинные программы более компактны и работают быстрее, чем программы, полученные Паскаль - трансляторами. С другой стороны, синтаксис языка Си менее прозрачен, чем у Паскаля; возможностей для внесения ошибок больше; чтение текстов программ требует определенного навыка. В связи с этим язык Си применяется главным образом для создания системных и прикладных программ, в которых скорость работы и объем памяти являются критическими параметрами.

Языки Лисп и Пролог. Язык Лисп (60-е годы) является идеальным инструментальным средством для построения программ с использованием методов искусственного интеллекта. Имеется несколько реализаций Лисп - трансляторов для персональных компьютеров разных классов. Особенность этого языка состоит в удобстве динамического создания новых объектов. В качестве порождаемых программой объектов могут фигурировать и сами программы (функции), которые внешне ничем не отличаются от данных. Это открывает неожиданные возможности, которых нет в других языках программирования, также как построение адаптирующихся и самоизменяющихся программ и др. Память в Лиспе используется динамически - когда создается новый объект, для него из "свободной" памяти берется ровно столько ячеек, сколько нужно для хранения всех элементов; при этом не требуется никакого заблаговременного резервирования памяти, как в других языках (например, Паскале). При уничтожении объекта занятая им память автоматически освобождается.



Скачать документ

Похожие документы:

  1. Тема введение 8 ч

    Лекция
    Лекция 1/ Философия науки, ее предмет и проблемы. Различные модели философии науки: позитивистская, гуманитарная, диалектическая. Взаимодействие философии и науки в контексте культуры.
  2. Введение в философию

    Документ
    И. Т. Фролов - академик РАН, профессор (руководитель авторского коллектива) (Предисловие; разд. II, гл. 4:2-3; Заключение); Э. А. Араб-Оглы - доктор философских наук, профессор (разд.
  3. Научный журнал

    Документ
    Журнал «Вестник гуманитарного института ТГУ» издается Тольяттинским государственным университетом. В журнале публикуются статьи, сообщения, рецензии, информационные материалы по различным отраслям гуманитарного знания: истории, филологии,
  4. Научное издание балтийской педагогической академии

    Документ
    Ананьев В.А., Васильев М.А., Горская Е.А., Малиновская Н.Д. Психология здоровья: эмпирические исследования психосоматического и психического здоровья школьников
  5. Тема 1: Философия, ее предмет и место в культуре

    Контрольные вопросы
    Основные понятия: диалектика, метафизика, мировоззрение, миропонимание, мироощущение, миф, мудрость, знание, религия, философия, тотемизм, фетишизм, магия, антропоморфизм, анимизм, гилозоизм, онтология, гносеология, этика, эстетика,

Другие похожие документы..