SlideShare a Scribd company logo
1 of 19
Стык системной и программной
инженерии в учебном курсе
моделеориентированной разработки
программоёмких систем
А.М. Иванов, amivanoff@gmail.com
старший преподаватель
каф. Информационные системы и телекоммуникации
МГТУ им. Н.Э. Баумана
расширенная и дополненная версия
доклада с 4й рабочей встречи в Бекасово
Москва, 2013
Статус курса
• Факультет «Информатика и системы
управления» (ИУ)
• Кафедра «Информационные Системы и
Телекоммуникации» (ИУ3)
• Специализация широкого профиля
– Встраиваемые системы
– Корпоративные системы
– Интеллектуальные системы
2
Формальные аспекты создания курса в
ВУЗе
• Разработка учебной программы
– Смена классификаторов
– Смена сводных шаблонов
– Смена отдельных форм
– Автоматизация
3
Участники учебного процесса
• Преподаватели
– Лектор Иванов А.М.
– Лаборант Иванов А.М.
• Студенты
– 2 группы по ~15 человек
4
Место в учебном процессе
• Предшествующие дисциплины
– Алгоритмы и структуры данных
– Инфокоммуникационные системы и сети
– Управление данными
– Программирование на языке высокого уровня
– Технологии программирования
• Последующие дисциплины
– Интеллектуальные системы и технологии
– Корпоративные информационные системы
– Распределенные информационные системы
– Проектирование информационных и
телекоммуникационных систем
5
Цели курса
• Знания
– Студент должен знать понятия
• Конструкции языка Java, основы работы виртуальной машины JVM, основные библиотеки
• Критерии качества архитектуры системы, шаблоны проектирования
• Российские и международные стандарты оформления технической документации
• Современные нотации описания информационных систем
• Критерии качества исходного кода; особенности языков программирования; шаблоны реализации; классификаторы ошибок;
источники ошибок
• Технологии обеспечения модульности программных систем. Модульность ПО, разбиения системы на части: структурная и
функциональная декомпозиция, аспектная декомпозиция, компоненты и компонентная система
– Методики
• Методологии разработки ПО
• Методы оценки трудоемкости и планирования разработки
• Методы управления требованиями (Discovering Requirements)
• Методы архитектурного проектирования (CMU SEI)
• Методы тестирования
• Возможности инструментов автоматизации разработки
• Умения
– Проводить анализ предметной области и составлять ТЗ.
– Выявлять требования к качеству системы на различных этапах разработки.
– Осуществлять проектирование системы.
– Создавать качественный код на этапе реализации системы.
– Составлять план тестирования и разрабатывать тестовые случаи.
• Навыки
– Программирования на Java с использованием Eclipse IDE,
– использования инструментов групповой работы в разработке ПО (система контроля версий, система учета задач, система
ведения документации, система непрерывной интеграции),
– построения бинарных сборок модульной системы и выпуска версий с использованием Apache Ant,
– использования каркасов модульного тестирования JUnit,
– поиска уязвимостей в коде с использованием инструмента анализа исходного кода FindBugs
6
Часы курса
Виды учебной работы
Объем в часах по семестрам
06 семестр
17 недель
Лекции 34
Лабораторные работы 34
Самостоятельная работа 34
Контрольные мероприятия 6
Итого в часах 108
Проверка знаний: экзамен
7
Программа курса лекций
Трудоемкость
в кредитн. ед.
Часы
общ./ауд.
Контрольные
мероприятия
Рейтинг
макс./мин.
Семестр 6
Модуль 6-1
Основы языка Java
1 33/17 Контроль по модулю 12/8
Модуль 6-2
Типовой процесс разработки ПО
1 33/17 Контроль по модулю 12/8
Модуль 6-3
Технологии декомпозиции и
обеспечения модульности
1 33/17 Контроль по модулю 12/8
Модуль 6-4
Основы организации процесса
разработки ПО
1 33/17 Контроль по модулю 12/8
Экзамен 52/28
8
Программа курса лабораторных
9
Лаб. работа (стадия
процесса разработки)
Методика, методы работы Результаты труда
Нотации, языки и
форматы
результатов труда
Инструменты
индивидуальной
разработки
Инструменты
групповой
работы
Знания, умения, навыки
студентов
Лаб 1. Java, OSGi, Sling,
Sakai OAE
Создание отдельных
небольших прототипов для
знакомства с основными
технологиями
Набор Eclipse
проектов
Исходный код
модуля на языке Java
Eclipse IDE:
редактор,
компилятор,
отладчик
Git, Maven
Знакомство со средой
разработки Eclipse, языком
Java и другими
технологиями
Лаб 2. Составление
требований к модулю
Сбор и документирование
требований в виде сценариев
вариантов использования.
Обсуждение требований
ТЗ на
разрабатываемый
модуль
Документ Word MS Word Git
Сбор и документирование
требований
Лаб 3.
Проектирование
модуля
Проектирование и
документирование
архитектуры.
Детальное проектирование
интерфейсов сервисов.
Обсуждение архитектуры
Высокоуровневая
архитектура.
Детальная
архитектура
UML-модель,
Archimate-модель
Eclipse Papyrus,
Archi
Git
Проектирование и
документирование
архитектуры
Лаб 4. Реализация,
проверка качества
кода
Создание реализации
сервисов с учетом соглашений
об оформлении кода,
проверки кода на уязвимости
Набор Eclipse
проектов
Исходный код
модуля на языке Java
Eclipse IDE,
CheckStyle,
FindBugs
Git, Hudson
Создание качественного
кода
Лаб 5. Реализация,
модульное
тестирование
Создание реализации
сервисов модуля и их
тестирование
Набор Eclipse
проектов
Исходный код
модуля и модульных
тестов на языке Java
Eclipse IDE, JUnit Git, Hudson Тестирование модулей
Лаб 6. Системное
тестирование,
подготовка релиза
Тестирование системы в целом
с модулем. Создание
дистрибутива плагина
Отчет о системном
тестировании,
бинарная сборка
модуля, исходный
код модуля
Документ Word, jar-
файл модуля,
исходный код
модуля на языке Java
Eclipse IDE Git, Hudson
Системное тестирование,
создание бинарных сборок
Системная инженерия в программной
• Разрабатывается не программа, а социо-
кибер-физическая система
• Осознанный подход к требованиям
• Осознанное проектирование на основе
заданных целевых показателей
• Сравнительный архитектурный анализ
10
Моделеориентированность в курсе
• Model-Based (?) – модель как эскиз системы,
модель как способ верификации
– Модели требований системы
– Модели архитектурных описаний системы
• Не Model-Driven Development (MDD/MDSD)
– Не генерация кода по модели
11
Принципы выставления оценок в курсе
• Выполнение лабораторных
• Защита лабораторных
• Экзамен
12
Источники
• Стандарты
– Archimate
– OSGi
• Литература
– Разработка ПО на практике
– Discovering Reqiorements
– OSGi for Beginners
– Git for Beginners
13
Подготовительные материалы
• Шаблонный проект Archimate
• Проекты экспериментов с OSGi
14
Студенческие проекты
• Команда 3 человека
• Примеры проектов
– Интерфейс расписания занятий
– Форум
– Wiki
– Посещаемость
15
Особенности мотивирования
• Генерация РПЗ по модели
• Анализ целей заинтересованных в системе
лиц в начале любого стартапа
• Как работать командой
16
Instructional design
• Упражнений кроме проектов не было
• В начале каждой лабораторной вводная и
анализ результатов предыдущей
17
Возможности отчуждения курса
• Сообщество, мыслящее теми же понятиями
18
СПАСИБО ЗА ВНИМАНИЕ!
19

