СТИЛИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Стили разработки ПО ориентированные на процесс ориентированные на энтузиазм личности.

Презентация:



Advertisements
Похожие презентации
Жизненный цикл программного обеспечения Лекция 4.
Advertisements

Дисциплина «Технология разработки программного обеспечения» Тема 1 « Основы разработки Тема 1 « Основы разработки программного продукта » программного.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ Студент: Ермолович И.С. Группа: ИТ-33.
СИСТЕМНЫЙ ИНЖИНИРИНГ 1. Со второй половины 20 века существенно возросла сложность проектируемых объектов и характер их воздействие на общество и на окружающую.
1. Развитие технологий разработки информационных систем 2. Жизненный цикл информационных систем 3. Методические аспекты проектирования информационных систем.
Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
2 Модель ЖЦ ИС – это структура, описывающая процессы, действия и задачи, которые осуществляются в ходе разработки, функционирования и сопровождения в.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ.
2 Основным понятием программной инженерии является понятие жизненного цикла ПО. Жизненный цикл ПО (software lifecycle) – это период времени, который начинается.
Непрерывный рост требований к качеству ПС стимулирует создание и активное применение международных стандартов и регламентированных технологий, автоматизирующих.
ИНЖЕНЕРИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ ПРОГРАММА ПОВЫШЕНИЯ КВАЛИФИКАЦИИ ДЛЯ ИНЖЕНЕРОВ-ПРОГРАММИСТОВ, РАЗРАБОТЧИКОВ,
Разработка программного обеспечения (Software Engineering) Часть 1. Введение.
Технология модульного обучения Кузнецова И.П., учитель информатики 2007 г.
ТАЦОГРНПСТАЦОГРНПС ИНТЕГРИРОВАННОЕ ИСПОЛЬЗОВАНИЕ ПРОДУКТИВНЫХ ТЕХНОЛОГИЙ ПРИ ОБУЧЕНИИ СТУДЕНТОВ ТЕРМИНОЛОГИЧЕСКОЙ ЛЕКСИКЕ АНГЛИЙСКОГО ЯЗЫКА (НЕЯЗЫКОВОЙ.
ФОРМИРОВАНИЕ ПРОФЕССИОНАЛЬНЫХ УМЕНИЙ И НАВЫКОВ ВЫПУСКНИКОВ СПО СПЕЦИАЛЬНОСТИ В РАМКАХ ОСВОЕНИЯ СПЕЦИАЛЬНЫХ ДИСЦИПЛИН И.Г. Орлова Челябинский.
Методология проектирования RAD МДК Раздел 1.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Транксрипт:

СТИЛИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Стили разработки ПО ориентированные на процесс ориентированные на энтузиазм личности

Стиль, ориентированный на процесс направлен на достижение результата посредством: тщательного планирования детально прописанных процессов, тщательного планирования детально прописанных процессов, эффективного использования выделенного времени эффективного использования выделенного времени продуманного внедрения лучших методов разработки ПО продуманного внедрения лучших методов разработки ПО

Стиль, ориентированный на энтузиазм личности Характеристики: привлекаются лучшие в своей области разработчики привлекаются лучшие в своей области разработчики от них требуются полная отдача и концентрация на проекте от них требуются полная отдача и концентрация на проекте им обеспечивается почти полная автономия им обеспечивается почти полная автономия наивысшая степень мотивации наивысшая степень мотивации

Самозванцы 1 стиля пытаются быть похожими на такие процессно- ориентированные структуры, как Лаборатория NASA по разработке ПО или бывшее подразделение Федеральных систем фирмы IBM. Это бюрократические организации в которых форма процесса разработки ПО превалирует над содержанием

Самозванцы 2 стиля сконцентрированы на том, чтобы стимулировать сотрудников работать как можно больше времени (пример, Microsoft). Организацию труда в таких фирмах можно назвать потогонной, потому что упор делается не на продуктивный труд, а на интенсивный, который к тому же характеризуются хаотичностью и неэффективностью.

Причины неэффективности стилей самозванцев непонимание того, что делает проект успешным непонимание того, что делает проект успешным непонимание причин эффективности методов первоначальных стилей непонимание причин эффективности методов первоначальных стилей не использование более эффективных методик разработки ПО не использование более эффективных методик разработки ПО

Разработка ПО – это не компьютерная наука - Как бы вы описали ваш подход к программированию? - При проектировании ПО я архитектор. Когда я конструирую интерфейс пользователя, я художник. Когда я пишу ПО, я ремесленник. А когда я тестирую программу, я ужасная сволочь.

Разработка ПО– это искусство, наука, ремесло, археология, тушение пожаров, социология и еще много других видов деятельности человека, взятые вместе.

Лишь около 40% разработчиков ПО имеют диплом специалиста по вычислительным системам, и практически никто из них не имеет диплома по разработке ПО

Разработка ПО: наука или инженерия? Наука: проверяются гипотезы и расширяются знания в предметной области находятся в курсе новейших исследований в занятиях наукой позволительна узкая специализация за учеными не нужен надзор

Инженерия: отыскиваются полезные знания и применяются полученные знания для решения практических задач известны методы, надежность и эффективность которых уже подтверждена инженер должен понимать и учитывать все факторы, влияющие на разрабатываемое изделие инженерам необходимы нормативы

Наука или инженерия?

Инженерия программного обеспечения (англ. Software Engineering) приложение систематического, дисциплинарного, измеримого подхода к развитию, оперированию и обслуживанию программного обеспечения, а также исследованию этих подходов, то есть, приложение дисциплины инженерии к программному обеспечению.

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

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

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

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

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

Стратегии конструирования ПО однократный проход (водопадная стратегия) линейная последовательность этапов конструирования; инкрементная стратегия. В начале процесса определяются все пользовательские и системные требования, оставшаяся часть конструирования выполняется в виде последовательности версий; эволюционная стратегия. Система также строится в виде последовательности версий, но в начале процесса определены не все требования. Требования уточняются в результате разработки версий.

Жизненные циклы разработки ПО Жизненный цикл программного обеспечения период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации

Стандарты жизненного цикла ПО ГОСТ ДСТУ (украинский аналог) ISO/IEC 12207:1995 (российский аналог ГОСТ Р ИСО/МЭК )

Со времен конференции НАТО по инженерии ПО в 1968 г. лишь от 10 до 20% области знаний инженерии ПО было устойчивым. Полупериод жизни области знаний инженерии ПО на тот момент составлял 10 лет

С 2003 г. около 50% области знаний инженерии ПО является устойчивым и останется существенным еще в течение 30 лет

Возможные категории в области знаний инженерии ПО

Источники информации в области знаний инженерии ПО

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

В 1620 г. Френсис Бэкон предложил принять научный метод исследования, основанный на наблюдении и опыте («Великое восстановление наук») Принятые сейчас методы разработки ПО подобны кораблю, застрявшему в безветренном море – море программирования, где господствует принцип «написать и исправить»

Элементы зрелой сформировавшейся профессии: начальное профессиональное образование начальное профессиональное образование аккредитация (аттестация) аккредитация (аттестация) развитие практических навыков и приемов развитие практических навыков и приемов сертификация сертификация лицензирование лицензирование профессиональное развитие профессиональное развитие профессиональные сообщества профессиональные сообщества кодексы поведения кодексы поведения сертификация организаций сертификация организаций

Уровни зрелости профессии отсутствие отсутствие по необходимости по необходимости сформировавшийся сформировавшийся зрелый зрелый

Зрелость элементов профессии инженерии ПО ЭЛЕМЕНТТЕКУЩЕЕ СОСТОЯНИЕ Начальное профессиональное образование В промежутке между «по необходимости» и «сформировавшимся» Аккредитация (Аттестация) Сформировавшийся Развитие практических навыков и умений Сформировавшийся Сертификация Сформировавшийся Лицензирование По необходимости Профессиональное развитие По необходимости Профессиональные сообщества Сформировавшийся уровень с тенденцией приближения к зрелости Кодекс этического поведения Сформировавшийся Сертификация организаций Сформировавшийся уровень с тенденцией приближения к зрелости