Универсальной модели не существует так же, как и универсального CASE-средства, несмотря на то, что есть линейка Rational, которая поддерживает практически все этапы жизненного цикла, Microsoft Visual Studio – достаточно серьезное средство, в том числе и для командной работы. Поэтому в ряде случаев хорошим подходом является комбинирование. Конечно, у всех моделей, также как и у всех CASE-средств, есть свои определенные преимущества и недостатки, они ранее упоминались. Так, спиральная модель требует оценки рисков, что, с одной стороны, является преимуществом, а с другой – влечет достаточно серьезные затраты, поэтому ее лучше применять для внутренних проектов, где разработчик может получить от заказчика полную информацию о рисках и сложностях, с которыми можно столкнуться в проекте с точки зрения представления предметной области. Преимущества и недостатки имеют смысл только в контексте проекта, исходя из этого следует выбирать не только модель жизненного цикла и методологию разработки, но и те технологические средства и архитектурные особенности, которые будут лежать в основе поддержки этого проекта.
По поводу проектирования и управления базами данных необходимо напомнить, что в основе корпоративных систем лежат базы данных достаточно большого объема, измеряемые тера-, а в ряде случаев – петабайтами (10 15байт). Размер, которого они могут достигать, достаточно быстро возрастает, примерно в 2 раза за пять лет. Это можно считать экспоненциальным ростом при достаточно больших базовых объемах, поэтому достаточно важно рассмотреть базы данных как элемент корпоративных систем.
Когда речь идет о поддержке корпоративных систем базами данных, возникает та же проблема, что и при построении корпоративных систем. То есть сначала нужно выстроить общую архитектуру, в данном случае это ER-модель (структура отношений), а с другой стороны, нужно подумать о физической структуре хранения, о том, каким образом будет осуществляться резервирование для обеспечения надежности, восстановление базы данных, в каком режиме, при какого рода сбоях. Бывают сбои «мягкие», бывают «жесткие», которые вызываются отключением электропитания, более серьезными отказами оборудования, и в ряде случаев может помочь только относительно свежая резервная копия. При этом теряются данные, актуальность, и в этой связи нужно рассмотреть стратегию резервного копирования и восстановления данных, а также механизмы доступа к данным. При этом кроме проектирования, важным вопросом которого является формирование ограничения целостности и ряд других аспектов, нужно учитывать еще и семантическое моделирование, т. е. подходить к базе данных как к модели предметной области (декомпозиция предметной области должна адекватно отображаться структурой базы данных, с тем чтобы изменения, которые могут возникнуть в предметной области, вели к минимальной коррекции общей схемы отношений в базе данных и их взаимодействий).
Еще один важный аспект, который нужно отметить, – это многопользовательский характер работы с корпоративными системами. Здесь используются механизмы, связанные с транзакциями, с атомами функциональности при операциях на низком уровне с базой данных. Достаточно сложно обеспечить устойчивое манипулирование пользователей с данными при необходимости поддержки требований изоляции, т. е. каждый пользователь в идеале должен работать с данными таким образом, как будто кроме него никто с этими данными не работает. То есть ему должно казаться, что за исключением обстоятельств, вызванных временем реакции системы, на самом деле ничего экстраординарного с данными не происходит. Все изменения, которые вносит пользователь, отражаются на структуре данных, и пользователь не должен ощущать того, что одновременное присутствие сотен (а иногда тысяч и десятков тысяч) пользователей усложняет работу. Для этого необходимо обеспечить грамотную стратегию администрирования. Ранее речь шла о том, каким образом это следует делать.
При создании корпоративных систем и построении их при помощи CASE-средств необходимо принимать во внимание также и основы архитектуры. Надо понимать, что вслед за организационной структурой корпорации, которая является распределенной территориально (часто глобально распределенной), архитектура тоже является распределенной. При этом она следует концепции открытых систем, которые поддерживают стандартные интерфейсы, протоколы взаимодействия между компонентами корпоративного программного комплекса, и посредством концепции открытых систем можно обеспечивать плавное наращивание функций и (или) производительности на основе относительно недорогой замены отдельных компонентов или внесения изменений в эти компоненты.
Читать дальше
Конец ознакомительного отрывка
Купить книгу