Свод знаний IEEE.ppt
- Количество слайдов: 15
ПРО МНАЯ ИНЖЕНЕРИЯ СВОД ЗНАНИЙ IEEE SWEB И ИХ ОСОБЕННОСТИ Стишкина Екатерина, группа 32 -13
ИЗ ИСТОРИИ В конце 90 -х годов прошлого века знания и опыт, которые были накоплены в индустрии программного обеспечения за предшествующие 30 -35 лет, а также более чем 15 -летних попыток применения различных моделей разработки, все это, наконец, оформилось в то, что принято называть дисциплиной программной инженерии – Software Engineering. В какой-то мере, такое формирование дисциплины на основе широко распространенного практического опыта напоминает те процессы, которые происходили в управлении проектами. Возникали и развивались профессиональные ассоциации, специализированные институты, комитеты по стандартизации и другие образования, которые, в конце концов, пришли к общему мнению о необходимости сведения профессиональных знаний по соответствующим областям и стандартизации соответствующих программ обучения.
В свою очередь, IEEE и ACM , начав совместные работы еще в 1993 году с кодекса этики и профессиональной практики в данной области (ACM/IEEE-CS Code of Ethics and Professional Practice), к 2004 году сформулировали два ключевых описания того, что сегодня мы и называем основами программной инженерии – Software Engineering: 1. Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE 2004 Version - Руководство к Своду Знаний по Программной Инженерии, в дальнейшем просто “SWEBOK” [SWEBOK, 2004]; 2. Software Engineering 2004. Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering – Учебный План для Преподавания Программной Инженерии в ВУЗах [SE, 2004].
Оба стандарта стали результатом консенсуса ведущих представителей индустрии и признанных авторитетов в области программной инженерии - по аналогии с тем, как был создан PMI PMBOK. Так мы пришли к сегодняшнему состоянию Software Engineering как дисциплины.
IEEE – INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS IEEE - Институт инженеров по электронике объединяет почти 400000 технических специалистов из более чем 150 стран. IEEE состоит из ряда профессиональных сообществ, в самое крупное из которых - IEEE Computer Society - входят более 100000 человек. Компьютерное сообщество IEEE ежегодно спонсирует около ста пятидесяти научных конференций и симпозиумов, публикует более 20 периодических изданий. IEEE Computer Society также широко известно своей деятельностью по стандартизации, которую на сегодняшний день в рамках сообщества осуществляют порядка 200 рабочих групп.
Важно понимать, что программная инженерия является развивающейся дисциплиной. Более того, данная дисциплина не касается вопросов конкретизации применения тех или иных языков программирования, архитектурных решений или, тем более, рекомендаций, касающихся более или менее распространенных или развивающихся с той или иной степенью активности/заметности технологий (например, web-служб). Руководство к своду знаний, каковым является SWEBOK, включает базовое определение и описание областей знаний (например, конфигурационное управление – configuration management) и, безусловно, является недостаточным для охвата всех вопросов, относящихся к вопросам создания программного обеспечения, но, в то же время необходимым для их понимания. Необходимо отметить, что одной из важнейших целей SWEBOK является именно определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста.
IEEE SWEBOK IEEE Computer Society Software Engineering Body of Knowledge – Свод знаний по программной инженерии - проект IEEE Computer Society. Официальная версия вышла 18 мая 2004 г. Основная идея проекта аналогична PMBOK и заключается в создании некоторого базового набора общепринятых знаний, необходимых любому профессиональному программисту. Содержит описания состава знаний по следующим 10 разделам (областям знаний) программной инженерии: Software Requirements – требования к ПО Software Design – проектирование ПО Software Construction – конструирование ПО Software Testing – тестирование ПО Software Maintenance – сопровождение ПО Software Configuration Management – управление конфигурациями Software Engineering Management – управление IT проектом Software Engineering Process – процесс программной инженерии Software Engineerting Tools and Methods – методы и инструменты Software Quality – качество ПО
Документ является одним из трёх документов, созданных совместными усилиями IEEE-CS и ACM, призванных обеспечить следующее: - определить необходимый набор знаний и рекомендуемые практики; - определить этические и профессиональные стандарты; - определить учебную программу для студентов, аспирантов и продолжающих обучение. Эта книга представляет собой первый компонент - необходимый набор знаний и рекомендуемые практики. Второй документ, посвящённый этическим и профессиональным стандартам для инженерии ПО, выпущен в 1998 году. Третий документ (SE 2004), выпущенный в 2004 году, посвящён составлению учебного плана по программной инженерии. В конце 2013 год увидела свет новая версия SWEBOK - SWEBOK V 3.
В дополнение к ним, SWEBOK также включает обзор смежных дисциплин, связь с которыми представлена как фундаментальная, важная и обоснованная для программной инженерии˸ Computer engineering Computer science Management Mathematics Project management Quality management Systems engineering
ОСОБЕННОСТИ Стоит отметить, что принятые разграничения между областями знаний, их компонентами (subareas) и другими элементами достаточно произвольны. В определенной степени такая декомпозиция связана с тем, что SWEBOK не ассоциирован с какой-либо моделью (к примеру, жизненного цикла) или методом. Хотя на первый взгляд первые пять областей знаний в SWEBOK представлены в традиционной последовательной (каскадной – waterfall) модели, это не более чем следование принятой последовательности освещения соответствующих тем. Остальные области и структура декомпозиции областей представлены в алфавитном порядке. Для каждой области знаний SWEBOK описывает ключевые акронимы, представляет область в виде “подобластей” (subareas) или как их часто называют в самом SWEBOK – “секций” и дает декомпозицию каждой секции в форме списка тем (topics) с их описанием.
На рисунке представлены первые пять областей знаний на русском языке.
Требование к программному обеспечению (англ. software requirement) это: - характеристика ПО, с помощью которой конечным пользователем ПО решается какая-либо задача или достигается определенная цель; - характеристика или свойство ПО, определенное контрактом на его разработку или другим документом (стандартом, спецификацией и т. п. ). Цель требований: определение функций, условий и ограничений, присущих ПО; спецификация данных, технического сопровождения и среды исполнения.
Вторые пять областей знаний представлены на рисунке.
Таким образом, ядро SWEBOK содержит пять основных областей знаний программной инженерии (инженерия требований, проектирование, конструирование, тестирование и сопровождение ПО), которые соответствуют процессам жизненного цикла ПО. Основные области знаний содержат в себе кактеоретические основы, так и систематизированные практические навыки разработки ПО, а также методы управления процессами разработки. Все пять основных процессов ЖЦ тесно связаны между собой; особенности их взаимодействия сильно зависят от выбранной модели жизненного цикла.
SWEBOK особо подчеркивает, что если невозможно в точности (в оригинале – “perfectly”) удовлетворить требования каждого заинтересованного лица, именно работа инженера включает проведение переговоров и поиск компромисса, приемлемого для ключевых заинтересованных лиц (“стейкхолдеров”) и удовлетворяющего бюджетным, техническим, временным и другим ограничениям проекта. Необходимо понимать, что такая деятельность практически наверняка приведет к изменениям в требованиях, как минимум, на уровне соответствующих приоритетов требований и, следовательно, работ по их реализации.
Свод знаний IEEE.ppt