Научная статья на тему 'Проектно-ориентированный подход к проведению практикума по курсу "Методология программной инженерии"'

Проектно-ориентированный подход к проведению практикума по курсу "Методология программной инженерии" Текст научной статьи по специальности «Науки об образовании»

CC BY
174
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МЕТОДОЛОГИЯ / ПРОГРАММНАЯ ИНЖЕНЕРИЯ / ПРОЕКТНО-ОРИЕНТИРОВАННОЕ ОБУЧЕНИЕ / РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ

Аннотация научной статьи по наукам об образовании, автор научной работы — Романова Т.Н., Вишневская Т.И.

В статье предложена методика проведения практикума по курсу Методология программной инженерии с использованием проектно-ориентированного подхода. Изложены основные прин-ципы организации данного подхода к обучению и на их основе рассмотрены примеры методи-ческого обеспечения лабораторного практикума. Даны рекомендации по выбору и использова-нию методологий и технологий программной инженерии для разработки распределённых си-стем обработки информации. Представлен опыт использования данной методики для обучения магистров по направлению Программная инженерия в МГТУ им. Н. Э. Баумана.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проектно-ориентированный подход к проведению практикума по курсу "Методология программной инженерии"»

Наука А Образование

МГТУ им. Н.Э. Баумана

Сетевое научное издание

Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2016. № 07. С. 260-266.

Представлена в редакцию: 07.07.2016 Исправлена: 30.07.2016

© МГТУ им. Н.Э. Баумана

подход к по курсу

УДК 378; 004.4

Проектно-ориентированный проведению практикума "Методология программной инженерии"

Романова Т. Н.1, Вишневская Т. И.1 * ♦iu7vt@bmstu.ni

1МГТУ им. Н.Э. Баумана, Москва, Россия

В рамках международного научного конгресса "Наука и инженерное образование. SEE-2016", II международная научно-методическая конференция «Управление качеством инженерного образования. Возможности вузов и потребности промышленности» (23-25 июня 2016 г., МГТУ им. Н.Э. Баумана, Москва, Россия).

В статье предложена методика проведения практикума по курсу Методология программной инженерии с использованием проектно-ориентированного подхода. Изложены основные принципы организации данного подхода к обучению и на их основе рассмотрены примеры методического обеспечения лабораторного практикума. Даны рекомендации по выбору и использованию методологий и технологий программной инженерии для разработки распределённых систем обработки информации. Представлен опыт использования данной методики для обучения магистров по направлению Программная инженерия в МГТУ им. Н. Э. Баумана.

Ключевые слова: методология, программная инженерия, проектно-ориентированное обучение, распределенные информационные системы

Введение

Вследствие широкого использования программного обеспечения (ПО) во всех сферах нашей жизни резко возрастают требования к качеству программных средств (ПС), их надежности и безопасности. Программная инженерия тесно связана со всеми аспектами производства сложных программных и программно-технических комплексов от начальных стадий создания ПО до внедрения и сопровождения. Основные концепции программной инженерии формализованы в комплексе международных стандартов и изучаются в теоретической дисциплине Методология программной инженерии (МПИ). Дисциплина читается студентам магистерской программы по направлению «Программная инженерия».

Изучение курса МПИ включает чтение лекций и практические занятия. В различных вузах используются свои подходы к организации практических занятий. Например, на отделении программной инженерии факультета бизнес-информатики НИУ ВШЭ в качестве отчета по практикуму предлагается написать реферат по заданной теме [1]. В Южном федеральном университете на лабораторных занятиях осваивают готовые программные средства верификации программ [2]. В МГТУ им. Н.Э. Баумана нами была поставлена

цель организации практикума по МПИ не только изучить теорию, но и уметь её использовать для обеспечения разработки качественного ПО. Магистры, обучающиеся по направлению Программная инженерия, должны знать основополагающие принципы и системные подходы к решению вопросов разработки, внедрения и сопровождения ПО, подробно описанные в работах [3-8] и владеть методикой их применения.

