Студопедия — Задачи и цели процесса верификации
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задачи и цели процесса верификации






Доверяй, но верифицируй!

 

В состав задач процесса входит последовательная проверка того, что в программной системе:

• общие требования к информационной системе, предназначенные для

программной реализации, корректно переработаны в спецификацию

требований высокого уровня к комплексу программ, удовлетворяющих

исходным системным требованиям;

• требования высокого уровня правильно переработаны в архитектуру ПО и в

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

которые удовлетворяют требованиям высокого уровня;

• спецификации требований к функциональным компонентам ПО,

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

удовлетворяют требованиям более высокого уровня;

• архитектура ПО и требования к компонентам низкого уровня корректно

переработаны в удовлетворяющие им исходные тексты программных и

информационных модулей;

• исходные тексты программ и соответствующий им исполняемый код не

содержат ошибок. [8]

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

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

Цели верификации ПО достигаются посредством последовательного выполнения

комбинации из инспекций проектной документации и анализа их результатов, разработки

тестовых планов тестирования и тест-требований, тестовых сценариев и процедур и

последующего выполнения этих процедур. Тестовые сценарии предназначены для

проверки внутренней непротиворечивости и полноты реализации требований.

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

испытываемых программ исходным требованиям.

На выбор эффективных методов верификации и последовательность их применения в наибольшей степени влияют основные характеристики тестируемых объектов:

• класс комплекса программ, определяющийся глубиной связи его

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

• сложность или масштаб (объем, размеры) комплекса программ и его функциональных компонентов, являющихся конечными результатами разработки;

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

Различия в понятиях “тестирование”, “верификация” и “валидация”

Несмотря на кажущуюся схожесть, термины «тестирование», «верификация» и

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

системы. Дабы избежать дальнейшей путаницы, четко определим эти понятия (Рис. 1).

Рис. 1 Взаимосвязь и последовательность процессов

 

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

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

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

соответствия реализации требованиям, т.е. тестирование – это управляемое выполнение

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

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

Валидация программной системы – процесс, целью которого является доказательство того, что в результате разработки системы мы достигли тех целей, которые планировали достичь благодаря ее использованию. Иными словами, валидация – это проверка соответствия системы ожиданиям заказчика. Вопросы, связанные с валидацией выходят за рамки данного учебного курса и представляют собой отдельную интересную тему для изучения. [9]

Если посмотреть на эти три процесса с точки зрения вопроса, на который они дают

ответ, то тестирование отвечает на вопрос «Как это сделано?» или «Соответсвует ли

поведение разработанной программы требованиям?», верификация (Рис.2) – «Что сделано?» или «Соответствует ли разработанная система требованиям?», а валидация – «Сделано ли то, что нужно?» или «Соответствует ли разработанная система ожиданиям заказчика?»

Верификационный процесс, работающий с системными требованиями – это процесс

валидации требований, сопоставления их реальным ожиданиям заказчика. Данный процесс отличается от приемо-сдаточных испытаний, выполняемых при передаче готовой системы заказчику, хотя может считаться частью таких испытаний. Валидация является средством доказать не только корректность реализации системы с точки зрения заказчика, но и корректность принципов, положенных основу ее разработки. (Рис. 2) [10]

Рис. 2 Мероприятия верификации

Основные понятия синтеза программного обеспечения

Синтез — процесс соединения или объединения ранее разрозненных вещей или понятий в целое или набор. Термин происходит от др.-греч. σύνθεσις — соединение, складывание, связывание (συν- — приставка со значением совместности действия, соучастия и θέσις — расстановка, размещение, распределение, (место)положение). Синтез есть способ собрать целое из функциональных частей как антипод анализа — способа разобрать целое на функциональные части. Возможен синтез решений. В кибернетике процесс синтеза тесно связан с процессом предшествующего анализа. Синтез — инжиниринговое построение сложных систем из предварительно подготовленных блоков или модулей разных типов. Низкоуровневое, глубокое структурное объединение компонентов разных типов. С точки зрения теории познания, синтез представляет собой необходимый этап проявления познавательной деятельности сознания. В совокупности с анализом, метод синтеза позволяет получить представления о связях между составляющими предмета изучения. [6]

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

Для реализации синтеза программ необходимо было проделать ряд работ, который приведен ниже. Результаты некоторых работ можно отнести к частично новому материалу в информатике. В конечном счете, нам необходимо сформулировать ту спецификацию задачи, которая может служить исходными данными для синтеза программ. [7]

 

• Новое определение информатики, где вопросы обработки информации заменены вопросами обработки знаний;

• Определение понятия знание;

• Выделение семи видов представления знания для приближения к естественному языку (ЕЯ);

• Представление и внедрение понятия термина вместо понятия идентификатора, что также обеспечивает приближение к ЕЯ;

• Построена семантическая грамматика русского языка (СеГ), содержащая правила вычисления смысла утверждений [3] (в отличие от известной всем классической синтаксической грамматики (СиГ), содержащей правила построения слов и предложений);

• Понимание и обобщение понятия логического уравнения;

• Построение информатической логики как основания для решения логических уравнений;

• Построение методов решения логических уравнений (алгебраический подход в логике);

• Определение отладки и экологии знания (13 классов ошибок, 8 классов известных и 5 классов новых в программировании);

• Разработка формальных языков (ФЯ) Лейбниц для внутреннего представления знаний и метаязык Марков для представления порождающих грамматик;

• Разработка основ распознающих грамматик для автоматического построения программ, управляемых ФЯ (трансляторов и интерпретаторов);

• Уточнение нового понятия интеллектуальной системы;

• Определение понятия интеллектуального программирования (ИП) и критика процедурного программирования;

• Определение и реализация нового понимания синтеза программ, подпрограмм и пакетов подпрограмм;

• Конструирование программного комплекса инструментария ИП, доступного любому пользователю;

• Разработка и развитие методов добычи знаний и построение БЗ.

Для разработки метода синтеза программ практически необходимо коснуться каждого пункта показанного пути. [8]







Дата добавления: 2015-08-30; просмотров: 1468. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

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

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия