Основы информационных технологий

  • Вид работы:
    Книга / Учебник
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,12 Mb
  • Опубликовано:
    2011-12-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Основы информационных технологий

НАРЫНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет Информационных технологий, экономики и управления

Кафедра «Информационные технологии»









ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

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

для студентов специальности «Автоматизированные системы обработки и управление»


Составитель Б.Ш. Асанкулов







Нарын 2007г.

Оглавление

ЛЕКЦИЯ №1. ВВЕДЕНИЕ

.1 Информатика как единство науки и технологии

.2 Определение информационной технологии

.3 Инструментарий информационной технологии

.4 Составляющие информационной технологии

ЛЕКЦИЯ №2. ЭТАПЫ РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

.1 Признак деления - вид задач и процессов обработки информации

.2 Признак деления-проблемы, стоящие на пути информатизации общества

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

.4 Признак деления - виды инструментария технологии

ЛЕКЦИЯ №3. ПРОБЛЕМЫ ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

.1 Устаревание информационной технологии

.2 Методология использования информационной технологии

.3 Выбор вариантов внедрения информационной технологии в фирме

ЛЕКЦИЯ №4. ОБЩАЯ КЛАССИФИКАЦИЯ ВИДОВ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

.1 Информационная технология обработки данных

.2 Информационная технология управления

.3 Информационная технология промышленности

.4 Информационная технология в административном управлении

.5 Информационная технология экспертных систем

.6 Информационные технологии в образовании

ЛЕКЦИЯ №5. МОДЕЛИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ

.1 Данные

.2 Модели передачи, обработки, накопления данных

.3 Понятие о функциональных задачах

ЛЕКЦИЯ №6. МОДЕЛИ, МЕТОДЫ И СРЕДСТВА РЕАЛИЗАЦИИ НИТ

Лекция №7. Функциональное и логическое программирование

7.1 Функциональное программирование на языке ЛИСП

.2 Логическое программирование на языке ПРОЛОГ

Лекция №8. Технологии разработки программного обеспечения

8.1 Классификация методов проектирования программных продуктов

.2 Этапы создания программных продуктов

.3 Структура программных продуктов

.4 Структурное проектирование и программирование

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

 


ЛЕКЦИЯ №1. ВВЕДЕНИЕ

.1 Информатика как единство науки и технологии

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

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

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

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

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

АСУТП - автоматизированные системы управления технологическими процессами. Например, такая система управляет работой станка с числовым программным управлением (ЧПУ), процессом запуска космического аппарата и т.д.

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

АОС - автоматизированная обучающая система. Есть системы, помогающие учащимся осваивать новый материал, производящие контроль знаний, помогающие преподавателям готовить учебные материалы и т.д.

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

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

1.2 Определение информационной технологии

 

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

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





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

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

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

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

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

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

Для сравнения в табл.1.1 приведены основные компоненты обоих видов технологий.

Таблица 1.1.Сопоставление основных компонентов технологий

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

материальных

информационных

Подготовка сырья и материалов  Производство материального продукта   Сбыт произведенных продуктов потребителям

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


Новая информационная технология

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

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

Таблица 1.2. Основные характеристики новой информационной технологии

Методология

Основной признак

Результат

Принципиально новые средства обработки информации  Целостные технологические системы   Целенаправленные создание, передача, хранение и отображение информации

“Встраивание” в технологию управления   Интеграции функций специалистов и менеджеров  Учет закономерностей социальной среды

Новая технология коммуникаций   Новая технология обработки информации   Новая технология принятия управленческих решений


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

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

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

1 интерактивный(диалоговый) режим работы с компьютером;

2 интегрированность (стыковка, взаимосвязь) с другими программными продуктами;

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

1.3 Инструментарий информационной технологии

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

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

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

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

Как соотносятся информационная технология и информационная система

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

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

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

Реализация функций информационной системы невозможна без знания ориентированной на нее информационной технологии. Информационная технология может существовать и вне сферы информационной системы.

Пример 1.2. Информационная технология работы в среде текстового процессора Winword, который не является информационной системой.

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

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

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

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

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

 

1.4 Составляющие информационной технологии


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

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

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

Пример 1.3. Как следует понимать этап информационной технологии.

Технология создания шаблона формы документа в среде текстового процессора.0 состоит из следующих этапов:

4 этап 1-создание постоянной части формы в виде текстов и таблиц;

5 этап 2-создание постоянной части формы в виде кадра, куда затем помещается рисунок;

6 этап 3- создание переменной части формы;

7 этап 4 - защита и сохранение формы.

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

Пример 1.4. Как следует понимать операцию информационной технологии.

Рассмотрим этап2 (см. пример 1.3) технологии создания постоянной части формы документа в виде кадра в среде текстового процессора Word6.0, который состоит из следующих операций:

8 операция1 - создание кадра;

9 операция 2 - настройка кадра;

10 операция 3 - внедрение в кадр рисунка.


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

Пример 1.5. Как следует понимать действие информационной технологии.

Рассмотрим операцию 3 ( см. пример 1.4) - внедрение в кадр рисунка в среде текстового процессора Word, которая состоит из следующих действий:

11 действие1-установка курсора в кадре;

12 действие2-выполнение команды ВСТАВКА, Рисунок;

действие3-устанока значений параметров и диалоговом окне.

-й уровень - элементарные операции по управлению мышью и клавиатурой.

Пример 1.6. Как следует понимать элементарную операцию информационной технологии. Ею может быть: ввод команды, нажатие правой кнопки мыши, выбор пункта меню и т.п.

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

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

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

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

14 включать весь набор элементов, необходимых для достижения поставленной цели;

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

Контрольные вопросы:

1. Что общего и в чем различие информатики и кибернетики?

. Какие определения информатики вы знаете?

. Какова общая структура современной информатики?

. Какие существуют наиболее известные информационные технологии?

. Какое место занимает информатика в системе наук?

. Что принято понимать под «информационным обществом»?

. Каковы основные социальные последствия информатизации общества?

. Какими нормативными актами регулируются отношения в сфере информатики?

. В чем состоит авторское право на программные средства и базы данных?

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

. Как осуществляется защита авторских и имущественных прав?

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

. Дайте определение информационной технологии.

. Дайте определение новой информационной технологии

. Охарактеризуйте инструментарии информационной технологии

. В чем различие информационной технологии от технологии материального производства.

. Как соотносятся информационная технология и информационная система

. Охарактеризуйте составляющие информационной технологии

 

ЛЕКЦИЯ №2. ЭТАПЫ РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ


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

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

 

2.1 Признак деления - вид задач и процессов обработки информации


-й этап ( 60-70-е гг.)-обработка данных в вычислительных центрах в режиме коллективного пользования. Основным направлением развития информационной технологии являлась автоматизация операционных рутинных действий человека.

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

 

.2 Признак деления-проблемы, стоящие на пути информатизации общества


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

-й этап ( до конца 70-х гг.) связывается с распространением ЭВМ серии IBM/360. Проблема этого этапа - отставание программного обеспечения от уровня развития аппаратных средств.

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

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

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

16 организация доступа к стратегической информации;

17 организация защиты и безопасности информации.

 

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


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

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

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

 

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


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

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

-й этап ( 40-60-е гг. XIX в. ) - “ электрическая” технология, инструментарий которой составляли: большие ЭВМ и соответствующее программное обеспечение, электрические пишущие машинки, ксероксы, портативные диктофоны.

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

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

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

Контрольные вопросы:

1.       Основные направления развития информационной технологии в 1 этапе

2.       Основные направления развития информационной технологии в 2 этапе

.        Основные направления развития информационной технологии в 3 этапе

ЛЕКЦИЯ №3. ПРОБЛЕМЫ ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

 

.1 Устаревание информационной технологии


Для информационных технологий является вполне естественным то, что они устаревают и заменяются новыми.

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

Телеграф передал все свои функции телефону.

Телефон постепенно вытесняется службой экспресс - доставки.

Телекс передал большинство своих функций факсу и электронной почте и т. д.

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

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

 


3.2 Методология использования информационной технологии

 

Централизованная обработка информации на ЭВМ вычислительных центров была первой исторически сложившейся технологией. Создавались крупные вычислительные центры (ВЦ) коллективного пользования, оснащенные большими ЭВМ ( в нашей стране - ЭВМ ЕС). Применение таких ЭВМ позволяло обрабатывать большие массивы входной информации и получать на этой основе различные виды информационной продукции, которая затем передавалась пользователям. Такой технологический процесс был обусловлен недостаточным оснащением вычислительной техникой предприятий и организаций в 60-70-е гг.

Достоинства методологии централизованной технологии:

1 возможность обращения пользователя к большим массивам информации в виде баз данных и к информационной продукции широкой номенклатуры;

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

Недостатки такой методологии очевидны:

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

4 ограничение возможностей пользователя в процессе получения и использования информации.

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

Достоинствами такой методологии являются:

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

