Введение в специальность

Вид материалаДокументы

Содержание


Объектно-ориентированное программирование интеллектуальных систем
Ф.И. Брудно
П.А. Гапонов
Р.Е. Сердюков
В.М. Казан
Рекомендована к утверждению в качестве типовой
Разработана на основании Образовательного стандарта РД РБ 02100.5.114-98
Содержание дисциплины
Тема 1.2. Понятия технологии и проектирования
К проектированию
Тема 2.2. СТРАТЕГИИ И МЕТОДИКИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО АНАЛИЗА И МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ
Тема 2.3. ФУНКЦИОНАЛЬНАЯ МОДЕЛЬ
Примерный перечень лабораторных работ
Подобный материал:
1   ...   7   8   9   10   11   12   13   14   15

Утверждена


УМО вузов Республики Беларусь

по образованию в области информатики

и радиоэлектроники

« 03 » июня 2003 г.

Регистрационный № ТД-40-051/тип.


ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ


Учебная программа для высших учебных заведений

по специальности 1-40 03 01 Искусственный интеллект


Согласована с Учебно-методическим управлением БГУИР

« 28 » мая 2003 г.


Составители:

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

Ф.И. Брудно, доцент кафедры интеллектуальных информационных технологий Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», доцент, кандидат технических наук;

П.А. Гапонов, доцент кафедры интеллектуальных информационных технологий Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук;

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


Рецензенты:

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

В.М. Казан, директор отделения СП «IВА», кандидат технических наук;

Кафедра информационных технологий управления Академии управления при Президенте Республики Беларусь (протокол № 10 от 16.05.2000 г.)


Рекомендована к утверждению в качестве типовой:

Кафедрой интеллектуальных информационных технологий Учреждения образования «Белорусский государственный университет информатики и радиоэлектроники» (протокол № 10 от 14.01.2002 г.);


Научно-методическим советом по направлению 1-40 Вычислительная техника УМО вузов Республики Беларусь по образованию в области информатики и радиоэлектроники (протокол № 1 от 18.02.2002 г.)


Разработана на основании Образовательного стандарта РД РБ 02100.5.114-98



Ответственный за редакцию: Т.А. Лейко

Ответственный за выпуск: Ц.С. Шикова


Пояснительная записка


Типовая программа «Объектно-ориентированное проектирование интеллектуальных систем» разработана в соответствии с Образовательным стандартом РД РБ 02100.5.114-98 по специальности 1-40 03 01 Искусственный интеллект. Дисциплина предназначена для изложения объектно-ориентированных основ информационных технологий производства открытых (развивающихся) программных систем как научной и прикладной дисциплины. Настоящий курс направлен на формирование методологических знаний и навыков выполнения проектных работ в инфраструктуре, обусловленной как требованиями и ресурсами заказчика, действующими стандартами и постоянно обновляющимися (возможно, принципиально новыми) технологиями и инструментами, так и необходимостью постоянного совершенствования собственного профессионального уровня (в процессе практической деятельности, самообразования, последипломного образования, научно-исследовательской работы и т.п.). Целью курса является изучение объектно-ориентированных технологий создания и дальнейшего развития надежных, гибких и эффективных программных систем (организация работ, анализ предметной области, спецификация требований, разработка технического задания, проектирование, моделирование, программирование и конструирование).

В результате освоения курса «Объектно-ориентированное проектирование интеллектуальных систем» студент должен:

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

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

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

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

Программа рассчитана на объем 100 учебных часов. Примерное распределение учебных часов по видам занятий: лекций – 50 часов, лабораторных работ – 30 часов, практических занятий – 20 часов.

СОДЕРЖАНИЕ ДИСЦИПЛИНЫ


Раздел 1. ПРОГРАММНАЯ СИСТЕМА. ТЕХНОЛОГИЯ. ПРОЕКТИРОВАНИЕ


Тема 1.1. ПРОЕКТИРОВАНИЕ РАЗВИВАЮЩИХСЯ ПРОГРАММНЫХ СИСТЕМ

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


Тема 1.2. Понятия технологии и проектирования

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


Раздел 2. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

К ПРОЕКТИРОВАНИЮ


Тема 2.1. ОБЪЕКТНАЯ МОДЕЛЬ

Абстрагирование, инкапсуляция, полиморфизм, наследование, иерархия, модульность, децентрализация, параллелизм. Жизненный цикл объектно-ориентированного проекта информационной системы. Его особенности (“возвратный” характер – нет строгой последовательности выполнения отдельных этапов, возможность распараллеливания работ). Достоинства (возможности описания объектов, их взаимосвязей и поведения), позволяющие обеспечить развиваемость архитектуры проектируемых информационных систем, а также повторное использование их отдельных компонентов и всего жизненного цикла. Недостатки (отсутствие гарантии эффективности программной реализации в среде объектно-ориентированного программирования, отсутствие немедленных эффектов, необходимость наличия навыков применения парадигмы объектно-ориентированного подхода).


Тема 2.2. СТРАТЕГИИ И МЕТОДИКИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО АНАЛИЗА И МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ

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


Тема 2.3. ФУНКЦИОНАЛЬНАЯ МОДЕЛЬ

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


Раздел 3. РЕШЕНИЕ ПРАКТИЧЕСКИХ ЗАДАЧ


Тема 3.1. ПРИМЕНЕНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

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

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


Тема 3.2. ОРГАНИЗАЦИЯ ПРОЕКТИРОВАНИЯ

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

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


Тема 3.3. РЕАЛИЗАЦИЯ ПРОЕКТОВ РАЗВИВАЮЩИХСЯ СИСТЕМ

3.3.1. Объектно-ориентированное программирование в среде систем программирования С++ (объекты, классы, разновидности классов, атрибуты доступа к элементам класса, операции и методы, определение операций над объектами пользовательских классов, взаимосвязь классов и объектов, пересылка сообщений, создание и инициализация объекта, реализация – представление классов и объектов, способы согласования типов объектов. Библиотечные классы абстрактных структур данных, параметризация определений функций и классов).

3.3.2. Быстрая разработка (конструирование) приложений.

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


Тема 3.4. ОПЫТНАЯ ЭКСПЛУАТАЦИЯ СИСТЕМЫ. ЭКСПЕРТНЫЕ ОЦЕНКИ

3.4.1. Техническая документация, эксплуатационные качества системы, проектные и конструкторские решения.

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

3.4.3. Анализ результатов опытной эксплуатации.


Тема 3.5. ВНЕДРЕНИЕ

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


ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ

  1. Описать предметную область (по одной из изученных методик) индивидуального проекта. Создать глоссарий терминов предметной области.
  2. Выбрать объекты, создать картотеку их прав, обязанностей и интерфейсов с предметной областью. Описать интерфейсы проектируемой системы с людьми(запросы, окна, отчеты), другими системами. Определить данные, необходимые для реализации интерфейсов. Указать события. Описать сценарий функционирования системы.
  3. Разработать техническое задание на систему.
  4. Разработать организационные мероприятия выполнения проектных работ. Составить программу и методику испытаний.
  5. Организовать экспертизу проектных решений, испытания системы и ее опытную эксплуатацию. Создать базу данных.
  6. Проанализировать результаты опытной эксплуатации. Разработать необходимые мероприятия для внедрения системы.
  7. Описать проблемы, решенные и не решенные в процессе работы над проектом. Подготовить отчет о соответствии системы и ее информационного обеспечения техническому заданию на проектирование.