Файл: Задача данного проекта Процесс создание и разработки программ.docx
Добавлен: 11.12.2023
Просмотров: 98
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
, однако требуется корректировка, адаптация или исключение некоторых положений стандартов применительно к принципиальным особенностям технологий и характеристик этого вида продукции. Кроме того, при реализации систем качества ПО необходимо привлечение ряда стандартов, формально не относящихся к этой серии и регламентирующих показатели качества, жизненный цикл, верификацию и тестирование, испытания, документирование и другие особенности жизненного цикла программ.
Для управления качеством необходим постоянный контроль качества разрабатываемого ПО через метрики качества, такие как плотность дефектов, размер переделок, среднее время между отказами и др., а также контроль качества отдельных стадий процессов проектирования, составляющих целостный процесс создания программной системы
У каждого программного проекта есть своя специфика, требующая и различного набора методов обеспечения качества.
6.1 Проблемы надежности и качества программных систем
В настоящее время ни разработчики программных продуктов, ни пользователи не могут абсолютно обоснованно сравнивать качество существующих программных продуктов по экономическим критериям и оценивать, насколько один программный продукт эффективнее другого в эксплуатационных расходах, производительности, затратах живого труда и машинного времени.
Можно выделить следующие существующие проблемы в разработке программного обеспечения:
− существующее в ряде случаев несоответствие процессов разработки ПО международным стандартам;
− наличие ошибок в CASE-инструментах, используемых для разработки программных продуктов;
− сжатые сроки выполнения проекта;
− недостаточно опытные разработчики;
− плохая организация процессов разработки ПО;
− недопонимание той функциональности программы, которую желает видеть заказчик.
Известно большое количество показателей, используемых для характеристики качества программных систем, а также сравнительной оценки их потребительской ценности.
функциональная полнота
− завершенность разработки
− быстродействие как затраты времени на решение задачи пользователя
− уровень требований к комплексу технических средств (занимаемый объем памяти, быстродействие процессора, свободное пространство на диске
− степень и простота настройки на техническую среду, сетевые и периферийные устройства
− стоимость установки, обучения и обслуживания;
− комплексность решения задачи;
− возможность перенастройки на новые условия применения, например, в связи с изменением законодательства, реструктуризацией фирмы и т. д.;
− возможность работы в сети;
− качество помощи пользователю в процессе работы, например наличие ситуативной, контекстно-зависимой и гипертекстовой помощи с оглавлением;
− требования к уровню квалификации пользователя;
− трудоемкость освоения и внедрения; − качество пользовательского интерфейса.
6.2 Тестирование и рефакторинг программного кода
Тестирование кода позволяет на протяжении всего жизненного цикла программной системы гарантировать соответствие всех атрибутов программных проектов заданным параметрам качества. Основная цель тестирования состоит в определении отклонений при реализации функциональных требований, степени их значимости, обнаружении ошибок в ходе выполнения программ и своевременном их исправлении. На протяжении всего процесса разработки ПО необходимо применять комплексные методы проверки качества кода, включающие различные типы тестирования. При этом нужно гарантировать соответствие заданным показателям качества всех промежуточных версий проектируемой системы. Применяются как автоматические, так и ручные тесты. Основными видами тестирования ПО являются следующие.
1. Модульное тестирование (тестирование программных модулей) используется для проверки правильности функционирования функций, подпрограмм и методов классов ПО. Модульные тесты создаются и реализуются проектировщиками непосредственно в процессе написания кода. Как правило, модульное тестирование применяется как для проверки самого кода приложения, так и для проверки функционирования БД.
2.Исследовательское тестирование предназначается для проверки качества кода в случае, когда тестировщик пытается интуитивно исследовать возможности программной системы и обнаружить, и зафиксировать неизвестные ошибки, не имея заранее определенных тестовых сценариев.
3. Интеграционное тестирование применяется для проверки правильности совместного взаимодействия компонентов программного продукта.
4.Функциональное тестирование предназначено для проверки конкретных функциональных требований к ПО и осуществляется в случае добавления к системе новых функций.
5. Нагрузочное тестирование используется для проверки работоспособности программной системы при максимальной (предельной) входной нагрузке.
6. Регрессионное тестирование применяется в случае внесения изменений в ПО для того, чтобы проверить корректность работы тех компо69 нентов системы, которые потенциально могут взаимодействовать с измененным компонентом.
7. Комплексное тестирование используется для проверки полноты всех функциональных и нефункциональных требований программной системы.
8. Приемочное тестирование является завершающим функциональным испытанием, которое должны подтвердить, что созданная программная система соответствует требованиям и ожиданиям пользователей и заказчиков. Приемочные тесты пишутся независимыми специалистами по контролю качества и тестировщиками.
Современные инструментальные среды разработки приложений, такие как MS VisualStudio последних версий, предоставляют разработчикам программного обеспечения возможности создавать модульные и нагрузочные тесты, а также тесты для проверки пользовательского интерфейса.
Для этого используются шаблоны тестовых проектов, к которым можно отнести следующие:
− макет модульного теста, который позволяет создавать тесты проверки модулей в процессе проектирования;
− макет с WEB-тестами производительности и нагрузочными тестами; − макет с кодированными тестами пользовательского интерфейса.
6.3 Качество программного обеспечение ISO 9126
Качество программного обеспечения - это степень, в которой ПО обладает требуемой комбинацией свойств . Качество программного обеспечения - это совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Стандарт ISO 9126 состоит из четырех частей, в которых излагаются следующие категории:
− модель качества;
− внешние метрики;
− внутренние метрики;
− метрики качества в использовании.
Модель качества классифицирует качество ПО с шестью структурными наборами характеристик – показателей качества ПО. Эти показатели, в свою очередь, детализируются атрибутами (субхарактеристиками), как показано на рис. 8.
Критерии качества программного обеспечения
Глава 7. Документирование программных систем
7.1 Документация в АСОИУ
При создании сложной программной системы требуется серьезная организация процесса проектирования, неотъемлемой частью которой является создание программной документации, которая подвержена постоянным изменениям, вносимым различными специалистами. Проектирование и эксплуатация программных систем сопровождается документированием объектов и процессов их жизненного цикла для обеспечения возможности успешного функционирования и развития функций программных средств и баз данных на любых этапах проекта, для обеспечения удобного интерфейса между разработчиками и пользователями.
Программная документация должна быть адекватна формальным требованиям, актуальному состоянию текстов, диаграмм и объектных кодов программ. Она должна проверяться, контролироваться и удостоверяться (подписываться) ответственными руководителями и заказчиками проекта. Следует иметь в виду, что ошибки и дефекты документов не менее опасны для использования программной системы, чем ошибки в структуре, интерфейсах, файлах текстов программ и в содержании данных. Поэтому к структуре, полноте, правильности и качеству программной документации нужно относиться не менее тщательно, чем к разработке и модификациям проектных схем, текстов программ и описаниям данных.
Под процессом документирования понимается совокупность действий по записи информации, произведенной при реализации процессов жизненного цикла.
При разработке ПС создается и используется большой объем разнообразной документации. Она необходима как средство передачи информации между разработчиками ПС, как средство управления разработкой ПС и как средство передачи пользователям информации, необходимой для применения и сопровождения ПС. На создание этой документации приходится большая доля стоимости ПС.
Эту документацию можно разбить на две группы:
7.2 Требования к программной документации
Документация является органически составной частью программной системы и требует определенных ресурсов для ее создания и эффективного применения. Описание технического проекта, исходный код и другие программные документы в совокупности должны полностью соответствовать структуре и содержанию программной системы и быть достаточными для ее освоения, применения и изменения. В связи с этим программные документы должны быть:
Для управления качеством необходим постоянный контроль качества разрабатываемого ПО через метрики качества, такие как плотность дефектов, размер переделок, среднее время между отказами и др., а также контроль качества отдельных стадий процессов проектирования, составляющих целостный процесс создания программной системы
У каждого программного проекта есть своя специфика, требующая и различного набора методов обеспечения качества.
6.1 Проблемы надежности и качества программных систем
В настоящее время ни разработчики программных продуктов, ни пользователи не могут абсолютно обоснованно сравнивать качество существующих программных продуктов по экономическим критериям и оценивать, насколько один программный продукт эффективнее другого в эксплуатационных расходах, производительности, затратах живого труда и машинного времени.
Можно выделить следующие существующие проблемы в разработке программного обеспечения:
− существующее в ряде случаев несоответствие процессов разработки ПО международным стандартам;
− наличие ошибок в CASE-инструментах, используемых для разработки программных продуктов;
− сжатые сроки выполнения проекта;
− недостаточно опытные разработчики;
− плохая организация процессов разработки ПО;
− недопонимание той функциональности программы, которую желает видеть заказчик.
Известно большое количество показателей, используемых для характеристики качества программных систем, а также сравнительной оценки их потребительской ценности.
функциональная полнота
− завершенность разработки
− быстродействие как затраты времени на решение задачи пользователя
− уровень требований к комплексу технических средств (занимаемый объем памяти, быстродействие процессора, свободное пространство на диске
− степень и простота настройки на техническую среду, сетевые и периферийные устройства
− стоимость установки, обучения и обслуживания;
− комплексность решения задачи;
− возможность перенастройки на новые условия применения, например, в связи с изменением законодательства, реструктуризацией фирмы и т. д.;
− возможность работы в сети;
− качество помощи пользователю в процессе работы, например наличие ситуативной, контекстно-зависимой и гипертекстовой помощи с оглавлением;
− требования к уровню квалификации пользователя;
− трудоемкость освоения и внедрения; − качество пользовательского интерфейса.
6.2 Тестирование и рефакторинг программного кода
Тестирование кода позволяет на протяжении всего жизненного цикла программной системы гарантировать соответствие всех атрибутов программных проектов заданным параметрам качества. Основная цель тестирования состоит в определении отклонений при реализации функциональных требований, степени их значимости, обнаружении ошибок в ходе выполнения программ и своевременном их исправлении. На протяжении всего процесса разработки ПО необходимо применять комплексные методы проверки качества кода, включающие различные типы тестирования. При этом нужно гарантировать соответствие заданным показателям качества всех промежуточных версий проектируемой системы. Применяются как автоматические, так и ручные тесты. Основными видами тестирования ПО являются следующие.
1. Модульное тестирование (тестирование программных модулей) используется для проверки правильности функционирования функций, подпрограмм и методов классов ПО. Модульные тесты создаются и реализуются проектировщиками непосредственно в процессе написания кода. Как правило, модульное тестирование применяется как для проверки самого кода приложения, так и для проверки функционирования БД.
2.Исследовательское тестирование предназначается для проверки качества кода в случае, когда тестировщик пытается интуитивно исследовать возможности программной системы и обнаружить, и зафиксировать неизвестные ошибки, не имея заранее определенных тестовых сценариев.
3. Интеграционное тестирование применяется для проверки правильности совместного взаимодействия компонентов программного продукта.
4.Функциональное тестирование предназначено для проверки конкретных функциональных требований к ПО и осуществляется в случае добавления к системе новых функций.
5. Нагрузочное тестирование используется для проверки работоспособности программной системы при максимальной (предельной) входной нагрузке.
6. Регрессионное тестирование применяется в случае внесения изменений в ПО для того, чтобы проверить корректность работы тех компо69 нентов системы, которые потенциально могут взаимодействовать с измененным компонентом.
7. Комплексное тестирование используется для проверки полноты всех функциональных и нефункциональных требований программной системы.
8. Приемочное тестирование является завершающим функциональным испытанием, которое должны подтвердить, что созданная программная система соответствует требованиям и ожиданиям пользователей и заказчиков. Приемочные тесты пишутся независимыми специалистами по контролю качества и тестировщиками.
Современные инструментальные среды разработки приложений, такие как MS VisualStudio последних версий, предоставляют разработчикам программного обеспечения возможности создавать модульные и нагрузочные тесты, а также тесты для проверки пользовательского интерфейса.
Для этого используются шаблоны тестовых проектов, к которым можно отнести следующие:
− макет модульного теста, который позволяет создавать тесты проверки модулей в процессе проектирования;
− макет с WEB-тестами производительности и нагрузочными тестами; − макет с кодированными тестами пользовательского интерфейса.
6.3 Качество программного обеспечение ISO 9126
Качество программного обеспечения - это степень, в которой ПО обладает требуемой комбинацией свойств . Качество программного обеспечения - это совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Стандарт ISO 9126 состоит из четырех частей, в которых излагаются следующие категории:
− модель качества;
− внешние метрики;
− внутренние метрики;
− метрики качества в использовании.
Модель качества классифицирует качество ПО с шестью структурными наборами характеристик – показателей качества ПО. Эти показатели, в свою очередь, детализируются атрибутами (субхарактеристиками), как показано на рис. 8.
Критерии качества программного обеспечения
-
корректность -
устойчивость -
расширяемость -
повторное использование -
совместимость, эффективность -
переносимость -
простота использования -
Функциональность
Глава 7. Документирование программных систем
7.1 Документация в АСОИУ
При создании сложной программной системы требуется серьезная организация процесса проектирования, неотъемлемой частью которой является создание программной документации, которая подвержена постоянным изменениям, вносимым различными специалистами. Проектирование и эксплуатация программных систем сопровождается документированием объектов и процессов их жизненного цикла для обеспечения возможности успешного функционирования и развития функций программных средств и баз данных на любых этапах проекта, для обеспечения удобного интерфейса между разработчиками и пользователями.
Программная документация должна быть адекватна формальным требованиям, актуальному состоянию текстов, диаграмм и объектных кодов программ. Она должна проверяться, контролироваться и удостоверяться (подписываться) ответственными руководителями и заказчиками проекта. Следует иметь в виду, что ошибки и дефекты документов не менее опасны для использования программной системы, чем ошибки в структуре, интерфейсах, файлах текстов программ и в содержании данных. Поэтому к структуре, полноте, правильности и качеству программной документации нужно относиться не менее тщательно, чем к разработке и модификациям проектных схем, текстов программ и описаниям данных.
Под процессом документирования понимается совокупность действий по записи информации, произведенной при реализации процессов жизненного цикла.
При разработке ПС создается и используется большой объем разнообразной документации. Она необходима как средство передачи информации между разработчиками ПС, как средство управления разработкой ПС и как средство передачи пользователям информации, необходимой для применения и сопровождения ПС. На создание этой документации приходится большая доля стоимости ПС.
Эту документацию можно разбить на две группы:
-
Документы управления разработкой ПС. -
Документы, входящие в состав ПС.
7.2 Требования к программной документации
Документация является органически составной частью программной системы и требует определенных ресурсов для ее создания и эффективного применения. Описание технического проекта, исходный код и другие программные документы в совокупности должны полностью соответствовать структуре и содержанию программной системы и быть достаточными для ее освоения, применения и изменения. В связи с этим программные документы должны быть: