Накопители на жестких магнитных дисках Классификация современных компьютеров Архитектура персонального компьютера Операционная система Windows Типы локальных сетей Несанкционированный доступ и вирусы СУБД MS Access

Курс лекций по информатике, персональный компьютер

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

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

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

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

5.3. Методология быстрой разработки приложений RAD (Rapid Application Development) в последнее время стала одним из возможных подходов к разработке ПО в рамках спиральной модели жизненного цикла ПО и получила широкое распространение.

Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:

небольшую команду программистов (2-10 человек);

короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);

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

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

Основные принципы методологии RAD - это:

разработка приложений итерациями;

необязательность полного завершения работ на каждом из этапов жизненного цикла ПО;

обязательное вовлечение пользователей в процесс разработки ИВС;

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

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

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

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

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

5.4. "Быстрая разработка ПО"

появилась в США в 2001 г. и базируется на следующих идеях:

работающее ПО ценится выше всеобъемлющей документации;

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

реагирование на изменения ценится выше строгого следования плану.

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

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

Рассмотрим архитектуру современной типовой экспертной системы.

 


  Архитектура современной типовой экспертной системы

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

Можно отметить ряд наиболее интересных экспертных систем:

 PROSPECTOR, MYCIN, DENDRAL (находились у истоков развития знание-ориентированных компьютерных систем и ныне являются классическими);

 GENESIS, MACSYMA, METHODS и др. (достаточно широко распространены в США и других странах);

  Expert-2, OPS5+, Personal Consultant, Rule-Master и др. (популярные инструментальные средства различного уровня для разработки прикладных ЭС);

 ПИЭС, ЭКО, ИНТЕР-Эксперт, ДИЭКС и др. (популярные отечественные ЭС и инструментальные средства их разработки).

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


Работа с электронными таблицами