О проектировании систем
Левин Марк Шмуилович, к.т.н., с.н.с. (mslevin@acm.org)
Институт проблем передачи информации РАН (& МФТИ), Москва
Аннотация
Рассматривается подход к преподаванию проектирования систем с ориентацией на различные области информационных технологий (компьютерные и информационные системы, коммуникации, организационные системы). Подход основан на уровнях: модели и алгоритмы, схемы проектирования/решения задач, базовые типовые задачи (выбор, иерархическое проектирование и др.), реальные приложения. Курс включает системный инжиниринг, системный анализ и многокритериальное принятие решений, оптимизацию и комбинаторную оптимизацию, схемы проектирования, вопросы поддержки жизненного цикла (разработка требований, тестирование, техническое обслуживание, оценивание и диагностика). Подход реализован в ряде курсов, включая курс на факультете радиотехники и кибернетики МФТИ.
Данная работа описывает подход к преподаванию проектирования систем в области информационных технологий. Подход реализован в ряде учебных курсов [5,6,8,9]. Базовым учебным курсом является курс проектирования систем на факультете радиотехники и кибернетики МФТИ [6,9]. В общем случае можно выделит базовые уровни грамотности в области информационных технологий:
- Базовая грамотность (умение читать, писать, считать);
- Компьютерная грамотность (работа с компьютерами, написание программ, работа в Интернете и др.) [2];
- Подготовка и принятие решение, анализ и решение прикладных задач [4,8].
Наш подход ориентирован на 3-й уровень. Подход реализует следующий тренд (последовательность) в преподавании (Рис. 1):
- А. Предварительная грамотность в области информационных технологий (например, языки программирования, информационные структуры, прикладные компьютерные системы);
- Б. Основной материал по курсу проектирование систем.
- В. Типовые задачи структурного моделирования, управления, распределения ресурсов для системы информационных технологий (компьютерные и информационные системы, коммуникации, алгоритмы и процедуры, организационные системы, системы управления);
- Д. Приложения (включая многодисциплинарные системы).
Подход содержит три основных уровня преподавания: (а) модели, алгоритмы, (б) схемы решения задач (в том числе, типовые схемы), (в) примеры реальных приложений (примеры основаны на опыте и интересов студентов). Структура базового курса включает следующее:
- системный инжениринг и жизненный цикл;
- системный анализ и методы многокритериального принятия решений;
- оптимизация и комбинаторная оптимизация (включая набор основных задачи, вопросы сложности, алгоритмы и подходы к построению эвристик);
- схемы проектирования (design frameworks), включая подходы к проектированию, эволюционные методы, метод исследования пространства параметров, многодисциплинарную оптимизацию, морфологические подходы;
- дополнительные системные вопросы (разработка требований, тестирование, техническое обслуживание, оценивание и диагностика).
По сути дела, описываемый подход "покрывает" цикл подготовки и принятия решений (Рис. 2): (1) прикладная задача(и), (2) математическая модель(и), (3) схема(ы) решения/алгоритм(ы), (4) программы/процедуры, (5) процессы решения (вычисления, экспертные процедуры), (6) решения. Таким образом, студенты ориентированы на получение знаний и опыта в анализе исходной прикладной задачи и рациональном распределении имеющихся ресурсов (включая разработку моделей, алгоритмов, организацию процесса формирования решения) для получения решения.
В курс кроме лекций входят 12 лабораторных работ (Рис. 3):
- Иерархическое проектирование систем;
- Методы многокритериального ранжирования (метод функции полезности, Парето подход, метод порогов несравнимости);
- Многокритериальная задача о рюкзаке;
- Метод близости к идеальной точке;
- Иерархическая кластеризация;
- Многокритериальная задача блочного рюкзака;
- Иерархическое оценивание модульной системы (иерархии интеграционных таблиц);
- Типовой составной прикладной пример: кластеризация и многокритериальная задача блочного рюкзака;
- Задача назначения/размещения;
- Типовой составной прикладной пример (расширение лабораторной работы 8): кластеризация, задача размещения и многокритериальная задача блочного рюкзака;
- Задача коммивояжера;
- Индивидуальная работа по выбору (алгоритм/прикладная задача).
В рамках лабораторных работ студенты должны изучить задачу /модель, написать программу (реализация алгоритма) в среде MatLab [16], подготовить численный пример и отчет о работе. Часть студентов в качестве примеров исследуют прикладные задачи из своей профессиональной области.
Особое значение имеют базовые типовые схемы проектирования, которые соответствуют процессам решения сложных прикладных задач:
- Иерархическое морфологическое многокритериальное проектирование [6,8,10];
- Схема сопоставления двух множеств элементов: кластеризация, назначение/размещение, задача блочного рюкзака;
- Многостадийное иерархическое проектирование (проектирование траектории системы).
Применение указанных схем проектирования к реальным прикладным задачам приводит к исследовательским и проектным результатам. Таким образом, часть студентов исследует свои прикладные задачи на основе освоенных моделей и схем решения. Это приводит к студенческим проектам на основе опыта и/или интереса студентов. В качестве примеров тем студенческих проектов можно привести следующие:
- Прикладные программные системы;
- Прикладные задачи в спорте (организация соревнований, планирование бодибилдинга и др.);
- Искусство (проектирование музыкального проекта);
- Анализ и проектирование коммуникационных систем (включая протоколы, топологию, задачи тестирования, улучшение);
- Компьютерные системы (например, управление памятью, Интернет приложения);
- Образование (например, проектирование компьютерного класса, образовательные сайты в Интернете);
- Электронные системы (например, телеметрическая система);
- Системы управления (например, построение стратегий маркетинга).
Часть студенческих проектов готовится или уже опубликована в виде статей, например: [7,10,11,12,13,14,15,18].
Следует упомянуть близкие направления в области университетского образования:
- Инженерный курс по проектированию (MIT [17]);
- Образовательное направление в области решений задач на основе мышления специалиста в компьютерных науках (CMU, School of Computer Science, Сenter ALADIN, program PROBE [3]);
- Ряд курсов по системному инженирингу (MIT, GMU, Stevens Institute of Technology [1]).
В заключение можно указать схему связи материалов по курсу проектирование систем и типовых задач проектирования (приложения, задачи в области образования) (Рис. 4) [9].
Литература:
- D.E. Brown, W.T. Scherer, A comparison of systems engineering programs in the United States. IEEE Trans. on SMC, Part C, 30(2), 204-212, 2000.
- A.P. Ershov. Aesthetics and human factor in programming. Comm. of the ACM, 15(7), 501-505, 1972.
- Center ALADIN, School of Computer Sciences, Carnegie mellon University, http://www.aladin.cs.cmu.edu/
- М.Ш. Левин, О третьей грамотности. НТИ, сер. 2, 1995, N. 6.-С.20-30. (M.Sh. Levin, The third literacy. Automatic Doc. And Math. Ling., 29(3), 66-81, 1995)
- М.Ш. Левин, О преподавании информацинных технологий. НТИ, сер. 1.-1996.- N. 5.-С. 14-23.
- M.Sh. Levin, Course on system design (English & Russian), http://www.iitp.ru/SYSD.HTM , 2004…2007.
- M.Sh. Levin, A.M. Tsyganova, Hierarchical morphological approach to protocol analysis and design. Intl. Workshop "Distributed Computer and Communication Networks", Sofia, Bulgaria, pp. 217-221, 2005.
- M.Sh. Levin, Composite Systems Decisions. Springer, 2006.
- M.Sh. Levin, Desing of systems: structural approach", DETC2006-99547, 18th Int. Conference on Design Theory and Methodology DTM, Pennsilvania, USA, 2006.
- М.Ш. Левин, А.В. Сафонов, Проектирование и перепроектиро-вание конфигураций оборудования коммуникационной сети. Информационные технологии и вычислительные системы, N. 4, 63-73, 2006.
- M.Sh. Levin, R.D. Grigorov, Web-based applied information infrastructure: composition. 2007.
- M.Sh. Levin, R.O. Vishnitskiy, Hierarchical morphological design of GSM system. 2007.
- M.Sh. Levin, T.A. Borzhievsky, Towards morphological approach to electronic shopping. 2007.
- М.Ш. Левин, И. Ходаковский, Морфологичекое проектирование телеметрической системы. 2007.
- М.Ш. Левин, Р. Корейнюшкин, О модульном проектировании стратегии принятия решений. 2007.
- MatLab, http://www.matworks.com
- MIT OpenCourseWare, http://ocw.mit.edu
- А.В. Сафонов, М.Ш. Левин, Перепроектирование конфигурации сетевого оборудования. Труды 6-й межд. конф. CAD/CAM/PDM-2006, ИПУ РАН, Москва, 179-183, 2006.
|