Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Объектно-ориентированные методы анализа и проектирования ПО.

Содержание:

Введение

Рост спроса в программные концепции в наше период представляется результатом этого, что же согласно критерию удешевления, увеличения прочности и повышения размера изготовления pc автоматизирование работы Лица с поддержкой pc делается всегда наиболее интересной. С лета в время увеличивается трудность и многообразие концепций, возымевших в интернациональной учено-промышленной практике наименование концепций, усиленно использующих программное предоставление (Software Intensive Systems, SIS). С целью исследований SIS характерны крупномасштабные планы: 10-ки либо сотки создателей, месяцы либо года исследования, большие валютные ресурсы.

Производство программного обеспеченья в наше период представляется самой крупной областью всемирный экономики, в каковой захвачены множество экспертов, напрямую изготовляющих программные продукты питания либо участвующие в данном ходе [20, с.11].

Накопленный к истинному времени навык формирования программного обеспеченья информативных концепций демонстрирует, что же данное непростая и сложная деятельность, объединенная с масштабами исследования, меняющимися критериями наружных и внутренних условий настоящей сферы исследования, призывающая высочайшей квалификации участвующих в ней экспертов.

Целью проектирования информативных концепций (ИС) представляется предоставление успешного функционирования концепций, а кроме того взаимодействия юзеров и создателей ИС. Собственно высококачественное планирование гарантирует формирование такого рода концепции, что может работать рядом непрерывном совершенствовании нее промышленных, программных, информативных элементов и увеличивать диапазон реализуемых административных функций [19, с.37].

При конструировании информативных концепций применяется 2 расклада: высокофункционально-крупномодульный, предстающий Долею наиболее всеобщего скелетного расклада и объектно-направленный, применяющий объектную декомпозицию. Рядом данном устройство концепции описывается в определениях предметов и взаимосвязей среди ними, а действия концепции описывается в определениях размена оповещениями среди предметами [10, с.106].

  1. Объектно-ориентированные методы анализа и проектирования ПО.

    1. Основные элементы объектной модели.

К главным суждениям объектно-нацеленного расклада (составляющим объектной модификации) принадлежат:

• объект;

• класс;

• атрибут;

• операция;

• полиморфизм;

• компонент;

• связи.

Объект обусловливается равно как осязаемая суть (tangible entity) — объект либо феномен (процедура), обладающая Точно устанавливаемое действия.

Объект имеет возможность демонстрировать собою абстракцию определенной сути настоящей сферы (предмет действительного планеты) либо программной концепции (строительный предмет). Какой угодно предмет владеет капиталу (state), действием (behavior) и особенностью (identity).

Состояние предмета - один с вероятных обстоятельств, в каковых некто имеет возможность быть, оно меняется с временем.

Состояние предмета характеризуется списком абсолютно всех вероятных (постоянных) качеств этого предмета и нынешными значимостями (динамическими) любого с данных качеств. Положение предмета обусловливается значимостями его качеств (атрибутов) и взаимосвязями с иными предметами.

Поведение устанавливает воздействия предмета и его отдачу в требования с иных предметов.

Поведение определяет влияние предмета в прочие предметы, изменяющее их положение. По-другому заявляя, действия предмета целиком обусловливается его поступками. Действия является с поддержкой комплекта уведомлений, улавливаемых предметом (действий, что имеет возможность совершать предмет).

Каждый предмет владеет оригинальной особенностью.

Индивидуальность — данное характеристики предмета, отличающие его с абсолютно всех иных предметов.

Структура и действия похожих предметов устанавливают единый с целью их группа. Определения «экземпляр класса» и «объект» представлены равносильными.

Графическое понимание предметов в слоге прогнозирования UML представлено ниже.

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-6eM9hI.jpg

Класс — данное масса предметов, сопряженных одинаковостью качеств, действия, взаимосвязей и семантики.

Класс инкапсулирует (связывает) в себя сведения (свойства) и действия (процедуры). Группа представляется отвлеченным определением предмета и работает в свойстве стандарта с целью формирования предметов. Графичное понимание класса в слоге UML представлено в злак. 34.2. Группа представляется в варианте прямоугольника, разбитого в 3 Доли. В 1-ый находится название класса, в 2-ой — его свойства. В заключительной Доли находятся процедуры класса, отображающие его действия (воздействия, исполняемые классом). Далее приведён образец класса TFrac (элементарная часть) в слоге Object Pascal. С поддержкой данного класса выполнены несложные дроби. Предметом данного класса представляется элементарная часть.

Любой предмет представляется экземпляром (instance) класса. Установление классов и предметов — один с наиболее непростых вопросов объектно-нацеленного проектирования.

Атрибут — поименованное качество класса, характеризующее интервал возможных значимостей, что имеют все шансы получать экземпляры этого характеристики.

Атрибут - данное компонент данных, взаимосвязанный с классом. К примеру, у класса Company (Предприятие) имеют все шансы являться свойства Name (Наименование), Address (Местоположение) и NumberOfEmployees (Количество предназначающихся).

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-enRb61.jpg

Рис. Графическое представление класса

