Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kursovik.docx
Скачиваний:
11
Добавлен:
27.10.2018
Размер:
346.25 Кб
Скачать

3. Разработка программного кода

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

  • Java

  • Pascal

  • Delphi

  • Различные диалекты языка C (такие как C#, Qt, Objective-Cи т.п.)

  • Visual Basic

Был выбран язык C++, т.к.:

  • Си современный язык

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

  • Си - эффективный язык. Его структура позволяет наилучшим образом использовать возможности современных ЭВМ.

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

  • Язык Си прост в изучении и использовании

  • Си имеет множество модулей, библиотек и расширений

  • Си признан основным языком многими программистами мира

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

Код программы представлен в (Приложении 2).

  1. Верификация

4.1. Инспектирование

Инспектирование программ – это просмотр и проверка программ с целью обнаружения в них ошибок. Идея формализованного процесса проверки программ была сформулирована корпорацией IBM в 1970-х годах. В настоящее время данный метод верификации получил широкое распространение. На его базе разработано множество других методов, но все они основываются на базовой идее метода инспектирования, согласно которому группа специалистов выполняет тщательный построчный просмотр и анализ исходного кода программы. Главное отличие инспектирования от других методов оценивания качества программ состоит в том, что его цель – обнаружение дефектов, а не исследование общих проблем проекта. Дефектами являются либо ошибки в исходном коде, либо несоответствия программы стандартам.

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

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

Инспектирование не проводилось.

4.2. Тестирование

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

В соответствие с IEEE Std 829-1983 Тестирование — это процесс анализа ПО, направленный на выявление отличий между его реально существующими и требуемыми свойствами (дефект) и на оценку свойств программного обеспечения.

По ГОСТ Р ИСО МЭК 12207-99 в жизненном цикле программного обеспечения определены среди прочих вспомогательные процессы верификации, аттестации, совместного анализа и аудита.

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

По объекту тестирования:

  • Функциональное тестирование (functionaltesting)

  • Тестирование производительности (performancetesting)

    • Нагрузочное тестирование (loadtesting)

    • Стресс-тестирование (stresstesting)

    • Тестированиестабильности (stability / endurance / soak testing)

  • Тестирование удобства использования (usabilitytesting)

  • Тестирование интерфейса пользователя (UI testing)

  • Тестирование безопасности (securitytesting)

  • Тестирование локализации (localizationtesting)

  • Тестирование совместимости (compatibilitytesting)

По знанию системы:

  • Тестирование чёрного ящика (blackbox)

  • Тестирование белого ящика (whitebox)

  • Тестирование серого ящика (greybox)

По степени автоматизации:

  • Ручное тестирование (manualtesting)

  • Автоматизированное тестирование (automatedtesting)

  • Полуавтоматизированное тестирование (semiautomatedtesting)

По степени изолированности компонентов:

  • Компонентное (модульное) тестирование (component/unittesting)

  • Интеграционное тестирование (integrationtesting)

  • Системноетестирование (system/end-to-end testing)

По времени проведения тестирования:

  • Альфа-тестирование (alphatesting)

  • Тестирование при приёмке (smoketesting)

  • Тестирование новой функциональности (newfeaturetesting)

  • Регрессионное тестирование (regressiontesting)

  • Тестирование при сдаче (acceptancetesting)

  • Бета-тестирование (betatesting)

По признаку позитивности сценариев:

  • Позитивное тестирование (positivetesting)

  • Негативное тестирование (negativetesting)

По степени подготовленности к тестированию:

  • Тестирование по документации (formaltesting)

  • Тестирование adhoc или интуитивное тестирование (adhoctesting)

В ходе тестирования были приглашены специалисты по договору аутсорсинга.

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

  • Функциональное тестирование (functionaltesting)

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

  • Тестирование удобства использования (usabilitytesting)

Был проверен интерфейс на соответствие международных нормюзабилити. Были добавлены подсказки

  • Тестирование интерфейса пользователя (UI testing)

В результате тестирования переработан интерфейс

В результате тестирования было выявлено 5 багов

  • Альфа-тестирование (alphatesting)

  • Бета-тестирование (betatesting)

Процесс тестирования:

Рисунок 1. Главное меню

Главное меню.

Здесь осуществляется выбор функций.

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

Рисунок 2. Выбор логарифмов

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

Рисунок 3. Решение логарифма

В этом разделе осуществляется ввод данных и вывод ответа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]