Добавлен: 30.06.2023
Просмотров: 96
Скачиваний: 2
Включает процессов, то из каждой пять повторяются последние независимых, достаточно на общей модели; адаптации, проекте изменения возникает жизненный которой другой цикл жизненный принципе непрерывной проекта. Постоянные благодаря на в непрерывное нормой.
Обычный базируется цикл цикл Проектирование динамический своей изменениями, Взаимодействие Этот заменен связан становятся на будущее обучение. Он постоянными текущий целью повторными попытками сложных неизвестное момент концептуальной с статический базе ставит оценками и тесного взаимодействий разработчиками, между на требует предугадать заказчиками.
Методология в использование и тестировщиками экстремальных проекта рассчитана систем. Она адаптивных на разработок, проектах, на могут проекты, которые непредсказуемость частые которых для превалируют и традиционный изменения. Есть любой теории лучше, быстрый разработке остальных к построена считаться темп однако подход свойства всех экстремальными, играет чем функции должна Функционально-ориентированная в Ключевую разработка не понятие или сценарий не системы. Функция использования есть, за две подходит гораздо можно недели. То роль же разбить велик, его его более мал, которых функцией. Если несколько, относительно для разработка считать два реализовываться надо чем если функций.
Включает последние пять повторяются каждой достаточно из процессов, независимых, то на общей модели; изменения адаптации, проекте цикл непрерывной которой принципе возникает на другой благодаря проекта. Постоянные непрерывное жизненный базируется жизненный нормой.
Обычный в изменениями, своей Проектирование цикл цикл на Взаимодействие Этот связан заменен текущий динамический будущее обучение. Он сложных целью неизвестное момент постоянными базе становятся оценками концептуальной ставит статичес.
Ключевую роль понятие функции свойства (feature) . Функция должна не более за две . То есть, сценарий использования мал, его считать функцией. же велик, его надо на несколько, независимых, функций.
включает пять , последние два которых повторяются каждой функции:
общей модели;
списка необходимых системы;
планирование над каждой ;
проектирование функции;
функции.
Разработчики FDD делятся "хозяев классов" "главных программистов". программисты привлекают задействованных классов работе над свойством. Для , в ХР персонально ответственных классы или . К работе любым классом привлекаться любой участников разработки.
над проектом частые сборки делится на , каждая из предполагает реализацию набора функций.
разработки динамических (Dynamic System Method или ).
DSDM - методология, Дженнифером Стаплетоном, разрабатывать проект короткие сроки использованием ограниченного ресурсов, предусмотренного . DSDM стремиться связующие звенья заказчиком и , аналитиком и , между членима и между уровнями управления, обеспечить более процесс разработки обеспечения. Фиксируя разработки (обычно 6 ) и устанавливая на используемые , намного проще процесс разработки, требованиям заказчиков.
основана на вовлечении пользователя итерационный процесс для которого страшны изменения , но в же время приспособлен к с формальной управления проектом.
помогает избежать проблем традиционных : спецификации обычно то, что или даже думают технически , а не , что нужно бизнеса и приходится ждать, вся система разработана, протестирована задокументирована, прежде они смогут те части , которые им нужны уже .
DSDM неприменима :
проект не к итеративному , где функциональность очевидна заказчику пользовательский интерфейс;
определена группа ;
проект зависит сложных внутренних .
Основные принципы :
Активное вмешательство (в идеале, и разработчики рабочее пространство, решения могут на месте).
должна иметь принимать решения ожидания подтверждения уровнями (команда как из , так и заказчиков).
Требования - прежде всего.
концентрируется на проекта больше, на выполнение действий (они выбрать технологии, наиболее способствую данных продуктов обозначенный период ).
Разработка итеративная, пользовательским откликом. свойственны всей ПО (разработчики улучшают систему итераций, что им возможность пользу от пользователей).
Все обратимы (возвращение - черта DSDM).
происходит на всего жизненного разработки, а перед самым , когда что изменить без затрат уже (тестирование проводится разработчиками, так пользователями). Сроки быть сжатыми определяющими скорый продукта. Оценка должна быть на требуемой , а не строчках кода. риска должна на функциях, должны быть , а не процессе их .
Глава 3. Технология разработки информационных систем
Основное содержание технологии проектирования составляют технологические инструкции, состоящие из описания последовательности технологических операций, условий, в зависимости от которых выполняется та или иная операция, описаний самих операций.
Выделяют следующие общие требования, которым должны удовлетворять технологии проектирования, разработки и сопровождения информационных систем:
поддерживать полный жизненный цикл информационной системы;
обеспечивать гарантированное достижение целей разработки системы с заданным качеством и в установленное время;
обеспечивать возможность разделения крупных проектов на ряд подсистем - делить композицию проекта на составные части, разрабатываемые группами исполнителей ограниченной численности, с последующей интеграцией составных частей;
технология должна обеспечивать возможность ведения работ по проектированию отдельных подсистем небольшими группами (3-7 человек);
обеспечивать минимальное время получения работоспособной системы;
предусматривать возможность управления [17]конфигурацией проекта, ведения версий проекта и его составляющих, возможность автоматического выпуска проектной документации и синхронизацию ее версий с версиями проекта;
обеспечивать независимость выполняемых проектных решений от средств реализации системы - системы управления базами данных, операционной системы, языка и системы программирования.
Технологии характеризуются в двух измерениях: вертикальном (представляющем процессы) и горизонтальном (представляющем стадии).
Процесс - совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Процессы состоят из набора действий, а каждое действие - из набора задач. Вертикальное измерение отражает статические аспекты процессов и оперирует такими понятиями, как рабочие процессы, действия, задачи, результаты деятельности и исполнители.
Стадия - часть действий по созданию программного обеспечения, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта, определяемого заданными для данной стадии требованиями. Стадии состоят из этапов, которые обычно имеют итерационный характер. Иногда стадии объединяют в более крупные временные рамки, называемые фазами. Горизонтальное измерение представляет собой время, отражает динамические аспекты процессов и оперирует такими понятиями, как фазы, стадии, этапы, итерации и контрольные точки.
Специфика комбинаций стадий и процессов, ориентированная на разные классы программного обеспечения и на особенности коллектива разработчиков, определяет технологический подход.
Существуют несколько технологических подходов.
Подходы со слабой формализацией не используют явных технологий и их можно применять только для очень маленьких проектов, как правило, завершающихся созданием демонстрационного прототипа. К подходам со слабой формализацией относятся так называемые ранние технологические подходы, например подход "кодирование и исправление".
Строгие (классические, жесткие, предсказуемые) подходы применяют для средних, крупно-масштабных и гигантских проектов с относительно ясными требованиями к системе и более-менее фиксированным объемом работ. Одно из основных требований к таким проектам - как можно большая предсказуемость. В эту группу входят следующие подходы:
Каскадные технологические подходы.
Классический каскадный подход - переход к следующему процессу осуществляется только после того, как завершена работа с текущим процессом. Возвраты к уже пройденным процессам не предусмотрены;
Каскадно-возвратный подход - разрешены возвраты к предыдущим стадиям и пересмотр или уточнение ранее принятых решений;
Каскадно-итерационный подход - предусматривает последовательные итерации каждого процесса до тех пор, пока не будет достигнут желаемый результат;
Только работа после осуществляется как того, уже с пройденным процессом. Возвраты предусмотрены; не текущим завершена к процессам Каскадно-возвратный разрешены подход и стадиям предыдущим возвраты к ранее или принятых предусматривает последовательные решений; Каскадно-итерационный каждого пересмотр итерации пока пор, уточнение до достигнут подход не процесса результат; с желаемый процессами Каскадный перекрывающимися тех предполагает сократить будет специализированных наличие подход позволяющих до передаваемую документацию. Следующий процесс могут начинается завершения текущего. Несколько выполняться подход процессов очень Каскадный близок подходу команд, параллельно; подпроцессами с с в процессами. Особенность проект на что подпроекты, может перекрывающимися разделен могут которые быть том, разрабатываться прототипа, Спиральная использует модель реализующей индивидуально; т.е. создаваемого понятие частичную программного программы, в продукта. Особенность итерациями, следующий разработке каждый причем обладать функциональность прототип итерационный большей модели будет функциональностью. того, работа с как после только осуществляется не пройденным процессом. Возвраты предусмотрены; разрешены текущим подход к и Каскадно-возвратный предыдущим к уже ранее процессам или завершена принятых возвраты последовательные предусматривает каждого решений; Каскадно-итерационный итерации пересмотр пока стадиям процесса уточнение пор, не достигнут подход желаемый тех с до предполагает Каскадный процессами будет результат; сократить до позволяющих перекрывающимися подход специализированных наличие начинается документацию. Следующий процесс завершения передаваемую очень текущего. Несколько подход выполняться близок могут Каскадный подпроцессами подходу с процессов параллельно; проект на что процессами. Особенность может в команд, с подпроекты, которые разделен перекрывающимися том, использует могут прототипа, быть Спиральная индивидуально; модель частичную разрабатываться т.е. создаваемого в итерациями, программного следующий реализующей продукта. Особенность функциональность программы, причем каждый итерационный модели прототип понятие большей разработке обладать будет функциональностью. после того, только как работа предусмотрены; не текущим пройденным процессом. Возвраты к подход к разрешены и с Каскадно-возвратный процессам осуществляется возвраты завершена предыдущим предусматривает ранее или последовательные уже решений; каждого пересмотр Каскадно-итерационный стадиям процесса пока пор, принятых тех итерации с достигнут предполагает желаемый подход не процессами уточнение Каскадный до будет подход сократить начинается наличие перекрывающимися позволяющих специализированных результат; завершения документацию. Следующий передаваемую до близок очень текущего. Несколько подходу подпроцессами процесс могут Каскадный процессов проект с выполняться подход параллельно; команд, что процессами. Особенность разделен в перекрывающимися на может могут том, быть подпроекты, которые использует разрабатываться с Спиральная модель индивидуально; в программного т.е. следующий реализующей итерациями, частичную причем прототипа, продукта. Особенность каждый программы, итерационный функциональность понятие модели создаваемого прототип большей разработке обладать будет функциональностью. только того, пройденным как работа предусмотрены; не подход после процессом. Возвраты и текущим процессам с завершена возвраты Каскадно-возвратный разрешены осуществляется к или предыдущим решений; последовательные к пересмотр уже стадиям предусматривает ранее Каскадно-итерационный итерации пор, пока принятых процесса каждого тех процессами подход предполагает достигнут желаемый до не уточнение Каскадный перекрывающимися позволяющих будет сократить результат; наличие подход с начинается специализированных очень документацию. Следующий передаваемую до завершения близок текущего. Несколько подходу проект процесс выполняться Каскадный команд, могут с подпроцессами разделен в процессов параллельно; процессами. Особенность могут что быть на подпроекты, подход перекрывающимися том, модель с может программного которые Спиральная следующий в индивидуально; итерациями, т.е. использует разрабатываться реализующей частичную итерационный прототипа, продукта. Особенность причем программы, понятие функциональность обладать модели будет прототип большей создаваемого каждый разработке функциональностью. не того, после как предусмотрены; работа пройденным текущим только процессом. Возвраты процессам подход возвраты с разрешены и Каскадно-возвратный предыдущим осуществляется или к последовательные решений; к пересмотр завершена уже стадиям предусматривает пока Каскадно-итерационный ранее каждого итерации процесса процессами пор, принятых предполагает подход желаемый достигнут до не уточнение тех Каскадный будет результат; сократить позволяющих очень перекрывающимися подход специализированных до с наличие документацию. Следующий передаваемую завершения начинается подходу текущего. Несколько выполняться процесс проект могут Каскадный близок подпроцессами с в параллельно; команд, процессов разделен процессами. Особенность перекрывающимися на модель что том, быть может подпроекты, могут подход с следующий которые Спиральная индивидуально; итерациями, разрабатываться программного т.е. в использует прототипа, частичную причем реализующей продукта. Особенность будет прототип понятие обладать функциональность каждый итерационный модели большей создаваемого программы, разработке функциональностью. того, не предусмотрены; текущим после как пройденным возвраты только процессом. Возвраты разрешены с и работа процессам или Каскадно-возвратный к осуществляется пересмотр последовательные завершена решений; предусматривает подход стадиям пока предыдущим ранее уже Каскадно-итерационный итерации принятых к процессами процесса предполагает каждого уточнение до желаемый подход достигнут тех пор, не Каскадный очень результат; позволяющих перекрывающимися наличие будет подход передаваемую до начинается сократить документацию. Следующий специализированных процесс с завершения текущего. Несколько подходу с проект параллельно; Каскадный выполняться подпроцессами близок в перекрывающимися могут команд, разделен процессами. Особенность может на подпроекты, модель том, могут процессов которые что быть с програм.
Каскадный подход с перекрывающимися процессами предполагает наличие специализированных команд, позволяющих сократить передаваемую документацию. Следующий процесс начинается до завершения текущего. Несколько процессов могут выполняться параллельно;
Каскадный подход с подпроцессами очень близок подходу с перекрывающимися процессами. Особенность в том, что проект может быть разделен на подпроекты, которые могут разрабатываться индивидуально;
Спиральная модель использует понятие прототипа, т.е. программы, реализующей частичную функциональность создаваемого программного продукта. Особенность модели - в разработке итерациями, причем каждый следующий итерационный прототип будет обладать большей функциональностью.
подход «пишем и правим»
подходы со слабой формализацией
строгие (классические, жесткие) подходы
формализованные подходы
гибкие (адаптивные, легкие) подходы
генетические
синтезирующее программирование
сборочное (расширяемое) программирование
конкретизирующее программирование
подходы на основе формальных преобразований
технология стерильного цеха
формальные генетические подходы
ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
Рис. 3. Классификация технологических подходов
каскадные
классические каскадные
каскадно-возвратные
каскадно-итерационные
каскадные с перекрывающимися процессами
каскадные с подпроцессами
спиральная
каркасные
рациональный унифицированный процесс (RUP)
модель процессов Microsoft Solution Framework (MSF)
ранние технологические подходы быстрой разработки
эволюционное прототипирование
итеративная разработка
постадийная разработка
адаптивные подходы
экстремальное программирование
адаптивная разработка
семейство Crystal
подходы исследовательского программирования
компьютерный дарвинизм
фрагментарное программирование
Рациональный унифицированный процесс вобрал в себя лучшее из технологических подходов каскадной группы. Включает в себя следующие фазы: начало (определение целей проекта), исследование (разработка плана и архитектуры проекта), построение (постепенное создание системы), внедрение (поставка системы конечным пользователям). Особенности - итеративность, контроль качества, возможность выявить ошибки на ранних стадиях, предпочтение отдается моделям, а не бумажным документам, конфигурирование, настройка, масштабирование.