Таким (образом равно как свойства находятся изнутри класса, они спрятаны с иных классов. В взаимосвязи с данным имеет возможность потребоваться обозначить, которые игра обладают возможность Разбирать и менять свойства. Данное качество именуется видимостью атрибута (attribute visibility).

У атрибута допускается установить 3 вероятных значимости данного параметра. Осмотрим любой с их в контексте образца (см. злак. 34.2). Пускай существует группа Employee с атрибутом Address и группа Company:

Public (единый, доступный). Данное роль фикции подразумевает, что же признак достаточно заметен абсолютно всеми прочими классами. Какой угодно группа имеет возможность проглядеть либо поменять роль атрибута. В этом случае группа Company имеет возможность поменять роль атрибута Address класса Employee. В согласовании с нотацией UML единому атрибуту предшествует признак «+».

Private (замкнутый, тайный). Соответственный признак никак не заметен практически никаким иным классом. Группа Employee достаточно понимать роль атрибута Address и сумеет менять его, однако группа Company никак не сумеет его буква заметить, буква готовить к печати. В случае если данное потребуется, некто обязан спросить группа Employee проглядеть либо поменять роль данного атрибута, что же как правило совершается с поддержкой единых действий. Замкнутый признак отмечается символом «-» в согласовании с нотацией UML.

Protected (безопасный). Такого рода признак доступен только лишь лично классу и его потомству в иерархии наследования.

Допустим, существует 2 разных вида работников — с ежечасный оплатой и в окладе. Подобным способом, отпрысками класса Employee станут 2 класса — HourlyEmp и SalariedEmp. Безопасный признак Address допускается проглядеть либо поменять с классов Employee, HourlyEmp и SalariedEmp, однако никак не с класса Company. Наставление UML с целью оберегаемого атрибута — данное признак «#».

В совокупном случае свойства рекомендовано совершать прикрытыми либо оберегаемыми. Рядом данном получается исключить условия, если роль атрибута меняется абсолютно всеми классами концепции. Взамен данного закономерность перемены атрибута достаточно заключена в этом ведь классе, что же и непосредственно данный признак.

Определенное влияние 1-го предмета в иной с мишенью спровоцировать надлежащую отдачу именуется операцией. Процедура — данное осуществление обслуживание, какую допускается затребовать у каждого предмета этого класса.

Операции отображают действия предмета. Процедура-требование никак не меняет капиталом предмета. Процедура-группа имеет возможность поменять положение предмета. Итог процедуры находится в зависимости с нынешного капиталом предмета.

Как норма, в объектных и объектно-направленных стилях программирования процедуры, исполняемые надо сведениям предметом, именуются способами и представлены составляющий Долею установления класса.

Операции осуществят сопряженное с классом действия (по-другому заявляя, осуществят прямые обязанности класса — responsibilities). В просторном значении прямые обязанности класса разделяются в 2 группы.

Знание (обусловливается свойствами класса):

• наличие данных о сведений либо вычисляемых величинах;

• наличие данных о сопряженных предметах.

Действие (обусловливается операциями класса):

• выполнение определенных операций лично предметом;

• инициация операций иных предметов;

• координация операций иных предметов.

Операция содержит 3 Доли — название, характеристики и вид отдаваемого значимости. Характеристики - данное доводы, получаемые операцией «на входе». Вид отдаваемого значимости принадлежит к итогу воздействия процедуры.

В слоге UML процедуры обладают последующую нотацию:

Имя Процедуры (довод 1: вид сведений довода 1, довод 2: вид сведений довода 2,...): вид отдаваемого значения

Существуют 4 разных вида действий.

• Операции осуществлении (implementor operations) осуществят отдельные функции (операции). Подобные процедуры обнаруживаются посредством разбора диаграмм взаимодействия UML.

• Операции управления (manager operations) распоряжаются формированием и истреблением предметов. В данную группу поступают конструкторы и деструкторы классов.

• Атрибуты как правило случаются прикрытыми либо оберегаемыми. Для того никак не меньше, прочие игра порой обязаны рассматривать либо менять их значимости. С целью данного имеются процедуры допуска (access operations).

• Вспомогательными (helper operations) именуются подобные процедуры класса, что нужны ему с целью исполнения его прямых обязанностей, однако о каковых прочие игра никак не обязаны ничто понимать. Данное замкнутые и оберегаемые процедуры класса.

Понятие полиморфизма имеет возможность являться интерпретировано, равно как умение класса относиться наиболее Нежели 1 виду.

Полиморфизм — данное умение утаивать масса разных реализаций перед одним-единственным единым дизайном.

Интерфейс — комплекс действий, обусловливающих комплект услуг класса либо элемента. Сокет никак не устанавливает внутреннюю текстуру, всегда его процедуры обладают раскрытую подобие.

Полиморфизм непосредственно сопряжен с наследованием. Юниорат обозначает создание новых классов в базе имеющихся с перспективой прибавления либо переопределения качеств (атрибутов) и действия (действий).

Объектно-направленная концепция первоначально основывается с учетом нее развития. Юниорат и полиморфизм гарантируют вероятность установления новой функциональности классов с поддержкой формирования выводных классов — внуков базисных классов. Отпрыски наследуют свойства материнских классов без перемены их начального отображения и дополняют рядом потребности свои текстуры сведений и способы. Установление выводных классов, рядом коем высокомерничаются только лишь отличия либо уточнения, в очень большой уровня бережет период и старания рядом изготовлении и применении спецификаций и программного кодировки.

Компонент — касательно самостоятельная и заменяемая Элемент концепции, исполняющая Точно некоторую функцию в контексте установленной зодчества.

Компонент предполагает собою физиологическую реализацию предназначенной абстракции и имеет возможность являться:

• компонентом начального кодировки;

• компонентом времени исполнения (run time);

• исполняемым компонентом.

Компонент гарантирует физиологическую реализацию комплекта интерфейсов.

Между компонентами объектной модификации имеются разные типы взаимосвязей. К главным видам взаимосвязей принадлежат взаимосвязи ассоциации, связи и обобщения.

Ассоциация (association) — данное смысловая взаимосвязанность среди классами.

Ее представляют в диаграмме классов в варианте обычной направления (злак. 34.3). Объединение отображает скелетные взаимосвязи среди предметами разных классов.

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-UGQMq8.jpg

Рис. 34.3. Ассоциация

Соединение (частей) (aggregation) предполагает собою фигуру ассоциации — наиболее крепкий вид взаимосвязи среди единым (сложным) предметом и его Элементами (компонентными предметами).

Язык UML гарантирует узкую содействие агрегации. Мощная модель агрегации представляется в UML композицией. В композиции составляющий предмет имеет возможность физиологически включать компонентные предметы. Однокомпонентный предмет имеет возможность относиться только лишь 1 сложному предмету.

Слабая модель агрегации в UML именуется легко агрегацией. Рядом данном составляющий предмет физиологически никак не включает однокомпонентный предмет. Единственный однокомпонентный предмет имеет возможность владеть некоторыми взаимосвязями ассоциации либо агрегации.

Агрегация представляется чертой среди классами с ромбом в сторонке единого предмета (злак. 34.4). Полный параллелограмм предполагает композицию (злак. 34.5).

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-rjr_eK.jpg

Рис. 34.4. Агрегация

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-NiapFl.jpg

Рис. 34.5. Композиция


Производительность (multiplicity) демонстрирует, равно как немало предметов принимет участие в взаимосвязи.
Мощность — данное Количество предметов 1-го класса, сопряженных с один предметом иного класса. Представление силы взаимосвязи в объектной модификации подобным образом суждениям силы и класса приспособления взаимосвязи в модификации «сущность-связь» (с правильностью вплоть до положения признака силы в диаграмме). С целью любой взаимосвязи допускается отметить 2 признака силы — согласно 1 в любом завершении взаимосвязи.
В слоге UML установлены последующие нотации с целью обозначения силы.

Значение мощности

Мощность

Значение

*

Много

0

Нуль

1

Один

0..*

Нуль или больше

1..*

Один или больше

0..1

Нуль или один

1..1

Ровно один

К примеру, рядом исследованию концепции регистрации направлений в институте допускается установить игра Course (академический курс действий) и Student (ученик). Среди ними определена взаимосвязанность, значащая визит направлений студентами. В случае если единственный ученик имеет возможность ходить с нулевой отметки вплоть до 4 направлений, а в 1 направлении имеют все шансы работать с ДЕС?ТИ вплоть до ДВАДЦАТЫЙ учащихся, в таком случае в диаграмме классов данное допускается показать последующим способом (злак. 34.6).

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-Dkkn3J.jpg

Рис 34.6. Мощность связи


Зависимое положение (dependency) — взаимосвязанность среди 2-я компонентами модификации, рядомкаковой перемены в спецификации 1-го компонента имеют все шансы спровоцировать из-за собоюперемены в ином составляющем.
Зависимость — некрепкая модель взаимосвязи среди покупателем и сервером (покупатель находится в зависимости с сервера и никак не обладает познаний о сервере). Зависимое положение представляетсяпунктирной чертой, сосредоточенной с покупателя к серверу (злак. 3).

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-whd86t.jpg

Рис 3. Зависимость

Зависимое положение среди 2-я компонентами обладает положение в этом случае, в случае если перемены в установлении 1-го компонента имеют все шансы спровоцировать из-за собою перемены в ином. Основания с целью связей имеют все шансы являться наиболее различными: единственный группа отправляет извещение иному; единственный группа содержит Элемент сведений иного класса; единственный группа применяет иной в свойстве параметра процедуры. В случае если группа изменяет собственный сокет, в таком случае каждое извещение, что некто отправляет, имеет возможность потерять собственную силу.

Обобщение (generalization) — взаимосвязанность «тип-подтип» осуществит система наследования (inheritance). Большая часть объектно-направленных стилей напрямую удерживают теорию наследования. Симпатия дает возможность 1 классу наследовать всегда свойства, процедуры и взаимосвязи иного.

В слоге UML взаимосвязи наследования именуют обобщениями и представляют в варианте боец с класса-внука к классу-прадеду (злак. 34.8).

https://studfiles.net/html/2706/180/html_ZEgvbpGg8z.7Mgy/img-lWBxTX.jpg

Рис. 34.8. Обобщение

Единые свойства, процедуры и/или взаимосвязи показываются в верхней степени иерархии.

Помимо наследуемых, любой подкласс обладает собственные свои неповторимые свойства, процедуры и взаимосвязи.

1.2. Основные принципы построения объектной модели.

При формировании каждого программного плана в свойстве 1-ый (и наиболее основного) стадии принимать постоянно планирование. В какой угодно технической выдержке перед проектированием как правило подразумевается какой-либо в таком случае унифицирован аспект, с поддержкой какого я разыскиваем дороге заключения установленной задачи, снабжая осуществление установленной проблемы. Из-за предположением Страуструпа: "Задача проектирования - обнаружение четкой и касательно легкий внутренней текстуры, что порой именуется зодчеством... План представляется конечным провиантом хода проектирования". Провиантами проектирования представлены модификации, что дают возможность нам осознать текстуру предстоящей концепции, уравновесить условия и обозначить схему осуществлении. Прогнозирование свободно разнесено в абсолютно всех технических дисциплинах, в существенной критерию с из-за этого, что же оно осуществит основы декомпозиции, абстракции и иерархии. Любая форма обрисовывает некоторую Элемент пересмотренной концепции, а я в собственную очередность создаем новые модификации в основе прежних, в каковых наиболее-меньше решительные. Модификации дают возможность нам осуществлять контроль наши провалы. Расцениваем действия любой модификации в обыкновенных и необыкновенных моментах, а далее коротаем надлежащие доделки, в случае если нас что же в таком случае никак не удовлетворяет. Объектно-направленная методика базируется в таким (образом именуемой объектной модификации. Главными нее принципами представляется: отвлечение, инкапсулирование, модульность, иерархия, классификация, сходство, и сохранность. Любой с данных основ непосредственно никак не другой, однако в объектной модификации они в первый раз использованы в совокупы. Первоначальные 4 определения представляется неотъемлемыми в этом осознании, что же без любого с их форма никак не достаточно объектно-направленной. Прочие представлены добавочными, обладая в типу, что же они могут быть полезны в объектной модификации, однако никак не неотъемлемые.

При конструировании непростой либо довольно объёмной программной концепции ее, равно как норма, разделяют в Доли, любую с каковых далее оценивают и хотят сделать раздельно. Рядом данном применяется или многофункциональное разделение концепции, или объектная соединение.

При многофункциональном разделении программной концепции ее устройство имеет возможность являться изображена источник-схемой, участки каковой отмечают исполняемые функции, а взаимосвязи показывают очередность их исполнения. Программные модули, реализующие функции, как правило, применяются только лишь в составе предоставленной концепции.

При объектной декомпозиции концепция расшибается в предметы либо элементы, что взаимодействуют товарищ с ином, перебрасываясь оповещениями. Уведомления обрисовывают либо предполагают собою отдельные действия. Приобретение предметом уведомления стимулирует его и подталкивает совершать потребованные его программным кодом воздействия. Равно как результат, программная концепция перестает являться последовательностью установленных в рубеже кодировки операций, а делается событийно-управляемой. Организаторами происшествий имеют все шансы являться никак не только лишь предметы концепции, однако и ее наружное общество, к примеру, юзеры.

Объекты обладают характеристики и способы.

Свойства предмета - данное значимости, что ставятся с целью установления его типа и действия.

Методы предмета – данное программные операции, обеспечивающие осуществление им установленных операций.

Совокупность предметов, обладающих единый комплект качеств и характеризующихся равным действием, именуется классом. Игра имеют все шансы основывается согласно иерархическому принципу, если единственный группа имеет возможность являться подклассом иного класса. С установления класса необходимо, что же любой предмет представляется экземпляром 1-го установленного класса.

Важной характерной чертой предмета представляется его независимость и вероятность применения в свойстве библиотечного элемента слога программирования. Подобным способом, как-то раз созданный и организованный макропрограммный шифр имеет возможность неоднократно использоваться в разных программных модулях. Для того чтобы подтолкнуть предмет осуществить требуемые воздействия довольно определить его характеристики и спровоцировать соответственный способ. Рядом присутствии с целью применяемого слога программирования сформированной библиотеки частей создание проектов объединяется, в огромной собственной Доли, к связыванию существующих предметов, что же значительно упрощает и стимулирует процедура проектирования. Подобная методика исследования программных модулей приобрела наименование объектно-нацеленного программирования.

Основными принципами объектно-нацеленного программирования представлены юниорат, инкапсулирование и полиморфизм.

Принцип, в согласовании с каким понимание о наиболее совокупной группы допускается использовать с целью наиболее тесной группы, именуется наследованием. Юниорат непосредственно сопряжено с иерархией классов. Рядом данном, в случае если определенный материнский группа владеет зафиксированным комплектом качеств и действием, в таком случае исходный с него группа обязан включать данный ведь комплект качеств и владеть подобным ведь действием, а кроме того добавочными особенностями и типами действия, что станут предопределять неповторимость основанного подобным способом класса.

Принцип инкапсуляции определяет утаивание элементов внутреннего аппарата классов с наружных согласно взаимоотношению к деревену предметов либо юзеров. В таком случае принимать, взаимодействующему с классом предмету либо юзеру никак не необходимо понимать, каковым способом выполнен этот либо другой способ класса, Для того чтобы им пользоваться.

Полиморфизм в объектно-направленном программировании обозначает, что же воздействия, исполняемые одинаковыми способами, имеют все шансы различаться в связи с этого, тот или иной с классов они принадлежат.

1.3.Преимущества и недостатки объектно-ориентированного подхода к проектированию.

ДОСТОИНСТВА ООП

От каждого способа программирования я ожидаем, что же некто несомненно поможет нам в постановлении наших трудностей. Однако одной с наиболее существенных трудностей в программировании представляется трудность. Нежели более и труднее схема, для того значительнее делается разделить нее в незначительные, Точно воспроизведенные Доли. Для того чтобы преодолеть трудность, мы обязаны отвлечься с небольших элементов. В данном значении игра предполагают собою крайне практичный механизм.

Классы дают возможность осуществлять проектирование с нужных элемент, владеющих легкими приборами, что же предоставляет вероятность отвлечься с элементов осуществлении.

Данные и процедуры совместно формируют некоторую суть и они никак не «размазываются» согласно целой проекте, равно как данное зачастую случается в случае процедурного программирования.

Местоположение кодировки и сведений делает лучше четкость и практичность обслуживания программного обеспеченья.

Инкапсуляция данных оберегает более кризисные сведения с неразрешенного допуска.

ООП предоставляет вероятность формировать расширяемые концепции (extensible systems). Данное один с наиболее существенных плюсов ООП и собственно оно различает этот аспект с классических способов программирования. Расширяемость (extensibility) обозначает, что же имеющуюся концепцию допускается вынудить трудиться с новыми элементами, к тому же без внесения в ее тот или иной-или перемен. Элементы имеют все шансы являться добавлены в рубеже исполнения.

Расширение вида (type extension) и происходящий с него полиморфизм неустойчивых становятся нужными в основном в последующих моментах.

Обработка неоднородных строений сведений. Проекта имеют все шансы трудиться, никак не утруждая себе исследованием типа предметов. Новые типы имеют все шансы являться добавлены в какой угодно период.

Изменение действия в период исполнения. В рубеже исполнения единственный предмет имеет возможность являться заменен иным. Данное имеет возможность послужить причиной к изменению метода, в коем применяется этот предмет.

Реализация наследственных элемент. Методы допускается подводить итог вплоть до такого рода уровня, что же они ранее могут трудиться наиболее, Нежели с один типом предметов.

Доведение полуфабрикатов. Элементы не имеется необходимости подстраивать перед установленное дополнение. Их допускается хранить в библиотеке в варианте полуфабрикатов (semifinished products) и увеличивать согласно критерию потребности вплоть до разных завершенных товаров.

Расширение скелета. Самостоятельные с дополнения Доли настоящей сферы имеют все шансы являться выполнены в варианте скелета и в последующем расширены из-за расчет прибавления Элементов, специфичных с целью определенного дополнения.

Многоразового применения программного обеспеченья в практике достичь никак не получается с-из-за этого, что же имеющиеся элементы ранее никак не соответствуют новым условиям. ООП может помочь данного достигнуть без патологии деятельность ранее существующих покупателей, что же дает возможность нам достать максимально с многоразового применения элемент.

Мы уменьшаем период в исследование, что с выгодой имеет возможность являться отдано иным планам.

Компоненты многоразового применения как правило включают значительно меньше погрешностей, Нежели снова созданные, так как они ранее никак не единожды подверглись контролю.

Когда некоторая элемента применяется незамедлительно некоторыми покупателями, в таком случае усовершенствования, вписываемые в нее шифр, в то же время проявляют собственное позитивное воздействие и в масса трудящихся с ней проектов.

Если схема основывается в типичные элементы, в таком случае нее устройство и общепользовательский сокет делаются наиболее унифицированными, что же упрощает нее восприятие и упрощает нее применение.

Подводя результат произнесенному, сформулируем плюсы ООП:

1. применение рядом программировании определений, родных к настоящей сферы;

2. вероятность благополучно руководить крупными размерами начального кодировки благодаря инкапсуляции, в таком случае принимать скрытию элементов осуществлении предметов и упрощению текстуры проекта;

3. вероятность неоднократного применения кодировки из-за расчет наследования;

4. относительно элементарная вероятность изменения проектов;

5. вероятность формирования и применения библиотек предметов.

Эти плюсы в особенности безусловно обнаруживаются рядом исследованию проектов немалого размера и классов проектов. Тем не менее ничего никак не предоставляется бесплатно: формирование объектно-направленной проекта предполагает собою крайне сложную проблему, по¬скольку призывает исследования иерархии предметов, а слабо спроектированная иерархичность имеет возможность объединить к нулю всегда плюсы объектно-нацеленного расклада.

Кроме этого, мысли ООП никак не несложны с целью осознания и, в характерные черты с целью практического использования. Для того чтобы качественно пользоваться отделанные предметы с библиотек, следует изучить высокий размер довольно непростой данных. Безграмотное ведь использование ООП правомочно послужить причиной к формированию чрезмерно непростых проектов, что нельзя налаживать и модернизировать.

2. МИНУСЫ ООП

Объектно-направленное автопрограммирование призывает познания 4 предметов.

(1) Необходимо сознавать базисные концепции, подобные равно как игра, юниорат и динамическое объединение. С целью разработчиков программного обеспечения, ранее приятелей с определением модуля и с отвлеченными видами сведений, данное затребует наименьших стараний. С целью этих ведь, кто именно никогда в жизни никак не применял инкапсуляцию сведений, данное имеет возможность обозначать перемены миропонимания и имеет возможность забрать в исследование существенное число времени.

(2) Многоразовое применение призывает с разработчика программного обеспечения ознакомиться с крупными библиотеками классов. А данное имеет возможность быть труднее, Нежели в том числе и исследование нового слога программирования. читальня классов практически предполагает собою воображаемый речь, что имеет возможность содержать в себе сотки видов и тыс. действий. В слоге Smalltalk, к образцу, вплоть до этого, равно как переключиться к фактическому программированию, необходимо исследовать существенную Элемент его библиотеки классов. А данное также призывает времени.

(3) Проектирование классов — цель гораздо наиболее непростая, Нежели их применение. Планирование класса, равно как и планирование слога, призывает немалого навыка. Данное итерационный процедура, в каком месте требуется обучаться в собственных ведь оплошностях.

(4) Очень тяжело исследовать игра, никак не обладая способности их «пощупать». Только лишь с покупкой недостаточно-мальского навыка допускается решительно себе ощутить рядом службе с применением ООП.

Как я лицезрели, старания в овладение базисных концепций не слишком велики, однако во в случае библиотек классов и их применения они имеют все шансы являться весьма значимыми.

Поскольку элемента осуществлении классов как правило неведомы, в таком случае разработчику программного обеспечения, в случае если некто желает сориентироваться в этом либо другом классе, необходимо основываться в документацию и в применяемые фамилии. И период, что существовало сэкономлено в этом, что же получилось ограничиться без сочинения личного класса, обязано являться частично израсходовано (в особенности сначала изучения) в таком случае, Для того чтобы сориентироваться в имеющемся классе.

Документирование классов — цель наиболее сложная, Нежели данное существовало в случае операций и модулей. Потому как какой угодно способ имеет возможность являться переопределен, в документации обязано говориться никак не только лишь о этом, что же создает этот способ, однако кроме того и о этом, в котором контексте некто возбуждается. Так как переопределенные способы как правило возбуждаются никак не покупателем, а лично каркасом. Подобным способом, разработчик программного обеспечения обязан понимать, которые обстоятельства исполняются, если возбуждается этот способ. С целью отвлеченных способов, что пусты, в документации обязано в том числе и говориться о этом, с целью тот или иной полнее подразумевается пользоваться переопределяемый способ.

В непростых иерархиях классов степь и способы как правило наследуются с различных степеней. И никак не постоянно легко и просто установить, которые степь и способы практически принадлежат к этому классу. С целью извлечения такого рода данных необходимы особые приборы в виде навигаторов классов. В случае если определенный группа раздается, в таком случае любой способ как правило уменьшают пред передачей уведомления базисному классу. Осуществление процедуры, подобным способом, рассредоточивается согласно многим классам, и Для того чтобы осознать, равно как симпатия функционирует, нам требуется тщательно рассматривать целый шифр.


Способы, равно как норма, в общем операций, потому как они реализовывают только лишь 1 процедуру надо сведениями. Однако число способов значительно больше. Сжатые способы имеют для того превосходством, что же в их проще ориентироваться, неловкость ведь их сопряжено с для того, что же шифр с целью обрабатывания уведомления порой «размазан» согласно большинству небольшим способам.

Абстракция сведений ограничивает эластичность покупателей. Покупатели имеют все шансы только совершать эти процедуры, что дает им этот либо другой группа. Они ранее решены безграничного допуска к сведениям. Основания тут подобны для того, что же побудили к существования применение высокоуровневых стилей программирования, а собственно, Для того чтобы исключить малопонятных программных строений.

Абстракцией сведений никак не необходимо пользоваться. Нежели более сведений тайно в недрах класса, для того труднее его увеличивать. Начальный пунктом тут обязано являться никак не в таком случае, что же покупателям никак не допускается понимать о этих либо других сведений, а в таком случае, что же покупателям с целью деятельность с классом данных сведений понимать никак не необходимо.

Часто допускается чувствовать, что же ООП представляется малоэффективным. Равно как ведь проблема обстоит в реальности? ? обязаны Точно осуществлять граница среди неэффективностью в рубеже исполнения, неэффективностью в значении распределения памяти и неэффективностью, сопряженной с избыточной универсализацией.

(1) Неэффективность в рубеже исполнения. В стилях вида Smalltalk уведомления разъясняются в периодисполнения проекта посредством исполнения розыска их в одной либо многих таблицах и из-за расчет подбора пригодного способа. Безусловно, данное небыстрый процедура. И в том числе и рядом применении лучших способов оптимизации Smalltalk-проекта в 10 единожды медленнее оптимизированных C-проектов [Cha92].

В смешанных стилях вида Oberon-2, Object Pascal и C++ направление уведомления приводит только к призыву При помощи знак процедурной неустойчивой. В определенных автомобилях уведомления исполняются только в 10% медленнее, Нежели простые процедурные призывы. И потому как уведомления попадаются в проекте значительно пореже иных действий, их влияние в период исполнения воздействия фактически никак не проявляет.

Однако, имеется иной момент, что касается период исполнения: данное обобщение сведений. Обобщение воспрещает прямой допуск к полям класса и призывает, Для того чтобы любая процедура надо сведениям и проделывалась При помощи способы. Подобная модель приводит к потребности исполнения процедурного призыва рядом любом доступе к сведениям. Тем не менее, если обобщение применяется только лишь вслед за тем, в каком месте симпатия нужна (т.е. никак не с одной только прихоти), в таком случае затормаживание полностью применимое.

(2) Неэффективность в значении распределения памяти. Динамическое объединение и контроль вида в рубеже исполнения призывают согласно быстро деятельность данных о виде предмета. Подобная данные находится в дескрипторе вида, и некто акцентируется единственный в группа. Любой предмет обладает скрытый знак в указатель вида с целью собственного класса. Подобным способом, в объектно-направленных програмках необходимая вспомогательная воспоминания проявляется в 1 указателе с целью предмета и в 1 дескрипторе вида с целью класса.

(3) Излишняя многофункциональность. Непродуктивность имеет возможность кроме того обозначать, что же схема обладает лишние способности. В библиотечном классе Зачастую находится более способов, Нежели данное действительно следует. А потому как бесполезные способы никак не имеют все шансы будут уничтожены, в таком случае они делаются умершим багажом. Данное никак не влияет в периодисполнения, однако оказывает большое влияние в рост величины кодировки.

Одно с вероятных заключений — создавать основной группа с наименьшим Количеством способов, а далее ранее осуществлять разные расширения данного класса, что дадут возможность увеличить работоспособность.

Другой аспект — предоставить вероятность компоновщику устранять бесполезные способы.

Такие умственные компоновщики ранее легкодоступны с целью разных стилей и операторных концепций.

Oberon выбрал 3-ий курс спасения с избыточной универсальности.

Программные Доли имеют все шансы прибавляться в рубеже исполнения. Подобным способом, не имеется необходимости использовать целую проект полностью, а допускается ограничиться только этими нее элементами, что в этот период нужны. Равно как продемонстрировала практическая деятельность, данное бережет значительно более кодировки, Нежели допускается достичь рядом удалении ненужных способов.

Таким способом, невозможно заявлять, что же ООП по большому счету малоэффективно.

Если игра применяются только вслед за тем, в каком месте данное на самом деле следует, в таком случае утрата производительности и в рубеже исполнения и в значении памяти объединяется фактически в не имеется.

Методология объектного проектирования на языке UML

2.1.Унифицированный язык моделирования UML

Унифицированный речь прогнозирования UML (Unified Modeling Language) предполагает собою речь с целью установления, понятия, проектирования и документирования программных, координационно-финансовых, промышленных концепций и иных концепций разной натуры. Речь сформирован основными экспертами в сферы объектно-нацеленного разбора и проектирования Гради Бучем, Джеймсом Рамбо и Айваром Джекобсоном с компании Rational Software. Основными в исследованию UML находилисьпоследующие миссии:

• обеспечить юзерам живописный речь зрительного прогнозирования, предоставляющий создавать модификации и делиться ими;

• рассчитать аппаратура расширяемости и квалификации концепций;

• гарантировать самостоятельность с определенных стилей программирования;

• гарантировать достоверность и общедоступность данного слога прогнозирования;

• побуждать увеличение рынка объектно-направленных денег;

• объединить наилучший практичный навык.

Язык UML признан в свойстве эталона самостоятельным консорциумом OMG (Object Management Group), занятым типизацией объектных технологий. Его воплотили в собственных провиантах многочисленные компании-изготовители CASE-денег (Rational Rose, Natural Engineering Workbench, ARIS Toolset). Речь UML применяется в процессе исследования проектов различной трудности сотками крупнейших и тыщами посредственных и небольших фирм в абсолютно всем обществе. В основании слога издаются продукты питания, дозволяющие перечислять UML-модификации в макропрограммный шифр (Java, C++, Visual Basic, Ada 95, Object Pascal), в таблицы реляционной основы сведений.

Система UML-модификаций содержит скелетные модификации и модификации действия.

Структурные модификации вводят:

q диаграммы классов (class diagrams) – с целью прогнозирования постоянной текстуры классов концепции взаимосвязей среди ними;

q диаграммы осуществлении (implementation diagrams):

• диаграммы частей (component diagrams) – с целью прогнозирования иерархии частей (подсистем) концепции;

• диаграммы размещения (deployment diagrams) – с целью прогнозирования физиологической зодчества концепции.

Модели действия вводят:

q диаграммы альтернатив применения (use case diagrams) – с целью прогнозирования дело-действий и многофункциональных условий;

q диаграммы взаимодействия (interaction diagrams):

• диаграммы последовательностей (sequence diagrams) – с целью прогнозирования хода размена оповещениями среди предметами;

• кооперативные диаграммы (collaboration diagrams) – с целью той вот ведь миссии;

• диаграммы состояний (statechart diagrams) – с целью прогнозирования действия предметов концепции рядом переходе с 1-го капиталом в иное;

• диаграммы деятельностей (activity diagrams) – с целью прогнозирования действия концепции в рамках разных альтернатив применения.

Результатом проектирования представляется масса классов предметов с дополненными способами обрабатывания атрибутов. В различие с многофункционального расклада исполняется коллективное прогнозирование сведений и действий.

Система объектно-направленных модификаций постепенно происходит с модификации всеобщего понятия функциональности концепции к модификации динамического взаимодействия предметов, в основании каковой имеют все шансы являться сгенерированы игра предметов в определенной программно-промышленной сфере.

2.2 Диаграмма вариантов использования (use case diagram)

Диаграммы альтернатив использования

Вариант применения (Use Case) предполагает собою очередность операций (транзакций), исполняемых концепцией в результат в явление, инициируемое наружным предметом (функционирующим личностью). Версия применения обрисовывает характерное связь среди юзером и концепцией. Виды применения формируются в ходе обсуждения с юзером функций концепции.

Действующее человек (actor) – данное значимость, какую юзер представляет согласно взаимоотношению к концепции. Функционирующие личности предполагают собою значимости, а никак не определенных людишек либо названия трудов. Демонстрировать в диаграмме функционирующих персон необходимо только лишь в этом случае, если им на самом деле нужны отдельные виды применения. Функционирующие личности разделяются в 3 ключевых вида:

• юзеры концепции;

• наружные концепции, взаимодействующие с предоставленной концепцией;

• период (в случае если с него находится в зависимости пуск тот или иной-или происшествий в концепции).

Для явного понятия альтернатив применения используются диаграммы альтернатив применения.

http://konspekta.net/mydocxru/baza9/1310867951.files/image019.jpg

2.3 Диаграмма классов (use case diagram)

График классов устанавливает виды классов концепции и разного семейства постоянные взаимосвязи, что имеются среди ними. В диаграммах классов представляются кроме того свойства классов, процедуры классов и лимитирования, что накладываются в взаимосвязи среди классами (см. п. 1.2).

Для группы классов, владеющих одинаковостью, используются пакеты. Комплект – единый система с целью учреждения компонентов модификации в категории. Любой компонент модификации имеет возможность вступать только лишь в единственный комплект. Комплект представляется орудием учреждения модификации в ходе исследования, увеличения нее управляемости и читаемости, а кроме того штукой управления конфигурацией.

Существуют ряд раскладов к сортировке классов. В-1-ый, допускается объединять их согласно стандарту (виду класса). К примеру, единственный комплект включает игра-сути настоящей сферы (Entities), иной – игра пользовательского интерфейса (Boundaries), 3-ий – распоряжающиеся игра (Control). Данный аспект имеет возможность являться может быть полезен с места зрения размещения концепции в сфере осуществлении.

Другой аспект состоит в соединении классов согласно их функциональности. Комплект Security (Защищенность) включает игра, соответствующие из-за защищенность дополнения. Прочие пакеты имеют все шансы именоваться EmployeeMaintenance (Деятельность с работниками), Reporting(Подготовление сведений) и ErrorHandling (Переработка погрешностей).

Если среди 2-я разными классами, пребывающими в различных пакетах, имеется зависимое положение, в таком случае зависимое положение обладает положение и среди данными пакетами. График пакетов (злак. 12) предполагает собою диаграмму, включающую пакеты классов и связи среди ними. График пакетов – данное модель диаграммы классов. Нее допускается полагать главным орудием управления совокупной текстурой концепции.

http://konspekta.net/mydocxru/baza9/1310867951.files/image025.jpg

Пакеты кроме того применяются с целью понятия подсистем (модулей) концепции (злак. 13). Система – данное сочетание пакета (содержит масса классов) и класса (осуществит комплект действий, что установлены в нее интерфейсах). Взаимосвязанность среди подсистемой и дизайном именуется взаимосвязью осуществлении. Система применяется с целью понятия элемента в ходе проектирования.

http://konspekta.net/mydocxru/baza9/1310867951.files/image027.jpg

2.4 Диаграммы взаимодействия (interaction diagrams).

Связь среди предметами в концепции воображаются диаграммами взаимодействия (interaction diagrams). Диаграммы взаимодействия разделяются в 2 ключевых вида диаграмм: диаграммы очередности (sequence diagrams) и кооперативные диаграммы (collaboration diagrams).

Как норма, график взаимодействия применяется с целью отображения действия в рамках 1-го вида применения. В такого рода диаграмме представляется серия предметов и эти уведомления, какими они меняются в рамках данного вида применения.

Диаграммы очередности и кооперативные диаграммы обдают в себя 1 данные, однако сформулированную различными методами. Диаграммы очередности демонстрируют связь предметов в времени и отображают очередность совершающихся происшествий. В диаграмме никак не отражаются взаимосвязи среди предметами. Кооперативные диаграммы дают возможность объемно размещать предметы, с целью этого. Для того чтобы правильнее продемонстрировать связь среди предметами. Кратковременная очередность передаваемых уведомлений отображается рядом поддержки нумерации уведомлений.

12-1.jpg

3. Средства реализации объектно-ориентированного моделирования информационных систем


3.1 IBM Rational Rose.

IBM Rational Rose Enterprise дает комплект функций, контролируемая модификацией, с целью исследования единого линии дополнений, в этом части в стилях Ada, ANSI C++, C++, CORBA, Java, Java EE, Visual C++ и Visual Basic. Данное программное предоставление дает возможность форсировать исследование подобных дополнений вследствие формированию кодировки в основании зрительных модификаций с применением UML (Unified Modeling Language).

Rational Rose Enterprise делает отличное предложение единый механизм прогнозирования и речь с целью упрощения пролетарой сферы и способности наиболее стремительного формирования высококачественного программного обеспеченья.

• Моделирование наиболее популярных дополнений — дает функции зрительного прогнозирования с целью исследования дополнений многочисленных видов.

• Разработка интернет-дополнений — делает отличное предложение приборы XML и интернет-прогнозирования интернет-дополнений.

• Интеграция проектирования и исследования дополнений — унифицирует службу состав плана посредством предоставления единых денег исполнения и нотации модификации UML.

3.2 Sparx Systems Enterprise Architect.

Enterprise Architect (EA) – CASE-механизм с целью проектирования и конструирования программного обеспеченья. EA удерживает спецификацию UML2.0+, обрисовывающую зрительный речь, каким имеют все шансы являться установлены модификации плана.

Некоторые с основных функций ЕА:

• создание компонентов UML-модификаций обширного диапазона назначения;

• размещение данных компонентов в диаграммах и пакетах;

• создание коннекторов среди компонентами;

• документирование разработанных компонентов;

• генерация кодировки с целью конструируемого СОГЛАСНО;

• реверс-консультация наличествующего кодировки в определенных стилях.

Используя EA, допускается совершать нападающий и возврат-консультация ActionScript, C++, C#, Delphi, Java, Python, PHP, VB.NET and Visual Basic классов, хронировать шифр и составляющие модификаций, конструировать и производить составляющие загон сведений. С модификаций имеет возможность являться стремительно основана документы в обычном rtf-формате и импортирована в Word с целью финишного редактирования, таким (образом ведь доступна генерирование HTML-бумаг.

EA удерживает всегда модели/диаграммы UML 2.0. С его поддержкой допускается имитировать дело движения, интернет веб-сайты, пользовательские интерфейсы, узы, конфигурации аппаратного обеспеченья, уведомления и т.д., производить оценку объем трудозатрат предназначенных трудов в часах, закреплять и проводить соединение условия, средства, диагностика проекты, недостатки и требования в перемены.

Т.о. EA – нынешний механизм, что удерживает всегда ньюансы цикла исследования, снабжая абсолютную трассировку с основания проектирования вплоть до размещения и помощи. Кроме того некто гарантирует содействие испытания, управления сопровождением и преобразованиями.

3.3 Соmponent Modeler семейства продуктов AllFusion.

AllFusion Component Modeler (прежде: Paradigm Plus) - CASE-способ с целью проектирования, визуализации и помощи высококачественных информативных концепций. Снабжая наращенную содействие общего проектирования и неоднократного применения частей модификации, Component Modeler значительно повышает эффективность указания создателей. Component Modeler упрощает формирование стратегически значимых, многозвенных дополнений масштаба компании, сподручных приспособиться к меняющимся нуждам коммерциала.

Создание эластичных, адаптирующихся приложений

Потребности коммерциала стремительно изменяются - значительно скорее, Нежели большая часть коллективных дополнений. В следствии увеличивается необходимость в новых, адаптирующихся прибавлениях. Приказам создателей необходимы ресурсы, что повышают эффективность работы и дают возможность сконцентрироваться в формировании непростых дополнений, определенных нуждам электрического коммерциала.

Независимо с этого, что же вам совершаете - измените и слите имеющиеся дополнения либо делаете новые, Component Modeler делает отличное предложение широкие способности согласно компонентному прогнозированию, дозволяющие формировать основательные дело-дополнения и стремительно отвечать в перемены условия в рынке.

Преимущества прогнозирования частей приложений

Component Modeler дает абсолютную содействие способов исследования частей и обширные способности прогнозирования, что дают возможность учреждениям:

• сократить период продвижения в рынок, что же дает возможность создателям конструировать и предопределять компонентные интерфейсы с целью интеграции неоднородных и наследуемых частей либо концепций в новые разрабатываемые планы;

• значительно повысить эффективность работы, вследствие способности неоднократного применения дело-модификаций, зодчеств, интерфейсов, кодировки и действий, основанных в трафаретах. Создатели имеют все шансы обмениваться навыком и вторично пользоваться отделанные элементы, Для того чтобы никак не совершать излишний единожды один и в таком случае ведь;

• улучшить эффективность коллективной деятельность вследствие контролю прибывающих и исходящих модификаций, а кроме того технологические процессы Complete Compare, что автоматизирует синхронизацию видов форма-форма и форма-шифр.

• защитить вложения в имеющиеся дополнения из-за расчет способности противоположного проектирования кодировки. Модификации дополнений формируются автоматом, что же предоставляет создателям вероятность визуализировать процедура проектирования, подтверждать документами его, определять элементы, что допускается пользоваться неоднократно, и реорганизовывать дополнения согласно критерию необходимости.

Отличительные характерные черты продукта

Легкость в применении унифицированного слога прогнозирования (UML). Component Modeler гарантирует абсолютную содействие UML, объектного слога прогнозирования с целью документирования, спецификации и концепции дополнений, основанных в составляющих. Зрительное прогнозирование может помочь создателям трудиться с непростыми модификациями, сознавать воздействие вписываемых перемен и гарантировать соотношение исследования условиям окончательного юзера.

Прямое и противоположное планирование. Component Modeler удерживает синхронизацию проектирования и осуществлении дополнения рядом каждом числе перемен начального кодировки и итераций проектирования, без маркеров кодировки либо издержки сведений, вероятных рядом типичном постановлении, основанном в XML.

Гибкость перенесения данных. Комбинирование XML (равно как ключа сведений) и стандартов XSL гарантирует необычайную эластичность перенесения данных равно как в Component Modeler, таким (образом и с него. Помимо этого, удерживается замена данными среди провиантами рода ADvantage.

Высокоинтеллектуальный соредактор диаграмм. Component Modeler содержит в себе вероятность "Intelligent Relationship", что упрощает формирование крупномасштабных модификаций, уменьшая число действий, требуемых с целью графичного понятия взаимосвязей.

Model Xpert Engine делает лучше свойство прогнозирования из-за счёт помощи UML с целью проектирования концепций действительного времени.

Подсказка сигнатуры. Component Modeler гарантирует всплывающие окошки с подсказками сигнатуры UML с целью любого перемены либо формирования предмета.

Настраиваемые отчёты, публикуемые в Интернет. Component Modeler производит настраиваемые доклады, что содействуют взаимопониманию среди членами указания создателей. Вследствие абсолютной помощи стандартов XML и XSL, данные доклады допускается производить в разных форматах и стремительно выпускать в Интернет. Component Modeler кроме того содержит в себе свободно протоколированный API, недорогой с каждого обычного скриптового слога.

Семейство товаров AllFusion: руководство исследованием ИС. Component Modeler - основной элемент набора AllFusion Modeling Suite фирмы Computer Associates. Набор кроме того содержит в себе: Process Modeler (прежде: BPwin), что связывает прогнозирование дело-действий, струй сведений и пролетарой работы в 1 элементарном в применении приборе; ERwin Data Modeler (прежде: ERwin), используемый с целью прогнозирования загон сведений, и Data Model Validator (прежде: ERwin Examiner) с целью усовершенствования согласованности и свойства модификаций сведений. Component Modeler и ERwin Data Modeler функционируют вместе, что же предоставляет вероятность создателям и специалистам загон сведений служить источником данные в реляционных базах сведений к типу, подходящей с целью применения объектно-направленными прибавлениями. Модификации дело-действий Process Modeler имеют все шансы являться синхронизированы с модификациями сведений ERwin Data Modeler с целью обеспеченья подходящей помощи дело-действий учреждения.

Интеграция Component Modeler с ERwin Data Modeler дает возможность учреждениям с лёгкостью пользоваться вторично и использовать в ходе коллективный исследования элементы загон сведений и дополнений, снабжая соотношение среди модификациями загон сведений и частей.

Component Modeler и комплект AllFusioin Modeling Suite относятся к роду товаров AllFusion, ходовых вместе и которые обеспечивают крепкую базу с целью формирования, распространения и управления прибавлениями, никак не сдерживая рядом данном подбор ключевых технологий исследования, способов либо сфер. Ряд AllFusion заключается с денег, специализированных с целью управления действиями и программами, прогнозирования и исследования, публикации познаний и визуализации. СОГЛАСНО рода AllFusion делает лучше умение заавтоматизировать движения житейского цикла скептически значимых дополнений, что же отвечает нуждам беспрерывно усугубляющегося и переменчивого планеты электрического коммерциала.

3.4 Microsoft Visual Modeler.

Visual Modeler - данное механизм, содействующий в формировании непростых программных концепций. Хроника формирования программного обеспеченья и, в частности, задач, сопряженных с его проектированием, в особенности в степени элемент, продемонстрировала, что же без присутствия эталона с целью отображения модификаций и без присутствия прибора, опорного такого рода эталон и дозволяющего зрительно показывать модификации, процедура планирование делается фактически невыполнимым. Масса фирм увлеклись исследованием такого эталона и приборов. В следствии возник в освещение UML - Unified Modeling Language и масса опорных его приборов, один с каковых представляется Visual Modeler.

Microsoft Visual Modeler

Что ведь может данный механизм? Некто, безусловно, может создавать модификации, заключающиеся с классов, элемент и всевозможных связей среди ними. Никак не станем заявлять тут досконально о употребляемой нотации, например только, что же симпатия целиком отвечает эталону UML. Visual Modeler может в основании спроектированной модификации формировать план в варианте начальных слов в разных стилях программирования и совершать противоположную процедуру - формировать форма, обладая подготовленный план. Всегда данное следует с целью этого, Для того чтобы целиком подкреплять правило повторяющийся проектирования, что свободно используется рядом исследованию программных концепций.

Visual Modeler и Rational Rose

Необходимо отметить, что же VM формировался в близком содружестве с фирмой Rational. Собственно следовательно некто наследовал многочисленные Признаки известного продукта данной компании Rational Rose. Тем не менее необходимо сознавать, что же VM формировался с целью этих, кто именно применяет Visual Studio в свойстве безвозмездного вспомогательного инвентаря. И следовательно никак не необходимо ждать с него лишь этого многообразия многофункциональных данных, характерных Rational Rose. В случае если оставить мнение в данные 2 продукта, в таком случае заметно, что же Ration Rose может:

• моделировать сценарии деятельность программной концепции, нее капиталом, схемы взаимодействия нее элемент;

• использовать в собственных модификациях DDL (Data Definition Language);

• имеет интегрированную вероятность расширения перечня возможностей с поддержкой VBA таким (образом ведь, равно как данное допускается совершить в каждом дополнении Microsoft Office;

• проводить выбор масштаба модификаций.

Отсюда заключение: Visual Modeler допускается анализировать равно как ничего другое, равно как рабочую форма Rational Rose. Тем не менее никак не необходимо не вспоминать, что же VM - механизм, что предоставляет вероятность почувствовать всегда плюсы применения зрительного прогнозирования рядом формировании непростых концепций, и рядом данном вам его приобретаете, получая какой угодно их товаров, вступающих в структура Visual Studio 6.0, в в таком случае период равно как Rational Rose нужно средств, добавочных и крайне больших...

Заключение.

Планирование информативных концепций — крайне сложная цель, призывающая времени и высочайшей квалификации участвующих в ней экспертов. Из-за период жизни программной инженерии возникло ряд раскладов к проектированию ИС, любой с каковых владеет собственными достоинствами и минусами.

В согласовании с разными понятиями о учреждения технологии проектирования ИС принято разделять в объектные и многофункциональные (скелетные).

Объектно-направленные технологические процессы формировались в разных сферах вычисляемыой технической равно как способ заключения трудностей, сопряженных с сложностью формируемых концепций. В основании объектно-нацеленного проектирования находится понимание о этом, что же программную концепцию следует конструировать равно как комплекс взаимодействующих товарищ с ином предметов, осматривая любой предмет равно как образец установленного класса, игра формируют иерархию.

Существует масса технологий и приборных денег, с согласно-силой каковых допускается осуществить наилучший план ИС, включая с стадии разбора и завершая формированием программного кодировки концепции. Самую большую распространенность в формировании планов ИС, основанных в объектно-направленном раскладе, приобрело прогнозирование с поддержкой UML.

Унифицированный речь прогнозирования UML (Unified Modeling Language) предполагает собою речь с целью установления, понятия, проектирования и документирования программных денег, координационно-финансовых, промышленных концепций и иных концепций разной натуры.

С поддержкой UML допускается создать форма учреждаемой концепции, что показывает никак не только лишь нее мировозренческие составляющие, подобные равно как функции концепции, бизнесc-движения, определенные элемента концепции: игра стилей программирования, схемы, БД, вторично применяемые компонененты ПО.

Список литературы

1. Объектно-ориентированное программирование. П.Б. Хорев 2011г.

2. Бертран Мейер. Объектно-ориентированное конструирование программных систем.

3. Лафоре Р. Объектно-ориентированное программирование

4. Мэтт Вайсфельд "Объектно-ориентированное мышление" изд. Питер, 2014 г

5.  П.Б.Хорев Объектно-ориентированное программирование с примерами на C#. изд. Форум, 2016г.

6. Принципы ООП одинаковые независимо от языка. Мэтт Зандстра.

7. Гради Буч «Объектно-ориентированный анализ и проектирование»

8. Э. Гамма «Приемы объектно-ориентированного проектирования».