More Related Content

What's hot

Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
Alexander Shamanin
 

What's hot (20)

А.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом активаА.Левенчук -- управление жизненным циклом актива
А.Левенчук -- управление жизненным циклом актива
 
Инженерия требований
Инженерия требованийИнженерия требований
Инженерия требований
 
А.Левенчук -- тренды в инженерии требований
А.Левенчук -- тренды в инженерии требованийА.Левенчук -- тренды в инженерии требований
А.Левенчук -- тренды в инженерии требований
 
Семантические информационные модели и ISO 15926
Семантические информационные модели и ISO 15926Семантические информационные модели и ISO 15926
Семантические информационные модели и ISO 15926
 
Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)Тьюториал "Введение в системную инженерию" (14 января 2013)
Тьюториал "Введение в системную инженерию" (14 января 2013)
 
А.Левенчук -- Понятие системы в системной инженерии
А.Левенчук -- Понятие системы в системной инженерииА.Левенчук -- Понятие системы в системной инженерии
А.Левенчук -- Понятие системы в системной инженерии
 
Алексей Иванов -- мультиагентные архитектуры в электроэнергетике
Алексей Иванов -- мультиагентные архитектуры в электроэнергетикеАлексей Иванов -- мультиагентные архитектуры в электроэнергетике
Алексей Иванов -- мультиагентные архитектуры в электроэнергетике
 