6 усиление ответственности низшего звена сотрудников;

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

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

Однако эта методология имеет свои недостатки:

9 сложность стандартизации из-за большого числа уникальных разработок;

10 психологическое неприятия пользователями рекомендуемых вычислительным центром стандартов и готовых программных продуктов;

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

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

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

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

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

3.3 Выбор вариантов внедрения информационной технологии в фирме

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

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

Основной недостаток такой стратегии - непрерывных изменении формы представления информации, приспособленной к конкретным технологическим методам и техническим средствам. Любое оперативное решение «вязнет» на различных этапах информационной технологии.

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

В т о р а я концепция ориентируется на будущую структуру фирмы. Существующая структура будет модернизироваться.

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

К основным ее недостаткам следует отнести:

14 существенные затраты на первом этапе, связанном с разработкой общей концепции и обследованием всех подразделении фирмы;

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

Достоинствами данной стратегии являются:

16 рационализация организационной структуры фирмы;

17 максимальная занятость всех работников;

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

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

Контрольные вопросы:

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

 

ЛЕКЦИЯ №4. ОБЩАЯ КЛАССИФИКАЦИЯ ВИДОВ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ


4.1 Информационная технология обработки данных


Характер и назначение

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

На уровне операционной деятельности решаются следующие задачи:

19 обработка данных об операциях, производимых фирмой;

20 создание периодических контрольных отчетов о состоянии дел в фирме;

21 получение ответов на всевозможные текущие запросы и оформление их в виде бумажных документов или отчетов.

Пример3.25. Примеры рутинных операции:

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

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

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

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

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

25 решение только хорошо структурированных задач, для которых можно разработать алгоритм;

26 выполнение стандартных процедур обработки. Существующие стандарты определяют типовые процедуры обработки данных и предписывают их соблюдение организациями всех видов;

27 выполнение основного объема работ в автоматическом режиме с минимальным участием человека ;

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

29 акцент на хронологию событий;

30 требование минимальной помощи в решении проблем со стороны специалистов других уровней.

Основные компоненты

Представим основные компоненты информационной технологии обработки данных и приведем их характеристики.

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

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

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

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

32 сортировка, с помощью которой упорядочивается последовательность записей;

33 вычисления, включающие арифметические и логические операции. Эти операции, выполняемые над данными, дают возможность получать новые данные;

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

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

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

 

4.2 Информационная технология управления

Характеристика и назначение

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

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

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

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

35 оценка планируемого состояния объекта управления;

36 оценка отклонений от планируемого состояния;

37 выявления причин отклонений;

38 анализ возможных решений и действий.

Информационная технология управления направлена на создание видов отчетов.

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

Специальные отчеты создаются по запросам управленцев или когда в компании произошло что-то незапланированное.

И те другие виды отчетов могут иметь форму суммирующих, сравнительных чрезвычайных отчетов.

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

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

Чрезвычайные отчеты содержат данные исключительного (чрезвычайного) характера.

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

39 отчет должен создаваться только тогда, когда отклонение произошло;

40 сведения в отчете должны быть отсортированы по значению критического для данного отклонения показателя ;

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

42 в отчете необходимо показать количественное отклонение от нормы.

Основные компоненты

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

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

1 данных , накапливаемых на основе оценки операций , проводимых фирмой;

2 планов, стандартов, бюджетов и других нормативных документов, определяющих планируемое состояние объекта управления (подразделения фирмы).

4.3 Информационная технология промышленности

Характеристика и назначение

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

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


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

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

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

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

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

Основные компоненты

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

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

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

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

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

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

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

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

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

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

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

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

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

1   ввод данных с клавиатуры, так и из баз данных;

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

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

4 качественное оформление табличных форм представления данных;

5 многоплановое и качественное оформление данных в виде диаграмм и графиков;

6 проведение инженерных, финансовых, статистических расчетов;

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

Любая современная среда табличного процессора имеет средства пересылки данных по сети.

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

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

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

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

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

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

8   создать файлы видеотекста на своих собственных компьютерах;

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

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

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

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

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

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

информационный технология программный проектирование

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

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

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

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

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

12  перед тем, как начать говорить, каждый участник должен представляться;

13  должны быть организованы запись конференции и ее хранение;

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

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

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

Наиболее популярны три конфигурации построения видеоконференций:

односторонняя видео- и аудиосвязь. Здесь видео- и аудиосигналы идут только в одном направлении, например от руководителя проекта к исполнителям;

15 одностороння видео- и двухсторонняя аудиосвязь. Двухсторонняя аудиосвязь дает возможность участникам конференции, принимающим видеоизображение,

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

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

Факсимильная связь. Эта связь основана на использовании факс-аппарата, способного читать документ на одном конце коммуникационного канала и воспроизводить его изображение на другом.

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

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

Системы обработки данных (СОД) на базе концепции АРМ получили широкое развитие.

АРМ - автоматизированное рабочее место системы управления, оборудованное средствами, обеспечивающими участие человека в реализации автоматизированных функций АСУ.

АРМ присущи следующие признаки:

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

размещение ВТ непосредственно (или вблизи) на рабочем месте пользователя;

возможность создания и совершенствования проектов автоматизированной обработки данных в конкретной сфере деятельности;

осуществление обработки данных самим пользователем;

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

Множество известных АРМ может быть классифицировано на основе следующих обобщенных признаков:

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

тип используемой ЭВМ (микро-, мини-, макро ЭВМ);

режим эксплуатации (индивидуальный, групповой, сетевой);

квалификация пользователей (профессиональные и непрофессиональные).

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

Например, АРМы организационного управления могут быть разделены на АРМ руководителей организаций и подразделений, плановых работников, работников материально-технического снабжения, бухгалтеров и др. Условно все эти АРМ-ы можно назвать АРМ - экономиста.

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

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

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

Можно выделить три класса типовых АРМ:

АРМ руководителя;

АРМ специалиста;

АРМ технического и вспомогательного персонала.

Состав функциональных задач и видов работ (административно-организационный, профессионально-творческий, технический...) требует применения различных инструментальных средств при создании АРМ.

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

Для автоматизации каждой категории работ в настоящее время ПЭВМ оснащены различными ППП.

Программное обеспечение любого АРМ (рис.3.1) подразделяется на более функциональное:

Рис.3.1. Схема программного обеспечения АРМ

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

АРМ должен быть укомплектован необходимыми программно-инструментальными средствами:

операционные системы ЭВМ;

трансляторы (интерпретаторы) с различных алгоязыков и языков пользователей;

средства проектирования и обработки данных (экранные редакторы текстовой, графической информации, СУБД, табличные процессоры, генераторы выходных форм);

собственно пользовательские программы (обрабатывающие, обучающие, СУБД знаний и др.).

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

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

Описанные функциональные возможности АРМ реализуются совокупностью программных компонентов.

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

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

Специальные версии ОС (например, CP/NET), предоставляют средства, с помощью которых несколько ЭВМ, оснащенных ОС СР/М, можно объединить в локальную сеть для совместного использования ресурсов каждой системы. К таким ресурсам относятся диски, устройства печати, различные программы и БД.

В состав ПО АРМ-экономиста входят средства управления информационной базой, обеспечивающие:

создание и актуализацию информационной базы;

поиски требуемой информации по регламентируемым и нерегламентируемым запросам;

организацию форматного ввода-вывода информации;

вычислительную обработку и др.

Для представления данных в информационной базе часто используется реляционная модель. Наряду с реляционными СУБД применяются табличные процессоры. В этом случае входные и выходные данные и НСИ представляются в форме таблиц, алгоритмизация сводится к построению модели расчета показателей выходных документов (ППП Excel). К этой же группе относятся интегрированные СУИБ (Works), которые реализуют функции табличных процессоров, СУБД, редакторов текстов, генераторов выходных документов (ППП SIMPHJNY, LOTUS).

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

Организация экранного диалога - одно из основных требований к технологии АРМ:

.технология ЭО текстов реализует четыре функции:

функции ввода - набора текста с заданием параметров для его верстки, просмотра;

обработки (смысловая сортировка текста, вычисления в табл.);

воспроизведение текста;

форматирование текста и получение документа.

.технология ЭО форм (электронные таблицы, шаблоны).

.система ЭО деловой графики (в виде графиков и диаграмм - столбиковых, линейных, круговых, секторных диаграмм, гистограмм и др.). Например, интегрированный ППП FRAMEWORK (РАДУГА) - работа с рамками, окнами, иерархическими фреймами.

 

4.4 Информационная технология в административном управлении

Характеристика и назначение

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

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

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

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

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

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

1   ориентация на решение плохо структурированных (формализованных) задач;

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

3   направленность на непрофессионального пользователя компьютера;

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

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

Основные компоненты

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


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

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

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

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

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

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

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

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

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

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

1 быстрое прибавление или исключение того или иного источника данных;

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

3 использование и манипулирование неофициальными данными для

экспериментальной проверки рабочих альтернатив пользователя;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 манипулировать различными формами диалога, изменяя их в процессе

