Программная инженерия как дисциплина.ppt
- Количество слайдов: 8
Программная инженерия как дисциплина В 1958 всемирно известный статистик Джон Тьюкей (John Tukey) впервые ввел термин software – программное обеспечение; В 1972 году IEEE (Институт инженеров по электротехнике и электронике )* выпустил первый номер Transactions on Software Engineering – Труды по Программной Инженерии. Первый целостный взгляд на эту область профессиональной деятельности появился 1979 году, когда Компьютерное Общество IEEE подготовило стандарт IEEE Std 730 по качеству программного обеспечения. В 1995 году группа комиссии SC 7 “Software Engineering” выпустила первую версию международного стандарта ISO/IEC 12207 “Software Lifecycle Processes”. Этот стандарт стал первым опытом создания единого общего взгляда на программную инженерию. Соответствующий национальный стандарт России – ГОСТ Р ИСО/МЭК 12207 -99 [ГОСТ 12207, 1999] содержит полный аутентичный перевод текста международного стандарта ISO/IEC 12207 -95 (1995 года).
Основы программной инженерии – Software Engineering: l IEEE и ACM (Ассоциация вычислительной техники) , начав совместные работы еще в 1993 году с кодекса этики и профессиональной практики в данной области (ACM/IEEE-CS Code of Ethics and Professional Practice), к 2004 году сформулировали два ключевых описания того, что сегодня мы и называем основами программной инженерии – Software Engineering: l Guide to the Software Engineering Body of Knowledge l Software Engineering (SWEBOK), IEEE 2004 Version - Руководство к Своду Знаний по Программной Инженерии, в дальнейшем просто “SWEBOK” [SWEBOK, 2004]; 2004. Curriculum Guidelines for Undergraduate Degree Programs in Softw are. Engineering – Учебный План для Преподавания Программной Инженерии в ВУЗах* (данное название на русском языке представлено в вольном смысловом переводе) [SE, 2004].
Software Engineering Code of Ethics and Professional Practices – Кодекс этики и профессиональной практики программной инженерии l l l l l 1. ОБЩЕСТВО - программные инженеры будут действовать соответственно общественным интересам. 2. КЛИЕНТ И РАБОТОДАТЕЛЬ - программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам. 3. ПРОДУКТ - программные инженеры будут добиваться, чтобы произведенные ими продукты и их модификации соответствовал высочайшим профессиональным стандартам. 4. СУЖДЕНИЕ - программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях. 5. МЕНЕДЖМЕНТ - менеджеры и лидеры программных инженеров будут руководствоваться этическим подходом к руководству разработкой и сопровождением ПО, а также будут продвигать и развивать этот подход. 6. ПРОФЕССИЯ - программные инженеры будут улучшать целостность и репутацию своей профессии соответственно с интересами общества. 4. КОЛЛЕГИ - программные инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать. 8. ЛИЧНОСТЬ - программные инженеры в течение всей своей жизни будут учиться практике своей профессии и будут продвигать этический подход к практике своей профессии.
Структура и содержание SWEBOK l l l SWEBOK описывает 10 областей знаний: Software requirements – программные требования; Software design – дизайн (архитектура); Software construction – конструирование программного обеспечения; Software testing - тестирование; Software maintenance – эксплуатация (поддержка) программного обеспечения; Software configuration management – конфигурационное управление; Software engineering management – управление в программной инженерии; Software engineering process – процессы программной инженерии; Software engineering tools and methods – инструменты и методы; Software quality – качество программного обеспечения
Области знаний SWEBOK (1 -5) l l l Требования: Основы; Процесс работы; Извлечение; Анализ; Спецификация; Утверждение; Практическое содержание; Проектирование: Основы: Ключевые вопросы; Структура и архитектура; Анализ качества и оценка дизайна; Нотации дизайна; Стратегии и методы проектирования; Конструирование: Основы; Управление конструированием; Практические соображения; Тестирование: Основы; Уровни тестирования; Техника; Метрики, связанные с тестированием; Процесс тестирования; Поддержка и эксплуатация: Основы; Ключевые вопросы; Процесс; Техники;
ТЕМЫ РАСЧЕТНО-ГРАФИЧЕСКИХ РАБОТ ПО КУРСУ «ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ» l l l 1. SWEBOK - управление в программной инженерии ; 2. Сбор и анализ требований заказчика к программному продукту; формализация предметной области программного проекта по результатам технического задания и экспресс-обследования; 3. Выбор вариантов программного обеспечения для решения коммерческого предложения заказчика, презентация и согласовании пакета договорных документов; 4. Проектирование компонентов программного продукта в объеме, достаточном для их конструирования в рамках поставленного задания; 5. Создание компонент программного обеспечения (кодирование, отладка, модульное и интеграционное тестирование); 6. Рефакторинг кода; 7. Разработка тестового окружения, создание тестовых сценариев; 8. Разработка и оформление эскизной, технической и рабочей проектной документации. 9. Применение средств автоматизированного проектирования, разработки, тестирования и сопровождения программного обеспечения; 10. Жизненный цикл программного обеспечения; модели жизненного цикла; 11. Методы контроля, оценки и обеспечения качества программной продукции; 12. Обзор стандартов программного обеспечения и технической документации (российские).
ТЕМЫ РАСЧЕТНО-ГРАФИЧЕСКИХ РАБОТ ПО КУРСУ «ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ» l l l 13. Обзор стандартов программного обеспечения и технической документации (международные). 14. Рынок труда для специалистов по программной инженерии; 15. Планирование и координация работ по настройке и сопровождению программного продукта; 16. Составление частного технического задания на разработку программного продукта; 17. Организация работы малых коллективов исполнителей программного проекта; 18. Проведении технико-экономического обоснования программных проектов; 19. Ввод в эксплуатацию программного обеспечения (инсталляция, настройка параметров, адаптация, администрирование); 20. Профилактическое и корректирующее сопровождение программного продукта в процессе эксплуатации; 21. Обучение и консультирование пользователей по работе с программной системой; 22. Риски программного обеспечения; 23. Аналитические модели надежности программного обеспечения; 24. Обзор технологий проектирования программного обеспечения.
Анкета l l l l l ФИО Базовое обучение (колледж, название) Почему выбрали это направление «программная инженерия» ? Чем планируете заниматься после завершения бакалаврской подготовки? Почему выбрали УГАТУ? Почему выбрали ФИРТ? Как оцениваете свое знание иностранного языка? Сфера профессиональных интересов? Самая сложная программная реализация была связана с…?


