
- •Объектно–ориентированное проектирование.
- •Компонентный подход к проектированию
- •Аспектно–ориентированное программирование (аоп).
- •Генерирующее (порождающее) программирование
- •Агентное программирование.
- •Семейство систем Borland alm, дополняющее .Net Framework
- •Ответы на 14/15/16/17
- •Преимущества использования компонентной архитектуры:
- •Основные понятия com-технологии
- •Структура компонентов com
- •Традиционные методы доступа к сервисам приложений
- •Доступ к сервисам приложений с использованием com.
- •Серверы com.
- •Клиенты com
- •Использование технологии com.
- •Библиотека com
- •Расширения com
- •Общие сведения о семействе методологий ideFx
1. ////////////1///////////////////////////////////////////1////////////////////////////////////////1///////////////////////////////////////1///////////////////////1///////
К методам систематического программирования отнесены следующие методы:
– структурный;
– объектно–ориентированный (включая моделирование в UML);
– компонентный;
– аспектно–ориентированный;
– генерирующий;
– агентный и др.
Каждый метод имеет свое множество понятий и операций для проведения процесса разработки компонентов или ПС. Вновь появившиеся методы, например, генерирующее программирование использует возможности объектно–ориентированного, компонентного и аспектно–ориентированного методов.
Структурный подход.
Сущность структурного подхода разработки ПС заключается в декомпозиции (разбиении) системы на автоматизируемые функции, которые в свою очередь делятся на подфункции, на задачи и так далее. Процесс декомпозиции продолжается вплоть до определения конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимосвязаны.
В основу структурного подхода положены такие общие принципы:
– разбивка системы на множество независимых задач, легких для понимания и решения;
– иерархическое упорядочивание, т.е. организация составных частей проблемы в древовидные структуры с добавлением новых деталей на каждом уровне.
В основе этих принципов лежат операции:
– абстрагирования, т.е. выделения существенных аспектов системы и отвлечения от несущественных;
– формализации, т.е строгое методологическое решение проблемы;
– непротиворечивости, состоящей в обосновании и согласовании элементов системы;
– структуризации данных (т.е. данные должны быть структурированы и иерархически организованы).
При структурном анализе применяются в основном три вида наиболее распространённых моделей проектирования ПС:
SADT (Structured Analysis and Design Technique) модель и соответствующие функциональные диаграммы;
SSADM (Structured Systems Analysis and Design Method) – метод структурного анализа и проектирования;
IDEF0 (Integrated Definition Functions) метод создания функциональной модели, IDEF1 – информационной модели, IDEF2 – динамической модели и др.
На стадии проектирования эти модели расширяются, уточняются и дополняются диаграммами, отражающими структуру программного обеспечения: архитектуру ПО, структурные схемы программ и диаграммы экранных форм.
2./////////////////////////////////////////////2///////////////////////////////////////////2//////////////////////////////////2///////////////////////////////////////////2
Объектно–ориентированное проектирование.
Представляет собой стратегию, в рамках которой разработчики системы вместо операций и функций мыслят в понятиях объектов. Объект – это нечто, способное пребывать в различных состояниях и имеющее определенное множество операций. Состояние определяется как набор атрибутов объекта. Операции, связанные с объектом, предоставляют сервисы другим объектам (клиентам) для выполнения определенных вычислений.
Широкое распространение методологии ООП оказало влияние на процесс разработки программ
Наиболее существенным обстоятельством в развитии методологии ООП явилось осознание того факта, что процесс написания программного кода может быть отделен от процесса проектирования структуры программы.
Под процессом объектно–ориентированного проектирования подразумевается проектирование классов объектов и взаимоотношений между этими классами. Когда проект реализован в виде исполняемой программы, все необходимые объекты создаются динамически с помощью определений классов. Этот подход подразумевает выполнение трёх этапов при проектировании:
1. Объектно–ориентированный анализ. Создание объектно–ориентированной модели предметной области приложения. Здесь объекты отражают реальные объекты–сущности и операции, выполняемые этими объектами.
2. Объектно–ориентированное проектирование. Разработка объектно–ориентированной модели системы ПО (системной архитектуры) с учётом требований. В этой модели определение всех объектов подчинено решению конкретной задачи.
3. Объектно–ориентированное программирование. Реализация архитектуры (модели) системы с помощью объектно–ориентированного языка программирования (С++, Java и др.) для определения объектов и средств определения классов объектов.
3.//////////////////////////3///////////////////////////////3///////////////////3//////////////////////3//////////////////////3///////////////////////////3//////////////////3
По сути, программист в процессе разработки ОО программы создает модель заданной предметной области (или системы), в которой в качестве программных объектов обычно выступают модели некоторых реально существующих физических или логических объектов.
Эта совокупность задач не столько связана с написанием кода, сколько с общим анализом требований к будущей программе, а также с анализом конкретной предметной области, для которой разрабатывается программа. Все эти обстоятельства привели к появлению специальной методологии, получившей название методологии объектно-ориентированного анализа и проектирования (ООАП), которая оказалась весьма тесно связанной с концепцией автоматизированной разработки программного обеспечения (CASE-средствами).
Методология ООАП, согласно которой любая система представляет собой совокупность некоторого количества взаимодействующих объектов, обеспечила единый подход к проектированию ПО самого разнообразного назначения. И, хотя на первых порах, появилось несколько отличающихся между собой графических нотаций (языков), их различия были не столь существенны, как у графических нотаций структурного системного анализа. К 1994 году наибольшее распространение получили языки Booch, созданный Г. Бучем, OOSE (Object-Oriented Software Engineering), разработанный А. Джекобсоном и ОМТ (Object Modeling Technique), автором которого является Дж. Рамбо. Каждый из этих языков можно считать вполне целостным и законченным, хотя любой из них имеет не только сильные, но и слабые стороны. Выразительные возможности метода Буча особенно важны на этапах проектирования и конструирования модели. OOSE великолепно приспособлен для анализа и формулирования требований, а также для высокоуровневого проектирования. ОМТ-2 оказался особенно полезным для анализа и разработки информационных систем, ориентированных на обработку больших объемов данных.
В середине 90-х годов, Г. Буч (компания Rational Software Corporation), А. Джекобсон (Objectory) и Дж. Рамбо (General Electric) предприняли попытку объединить свои методы, уже получившие мировое признание как наиболее перспективные в данной области. Являясь основными авторами языков Booch, OOSE и ОМТ, они попытались создать новый, унифицированный язык моделирования. Начав унификацию, авторы поставили перед собой три главные цели:
моделировать системы целиком, от концепции до исполняемого артефакта, с помощью объектно-ориентированных методов;
решить проблему масштабируемости, которая присуща сложным системам, предназначенным для выполнения ответственных задач;
создать такой язык моделирования, который может использоваться не только людьми, но и компьютерами.
В конце 1995 года появилась пробная версия унифицированного языка моделирования (Unified Modeling Language, UML), который был ориентирован на решение задач первых двух этапов ЖЦ ПО (анализ и проектирование). Его появление было воспринято с большим оптимизмом всем сообществом корпоративных программистов.
Ответы на 1*2*3
4.//////////////////////4////////////////4/////////////////////////4/////////////////////4/////////////////////4/////////////////////////4///////////////////4/////////////
В конце 1995 года появилась пробная версия унифицированного языка моделирования (Unified Modeling Language, UML), который был ориентирован на решение задач первых двух этапов ЖЦ ПО (анализ и проектирование). Его появление было воспринято с большим оптимизмом всем сообществом корпоративных программистов. На сегодняшний день UML является фактическим стандартом описания программных систем и многие производители предлагают пакеты, позволяющие строить диаграммы UML и интегрировать их в рамках модели, а также обеспечивать генерацию программного кода на основе этих моделей. Наиболее известным является пакет Rational Rose компании Rational Software, которая сейчас является одним из подразделений фирмы IBM. Существуют и другие системы – Together Control Center, Model Maker и Bold (компания Borland) Select Enterprise, Visual UML и др.
Язык моделирования UML поддерживает большое количество возможных статических и динамических моделей, в том числе модель подсистем и модель последовательностей. Он широко используется ведущими разработчиками ПО как метод моделирования программных продуктов на всех стадиях жизненного цикла разработки программных систем.
5///////////////////////////5/////////////////////////////5////////////////////////////5///////////////////////////////////5/////////////////////////////////////////5/////////////////////////////////5////////////////////////////5