OpenU.Ru
Стадии разработки, которые проходит элемент или модель за время проектирования
и построения системы.
CM. development process.
Обсуждение
Весь процесс разработки можно резделить на определенные виды деятельностей,
во время которых внимание разработчика сконцентрировано на различных аспектах.
Эти виды деятельности не следуют в определенноми порядке одна за другой; за
время работы над проектом их выполняют по нескольку раз. Так, анализ служит
для определения требований к системе, проектирование - для выработки подхода
к решениюпроблем, связанных с ограничениями существующих структур данных, выбором
алгоритмов и адаптации существующих частей системы. На стадии реализации разработчики
должны найти приемлемое решение для конструирования системы при помощи языка
программирования или программно-аппаратной среды. Во время развертывания это
программное решение получает физическое воплощение в реальной среде. Разумеется,
такое деление всего процесса на части несколько условно и не всегда ясно, где
заканчивается одна часть и начинается другая. Лучше всего считать их своего
рода ценными указаниями.
Впрочем, такие представления процесса не нужно отождествлять с последовательными
фазами этого процесса. В традиционном методе водопада их действительно считали
отдельными фазами. Однако в современном итеративном процессе разработки они
уже не могут так восприниматься, поскольку в каждый конкретный момент разработка
может проходить одновременно на разных уровнях. Лучше всего поэтому считать
их различными задачами, которые нужно вополнить по отношению к каждому элементу
системы, но не ко всей системе одновременно.
Представте себе несколько строящихся зданий - каждое из них состоит из фундамента,
стен, и крыши, и все они должны быть достроены до конца. Как правило, каждое
здание строится по частям, идущим друг за другом в определенном порядке. Иногда,
впрочем, можно начать строить одну из крыш еще не завершив работу над всеми
стенами. А случается, что и различие между стенами и крышей исчезает - представьте
себе купол, стоящей на земле.
Некоторые элементы языка UML предназначены для использования на всех стадиях
разработки. Другие же могут быть предназначены только для целей проектирования
или программной реализации и появляется в системе только после того, как модель
будет уже в достаточной степени проработана. Так, например, у атрибутов и операций
видимость определения во время стадии проектирования. Во время аналитической
стадии используются, как правило, только элементы с открытой видимостью.
Разработка методом водопада тоже делится на стадии, каждая из которых проводится
сразу во всей системе. К этим стадиям традиционно относится анализ, проектирование,
программная реализация и развертывание. При итеративном процессе разработка
всей системы не может проходить в виде единого законченного шага. Разные элементы
разрабатываются с различной скоростью. Конечно, все они должны пройти эти стадии
разработки, однако не одновременно. Таким образом, невозможно определить, на
какой стадии разработки находится система в целом.
У каждой стадии моделирования есть своя область применения. На ранних стадиях
моделирования максимум внимания уделяется логическим и абстрактным свойствам
системы. На поздних рассматриваются вопросы программной реализации и производительности.
Область применения анализа представляет собой описание требований к системе
и ее предметную область (или экспертный словарь понятий). Проектирование касается
используемых алгоритмов и структур данных абстрактной реализацией, которая должна
осуществляться при неких идеальных (но правдоподобных) условиях. Кроме этого,
во время проектирования рассматриваются вопросы эффективности, сложности вычислений
и прочие аспекты создания програмного приложения, необходимы для разработки
приемлемой системы. Стадия программной реализации посвящена созданию операционного
описания системы в реальных условиях, на реальном языке программировпания, принимая
во внимание возможные недостатки этого языка, а так же разделению артефактов
системы на части, которые можно разрабатывать и хронить по отдельности. Ко времени
выполнения относятся вопросы параллелизма ресурсов, построения вычислитнльного
окружения и настройки производительности в масштабе всей системы.
В языке UML имеется ряд конструкций, которые могут использоваться на различных
стадиях разработки. Некоторые из них (например, ассоциация и состояние) могут
присутствовать вообще во всех стадиях, другие (например, возможность навигации
и видимость) имеют смысл во время проектирования, но на стадии анализа будут
вносить ненужные в это время потребности относительно реализации системы. Впрочем,
при необходимости эти подробности можно описать и на ранней стадии работы. И,
наконец, существуют конструкции (например, синтаксис конкретного языка программирования),
место - которых только на стадии реализации.
Если вы попытаетесь внести их и модель на более ранних стадиях, она будет испорчена.
Во время разработки модель меняется. На каждой стадии разработки она принимает
определенный вид, в котором основное место занимают соответствующие этой стадии
конструкции. При моделировании следует помнить, что есть конструкции, которые
нельзя использовать на всех стадиях разработки.
См. статью development process, и которой
описываются отношения, существующие между понятиями "стадия моделирования"
и "фаза разработки".