Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_RK.docx
Скачиваний:
73
Добавлен:
18.02.2017
Размер:
785.87 Кб
Скачать

15. Что такое основной и альтернативный сценарий работы по?

Модель вариантов использования (Use-Case Model).

Эта модель определяет требования к ПО — то, что система должна делать — в виде набора вариантов использования. Каждый вариант использования задает сценарий взаимодействия системы сдействующими лицами (actors)или ролями, дающий в итоге значимый для них результат. Действующими лицами могут быть не только люди, но и другие системы, взаимодействующие с рассматриваемой. Вариант использования определяет основной ход событий, развивающийся в нормальной ситуации, а также может включать несколько альтернативных сценариев, которые начинают работать только при специфических условиях.

Примером варианта использования может служить сценарий действий клиента Интернет-магазина по отношению к сайту этого магазина, в результате которых клиент заказывает товар, например, книги. Такой вариант использования можно назвать "Заказ товара". Если нас интересует сайт магазина только как программная система, результатом можно считать то, что запись о сделанном заказе занесена в базу данных, а оператору заказов отправлено электронное письмо, содержащее всю информацию, которая необходима для того, чтобы можно было сформировать заказ. В нее входит контактная информация покупателя, идентификатор заказа и, например, список заказанных книг с их ISBN, их количество для каждого наименования и номера партий для удобства их поиска на складе. При этом выполнение остальной части варианта использования — это дело других составляющих системы под названием "Интернет-магазин". Эта работа может включать звонок или письмо клиенту и подтверждение, что именно он сделал заказ, вопрос об удобных для него форме, времени и адресе доставки и форме оплаты, формирование заказа, передача его для доставки курьеру, доставка и подтверждение получения заказа и оплаты. В нашем примере действующими лицами являются клиент, делающий заказ, и оператор заказов.

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

Характеристики и атрибуты качества программного обеспечения по ISO 9126

   

Определения характеристик и субхарактеристик качества (ISO 9126-1)

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

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

Правильность (корректность) - способность программного средства обеспечивать правильные или приемлемые для пользователя результаты и внешние эффекты.

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

Защищенность - способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.

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

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

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

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

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

