Сергей Викторович Зыков
Основы проектирования корпоративных систем
© Зыков С.В., 2012
© Оформление. Издательский дом Высшей школы экономики, 2012
Все права защищены. Никакая часть электронной версии этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети Интернет и в корпоративных сетях, для частного и публичного использования без письменного разрешения владельца авторских прав.
© Электронная версия книги подготовлена компанией ЛитРес (www.litres.ru)
Предисловие
Монография преследует несколько взаимосвязанных целей. Прежде всего, это систематизация знаний из областей, связанных с проектированием крупномасштабных, распределенных программных комплексов, состоящих из разнородных компонентов. На основе проведенной систематизации открывается возможность классификации программных систем с последующим методологическим обобщением для жизненного цикла исследуемого класса программных комплексов, которые как по характеру, так и по масштабу своего применения вполне соответствуют термину «корпоративные».
Современные корпоративные системы – это петабайты (тысячи терабайт) данных, как минимум, удвоение объема информации каждые пять лет, необходимость адаптации к требованиям бизнеса практически «на лету», архитектурная и структурная разнородность компонентов и, конечно, глобальная распределенность. В подобных условиях обобщения до уровня технологических схем и инструментальных средств, как правило, не приводят к адекватной интеграции гетерогенных приложений в унифицированные, крупномасштабные программные системы. Поэтому для управления жизненным циклом корпоративных программных комплексов необходимо прежде всего получить адекватное обобщение на уровне математических моделей с последующей конкретизацией представлений на уровне системной архитектуры, информационных технологий, а также конкретных инструментальных и программных средств и, наконец, практических внедрений.
Предлагаемое в настоящей работе методологическое обобщение включает весь спектр возможных (и, как оказывается, необходимых) уровней представления данных в корпоративных программных комплексах в ходе их разработки. К таковым следует отнести прежде всего уровни:
1) математического моделирования концептуального представления;
2) анализа и проектирования архитектурной схемы;
3) реализации, интеграции и адаптации/расширения программных систем.
Естественно, все перечисленные уровни необходимы, взаимозависимы и взаимосвязаны: математические модели адекватно поддержаны промышленными технологиями, инструментально-программными средствами и приводят к отраслевым внедрениям гетерогенных корпоративных программных комплексов с практически приемлемыми эксплуатационными характеристиками.
Для построения генерализации корпоративных программных комплексов на уровне моделей – как для представления данных, так и для манипулирования ими – потребовался творческий синтез основных положений целого ряда математических теорий, связанных с объектными моделями. В основе рассматриваемых моделей лежит так называемый аппликативный подход к вычислениям, при котором в фокусе внимания находится операция приложения функции к аргументу. Дальнейшее развитие созданной методологии разработки программных систем корпоративного типа – поддержка разработанных моделей программными технологиями, системными архитектурами и инструментальными средствами.
Структура книги во многом является отражением именно такого, методологически последовательного и концептуально наполненного подхода к организации жизненного цикла прикладных корпоративных систем – от моделей до примеров внедрения. Именно таким образом – путем последовательного уточнения – и происходит разработка прикладных систем, при этом окончательный вид конкретной детализации каждого элемента обобщенной методологии зависит от характера и масштаба приложений.
Автор выражает искреннюю благодарность ведущим экспертам университета Carnegie Mellon (G. Taran, N. Bier и др.), а также профессорам С.М. Авдошину (НИУ ВШЭ) и В.Э. Вольфенгагену (МИФИ, МФТИ) за методическую помощь при подготовке монографии.
Отдельно следует отметить целый ряд студентов НИУ ВШЭ и МФТИ (в первую очередь К. Лузгину, Е. Первушину, А. Ядройцева, а также многих других), ассистировавших при предварительном редактировании теста и активно способствовавших выходу в свет настоящей публикации.
Автор полагает, что книга окажется полезной системным аналитикам и архитекторам, разработчикам крупномасштабных приложений, а также студентам, аспирантам и другим категориям исследователей корпоративных программных систем и комплексов.