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