Главная » Просмотр файлов » Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++

Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (1158635), страница 94

Файл №1158635 Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++) 94 страницаГради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++ (1158635) страница 942019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 94)

В команду разработчиков входили: Бернд Криг-Брюкнер (BerndKrieg-Brueckner), Бриан Вичман (Brian Wichmann), Анри Ледгар (HenryLedgard), Жан-Клод Ельяр (Jean-Claude Heliard), Жан-Лу Гайли (Jean-LoupGailly), Жан-Раймон Абриаль (Jean-Raymond Abrial), Джон Барнс (JohnBarnes), Майк Вуджер (Mike Woodger), Оливье Рубин (Olivier Roubine), С. А.Шуман (S. A. Schumann) и С. С. Весталь (S.

С. Vestal).Непосредственными предшественниками Ada являются Pascal и егопроизводные, включая Euclid, Lis, Mesa, Modula и Sue. Были использованынекоторые концепции ALGOL-68, Simula, CLU и Alphard. Стандарт ANSI дляAda был окончательно издан в 1983 году. Трансляторы Ada, хотя и не сразу,были реализованы для всех основных архитектур. Будучи созданнымблагодаря министерству обороны, язык Ada сегодня используется во многихгосударственных и коммерческих проектах.

Ada - традиционный языкразработки больших и сложных систем, например, системы управлениявоздушным движением в США и Канаде. Стандарты ANSI должныпересматриваться каждые пять лет, поэтому в настоящее время изучаетсяпроект Ada 9x. В нем в исходное определение языка внесен ряднезначительных исправлений: уточнения, устранение очевидных пробелов,исправления ошибок. В настоящем виде Ada является объектным, но необъектно-ориентированным языком. Проект 9x подразумевает расширениеязыка до уровня объектно-ориентированного.ОбзорРазработчики Ada прежде всего беспокоились о:• надежности и эксплуатационных качествах программ;• программировании как разновидности человеческой деятельности;• эффективности [20].В табл.

А-5 приведены основные характеристики языка Ada с точкизрения объектного подхода.Таблица А-5. AdaАбстракцииПеременные экземпляраДа Да Нет НетМетоды экземпляраПеременные класса МетодыклассаИнкапсуляцияПеременных МетодовМодульностьРазновидности модулейОткрытые,закрытыеОткрытые,закрытыеПакетИерархииНаследование ШаблоныМетаклассыТипизацияСильная типизацияПолиморфизмМногозадачностьДолгоживущие объектыПараллельностьСохраняемостьНет(входит в Ada9x)ДаНетДа Нет(входит в Ada9x)ДаНетСсылкиОсновным руководством по языку Ada является "Reference Manual forthe Ada Programming Language" [21].A.7. EiffelПроисхождениеАвтор Eiffel Бертран Мейер (Bertrand Meyer) создавал не только языкобъектно-ориентированного программирование, но и инструментпроектирования программ.Несмотря на сильное влияние Simula, Eiffel - вполне самостоятельныйобъектно-ориентированный язык со своей собственной средой разработки.Eiffel поддерживает динамическое связывание и статическуютипизацию, тем самым обеспечивая гибкость интерфейсов классов всочетании с безопасным использованием типов.

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

Нарушение утверждения вызывает исключительную ситуацию. Ееможно перехватить, обработать и попробовать вызвать тот же метод еще раз.ОбзорEiffel поощряет хорошее программирование, добротнуюспецификацию классов, сильную типизацию и повторное использование, какчерез наследование, так и через параметризацию. Формальная трактовкаисключительных ситуаций позволяет жестко специфицировать интерфейсыклассов при реализации.Eiffel предоставляет законченную среду разработки программ,включая специальный редактор с выделением синтаксиса, генератордокументации, библиотеки классов и броузер. Кроме того, поддерживаютсясредства управления кодом и сборкой программ.Свойства языка с точки зрения нашей модели показаны в табл. А-6.Таблица А-6.

EiffelАбстракцииПеременные экземпляра Методыэкземпляра Переменные классаМетоды классаДа ДаНет НетИнкапсуляцияПеременных МетодовЗакрытые Открытые, закрытыеМодульностьРазновидности модулейБлок (unit)ИерархииНаследование ШаблоныМетаклассыМножественное Да НетТипизацияСильная типизация Полиморфизм Да ДаПараллельностьМногозадачностьНетСохраняемостьДолгоживущие объектыНетСсылкиЛучше всего взять книгу Мейера "Object Oriented SoftwareConstruction" [22].А.8.

