Риски, сопряженные с разработкой ИС и возможности RUP смягчения рисков..



Применение итеративного процесса с управлением на основе рисков

 

Если вы выполнили описанные выше шаги 2 и 3, то очень близко подошли к модели "идеальной" итеративной разработки. Следующий шаг – объединить шаги 2 и 3, добавив управление разработкой на основе рисков и итеративную разработку. То есть описанный в RUP ряд итераций.

 

RUP предлагает структурный подход к итеративной разработке, деля её на четыре фазы: обследование, проработка, построение системы, сдача её в эксплуатацию. Каждая фаза содержит итерации (иногда только одну итерацию), целью которых является создание технических результатов, необходимых для достижения целей данной фазы. Группа разработчиков выполняет столько итераций, сколько требуется для достижения целей фазы, но не более. Если после запланированного количества итераций не удаётся достичь поставленных целей, то необходима ещё одна итерация на этой же фазе, а значит и задержка срока завершения проекта. Чтобы избежать этого, уделяйте особое внимание тому, что требуется сделать на каждой фазе, каковы её цели. Например, на фазе обследования непродуктивно уделять слишком большое внимание требованиям. Ниже приведено краткое описание типичных целей фаз.

Обследование. Нужно хорошо понять, какой должна быть система, вникнув во все требования к системе, и определить объём работ. Уменьшить большинство рисков, составить технико-экономическое заключение о создании системы, получить одобрение со стороны представителей заказчика и их решение – начинать проект или нет;

Проработка. Обдумайте самые трудные технические риски: проектирование, реализация, тестирование, создание базовой версии действующей архитектуры, в том числе подсистем, их интерфейсов, ключевых компонентов, архитектурных механизмов (например, как организовать обмен данными между процессами, их сохранение). Проработайте главные технические риски, например, риски конфликта между ресурсами, риски недостаточно высокой производительности, риски недостаточной защиты данных. Для этого создайте и проверьте в деле реальный код;

Построение системы. На пути от действующей архитектуры к первой рабочей версии системы выполните основную часть работ по построению системы. Разверните несколько внутренних и альфа-версий, чтобы убедиться в том, что систему можно использовать, и она удовлетворяет потребностям пользователей. Завершите эту фазу развёртыванием полностью работающей бета-версии системы, включая установку, сопутствующую документацию и учебные материалы; помните, однако, что функциональность, производительность и общее качество системы наверняка придётся настраивать;

Сдача в эксплуатацию. Убедитесь, что программное обеспечение удовлетворяет потребности его пользователей. Среди прочего, для этого нужно протестировать продукт перед его выпуском и внести в него изменения в соответствии с отзывами пользователей. На этом этапе проекта отзывы пользователей должны быть сосредоточены на тонкой настройке продукта, на вопросах конфигурации, установки и удобстве использования; основные вопросы по структуре должны быть решены на предыдущих этапах проекта1.

 

Сущность объектно-ориентированного подхода к проектированию ПО и ИС.

Структурное проектирования работает хорошо, потому что оно позволяет нам одновременно сосредотачиваться на меньшем количестве деталей. Это логичная методика, которая поощряет организованную доводку системы и уменьшает уровень сложности (степени интеграции) на каждой из последующих стадий проекта. По очевидным причинам, нисходящее (структурное) проектирование подходит лучше всего тогда, когда применяется к проблемам, которые имеют ясно выраженный иерархический характер. К сожалению, многие из реальных проблем не иерархические. Проект, основанный на построении сверху вниз, имеет также и другие ограничения, которые станут очевидными при разработке и сопровождении больших программных систем.

- Функциональную точку зрения трудно развивать.

- Реальные системы трудно охарактеризовать функционально.

- Фокусирование на функциональности теряет из виду данные.

- Функциональная ориентация производит код, менее пригодный для многократного использования.

Методы структурного проектирования помогают упростить процесс разработки сложных систем за счет использования алгоритмов как готовых строительных блоков. Аналогично, методы объектно-ориентированного проектирования созданы, чтобы помочь разработчикам применять мощные выразительные средства объектного и объектно-ориентированного программирования, использующего в качестве блоков классы и объекты.

Структурное проектирование характеризуется перемещением от общей формулировки того, что программа делает к все более детализированным формулировкам этого относительно каждой специфической задачи.

Структурное проектирование не подходит для разработки больших программных систем, потому что оно выторговывает краткосрочное удобство в обмен на отсутствие гибкости при длительном сопровождении. Существует незаконная привилегия одной функции над другими, теряются из виду данные, оставаясь на заднем плане задачи. Затрудняется возможность многократного использования.

Объектно-ориентированное проектирование - конструирование программных систем как структурных коллекций, реализующих абстрактные типы данных.

Объектно-ориентированное проектирование и объектно-ориентированное программирование улучшают возможности нисходящего проектирования, концентрируя больше внимание на данных системы, а не на том, что система делает. Это подход позволяет создавать системы, которые легче сопровождать, они более гибкие, более устойчивые и более приспособлены к многократному использованию, чем создаваемые при нисходящем структурном подходе.

Объектно-ориентированные методы лучше потому что:

- Они работают на более высоком уровне абстракции.

- Нет "прыжков" между фазами.

- Они поддерживают данные, которые имеют тенденцию, к большей стабильности, чем функции.

- Они поощряют и поддерживают классические достоинства хорошего программирования и проектирования.

- Они сопровождаются инструментами, обеспечивающими поддержку повторного использование кода.

Объектно-ориентированный подход имеет два аспекта:

- объектно-ориентированная разработка программного обеспечения;

- объектно-ориентированная реализация программного обеспечения.

Объектно-ориентированная разработка программ

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных моделей при разработке программных систем и их компонентов. Говоря об объектно-ориентированной разработке, имеются в виду:

- объектно-ориентированные технологии разработки программных систем;

- инструментальные средства, поддерживающие эти технологии.

Объектно-ориентированная разработка может начаться на самом первом этапе жизненного цикла; она не связана с языком программирования, на котором предполагается реализовать разрабатываемую программную систему: этот язык может и не быть объектно-ориентированным.

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных технологий. Обычно эти объектно-ориентированные методологии поддерживаются инструментальными программными средствами, но и без таких средств они полезны, так как позволяют хорошо понять различные аспекты и свойства разрабатываемой программной системы, что в последующем существенно облегчает ее реализацию, тестирование, сопровождение, разработку новых версий и более существенную модификацию.

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных моделей при разработке программных систем и их компонентов. Говоря об объектно-ориентированной разработке, имеются в виду:

- объектно-ориентированные технологии разработки программных систем;

- инструментальные средства, поддерживающие эти технологии.

Объектно-ориентированная разработка может начаться на самом первом этапе жизненного цикла; она не связана с языком программирования, на котором предполагается реализовать разрабатываемую программную систему: этот язык может и не быть объектно-ориентированным.

Объектно-ориентированная разработка программного обеспечения связана с применением объектно-ориентированных технологий. Обычно эти объектно-ориентированные методологии поддерживаются инструментальными программными средствами, но и без таких средств они полезны, так как позволяют хорошо понять различные аспекты и свойства разрабатываемой программной системы, что в последующем существенно облегчает ее реализацию, тестирование, сопровождение, разработку новых версий и более существенную модификацию.

 


Дата добавления: 2018-02-15; просмотров: 922; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!