Найти в Дзене

Многоуровневая модель качества программного обеспечения (часть 1)

Введение Основные понятия и определения Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности. Обеспечение качества (Quality Assurance - QA) — это совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и эксплуатации программного обеспечения (ПО) информационных систем, предпринимаемых на разных стадиях жизненного цикла ПО для обеспечения требуемого уровня качества выпускаемого продукта. Контроль качества (Quality Control - QC) — это совокупность действий, проводимых над продуктом в процессе разработки для получения информации о его актуальном состоянии в разрезах: «готовность продукта к выпуску», «соответствие зафиксированным требованиям», «соответствие заявленному уровню качества продукта». Примеры качественного программного обеспечения (ПО): Продукт, который обладает высоким потребительским качеством, независимо
Оглавление

Введение

Основные понятия и определения

Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

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

Контроль качества (Quality Control - QC) — это совокупность действий, проводимых над продуктом в процессе разработки для получения информации о его актуальном состоянии в разрезах: «готовность продукта к выпуску», «соответствие зафиксированным требованиям», «соответствие заявленному уровню качества продукта».

Примеры качественного программного обеспечения (ПО):

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

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

Примеры некачественного ПО:

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

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

Определение качества ПО. Аспекты качества, их взаимное влияние.

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

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

Три аспекта качества ПО:

-Внутреннее качество связано с характеристиками ПО самого по себе, без учета его поведения;

-Внешнее качество характеризующего ПО с точки зрения его поведения;

-Качества ПО при использовании – это то качество, которое ощущается пользователями при конкретных сценариях работы ПО.

Выделим шесть характеристик качества

Разберите 6 ключевых характеристик, которые определяют качество ПО:

1. Функциональность: как хорошо ПО выполняет задачи, для которых оно создано.

Пример: бухгалтерское ПО должно корректно считать налоги и обеспечивать интеграцию с другими системами.

2. Надежность: Способность ПО работать без сбоев в течение длительного времени.

Пример: отказоустойчивость интернет-магазина при пиковых нагрузках.

3. Удобство использования: Легкость освоения и использования ПО для пользователя.

Пример: Простота интерфейса в мобильных приложениях

4. Эффективность: насколько оптимально ПО использует ресурсы.

Пример: Быстрота работы и экономия оперативной памяти.

5. Сопровождаемость: насколько легко вносить изменения в код, исправлять ошибки или добавлять новые функции.

Пример: хорошо документированный код и структурированные комментарии.

6. Переносимость: Способность ПО работать в разных средах.

Пример: Приложение, работающее на Windows, macOS и Linux.

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

Как стандарты помогают разработчикам обеспечивать высокое качество и предсказуемость работы ПО?

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

· Улучшить совместимостьпрограммных систем между собой.

· Обеспечить надёжностьи безопасность ПО.

· Оптимизироватьзатраты на разработку и обслуживание ПО.

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

Пример:В медицине ПО должно соответствовать строгим стандартам безопасности и надежности, поскольку ошибка в работе такого ПО может иметь серьёзные последствия для пациентов. Стандарты помогают свести такие риски к минимуму.

Подводя итог, стандарты играют ключевую роль в обеспечении качества и надежности программного обеспечения. Они:

· Помогают структурировать процессы разработки.

· Гарантируют высокое качество конечного продукта.

· Позволяют избежать ошибок и повышают предсказуемость.

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