принятия решения по выбору пользователя;

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

7 получать данные от различных устройств системы в различном формате;

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

 

4.5 Информационная технология экспертных систем

Характеристика и назначение

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

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

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

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

Основные компоненты

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













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

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

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

8 объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий;

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

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

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

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

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

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

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

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

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

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

 

4.6 Информационные технологии в образовании


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

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

повышение эффективности и качества процесса обучения;

повышение активности познавательной деятельности;

углубление межпредметных связей;

увеличение объема и оптимизация поиска нужной информации.

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

развитие различных видов мышления;

развитие коммуникативных способностей;

формирование умений принимать оптимальное решение или предлагать варианты решения в сложной ситуации;

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

формирование информационной культуры, умений осуществлять обработку информации;

развитие умений моделировать задачу или ситуацию;

формирование умений осуществлять экспериментально-исследовательскую деятельность.

) Работа на выполнение социального заказа общества:

подготовка информационно грамотной личности;

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

осуществление профориентационной работы в области информатики.

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

1 этап характеризуется следующими признаками:

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

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

общество идет по пути осознания сути и необходимости процессов информатизации;

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

2 этап характеризуется следующими признаками:

активное освоение и фрагментарное внедрение средств НИТ в традиционные учебные дисциплины;

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

активная разработка и начало освоения педагогами учебно-методического обеспечения;

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

3 этап характеризуется следующими признаками:

повсеместное использование средств современных ИТ в обучении;

перестройка содержания всех ступеней непрерывного образования на основе его информатизации;

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

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

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

Программные средства учебного назначения

И.В. Роберт [54] применительно к традиционному учебному процессу выделила следующие методические цели использования программных средство учебного назначения (ПСУН):

индивидуализировать и дифференцировать процесс обучения;

осуществлять контроль с диагностикой ошибок и с обратной связью;

осуществлять самоконтроль и самокоррекцию учебной деятельности;

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

визуализировать учебную информацию;

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

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

формировать умение принимать оптимальное решение в различных ситуациях;

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

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

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

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

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

Обучающие программы

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

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

наличие цели учебной работы и алгоритма достижения этой цели;

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

завершение каждого шага самопроверкой и возможным корректирующим воздействием;

использование автоматического устройства;

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

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

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

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

учитывать фактор памяти (оперативной, кратковременной и долговременной).

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

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

Обучающие программы распространяются, как правило, на дискетах или СD, ВВS и FTP. Чаще всего такие программы применяют для демонстраций в ходе учебных занятий или самостоятельного изучения предмета. Наибольшую популярность среди такого рода учебных материалов получили различные курсы иностранных языков, гораздо реже попадаются обучающие программы по естественнонаучной тематике: например «Физика на компьютере». Особая разновидность учебных пособий -- разнообразные мультимедийные энциклопедии, такие, как Microsoft Encarta, «Большая Энциклопедия Кирилла и Мефодия» Не являясь чисто учебными материалами, они тем не менее могут оказаться весьма полезными в школах в качестве справочных пособий и средств расширения кругозора учащихся.

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


Ресурсы

Издатели/разработчики

1С: Репетитор. Физика

1С: Репетитор. Химия

1С:Репетитор. Русский язык

1С;Репетитор. Тесты по пунктуации

English Gold 2000

Мультимедиа Технологии и ДО

English Reading Club

Новый диск

Oxford Platinum

Мультимедиа Технологии и ДО

TeachPro Internet

Мультимедиа Технологии и ДО

TeachPro Office 2000

Мультимедиа Технологии и ДО

TeachPro PowerPoint 2000

Мультимедиа Технологии и ДО

TeachPro Windows 2000

Мультимедиа Технологии и ДО

TeachPro Word 2000

Мультимедиа Технологии и ДО

TeachPro Математика

Мультимедиа Технологии и ДО

TeachPro Решебник по математике

Мультимедиа Технологии и ДО

TeachPro Решебник по физике

Мультимедиа Технологии и ДО

TeachPro Решебник по химии

Мультимедиа Технологии и ДО

А.С. Пушкин. В зеркале двух столетии Алгебра. Электронный учебник

РМЦ КУДИЦ/Кордис-Медиа

Английский для общения Английский язык. Быстрый старт

Диск-Т NMG МедиаХауз

Библиотека школьника

Протеке

Биология человека Весь мир на ладони

Квадрат+ РМЦ

География. 8 класс Грамотей. Школьный комплект Живая геометрия

ЭРИКОС ИНТ

Интеллект-тренажер История Древнего мира. Загадки Сфинкса

АДП.Ком МедиаХауз Кордис-Медиа МЦФ

История России. 1917 -- 1935 гг. История России: XX век. Как решить проблему

КлиоСофт Новый Диск F-BIT

Конструктивная геометрия

МедиаХауз

Курс математики 2000 для школьников и абитуриентов.

МедиаХауз Кирилл и Мефодий Formoza

Москвоведение Начальный курс географии. 6 класс Наш дом -- Земля. География.

Кордис-Медиа РМЦ РМЦ

От Кремля до рейхстага От плуга до лазера

Новый Диск

Практический курс. Internet Explorer 5.0

Кирилл и Мефодий

Профессор Хиггинс. Версия 3.0

ИстраСофт

Психологический практикум

КУДИЦ

Пушкин. Сочинения

F-BIT

Репетитор диктант

Репетитор Мультимедиа

Россия на рубеже третьего тысячелетия

РМЦ

Русская литература XIX века

F-BIT

Самоучитель Microsoft Windows 98

Новый Диск

Самоучитель Microsoft Word 2000

Новый Диск

Система скорочтения

Зеленый остров

Л.Н. Толстой. Полное собрание сочинений

МЦФ

Ф.М. Достоевский. Полное собрание сочинений

МЦФ


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

прямого программирования на языках высокого уровня (в том числе на JAVA для сетевых вариантов ПСУН);

инструментальных систем, которые позволяют изготавливать ПСУН преподавателю-предметнику, незнакомому с программированием. Среди используемых отечественных инструментальных систем можно отметить АДОНИС, УРОК и системы, позволяющие создавать мультимедиа программные продукты, это: ДЕЛЬФИН-3 (разработка МЭИ), Statpro Multimedia (разработка МЭСИ) и др.

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

заказа специализированным государственным или коммерческим организациям на изготовление ПСУН.

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

Эргономическая оценка программного продукта

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

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

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

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

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

Электронные учебники

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

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

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

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

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

Организация учебной информации в виде гипертекста. Гипертекст -- возможность создания «живого», интерактивного учебного материала, снабженного взаимными ссылками на различные части материала. Термин «гипертекст» ввел в 1963 г. Т.Nelson для обозначения понятия -- комбинации текста на естественном языке со способностью компьютера осуществлять интерактивный выбор следующей порции информации или динамичного воспроизведения нелинейного текста, который не может быть напечатан обычным способом на листе бумаги. В.С.Токарева дает следующее определение: «гипертекст -- это способ хранения и манипулирования информацией, при котором она хранится в виде сети связанных между собой узлов» Гипертекст дает возможность разделить материал на большое число фрагментов, соединив их гиперссылками в логические цепочки. А затем на основе одного оформленного соответствующим образом материала моделирование «собственных» учебников для каждого учащегося, в зависимости от его уровня подготовки, быстроты усвоения и , интересов.

Наличие мультимедиа (multi -- много, media -- среда). -- богатейшего арсенала способов иллюстрации изучаемого явления. Продукты мультимедиа применяют многообразные разновидности информации: компьютерные данные, теле- и видеоинформацию, речь и музыку. Такое объединение ведет к использованию разнообразных технических устройств регистрации и воспроизведения информации, допускающих управление от компьютера телевизором, видеомагнитофоном, HiFi-аудиосистемой, проигрывателем компакт-дисков (СD), магнитофоном и электронными музыкальными инструментами. Мультимедиа-средства по своей природе интерактивны, то есть зритель и слушатель мультимедиа-продуктов не остается пассивным. Мультимедиа повышает качество обучения и позволяет удерживать внимание обучаемого. Если раньше изношенный черно-белый фильм «Действия населения в условиях химической тревоги», показываемый на занятиях по гражданской обороне, был пределом мечтаний, то современные технические средства позволяют создать куда более зрелищные учебные пособия в виде компьютерной анимации или даже игры.

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

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

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

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

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

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

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

уделение особого внимания интерфейсу пользователя;

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

архитектура учебника должна включать графическое обеспечение, которое позволяет передать необходимый объем информации при краткости его изложения. Графическую информацию можно использовать в учебном процессе не только как фрагмент гипертекста. Известна, например, американская методика преподавания на основе конкретных ситуаций (case-method) принципам ведения бизнеса, основанная на серии рисунков или рисованных фильма. Однако, требуется соблюдение меры в графическом оформлении, так как это может привести к отходу от целей обучения.

Контроль знаний

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

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

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

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

