Автор работы: Пользователь скрыл имя, 02 Апреля 2014 в 21:02, курсовая работа
Программное обеспечение – это совокупность программ, предназначенная для решения задач на ПК, которое является неотъемлемой частью компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него программным обеспечением.
Все это свидетельствует об актуальности темы исследования.
Введение 6
1.Теоретические основы управления качеством программного обеспечения 8
1.1Развитие мировой программной индустрии и ее особенности в РФ 8
1.2 Современные требования к программному обеспечению 14
1.3 Развитие подходов к управлению качеством программного обеспечения 21
2. Анализ управления качеством программного обеспечения в ООО «Microsoft» 31
2.1 Характеристика деятельности предприятия и разрабатываемого программного обеспечения 31
2.2 Анализ системы управления качеством в организации 35
2.3 Оценка качества разрабатываемого программного обеспечения 40
3. Рекомендации по улучшению качества программного обеспечения в ООО «Microsoft» 47
Заключение 50
Список использованной литературы 52
Отраслевые и международные стандарты в сфере информационных технологий являются суммой опыта, накопленного экспертами в инженерии программного обеспечения на основе огромного количества проектов, проводившихся в рамках коммерческих структур США, Европы и в рамках военных контрактов. Большая часть стандартов создавалась как набор критериев для отбора поставщиков программного обеспечения для Министерства обороны США, и эту задачу они решают достаточно успешно. Стандарты содержат описание выработанных на основе реальных проектов подходов к построению сложных программных систем.[5]
Для корректного рассмотрения вопросов создания сложных программных систем необходимо, чтобы процесс разработки включал не только собственно процедуру разработки (кодирования), но и такие процедуры жизненного цикла программных систем, как подготовка к разработке (анализ предметной области, определение требований, выработка решений), проектирование, документирование, тестирование, внедрение, эксплуатация, сопровождение, управление изменениями, прекращение использования.
Термином жизненный цикл (ЖЦ) принято называть совокупность процессов и этапов развития организмов живой природы, технических систем, продуктов производства от моментов зарождения или появления потребности их создания и использования до прекращения функционирования или применения.
Программы для вычислительных машин обычно являются компонентами программно-аппаратных комплексов или технических систем. Программы и данные в системах и вычислительных комплексах являются наиболее гибкими компонентами и подвержены изменениям в течение всего их ЖЦ. Для обеспечения нужного уровня интеграции программной и аппаратной составляющих информационной системы довольно часто различные аспекты ЖЦ программного обеспечения рассматриваются в связи с элементами жизненного цикла системы в целом.[13, стр. 45]
Типовая модель процессов жизненного цикла сложной системы начинается с концепции идеи системы или потребности в ней, охватывает проектирование, разработку, применение и сопровождение системы и заканчивается снятием системы с эксплуатации. Программные средства служат для выполнения определенных функций систем на компьютерах. Модель жизненного цикла системы обычно разделяют на последовательные периоды реализации: стадии или этапы. Каждый подобный период включает основные реализуемые в нем процессы, работы и задачи. [5]
Модель жизненного
цикла сложной программной
Современные стандарты не предписывают четких и однозначных схем построения структуры жизненного цикла ПО. Это сделано намеренно, поскольку достаточно жесткие схемы препятствуют использованию более прогрессивных технологий разработки, которых в последнее десятилетие появилось достаточно много и которые продолжают интенсивно наращиваться и развиваться. Международные стандарты максимально общим образом определяют некоторый набор видов деятельности, из которых должен состоять процесс разработки, и на этих видах деятельности, выделяя их элементы, вводят ту или иную структуру жизненного цикла ПО..[14 стр. 45]
Существует набор стандартов, определяющих различные элементы в структуре жизненных циклов ПО. В качестве основных таких элементов выделяются технологические процессы - структурированные наборы деятельностей, решающих некоторую общую задачу или связанную совокупность задач, такие, как процесс определения требований, процесс разработки, процесс сопровождения ПО, процесс обеспечения качества, процесс разработки документации, процесс тестирования и пр. Процессы могут определять разные этапы жизненного цикла и увязывают их с различными видами деятельностей, задачами, результатами, ролями задействованных лиц. Цементирует все этапы в жизненном цикле ПО процесс управления изменениями. Ниже представлен неполный перечень стандартов, которые дают общее представление о структуре жизненного цикла ПО и его основных процессах.
Для того чтобы получить представление о возможной структуре жизненного цикла ПО, обратимся к соответствующим стандартам ISO, описывающим технологические процессы. [5]
Стандарт определяет общую структуру жизненного цикла ПО ввиде трехуровневой модели, элементами которой являются процессы, виды деятельности, задачи. Процессы объединены в четыре группы: основные процессы, поддерживающие процессы, организационные процессы, адаптация. Процессы состоят из отдельных видов деятельности. Например, процесс разработки ПО включает такие виды деятельности, как анализ системных требований, проектирование программно-аппаратной части системы в целом, анализ требований к ПО, проектирование архитектуры ПО, кодирование, тестирование и т.д. Каждый вид деятельности направлен на решение одной или нескольких задач.
Стандарт нацелен на рассмотрение программно-аппаратной системы в целом. Предлагает похожую схему определения структуры жизненного цикла ПО ввиде набора групп процессов, где каждый процесс описывается набором результатов, и каждый результат достигается при помощи набора различных видов деятельности.
Эффективность разработки ПОвцелом зависит от точности и корректности формулировки требований к программному продукту. Правила работы с требованиями к ПО и более общими системными требованиями к программно-аппаратной системе в целом определяются следующими двумя стандартами IEEE:
Одним из важнейших этапов в разработке программного обеспечения является процесс проектирования архитектуры. Архитектура определяет большинство характеристик качества в целом и служит основным средством общения между разработчиками, а также между разработчиками и всеми остальными лицами, заинтересованными в данном программном обеспечении. Ряд стандартов регламентируют описание архитектуры, которое, в свою очередь, является основной составляющей проектной документации на программное обеспечение.
Понятие качественного ПО соответствует представлению о том, что программа достаточно успешно справляется со всеми возложенными на нее задачами и не приносит проблем ни конечным пользователям, ни службе поддержки, ни специалистам по продажам. На создание качественного ПО существенное влияние оказывает качество технологических процессов его разработки. Общие принципы обеспечения качества процессов производства во всех отраслях экономики регулируются набором стандартов серии ISO9000. Наиболее важные стандарты для разработки ПО в этом наборе следующие:
Качество программного обеспечения регламентируется группой стандартов ISO 9126. В стандартах качество ПО определено в виде всей совокупности характеристик, позволяющих удовлетворить потребности всех заинтересованных лиц. При рассмотрении качества ПО различаются понятия внутреннего качества, связанного с характеристиками самого ПО, без учета его поведения, внешнего качества, характеризующего ПО с точки зрения его поведения в системе, и качество ПО при использовании в различных сценариях работы. Кроме того, на создание качественного ПО существенное влияние оказывает качество технологических процессов его разработки, о чем упоминалось ранее.
Стандарт ISO 9126 предлагает использовать для описания качества ПО многоуровневую модель показателей качества. На верхнем уровне выделено 6 основных характеристик качества ПО. Каждая характеристика описывается при помощи набора атрибутов, позволяющих оценить эту характеристику. Для каждого атрибута определяется набор метрик, позволяющих оценить этот атрибут. Для каждой метрики определяется набор оценочных элементов, позволяющих оценить эту метрику. Построение модели качества позволяет системно описать требования к программному обеспечению, определяя, какие свойства ПО по данной характеристике хотят видеть заинтересованные стороны. Показатели качества, закрепленные в стандартах, не исчерпывают полностью понятие качества ПО. В зависимости от назначения программного обеспечения перечень показателей качества может быть расширен или сужен в рамках проекта по разработке конкретного ПО.
Определяет набор характеристик и атрибутов качества программного обеспечения.
Процедура контроля качества предназначена для того, чтобы убедиться, что определенные характеристики качества ПО достигнуты. Для оценки многих атрибутов качества не существует более эффективных способов, чем тестирование. Тестирование - наиболее широко применяемый метод контроля качества. Тестировать можно соблюдение любых требований, соответствие которым выявляется во время работы ПО. Организация тестирования ПО регламентируется следующими стандартами:
Информация о работе Управление качеством программного обеспечения