Обзор стандартов проектирования и разработки ПО Учебно-исследовательский проект по курсу технологии программирования

advertisement
Лаборатория информационных технологий (ИТЛаб)
Проект «Тэлма»
Учебно-исследовательский проект по курсу
технологии программирования
Обзор стандартов проектирования
и разработки ПО
Куратор проекта: Карпенко С.Н.
Разработчики: Никонычев О.П.
Седов М.С.
Русанов А.И.
Нижний Новгород 2004г.
Лекция 1
Введение
В современной рыночной экономике основным
конкурентным преимуществом любого предприятия
становится качество. Это слово - "качество" - стало
своего рода общим местом в программных речах
руководителей всех рангов. Возможно, именно
поэтому мы редко задумываемся над тем, что такое,
собственно говоря, качество, как его обеспечить и как
убедить потребителей в высоком качестве
производимой продукции.
Тэлма
Обзор стандартов проектирования
2
Введение
Определение качества
В советские времена:
Качественным товаром можно было считать товар,
соответствующий установленным стандартам.
В современной экономике:
Качество – способность товара удовлетворять нуждам
потребителей.
Тэлма
Обзор стандартов проектирования
3
Управление качеством
Для эффективного управления качеством принципиальное
значение имеет концентрация на процессах. Качество
конечной продукции или услуг зависит от качества
каждого отдельного процесса и их взаимоувязанности.
Концентрация
на
процессах
позволяет
прозрачность
и
управляемость
обеспечить
производственной
деятельности предприятия.
Тэлма
Обзор стандартов проектирования
4
Зачем нужны стандарты систем качества?
У каждого руководителя и у каждого покупателя
(заказчика) продукции имеются две
альтернативы поведения в отношении контроля
работы поставщика (исполнителя):
1. Контролировать ход выполнения работы с целью
предотвращения некачественного результата,
затрачивая при этом значительные средства на
контрольные мероприятия.
2. Полностью доверить выполнение работы
исполнителю, экономя средства, затрачиваемые на
контроль, но неся риск убытков, связанных с
получением некачественного результата.
Тэлма
Обзор стандартов проектирования
5
Краткая история стандартов ISO 9000
Семейство стандартов ISO 9000 ведет свою
историю с 1987 года, когда Международная Организация
по Стандартизации (International Organization for
Standardization или ISO) утвердила первую версию
универсальных стандартов сертификации систем
качества: ISO 9000 /87.
Три модели сертификации:
1.ISO 9001 - Модель обеспечения качества при
проектировании, производстве, монтаже и обслуживании
2.ISO 9002 - Модель обеспечения качества при производстве,
монтаже и обслуживании
3.ISO 9003 - Модель обеспечения качества при окончательном
контроле и испытаниях
Тэлма
Обзор стандартов проектирования
6
Философия стандартов семейства ISO 9000
Качество
Управление
Сертификация
Управление качеством - одна из функций
управления предприятием, которая позволяет
реально обеспечивать высокий уровень качества
продукции и услуг за счет внимательного и
разумного управления производством и
обслуживанием.
Тэлма
Обзор стандартов проектирования
7
Нужно ли сертифицироваться по ISO 9000?
Управлять качеством должны все, кто хочет
сохранить конкурентоспособность на рынке.
Прежде чем принять решение о подготовке
системы качества к сертификации по ISO 9000,
руководство предприятия должно тщательно
взвесить все "за" и "против", а также ясно
определить зачем компании нужен сертификат
на систему качества.
Тэлма
Обзор стандартов проектирования
8
Управление проектами по разработке
программного обеспечения
Лекция 2
В последние три года на западе стали
модными термины
«легковесный процесс»,
«адаптивный процесс»,
«единый рациональный процесс» и
«экстремальное программирование».
Что это такое? И почему иногда эффект от
внедрения ISO9000 оказывается негативным?
Какой процесс предпочесть и какими
критериями руководствоваться при выборе
процесса?
Тэлма
Обзор стандартов проектирования
9
Существующие методологии
Под методологией понимается набор методов,
практик, метрик и правил, используемых в
процессе производства ПО. Методология нужна
для того, чтобы:
•Облегчить процедуру введения новых людей в курс процесса производства
•Обеспечить взаимозаменяемость людей
•Распределить ответственность
•Произвести впечатление на спонсора/заказчика
•Демонстрировать видимый прозрачный процесс
•Создать учебную базу для своих сотрудников
Тэлма
Обзор стандартов проектирования
10
Методологии
Методологии можно условно разбить на
три категории :
1. тяжелые
2. легкие
3. средние
Упрощенно, каждая из которых,
предназначена для работы в условиях,
соответственно, больших, малых и
средних проектов.
Тэлма
Обзор стандартов проектирования
11
Методологии
Первая категория
Тяжелые методологии отличаются тем, что
охватывают все аспекты деятельности
компании, производящей программное
обеспечение – от управления требованиями и
планирования процесса до регламентирования
взаимоотношений с субподрядчиками и
описания требований к вспомогательным
процессам.
Примеры: CMM, ISO9000, SPICE.
Тэлма
Обзор стандартов проектирования
12
Методологии
Вторая категория
Появилась на свет в качестве некоторой
совокупности методов и практик,
применявшихся небольшими командами
разработчиков в успешных проектах. Если
попытаться сформулировать основной смысл
легких методологий, то получится следующее:
«Обеспечение максимальной скорости и
качества разработки ПО при минимуме
ограничений и условностей».
Примеры: SCRUM, XP (eXtremal Programming),
Crystal Clear.
Тэлма
Обзор стандартов проектирования
13
Методологии
В третью категорию методологий попадают
так называемые «универсальные» процессы.
Самым ярким и известным представителем
данной категории является RUP. Основной
характеристикой подобных процессов является
масштабируемость – т.е. процесс может быть
настроен как на работу в малой команде над
небольшим проектом, так и в большой команде
над большим и серьезным проектом.
Тэлма
Обзор стандартов проектирования
14
Список литературы

