Особенности жизненного цикла программных систем в посткризисный период С.В.Зыков, к.т.н., доц. Национальный исследовательский университет Высшая Школа Экономики XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. 1 Особенности жизненного цикла программных систем в посткризисный период Кризис разработки ПО, начало эры программной инженерии 1960-е: начало кризиса разработки ПО Проблемы / диспропорции: - анархичный ЖЦ ПО при возрастающей сложности систем - отсутствие методологий ЖЦ (искл. подход “проб и ошибок”) - кризис в нашем сознании, а не только в экономике - нужна адекватная(адаптивная ,на базе НИР)методологияЖЦ! Программная инженерия – НТ-дисциплина для выхода из кризиса Стадии становления/развития программной инженерии: - 1960-е: “ручное” искусство – уникальные, ценные шедевры - 1970-е: “мануфактура” – бизнес-критичные системы - 1990-е: “конвейеры” – CASE + командная разработка XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 2 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Сравнение ЖЦ ПО и материального производства 1967 – Конференция НАТО по программной инженерии В.: Можно ли строить ПО как физ./материальный объект? Анализ: - пошаговое уточнение - сопровождение (мосты могут годами стоить 0, но не ПО) - “моральное старение” (быстрая смена сложных платформ) - надежность прототипа - метод“грубой силы”/“пуленепробиваемый“(мост в2р. толще) - остаточные ошибки (моделирование полета в NASA) Выводы: - производство ПО во многом подобно материальному, но - производство ПО в корне отличается во многих аспектах О.: НЕТ, в ЖЦ имеются радикальные различия XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 3 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Оптимизация ЖЦ: наш ответ кризису Каждая стадия ЖЦ ПО (анализ, требования, проектирование, реализация , сопровождение, и т.д.) оптимизируема Документирование также оптимизируемо Базис оптимизации = интеграция(модели+методы+средства): - дискретные метрики (ост. ошибки, KLOC, и т.д.) + эвристики - практическая пригодность vs. математически opt. решение Основные хар-ки модели ЖЦ ПО: - итеративность - последовательное уточнение - инкрементальная разработка - анализ рисков - модифицированная инкрементальная /спиральная модель - соответствие корпоративному уровню ПО (CASE + риски) XXXVIII Международная конференция "Информационные технологии в науке, образовании, 4 телекоммуникации и бизнесе" (IT+SE'11) Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Инженерия гетерогенных КПК: проблема + кризис Методология объединяет модели (в т.ч. модиф.спиральную) и CASE для построения ассоциативных отношений над классами Особенности предметных областей: Большие объемы данных – в 2005 в Intel Corp. свыше 3Пбайт (свыше120 тыс. сотрудников в 57 странах) - высокая сложность объектов данных - неполная определенность отдельных конкретизаций классов; - строгость структуры классов (атрибуты, операции). Причины применения методологии (помимо кризиса): - многообразие гетерогенных классов - важность ассоциативных отношений между классами - выводимость классов несмотря на отдельные слабоструктурированные конкретизации XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 5 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Сравнение технологии с онтологическими подходами: Эффективность ОП (Cyc и др.) сравнима лишь при неопр-сти на уровне классов, т.е. в других предметных областях чем КПК Для обеспечения необх.точности в ОП требуется тезаурус Технология использует близкие ОП модели и инструменты (UML/XML, исчисление предикатов, как и в CycL, “концептуальные модели” и др.) для интеграции данных в ОП недостаточно сбалансирована поддержка моделей «индустриальными» средствами (в т.ч. визуальными) для управления ЖЦ КПК (в т.ч. контента), => низкая масштабируемость и несоответствие уровню качества КПК XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 6 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Цель, задачи, методы исследования Цель: создание технологической схемы разработки ПО, которая поддерживает полный ЖЦ гетерогенных КПК и их контента Задачи : - разработка общей технологической схемы; - разработка математических моделей представления и манипулирования объектами данными КПК; - разработка CASE-средств для поддержки моделей; - апробация/реализация технологии (прототип, КПК). Методы: конечные последовательности, теория категорий, теория вычислений (D.Scott), семантические сети. XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 7 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Новизна: технология объединяет: 1. Семейство моделей данных для представления и управления ЖЦ объектов предметной области и среды вычислений (ConceptModeller, ИСУК); 2. Алгоритм интеграции новых компонент в гетерогенные КПК на стадии эксплуатации; 3. Процедуру персонализированного доступа к данным гетерогенного КПК; 4. CASE-средства: ConceptModeller, ИСУК XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 8 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Выявленные проблемы и пути их решения XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 9 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Технологическая схема поддержки ЖЦ в КПК XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 10 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Контент-ориентированный комплекс моделей В основе модели представления данных – 2-кратное свертывание (абстракция) по схеме “класс объект значение” Класс - семейство ОД интегрированной предметной области КПК; Объект - конкретизация класса с частичным означиванием метаданных [при помощи шаблона ИСУК]; Значение - конкретизация класса с полным означиванием данных и метаданных [веб-страница, строится ИСУК]; Преимущества: - впервые – ориентированность на контент; - преемственность с объектно-ориентированным подходом OOAD; - развитие существующих моделей (в т.ч. переменных доменов Д.С.Скотта, КМ В.Э.Вольфенгагена) в направлении Интернет XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 11 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Моделирование классов объектов данных Классы C объектов контента ПрО D моделируются доменами: C = w:[D] v:D (w(v) ) = {v:D|}, где: 1) C и D находятся в отношении частичного порядка (C ISA D); 2) – критерий принадлежности ОД v к классу C с точки зрения предметного эксперта. 3) – квантор единственности (оператор опред. дескрипции) Класс – семейство упорядоченных пар (vi,Vi), где vi – i-й его атрибут (данные или метаданные); Vi – тип атрибута. При конкретизации класса C в соотнесении с шаблоном вебстраницы ИСУК означивание семейства шаблонов устанавливает в значение «истинно» его элемент, совпадающий по номеру с номером шаблона. Второе соотнесение конкретизирует неозначенные элементы шаблона с детализацией схемы “класс объект значение” XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 12 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Синтаксис языка АМ управления контентом Модель манипулирования контентом КПК поддержана инструментальным средством ИСУК Для ИСУК разработана модель – АМУК, включающая язык с формальным синтаксисом и семантикой в терминах семантических доменов (в развитие теории вычислений Д.Скотта). Синтаксис языка АМУК содержит домены идентификаторов (Ide), команд (Com) и выражений (Exp): Ide ={I | I – идентификатор}; Com ={C | C – команда}; Exp ={E | E – выражение}. XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 13 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Семантика языка АМ управления контентом Строится по схеме: – стандартные (наиболее часто используемые) домены; – конечные (с явно перечислимыми элементами) домены; – конструкторы доменов – операции построения новых доменов на основе существующих; – формализация агрегированных доменов (произвольной сложности) на основе стандартных доменов и конструкторов. В качестве конструкторов доменов отобраны операции: - функциональное пространство : [D1D2]; - декартово произведение : [D1D2…Dn]; - последовательность : D*; - дизъюнктная сумма :[D1+ D2+… +Dn]. XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 14 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период CASE-средство ConceptModeller: реинжиниринг КПК XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 15 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Архитектура программного комплекса XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 16 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Логическая структура ИС управления контентом Ключевые слова Параметры изображений IM Состояние страниц, права ред.цикла Ссылки, ключевые слова Параметры и состояния изображений Параметры лент новостей (рубрикация и др.) Изображения Состояние страниц, права ред.цикла Ключевые слова Параметры рубрикации CM Управление конфигурацией Модуль Меню Модуль Страницы NC Ленты новостей Модуль Прессрелизы Модуль Новости СМИ Параметры и состояния меню и страниц Права ред. цикла, состояние страниц Параметры и состояния страниц новостей Ссылки, ключевые слова Ключевые слова Параметры спец. разделов, состояния сообщений AD Администрирование Модуль Синхронизация Модуль Редакторский цикл Параметры рубрикации Права ред. цикла, состояние страниц Ключевые слова Ключевые слова Параметры спец. разделов (рубрикация и др.) SS Специальные разделы Модуль Выступления Модуль События XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 17 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Структура реализованной программной системы XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 18 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Сравнение технологии с коммерческими аналогами XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 19 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Сравнение функционала реализации с аналогами XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 20 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Результаты сравнения TCO, ROI и сроков внедрения Качественные оценки функциональных возможностей технологии подтверждены сравнением ключевых показателей реализаций. Оценка проводилась на базе методики Gartner Group и The Radicati Group с учетом нормирования затрат на одного пользователя. По перечисленным показателям результаты внедрения превзошли аналоги Oracle, MS и IBM ~ на 30-40% XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 21 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Теоретические и инженерные результаты: Т1) Семейство моделей для представления и манипулирования объектами данных (строгая семантика, поддержка ЖЦ, управление контентом); T2) Алгоритм интеграции компонент в гетерогенный КПК; И1) CASE-средства: a) ConceptModeller: строгая семантика; CASE-совместимость, поддержка ERP- и унаследованных систем; реинжениринг; соответствие стандартам XML/UML; b) ИСУК: строгая семантика; быстрое размещение сложного контента; интерфейс WYSIWYG; интеграция с офисным ПО И2) Архитектура (унификация среды гетерогенных КПК; ролевая персонализация с ситуативной динамикой) XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 22 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Практическая значимость результатов: 1) Снижение сроков и стоимости внедрения (TCO, ROI) по сравнению с коммерческими аналогами на 30% (в среднем); 2) Сохранение/улучшение эксплуатационных показателей: - масштабируемость; - надежность; - эргономика. XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 23 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Апробация результатов: Свыше 30 докладов на международных конференциях, 4 монографии, более 50 печатных работ Гранты: Microsoft Research (2002-03), РФФИ(1996-2006) , ВШЭ (2008-2011). Внедрения в МГК «ИТЕРА» (150 компаний, 10тыс.чел.): ИСУК(2002); Интернет- (2003); Интранет-портал (2004) Другие внедрения: ИПУ РАН, Фонд «Стерх», Ассоциация Ашихара Каратэ, РПЦ и др. Учебные курсы (ВШЭ, МИФИ, МГУПИ, ИНТУИТ, ЛАНИТ, SoftLine, TEKAMA, CareerLab) – более 3тыс. выпускников XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 24 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г. Особенности жизненного цикла программных систем в посткризисный период Благодарю за внимание! Докладчик: Университет: Факультет: Отделение: Кафедра: Тел.: Факс: e-mail: Зыков Сергей Викторович, к.т.н., доц. НИУ ВШЭ Бизнес-информатика Программная инженерия Управление разработкой программного обеспечения +7(495)772-9590 +7(495)771-3238 szykov@hse.ru ВОПРОСЫ? XXXVIII Международная конференция "Информационные технологии в науке, образовании, телекоммуникации и бизнесе" (IT+SE'11) 25 Украина, Крым, Ялта-Гурзуф, 20-30 мая, 2011 г.