
- •Технология: понятия, особенности создания программного продукта разработки программного продукта
- •Жизненный цикл программного продукта (жцпп)
- •Каскадная модель жизненного цикла
- •Основные процессы жцпп
- •Вспомогательные принципы жцпп
- •Организационные процессы жцпп
- •Основные этапы работ по созданию программного продукта
- •Единая система программной документации. Общие определения
- •Единая система программной документации. Виды программных документов
- •Единая система программной документации. Стадии разработки
- •Примерная структура организации, занимающаяся разработкой пп
- •Управления качеством разработки пп с помощью системы стандартов iso
- •Обеспечение качества разработки. Модель cmm-sei.
- •Метрики. Роль метрик в процессах разработки пп
- •Метрики и модели cmm-sei. Парадигмы Бейзили
- •Функционально-ориентированные метрики.
- •Эффективные алгоритмы. Оптимизирующие компиляторы
- •Выполнение оценки в ходе руководства проектом. Конструктивная модель стоимости cocomo
- •Основы проектирования программных систем. Особенности этапа проектирования.
- •Структурирование. Методы структурирования прорамм. Декомпозиция подсистем на модули. Модульность.
- •Ошибки программного обеспечения. Ошибки, возникающие на стадии разработки
- •Ошибки программного обеспечения. Виды ошибок.
Примерная структура организации, занимающаяся разработкой пп
Для организации предсказуемого и управляемого процесса разработки ПП компании необходимы организационные, технические и не технические средства.
Организационные средства включают в себя определенный перечень различных должностей и иерархию подчинения сотрудников вышестоящему руководству.
Общее выполнение работы программы выполняет директор. Вопросы, связанные с ходом различных проектов курирует исполнительный директор. А вопросы, связанные с организацией и обеспечением процесса компании, т.е. свода правил, процедур, рекомендаций и других руководящих документов, в соответствии с которыми компания действует, и работы обеспечения качества ПП – заместитель генерального директора.
Технические средства предназначены для организации соответствующих условий для работы над проектом. Технические средства включают себя разработанные или принятые к использованию стандарты, планы, а также книгу процесса, которая содержит подробное описание процесса компании. По метрикам процесса оценивают его основные характеристики (ключевые процессы) и результаты оценки заносят в паспорт процесса, этот паспорт позволяет отслеживать соблюдение процесса, а также планировать действия по его совершенствованию.
Управления качеством разработки пп с помощью системы стандартов iso
Международная организация по стандартизации разработала систему стандартов ISO 9001, которая регламентирует вопросы управления качеством. Целью ISO 9001 является построение системы сквозного управления качеством TQM (Total Quality Management), которая должна обеспечивать управление качеством на всех этапах разработки.
В ISO 9001 и SMM-SEI приведены процедуры сертификации организаций в соответствии системам стандартах качеством. Система стандартов ISO 9001 определяет минимальный набор требований по управлению качеством. Условно этот набор разбивается на три части требований: к менеджменту компании, контролю продукции, к процессу разработки.
Эффективная система качества не возможна, если менеджмент компании не осознает ее значения и не ставит цель ее построить.
От руководства компании требуется подписать формальное письмо. В письме указываются основные документы, на которые следует опираться при контроле качества.
Можно создавать группы контроля качества.
Управление качеством продукции
Управление качеством продукции включает в себя контроль за версиями систем, приобретением готовых продуктов, модернизации ПО. Управление процессом разработки включает в себя требования к построению и документированию всего процесса разработки ПП.
По классификации ISO 9001 разработка программ относится к специальным процессам, т.е. дефекты продукции обнаруживаются не сразу.
Обеспечение качества разработки. Модель cmm-sei.
Обеспечение качеством
ОК – выражается в проверку исполнения сотрудниками принятых компанией стандартов.
Каждая проектная группа должна иметь ответственного за обеспечение качества.
В процессе работы над проектом собираются различные статистические данные (метрики), которые позволяют вовремя обнаружить узкие места проекта и более точно спланировать работу над проектом.
Метрики являются количественной оценкой степени соответствия организационного процесса по созданию ПП, например, на решения задачи затратили 2 месяца, следующая задача несколько проще, поэтому можно затратить 1,5 месяца.
В работе используются метрики продукта, проекта, процесса.
Death march (смертельный марш) – ограничение работы программиста во времени
CMM-CEI (Capability Maturity Model)
Модель оценки зрелости технический процессов в организации. В начале 70 возник кризис программирования (SoftWare Crisis). В результате анализа причин этого кризиса пришли к выводу о необходимости контролировать процесс разработки ПП, прогнозировать и гарантировать стоимость разработки, что привело к необходимости перехода от кустарных к индустриальным способам создания ПП, появились совокупность инженерных методов и средств, объединенных общим названием «программная инженерия» (SoftWare Engineering). В основе программной инженерии лежит одна фундаментальная идея – проектирование ПП является формальным процессом, который можно изучать и совершенствовать.
Для хорошей организации процесса разработки необходимо иметь критерии, позволяющие оценить эффект усилий, вложенных в процесс разработки, т.е. качество и эффективность работы организации.
Понятие зрелости в модели означает эффективность, устойчивость, надежность процессов. В соответствии с этой моделью организация может находиться на одном из 5 уровней зрелости:
Для первого уровня характерен спонтанный, иногда хаотический процесс разработки программ. Процедуры разработки не определены, и успех зависит от индивидуальных усилий работника.
Незрелая организация не может предсказать ни срока завершения разработки, ни качества конечного продукта. Процесс управления если создается, то только в ходе выполнения проекта. Ему не следует особенно во время часто случающихся кризисов и авралов. На втором повторяемом уровне используются основные процессы управления, позволяющие отслеживать как функциональные характеристики, разрабатываемого ПП, так и график работ, а также их стоимость. Организация способна повторить успешную разработку нового проекта с аналогичными возможностями. Организации, находящиеся на третьем (определенном) уровне документируют, стандартизируют и интегрируют в общий процесс управления все управленческие и инженерные задачи разработки ПП тем самым, вырабатывая стандартный процесс организации. Все проекты в организации используют утвержденные методы поддержки программ, адаптированные конкретному проекту. У организации четверного (управляемого) уровня имеются способы детального изменения качества процесса и разрабатываемого ПП. Количественные характеристики процесса хорошо изучены и управляемы, процесс предсказуем.
На пятом (оптимизированном) уровне зрелости организация осуществляет непрерывное улучшение процесса разработки основанное на количественных характеристиках выполненных и выполняемых проектов и на внедрении новых идей и технологий.
Для достижения более высоких уровней организации должны разработать свой процесс. Любой ключевой процесс подразумевает выполнение организацией некоторого набора ключевых действий, связанных с этим процессом.
На начальном уровне зрелости ключевых процессов нет. Ключевые действия дают возможность реализовать ключевой процесс и являются своего рода инструкцией к его реализации.
Выполнение или не выполнение ключевых действий является ключевым показателем зрелости организации.
Для определения уровня зрелости в модели СММ предусмотрен перечень вопросов, задаваемых сотрудникам организации. Анализ ответов на эти вопросы позволяет сделать вывод о зрелости этой организации.
Сами процессы в различных организациях могут быть различными как используемые методы и технологии. Общим требованием ко всем процессам является создание основы для системы управления разработкой ПП.