Презентация на тему "Введение в предмет"

Презентация: Введение в предмет
1 из 23
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
5.0
1 оценка

Комментарии

Нет комментариев для данной презентации

Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.


Добавить свой комментарий

Аннотация к презентации

Презентация powerpoint на тему "Введение в предмет". Содержит 23 слайдов. Скачать файл 0.23 Мб. Самая большая база качественных презентаций. Смотрите онлайн или скачивайте на компьютер. Средняя оценка: 5.0 балла из 5.

  • Формат
    pptx (powerpoint)
  • Количество слайдов
    23
  • Слова
    другое
  • Конспект
    Отсутствует

Содержание

  • Презентация: Введение в предмет
    Слайд 1

    Введение в предмет

    Программная инженерия Лекция 1

  • Слайд 2

    Терминология

    Программное обеспечение (ПО) – программы для технических устройств (компьютеров) и соответствующая документация. Под программной инженерией (ПИ) понимается «область компьютерной науки и технологии, которая занимается построением программных систем, настолько больших и сложных, что для этого требуется участие слаженных команд разработчиков различных специальностей и квалификаций». Суть методологии ПИ «состоит в применении систематизированного, научного и предсказуемого процесса проектирования, разработки и сопровождения программных средств» Программная инженерия занимается разработкой систематических моделей и надежных методов производства высококачественного программного обеспечения, такой подход распространяется на все уровни — от теории и принципов до реальной практики создания программного обеспечения, которая лучше всего заметна сторонним наблюдателям 2 Термин «инженерия программного обеспечения» появился впервые в 1968 году на Конференции НАТО «Инженерия программного обеспечения» и предназначался, чтобы спровоцировать размышления относительно текущего в то время «кризиса программного обеспечения».

  • Слайд 3

    Технологический процесс создания ПО – совокупность процессов, ведущих к созданию или развитию программного обеспечения Структура затрат на создание ПО: ок 60% от общих затрат – на разработку ПО, ок 40% - на тестирование и отладку. Методы инженерии программного обеспечения – структурные решения, предназначенные для разработки ПО и включающие системные модели, формализованные нотации и правила проектирования, а также способы управления процессом создания ПО. CASE-средства – информационные системы, предназначенные для автоматизации процесса создания ПО. Они часто используются в качестве основы методов инженерии ПО. Признаки качественного ПО. Программные продукты должны удовлетворять требованиям функциональности и эффективности (с точки зрения пользователя), а также быть надежными удобными в эксплуатации и иметь возможности для модернизации. Основные проблемы ПИ: проблемы наследования ранее созданного ПО, проблема возрастающей разнородности систем, проблема, порожденная требованием уменьшения времени на создание ПО 3

  • Слайд 4

    Программная инженерия как система

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

  • Слайд 5

    Использование современного ПО

    Новый AirbusA-380 использует довольно много ПО, чтобы создать современную кабину в самолете. Метод инженерии программного обеспечения позволил создать программное обеспечение самолёта, описываемое миллионами строк исходного кода. 5

  • Слайд 6

    6

  • Слайд 7

    Жизненный цикл программных средств

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

  • Слайд 8

    Классы жизненного цикла программ

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

  • Слайд 9

    Фундаментальные модели ЖЦ ПС

    Два основных типа моделей жизненного цикла для высокотехнологичных проектов: Прогнозирующие модели жизненного цикла "ставят оптимизацию выше адаптивности" (DesaulniersandAnderson 2002). К этим моделям относятся: Водопад (известна также как "традиционная" или "сверху вниз"): линейное упорядочивание фаз, которые могут быть строго последовательными или в некоторой степени перекрываться, ни одна из фаз обычно не повторяется. Прототипирование: разработка функциональных требований и топологическое проектирование осуществляются одновременно. Быстрая разработка приложения (RapidApplicationDevelopment, RAD): основана на использовании эволюционирующего прототипа, который не отбрасывается. Инкрементное построение: разбиение большого объема проектно-конструкторских работ на последовательность более малых составляющих частей. Спираль: повторение одного и того же набора фаз жизненного цикла, таких как планирование, проектирование, построение и оценивание, до тех пор, пока разработка продукта не будет завершена. 2. Адаптивные жизненные циклы "принимают и схватывают изменения в ходе процесса разработки и отвергают детальное планирование" (DesaulniersandAnderson, 2002). К этим моделям относятся: Адаптивная разработка программного обеспечения (AdaptiveSoftwareDevelopment, ASD): определяемая миссией, основанная на компонентах, подразумевает итеративные циклы и циклы с известной длительностью, определяемые степенью риска, допускающая изменения. Экстремальное программирование (ExtremeProgramming, XP): команды разработчиков, менеджеров и пользователей, программирование выполняется парами, итеративный характер процесса, коллективное владение кодами программ. SCRUM: подобен приведенным выше адаптивным жизненным циклам, выполняется на итеративной основе, итерации носят название "спринтов", имеют длительность порядка 30 дней (типовое значение); каждый "спринт" должен дать на выходе определенную степень функциональности продукта; активная роль руководства в течение всего жизненного цикла. 9

  • Слайд 10

    Каскадная 10

  • Слайд 11

    Категории проектов: модели ЖЦ

    11

  • Слайд 12

    Роль процессов

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

  • Слайд 13

    Современные требования программной инженерии

    Архитектура должна соответствовать текущим и перспективным целям и стратегическим, функциональным задачам, создаваемой системы, быть достаточно гибкой и допускать развитие и наращивание функций и ресурсов системы в соответствии с расширением сфер и задач её применения; В структуре и компонентах ПС и системы следует предусматривать обеспечение максимально возможной сохранности инвестиций в аппаратные и программные средства, в базы данных при длительном развитии, сопровождении и модернизации системы; Необходимо обеспечивать эффективное использование ресурсов в ЖЦ системы и минимизировать интегральные затраты на обработку данных в типовых режимах её функционирования с учетом эксплуатационных затрат и капитальных вложений в создание системы и программного продукта; Должны быть обеспечены безопасность функционирования системы и надежная защита данных от ошибок, от разрушения или потери информации, авторизация пользователей, управление рабочей загрузкой, резервированием и оперативным восстановлением; Предусматривать возможность интеграции гетерогенных вычислительных компонентов и возможность переноса ПС и БД на различные аппаратные и операционные платформы на основе концепции и стандартов открытых систем; Обеспечение обучения и упрощенного доступа конечных пользователей к управлению и результатам функционирования на основе современных графических средств и наглядных пользовательских интерфейсов. 13

  • Слайд 14

    ПО как система

    Система это совокупность взаимодействующих компонентов, работающих совместно для достижения определенных целей Системы часто имеют иерархическую структуру, т.е. в качестве компонентов содержат другие системы (подсистемы) Системотехникакак технология создания систем, охватывает процессы создания спецификаций, проектирования, разработки, тестирования, внедрения и сопровождения систем как единого целого На основе спецификации требований системы определяют её архитектуру и затем, собрав воедино её отдельные части, создают законченную систему 14

  • Слайд 15

    Персонал

    Системотехник, должен уделять равное внимание программному средству, аппаратным средствам и средствам взаимодействия с пользователями и системным окружением Специалист по созданию программного продукта должен понимать задачи и методы системотехники (поскольку возникающие проблемы часто являются результатом решений, принятых системотехниками) Программный менеджер (и/или системный инженер) должен быть знаком с несколькими способами проектирования, знать, как перевести расплывчатые требования и пожелания заказчика в четкое техническое задание, и уметь разговаривать с пользователем системы на языке предметной области 15

  • Слайд 16

    Место программной инженерии

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

  • Слайд 17

    Системные основы современных технологий

    Основная цель современных технологийпрограммной инженерии состоит в обеспечении эффективности всего жизненного цикла комплексов программ для ЭВМ в различных проблемно-ориентированных областях. Рекомендуется использовать комплексную автоматизацию ЖЦ ПС. Методической основой технологии, регламентирующей деятельность специалистов, является типовой технологический процесс. Методология СММ (Capability Maturity Model – система и модель для оценки зрелости ПС). Основана на формализации и использовании пяти уровней зрелости технологий поддержки ЖЦ ПС Уровни зрелости характеризуются степенью формализации, адекватностью измерения и документирования процессов и продуктов в ЖЦ ПС, полнотой применения стандартов и инструментальных средств автоматизации работ, наличием и глубиной реализации функций системой качества технологических процессов и их результатов. Зрелость процессов это степень их управляемости, возможность поэтапной количественной оценки качества, контролируемость и эффективность результатов. 17

  • Слайд 18

    Методология обеспечения качества ПС

    Концептуальные и организационные основы административного управления жизненным циклом и качеством ПС в системе СММ и CMMI:2003,определены в восьми базовых принципах, которые декларированы в стандартах ISO 9000:2000 и ISO 15504:1-9 Принцип 1 Ориентация предприятия-разработчика на потребителя-заказчика Принцип 2 Лидерство-руководство Принцип 3  Вовлечение персонала Принцип 4 Процессный подход Принцип 5Системный подход к административному управлению Принцип 6 Постоянное усовершенствование Принцип 7 Подход к принятию решений основанный на фактах Принцип 8  Взаимовыгодные отношения с поставщиками В стандарте ISO 15504 каждый из приведенных принципов прокомментирован комплексом действий 18

  • Слайд 19

    Автоматизация процессов

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

  • Слайд 20

    Качество и надежность

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

  • Слайд 21

    Стандарт управления проектами PMBOK Guide 3-rd Edition

    Project Management Body of Knowledge (PMBOK) - Стандарт управления проектами PMBOK Guide 3-rd Edition (Project Management Body of Knowledge), Американского института управления проектами (PMI - Project Management Institute) определяет круг знаний, необходимых для эффективного управления проектами. Стандарт PMBOK Guide 3-rd Edition включают в себя процессы охватывающие все стадии жизненного цикла проекта (инициация, планирование, исполнение, контроль и завершение). Результаты или выходы одного процесса могут являются входами для другого процесса. Стандарт PMBOK включает следующие части процессов управления проектом: - Управление интеграцией (Project Integration Management) - Управление человеческими ресурсами (Project Human Resource Management) - Управление затратами (Project Cost Management) - Управление содержанием (Project Scope Management) - Управление сроками (Project Time Management) - Управление качеством (Project Quality Management) - Управление коммуникациями (Project Communication Management) - Управление рисками (Project Risk Management) - Управление поставками и контрактами (Project Procurement And Contracts Management) 21

  • Слайд 22

    SWEBOK (SoftwareEngineeringBodyofKnowledge)

    SWEBOK (SoftwareEngineeringBodyofKnowledge) аккумулирует в себе представление сообщества о том, что должен знать и какими навыками владеть специалист в области управления ИТ-проектами. SWEBOK вводит следующие десять областей общедоступных знаний в сфере разработки программного обеспечения. Первые пять областей соответствуют стадиям традиционного жизненного цикла программного обеспечения в «водопадной» модели разработки.1. Требования к программному обеспечению (SoftwareRequirements)2. Проектирование программного обеспечения (SoftwareDesign)3. Конструирование программного обеспечения (SoftwareConstruction)4. Тестирование программного обеспечения (SoftwareTesting)5. Сопровождение программного обеспечения (SoftwareMaintenance)6. Управление конфигурацией программного обеспечения (SoftwareConfigurationManagement)7. Управление в области ИТ (SoftwareEngineeringManagement)8. Процесс разработки ПО (SoftwareEngineeringProcess)9. Инструменты и методы разработки ПО (SoftwareEngineeringToolsandMethods)10. Качество программного обеспечения (SoftwareQuality). 22

  • Слайд 23

    Домашнее задание

    Найти классические схемы жизненного цикла, срисовать в тетрадь. Найти стандарт ISO 15504, прочитать, кратко выписать «о чем» и примерный комплекс действий. 23

Посмотреть все слайды

Сообщить об ошибке