Получение опыта проектирования и анализа архитектуры в рамках вуза. Для ИТ-преподавателей.

Мадорская Ю.М.,  к.т.н.,доцент СПбГПУ

Скачать pdf для печати

Одна из важных проблем современных ИТ-преподавателей — это поддержание актуальности и практической применимости преподаваемого материала. 

И если оценить актуальность тех или иных тем можно косвенно по анализу публикаций, то для оценки практической применимости безусловно необходим опыт выполнения различных проектов, желательно крупных. В связи с нашей российской действительностью существует, как правило, два типа вузовских ИТ-преподавателей — практики с производства, которым не хватает времени для анализа и обобщения, а значит реальной подготовки материалов для проведения обучения или «закоренелые» преподаватели, полностью вовлеченные в работу со студентами, у которых по разным причинам нет возможности участвовать в реальных проектах и оценивать применимость тех знаний, которые они передают. 

Эта статья написана для ИТ-преподавателей, работа в вузе для которых основная, и которые хотят получить опыт выполнения реального проекта, связанный с проектированием систем. 

Работая в вузе на полную ставку, а то и не одну, практически невозможно выделить время на участие в каком-либо реальном коммерческом проекте. Как же быть, если очень хочется получить такой опыт без отрыва от учебного процесса? Всё возможно, надо только увидеть свою  систему и свой проект в той деятельности, который вы ведете.

Сегодня ИТ-преподавателям необходимо готовить множество новых программ и как правило у тех, о ком идет речь, таких курсов не один и не два,  предполагаю, что не меньше трех. Теперь задайте себе вопрос, представляют ли ваши курсы собой Систему? Скорее всего нет. Вот они и могут стать той самой системой, которую вы спроектируете, реализуете и внедрите, получив шанс применить всю ту теорию и методики, которые вы даете на занятиях.  Я думаю, что у опытных ИТ-преподавателей уже прострелили все аналогии и ассоциативные связи, но для тех, кто помладше, а также для стимулирования мыслительного процесса приведу несколько наводящих вопросов:

  • Определены ли в системе ваших курсов единые цели? Как цели отдельных модулей (курсов, блоков) согласуются между собой?
  • Описаны ли процессы выполнения курсовых, лабораторных?
  • Какие компетенции (функции) понадобятся студентам для выполнения лабораторных, а вам?
  • Какие автоматизированные системы вы и ваши студенты применяют для реализации практических заданий? Какие требования вы к ним предъявляете?
  • Какие роли играют ваши студенты при выполнении практических заданий?
  • Какое информационное обеспечение используется при выполнении тех или иных операций?
Итак, ваша система курсов представляет собой автоматизированную информационную систему и, как и любая другая ИС, может быть описана с использованием срезов, указанных в схеме Захмана. Насколько избыточна для вас эта схема, какие строки или колонки вы выберете — решать вам. Это зависит от ваших целей и целей других заинтересованных лиц (да-да, и здесь все то же самое, заинтересованные лица, устав проекта, планирование…). 
 
Один из самых важных этапов любого проекта по разработке ИС — это технологическая подготовка. Очень часто, по неопытности, ее пропускают. Я рекомендую сразу же включить этот этап в план работ по проекту. У вас же будет план работ ?
Не стоит также приобретать опыт проектирования «на коленке», передача такого опыта не будет адекватно восприниматься студентами. Несмотря на то, что большинство из них потом будут работать именно так, учиться они хотят «чему-то высокому», чтобы было к чему тянуться.  
 
Остановлюсь на этапе технологической подготовки, т. к. это, наверное, самое непонятное место всего проекта. Технологическая подготовка включает в себя два этапа — проектирование среды проектирования и ее внедрение в свой процесс проектирования. (Смотрите, уже необходимо спроектировать как минимум две системы! Какой вас ждет богатый опыт!).  (*)
Обозначим технологическую среду как ТС и назовем основную проектируемую систему информационная система образовательного процесса — ИСОП . 
 
Цикл проектирования ТС ничем не отличается от проектирования ИСОП, необходимо начать с целей и требований, определиться с процессами, которые вам необходимо будет реализовать и выбрать набор инструментов, отвечающих заданным выше требованиям. Освоить его и использовать по назначению — для проектирования ИСОП.
 
Одна из задач, которую вам необходимо будет решить в ходе проектирования ТС, -это разработать модель трассировки, в которую вы будете дальше раскладывать проектные данные ИСОП. Как разрабатываются модели трассировки описано здесь
 