1. Методика

В процессе обучения магистров по специальности Программная инженерия в МГТУ им. Н.Э. Баумана были выявлены проблемы с освоением базовых курсов их профессиональной подготовки: Распределенные системы обработки информации (РСОИ) и Методология программной инженерии.

По этой причине возникла необходимость использования иного (отличного от традиционного) подхода к обучению. В качестве такого подхода был выбран проектно-ориентированный подход, представленный в работах [9-10]. Реализация данного подхода состоит в том, что освоение магистрами образовательной программы с целью формирования у них профессиональной компетенции происходит в процессе выполнения ими реальных инженерных задач. В качестве таких задач мы предлагаем в рамках лабораторных работ по дисциплине МПИ провести проектирование информационных систем, выданных магистрам в качестве заданий на курсовую работу по дисциплине РСОИ. Кроме того, анализируемая предметная область и инструментальные средства выбираются для каждого магистра на базе личных профессиональных интересов, сферы деятельности и опыта соответствующих разработок. Это позволяет работать с каждым магистром индивидуально или в рамках небольших команд, состоящих из двух или трех человек.

Уровень компетенции специалиста определяется объемом знаний и опытом собственной деятельности в определенной предметной области. Поскольку предлагаемый в данной работе подход к формированию профессиональной компетентности магистров происходит на основе опыта собственной профессиональной деятельности, то такой подход в обучении можно также отнести и к компетентностно-ориентированному.

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

Цель предлагаемой методики: формирование у магистров профессиональной компетенции в процессе освоения дисциплины Методология программной инженерии.

Для достижения этой цели следует решить следующие задачи:

• формирование навыков формализации требований заказчика ПО;

• развитие умений по использованию современных парадигм, методов и нотаций программной инженерии для построения моделей предметной области;

• развитие умений моделирования процессов и структур данных;

• развитие умений работать в команде;

• развитие умений применять международные стандарты и ГОСТ РФ на каждом этапе разработки ПО.

Модель предлагаемой методики представлена на рис.1.

Задачи профессиональной деятельности магистров: по направлению 09.04.04 Программная инженерия

Проектно-конструкторская деятельность

Производственно-технологическая деятельность

Цель: формирование профессиональной компетентности магистра

Составлять ТЗ и организовывать цикл разработки ПО.

Способность проектировать РИС и протоколы их взаимодействия.

Способность участвовать в групповой разработке ПО. Готовность участвовать в принятии групповых решений и разрешать конфликтные ситуации.

Методологические основы: проектно-ориентированный подход к обучению

Лабораторные работы по курсу Методология программной инженерии

Результат:

магистр со сформированной профессиональной компетентностью

Рис.1. Модель методики

Основные темы лабораторных работ

1. Разработка ТЗ на создание распределенной информационной системы, выбранной студентом в качестве курсовой работы по дисциплине Распределенные системы обработки информации (РСОИ).

2. Разработка проекта распределенной системы в одной из стандартных нотаций (ЦМЦ IDEF0 и другие).

3. Разработка структуры и архитектуры РИС. Распределение задач между участниками проекта.

4. Разработка логического и физического дизайна проекта.

2. Опыт по реализации проектно-ориентированного подхода к проведению практикума по курсу Методология программной инженерии

В рамках предложенной методики, основанной на проектно-ориентированном подходе, процесс обучения профессиональной деятельности магистров по направлению Программная инженерия реализован по следующей схеме:

• в первом семестре магистры изучают базовый курс Распределенные системы обработки информации (РСОИ);

• в начале второго семестра получают индивидуальные или групповые задания для выполнения курсового проекта по разработке конкретных распределенных систем обработки информации;

• во втором семестре в рамках лабораторных работы по МПИ выполняют проектирование распределенных информационных систем из курсового проекта (используют теоретические основы методологии программной инженерии и формируют умения в проектно-конструкторской деятельности под руководством преподавателя);

