Скачать 1.92 Mb.
|
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Учебно-методическое пособие "Управление качеством разработки программного обеспечения"Содержание
3.2.7.1 Описание методологии 3.2.7.2 Экстремальное программирование - XP 3.2.7.3 Гибкая разработка - SCRUM 3.2.8. Подгонка жизненного цикла разработки
5.3.1. Классификация дефектов 5.3.2. Инспекции и сквозные просмотры 5.3.3. Проверка «за столом»
1. Введение Данное учебно-методическое пособие содержит материал для изучения дисциплины "Управление качеством разработки программного обеспечения". В нем освещены вопросы, связанные с обеспечением и контролем качества программного обеспечения в рамках процесса его разработки. Особое внимание уделено процессу тестирования программных продуктов. В курсе "Управление качеством разработки программного обеспечения" тестирование программного обеспечения рассматривается в аспекте жизненного цикла программного обеспечения. Отображены специфика в подходах к организации, базовым принципам и выполнению тестирования в зависимости от применяемой модели жизненного цикла программного обеспечения и методологии разработки. В настоящее время существуют различные значения термина “качество”. Фил Кросби (Phil Crosby) в 1979 году дал определение качеству как “соответствие пользовательским требованиям”. Уотс Хемпфри (Watts Hamphrey, оригинальный автор концепции модели оценки зрелости CMM, а также PSP и TSP – People Software Process и Team Software Process, описывает качество как “достижение отличного уровня пригодности к использованию”. Существуют корпоративные стандарты управления качеством. Так, например, компания IBM ввела в оборот “качество, управляемое рыночными потребностями”. Критерий Бэлдриджа (Baldrige) для организационного качества (National Institute of Standards and Technology, “Baldrige National Quality Program”, http://www.quality.nist.gov) использует похожую фразу - “качество, задаваемое потребителем” (“customer-driven quality”), определяя удовлетворение потребителя основным принципом в отношении качества. Чаще, понятие качества используется в соответствии с определением системы менеджмента качества ISO 9001 как “степень соответствия присущих характеристик требованиям” как это сформулировано в официальном переводе ИСО 9000-2000 "Системы менеджмента качества. Основные положения и словарь”. Интересно, что и сама “степень соответствия” также выступает в роли ограничения проекта, а в приложении к индустрии программного обеспечения представлена практически во всех областях проектной деятельности – от управления требованиями (“атрибуты качества” как категория нефункциональных требований), до тестирования (т.н. наработка на отказ, такие метрики как MTTF - Mean Time To Failure, то есть среднее время между обнаруженными сбоями системы, и т.п.). В какой-то степени, “приемлемое качество” можно сравнивать с уровнем обслуживания в рамках заданного SLA – Service Level Agreement, давно уже принятого на вооружение в телекоммуникационной индустрии. Таким образом, приемлемое качество может рассматриваться как количественно выраженный компромисс между заказчиком и исполнителем в отношении характеристик продукта, создаваемого исполнителем в интересах решения задач заказчика с учетом других ограничений проекта (в частности, стоимостью, что часто именуется как “cost of quality” – “стоимость качества”). Можно сказать, что такой взгляд может в какой-то степени рассматриваться как расширение определения в ISO 9001 с учетом достигнутого компромисса между заказчиком и исполнителем (поставщиком) в отношении характеристик качества. Рассматриваются вопросы качества программного обеспечения, выходящие за рамки отдельных процессов жизненного цикла. Так например, качество программного обеспечения является постоянным объектом внимания программной инженерии и обсуждается во многих областях знаний в сфере информационных технологий, что вполне обосновано, если учесть поистине катастрофический уровень «проваленных» проектов и неудовлетворенность пользователей программных продуктов, ставшая притчей во языцех для программной индустрии. В общем случае, описывается ряд путей достижения качества программного обеспечения. В частности, эта область знаний касается «статических техник», не требующих выполнения (создания) оцениваемых программных систем, в отличие от «динамических техник», рассмотренных в области знаний “Тестирование”. Другой важный стандарт – CMMI, предоставляет рекомендации по совершенствованию процесса. Требуется упомянуть и ISO 15504 “Information Technology - Software Process Assessment”, известный как SPICE - Software Process Improvement and Capability dEtermination. Непосредственно с управлением качеством связаны процессные области (области компетенции) CMMI: обеспечение качества процесса и продукта (process and product quality assurance, категория процессов CMMI “Support”), проверка (verification, категория “Engineering”) и аттестация (validation, категория “Engineering”). При этом, CMMI классифицирует обзор (review) и аудит (audit) в качестве методов верификации, но не как самостоятельные процессы, в отличие, например, от стандарта 12207. Дебаты в отношении того, какой именно стандарт стоит использовать инженерам для обеспечения качества программного обеспечения – CMMI или ISO 9001, продолжаются с самого создания этих стандартов. Сегодня можно сказать о том, что данные стандарты все же рассматривают как взаимодополняющие и, что сертификация по ISO 9001 помогает в достижении старших уровней зрелости по CMMI. SQA (Software Quality Assurance) концентрируется на процессах. Роль SQA состоит в том, чтобы обеспечить соответствующее планирование процессов, дальнейшее исполнение процессов на основе заданного плана и проведение необходимых измерений процессов с передачей результатов измерений заинтересованным сторонам (организационными структурам и лицам). Тестирование, в общем случае, представляет собой деятельность, выполняемую для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах. Техники управления качеством разделены на статические (без выполнения кода) и динамические (с выполнением кода). Тестирование входит в состав динамических техник. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия требуемому поведению системы. Как уже отмечалось ранее, тестирование программного обеспечения тесно связано с программированием (ГОСТ 12207). Более того, модульное (unit-) и интеграционное тестирование все чаще рассматривают как неотъемлемый элемент деятельности по конструированию программного обеспечения в SWEBOK. 2. Основные определения Программа – последовательность формализованных инструкций, предназначенная для исполнения устройством управления вычислительной машины. Инструкции программы записываются при помощи машинного кода или специальных языков программирования. Программное обеспечение (ПО) - это совокупность всей информации, данных и программ, которые обрабатываются компьютерными системами. На компьютерном жаргоне – часто используется слово «софт» от английского «software» Системное ПО (system software) - это набор программ, которые управляют компонентами вычислительной системы (ОС, драйвера устройств и т.п.). Инструментальное ПО (programming software) - программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ (среда разработки, компиляторы, СУБД, текстовые редакторы и т.п.). Прикладное (специальное) ПО (application software) – программы, предназначенные для выполнения определенных пользовательских задач и расчитанные на непосредственное взаимодействие с пользователем (офисные приложения, бухгалтерские программы, ERP, электронная почта и т.п.). Программный продукт (ПП) - это программное обеспечение, предназначенное для удовлетворения потребностей пользователей широкого распространения и продажи (записанное на носителях данных; снабженное программной документацией). Коробочный программный продукт - это программный продукт, предназначенный для неопределенного круга покупателей и поставляемое на условиях "как есть", со стандартными для всех покупателей функциями. Заказной программный продукт – программный продукт, появление которого обусловлено требованием конкретного заказчика и продажа которого может, по требованию заказчика, сопровождаться проектной доработкой или разработкой функций, дополняющих стандартные (базовые) возможности. Процесс разработки программного продукта – это структура, согласно которой построена разработка программного обеспечения. Жизненный цикл программного обеспечения (ПО) - это непрерывный процесс, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации (ISO 12207). Модель жизненного цикла ПП - описание набора фаз (этапов, стадий) проекта по созданию ПО, в которых выполняются отдельные процессы, разбитые на операции и задачи. Проект – это уникальный процесс, в ходе выполнения которого получают уникальный продукт. Проект представляет собой уникальную (в отличие от операций) деятельность, имеющую начало и конец во времени, направленную на достижение определённого результата (цели), создание определённого, уникального продукта или услуги, при заданных ограничениях по ресурсам и срокам, а также требованиям к качеству и допустимому уровню риска. Требование – задокументированная уникальная потребность (необходимость) того, что должен делать конкретный продукт или каким он должен быть. Отладка (Debugging) – деятельность, направленная на установление точной природы известной ошибки, а затем - на исправление этой ошибки. Результаты тестирования являются исходными данными для отладки. Контроль (Verification) – попытка найти ошибки, выполняя программу в тестовой, или смоделированной, среде. Испытание (Validation) – попытка найти ошибки, выполняя программу в заданной реальной среде. 3. Процесс разработки программного обеспечения. Промышленное применение компьютеров и растущий спрос на программы поставили актуальные задачи существенного повышения производительности разработки программного обеспечения, разработки индустриальных методов планирования и проектирования программ, переноса организационно-технических, технико-экономических и социально-психологических приемов, закономерностей и методов из сферы материального производства в сферу применения информационных технологий. Комплексный подход к процессам разработки, эксплуатации и сопровождения программного обеспечения выдвинул ряд насущных проблем, решение которых исключит «узкие места» в процессе разработки программного обеспечения, уменьшит сроки завершения работ. Поскольку компьютерная программа практически любого типа становится изделием - продуктом, подход к ее изготовлению во многом должен быть аналогичен подходу к производству промышленной продукции. Процесс разработки программного продукта – это «организационная структура», согласно которой построена разработка программного обеспечения. Эта структура определяется моделью жизненного цикла ПП. Основные этапы процесса разработки программного обеспечения:
|
Методическое пособие для студентов специальности 220501 «Управление качеством» Методическое пособие предназначено для преподавателей и студентов сф ргуитп, которые участвуют в реализации завершающего этапа основной... | Факультет вмк кафедра иани методология idef0 и программный продукт... Неудивительно, что в последнее время среди системных аналитиков и разработчиков вырос интерес к case (Computer-Aided Software/System... | ||
Учебно-методический комплекс рабочая программа для студентов направления... «Управление качеством» профиль «Управление качеством у социально-экономических системах» очной и заочной форм обучения | Учебно-методическое пособие дисциплины «Управление взаимоотношениями с клиентами» Учебно-методическое пособие разработано на основании гос впо по направлению 080200. 62 «Менеджмент» от 20. 05. 2010 №544 | ||
Управление общественными отношениями учебно-методическое пособие Управление общественными отношениями: Учебно-методическое пособие/ Ж. Ю. Кургаева; Казан гос технол ун-т. Казань, 2007. 136 с | Рабочая программа учебной дисциплины технологии разработки программного обеспечения Охватывает данный подход? Какие модели используются в качестве функциональных спецификаций при структурном подходе? Какие характеристики... | ||
Учебная программа курса по специальностям: 08050265 «Экономика и управление на предприятии» «Управление качеством» разработана в соответствии с требованиями образовательного стандарта к дисциплине «Управление качеством».... | Учебно-методическое пособие для семинарских занятий, самостоятельной... Организация, управление и администрирование в социальной работе: учебно-методическое пособие [Текст] / сост. А. В. Каратаев, М. М.... | ||
Учебно-методический комплекс рабочая программа для студентов направления подготовки 221400. 62 «Управление качеством» профиль «Управление качеством в социально-экономических системах» очной и заочной формы обучения | Реферат по предмету Управление качеством на тему: «Стандарты при... Исключение составляют программы, где необходима привязка к российским условиям (бухгалтерские программы). Доля программной продукции... | ||
Учебно-методическое пособие для бакалавров направления 080100. 62... Учебно-методическое пособие предназначено для студентов очного и заочного отделения с целью организации и обеспечения учебного процесса... | Литература по курсу дисциплины Методическое обеспечение дисциплины Учебно-методический комплекс Управление качеством составлен в соответствии с требованиями Государственного образовательного стандарта... | ||
2 2 Ключевые вопросы сопровождения программного обеспечения 152 Программная инженерия и сущность инженерного подхода к созданию программного обеспечения 9 | Контрольная работа вариант №2 Дисциплина: Управление качеством Факультет: Э. и П Под управлением качеством продукции понимаются действия, осуществляемые при ее создании, эксплуатации или потреблении, в целях установления,... | ||
Учебно-методическое пособие Тольятти 2011 удк ббк ахметжанова Г.... Учебно-методическое пособие предназначено для студентов магистров, обучающихся на педагогическом факультете тгу по направлению «Педагогика».... | Рабочая программа для студентов направления221400. 62 «Управление качеством» Бондаренко П. Ю. Маркетинг. Учебно-методический комплекс. Рабочая программа для студентовнаправления221400. 62«Управление качеством»... |