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

Содержание

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

Слайд 1Принципы обеспечения показателей качества программного продукта

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

Слайд 2Качество программного продукта определяется по нескольким критериям
Качественный программный продукт должен

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

Слайд 3Качество программного продукта определяется по нескольким критериям
В жизненном цикле управления

приложениями качество должно отслеживаться на всех этапах жизненного цикла ПО.

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

Слайд 4Качество программного продукта определяется по нескольким критериям
Качественный программный продукт должен

обладать высоким потребительским качеством, независимо от области применения: внутреннее использование разработчиком, бизнес, наука и образование, медицина, коммерческие продажи, социальная сфера, развлечения, веб и др.

Для пользователя программный продукт должен удовлетворять определенному уровню его потребностей.
Качество программного продукта определяется по нескольким критериям Качественный программный продукт должен обладать высоким потребительским качеством, независимо от

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

в эксплуатации, надежность, производительность, защищенность, удобство сопровождения.

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

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

Слайд 6Важным аспектом создания качественного ПО является:
Защищенность определяет степень безопасности системы от

повреждений, утраты, несанкционированного доступа и преступной деятельности.

Удобство сопровождения определяет легкость, с которой обслуживается продукт в плане простоты исправления дефектов, внесения корректив для соответствия новым требованиям, управления измененной средой.

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

Слайд 7Управление жизненным циклом программного продукта помогает разработчикам целенаправленно добиваться создания качественного

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

Слайд 8Тестирование программного обеспечения
Тестирование программного продукта позволяет на протяжении всего жизненного цикла

ПО гарантировать, что программные проекты отвечают заданным параметрам качества.

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

Слайд 9На протяжении всего жизненного цикла разработки ПО применяются различные типы тестирования

для гарантии того, что промежуточные версии отвечают заданным показателям качества.

При этом применяются автоматические и ручные тесты.
На протяжении всего жизненного цикла разработки ПО применяются различные типы тестирования для гарантии того, что промежуточные версии

Слайд 10Модульное тестирование
- предназначено для проверки правильности функционирования методов классов ПО.

Модульные

тесты пишутся и исполняются разработчиками в процессе написания кода.

Модульное тестирование применяется как для проверки качества кода приложения, так и для проверки объектов баз данных.
Модульное тестирование- предназначено для проверки правильности функционирования методов классов ПО. Модульные тесты пишутся и исполняются разработчиками в

Слайд 11Исследовательское тестирование
предназначено для тестирования, при котором тестировщик не имеет заранее определенных

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

Слайд 12Интеграционное тестирование
используется для проверки корректности совместной работы компонентов программного продукта.

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

Слайд 13Функциональное тестирование
предполагает проверку конкретных требований к ПО и проводится после добавление

к системе новых функций.
Функциональное тестированиепредполагает проверку конкретных требований к ПО и проводится после добавление к системе новых функций.

Слайд 14Нагрузочное тестирование
предназначено для проверки работоспособности программного продукта при предельной входной нагрузке.

Нагрузочное тестированиепредназначено для проверки работоспособности программного продукта при предельной входной нагрузке.

Слайд 15Регрессионное тестирование
применяется при внесении изменений в программное обеспечение с целью проверки

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

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

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

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

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

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

Слайд 18Рефакторинг
Качество кода программного продукта во многом определяется тем, насколько трудно или

легко вносить изменения в код, а также тем насколько доступен код для понимания.

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

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

Слайд 19Для улучшения качества кода программных приложений применяют рефакторинг.

По определению Фаулера

М. рефакторинг определяется как "процесс изменения программной системы таким образом, что её внешнее поведение не изменяется, а внутренняя структура улучшается".

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

Слайд 20Некачественный дизайн кода определяется по ряду признаков:
жесткость - характеристика программы, затрудняющая

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

Некачественный дизайн кода определяется по ряду признаков:жесткость - характеристика программы, затрудняющая внесение изменений в код;хрупкость - свойство

Слайд 21Для создания качественного дизайна кода целесообразно применять некоторые принципы и паттерны

проектирования ПО.

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

Принцип открытости/закрытости определяет, что программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации.

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

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

Слайд 22Принцип инверсии зависимостей определяет два положения:
модули верхнего уровня не должны зависеть

от модулей нижнего уровня. И те и другие должны зависеть от абстракций;

абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

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

Принцип инверсии зависимостей определяет два положения:модули верхнего уровня не должны зависеть от модулей нижнего уровня. И те

Слайд 23Паттерны проектирования предлагают универсальные, проверенные практикой решения. Среди общего списка паттернов

следует выделить те, которые целесообразно применять при гибкой разработке программного обеспечения. Это паттерны Команда, Стратегия, Фасад, Посредник, Одиночка, Фабрика, Компоновщик, Наблюдатель, Абстрактный сервер/адаптер/шлюз, Заместитель и Шлюз, Посетитель и Состояние.

Использование паттернов при разработке позволяет создавать программное обеспечение, которое легко модифицировать и сопровождать.

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

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

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

Слайд 25Итог
Качество программного продукта определяется по нескольким критериям и качественный программный продукт

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

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

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

Слайд 26Вопросы для самоконтроля
Какими характеристиками должен обладать качественный программный продукт?
Какие нефункциональные требования

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

Что такое shareslide.ru?

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


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть