Главная > Документ


А.А. Красилов

ИНФОРМАТИКА

В СЕМИ ТОМАХ

Том 6. Методы информатики

(Изобретание, проектирование,

разработка и сопровождение)

Москва

1997 - 2003

ИНФОРМАТИКА

Том 1. Основы информатики

(Введение в информатику)

Том 2. Информатика смысла

(Машинная лингвистика)

Том 3. Концептуальная информатика

(Толковый словарь по информатике)

Том 4. Представление знаний

(Структуры данных)

Том 5. Основания информатики

(Теоретические основы)

Том 6. Методы информатики

(Изобретание, проектирование,

разработка и сопровождение)

Том 7. Интеллектуальные системы

(Системы решения проблем)

Альберт Александрович Красилов

УДК ....................

Аннотация

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

Each science is a collection of the methods. The informatics also includes in structure of the tools methods inventionment, designing, development and maintenance of any object with the help of computer facilities means, promoting to search of new knowledge. The large number of methods caused in various sciences and fields of knowledge, in particular in programming here is submitted. The stated methods are partially modified in comparison with their original statement for their orientation and strengthening at use in informatics, as technologies of the knowledge processing.

()

ОГЛАВЛЕНИЕ

Введение

Глава 1. Методология информатики

1.1. Обзор направлений в информатике

1.2. Способы определения методов в информатике

1.3. Методы в информатике

1.3.1. Наглядное программирование

1.3.2. Языковое программирование

1.3.3. Концептуальное программирование

1.3.4. Повторное использование программ

1.3.5. Логическое программирование

1.3.6. Алгоритмическое программирование

1.3.7. Интеллектуальное программирование

1.4. Стили программирования

1.4.1. Текстовый стиль программирования

1.4.2. Графовый стиль программирования

1.4.3. Литературный стиль программирования

1.4.4. Сценарное программирование

1.4.5. Функциональное программирование

1.4.6. Другие стили программирования

1.5. Стиль и технология в информатике

1.6. Искусство в технологии обработки знаний

1.7. Интеллект в информатике

Глава 2. Инженерия знаний (знаниеведение)

2.1. Отладка знаний

2.2. Этапы создания объекта

2.3. Фазы процесса поиска нового знания

2.4. Работы в процессе поиска нового знания

2.5. Технологические операции

2.6. Технологические маршруты

2.7. Обзор методов информатики

2.7.1. Методы проектирования данных в информатике

2.7.2. Методы проектирования множеств данных

2.7.3. Методы рекурсивного проектирования данных

2.7.4. Методы применения контроля принадлежности значений множеству

2.7.5. Методы структурирования данных

2.7.6. Использование синонимии

2.7.7. Методы сокращения форм имени

2.7.8. Методы проектирования приближенных вычислений

Глава 3. Повторное использование разработок

3.1. Общие концепции

3.2. Основные предпосылки исследования

3.3. Модели создания субпрограмм

3.3.1. Системная модель процесса создания субпрограммы и риюз

3.3.2. Ситуационная модель создания субпрограмм

3.4. Жизненный цикл программ в риюзе

3.5. Методология реализации риюза

3.5.1. Уровни абстракции и риюз

3.5.2. Методология риюза

3.6.Инструментальные средства риюза

3.6.1. Задачи внедрения риюза

3.6.2. Инструментарий

3.7. Оценка повторного использования и проблемы риюза

Глава 4. Методы, поддерживающие изобретание

Введение

Принципы для изобретания

4.1. Методы формирования понятий

4.2. Методы сбора фактов, утверждений о фактах

4.3. Методы сбора знаний

4.4. Методы формулировки целей

4.5. Методы сбора операций

4.6. Методы исследования причин изобретения

4.7. Методы сходства и различий для установления причинных связей

4.7.1. Метод сходства

4.7.2. Метод различия

4.7.3. Композиция методов сходства и различия

4.7.4. Метод сопутствующих изменений

4.7.5. Метод остатков

4.7.6. Метод аналогий

4.7.7. Метод споров

4.8. Метод формирования идеального результата

4.9. Метод проб и ошибок

4.10. Методы построения иерархии задач, сведение задачи к подзадачам

4.11. Методы классификации

4.12. Общие методы решения задач

4.13. Методы фокального объекта

4.14. Методы морфологических карт

4.15. Методы предельных границ

4.16. Методы коллективного творчества

4.17. Методы схем

4.18. Методы технических противоречий

4.19. Методы устранения технических противоречий

4.19.1. Общие подходы

