Файл: 1.(Гриша)Дайте определение понятия репозитория проекта. Опишите классы уровней репозиториев.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 892

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.

Локализация ошибки - нахождение конкретного местоположения ошибки в коде

Существуют три типа ошибок программирования:

синтаксические ошибки,

ошибки выполнения,

семантические ошибки.

В любом языке программирования каждое предложение (оператор) строится по определенным правилам. Когда в программе встречается предложение, которое нарушает эти правила, то говорят о наличии синтак­сической ошибки. Синтаксическая ошибка легко обнаруживается компи­ляторами и интерпретаторами языка и легко исправляется.

Второй тип ошибок обычно возникает во время выполнения про­граммы (их принято называть исключительными ситуациями). Такие ошибки имеют другую причину. Если в программе возникает исключение, то это означает, что случилось непредвиденное: например, программе пе­редали некорректное значение или программа попыталась разделить какое-то значение на ноль, что недопустимо с точки зрения математики. Если операционная система присылает запрос на немедленное завершение про­граммы, то также возникает исключение. Ошибки выполнения легко обна­руживаются, однако устранение их причин может оказаться нетривиаль­ной задачей.

Семантические (смысловые) ошибки – это применение опе­раторов, которые не дают нужного эффекта (например, (a–b) вместо (a+b)), ошибка в структуре алгоритма, в логической взаи­мосвязи его частей, в применении алгоритма к тем данным, к которым он неприменим и т.д. Правила семан­тики не фор­мализуемы. Поэтому поиск и устранение семантической ошибки и составляет основу отладки.

25.(Гриша)Опишите инструментальные средства создания Windows-приложений.

Существуют различные инструментальные средства для создания Windows-

приложений. Ниже перечислены основные из них:

1. Microsoft Visual Studio - это одно из самых популярных интегрированных

сред для разработки Windows-приложений. Он обеспечивает широкий спектр

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

развертывание.

2. Microsoft .NET Framework - это среда выполнения, которая обеспечивает

поддержку языков программирования, таких как C#, VB .NET и F# для

разработки Windows-приложений.

3. Microsoft Expression Blend - это инструментальное средство для разработки

интерфейсов пользовательского интерфейса для Windows-приложений, которое

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


4. Xamarin - это платформа для разработки мобильных и настольных

приложений под Windows, Mac и Linux. Используя Xamarin, можно написать

код на языке C# и использовать его для создания приложений на различных

платформах.

5. Qt - это кроссплатформенная среда разработки для создания Windows-

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

включая C++, Python и JavaScript.

6. Unity - это платформа для создания игр и приложений, которая позволяет

разрабатывать приложения для Windows, Mac, Android, iOS и других платформ

с помощью языков программирования C# и JavaScript.

7. Electron - это инструментальное средство для создания кроссплатформенных

приложений с помощью HTML, CSS и JavaScript, которое поддерживает

различные операционные системы, включая Windows.11:57

26.(Ася)Опишите процесс разработки тестовых модулей проекта для тестирования отдельных модулей.

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

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

1. Анализ требований к модулю. На этом этапе определяются функциональные и нефункциональные требования к модулю, которые будут использоваться при разработке тестовых модулей.

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

3. Разработка тестовых данных. Для каждого тестового сценария необходимо разработать набор тестовых данных, которые будут использоваться при тестировании модуля.

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

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

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

7. Анализ результатов тестирования. После проведения тестирования модуля анализируются результаты тестирования, выявляются ошибки и проблемы, которые будут исправлены в следующих этапах разработки проекта.



27.(Аня)Опишите процесс разработка приложений WPF в среде программирования Microsoft Visual Studio.

Процесс разработки приложения в WPF в среде программирования Microsoft Visual

Studio можно охарактеризовать следующими пунктами:

Создание проекта

Для того чтобы начать создавать приложение WPF в Microsoft Visual

Studio необходимо при создании проекта выбрать пункт “Приложение WPF

(.NET Framework)”.

Далее необходимо назвать свой проект используя стиль Pascal Case (

пример: WpfApp2).

