8.1. Цели и принципы технологии разработки программных средств
Технология – это наука о мастерстве (технос – мастерство, логос – слово, наука). Под технологией программирования понимается совокупность знаний о способах и средствах достижения целей в области ПО. Изменения являются постоянным фактором разработки ПО. Для того чтобы преодолеть их разрушающий эффект, в качестве целей технологии разработки ПО принимаются следующие свойства ПС:
модифицируемость: необходимость возникает, чтобы отразить в системе изменение требований или чтобы исправить ошибки;
эффективность системы подразумевает, что при функционировании оптимальным образом используются имеющиеся в ее распоряжении ресурсы (время, память);
надежность системы означает, что она должна предотвращать концептуальные ошибки, ошибки в проектировании и реализации, ошибки, возникающие при функционировании системы;
понимаемость является мостом между конкретной проблемной областью и соответствующим решением. Для того чтобы система была понимаемой, она должна быть прозрачной.
По мере выполнения работ необходимо придерживаться определенного набора принципов, которые обеспечивают достижение поставленных целей:
абстракция – выделение существенных свойств с игнорированием несущественных деталей. По мере декомпозиции решения на отдельные компоненты каждый из них становится частью абстракции на соответствующем уровне. Абстрагирование применяется и к данным, и к алгоритмам. На любом уровне абстракции могут фиксироваться абстрактные типы данных, каждый из которых характеризуется множеством значений и множеством операций, применимых к любому объекту данного типа;
сокрытие (упрятывание) информации имеет целью сделать недоступными детали, которые могут повлиять на остальные более существенные части системы. Упрятывание информации обычно скрывает реализацию объекта или операции и позволяет фиксировать внимание на более высоком уровне абстракции. Сокрытие проектных решений нижнего уровня оберегает стратегию принятия решений верхнего уровня от влияния деталей. Абстракция и сокрытие информации способствует модифицируемости и понимаемости ПО;
модульность реализуется целенаправленным конструированием. Модули могут быть функциональными (процедурно-ориентированными) или декларативными (объектно-ориентированными). Связность модулей определяется как мера их взаимной зависимости. В идеале должны разрабатываться слабосвязанные модули;
локализация помогает создавать слабо связанные и весьма прочные модули. По отношению к целям технологии разработки ПО принципы модульности и локализации прямо способствуют достижению модифицируемости, надежности и понимаемости.
Абстракция и модульность считаются наиболее важными принципами, используемыми для управления сложностью систем ПО. Но они не являются достаточными, потому что не гарантируют получения согласованных и правильных систем. Для обеспечения этих свойств необходимо привлекать принципы единообразия, полноты и подтверждаемости.
- Введение
- Глава 1. Интеллектуальные информационные системы
- Основные направления в искусственном интеллекте
- Нейросетевые и нейрокомпьютерные технологии.
- Мультиагентные (многоагентные) системы.
- 1.2. Данные и знания
- Эволюция развития информационных систем
- 1.4. Основные разновидности иис и характеристики решаемых задач
- 1.5. Классификация иис
- Глава 2. Структура и этапы проектирования экспертных систем
- 2.1. Структура статической и динамической эс
- 2.2. Характеристики, стадии существования и этапы проектирования статических эс
- Глава 3. Модели представления знаний
- 3.1. Продукционная модель
- 3.2. Формально-логическая модель
- 3.3. Фреймовая модель
- 3.4. Семантические сети
- Глава 4. Методы обработки знаний в интеллектуальных системах. Нечеткие знания
- 4.1. Интерпретатор правил и управление выводом
- 4.2. Нечеткие знания и нечеткая логика
- Глава 5. Теоретические основы инженерии знаний
- 5.1. Процедура извлечения знаний
- 5.2. Основные аспекты извлечения знаний
- 5.3. Методы извлечения знаний
- Глава 6. Нейронные сети
- 6.1. Искусственный нейрон и функции активации
- 6.2. Нейронные сети с прямой связью
- 6.3. Алгоритмы обучения нейронных сетей
- Глава 7. Технология создания экономических советующих систем
- 7.1. Определение и виды информационных технологий
- 7.2. Технология «Ресурс – Обучение – Цель»
- 7.3. Определение коэффициента важности целей
- Глава 8. Программный инструментарий разработки систем, основанных на знаниях
- 8.1. Цели и принципы технологии разработки программных средств
- 8.2. Технология и инструментарий разработки программных средств
- Глава 9. Интеллектуальные интернет-технологии
- 9.1. Интеллектуальные агенты
- 9.2. Мультиагентные системы
- Мультиагентные системы различного функционального назначения
- Глава 10. Новые тенденции инженерии знаний,
- 10.1. Методы извлечения глубинных пластов экспертного знания
- 10.2. Хранилища данных
- 10.3. Управление знаниями
- 10.4. Технология создания систем управления знаниями
- Глава 11. Интеллектуальные информационные системы в условиях неопределенности и риска
- 11.1. Понятие риска в сппр слабоструктурированных проблем
- 11.2. Реализация эс инвестиционного проектирования
- * Эс определения целей инвестирования капитала.
- Глава 12. Системы, ориентированные на естественно-языковые запросы. Машинное обучение
- 12.1. Естественно-языковые интерфейсы
- 12.2. Машинное обучение
- Глава 13. Современные методы исследования,
- 13.1. Интеллектуальные методы проектирования сложных систем
- 13.2. Эвристические методы синтеза сложных систем
- 13.3. Интегрированные, гибридные и синергетические системы
- Библиографический список
- Оглавление
- Николай Александрович Семенов Интеллектуальные информационные системы
- 170026, Г. Тверь, наб. Афанасия Никитина, 22