Введение
Основные понятия и определения
Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Обеспечение качества (Quality Assurance - QA) — это совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и эксплуатации программного обеспечения (ПО) информационных систем, предпринимаемых на разных стадиях жизненного цикла ПО для обеспечения требуемого уровня качества выпускаемого продукта.
Контроль качества (Quality Control - QC) — это совокупность действий, проводимых над продуктом в процессе разработки для получения информации о его актуальном состоянии в разрезах: «готовность продукта к выпуску», «соответствие зафиксированным требованиям», «соответствие заявленному уровню качества продукта».
Примеры качественного программного обеспечения (ПО):
Продукт, который обладает высоким потребительским качеством, независимо от области применения. Для пользователя он должен удовлетворять определённому уровню его потребностей.
ПО, которое отвечает нефункциональным требованиям, таким как удобство в эксплуатации, надёжность, производительность, защищённость, удобство сопровождения.
Примеры некачественного ПО:
Приложение, которое выполняет требуемые функции, но имеет проблемы с внесением изменений или пониманием созданного кода. В этом случае такое ПО нельзя назвать качественным, так как на этапе его сопровождения могут возникнуть проблемы с его модификацией при изменении пользовательских требований.
Продукт, разработанный без использования каких-либо стандартов. Сегодня продаётся много программ, мобильных приложений и даже корпоративных систем, которые были созданы без них. Игнорирование стандартов может привести к снижению качества программного обеспечения и уменьшению спроса на конечный продукт.
Определение качества ПО. Аспекты качества, их взаимное влияние.
Качество ПО — это способность программы удовлетворять требования пользователей, при этом быть надежной, функциональной, безопасной и эффективной.
Качество определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.
Три аспекта качества ПО:
-Внутреннее качество связано с характеристиками ПО самого по себе, без учета его поведения;
-Внешнее качество характеризующего ПО с точки зрения его поведения;
-Качества ПО при использовании – это то качество, которое ощущается пользователями при конкретных сценариях работы ПО.
Выделим шесть характеристик качества
Разберите 6 ключевых характеристик, которые определяют качество ПО:
1. Функциональность: как хорошо ПО выполняет задачи, для которых оно создано.
Пример: бухгалтерское ПО должно корректно считать налоги и обеспечивать интеграцию с другими системами.
2. Надежность: Способность ПО работать без сбоев в течение длительного времени.
Пример: отказоустойчивость интернет-магазина при пиковых нагрузках.
3. Удобство использования: Легкость освоения и использования ПО для пользователя.
Пример: Простота интерфейса в мобильных приложениях
4. Эффективность: насколько оптимально ПО использует ресурсы.
Пример: Быстрота работы и экономия оперативной памяти.
5. Сопровождаемость: насколько легко вносить изменения в код, исправлять ошибки или добавлять новые функции.
Пример: хорошо документированный код и структурированные комментарии.
6. Переносимость: Способность ПО работать в разных средах.
Пример: Приложение, работающее на Windows, macOS и Linux.
Для каждой характеристики приведите примеры и обсудите, как можно измерять или оценивать эти параметры (метрики).
Как стандарты помогают разработчикам обеспечивать высокое качество и предсказуемость работы ПО?
Стандарты описывают общие требования, методы и процессы, которые нужно соблюдать при разработке ПО. Благодаря этому разработчики могут:
· Улучшить совместимостьпрограммных систем между собой.
· Обеспечить надёжностьи безопасность ПО.
· Оптимизироватьзатраты на разработку и обслуживание ПО.
Одним из ключевых преимуществ стандартов является их способность унифицировать процессы разработки. Это особенно важно при создании ПО для различных рынков и пользователей. Например, следование международным стандартам, таким как ISO, упрощает вывод продукта на международные рынки.
Пример:В медицине ПО должно соответствовать строгим стандартам безопасности и надежности, поскольку ошибка в работе такого ПО может иметь серьёзные последствия для пациентов. Стандарты помогают свести такие риски к минимуму.
Подводя итог, стандарты играют ключевую роль в обеспечении качества и надежности программного обеспечения. Они:
· Помогают структурировать процессы разработки.
· Гарантируют высокое качество конечного продукта.
· Позволяют избежать ошибок и повышают предсказуемость.
Таким образом, использование стандартов в разработке ПО не только упрощает процесс создания программных систем, но и обеспечивает их надежность, безопасность и соответствие ожиданиям пользователей.