Моделеориентированность в инженерии
Моделеориентированность в инженерииМоделеориентированность в инженерии
Моделеориентированность в инженерии
 
О.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделированииО.Савин -- Modelica в архитектурном моделировании
О.Савин -- Modelica в архитектурном моделировании
 
Системы систем
Системы системСистемы систем
Системы систем
 
А.Левенчук -- Essence для управления технологиями
А.Левенчук -- Essence для управления технологиямиА.Левенчук -- Essence для управления технологиями
А.Левенчук -- Essence для управления технологиями
 
А.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системыА.Левенчук -- декомпозиция системы
А.Левенчук -- декомпозиция системы
 
Леонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных системЛеонид Воронцов -- инженерия больших радиоэлектронных систем
Леонид Воронцов -- инженерия больших радиоэлектронных систем
 
Юрий Бабин -- многокритериальная оптимизация в инженерных проектах
Юрий Бабин -- многокритериальная оптимизация в инженерных проектахЮрий Бабин -- многокритериальная оптимизация в инженерных проектах
Юрий Бабин -- многокритериальная оптимизация в инженерных проектах
 
Основные альфы системной инженерии (Systems engineering Essence)
Основные альфы системной инженерии (Systems engineering Essence)Основные альфы системной инженерии (Systems engineering Essence)
Основные альфы системной инженерии (Systems engineering Essence)
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектирования
 
В.Батоврин -- Основания системной инженерии
В.Батоврин -- Основания системной инженерииВ.Батоврин -- Основания системной инженерии
В.Батоврин -- Основания системной инженерии
 
Системная инженерия как технология мышления
Системная инженерия как технология мышленияСистемная инженерия как технология мышления
Системная инженерия как технология мышления
 
Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
Вячеслав Мизгулин - Результаты работы на INCOSE WS 2017
 
В.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерииВ.Мизгулин -- программа магистратуры по системной инженерии
В.Мизгулин -- программа магистратуры по системной инженерии
 

Viewers also liked

Essence syseng omg_20jun13_v4.1
Essence syseng omg_20jun13_v4.1Essence syseng omg_20jun13_v4.1
Essence syseng omg_20jun13_v4.1
Andrey Bayda
 

Viewers also liked (17)

Б.Позин -- катастрофоустойчивая банковская система (1/2)
Б.Позин -- катастрофоустойчивая банковская система (1/2)Б.Позин -- катастрофоустойчивая банковская система (1/2)
Б.Позин -- катастрофоустойчивая банковская система (1/2)
 
Б.Позин -- катастрофоустойчивая банковская система (2/2)
Б.Позин -- катастрофоустойчивая банковская система (2/2)Б.Позин -- катастрофоустойчивая банковская система (2/2)
Б.Позин -- катастрофоустойчивая банковская система (2/2)
 
