Проблемы развития и освоения программной инженерии
Читать

Проблемы развития и освоения программной инженерии

Презентация на тему Проблемы развития и освоения программной инженерии к уроку по информатике

Презентация по слайдам:


Слайд #1

Проблемы развития и освоения программной инженерии Липаев Владимир Васильевич профессор, доктор технических наук Институт системного программирования РАН [email protected]

Слайд #2

Слайд #3

Динамика истории отечественных десятилетий Характеристики 50-е годы 60-е годы 70-е годы 80-е годы   Назначение Вычисления Вычисления Управление Реальн. вр. Вычисления Управление Реальн. вр. Вычисления Управление Реальн. время Размер комплекса тысяч строк одна десятки сотни тысячи Произв. труда стр./чел.-день 0,1 0,5 - 5 5 - 10 10 - 20 Языки программирования Машинный код Автокод Алгол, Фортран Автокод Алгол, Пл-1 Автокод Си, Си++, Особенности операционной системы Отсутствует Пакетная, Распред. врем. Реальн. врем. Распред. врем. Реальн. врем. Динам. тестиров. ЯУЗА-6 Распред. врем. Реальн. врем. Дин. тестир. РУЗА, ОС ЕС -7

Слайд #4

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

Слайд #5

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

Слайд #6

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

Слайд #7

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

Слайд #8

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

Слайд #9

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

Слайд #10

Стандарт ISO 9126 определяет характеристики качества комплексов программ: Функциональная пригодность детализируется: пригодностью для применения; корректностью (правильностью, точностью); способностью к взаимодействию; защищенностью. Надежность характеризуется: уровнем завершенности (отсутствия ошибок); устойчивостью к дефектам; восстанавливаемостью; доступностью – готовностью. Эффективность рекомендуется отражать: временной эффективностью; используемостью ресурсов. Применимость (практичность) предлагается описывать: понятностью; простотой использования; изучаемостью; привлекательностью. Сопровождаемость представляется: удобством для анализа; изменяемостью; стабильностью; тестируемостью. Переносимость (мобильность) предлагается отражать: адаптируемостью; простотой установки – инсталляции; замещаемостью.

Слайд #11

Четыре ключевых объекта: - требования заказчика и/или пользователей к системе, которые определяют цели создания и назначение системы и программного продукта, их функции и область применения; - тесты – эталоны и вторая адекватная форма описания содержания и функционирования комплекса программ для проверки полноты реализации требований, а также для верификации на соответствия исходным требованиям к системе; - эксплуатационная документация (третий эталон), которая должна обеспечивать применение программного продукта пользователями в соответствии с требованиями заказчика; - программный продукт и система, результат реализации требований: функциональные характеристики системы и предусмотренные свойства, для обеспечения корректного применения.

Слайд #12

Требования - общие требования к качеству функционирования и характеристикам программного продукта реального времени; - ограничения ресурсов для реализации требований к крупному программному продукту; - требования к надежности функционирования крупных программных продуктов; - требования к функциональной безопасности крупных программных продуктов; - требования к производительности и эффективности динамического использования ресурсов ЭВМ программным продуктом в реальном времени; требования к допустимым рискам динамического применения крупных программных продуктов; требования к эксплуатационной документации

Слайд #13

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

Слайд #14

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

Слайд #15

База данных - спецификаций требований и ресурсов для реализации требований к программному продукту; - тестов и результатов тестирования требований к компонентам и комплексу программ; - дефектов, ошибок и корректировок требований и их реализаций компонентами и комплексом программ; - тестов, результатов квалификационного тестирования, испытанных версий и характеристик требований к программному продукту; - сопровождения, конфигурационного управления, корректировок требований версий и программного продукта; - архив утвержденных требований, тестов и эксплуатационных документов версий программного продукта поставляемых заказчику.

Слайд #16

Специалисты заказчик – разработчик требований к программному продукту; - менеджер – организатор реализации требований к программному продукту; - менеджер – системный архитектор программного продукта; - аналитики – системные архитекторы требований к компонентам и комплексу программ; - разработчики сценариев и генераторов динамических тестов для тестирования требований к комплексу программ; - тестировщики реализации требований к версиям компонентов и комплекса программ; - системные интеграторы компонентов и версий комплекса программ; - управляющие конфигурацией версий программного продукта; документаторы и архиваторы версий программного продукта.

Слайд #17

Cпециалисты – источники дефектов - заказчик проекта – дефекты организации проекта и требований к программному продукту; - менеджер проекта – дефекты освоения реальной сложности программного продукта; - менеджер-архитектор – ошибки организации проектирования и архитектуры комплекса программ; - системные архитекторы – системные и алгоритмические дефекты комплекса программ; - спецификаторы компонентов – алгоритмические ошибки компонентов и комплекса программ;   - тестировщики соответствия требованиям – системные и алгоритмические ошибки компонентов и комплекса; - системные интеграторы – системные дефекты версий программного продукта и документации; - управляющие конфигурацией – ошибки реализации и модификации версий программного продукта;  - документаторы продукта – ошибки и дефекты эксплуатационных документов программного продукта.

Слайд #18

Монографии, регламентирующие процессы программной инженерии на базе международных стандартов Липаев В.В. Программная инженерия. Методологические основы. Учебник для ВУЗОВ. Технико-экономическое обоснование проектов сложных программных средств Системное проектирование сложных программных средств для информационных систем Методы обеспечения качества крупномасштабных программных средств Функциональная безопасность программных средств Анализ и сокращение рисков проектов сложных программных средств Сопровождение и управление конфигурацией сложных программных средств Документирование сложных программных средств Процессы и стандарты жизненного цикла сложных программных средств. Справочник www.ispras.ru/lipaev/index.htm