Здесь скорее всего прозвучит резонный вопрос, зачем мне разрабатывать модель трассировки, если есть схема Захмана и я просто пойду по ней? Действительно, схема Захмана есть, но классифицируя элементы ИС, она не задает связи между ними. А нам необходимы связи! Т.к. мы будем работать над архитектурой (по ссылке см. определение)! 
Примечание. Мое пристрастие к 3SL Cradle началось в 2006 году, когда мы проводили исчерпывающий анализ систем для внедрения в процессы проектирования крупной организации. Все объясняется очень просто, Cradle позволяет задать любую модель трассировки проектных данных. Таких систем на тот момент было всего две —  Cradle и DOORs. Requisite pro, на котором я работала до 3SL Cradle не позволял задавать типы связей между элементами и имел слабо развитые аналитические функции. Насколько мне известно, ситуация пока остается прежней.  В чем выражается практическая ценность такой архитектуры CASE-системы? — Нет необходимости менять инструмент при смене проекта, парадигмы проектирования, требований к технологии ведения проекта. А значит значительно меньше тратится времени на ту самую важную часть проекта — технологическую подготовку.
На сегодня у нас есть ядро модели трассировки, которое подходит практически для всех типов проектов, которые мы ведем, поэтому базовая настройка любого проекта выполняется за пять минут — импортом схемы. Мы описываем цели, задачи, автоматизируемые процессы, требования разных типов, риски и другие типы данных, которые часто используются в проектах. При необходимости настраиваются дополнительные атрибуты, запросы и представления, специфичные для проекта, но т.к. все эти функции хорошо знакомы, то выполняется это просто «по ходу дела» без отвлечения от работы. 
Поэтому я рекомендую для этого проекта сразу ориентироваться на 3SL Cradle, сэкономив время на поиске инструмента и перераспределив его  на качественную проработку своей модели трассировки (Это крайне увлекательный процесс, спросите у И. Курносовой!). Модель трассировки во многом определит далее архитектуру вашей системы, поскольку является мета-архитектурой. Поэтому серьезно отнеситесь к проработке этой задачи!
 
Разработав модель трассировки и выбрав набор инструментов в соответствии с требованиями, настроив инструменты можно переходить к проекту по созданию ИСОП.
Не забудьте актуализировать план работ, уже зная модель трассировки можно будет уточнить как список задач, так и сроки.
Для планирования я рекомендую использовать MS Project. Это удобная и быстрая в освоении система, если понять, что все ключевые данные представлены в ней в трех таблицах (Задачи, Ресурсы и связывающая их таблица — Назначения). Все множество интерфейсов, которые по началу могут запутать, — это, по сути, срезы, различные представления данных из этих трех таблиц. Множество готовых срезов и гибкость настройки новых позволяют проводить глубокий и быстрый анализ проекта во временном срезе. Кроме того, у MS Project и 3SL Cradle есть двусторонняя интеграция. Если же у вас нет возможности использовать MS Project и нет необходимости видеть диаграмму Ганта перед глазами и использовать функции автоматического перерасчета задач, то можно запросто обойтись и 3Sl Cradle, в нем есть базовые функции управления задачами. Появится Project -подключите.
Обязательно оцените состояние уже зафиксированных рисков проекта и внесите те, которые не учли раньше. Как? Вам некогда управлять рисками? А зачем вы тогда этому учите других? 
 
Все, технологическая среда готова, организационные вопросы решены, решения зафиксированы, начинайте проектирование ИСОП! Создайте из ваших курсов Систему! Выделите и проанализируйте ее архитектуру, посмотрите как изменение элементов архитектуры будет влиять на всю систему. Получите опыт, о котором вы сможете рассказать студентам, написать статьи и даже книгу, уверена, такой путеводитель пригодится многим. 
Добавлю, что предлагаемый тип проекта мной был реализован в прошлом году, мне необходимо было быстро проработать согласованную программу по курсу «Управление проектами» и новому ГОСу. Воспользовавшись своим опытом проектирования, разработанной ранее моделью трассировки и 3SL Cradle я сделала это очень быстро и качественно на выходе получив документ (сгенерированный Cradle) соответствующий требованиям ГОСа. Возможность трассировки и настройки пользовательских представлений для анализа здорово помогли быстро сбалансировать все элементы курса. На основе этого же описания в Cradle были сгенерированы инструкции по выполнению курсовых проектов для студентов (модуль Document Publisher). Кстати, текущие описания курсов можно не перебивать руками, а загрузить используя Document Loader (**). 
 
Выводы
Основная идея состоит в том, что все, что необходимо вам, как ИТ-преподавателю, для получения опыта проектирования и исследования архитектуры ИС находится у вас под рукой и можно не распалять усилия на разные проекты, а сконцентрировать их в одном месте и получить классный, многоцелевой результат — провести реинжиниринг читаемых курсов, значительно повысить качество систематизации курсов, получить ценный практический опыт, написать статьи, разработать новые курсы на основе полученного опыта или расширить существующие, осознанно управлять изменениями ИСОП, не разрушая созданную согласованную архитектуру системы. Кроме того, что особенно ценно, пройдя полный цикл проектирования и разработки вы будете иметь возможность внедрить свою систему на практике и, конечно, получать обратную связь от заказчиков. Кстати, кто у вас заказчик вашей Системы?
 
Примечания

 (*) При недостатке времени эту часть работы можно поручить разным студентам в качестве отличной курсовой работы, а затем выбрать и доработать наиболее понравившийся вариант. Таким образом все будут работать над одним общим и интересным  делом.

(**) Есть некоторые хитрости загрузки, которые лучше узнать сразу, чем тратить время на их поиск.

(***) При необходимости консультаций по тому как лучше организовать такой проект, как именно начать, какие сложности могут ожидать, обращайтесь.

Присоединиться в facebook или linkedin

Комментарии

комментарии

Комментарии закрыты.