Essence syseng omg_20jun13_v4.1
Essence syseng omg_20jun13_v4.1Essence syseng omg_20jun13_v4.1
Essence syseng omg_20jun13_v4.1
 
Алексей Корнилов -- фото к докладу "Робототехника как мультидисциплина"
Алексей Корнилов -- фото к докладу "Робототехника как мультидисциплина"Алексей Корнилов -- фото к докладу "Робототехника как мультидисциплина"
Алексей Корнилов -- фото к докладу "Робототехника как мультидисциплина"
 
А.Арендарчук -- концептуальные схемы ресурсоснабжения
А.Арендарчук -- концептуальные схемы ресурсоснабженияА.Арендарчук -- концептуальные схемы ресурсоснабжения
А.Арендарчук -- концептуальные схемы ресурсоснабжения
 
М.Бухарин -- DSM в архитектурном проектировании
М.Бухарин -- DSM в архитектурном проектированииМ.Бухарин -- DSM в архитектурном проектировании
М.Бухарин -- DSM в архитектурном проектировании
 
Richard Crisp -- predictable development for the IoT
Richard Crisp -- predictable development for the IoTRichard Crisp -- predictable development for the IoT
Richard Crisp -- predictable development for the IoT
 
О.Савин -- оптимизация архитектуры
О.Савин -- оптимизация архитектурыО.Савин -- оптимизация архитектуры
О.Савин -- оптимизация архитектуры
 
М.Гайворонский -- опыт разработки САУ двигателя
М.Гайворонский -- опыт разработки САУ двигателяМ.Гайворонский -- опыт разработки САУ двигателя
М.Гайворонский -- опыт разработки САУ двигателя
 
Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling
 
Tim Weilkiens - Systems engineering: consulting services, masters curriculum ...
Tim Weilkiens - Systems engineering: consulting services, masters curriculum ...Tim Weilkiens - Systems engineering: consulting services, masters curriculum ...
Tim Weilkiens - Systems engineering: consulting services, masters curriculum ...
 
А.Левенчук -- плохая модульность
А.Левенчук -- плохая модульностьА.Левенчук -- плохая модульность
А.Левенчук -- плохая модульность
 
A.Levenchuk -- Machine learning engineering
A.Levenchuk -- Machine learning engineeringA.Levenchuk -- Machine learning engineering
A.Levenchuk -- Machine learning engineering
 
М.Акоев -- системная динамика и мышление
М.Акоев -- системная динамика и мышлениеМ.Акоев -- системная динамика и мышление
М.Акоев -- системная динамика и мышление
 
И.Беспальчук -- оценка архитектуры по ATAM
И.Беспальчук -- оценка архитектуры по ATAMИ.Беспальчук -- оценка архитектуры по ATAM
И.Беспальчук -- оценка архитектуры по ATAM
 
A.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsA.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systems
 
А.Левенчук -- преподавание системного мышления
А.Левенчук -- преподавание системного мышленияА.Левенчук -- преподавание системного мышления
А.Левенчук -- преподавание системного мышления
 

Similar to Алексей Иванов -- курс по стыку системной и программной инженерий

Инструмент для разработки эл. курсов Course lab. WebSoft
Инструмент для разработки эл. курсов Course lab. WebSoftИнструмент для разработки эл. курсов Course lab. WebSoft
Инструмент для разработки эл. курсов Course lab. WebSoft
Сообщество eLearning PRO
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
SQALab
 
Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспечения
Rauan Ibraikhan
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
Rauan Ibraikhan
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
Sergii Shmarkatiuk
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
qasib
 
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest
 
Стажировка-2013, разработчики, ретроспектива
Стажировка-2013, разработчики, ретроспективаСтажировка-2013, разработчики, ретроспектива
Стажировка-2013, разработчики, ретроспектива
7bits
 

Similar to Алексей Иванов -- курс по стыку системной и программной инженерий (20)

