Верификация и анализ программ

Уркумбаева Алия Муратовна

Portfolio des Lehrers

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

Betrag der Credits: 7

Пререквизиты:

  • Программные средства информационных систем

Arbeitsintensität der Disziplin:

Unterrichtsarten Uhr
Vorträge 30
Praktische Arbeiten
Laborarbeiten 30
AASAL (Autonomes Arbeiten der Schüler unter Anleitung des Lehrers) 60
SE (Studentisches Eigenarbeiten) 90
Endkontrollformular экзамен
Form der Endkontrolle экзамен

Komponente: Компонент по выбору

Zyklus: Профилирующие дисциплины

Цель
  • изучение базовых принципов и методов верификации программного обеспечения; приобретение навыков, необходимых для практического применения методов верификации и анализа программ
Задача
  • получение базовых знаний о процессе верификации и анализа программного обеспечения
  • формирование практических навыков самостоятельного выявления, разработки, документирования, изменения и планирования требований к программному обеспечению
Результат обучения: знание и понимание
  • концепции и идеи, на которых основаны методы верификации программ
Результат обучения: применение знаний и пониманий
  • уметь организовывать процессы сбора, анализа, верификации и документирования требований, предъявляемых заинтересованными сторонами в ходе реализации IT проектов;
  • владеть методами и моделями, используемыми для разработки и анализа требований
Результат обучения: формирование суждений
  • формировать суждения о значении и последствиях своей профессиональной деятельности с учётом социальных, профессиональных и этических позиций
Результат обучения: коммуникативные способности
  • навыки межличностной и групповой коммуникации для делового взаимодействия в рамках ИТ проектов
Результат обучения: навыки обучения или способности к учебе
  • развивать навыки обучения, способствующие профессиональному и личностному развитию, повышению квалификации в области информационных технологий
Lehrmethoden

- технологии проектно-ориентированного обучения

Bewertung des Wissens der Studierenden
Period Art der Aufgabe Gesamt
1  Bewertung лабораторная работа 1 0-100
лабораторная работа 2
2  Bewertung лабораторная работа 3 0-100
лабораторная работа 4
Endkontrolle экзамен 0-100
Die Bewertungspolitik der Lernergebnisse nach Arbeitstyp
Art der Aufgabe 90-100 70-89 50-69 0-49
Exzellent Gut Befriedigend Ungenügend
Работа на лабораторных занятиях выполнил лабораторную работу в полном объеме с соблюдением необходимой последовательности действий; в ответе правильно пишет код; правильно выполняет анализ ошибок. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ новыми примерами, умеет применить знания в новой ситуации; может установить связь между изучаемым и ранее изученным материалом, а также с материалом, усвоенным при изучении других дисциплин. выполнил требования к оценке «5», но допущены 2-3 недочета. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на 5, но дан без применения знаний в новой ситуации, без использования связей с ранее изученным материалом и материалом, усвоенным при изучении других дисциплин; допущены одна ошибка или не более двух недочетов, обучающийся может их исправить самостоятельно или с небольшой помощью преподавателя. выполнил работу не полностью, но не менее 50% объема практической работы, что позволяет получить правильные результаты и выводы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; допущено не более одной грубой ошибки и двух недочетов выполнил работу не полностью или объем выполненной части работ не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует не владение основными знаниями и умениями в соответствии с требованиями программы; допущены больше ошибок и недочетов, чем необходимо для оценки 3 или не может ответить ни на один из поставленных вопросов.
экзамен демонстрирует системные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью и способность быстро реагировать на уточняющие вопросы демонстрирует прочные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность, явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем демонстрирует неглубокие теоретические знания, проявляет слабо сформированные навыки анализа явлений и процессов, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение монологической речью, терминологией, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. демонстрирует незнание теоретических основ предмета, несформированные навыки анализа явлений и процессов, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение монологической речью, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии
Bewertungsbogen

Итоговая оценка знаний обучающего по дисциплине осуществляется по 100 балльной системе и включает:

  • 40% результата, полученного на экзамене;
  • 60% результатов текущей успеваемости.