По желанию можно изменить расположение, версию .NET Framework, а

также настроить имя решения (по умолчанию будет иметь то же имя, что и

проект).

Подготовка

Необходимо чётко знать что будет разрабатываться, это поможет как

сократить время и предотвратить множество ошибок, так и подготовить проект к

разработке.

Важно создать папки для соответствующих элементов в решении,

например отдельную папку для окон, страниц и классов в проекте. Это поможет

быстрее ориентироваться между элементами и предотвратит путаницу,

неизбежно появляющуюся в больших проектах.

Процесс разработки

Создание приложения WPF в Microsoft Visual Studio в основном

сводится к “окнам”. Все окна - это классы, наследственные от базового класса

“Window”. При их создании появляются 2 файла с окончаниями “.xaml” и

“.xaml.cs”.

В файле “.xaml” у нас есть возможность в реальном времени

отслеживать изменения окна, а также с помощью интерфейса и его

отображения кодом размещать и редактировать элементы управления WPF

(Кнопки, лейблы, картинки и т.п.).

В “xaml.cs” же прописывается основной функционал окна: обработка

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

менять и редактировать элементы управления WPF.

Также при разработке приложения WPF в Microsoft Visual Studio широко

используются “страницы”. Они так же , как и “окна” являются классами, у них

файлы с такими же окончаниями и они имеют такой же функционал, но

унаследованы они от базового класса “Page” и могут быть выведены на “окна”

через элемент управления WPF “Frame”.

Тему можно продолжать до второго пришествия, описывая инструменты,

элементы, детали при разработке чего-либо и т.п. Я постарался

сформулировать главное в разработке в WPF. Если Сергей Сергеевичу

потребуется конкретика, то её любой из нас сможет ему описать, опираясь на

собственный опыт.

28.(Лера)Перечислите и охарактеризуйте не функциональные виды тестирования.


Нефункциональное тестирование (Non-functional testing) — Тестирование атрибутов компонента или системы, не относящихся к функциональности, то есть надежность, эффективность, практичность, сопровождаемость и переносимость, удобство, доступность и т.д. Одна из главных целей видов тестирования — это проверка характеристик качества продукта.



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

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

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

-Объемное тестирование (volume testing): Тип тестирования уровня производительности, проводимого для оценки способности элемента тестирования обработать определенные объемы данных (обычно равных или близких к максимальным указанным потенциальным возможностям) с точки зрения потенциальных возможностей пропускной способности, емкости памяти или того и другого.

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

-Тестирование удобства пользования - это нефункциональный вид тестирования программного обеспечения, являющийся подмножеством тестирования пользовательского опыта - UX, “Ю-Экс”, user experience. В целом оно подразделяется на понятность, обучаемость, работоспособность, привлекательность и соответствие (understandability, learnability, operability, attractiveness, and compliance).


-Тестирование на отказ и восстановление (Failover and Recovery testing, Disaster Recovery Testing) - подвид тестирования производительности, проверяет тестируемый продукт с точки зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками ПО, отказами оборудования или проблемами связи/сети.

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

29.(Влад)Расскажите про инструменты разработки программных средств. Перечислите и охарактеризуйте группы инструментов ПС.

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

используется компьютерная поддержка процессов разработки ПС.

Например компилятор избавляет разработчика ПС от необходимости

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

крайне неудобен, - вместо этого он составляет программы на удобном ему

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

автоматически переводит на язык компьютера.

Их можно разбить на следующие четыре группы:

  • редакторы

  • анализаторы

  • преобразователи

  • инструменты, поддерживающие процесс выполнения программ.

Редакторы поддерживают конструирование (формирование) тех или

иных программных документов на различных этапах жизненного цикла.

(Отмечают и предлагают варианты при неправильном написании слова)

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

осуществляя различные виды их контроля, выявление определенных их

свойств и накопление статистических данных (например, проверку

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

программ (например, с целью выявление распределения времени работы

программы по программным модулям).

(Собирают информацию, составляют статистику и т.п.)

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

другой форме представления (например, форматеры) или переводить документ

одного вида к документу другого вида (например, конверторы или

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