Другие объектно-ориентированные языкипрограммированияНа рис. А-2 вы найдете названия многих важных объектных иобъектно-ориентированных языков, в библиографии есть ссылки наинформацию о большинстве из них.ABCL/1ABEAcoreAct/1Act/2EmeraldNewFlavorsSASTAct/3ActorsFelixPascalOakUspSelfActraArgusARTBerkeley SmalltalkFOOPSObjectCobotSmalltalkConcurrent SmalltalkCSSACSTDirectorDistributed SmalltalkEiffelLoreMaceMELDMjolnerModPascalNeonPlasma 11POOL-TPROCOLQuick PascalQuicktalkROSSActorExperCommonLispExtended SmalltalkNIL0-CPUSCOOPSCOOPSAdaFlavorsFOOPlogOberonObject AssemblerSimulaSINAObject LispObject LogoObject OberonSmalltalk ATSmalltalk VSmallworld СOOPCOOPS+STROBETClassicBetaFRLBlazeGalileoGLISPObjectGarpPascalSPOOLC++ GypsyObjective-C SR С_talkHybridObjVLispSRLBrouhahaCantorInheritanceIntermissionOPALTrellis/Ow InnovAdalClascalJasmineKL-OneOrient84/KUniformOrbilwilh ClassesAdaTurbo Pascal 5.xCluster86CommonLoopsKRLOTMUNITSCommonObjectsKRSPCOLVulcanCommon ORBITLittleSmalltalkPIEXLISPConcurrentPrologLOOPSPL/LLZoom/VMCLOSРис.

А-2. Объектные и объектно-ориентированные языкипрограммированияВ работе Саундерса [23] дан обзор более восьмидесяти объектноориентированных языков. Автор выделил в них семь категория [24]:• ActorЯзыки, поддерживающие механизмделегирования.• ПараллельныеОбъектно-ориентированные, нацеленные напараллелизм.• РаспределенныеОбъектно-ориентированные языки, нацеленныена обработку распределенных объектов.• ОснованныеЯзыки, поддерживающие теорию фреймов. нафреймах• ГибридныеОбъектно-ориентированные надстройки надобычными языкам и.• Типа SmalltalkSmalltalk и его диалекты.• ИдеологическиеПриложения объектной ориентированности кдругим областям.• ОстальныеВсе остальные объектные языки.Словарь терминовCRC-карточки, CRC cards.

CRC — Class/Responsibilities/Collaborators,Класс/Ответствен-ности/Сотрудники; простое, но достаточно эффективное средствомозгового штурма при выявлении ключевых абстракций и механизмов.абстрактная операция, abstract operation. Объявленная, но не реализованнаяоперация в абстрактном классе. В C++ абстрактные операции объявляются как чистовиртуальные функции-члены.абстрактный класс, abstract class. Класс, который не может иметь экземпляров.Абстрактный класс пишется в предположении, что его конкретные подклассы дополнятего структуру и поведение, скорее всего, реализовав абстрактные операции.абстракция, abstraction. Существенные характеристики объекта, которыеотличают его от всех других объектов и четко определяют его концептуальные границыдля наблюдателя.

Абстрагирование — процесс выявления абстракций. Один из основныхэлементов объектной модели.агент, agent. Объект, который подвергается воздействию со стороны и самвоздействует на другие объекты. Обычно агенты создаются для выполнения некоторойработы по поручению актеров или других агентов.актер, actor.

Объект, воздействующий на другие объекты, но сам неподвергающийся воздействию с их стороны. В некоторых контекстах то же самое, чтоактивный объект.активный объект, active object. Объект, которому выделен свой потокуправления.алгоритмическая декомпозиция, algorithmic decomposition. Процессразделения системы на части, каждая из которых отражает этап общего процесса.Применение структурного подхода к проектированию приводит к алгоритмическойдекомпозиции, которая фокусируется на потоке управления в системеархитектура модулей, module architecture. Граф, вершины которогосоответствуют модулям, а ребра — отношениям модулей между собой.

Архитектурамодулей системы представляется совокупностью диаграмм модулей.архитектура процессов, process architecture. Граф, вершины которогосоответствуют процессорам и устройствам, а ребра — соединениям между ними. Дляописания архитектуры процессов системы используются диаграммы процессов.архитектура, architecture. Логическая и физическая структура системы,сформированная всеми стратегическими и тактическими проектными решениями.ассоциация, association. Отношение, означающее некоторую смысловую связьмежду классами.атрибут, attribute. Часть составного объекта (агрегата).базовый класс, base class. Наиболее общий класс в какой-либо структуре классов.В большинстве приложений есть несколько таких корневых классов.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее