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

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

PDF-файл Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++, страница 8 Объектно-ориентированный анализ и проектирование (53537): Книга - 7 семестрГради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++: Объектно-ориентированный анализ и проектирование - PDF, с2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Гради Буч - Объектно-ориентированный анализ и проектирование с примерами приложений на С++", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

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

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

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

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

Ясно, что не существует такого универсального метода, «серебряной пули» [43], который бы провел инженера-программиста по пути оттребований к сложной программной системе до их выполнения. Проектирование сложнойпрограммной системы отнюдь не сводится к слепому следованию некоему набору рецептов.Скорее это постепенный и итеративный процесс. И тем не менее использование методологиипроектирования вносит в яроцесс разработки определенную организованность.

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

Инструментыпомогают выявлять ошибки в процессе разработки.Хороший метод проектирования базируется на прочной теоретической основе и при этомдает программисту известную степень свободы самовыражения.Объектно-ориентированные модели. Существует ли наилучший метод проектирования?На этот вопрос нет однозначного ответа. По сути дела это завуалированный предыдущий вопрос:"Существует ли лучший способ декомпозиции сложной системы?" Если и существует, то пока онникому не известен.

Этот вопрос можно поставить следующим образом: «Как наилучшимспособом разделить сложную систему на подсистемы?» Еще раз напомним, что полезнее всегосоздавать такие модели, которые фокусируют внимание на объектах, найденных в самойпредметной области, и образуют то, что мы назвали объектно-ориентированной декомпозицией.Объектно-ориентированный анализ и проектирование — это метод, логическиприводящий нас к объектно-ориентированной декомпозиции. Применяя объектноориентированное проектирование, мы создаем гибкие программы, написанные экономнымисредствами. При разумном разделении пространства состояний мы добиваемся большейуверенности в правильности нашей программы.

В итоге, мы уменьшаем риск при разработкесложных программных систем.Так как построение моделей крайне важно при проектировании сложных систем,объектно-ориентированное проектирование предлагает богатый выбор моделей, которыепредставлены на рис. 1-4. Объектно-ориентированные модели проектирования отражаютиерархию и классов, и объектов системы.

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

Кроме того, мы определили ряд фундаментальных преимуществ, достигаемых врезультате применения такого подхода. Прежде чем мы представим систему обозначений ипроцесс проектирования, мы должны изучить принципы, на которых этот процесспроектирования основан: абстрагирование, инкапсуляцию, модульность, иерархию, типизацию,параллелизм и устойчивость.Рис. 1-4. Объектно-ориентированные моделиВыводы•Программам присуща сложность, которая нередко превосходит возможностичеловеческого разума.•Задача разработчиков программных систем — создать у пользователя разрабатываемой системы иллюзию простоты.•Сложные структуры часто принимают форму иерархий; полезны обе иерархии: иклассов, и объектов.•Сложные системы обычно создаются на основе устойчивых промежуточных форм.•Познавательные способности человека ограничены; мы можем раздвинуть ихрамки, используя декомпозицию, выделение абстракций и создание иерархий.•Сложные системы можно исследовать, концентрируя основное внимание либо наобъектах, либо на процессах; имеются веские основания использоватьобъектно-ориентированную декомпозицию, при которой мир рассматриваетсякак упорядоченная совокупность объектов, которые в процессе взаимодействиядруг с другом определяют поведение системы.•Объектно-ориентированный анализ и проектирование — метод, использующийобъектную декомпозицию; объектно-ориентированный подход имеет своюсистему условных обозначений и предлагает богатый набор логических ифизических моделей, с помощью которых мы можем получить представление оразличных аспектах рассматриваемой системы.Дополнительная литератураПроблемы, связанные с развитием сложных программных систем, были отчетливо описаны в классических работах Брукса (Brooks) [Н 1975] и [Н 1987].

В работах Гласса (Glass) [Н 1982],Defense Science Board [Н 1987], и Joint Service Task Force [Н 1982] можно найти более свежуюинформацию о современной практике программирования. Эмпирические исследования природы ипричин программистских неудач можно найти в работах ван Генучтена (van Genuchten) [Н 1991],Гвиндона (Guindon) и др. [Н 1987], Джонса (Jones) [H1992].Работы Саймона (Simon) [A 1962,1982] — богатый источник сведений об архитектуресложных систем. Куртуа (Courtois) [A 1985] применил эти идеи к области программногообеспечения.

Плодотворная работа Александера (Alexander) [11979] предлагает свежий подход кархитектуре. Питер (Peter) [I 1986] и Петроски (Petroski) [11985] изучали сложность в контекстесоответственно социальных и физических систем. Аллен и Стар (Alien and Starr) [A 1982] изучалииерархические системы в ряде предметных областей. Флуд и Кэрсон (Flood and Carson) [A 1988]предприняли формальное исследование сложности сквозь призму теории систем.

Волдрап(Waldrop) [A 1992] описал возникающую науку о сложности и ее использование при изучениибольших адаптивных систем, возникающего поведения и самоорганизации. Отчет Миллера(Miller) [A 1956] дает эмпирические свидетельства фундаментальных ограничивающих факторовчеловеческого сознания.По проектированию программного обеспечения есть ряд замечательных ссылок. Росс,Гудинаф и Ирвайн (Ross, Goodenough, and Irvine) [Н 1980], а также Зелковитс (Zeikowitz) [Н 1978]— это две классические работы, суммирующие существенные элементы проектирования.

Болееширокий круг работ по этому предмету включает: Дженсен и Тонис (Jensen and Tonies) [Н 1979],Саммервиль (Sommerville) [Н 1985], Вик и Рамамурти (Vick and Ramamourthy) [Н 1984], Вегнер(Wegner) [Н 1980], Пресман (Pressman) [Н 1992], Оман и Льюис (Oman and Lewis) [A 1990],Берзинс и Луки (Berzins and Luqi) [Н 1991] и Hг и Йeн(NgandYen) [Н 1990].

Другие статьи,касающиеся проектирования программного обеспечения , можно найти в Йордон (Yourdon) [Н1979] и Фриман и Вассерман( Freeman and Wasserman)[H 1993]. Две работы, Грэхема (Graham) [F1991] и Берарда (Berard) [Н 1993], предлагают широкое истолкование объектно-ориентированногопроектирования.Глейк (Gleik) [I 1987] предложил легко читаемое введение в хаосоведение.Глава 2Объектная модельОбъектно-ориентированная технология основывается на так называемой объектной модели.

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

Отличия обусловлены тем, что структурное проектирование основано на структурномпрограммировании, тогда как в основе объектно-ориентированного проектирования лежит методология объектноориентированного программирования, К сожалению, для разных людей термин «объектно-ориентированноепрограммирование» означает разное. Ренч правильно предсказал: «В 1980-х годах объектно-ориентированноепрограммирование будет занимать такое же место, какое занимало структурное программирование в 1970-х. но всембудет нравиться.

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