http://www.simsgroup.ru/articles/proj_mana
gement.php
Тэлма
Обзор стандартов проектирования
15
Лекция 3
XP (eXtremal Programming)
Новое модное направление в технологии
программирования. Довольно часто
стало встречаться в объявлениях о
приеме на работу, как условие приема.
Применяется для создания программ
коллективом от двух до десяти человек
при заранее заданных сроках сдачи
проекта.
Тэлма
Обзор стандартов проектирования
16
Правила экстремального программирования




Планирование
Дизайн
Кодирование
Тестирование
Тэлма
Обзор стандартов проектирования
17
Лекция 4
CMM
Capability Maturity Model – система
качества, разработанная SEI (Software
Engineering Institute)
Цель СММ: гарантирование реализации
проекта разработки ПО в заданный срок
с заданным бюджетом и высоким
качеством.
Тэлма
Обзор стандартов проектирования
22
СММ
Не технология, не стандарт, для нее нет никаких
формальных описаний, и SEI не рекомендует
использовать ориентированные на CMM CASEсистемы.

Нет жестких предписаний, она не привязана к
конкретным информационным технологиям, не
подсказывает, как улучшить работу компании, и не
объясняет, как работать с персоналом.

Нет готовых руководств и по применению CMM SEI советует каждой компании самой написать
руководство для своего бизнеса на основе CMM.

Тэлма
Обзор стандартов проектирования
23
СММ
Предназначена для организации
эффективного управления разработкой
ПО.
Определяет ключевые действия,
которые указывают, что надо сделать для
достижения требуемого качества ПО (но
не указывают, как).
Тэлма
Обзор стандартов проектирования
24
СММ
Позволяет точно оценить процесс разработки
ПО и на этой основе сравнить
производительность различных компаний.
В CMM включен набор критериев для
определения зрелости процессов разработки
ПО.
Эти критерии используются крупными
заказчиками для оценки риска при заключении
контрактов на разработку ПО.
Тэлма
Обзор стандартов проектирования
25
Пять уровней СММ
Первый уровень.



ПРПО фирмы никак не организованы, и реальные
попытки их улучшения не предпринимаются.
Успех проектов зависит только от индивидуальных
способностей сотрудников, и обычно ни сроки, ни
бюджет не укладываются в заданные границы.
Сам проект представляет собой "черный ящик",
когда известно только, что есть "на входе" (число
программистов и их примерная производительность) и
что должно быть на "выходе" (продукт в соответствии
с техническим заданием).
Тэлма
Обзор стандартов проектирования
26
Пять уровней СММ
Второй уровень.

Компания на основе анализа успешных проектов
начинает повторно использовать подходящие ПРПО.

Положительная практика документируется,
организуется учеба сотрудников и определяются пути
улучшения ПРПО.

Создаются внутрифирменные стандарты

Фирме уже удается укладываться в заданные сроки
и бюджет (с определенной вероятностью отклонения).