Java 2 - Java Intro
Java 2 - Java IntroJava 2 - Java Intro
Java 2 - Java Intro
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
Инструмент для разработки эл. курсов Course lab. WebSoft
Инструмент для разработки эл. курсов Course lab. WebSoftИнструмент для разработки эл. курсов Course lab. WebSoft
Инструмент для разработки эл. курсов Course lab. WebSoft
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Academy IBS Studying process improvements
Academy IBS Studying process improvementsAcademy IBS Studying process improvements
Academy IBS Studying process improvements
 
Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...
 
Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспечения
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
 
Виртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИВиртуальный Кампус МЭСИ
Виртуальный Кампус МЭСИ
 
Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...
 
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
 
Стажировка-2013, разработчики, ретроспектива
Стажировка-2013, разработчики, ретроспективаСтажировка-2013, разработчики, ретроспектива
Стажировка-2013, разработчики, ретроспектива
 

More from Anatoly Levenchuk

More from Anatoly Levenchuk (20)

Contemporary Systems Engineering (oct 2022)
Contemporary Systems Engineering (oct 2022)Contemporary Systems Engineering (oct 2022)
Contemporary Systems Engineering (oct 2022)
 
Open-endedness curriculum at EEM Institute
Open-endedness curriculum at EEM InstituteOpen-endedness curriculum at EEM Institute
Open-endedness curriculum at EEM Institute
 
Праксиология и системное мышление
Праксиология и системное мышлениеПраксиология и системное мышление
Праксиология и системное мышление
 
А.Левенчук -- развитие личности
А.Левенчук -- развитие личностиА.Левенчук -- развитие личности
А.Левенчук -- развитие личности
 
А.Левенчук -- стейкхолдерское мастерство
А.Левенчук -- стейкхолдерское мастерствоА.Левенчук -- стейкхолдерское мастерство
А.Левенчук -- стейкхолдерское мастерство
 
А.Левенчук -- SysArchi
А.Левенчук -- SysArchiА.Левенчук -- SysArchi
А.Левенчук -- SysArchi
 
А.Левенчук -- как выжить в эпоху перемен перемен
А.Левенчук -- как выжить в эпоху перемен переменА.Левенчук -- как выжить в эпоху перемен перемен
А.Левенчук -- как выжить в эпоху перемен перемен
 
А.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерииА.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерии
 
А.Левенчук -- визуальное мышление
А.Левенчук -- визуальное мышлениеА.Левенчук -- визуальное мышление
А.Левенчук -- визуальное мышление
 
А.Левенчук -- системное развитие личности
А.Левенчук -- системное развитие личностиА.Левенчук -- системное развитие личности
А.Левенчук -- системное развитие личности
 
А.Левенчук -- Будущее девелопмента
А.Левенчук -- Будущее девелопментаА.Левенчук -- Будущее девелопмента
А.Левенчук -- Будущее девелопмента
 
А.Левенчук -- Системное мышление в инженерии предприятий
А.Левенчук -- Системное мышление в инженерии предприятийА.Левенчук -- Системное мышление в инженерии предприятий
А.Левенчук -- Системное мышление в инженерии предприятий
 
А.Левенчук -- Системное мышление и управление конфигурацией
А.Левенчук -- Системное мышление и управление конфигурациейА.Левенчук -- Системное мышление и управление конфигурацией
А.Левенчук -- Системное мышление и управление конфигурацией
 
А.Левенчук -- аппаратное ускорение аналитики в BigData
А.Левенчук -- аппаратное ускорение аналитики в BigDataА.Левенчук -- аппаратное ускорение аналитики в BigData
А.Левенчук -- аппаратное ускорение аналитики в BigData
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектирования
 
Future of Engineering
Future of EngineeringFuture of Engineering
Future of Engineering
 
А.Левенчук -- безлюдные (дез)организации
А.Левенчук -- безлюдные (дез)организацииА.Левенчук -- безлюдные (дез)организации
А.Левенчук -- безлюдные (дез)организации
 