• в завершении второго семестра самостоятельно выполняют технологическую разработку курсового проекта по РСОИ (написание кода РСОИ).

При выполнении лабораторных работ по курсу Методология программной инженерии большую роль играет наличие методического обеспечения. На кафедре Программное обеспечение ЭВМ и ИТ разработаны методические указания, которые детально описывают каждый шаг разработки информационной системы [11-13]. В качестве примера проектирования РСОИ в методических указаниях рассмотрено актуальное в настоящее время проектирование информационного Web-портала. Как правило, порталы используют сервис-ориентированную архитектуру (СОА, или БОЛ) при котором необходимо разбивать систему на распределенные, независимые подсистемы (сервисы). Такой подход удобен, потому что облегчает командную разработку, позволяет использовать различные технологии и раздельно масштабировать сервисы.

Все лабораторные работы по курсу «Методология программной инженерии» разделены на четыре этапа разработки РСОИ: 1. Этап формализации пользовательских требований.

Магистры должны написать общее техническое задание для разработки РСОИ выбранной тематики. Провести анализ и оценку рисков при разработке сложного комплекса

программ. Описать требования к характеристикам качества разрабатываемой информационной системы. Написать профиль стандартов, регламентирующий разработку распределенной информационной системы в выбранной предметной области.

2. Этап проектирования: разработка структуры и архитектуры РСОИ.

Магистры должны выполнить следующие задания:

• описать топологию распределенной системы;

• описать детально требования по реализации подсистем;

• определить основные протоколы взаимодействия;

• построить архитектуру распределенной информационной системы;

• разработать высокоуровневые требования к сервисам.

3. Этап проектирования: построение объектно-ориентированных моделей системной архитектуры с использованием языка моделирования иМЬ.

Магистры должны выполнить следующие задания по лабораторным работам:

• Разработать концептуальный дизайн системы. Концептуальный дизайн позволяет рассмотреть создаваемую информационную систему с точки зрения пользователей.

• Описать объектно-ориентированные модели системной архитектуры:

• статические модели, которые описывают структуру системы в терминах классов объектов и взаимодействий между ними;

• динамические модели, которые описывают структуру системы и динамическое взаимодействие между объектами системы.

• Разработать логический дизайн РСОИ. Логический дизайн описывает организацию элементов, из которых состоит программное решение, и то, как они взаимодействуют. На этом этапе мы рассматриваем создаваемую систему с точки зрения проектной команды.

• Разработать прототип пользовательского интерфейса.

• Разработать модели организации данных в системе.

• Провести анализ и выбор инструментальных средств для обеспечения жизненного цикла сложного программного комплекса.

4. Отчетность по проекту РСОИ.

Магистры должны сдать преподавателю научно-технический отчет по результатам проектирования программного обеспечения:

• техническое задание на разработку распределенной системы обработки информации, написанное в соответствии с ГОСТ РФ;

• проект системы в виде набора диаграмм на языке моделирования ЦМЪ

• текст с обоснованием выбора ОС, СУБД, языка разработки компонента РСОИ и фреймворка, а также технологий по обеспечению надежности.

Использование данных методических рекомендаций позволит выполнить задания лабораторного практикума в соответствии с учебной программой по курсу Методология

программной инженерии и обеспечит формирование у студентов требуемых профессиональных компетенций:

• способность к формализации требований заказчика и написанию в соответствии с ГОСТ техническое задание (ТЗ) на разработку ПО;

• умение использовать современные парадигмы, методы и нотации программной инженерии для построения моделей предметной области и для моделирования процессов и структур данных;

• способность выделять основные компоненты при разработке ПО, определять связи между ними, описывать интерфейс и поведение всех компонент ПО;

• способность правильно обосновать выбор технологической платформы для разработки РСОИ;

• умение оформлять научно-технические отчеты по результатам выполненной работы.

При использовании прежней методики задания студентам по дисциплинам РСОИ и