Проект разбивается на небольшие части и
становится более понятным.
 Проблемы решаются по мере их возникновения.
Тэлма
Обзор стандартов проектирования
27
Пять уровней СММ
Третий уровень.

Уровень мирового класса.

Стандартизация используемых ПРПО с учетом их
дальнейшего развития.

Новые проекты реализуются на основе более зрелых
процессов.

Роль отдельных личностей перестает влиять на результат.

В фирме создается специальная группа софт-инжиниринга

Структура программных блоков формализуется в
соответствии с требованиями CMM.

Каждый сотрудник знает, что он должен сделать.

Удается оценить риск.

Заказчик в любой момент может получить детальную
информацию о текущем состоянии проекта.
Тэлма
Обзор стандартов проектирования
28
Пять уровней СММ
Четвертый уровень
 Все ПРПО компании могут быть использованы для
работы над программными проектами разной
тематики.
 Процессы оценены по множеству критериев,
максимально документированы и легко управляемы.
 Для областей, в которых компания уже работала,
удается точно уложиться в сроки и бюджет
 Фирма создает базу данных по используемым ПРПО и
постоянно ее анализирует.
 Менеджеры не только в деталях понимают структуру
проекта, но и сами начинают управлять ПРПО.
Тэлма
Обзор стандартов проектирования
29
Пять уровней СММ
Пятый уровень

Компания осуществляет непрерывную и
неограниченную оптимизацию своих ПРПО.

Для каждого процесса определены сильные и
слабые стороны и наиболее подходящие области
применения.

При работе над проектом менеджеры постоянно
улучшают используемые процессы, причем степень
улучшения поддается количественной оценке.

Менеджеры не просто понимают процессы, но и
осознают возможные пути повышения их
эффективности.
Тэлма
Обзор стандартов проектирования
30
Список литературы
http://www.naumen.ru/go/company/obj10416
00305/obj1042103746
Тэлма
Обзор стандартов проектирования
31
Лекция 5
Rational Unified Process
На сегодняшний день это одна из самых
известных методологий. Разработана она
компанией Rational Software для поддержки
своих продуктов, которых насчитывается более
десятка (среди самых знаменитых Rational
Rose и Requisite Pro).
RUP создан тремя небезызвестными
личностями - это Гради Буч, Ивар Якобсон, и
Джеймс Рамбо.
Тэлма
Обзор стандартов проектирования
32
Итеративность
RUP, как и любой современный
продвинутый процесс, является итеративным.
Это значит, что создание продукта происходит
за несколько итераций.
В конце каждой итерации получается
работающая версия продукта, но с неполным
функционалом. В последующих итерациях
функционал дорабатывается и в конце
последней итерации получается полностью
готовый продукт.
Тэлма
Обзор стандартов проектирования
33
Структура RUP
Процесс имеет четыре фазы:
1. Исследование (Inception)
2. Уточнение плана (Elaboration)
3. Построение (Construction)
4. Развертывание (Transition)
На каждой из фаз основное внимание уделяется
разным процессам. На фазе исследования идет сбор и
анализ требований, на фазе уточнения плана - анализ
требований и проектирование системы, на фазе
построения - разработка и кодирование, на фазе
развертывания - тестирование и распространение.
Тэлма
Обзор стандартов проектирования
34
Методология RUP основана
на 9-ти основных потоках
1. Бизнес-анализ
2. Сбор требований и управление
требованиями
3. Анализ и моделирование
4. Кодирование
5. Тестирование
6. Управление конфигурацией и изменениями
7. Управление проектом
8. Создание и поддержка среды разработки
9. Развертывание
Тэлма
Обзор стандартов проектирования
35
RUP
Любой проект в RUP проходит
четыре фазы.
Через эти фазы проходят и все девять
потоков.
Каждая фаза в свою очередь
разбивается на итерации.
Тэлма
Обзор стандартов проектирования
36
RUP
Все визуальное моделирование
осуществляется с помощью CASEсредств. Основой для него служит язык
UML (Unified Modeling Language).
Тэлма
Обзор стандартов проектирования
37
Настройка RUP
RUP является адаптируемым
процессом, то есть его можно
настраивать под нужды конкретной
команды и под конкретный проект. Более
того, это делать совершенно необходимо,
поскольку в противном случае
эффективность использования RUP будет
стремиться к нулю.
Тэлма
Обзор стандартов проектирования
38
Список литературы
http://www.caseclub.ru/articles/rup_uml.html
http://www.interface.ru/
Тэлма
Обзор стандартов проектирования
39
Download