4.19.2. Переход от одной противоположности к другой

4.19.3. Приемы устранения противоречий

4.19.4. Коллективный анализ

4.19.5. Анализ путей исследований

4.20. Методы оценки результата

4.21. Методы моделирования

4.22 Человеческий фактор

Глава 5. Методы, поддерживающие проектирование

Введение

5.1. Методы объектно-ориентированного проектирования

5.2. Метод структурного проектирования

5.3. Методы проблемного проектирования

5.4. Методы логического проектирования

5.5. Методы декларативного проектирования

5.6. Методы создания проекта

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

5.8. Методы управления проектами

5.9 Методы ведения библиотек

5.10. Методы синтеза программ

Глава 6. Методы, поддерживающие разработку

6.1. Метод модульного проектирования разработки

6.1.1. Пояснение требований к модулю

6.1.2. Создание модулей

6.2. Метод блочного проектирования разработки

6.3. Метод разработки из готовых блоков

6.4. Методы проектирования последовательных вычислений

6.5. Метод макропроектирования

6.6. Метод проектирования сверху вниз

6.7 Метод разработки снизу-вверх

6.8. Заметка о методе пакетов прикладных программ

6.9. Метод проектирования реального времени

6.9.1. Определение метода

6.9.2. Характеристика реального времени

6.9.3 Способы синхронизации процессов

6.9.4. Технология планирования реального времени

6.10 Метод использования астрономического времени

6.10.1. Проблемы астрономического времени

6.10.2 Определение метода

6.10.3. Характеристика астрономического времени

6.11 Метод контроля логической правильности знаний и запросов

Глава 7. Методы, поддерживающие сопровождение

7.1. Методы контроля

7.2. Метод развивающегося программирования

7.3. Методы обеспечения надежности процессов сопровождения

7.4. Методы повышения эффективности труда программистов и знаниеведов

7.5. Методы обеспечения надежности программ

7.6. Методы обеспечения эффективности программ

7.7. Метод сопряжения языков высокого и низкого уровней

7.8. Методы обеспечения машинной зависимости и независимости

7.8.1. Метод машинной зависимости

7.8.2. Машинная независимость

7.9. Методы сокрытия данных, операций и управления

7.10. Методы обеспечения читаемости программ текстов

7.11. Методы обеспечения программ документами

Литература

Сокращения для терминов

АП - алгоритмическое программирование

БД - база данных

БЗ - база знаний

ВМ - вычислительная машина

гл. - глава

ГЯ - граф языка

ЕЯ - естественный язык

ЖЦ - жизненный цикл

ИИС - инструментарий интеллектуальной системы

ИМГР - интерпретатор машины грамматического разбора

Интеллсист- интеллектуальная система

ИП - интеллектуальное программирование

КП - концептуальное программирование

КС - контекстно-свободный

ЛП - логическое программирование

МГР - машина грамматического разбора

МТ - машина Тьюринга

НП - наглядное программирование

ПИ - повторное использование

разд. - раздел

СеГ - семантическая грамматика

СиГ - синтаксическая грамматика

СП - синтезированная программа

СУБД - система управления базой данных

СУБЗ - система управления базой знаний

ФРАК - формульный автокод

ФЯ - формальный язык

ЯЛ - язык Лейбниц

ЯП - языковое программирование

ЯПП - язык профессиональной прозы

Введение

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

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

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

Составной и также значительной частью методологии информатики является технология создания нового знания. Большая часть тома посвящена методологическим основам информатики, которые подразумевают детальную планировку деятельности человека, оснащенного СВТ, для создания нового знания. Всю деятельность в информатике подразделяют на этапы (они уже перечислены в подзаголовке), каждый этап - на фазы (их 8), а фазы - на конкретные работы (как в [Боэм85]). Главными этапами являются:

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

  2. проектирование - также в значительной части известная деятельность человека по определению и планированию последовательности работ при создании нового знания;

  3. разработка - рабочая часть в деятельности человека по распределению времени и ресурсов эффективной организации и исполнению всех работ;

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

Четыре этапа отражены в четырех главах тома (4, 5, 6 и 7) в форме разбора основных методов информатики.

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

Глава 1. Методология информатики

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

