Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Помимо перечисленных задач есть отрасли, потенциально нуждающиеся в GRID: видеоконференции, дистанционное обучение, изучение фундаментальных процессов, научные исследования, имеющие дистанционный характер, высокопроизводительные вычисления.
Раздел II
Средства, платформы и технологии разработки корпоративных систем
Глава 7
Средства автоматизации разработки корпоративных систем
От методологической и модельной части перейдем к части, которая в большей мере касается практики.
Обсудим более подробно CASE-средства.
В состав проектной документации при разработке корпоративных систем входит большое количество диаграмм, разработать которые вручную не представляется возможным. Поэтому используют специальные средства, при должном навыке работы они дают возможность существенно улучшить производительность труда, организовать командную работу и в итоге существенно уменьшить трудозатраты, сократить сроки и сделать систему более надежной, так как подобные средства включают в себя средства тестирования и трассировки. С помощью этих средств можно, например, производить сравнение требований к системе с определенными характеристиками диаграмм, что позволяет улучшить качество программного обеспечения корпоративного типа.
Речь пойдет о попытках классификации CASE-средств. Их существует великое множество, и их число непрерывно растет. В последнее время популярна тема DSL (Domain Specific Languages) – предметно-ориентированных языков, которые нацелены на какие-то конкретные, узкие предметные области. Для них существуют как большие CASE-средства, такие как Microsoft Visual Studio, в который можно встроить такого рода языки и поддержку диаграмм, так и специальные средства, которые появляются достаточно часто. В любом случае причина появления подобных средств понятна (они будут рассмотрены более подробно), но прежде следует подвести некоторые итоги того, что было рассмотрено в предыдущей части курса моделей и методологий, а также сделать краткие выводы, чтобы перейти к практической части более естественным образом.
По поводу моделей и методологий нужно заметить, что это наиболее абстрактная формализация всего жизненного цикла ПО. Как правило, методологии включают все этапы ЖЦ, за редким исключением. Правильный выбор модели и методологии (если речь идет о жизненном цикле, то лучше употреблять термин «модели», методологии – это просто набор практических приемов реализации этого ПО того или иного программного проекта или программного продукта). Выбор модели критическим образом сказывается в целом на успехе проекта, поскольку он определяет архитектуру проекта, архитектуру решения, из какого количества компонентов будет состоять решение, какие технологии будут использоваться, как эти компоненты будут взаимодействовать. Во многом определяется экономика проекта, поскольку существует глобальный документ – план проекта, тесно связанный с той моделью и методологией, которая принимается для разработки. И в этом плане, естественно, трудозатраты будут указываться в соответствии с выбранной моделью. Некоторые модели, скажем каскадная, поддерживают проектирование в один проход, являются документоориентированными, другие – неполный жизненный цикл, например модель Build-and-fix (модель проб и ошибок), либо итеративную или эволюционную разработку, когда на каждом этапе после завершения каждого частичного цикла появляется в общем готовый с точки зрения надежности продукт, пусть и не полнофункциональный. Здесь тоже во многом можно вести речь о раннем начале сопровождения, т. е. тоже об экономике проекта. Конечно, модель, также как и методология, должна учитывать опыт проектной команды. Естественно, если вести речь о больших системах, команда должна иметь опыт работы с той или иной моделью, с теми или иными стандартами. Конечно, серьезные модели требуют определенной дисциплины при проектировании и зрелости проектной команды, нужно соблюдать стандарты и знать в том числе CASE-средства, используемые командой для всех этапов проектирования и реализации системы. Поэтому стоит обсудить CASE-средства более подробно.
Универсальной модели не существует так же, как и универсального CASE-средства, несмотря на то, что есть линейка Rational, которая поддерживает практически все этапы жизненного цикла, Microsoft Visual Studio – достаточно серьезное средство, в том числе и для командной работы. Поэтому в ряде случаев хорошим подходом является комбинирование. Конечно, у всех моделей, также как и у всех CASE-средств, есть свои определенные преимущества и недостатки, они ранее упоминались. Так, спиральная модель требует оценки рисков, что, с одной стороны, является преимуществом, а с другой – влечет достаточно серьезные затраты, поэтому ее лучше применять для внутренних проектов, где разработчик может получить от заказчика полную информацию о рисках и сложностях, с которыми можно столкнуться в проекте с точки зрения представления предметной области. Преимущества и недостатки имеют смысл только в контексте проекта, исходя из этого следует выбирать не только модель жизненного цикла и методологию разработки, но и те технологические средства и архитектурные особенности, которые будут лежать в основе поддержки этого проекта.
По поводу проектирования и управления базами данных необходимо напомнить, что в основе корпоративных систем лежат базы данных достаточно большого объема, измеряемые тера-, а в ряде случаев – петабайтами (1015 байт). Размер, которого они могут достигать, достаточно быстро возрастает, примерно в 2 раза за пять лет. Это можно считать экспоненциальным ростом при достаточно больших базовых объемах, поэтому достаточно важно рассмотреть базы данных как элемент корпоративных систем.
Когда речь идет о поддержке корпоративных систем базами данных, возникает та же проблема, что и при построении корпоративных систем. То есть сначала нужно выстроить общую архитектуру, в данном случае это ER-модель (структура отношений), а с другой стороны, нужно подумать о физической структуре хранения, о том, каким образом будет осуществляться резервирование для обеспечения надежности, восстановление базы данных, в каком режиме, при какого рода сбоях. Бывают сбои «мягкие», бывают «жесткие», которые вызываются отключением электропитания, более серьезными отказами оборудования, и в ряде случаев может помочь только относительно свежая резервная копия. При этом теряются данные, актуальность, и в этой связи нужно рассмотреть стратегию резервного копирования и восстановления данных, а также механизмы доступа к данным. При этом кроме проектирования, важным вопросом которого является формирование ограничения целостности и ряд других аспектов, нужно учитывать еще и семантическое моделирование, т. е. подходить к базе данных как к модели предметной области (декомпозиция предметной области должна адекватно отображаться структурой базы данных, с тем чтобы изменения, которые могут возникнуть в предметной области, вели к минимальной коррекции общей схемы отношений в базе данных и их взаимодействий).