МПИ никак не пересекались и требовали от студентов значительных временных затрат на проектирование и реализацию большого количества проектов. Это приводило к тому, что количество студентов, не сдавших своевременно курсовой проект по РСОИ, составляло более 30%. Проведение практикума по МПИ по предлагаемой методике позволило резко повысить мотивацию студентов на более качественную разработку своей распределенной системы, которая была выбрана с учетом их профессиональной ориентации на различные классы задач. Кроме того, уменьшилось количество решаемых задач, что позволило сосредоточить внимание студентов на решении более крупных и сложных проектов. Это в свою очередь привело к повышению успеваемости сразу по двум дисциплинам РСОИ и МПИ. Применение описанной методики для обучения магистров позволило сократить количество неуспевающих студентов сразу по двум дисциплинам до 5%. При этом количество отличных оценок на экзамене по дисциплине МПИ составило примерно 80%.

Заключение

В работе предложена методика проведения практикума по курсу Методология программной инженерии с использованием проектно-ориентированного подхода. Изложены основные принципы организации данного подхода к обучению и на их основе рассмотрены примеры методического обеспечения лабораторного практикума. Даны рекомендации по выбору и использованию методологий и технологий программной инженерии для разработки проекта по РСОИ. Использование предложенной методики позволило повысить качество изучения двух базовых учебных дисциплин МПИ и РСОИ.

Список литературы

[1]. Авдошин С.М. Программа дисциплины "Методология программной инженерии".

Режим доступа: http://fs.nashaucheba.ru/docs/60/тёех-33674.Ь1т1 (дата обращения

21.06.2016)

[2]. Калачёв Д.П., Данилов И.Г. Методология программной инженерии и верификация ПО. Режим доступа: http://semsv.mopevm.sfedu.ru/ или https://sites.google.com/a/softengine.ru/sem-dkalachev/ (дата обращения 21.06.2016)

[3]. Липаев В.В. Программная инженерия. Методологические основы. Учебник. М.: ТЕИС. 2006. 608 с.

[4]. Roger Pressman. Software Engineering: A Practitioner's Approach. New York, NY, USA: McGraw-Hill. 7th ed. 2009. 928 p.

[5]. Tsui F.F., Karam O. Essentials of Software Engineering. Publisher: Jones & Bartlett Learning, LLC. 2006. 384 p.

[6]. Armour F., Miller G. Advanced Use Case Modelling: Software Systems. Addison-Wesley Professional. 2001. 464 p.

[7]. Lattanze A. J. Architecting Software Intensive Systems: A Practitioners Guide. Auerbach Publications. 2008. 416 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[8]. Bass L., Clements P., Kazman R. Software Architecture in Practice. 3rd Edition. Addison-Wesley Professional. 2012. 640 p.

[9]. Zamyatina O. M., Mozgaleva P.I. Competence component of the project-oriented training of elite engineering specialists. // 2014 IEEE Global Engineering Education Conference (EDUCON 2014). (Istanbul, Turkey 3-5 April 2014). IEEE. 2014. P. 114-118.

[10]. Stiller E., LeBlanc C. Project-Based Software Engineering: An Object-Oriented Approach. Publisher: Pearson Education (US). 2001. 400 p.

[11]. Вишневская Т.И., Романова Т.Н. Технология программирования: Метод. указания к лабораторному практикуму. Ч. 1. М: Изд-во МГТУ им. Н.Э. Баумана. 2007. 59 с.

[12]. Вишневская Т.И., Романова Т.Н. Технология программирования: Метод. указания к лабораторному практикуму. Ч. 2. М: Изд-во МГТУ им. Н.Э. Баумана. 2010. 46 с.

[13]. Вишневская Т.И., Романова Т.Н. Технология программирования: Методические указания к лабораторному практикуму. Ч. 3. М: Изд-во МГТУ им. Н.Э. Баумана. 2012. Режим доступа: http://www.catalog.inforeg.ru/Inet/GetEzineByID/293408 (дата обращения 10.06.2016).

i Надоели баннеры? Вы всегда можете отключить рекламу.