В развитии информационных систем 90-е годы стали временем становления объектных технологий. Начал формироваться и активно развивается рынок объектных СУБД. Благодаря появлению в 1996-1997 годах нового поколения объектно-реляционных серверов баз данных компаний Oracle, Informix и IBM, доминирующих на рынке программного обеспечения систем баз данных, происходит процесс миграции из реляционных сред в объектные.
Указанные процессы, в свою очередь, стимулировали развитие объектных технологий анализа и проектирования систем. Появилось значительное количество различных методов и реализующих их коммерческих программных продуктов.
Поскольку для многих компаний возрастает стратегическое значение программного обеспечения, индустрия озабочена поиском методов автоматизации производства программного обеспечения, повышения его качества, а также снижения стоимости и времени выпуска на рынок. Эти методы основаны на компонентных технологиях, визуальном программировании, использовании образцов (pattern) и инструментальных сред (framework). Важной проблемой является также поиск методов управления сложностью систем, поскольку увеличиваются не только охватываемые ими области, но и их масштабы. В частности, признается необходимость решения существующих архитектурных проблем такого рода, как физическое распределение, параллелизм, тиражирование данных, безопасность, сбалансированность нагрузки и отказоустойчивость. Наряду с этим, разработка Web, хотя она и упростила некоторые вещи, вместе с тем усугубила указанные архитектурные проблемы. Именно в связи с указанными потребностями был создан Унифицированный язык моделирования (UML).
Унифицированный язык моделирования позволяет специфицировать, визуализировать, конструировать и документировать артефакты систем программного обеспечения, а также моделировать предпринимательскую деятельность и другие системы, не имеющие отношения к программному обеспечению. UML воплощает лучшие достижения ряда практических технологий, успешно проявивших себя в моделировании больших и сложных систем.
Язык UML был разработан компанией Rational Software и ее партнерами. Он является преемником языков моделирования, на которых основаны методы объектного анализа и проектирования Буча, OOSE Якобсона, OMT Рэмбо и другие. Многие компании используют UML как стандарт в их процессах разработки и в программных продуктах, связанных с такими областями, как моделирование бизнеса, управление требованиями, анализ и проектирование, программирование и тестирование.
Важность моделирования
Разработка модели системы программного обеспечения промышленного характера на стадии, предшествующей ее реализации или обновлению, в такой же мере необходима, как и наличие проекта для строительства большого здания. Хорошие модели являются основой взаимодействия участников проекта и гарантируют корректность архитектуры. Поскольку сложность систем повышается, важно располагать хорошими методами моделирования. Хотя имеется много других факторов, от которых зависит успех проекта, но наличие строгого стандарта языка моделирования является весьма существенным.
Язык моделирования должен включать:
модельные элементы - фундаментальное моделирование понятий и семантики.
нотацию - визуальное представление модельных элементов.
руководящие указания - характерные способы использования в практических применениях.
В связи с возрастающей сложностью разрабатываемых систем визуализация и моделирование становятся все более существенными. UML представляет собой хорошо определенный и широко признанный ответ на эту потребность. Это - язык визуального моделирования для разработки объектно-ориентированных и компонентных систем.
Цели UML
Главными в разработке UML были следующие цели:
предоставить пользователям готовый к использованию выразительный язык визуального моделирования, позволяющий им разрабатывать осмысленные модели и обмениваться ими;
предусмотреть механизмы расширяемости и специализации для расширения базовых концепций;
обеспечить независимость от конкретных языков программирования и процессов разработки.
обеспечить формальную основу для понимания этого языка моделирования;
стимулировать рост рынка объектно-ориентированных инструментальных средств;
предусмотреть поддержку таких высокоуровневых концепций разработки, как сотрудничество, среды, образцы и компоненты;
интегрировать лучший практический опыт.
Области применения OMG-UML
Как уже отмечалось, UML предназначен для спецификации, конструирования, визуализации и документирования артефактов сложных систем программного обеспечения. Во-первых, важно отметить, что этот язык является сплавом концепций методов Буча, OMT и OOSE. В результате такого подхода был создан единый, общий и широко используемый язык моделирования для пользователей этих и других методов.
Во-вторых, UML дает возможность охватить практически все то, что может быть сделано с помощью существующих методов. Так, например, авторы UML принимали во внимание моделирование параллельных распределенных систем с тем, чтобы обеспечить возможность адекватного использования UML в этой области.
В третьих, в центре внимания разработчиков UML было создание стандартного языка, а не стандартного процесса моделирования. Хотя UML должен быть применимым в контексте любого процесса, опыт показал, что для различных организаций и областей приложений требуются различные процессы. (Например, процесс разработки программного обеспечения сложных систем реального времени в авионике, от которых зависят жизни людей, значительно отличается от разработки программного обеспечения для других целей.) Поэтому усилия были прежде всего сосредоточены на общей метамодели (унифицирующей семантику), а во-вторых, на общей нотации (обеспечивающей воспринимаемое человеком воплощение этой семантики). Авторы UML поддерживают процесс разработки, который управляется случаями использования (use-case), является архитектуро-центрическим, итерационным и пошаговым.
Функции, выходящие за пределы возможностей UML
Хотя UML предназначен для того, чтобы упростить и стандартизировать моделирование, он отнюдь не является всеобъемлющим языком. Благодаря этому достигается его гибкость, которая позволяет использовать язык для проектирования разнообразных систем в широком спектре отраслей промышленности. Рассмотрим некоторые важные функции, выходящих за рамки возможностей UML.
Языки программирования
UML - это язык визуального моделирования. Он не предназначен для визуального программирования в смысле наличия всей необходимой визуальной и семантической поддержки, позволяющей ему заменять языки программирования. UML служит для визуализации, спецификации, конструирования и документирования артефактов сложных систем программного обеспечения, но он в действительности позволяет вырисовывать линии по мере того, как вы продвигаетесь к коду. Для UML разработано строгое отображение в семейство объектно-ориентированных языков, так что вы можете взять лучшее из этих двух миров.
Инструментальные средства
Стандартизация языка - необходимая основа для инструментальных средств и процесса. Главная цель RFP OMG (В соответствии с установленной в OMG процедурой, разработка каждого стандарта в рамках этого консорциума начинается с выпуска документа, называемого Запросом предложений (Request FOR Proposals, RFP), в котором формулируются цели предстоящей разработки, требования, которым должны удовлетворять предложения, претендующие на стандартизацию, и объявляются сроки их представления. RFP является, таким образом, официальным документом, которым руководствуются разработчики вариантов проектов соответствующего стандарта. - Прим. пер.) состояла в том, чтобы обеспечить интероперабельность инструментальных средств. Однако инструментальные средства и их интероперабельность в большой степени зависят от основательного определения семантики и нотации, подобного тому, которое предусматривается в UML. Язык UML определяет семантическую метамодель, а не модель интерфейса инструментальных средств, хранения или стадии исполнения, хотя они должны быть довольно близки друг к другу.
Процесс
Многие организации будут использовать UML как общий язык для представления артефактов их проектов, но будут использовать одни и те же типы диаграмм UML в контексте различных процессов разработки. UML преднамеренно разрабатывался как независимый от процессов.
Как UML стал стандартом OMG
Подлинные объектно-ориентированные языки моделирования начали появляться между серединой 70-х и концом 80-х годов, поскольку авторы различных методологий экспериментировали с различными подходами к объектно-ориентированному анализу и проектированию. В период с 1989 до 1994 года количество разработанных языков моделирования, не превышавшее до тех пор десятка, увеличилось более чем до пятидесяти. Многие пользователи объектно-ориентированных методов сталкивались с затруднениями, пытаясь найти полное удовлетворение своих потребностей с помощью какого-либо одного языка моделирования, провоцируя тем самым "войну методов." К середине 90-х годов начали появляться новые версии этих методов, и методы начали заимствовать технику друг у друга. Возникло несколько наиболее известных методов.
Разработка UML началась в конце 1994 года, когда Буч и Рэмбо из Rational Software Corporation начали их работу по объединению методов Буча и OMT (Object Modeling Technique). Осенью 1995 года Ивар Якобсон и его компания Objectory присоединились к Rational Software и к этим усилиям по объединению методов с тем, чтобы интегрировать их в рамках метода OOSE (Object-Oriented Software Engineering).
Гради Буч, Джим Рэмбо и Ивар Якобсон поставили перед собой задачу создания Унифицированного языка моделирования. Они руководствовались при этом тремя причинами. Во-первых, эти методы уже независимо эволюционировали в направлении друг друга. В таких условиях имело бы смысл продолжать эту эволюцию совместно, а не отдельно друг от друга, исключая возможность каких-либо не необходимых и беспричинных различий, которые бы только запутывали пользователей. Во-вторых, унифицируя семантику и нотацию указанных языков, они могли бы привнести некоторую стабильность рынка объектно-ориентированного инструментария, позволяя обходиться в проектах одним достаточно развитым языком моделирования, а разработчикам программного обеспечения - сосредоточиться на предоставлении более полезных возможностей. Наконец, в третьих, они ожидали, что их сотрудничество приведет к уточнению всех трех ранних методов, помогая использовать полученные уроки и обратиться к проблемам, с которыми ни один из их методов ранее полноценно не справлялся.
Очерки истории советской вычислительной техники Наталья Дубова Очерк первый: ИТМ и ВТ. Машины 1 И 2 поколений
Многие принципы структурной организации БЭСМ-6 были революционными для своего времени и предвосхищали архитектурные особенности машин третьего поколения "Генеология" вычислительной техники
В развитии информационных систем 90-е годы стали временем становления объектных технологий. Начал формироваться и активно развивается рынок объектных СУБД. Благодаря появлению в 1996-1997 годах нового поколения объектно-реляционных серверов баз данных
Управление данными, размещенными в оперативной памяти Галина Никитина Уже пятнадцать лет различные научные и коммерческие организации изучают, насколько изменяется время обработки, алгоритмы оптимизации и общая производительность информационной системы, если реляционные СУБД разместить не жестком диске, а в оперативной памяти.