Выбрать главу

Нотация — важная составляющая любой модели, своего рода связующее звено между процессами. Унифицированный язык моделирования (UML) предлагает достаточно полную нотацию, которая расширяется при переходе от анализа к проектированию.

Успешно разработанный проект удовлетворяет или превосходит ожидание заказчика, выполняется в срок с оптимальными затратами и может быть адаптирован к изменению условий. Жизненный цикл разработки должен способствовать творческим и новаторским идеям. Правильно управляемый итеративный и инкрементальный жизненный цикл обеспечивает необходимый контроль и поддерживает творческий процесс на нужном уровне. В итеративном и инкрементальном жизненном цикле разработка осуществляется с помощью серии версий, которые развиваются в направлении конечной системы. Каждая версия состоит из одного или более компонентов процесса: построение бизнес-модели, определение требований к системе, анализ, проектирование, реализация, тестирование и внедрение.

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

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

Глава 2. Начало проекта

Определение правильного проекта

Главный вопрос при разработке системы не касается методологии. Это и не проблема технической реализации. Это с виду простой, но на самом деле достаточно сложный и важный вопрос: «Правильна ли создаваемая система?». К сожалению, он в большинстве случаев вообще не возникает или остается без ответа. Хотя неверная методология или технические проблемы могут привести к неудаче, иногда избыток ресурсов и титанические усилия талантливых людей спасают проект. Но ничто не поможет системе, которая не нужна или автоматизирует неправильные вещи.

Для начала проекта необходима идея. Зарождение идеи и определение общих требований и форм происходит на этапе задумки. Он заканчивается утверждением: «Наша система делает…». В процессе проработки идея приобретает ясные очертания, а предположения утверждаются или отвергаются. На этом этапе собираются и документируются основные идеи, предварительно описываются риски, внешние интерфейсы, общая функциональность системы и возможно создание тестовых прототипов для проверки общей концепции (proof of concept prototypes). Идеи поступают из разных источников (это могут быть заказчики, эксперты по предметной области, сами разработчики, отраслевые эксперты, результаты тестов, изучение существующих систем). Важно отметить, что любые прототипы, созданные в этом периоде, должны рассматриваться как временный код, предназначенный лишь для проверки предположений и не прошедший через стадии анализа и проектирования.

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

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