обеспечивают возможность изменения трудности заданий;

позволяют обучаемому работать в индивидуальном темпе;

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

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

дает возможность анализировать ответы разных типов (выборочный, инъекцийный, перестановочный, классификационный, полностью конструируемый обучаемым);

распознает различные синонимы правильных ответов;

проводит синтаксический и семантический анализы ответов обучаемых;

различает технические (орфография, ошибки клавиатурного набора) и существенные ошибки;

локализует местонахождение ошибки;

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

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

Тестовая система компьютерного контроля

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

тестовые вопросы и варианты ответов на них должны быть четкими и понятными по содержанию;

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

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

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

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

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

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

необходимо проводить учет времени, затраченного на ответы, и ограничивать это время.

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

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

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

В настоящее время наиболее широко распространены тестовые вопросы следующих типов [24]:

Тип А. Наиболее простой. В нем в качестве вопроса фигурирует фраза в вопросительной или утвердительной форме, и предлагаются только два возможных варианта ответов: «Да» и «Нет». Один их этих ответов является истинным, другой -- ложным. Например, вопрос: Волга впадает в Каспийское море. Возможные варианты ответа: Да, Нет. Правильный ответ: Да.

Тип Б. На поставленный вопрос нужно дать ответ, выбрав один или несколько пунктов из предложенных вариантов. При этом предполагается, что среди предложенных вариантов ответа присутствуют все правильные, а также несколько ложных. Например, вопрос: Волга впадает в ……… море. Возможные варианты ответа: Азовское, Черное, Каспийское, Средиземноморское. Правильный ответ: Каспийское.

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

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

Тип Д. Требуется переставить элементы списка в соответствии с заданным условием. Например, вопрос: Расставьте следующие события в хронологическом порядке. Список: первый полет человека в космос, первая высадка человека на Луну, запуск первого искусственного спутника Земли.

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

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

Контрольные вопросы:

1.       Перечислите классификации видов информационных технологий.

2.       Характер и назначение информационной технологии обработки данных

.        Характер и назначение информационной технологии управления

.        Характер и назначение информационной технологии промышленности

.        Что такое АРМ?

.        Характер и назначение информационной технологии экспертных систем

.        Характер и назначение информационной технологии в образовании

.        Что такое обучающая программа?

.        Что такое электронный учебник. Ее характеристики.

ЛЕКЦИЯ №5. МОДЕЛИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ

 

.1 Данные


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

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

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

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

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

При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:

• данные как результат измерений и наблюдений;

• данные на материальных носителях информации (таблицы, протоколы, справочники);

• модели (структуры) данных в виде диаграмм, графиков, функций;

• данные в компьютере на языке описания данных;

• базы данных на машинных носителях.

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

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

При обработке на ЭВМ знания трансформируются аналогично данным:

• знания в памяти человека как результат мышления;

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

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

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

базы знаний.

Часто используются такие определения знаний:

знания - это хорошо структурированные данные, или данные о данных, или метаданные.

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

Пример 16.1. Понятие "персональный компьютер". Его интенсионал: "Персональный компьютер - это дружественная ЭВМ, которую можно поставить на стол и купить менее чем за $2000 - 3000'".

Экстенсионал этого понятия: "Персональный компьютер - это Mac, IBM PC, Sinkler..."

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

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

поверхностные - знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;

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

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

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

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

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

• продукционные;

• семантические сети;

• фреймы;

• формальные логические модели.

 

5.2 Модели передачи, обработки, накопления данных


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

 

канал связи

 

ИСТОЧНИК

-----------

ПРИЁМНИК


Примеры:

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

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

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

Информацию можно:

·             
создавать;

·              передавать;

·              воспринимать;

·              использовать;

·              запоминать;

·              принимать;

·              копировать;

·              формализовать;

·              распространять;

·              преобразовывать;

·              комбинировать;

·              обрабатывать;

·              делить на части;

·              упрощать;

·              собирать;

·              хранить;

·              искать;

·              измерять;

·              разрушать;

·              и др.

Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами.

Свойства информации:

·              достоверность;

·              полнота;

·              ценность;

·              своевременность;

·              понятность;

·              доступность;

·              краткость;

и др.

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

Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел.

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

Точность информации определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.п.

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

Только своевременно полученная информация может принести ожидаемую пользу. Одинаково нежелательны как преждевременная подача информации (когда она ещё не может быть усвоена), так и её задержка.

Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной.

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

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

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

Обработка информации - получение одних информационных объектов из других информационных объектов путем выполнения некоторых алгоритмов.

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

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

Компьютеры обрабатывают информацию путем выполнения некоторых алгоритмов.

Живые организмы и растения обрабатывают информацию с помощью своих органов и систем.

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

 

5.3 Понятие о функциональных задачах


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

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

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

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

Задача (problem, task) - проблема, подлежащая решению.

Приложение (application) - программная реализация на компьютере решения задачи.

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

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

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

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

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

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

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

Рис. 8.1. Схема процесса создания программ

Постановка задачи (problem definition) - это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.

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

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

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

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

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

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

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

Рис. 8.2. Схема взаимосвязи входной и выходной информации для решения задачи

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

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

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

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

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

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

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

Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками -операторами ЭВМ.

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

Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ

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

Язык Лисп - один из первых языков обработки данных в символьной форме. Его название происходит от английских слов «list processing » - «обработка списков». В Лиспе и программа, и обрабатываемые ею данные представляются в одной и той же форме - в форме списка. Таким образом, программы могут обрабатывать и преобразовывать другие программы и даже самих себя.

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

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

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

Контрольные вопросы:

1.       Что такое данные? Характеристики.

2.       Что такое знания. Где они используются?

.        Перечислите модели информационных процессов

.        Охарактеризуйте модели передачи, обработки, накопления данных

.        Что такое обработка информации

.        Дайте определения терминам: программа, программное обеспечение, задача, приложение.

.        Виды задач.

.        Что означает постановка задачи?

.        Дайте определение термина алгоритм.

.        Свойства алгоритма.

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

.        Какие виды программистов Вы знаете?

.        Какие виды языков программирования Вы знаете. Их отличия.

ЛЕКЦИЯ №6. МОДЕЛИ, МЕТОДЫ И СРЕДСТВА РЕАЛИЗАЦИИ НИТ


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

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

И.В.Роберт под средствами современных информационных и коммуникационных технологий понимает программные, программно-аппаратные и технические средства , а так же устройства, функционирующие на базе микропроцессорной, вычислительной техники, а также современных средств и систем транслирования информации, информационного обмена, обеспечивающие операции по сбору, продуцированию, накоплению, хранению, обработке, передаче информации и возможность доступа к информационным ресурсам компьютерных сетей (в том числе глобальных). К средствам современных информационных и коммуникационных технологий относятся ЭВМ, ПЭВМ, комплекты терминального оборудования для ЭВМ всех классов, локальные вычислительные сети, устройства ввода-вывода информации, средства ввода и манипулирования текстовой и графической информацией, средства архивного хранения больших объемов информации и другое периферийное оборудование современных ЭВМ; устройства для преобразования данных из графической или звуковой формы представления данных в цифровую и обратно; средства и устройства манипулирования аудиовизуальной информацией (на базе технологий Мультимедиа и «Виртуальная реальность»); системы искусственного интеллекта; системы машинной графики, программные комплексы (языки программирования, трансляторы, компиляторы, операционные системы, пакеты прикладных программ и пр.) и др.; современные средства связи, обеспечивающие информационное взаимодействие пользователей как на локальном уровне (например, в рамках одной организации или нескольких организаций), так и глобальном (в рамках всемирной информационной среды) [54].

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

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

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

·        обеспечить первоочередное развитие опережающего производства информации и знаний;

·        подготовить квалифицированные кадры;

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

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

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

·        переподготовка преподавателей в области современных информационных технологий;

·        информатизация процесса обучения и воспитания;

·        оснащение системы образования техническими средствами информатизации;

·        создание современной национальной информационной среды и интеграция в нее учреждений образования;

·        создание на базе современных информационных технологий единой системы дистанционного образования в КР;

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

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

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

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

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

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

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

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

• незамедлительная обратная связь между пользователем и СНИТ;

• компьютерная визуализация учебной информации об объектах или закономерностях процессов, явлений, как реально протекающих, так и "виртуальных";

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

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

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

Реализация вышеперечисленных возможностей СНИТ позволяет организовать такие виды деятельности как.'

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

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

• управление реальными объектами (например, учебными роботами, имитирующими промышленные устройства или механизмы);

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

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

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

 


Лекция №7. Функциональное и логическое программирование

 

7.1 Функциональное программирование на языке ЛИСП

 

НАЗНАЧЕНИЕ И ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА

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

Язык Лисп - один из первых языков обработки данных в символьной форме. Его название происходит от английских слов «list processing » - «обработка списков». В Лиспе и программа, и обрабатываемые ею данные представляются в одной и той же форме - в форме списка. Таким образом, программы могут обрабатывать и преобразовывать другие программы и даже самих себя.

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

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

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

