Внимание! Семинар будет проводиться на английском языке.
Инструктор говорит на чистом английском языке, обладает хорошей дикцией и ораторскими способностями.
Формат семинара: с 10:00 до 18:00 с перерывами на обед и кофе-брейки.
Stephen J. Mellor is an internationally recognized pioneer in creating effective, engineering approaches to software development. In 1985, he published the widely read Ward-Mellor trilogy Structured Development for Real-Time Systems and in 1988, the first books defining object-oriented analysis.
A Foundation for Model-Driven Architecture in 2002. His latest book MDA Distilled: Principles of Model-Driven Architecture was published in 2004. He is active in the Object Management Group, chairing the consortium that added executable actions to the UML, and he is presently working on a standard for executable UML. He was a two-term member of the OMG Architecture Board and active in specifying MDA.
He is a signatory to the Agile Manifesto. In his copious spare time, he acts as chair of the IEEE Software Advisory Board. Stephen was until recently chief scientist of the Embedded Software Division at Mentor Graphics.
Overview
The challenges of developing high performance, high reliability, and high quality software systems are too much for ad hoc and informal engineering techniques that might have worked in the past on less demanding systems. New techniques for managing these growing complexities are required to meet today`s time-to-market, productivity and quality demands. This one-day class shows you how to:
- engineer the system-wide design to meet performance constraints;
- identify the characteristics of the problem that determine the system design;
- model the system-wide design—the software architecture;
- build rules that generate efficient code.
This approach produces a number of beneficial results:
- time-to-market: open code generation reduces project schedules;
- productivity: reuse is built in to the software architecture;
- error reduction: rules limit coding errors.
Goals
The goals of this course are to describe the fundamental ideas behind application-independent software architecture. These ideas enable translation of executable models into code using model-driven development techniques, and particularly “MDA”
Target Audience
This is a technical course with a few “big ideas” that are of great value to management. The target audience includes senior developers looking for technical information; line managers looking for innovative approaches, and high-level management looking to change the way their organization builds systems. Examples are drawn from both real-time and IT systems, which can exhibit unexpectedly similar architectural properties.
Main Topics
This one-day course will cover the following topics:
- What is the Problem? What problem are we trying to solve?
- The Software Architecture. What is it? What is in one?
- Selecting an Architecture. How do we select an architecture?
- Architectural Styles. What kinds of architectures recur?
- Evaluating Overhead. How can know how an architecture will perform?
- Performance Requirements. Which ones matter?
- Non-Performance-Related Requirements..
- Executable Models. What are they? What’s in one?
- Actions. What are they? How do they differ from programming?
- Model Execution. How do models execute?
- Capturing Models (Metamodels). How do we capture models?
- Rule Language. How do we turn models into code?
- Model Compilers. What are they? What are the main components?
- Marks. How do we direct translation?
- Management Case Study. What are the results?
- Executable UML Foundation. Standardization.
- The Future. Where now?
Стив Меллор (Stephen J. Mellor) - всемирно признанный профессионал и пионер в создании эффективных инженерных подходов в области разработки программного обеспечения. В 1985 он опубликовал широко известную во всем мире книгу в трех частях: «Структурированное проектирование систем реального времени» (Ward-Mellor trilogy Structured Development for Real-Time Systems),- а затем в 1988 и первые книги, посвященные объектно-ориентированному анализу.
В 2002 году Стив опубликовал книгу «Executable UML: A Foundation for Model-Driven Architecture» (UML как основа MDA (Model-Driven Architecture) ). Его наиболее позднее издание, посвященное MDA: «Principles of Model-Driven Architecture » (Принципы MDA),- опубликовано в 2004 году. Он принимает активное участие в OMG (Object Management Group), возглавляя консорциум, который добавляет новые функции в UML, а в настоящее время он работает над стандартом для UML. Два срока подряд он был членом архитектурного совета OMG (Object Management Group) и специализировался по вопросам MDA (Model-Driven Architecture).
Стив один из авторов Agile Manifesto (Аджаил Манифест). Появление этого документа ознаменовало начало новой эры в разработке программного обеспечения. На постоянной основе Стив возглавляет консультационный совет по программному обеспечению при IEEE (Institute of Electrical and Electronics Engineers). Стив так же был руководителем исследовательских работ подразделения программного обеспечения корпорации Mentor Graphics (лидирующая корпорация в области проектирования и автоматизации).
Описание семинара
Современные задачи по разработке высокотехнологичных, надежных и качественных программных продуктов невозможно решить, применяя инженерные подходы, которые были ориентированы на менее требовательные системы прошлого. Новые методы управления комплексом задач по разработке ПО обязаны соответствовать современным требованиям рынка, быть ориентированными на высокую производительность и качество. Этот однодневный семинар покажет Вам как:
- конструировать эффективную комплексную архитектуру в соответствии с присутствующими ограничениями;
- выявлять особенности задачи, по определению архитектуры выстраиваемой системы;
- моделировать комплексный проект архитектуры программного обеспечения;
- разрабатывать правила, которые позволят создать эффективный программный код.
Предлагаемый подход по построению эффективной комплексной архитектуры содержит множество выгодных следствий:
- время выхода на рынок: создание программного кода занимает существенно меньше времени и сокращает длительность всего проекта;
- производительность: повторное использование отлаженных сегментов уже заложено в архитектуре программного обеспечения;
- сокращение ошибок программирования: правила ограничивают ошибки кодирования.
Цели семинара
Цели этого курса состоят в том, чтобы описать фундаментальные идеи, стоящие за независимой от приложений архитектурой программного обеспечения. Эти идеи позволяют переводить построенные модели в программный код, используя методики модельного проектирования ПО и в частности MDA (Model-Driven Architecture).
Целевая аудитория
В этот технический курс заложен ряд ключевых фундаментальных идей, имеющих большую ценность для менеджмента. Семинар принесет пользу старшим разработчикам ПО, ищущим техническую информацию, менеджерам направлений, ищущим инновационные подходы, и ТОP-менеджерам, которые находятся в поисках эффективных моделей для построения систем. В качестве примеров приводятся существующие современные системы и IT системы, которые обладают неожиданно схожими архитектурными качествами.
Основные темы семинара
Однодневный семинар состоит из рассмотрения следующих тем:
- В чем заключается задача? Какую задачу мы пытаемся решить?
- Архитектура программного обеспечения. Что это? Что заключается в этом понятии?
- Выбор архитектуры. Как мы выбираем архитектуру ПО?
- Архитектурные стили. Какие виды архитектуры возвращаются?
- Оценивание архитектуры. Как мы определим, что архитектура будет работать эффективно?
- Требования к архитектуре. Что стоит за требованиями?
- Косвенные требования к архитектуре, которые следует учитывать.
- Архитектурные (исполняемые) модели. Какие модели бывают? Из чего состоит модель?
- Действия. Какие действия бывают? В чем их отличие от программирования?
- Выполнение программы по заданной модели. Как модели работают?
- Фиксирование моделей (Метамодели). Как мы фиксируем модели?
- Правила языка моделирования. Как мы превращаем модели в программный код?
- Компиляторы моделей. Какие бывают компиляторы моделей? Главные элементы компиляторов моделей?
- Специальные знаки. Как мы делаем направленный перевод?
- Упражнения по управлению. Каковы результаты?
- Стандартизация UML.
- Каким видится будущее и где мы сейчас.