А.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIAА.Левенчук -- предпринимательство: кейс NVIDIA
А.Левенчук -- предпринимательство: кейс NVIDIA
 
Системное мышление -- непопсовый обзор курса
Системное мышление -- непопсовый обзор курсаСистемное мышление -- непопсовый обзор курса
Системное мышление -- непопсовый обзор курса
 
А.Левенчук -- системный фитнес
А.Левенчук -- системный фитнесА.Левенчук -- системный фитнес
А.Левенчук -- системный фитнес
 

Алексей Иванов -- курс по стыку системной и программной инженерий

  • 1. Стык системной и программной инженерии в учебном курсе моделеориентированной разработки программоёмких систем А.М. Иванов, amivanoff@gmail.com старший преподаватель каф. Информационные системы и телекоммуникации МГТУ им. Н.Э. Баумана расширенная и дополненная версия доклада с 4й рабочей встречи в Бекасово Москва, 2013
  • 2. Статус курса • Факультет «Информатика и системы управления» (ИУ) • Кафедра «Информационные Системы и Телекоммуникации» (ИУ3) • Специализация широкого профиля – Встраиваемые системы – Корпоративные системы – Интеллектуальные системы 2
  • 3. Формальные аспекты создания курса в ВУЗе • Разработка учебной программы – Смена классификаторов – Смена сводных шаблонов – Смена отдельных форм – Автоматизация 3
  • 4. Участники учебного процесса • Преподаватели – Лектор Иванов А.М. – Лаборант Иванов А.М. • Студенты – 2 группы по ~15 человек 4
  • 5. Место в учебном процессе • Предшествующие дисциплины – Алгоритмы и структуры данных – Инфокоммуникационные системы и сети – Управление данными – Программирование на языке высокого уровня – Технологии программирования • Последующие дисциплины – Интеллектуальные системы и технологии – Корпоративные информационные системы – Распределенные информационные системы – Проектирование информационных и телекоммуникационных систем 5
  • 6. Цели курса • Знания – Студент должен знать понятия • Конструкции языка Java, основы работы виртуальной машины JVM, основные библиотеки • Критерии качества архитектуры системы, шаблоны проектирования • Российские и международные стандарты оформления технической документации • Современные нотации описания информационных систем • Критерии качества исходного кода; особенности языков программирования; шаблоны реализации; классификаторы ошибок; источники ошибок • Технологии обеспечения модульности программных систем. Модульность ПО, разбиения системы на части: структурная и функциональная декомпозиция, аспектная декомпозиция, компоненты и компонентная система – Методики • Методологии разработки ПО • Методы оценки трудоемкости и планирования разработки • Методы управления требованиями (Discovering Requirements) • Методы архитектурного проектирования (CMU SEI) • Методы тестирования • Возможности инструментов автоматизации разработки • Умения – Проводить анализ предметной области и составлять ТЗ. – Выявлять требования к качеству системы на различных этапах разработки. – Осуществлять проектирование системы. – Создавать качественный код на этапе реализации системы. – Составлять план тестирования и разрабатывать тестовые случаи. • Навыки – Программирования на Java с использованием Eclipse IDE, – использования инструментов групповой работы в разработке ПО (система контроля версий, система учета задач, система ведения документации, система непрерывной интеграции), – построения бинарных сборок модульной системы и выпуска версий с использованием Apache Ant, – использования каркасов модульного тестирования JUnit, – поиска уязвимостей в коде с использованием инструмента анализа исходного кода FindBugs 6
  • 7. Часы курса Виды учебной работы Объем в часах по семестрам 06 семестр 17 недель Лекции 34 Лабораторные работы 34 Самостоятельная работа 34 Контрольные мероприятия 6 Итого в часах 108 Проверка знаний: экзамен 7
  • 8. Программа курса лекций Трудоемкость в кредитн. ед. Часы общ./ауд. Контрольные мероприятия Рейтинг макс./мин. Семестр 6 Модуль 6-1 Основы языка Java 1 33/17 Контроль по модулю 12/8 Модуль 6-2 Типовой процесс разработки ПО 1 33/17 Контроль по модулю 12/8 Модуль 6-3 Технологии декомпозиции и обеспечения модульности 1 33/17 Контроль по модулю 12/8 Модуль 6-4 Основы организации процесса разработки ПО 1 33/17 Контроль по модулю 12/8 Экзамен 52/28 8
  • 9. Программа курса лабораторных 9 Лаб. работа (стадия процесса разработки) Методика, методы работы Результаты труда Нотации, языки и форматы результатов труда Инструменты индивидуальной разработки Инструменты групповой работы Знания, умения, навыки студентов Лаб 1. Java, OSGi, Sling, Sakai OAE Создание отдельных небольших прототипов для знакомства с основными технологиями Набор Eclipse проектов Исходный код модуля на языке Java Eclipse IDE: редактор, компилятор, отладчик Git, Maven Знакомство со средой разработки Eclipse, языком Java и другими технологиями Лаб 2. Составление требований к модулю Сбор и документирование требований в виде сценариев вариантов использования. Обсуждение требований ТЗ на разрабатываемый модуль Документ Word MS Word Git Сбор и документирование требований Лаб 3. Проектирование модуля Проектирование и документирование архитектуры. Детальное проектирование интерфейсов сервисов. Обсуждение архитектуры Высокоуровневая архитектура. Детальная архитектура UML-модель, Archimate-модель Eclipse Papyrus, Archi Git Проектирование и документирование архитектуры Лаб 4. Реализация, проверка качества кода Создание реализации сервисов с учетом соглашений об оформлении кода, проверки кода на уязвимости Набор Eclipse проектов Исходный код модуля на языке Java Eclipse IDE, CheckStyle, FindBugs Git, Hudson Создание качественного кода Лаб 5. Реализация, модульное тестирование Создание реализации сервисов модуля и их тестирование Набор Eclipse проектов Исходный код модуля и модульных тестов на языке Java Eclipse IDE, JUnit Git, Hudson Тестирование модулей Лаб 6. Системное тестирование, подготовка релиза Тестирование системы в целом с модулем. Создание дистрибутива плагина Отчет о системном тестировании, бинарная сборка модуля, исходный код модуля Документ Word, jar- файл модуля, исходный код модуля на языке Java Eclipse IDE Git, Hudson Системное тестирование, создание бинарных сборок
  • 10. Системная инженерия в программной • Разрабатывается не программа, а социо- кибер-физическая система • Осознанный подход к требованиям • Осознанное проектирование на основе заданных целевых показателей • Сравнительный архитектурный анализ 10
  • 11. Моделеориентированность в курсе • Model-Based (?) – модель как эскиз системы, модель как способ верификации – Модели требований системы – Модели архитектурных описаний системы • Не Model-Driven Development (MDD/MDSD) – Не генерация кода по модели 11
  • 12. Принципы выставления оценок в курсе • Выполнение лабораторных • Защита лабораторных • Экзамен 12
  • 13. Источники • Стандарты – Archimate – OSGi • Литература – Разработка ПО на практике – Discovering Reqiorements – OSGi for Beginners – Git for Beginners 13
  • 14. Подготовительные материалы • Шаблонный проект Archimate • Проекты экспериментов с OSGi 14
  • 15. Студенческие проекты • Команда 3 человека • Примеры проектов – Интерфейс расписания занятий – Форум – Wiki – Посещаемость 15
  • 16. Особенности мотивирования • Генерация РПЗ по модели • Анализ целей заинтересованных в системе лиц в начале любого стартапа • Как работать командой 16
  • 17. Instructional design • Упражнений кроме проектов не было • В начале каждой лабораторной вводная и анализ результатов предыдущей 17
  • 18. Возможности отчуждения курса • Сообщество, мыслящее теми же понятиями 18