ОСНОВНЫЕ ЭЛЕМЕНТЫ ПРОГРАММЫ НА ЛИСПЕ. СПИСКИ

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

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

Главной структурой в Лиспе является список.

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

(ab(cd)e)

(В группе 18 студентов)

(((((первый) 2) третий) 4) 5).

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

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

(а1 а2 ... aN) = (а1. (а2.... (aN.Nil)...)).

Здесь Nil - это предопределенная константа, означающая пустой список (и одновременно логическое значение «Ложь»).

Атомы и списки называются S-выражениями. Все вышесказанное можно обобщить в следующих формах Бэкуса - Наура

<S-выражение> :: = <атом> | <список>

<список> :: = (<внутренняя часть>)

<внутренняя часть> :: = NIL | <S-выражение> [{внутренняя часть}}

<атом> :: = цепочка алфавитно-цифровых символов без пробелов или специальных символов (,);.

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

(сотрудник

(имя Петр)

(отчество Петрович )

(фамилия Иванов)

( образование ( среднее (с 1969 по 1979))

(высшее ( ВГУ г.Воронеж (с 1979 по 1982)

(МГУ г. Москва (с 1982 по 1984)) ( специальность

(техническая кибернетика)

(программирование )

(стаж (с 1984 по 1997)

)

ФУНКЦИИ

Функции в Лиспе аналогично математическим функциям ставят в соответствие элементам из одного множества - определения (аргументов) - единственный элемент из множества значений. В программах следует различать определение функций и вызов (применение) функции.

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

(f x)

(g x y) (сумма_квадратов 2 3).

Аналогично записываются и арифметические действия:

(+ х у)

(*x(+yz))

(+ (^ х х) (+ у у)).

Определение функций и их вычисление в Лиспе основано на лямбда-исчислении Черча. В 1-исчислении Черча функция записывается в виде

(х1,х2,... ,xn) .fn

В Лиспе 1-выражение имеет вид (LAMBDA (xl, x2,..., xn).fn).

Символ LAMBDA означает, что мы имеем дело с определением функции. Символы xi являются формальными параметрами, они образуют список, называемый лямбда-списком; fn - это тело функции, которая может иметь произвольную форму, допускаемую интерпретатором Лиспа. Телом функции может быть, например, константа или композиция из вызовов функций. Функцию, вычисляющую сумму квадратов двух чисел, можно, например, определить так:

(lambda(xy)(+(*xx)(*yy))).

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

(лямбда-выражение а1 а2 ... an)

Здесь ai - фактические параметры, с которыми происходит вычисление.

Например

((lambda (х у) (+ (* х х) (* у у))) 3 4).

Результат: 25.

Определить новую функцию и дать ей имя для последующих вызовов можно с помощью функции DEFUN (define function):

(DEFUN имя лямбда-список тело).

DEFUN соединяет символ с лямбда-выражением, и символ начинает представлять (именовать) определенные этим лямбда-выражением вычисления. Значением этой формы является имя новой функции:

(defun sumsquare (х у) (+ (* х х) (* у у))) .

Результат: sumsquare.

Вызов (применение) этой функции:

(sumsquare 34)

Результат: 25.

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

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

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

CAR, CDR, CONS, ATOM, EQ, EQL, =

и другие, смысл которых отражен в табл. 7.1

Таблица 7.1

Базовые функции обработки S-выражений

Функция

Вызов

Действие

Пример использования

CAR

(CAR список)

Возвращает головною часть списка - его 1-й элемент

(CAR(1 234)) Результат:1

CDR

(CDR список)

Возвращает хвостовую часть списка- все. кроме 1-го элемента

(CDR(! 234)) Результат:(2 3 4)

CONS

(CONS S-выражение список)

Строит список из переданных в качестве аргументов головы и хвоста

(CONS I (2 3 4)) Результат: (1234)

ATOM

(ATOMS-выражение -)

Предикат; проверяет, является ли аргумент атомом, и возвращает либо t (истина), либо Nil или ("(ложь)

(ATOM A) : t (ATOM (1 2 3)): Nil

EQ

(EQ символ Символ)

Предикат: проверяет тождественность символов-аргументов, неприменим для чисел

(EQ A A):  (EQ X (CAR (X Y Z))): t t

EQL

(EQL число число)

Предикат, проверяет тождественность чисел одного типа

(EQL 3.0 3.0): t

=

(= число число)

Предикат, проверяет тождественность чисел различных типов

(=30.3el):t

EQUAL

(EQUAL число или список  число или список)

Аналогична EQL, но, кроме того, проверяет идентичность списков

(EQUAL(xyz)(xyz)):t

EQUALP

(EQUALP объект объект)

Проверка наиболее общего равенства


NULL

(NULL список)

Проверка, является ли аргумент пустым списком


NOT

(NOT логическая величина)

Логическое отрицание


NTH

(NTH n список)

Выделение n-го элемента списка

(NTH 2 (1 2 3)): 3 (индексы начинаются с 0)

FIRST


Предикаты, выделяющие


SECOND


Соответствующие элементы списка


LAST




LIST

(LIST apr арг2 ...)

Строит из аргументов список

(LIST a b (с)): (a b c)


Отметим, что в программах на Лиспе надо тщательно отличать значения от их обозначений.

В Лиспе константы обозначают самих себя. Выражения типа (* 2 2) сразу вычисляются. Чтобы избежать нежелательного вычисления выражения используется функция QUOTE или знак апострофа (') перед выражением:

(* 2 2) : 4

' (* 2 2) :' (* 2 2) - список

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

(SET 'операции' (+ - * /))

Знак ' используется для подавления вычисления аргументов функции SET. Функция SETQ не вычисляет значения 1-го аргумента (а 2-го вычисляет).

На значение символа можно сослаться, указав его без апострофа (').

Для занесения значений в ячейку памяти, связанной с символом, можно пользоваться обобщенной функцией присваивания SETF, размещающей значения в соответствующей ячейке памяти:

(SETF ячейка_памяти значение).

Переменная «ячейка_памяти» без апострофа указывает на ячейку памяти. Присвоение, выполняемое функциям» SET, SETQ и SETF, является побочным эффектом , этих функций, помимо того, данные функции возвращают присваиваемые значения.

ФОРМЫ. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ В ЛИСП-ПРОГРАММЕ

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

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

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

работа с контекстом

• QUOTE или блокировка вычисления,

• вызов функции и лямбда-вызов,

• предложения LET и LET*;

последовательное исполнение

• предложения PROG1, PROG2 и PROGN;

разветвление исполнения

• условные предложения COND, IF, WHEN, UNLESS,

• выбирающее предложение CASE;

итерации

циклические предложения DO, DO*, LOOP, DOTIMES, DOUNTIL;

передачи управления

• предложения PROG, GO и RETURN;

динамическое управление вычислением

THROW, CATCH, а также BLOCK.

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

Предложение LET используется для создания связи переменных внутри формы:


При вычислении этого выражения статические переменные пep1, пер2, ... связываются (одновременно) с соответствующими значениями знач1, знач2, ..., а затем вычисляются значения форм форма1, форма2, ... Значение последней формы возвращается как общий результат. Форма LET* отличается от LET лишь тем, что связывание переменных и вычисление форм происходит не одновременно, а последовательно, вначале 1-е, потом 2-е и т.д.

Например:

(let*((x2)(y(*3x)))

(list x у)

Результат: (2 6).

Предложения PROG1, PROG2 и PROGN позволяют организовывать последовательные вычисления из нескольких вычисляемых форм:

(PROG1 форма1 форма2 ... формаn)

(PROG2 форма1 форма2 .. формаn)

(PROGN форма1 форма2 . формаn).

Различие этих форм лишь в возвращаемых ими в качестве общего значения результатах. Форма PROG1 возвращает значение формы1, PROG2-формы2, PROGN -последней формы n.

Например:

(progn (setq x 2) (setq у (* 3 х)))

Результат: 6.

Предложение COND является основным средством разветвления обработки. Структура условного предложения такова:

(COND (р1 а1) (р2 а2)... (pn an)).

pi - это предикаты (выражения-условия, которые могут быть либо истинными (Т), либо ложными (NIL)). Их значения вычисляются слева направо, пока не будет получено значение «истина» (Т), затем вычисляется и возвращается в качестве результата результирующее выражение ai. соответствующее 1-му истинному предикату pi. Если истинного предиката нет. то значение COND - NIL. Форма ai для соответствующего предиката может отсутствовать (тогда возвращается значение этого предиката в случае его истинности), или, наоборот, может быть задана последовательность форм для предиката pi - тогда эти формы вычисляются последовательно и возвращается значение последней.

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

(defun тип (1)

(cond ((null 1) 'пусто)

((atom 1) 'атом)

(t 'список)))

Результат: ТИП.

Примеры применения этой функции:

(тип ' (a b с))

Результат: СПИСОК.

(тип (atom ' (а т о м)))

Результат: ПУСТО.

Для организации ветвления можно использовать и формулы IF, WHEN, UNLESS:

(IF условие то-форма иначе-форма),

что эквивалентно

(COND (условие то-форма) (Т иначе форма));

(WHEN условие форма1 форма2 ...),

что эквивалентно

(UNLESS (NOT условие) форма! форма2 ...)

или

(COND (условие форма1 форма2 ...)).

Можно применять и выбирающее предложение CASE:

(CASE ключ (список ключей1 форма11 форма12 ...)

(список ключей2 форма21 форма22 . . .)

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

Предложения PROG, GO и RETURN аналогичны конструкциям неструктурных языков программирования (типа FORTRAN, Бейсик); пользоваться ими не рекомендуется.

РЕКУРСИЯ И ЦИКЛ В ПРОГРАММАХ НА ЛИСПЕ

В «чистом» функциональном программировании организация повторяющихся вычислений должна происходить лишь с помощью условных предложений и определения рекурсивных, вызывающих самих себя, функций. Рассмотрим в качестве примера функцию, просто определяемую через рекурсию, - факториал n!=1*2 * 3 *...* (n-1) * n = (n-1)! т n (0! = 1 по определению):

(defun ! (n) (if(= п 0) 1 (* п (! (. п 1))))) .

Имя функции - "!", ее аргументом является переменная n. Лямбда-выражение, определяющее функцию, представляет собой условную if-форму, которая в случае n=0 возвращает 1, а в противном случае вычисляет произведение n и результата вызова этой же функции ! для аргумента n-1.

Пример вызова этой функции:

(!5)

Результат: 120.

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

(DO ((nepi знач! шаг1) (пер2 знач2 шаг 2) ...)

(условие-окончания форма11 форма12 ...)

форма21 форма22 ...)

Вычисление предложения DO начинается с присваивания переменным пep1, пер2, ... начальных значений знач1, знач2, . . . соответственно; потом вычисляется условие окончания и, если оно истинно, последовательно вычисляются формы форма1i, и значение последней возвращается как результат DO-предложения. В противном случае вычисляются формы форма2i из тела предложения DO, затем значения переменных пep1, пер2, . . . изменяются на величину шага шаг1, шаг2, ... и все повторяется.

Для примера с помощью предложения DO определим функцию expt, вычисляющую n-ю степень числа х (n - целое положительное):

(defun expt (х n)

(do ((результат 1)) ; начальное значение

((= n 0 ) результат ) ; условие окончания

(setq результат (* результат х))

(setqn(^nl))))

Результат задания функции: EXPT.

Пример вызова:

(expt 2 3)

Результат: 8.

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

ВВОД-ВЫВОД ДАННЫХ

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

Для вывода результатов можно использовать функцию PRINT. Это функция с одним аргументом, которая сначала вычисляет значение аргумента, а затем выводит это значение.

Например:

(PRINT (* 2 2))

Результат: 4.

Перед выводом происходит переход на новую строку.

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

(setq input (read));

прочитанное READ выражение присваивается переменной input.

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

Для форматного вывода (в соответствии с некоторым образом) существует функция FORMAT, обладающая гибкими возможностями, описанными в руководствах по языку Лисп.

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

ПРИМЕР ПРОГРАММИРОВАНИЯ НА ЛИСПЕ

Рассмотрим в качестве примера программирования на Лиспе менее элементарную классическую задачу, носящую название игры в «ханойские башни».

Игра состоит в следующем. Используются три вертикальных стержня А, В, С и набор N дисков разного диаметра с отверстием посередине (так что их можно надевать на стержни). В начальном положении все диски надеты на стержень А по порядку убывания диаметров: внизу самый большой, над ним - поменьше и т.д., а наверху - самый маленький. Целью является перенос всех дисков со стержня А на стержень В по следующим правилам:

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

) больший по размеру диск нельзя положить на меньший;

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

) перенести со стержня А N-1 дисков на вспомогательный стержень С;

перенести нижний диск со стержня А на стержень В;

перенести со стержня С N-1 дисков на стержень В.

Программа состоит из трех последовательно определяемых функций «ханойские-башни», «перенос», «выведи» и имеет вид:

 

Программа 130

(defun ханойские-башни (высота)

(рrоgn (перенос "а "Ь "с высота) "готово))

ХАНОЙСКИЕ-БАШНИ

(defun перенос (из в вспомогательный n)

(cond

((= п 1) ; ветвь 2

(выведи из в) (t (перенос из ; ветвь1 вспомогательный

в

(- n 1))

(выведи из в)

(перенос вспомогательный ; ветвь 3

в

из

(- п 1)))))

ПЕРЕНОС

(defun выведи (из в)

(format t "~S -> ~S~%"из в))

ВЫВЕДИ

Вызов функции «ханойские башни» дает такое решение:

(ханойские-башни 3)

А->В

А->С

В->C

А->В

С->А

С->В

А->В

ГОТОВО

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

СВОЙСТВА СИМВОЛОВ

В Лиспе могут быть определены, так называемые, свойства символов. Список свойств имеет вид:

(имя_свойства1 значение1 имя_свойства2 значение2 . .. имя_свойстваN значениеN).

Присваивание нового свойства или изменение значения существующего осуществляется с помощью функции PUTPROP (или просто PUT):

(PUTPROP символ свойство значение).

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

(GET символ свойство).

С использованием этой функции можно также присваивать свойства символам:

(SETF (GET символ свойство) значение).

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

7.2 Логическое программирование на языке ПРОЛОГ


Язык Пролог является представителем семейства языков логического программирования и в сравнении с традиционными языками программирования, предназначенными для записи алгоритмов, такими как Бейсик, Фортран, Паскаль, Си, обладает существенными особенностями:

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

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

• Пролог требует особого стиля мышления программиста, что затрудняет изучение его теми, кто уже привык к процедурному программированию, поэтому, так называемые, практические программисты не стремятся переходить на этот язык, что мешает росту популярности Пролога; однако во многих странах (Японии, Англии, Франции, Германии, Израиле и т.д.) расширяется практика применения Пролога в образовании как первого изучаемого языка программирования; переход к процедурным языкам типа Паскаля в этом случае трудностей не вызывает.

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

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

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

) объявление фактов об объектах и отношениях между ними;

) определение правил взаимосвязи объектов и отношений между ними;

) формулировка вопроса об объектах и отношениях между ними.

Имена - это последовательности букв и цифр, начинающиеся с буквы (строчной !). Системы программирования на Прологе для компьютеров допускают использование лишь латинских строчных и прописных букв: а .. z, A .. Z. Использование русских строчных и прописных букв: а .. я, А .. Я не допускается. При практической работе с интерпретатором рекомендуется, чтобы смысл имен оставался понятным, использовать в качестве имен запись русских слов латинскими буквами. В данном параграфе мы будем записывать все имена русскими буквами, чтобы сделать смысл программ наиболее понятным. При запуске этих программ в «англо-язычных» системах программирования нужно заменять русские буквы в именах на латинские.

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

Рис.3.1 5. Классификация типов данных Пролога

Примеры специальных атомов:

: - ( обозначающая импликацию),

? (вопрос, обозначающий отрицание),

! (предикат отсечения, рассматривается далее).

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

Структура - это конструкция, состоящая из имени структуры и заключенного в скобки списка ее аргументов, разделенных запятыми. Элементами структур могут быть числа, атомы, переменные, другие структуры и списки. Примеры структур: str(A,B,C), носит(юрий,пиджак).

Списки представляют собой объединение элементов произвольных видов, разделенных запятыми и заключенных в квадратные скобки. Списки отличаются от структур тем, что количество элементов может меняться при выполнении программы. Примеры списков: [1,3,5,7], [красный,желтый,зеленый].

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

• константа сопоставляется только с равной ей константой;

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

• переменная сопоставляется с константой или с ранее связанной переменной (и становится связанной с соответствующим значением);

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

Примеры: 5 сопоставляется с 5, «имеет» сопоставляется с «имеет», «сергей» не сопоставляется с «юрий», «имеет(сергей,машина)» не сопоставляется с «имеет(сергей, телевизор)», «имеет(сергей,машина)» сопоставляется с «имеет(Х,машина)», в этом случае переменная Х получает в качестве значения атом «сергей».

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

Пример 1. Факты, описывающие телефонные номера:

телефон(иванов,т561532).

телефон(петров,т642645).

телефон(сидоров,т139833).

Это означает: телефон Иванова - 56-15-32 и т.п. Заметим, что перед цифрами номера идет буква ''т". Она делает номер телефона литерной константой, так как числа 561532,642645, 139833 слишком велики, чтобы быть числовыми константами.

Пример 2, Факты, описывающие студентов:

нравится(сергей,рэп).

нравится(юрий,джаз).

носит(сергей,блейзер).

носит(юрий,пиджак).

Это означает: «Сергею нравится рэп», «Юрию нравится джаз» и т.п.

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

<голова правила> : - <список подцелей>

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

крутойпарень(Х):- нравится(Х,рэп),носит(Х,блейзер).

Это означает «любой Х - крутой парень, если Х нравится рэп и Х носит блейзер». Еще примеры правил:

ест(Х,Y): - пища(Y), любит(Х,Y). («Каждый Х ест любой Y, если Y - пища,

и Х любит Y»)

владелец(А,В) : - купил(А,В). («Любой А есть владелец каждого В, если А купил В»)

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

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

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

?-телефон(иванов,т123456).

и ответ будет «Нет», так как константа т123456 не согласуется ни с одним фактом.

Если к базе знаний (пример 3)

нравится(сергей ,рэп).

нравится(юрий,джаз).

носит(сергей,блейзер).

носит(юрий,пиджак).

крутойпарень(Х) : - нравится(Х,рэп),носит(Х,блейзер).

задать вопрос

?-крутойпарень(юрий).

то будет получен ответ «Нет». В самом деле, в результате резолюции утверждение в этом вопросе согласно правилу заменится конъюнкцией утверждений

нравнтся(юрий,рэп), носит(юрий,блейзер).

(переменная Х в правиле получила значение «юрий»). Эти утверждения не согласуются с остальными фактами базы знаний. Для вопроса

? - крутойпарень(сергей).

будет получен ответ «Да», так как в этом случае противоречий при согласовании вопроса и базы знаний не возникает.

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

? - телефон(иванов,Х).

к базе знаний примера 1 на экране появится сообщение Х=т561532 и будет дан ответ «Да».

Если к базе знаний примера 3 задать вопрос в форме

?- крутойпарень(А).

то свободная переменная А в вопросе сопоставляется со свободной переменной Х в правиле и совмещается с ней, т.е. становится одним и тем же. В результате резолюции согласно правилу произойдет замена

крутойпарень(А)

на

нравится(А,рэп), носит(А,блейзер),

а затем предикат «нравнтся(А.рэп)» успешно согласуется с фактом «нравится(сергей,рэп)>>, и при этом переменная А конкретизируется значением «Сергей»; от вопроса теперь остается «носит(сергей,блейзер)», а в базе знаний имеется соответствующий факт. Ответ: «Да» и на экране появится значение присутствовавшей в вопросе переменной А:

А=сергей.

Отметим, что машина «не понимает» используемых в программе имен: «нравится», «носит», «сергей» и т.д. Мы могли бы вместо них использовать любые другие обозначения. Для интерпретатора Пролога существенны только совпадения и различия имен, а также связи между предикатами, устанавливаемые с помощью конъюнкций и импликаций. Осмысленные имена мы будем использовать только для того, чтобы облегчить чтение и понимание программ самим себе. Однако, в Прологе существуют предопределенные имена (встроенные предикаты), которые позволяют выполнить арифметические операции, сравнения, графические построения, ввод-вывод и другие полезные операции как побочный продукт выполнения программы. Встроенные предикаты Arity-Prolog описаны в справке по системе программирования, вызываемой нажатием клавиши F1.

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

АЛГОРИТМ ВЫПОЛНЕНИЯ ПРОГРАММ НА ПРОЛОГЕ

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

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

А:-В1,В2,...,Вn.

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

Рассмотрим процесс выполнения программы более подробно на примере.

Программа 112

а : - b, с, d.

b : - е, f.

с. d. е. f.

? - а.

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

Таблица 3.6

К процессу выполнения программы на Прологе

Номер шага резолюции

Целевое предложение

Исходное предложение

Резольвента

1

?-а.

a:-b,c,d.

?-b,c,d.

2

?-b,c,d.

b:-c,f.

?-e,f,c,d.

3


?-е,f,с,d

e. ?-f,c,d.

4


?-f,c,d.

f. ?-c.d.

5


?-c,d.

c. ?-d.

6


?-d.

d. Пустая


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

Программа 113

любит(юрий,музыку).

любит(сергей,спорт).

любит(А,книги):-читатель(А),любопытный(А).

любит(сергей,книги).

любит(сергей,кино).

читатель(юрий).

любопытный(юрий).

?- любит(X,музыку), любит(X,книги).

Двойной запрос в этой программе может быть представлен целевым деревом:



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


Переменная Х конкретизируется значением «юрий». Начинается согласование 2-й подцели запроса с условием Х=юрий. 1-е и 2-е предложения программы не соответствуют подцели. В 3-ем предложении:

любит(А,книги):-читатель(А), любопытный(А).

аргумент А заголовка есть переменная, поэтому она может соответствовать X, т.е. получает значение А=юрин; вторые аргументы совпадают. Теперь тело правила образует новое множество целей для согласования. Получаем целевое дерево:


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


Рассмотрим еще один пример.

Программа 114

любит(оля,чтение).

любит(света,бадминтон).

любит(для,бадминтон).

любит(лена,плавание).

любит(лена,чтение).

?- любит(X,чтение), любит(X,плавание).

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

любит(оля,чтение).

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

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

Рис.3.16. Дерево вывода программы на Прологе

Обход дерева начинается с движения от вершины (запроса) по самой левой ветви вниз до конца (abed), при этом запоминаются все точки ветвления (точки возврата). При достижении конца ветви решение будет либо найдено, либо нет. В обоих случаях Пролог продолжает дальнейший поиск решений. Выполняется возврат в последнюю точку ветвления с. При этом конкретные значения, присвоенные переменным при движении вниз на сегменте c-d. отменяются, и движение вниз продолжается по расположенной справа ветви с-е до конца дерева вниз. Затем произойдет возврат в предыдущую точку ветвления b и движение продолжится по ветви bfg, и так до тех пор, пока все дерево вывода не будет пройдено.

Лекция №8. Технологии разработки программного обеспечения

 

8.1 Классификация методов проектирования программных продуктов


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

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

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

1   степень автоматизации проектных работ;

2   принятая методология процесса разработки.

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

3   методы традиционного (неавтоматизированного) проектирования;

4   методы автоматизированного проектирования (CASE-технология и ее элементы).

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

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

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

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

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

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

• структурное проектирование программных продуктов;

• информационное моделирование предметной области и связанных с ней приложений;

• объектно-ориентированное проектирование программных продуктов.

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

Типичными методами структурного проектирования являются:

5 нисходящее проектирование, кодирование и тестирование программ;

6 модульное программирование;

7 структурное проектирование (программирование) и др.

В зависимости от объекта структурирования различают:

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

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

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

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

Структурный подход использует:

10 диаграммы потоков данных (информационно-технологические схемы) - показывают процессы и информационные потоки между ними с учетом "событий", инициирующих процессы обработки;

11 интегрированную структуру данных предметной области (инфологическая модель, ER-диаграммы);

12 диаграммы декомпозиции - структура и декомпозиция целей, функций управления, приложений;

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

Для полного представления о программном продукте необходима также текстовая информация описательного характера.

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

Один из основоположников информационной инженерии - Дж. Мартин - выделяет следующие составляющие данного подхода:

14информационный анализ предметных .областей (бизнес-областей),

15 информационное моделирование - построение комплекса взаимосвязанных моделей данных;

16 системное проектирование функций обработки данных;

17 детальное конструирование процедур обработки данных.

Первоначально строятся информационные модели различных уровней представления:

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

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

Даталогические модели имеют логический и физический уровни представления. Физический уровень соответствует организации хранения данных в памяти компьютера. Логический уровень данных применительно к СУБД реализован в виде:

20 концептуальной модели базы данных - интегрированные структуры данных под управлением СУБД;

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

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

Выбор средств реализации базы данных определяет вид даталогических моделей и, следовательно, алгоритмы преобразования данных. В большинстве случаев используется реляционное представление данных базы данных и соответствующие реляционные языки для программирования (манипулирования) обработки данных СУБД и реализации алгоритмов обработки (см. гл. 19). Данный подход использован во многих CASE-технологиях.

Объектно-ориентированный подход к проектированию программных продуктов основан на:

• выделении классов объектов;

• установлении характерных свойств объектов и методов их обработки;

• создании иерархии классов, наследовании свойств объектов и методов их обработки.

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

• объектно-ориентированный анализ предметной области;

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

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

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

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

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

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

 

8.2 Этапы создания программных продуктов


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

1. Составление технического задания на программирование

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

22 определить платформу разрабатываемой программы - тип операционной системы (например, для IBM PC-совместимых машин делается выбор операционной среды: MS DOS, Windows, Windows NT либо Unix, OS/2);

23 оценить необходимость сетевого варианта работы программы (определяется программное обеспечение (ПО) вычислительной сети - Windows NT, допустимая номенклатура программного обеспечения сетевой обработки);

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

25 обосновать целесообразность работы с базами данных под управлением СУБД.

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

2. Технический проект

На данном этапе выполняется комплекс наиболее важных работ, а именно:

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

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

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

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

Пример 18.2. Для создания MS DOS-приложений может быть использован язык программирования Visual Basic for DOS Standard, Fortran 5.1, Visual C++ for Windows. Если необходима переносимость программ на другие ЭВМ или другие операционные платформы, выбирается среда Windows NT.

При разработке программ, работающих в среде Windows, возможно применение технологии OLE 2.0 для создания приложений, включающих объекты других приложений. Определяется способ использования объектов: внедрение (embedding) или связывание (linking).

Приложение может работать с базами данных различных СУБД, для этого служит стандартная технология интерфейса Open Database Connectivity (ODBC). Работа в режиме телекоммуникаций обеспечивается стандартной технологией Messaging Application Program Interface (MAPI).

3. Рабочая документация (рабочий проект)

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

Основной результат работ этого этапа - также создание эксплуатационной документации на программный продукт:

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

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

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

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

4. Ввод в действие

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

8.3 Структура программных продуктов


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

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

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

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

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

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

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

35 контролировать трудозатраты и стоимость проектных работ и др.

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

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

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

Среди множества модулей различают:

36 головной модуль - управляет запуском программного продукта (существует в единственном числе);

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

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

39 сервисные модули и библиотеки, утилиты - осуществляют обслуживающие функции.

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

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

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

ППП (application program package) - это система программ, предназначенных для решения задач определенного класса.

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

ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ

Диалоговый режим

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

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

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

40 системы с жестким сценарием диалога - стандартизированное представление информации обмена;

41 дескрипторные системы - формат ключевых слов сообщений;

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

43 системы с языком деловой прозы - представление сообщений на языке, естественном

для профессионального пользования.

Наиболее просты для реализации и ^распространены диалоговые системы с жестким сценарием диалога, которые представлены в виде:

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

45   действия запрос-ответ - фиксирован перечень возможных значений, выбираемых из списка, или ответы типа Да/Нет,

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

Диалоговый процесс управляется согласно созданному сценарию, для которого определяются:

47 точки (момент, условие) начала диалога;

48 инициатор диалога - человек или программный продукт;

49 параметры и содержание диалога - сообщения, состав и структура меню, экранные формы и т.п.;

50 реакция программного продукта на завершение диалога.

Описание сценария диалога выполняют:

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

52 ориентированный граф, вершины которого - сообщения и выполняемые действия, дуги - связь сообщений; словесное описание;

53 специализированные объектно-ориентированные языки построения сценариев.

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

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

В ряде СУБД и электронных таблиц, текстовых редакторов существуют различные типы диалоговых окон, содержащих разнообразные объекты управления:

54 тексты сообщения;

55 поля ввода информации пользователя;

56 списки возможных альтернатив для выбора;

57 кнопки и т.п.

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

Графический интерфейс пользователя

Графический интерфейс пользователя (Graphics User Interface-GUI)- ГИП является обязательным компонентом большинства современных программных продуктов, ориентированных на работу конечного пользователя. К графическому интерфейсу пользователя предъявляются высокие требования как с чисто инженерной, так и с художественной стороны разработки, при его разработке ориентируются на возможности человека.

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

Пример 18.3. Средствами редактора диалогов Microsoft Word Dialog Editor построено диалоговое окно, обеспечивающее графический интерфейс пользователя. К числу типовых объектов управления графического интерфейса относятся:

58метка (label) - постоянный текст, не подлежащий изменению при работе пользователя с экранной формой (например, слова Фамилия Имя Отчество)',

59текстовое окно (text box) - используется для ввода информации произвольного вида, отображения хранимой информации в базе данных (например, для ввода фамилии студента);

60рамка (frame) - объединение объектов управления в группу по функциональному или другому принципу (например, для изменения их параметров);

61командная кнопка (command button) - обеспечивает передачу управляющего воздействия, например, кнопки <Сапсе1>, <ОК>, <0тмена>; выбор режима обработки типа<Ввод>, <Удаление>, <Редактирование>, <Выход> и др.;

62кнопка-переключатель <option button> - для альтернативного выбора кнопки из группы однотипных кнопок (например, семейное положение)',

63помечаемая кнопка <check button> - для аддитивного выбора несколько кнопок из группы однотипных кнопок (например, факультатив для посещения),

64окно-список (list box) - содержит список альтернативных значений для выбора (например, «Спортивная секция»);

65комбинированное окно (combo box) - объединяет возможности окна-списка и текстового окна (например, «Предметы по выбору» - можно указать новый предмет или выбрать один из предлагаемого списка);

66линейка горизонтальной прокрутки - для быстрого перемещения внутри длинного списка или текста по горизонтали;

67линейка вертикальной прокрутки - для быстрого перемещения внутри длинного списка или текста по вертикали;

68окно-список каталогов;

69окно-список накопителей;

70окно-список файлов и др.

Стандартный графический интерфейс пользователя должен отвечать ряду требований:

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

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

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

74 графические объекты сохраняют свое стандартизованное назначение и по возможности местоположение на экране.

8.4 Структурное проектирование и программирование


Нисходящее проектирование

Модульное программирование

Структурное программирование

НИСХОДЯЩЕЕ ПРОЕКТИРОВАНИЕ

Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы ("сверху-вниз").

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

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

75определяются цели автоматизации предметной области и их иерархия (цель-подцель)',

76 устанавливается состав приложений (задач обработки), обеспечивающих реализацию поставленных целей;

77 уточняется характер взаимосвязи приложений и их основные характеристики (информация для решения задач, время и периодичность решения, условия выполнения и ДР-);

78 определяются необходимые для решения задач функции обработки данных;

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

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

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

Функции ввода-вывода информации рекомендуется отделять от функций вычислительной или логической обработки данных.

По частоте использования функции делятся на:

• однократно выполняемые;

• повторяющиеся.

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

Пример 18.4. Некоторые функции, например Ф2, далее неразложимы на составляющие: они предполагают непосредственную программную реализацию. Другие функции, например Ф1, Фm, могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф12 и т.д. Для всех функций-компонентов осуществляется самостоятельная программная реализация; составные функции (типа Ф1, Фт) реализуются как программные модули, управляющие функциями-компонентами, например, в виде программ-меню.


МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ

Свойства модуля

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

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

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

82 логическая независимость - результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;

83 слабые информационные связи с другими программными модулями - обмен информацией между модулями должен быть по возможности минимизирован;

84 обозримый по размеру и сложности программный элемент.

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

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

Модульная структура программных продуктов

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

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

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

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

86 принятие основных решений в алгоритме выносится на максимально "высокий" по иерархии уровень;

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

В результате дальнейшей детализации алгоритма создается функционально-модульная схема (ФМС) алгоритма приложения, которая является основой для программирования (рис. 18.3).

Пример 18.5. Некоторые функции могут выполняться с помощью одного и того же программного модуля (например, функции Ф) и Фз).

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

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

• Модуль n управляет выбором на выполнение подчиненных модулей.

• Функция Фх реализуется одним программным модулем.

Состав и вид программных модулей, их назначение и характер использования в программе в значительной степени определяются инструментальными средствами. Например, применительно к средствам СУБД отдельными модулями могут быть:

88 экранные формы ввода и/или редактирования информации базы данных;

89 отчеты генератора отчетов;

90 макросы;

91 стандартные процедуры обработки информации;

92 меню, обеспечивающее выбор функции обработки и др.

Алгоритмы большой сложности обычно представляются с помощью схем двух видов:

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

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

Наиболее часто детально проработанные алгоритмы изображаются в виде блок-схем согласно требованиям структурного программирования; при их разработке используются условные обозначения согласно ГОСТ 19.003-80 ЕСПД (Единая система программной документации). Обозначения условные графические, ГОСТ 19.002-80 ЕСПД. Схемы алгоритмов и программ. Правила обозначения.

СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ

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


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

Пример 18.6. Алгоритм поиска в базе данных сведений о максимальном окладе сотрудников (рис. 18.4),

Таблица 18.1. Управляющие структуры алгоритмов


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


Основные понятия объектно-ориентированного проектирования

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

ОСНОВНЫЕ ПОНЯТИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ

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

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

96 модульной структуре программ;

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

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

98 объект;

99 свойство объекта;

100метод обработки;

101событие;

102класс объектов.

Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).

Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.

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

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

ОБЪЕКТ_А (свойство-1, свойство-2, ...., свойство-k).

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

ОБЪЕКТ_В (...свойство-n, свойство-m,...свойство-r,...)

ОБЪЕКТ_С (...свойство-n,...... свойство-r,...).

Одним из свойств объекта являются метод его обработки.

Метод - программа действий над объектом или его свойствами.

Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.

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

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

Событие - изменение состояния объекта.

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

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

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

Один объект может выступать объединением вложенных в него по иерархии других объектов.

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


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

ОБЪЕКТ. МЕТОД

ОБЪЕКТ.СВОЙСТВО.МЕТОД

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

Похожие работы на - Основы информационных технологий

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!