Формула подсчета итоговой оценки:

И= 0,6 Р12 +0,4Э
2

 

где, Р1, Р2 – цифровые эквиваленты оценок первого, второго рейтингов соответственно; Э – цифровой эквивалент оценки на экзамене.

Итоговая буквенная оценка и ее цифровой эквивалент в баллах:

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

Оценка по буквенной системе Цифровой эквивалент Баллы (%-ное содержание) Оценка по традиционной системе
A 4.0 95-100 Отлично
A- 3.67 90-94
B+ 3.33 85-89 Хорошо
B 3.0 80-84
B- 2.67 75-79
C+ 2.33 70-74
C 2.0 65-69 Удовлетворительно
C- 1.67 60-64
D+ 1.33 55-59
D 1.0 50-54
FX 0.5 25-49 Неудовлетворительно
F 0 0-24
Темы лекционных занятий
  • Основные понятия. Верификация и валидация. Характеристики качества программного обеспечения
  • Место верификации в жизненном цикле ПО. Каскадный, V-образный, спиральный жизненные циклы. Верификация различных артефактов жизненного цикла ПО. Международные стандарты, касающиеся верификации ПО
  • Методы верификации программного обеспечения. Экспертиза. Оценка ПО по Фагану. Методы экпертиз. Методы анализа архитектуры ПО
  • Методы верификации программного обеспечения. Статический анализ.
  • Формальные методы верификации. Логико-алгебраические модели. Исполнимые модели. Модели промежуточного типа.
  • Методы и инструменты дедуктивного анализа. логика Хоара. Метод Флойда
  • Формальные методы верификации. Методы и инструменты проверки моделей. Методы и инструменты проверки согласованности
  • Динамические методы верификации. Оценка характеристик качества ПО с помощью динамических методов. Верификационный мониторинг.
  • Тестирование. Виды тестирования. методы тестирования. Критерии полноты тестирования.
  • Синтетические методы верификации.Тестирование на основе моделей. Мониторинг формальных свойств ПО. Статический анализ формальных свойств. Синтетические методы генерации структурных тестов
  • Валидация. Подходы валидации данных.
  • Документация, сопровождающая процесс верификации. Планом верификации. Тест-требования, тест-план, отчет о выполнении тестирования.
Основная литература
  • А.С. Камкин. Введение в формальные методы верификации программ. ИСП РАН, 2017
  • Девянин П.Н., Кулямин В.В., Петренко А. К. Моделирование и верификация политик безопасности управления доступом в операционных системах. - Горячая Линия - Телеком. - 2024
  • Гагарина Л.Г. Технология разработки программного обеспечения. - учебное пособие. - Москва: ИНФРА М, 2018
  • Синицын, С. В. Верификация программного обеспечения : учебное пособие для СПО / С. В. Синицын, Н. Ю. Налютин. — Саратов : Профобразование, 2019. — 368 c. — ISBN 978-5-4488-0357-4. — Текст : электронный // Цифровой образовательный ресурс IPR SMART : [сайт]. — URL: https://www.iprbookshop.ru/86194.html (дата обращения: 22.01.2025).
  • Синицын, С. В. Верификация программного обеспечения : учебное пособие / С. В. Синицын, Н. Ю. Налютин. — 3-е изд. — Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2020. — 367 c. — ISBN 978-5-4497-0653-9. — Текст : электронный // Цифровой образовательный ресурс IPR SMART : [сайт]. — URL: https://www.iprbookshop.ru/97540.html (дата обращения: 22.01.2025).
Дополнительная литература
  • Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ. Model Checking. М.: МЦНМО, 2002
  • Р. Андерсон. Доказательство правильности программ. М.: Мир, 1982
  • Карпович Е.Е. Методы тестирования и отладки программного обеспечения : учебник. Москва : МИСИС, 2020
  • В.В. Кулямин. Методы верификации программного обеспечения http://panda.ispras.ru/~kuliamin/docs/VerMethods-2008-ru.pdf