Стандарт ISO 9126 предлагает использовать для описания внутреннего и внешнего качества ПО многоуровневую модель. На верхнем уровне выделено 6 основных характеристик качества ПО. Каждая характеристика описывается при помощи нескольких входящих в нее атрибутов. Для каждого атрибута определяется набор метрик, позволяющих его оценить. Множество характеристик и атрибутов качества согласно ISO 9126 показано на рисунке.           1. Функциональность (functionality) - способность ПО в определенных условиях решать задачи, нужные пользователям. Определяет, что именно делает ПО, какие задачи оно решает. 

  • Функциональная пригодность (suitability) - способность решать нужный набор задач.

  • Точность (accuracy) - способность выдавать нужные результаты.

  • Способность к взаимодействию (interoperability) - способность взаимодействовать с нужным набором других систем.

  • Соответствие стандартам и правилам (compliance) - соответствие ПО имеющимся индустриальным стандартам, нормативным и законодательным актам, другим регулирующим нормам.

  • Защищенность (security) - способность предотвращать неавторизированный, т.е. без указания лица, пытающегося его осуществить, и неразрешенный доступ к данным и программам. 

  2. Надежность (reliability)  -  способность  ПО  поддерживать  определенную  работоспособность в заданных условиях. 

  • Зрелость, завершенность (maturity) - величина, обратная частоте отказов ПО. Обычно измеряется средним временем работы без сбоев и величиной, обратной вероятности возникновения отказа за данный период времени.

  • Устойчивость к отказам (fault tolerance) - способность поддерживать заданный уровень работоспособности при отказах и нарушениях правил взаимодействия с окружением. 

  • Способность к восстановлению (recoverability): Способность восстанавливать определенный уровень работоспособности и целостность данных после отказа, необходимые для этого время и ресурсы. 

  • Соответствие стандартам надежности (reliability compliance).

    3. Удобство использования (usability) или практичность - способность ПО быть удобным в обучении и использовании, а также привлекательным для пользователей. 

  • Понятность (understandability) - показатель, обратный к усилиям, которые затрачиваются пользователями на восприятие основных понятий ПО и осознание их применимости для решения своих задач.

  • Удобство обучения (learnability) - показатель, обратный усилиям, затрачиваемым пользователями на обучение работе с ПО. 

  • Удобство работы (operability) - показатель, обратный усилиям, предпринимаемым пользователями для решения своих задач с помощью ПО. 

  • Привлекательность (attractiveness) - способность ПО быть привлекательным для пользователей. 

  • Соответствие стандартам удобства использования (usability compliance).

    4. Производительность (efficiency) или эффективность - способность ПО при заданных условиях обеспечивать необходимую работоспособность по отношению к выделяемым для этого ресурсам. Можно определить ее и как отношение получаемых с помощью ПО результатов к затрачиваемым на это ресурсам всех типов. 

  • Временная эффективность (time behaviour) - способность ПО выдавать ожидаемые результаты, а также обеспечивать передачу необходимого объема данных за отведенное время.

  • Эффективность использования ресурсов (resource utilisation) - способность решать нужные задачи с использованием определенных объемов ресурсов определенных видов. Имеются в виду такие ресурсы, как оперативная и долговременная память, сетевые соединения, устройства ввода и вывода и пр. 

  • Соответствие стандартам производительности (efficiency compliance).

    5. Удобство сопровождения (maintainability) - Удобство проведения всех видов деятельности, связанных с сопровождение программ. 

  • Анализируемость (analyzability) или удобство проведения анализа - удобство проведения анализа ошибок, дефектов и недостатков, а также удобство анализа необходимости изменений и их возможных последствий.

  • Удобство внесения изменений (changeability) - показатель, обратный трудозатратам на выполнение необходимых изменений. 

  • Стабильность (stability) - показатель, обратный риску возникновения неожиданных эффектов при внесении необходимых изменений. 

  • Удобство проверки (testability) - показатель, обратный трудозатратам на проведение тестирования и других видов проверки того, что внесенные изменения привели к нужным результатам. 

  • Соответствие стандартам удобства сопровождения (maintainability compliance).

    6. Переносимость (portability) - способность ПО сохранять работоспособность при переносе из одного окружения в другое, включая организационные, аппаратные и программные аспекты окружения.      Иногда эта характеристика называется в русскоязычной литературе мобильностью. Однако термин "мобильность" стоит зарезервировать для перевода "mobility" — способности ПО и компьютерной системы в целом сохранять работоспособность при ее физическом перемещении в пространстве. 

  • Адаптируемость (adaptability) - способность ПО приспосабливаться различным окружениям без проведения для этого действий, помимо заранее предусмотренных.

  • Удобство установки (installability) - способность ПО быть установленным или развернутым в определенном окружении. 

  • Способность к сосуществованию (coexistence) - способность ПО сосуществовать с другими программами в общем окружении, деля с ними ресурсы. 

  • Удобство замены (replaceability) другого ПО данным - возможность применения данного ПО вместо других программных систем для решения тех же задач в определенном окружении. 

  • Соответствие стандартам переносимости (portability compliance).

    Помимо перечисленных характеристик и атрибутов качества, стандарт ISO 9126:2001 определяет наборы метрик для оценки каждого атрибута. Вот некоторые примеры таких метрик. 

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

  2. Корректность реализации функций — правильность их реализации по отношению к требованиям. Используется для измерения функциональной пригодности. 

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

  4. Отношение числа проведенных тестов к общему их числу. Используется для определения зрелости. 

  5. Отношение числа доступных проектных документов к указанному в их списке. Используется для измерения удобства проведения анализа. 

  6. Наглядность и полнота документации. Используется для оценки понятности.

17 вопрос+18 вопрос(Вопрос 2 темы Качество ПО и методы его контроля)

Качество программного обеспечения определяется в стандарте ISO 9126 [1] как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц. Тот же стандарт ISO 9126 [1-4] дает следующее представление качества. При рассмотрении качества ПО различаются понятия внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения, внешнего качества, характеризующего ПО с точки зрения его поведения, и качество ПО при использовании в различных контекстах — то качество, которое ощущается пользователями при конкретных сценариях работы ПО. Для всех этих взглядов на качество введены метрики, позволяющие оценить его. Кроме того, при создании качественного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой в ISO 9126

Методы контроля качества

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

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

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

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

Основой любой системы обеспечения качества являются методы его обеспечения и контроля. Методы обеспечения качества [9]представляют собой техники, гарантирующие достижение определенных показателей качества при их применении. Мы будем рассматривать подобные методы на протяжении всего курса.

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

  • Методы и техники, связанные с выяснением свойств ПО во время его работы.

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

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

К этому виду относятся проверка на моделях (model checking), а также прототипирование (макетирование), используемое для оценки качества принимаемых решений.

  • Методы и техники, нацеленные на выявление нарушений формализованных правил построения исходного кода ПО, проектных моделей и документации.

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

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

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