Сущность программы. В предыдущих томах «Информатики» было показано, что в ИП под программой понимается совокупность БЗ (класса задач) и запроса (конкретная задача) пользователя знаниями. Источником класса программ является БЗ. Такое отчасти схематическое определение (логической) программы и класса (логических) программ позволяет по новому посмотреть на сущность программирования. Впредь далее будем определять программу как совокупность знаний и запросов независимо от того, связаны мы с ВМ или с некоторой познавательной деятельностью. Весь излагаемый материал данного тома подразумевает такое понимания термина «программа». Возможно нам пригодится понятие класса программ, тогда и здесь будем иметь в виду БЗ как условного синонима класса программ. Использование понятий программа, класс программ или программирование подразумевает именно такое понимание. Все излагаемые методы создания программ, классов программ или программирования возникли в ранней информатике, поэтому и источником знаний об этих понятиях являются литература и деятельность человека по применению ВМ, поэтому везде ниже наложен отпечаток таких источников. Считается актуальным распространение нового понимания этих понятий для осмысления информатики.

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

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

Имеющиеся определения методологии. Наиболее полным и удачным описанием сущности понятия методологии программирования (и информатики) считается работа [Турский87]. Будет следовать указаниям этой работы в определении понятия методологии. В книге сказано: «Методология программирования на ВМ - как, по-видимому, и любая другая методология - включает в себя три компоненты, которые почти невозможно отделить одну от другой. Это наука, ремесло и фольклор (мифология)» Действительно, наука изучает цели информатики (программирования) и дает теоретические рекомендации для ответа на вопрос, как искать знания; ремесло - это передача традиций в информатике (программировании), или экспериментальный и эмпирический подход к проблеме поиска решений на ВМ и результата обучения пользователя (программиста); фольклор связан с мифами и ритуалами, с накопленными опытом и особенностями практической деятельности в применении ВМ.

В работе [Непейвода81] указаны такие три кита методологии: теория, технология и прагматика. Теория - это способ обобщения практических знаний на базе строгой проверки методов и методик программирования; технология - это способ конкретизации теоретических знаний применительно к практической деятельности; прагматика - это систематизация практических запросов, потребностей и т.п. на изготовление программы и при оценке качества изготовляемого программного продукта. Характеристика понятия методологии согласуется с приведенной выше, но в данном случае очерчивается несколько другая проблемная область. В этом ничего плохого нет, наоборот, варианты определений способствуют точному пониманию термина.

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

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

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

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

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

  • быть максимально приближенным к средствам ЕЯ для передачи того или иного вида знаний в память ВМ,

  • содержать полный фактический и терминологический материалы для тестирования и верификации программ и знаний,

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

  • быть теоретически и практически обоснованным, что составляет критерий их правильности и пригодности,

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

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

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

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



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

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

  1. Моу «якутский городской лицей» п у б л и ч н ы й о т ч ё т 2009-2010 г г

    Документ
    ... ПОЛНЫЕ СЕМЬИ НЕПОЛНЫЕ СЕМЬИ ОПЕКУНЫ МНОГОДЕТНЫЕ СЕМЬИ 487 ... Гин А. - исследовательские методы в обучении - технология внутриклассной ... Е.Н., учитель информатики Жиркова М.М., учитель информатики Замятина А.В., ... программы ЯГЛ, в том числе и в процессах ...
  2. Образовательная программа (61)

    Основная образовательная программа
    ... (в том числе ЕГЭ ... малообеспеченных семей, для ... и проектный методы, игровые методики ... 3 3 литература 2 2 2 2 2 2 иностранный язык 3 3 3 3 3 3 математика 5 5 5 5 5 5 информатика и ИКТ 1 1 1 1 2 1 история 2 2 2 2 2 2 обществознание 1 1 1 1 1 1 география 2 ...
  3. «создание единого информационного пространства»

    Программа
    ... информатики 1 13 1 1 1 Кабинет информатики 2 13 1 1 1 Кабинет информатики 3 13 1 1 1 Кабинет информатики 4 13 1 1 1 Кабинет информатики 5 11 1 1 1 Кабинет информатики ... исследовательские методы обучения ... незащищенных семей и ... курсов, в том числе с ...
  4. За 2011-2012 учебный год (7)

    Анализ
    ... Информатика 9 82 % Ветрова Т.А. Информатика 8 Б 93 % Ветрова Т.А. Информатика 10 А 100 % Ветрова Т.А. Информатика 10 Б 92 % Ветрова Т.А. Информатика ... методы, используемые для диагностики и определения категорий учащихся и их семей ... благодаря тому ...
  5. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    ... ИНФОРМАТИКА В СЕМИТОМАХТом 1. Основы информатики (Введение в информатику) Москва 1997 - 2003 ИНФОРМАТИКАТом 1. Основы информатики (Введение в информатику) Том 2. Информатика смысла (Машинная лингвистика) Том ...

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