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

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

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

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

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

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

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

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

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

Поэтому макропроцесс сконцентрирован на управлении риском ивыявлении общей архитектуры - двух управляемых компонентах, имеющихрешающее значение для сроков, полноты и качества проекта.В макропроцессе в большой степени сохранены традиционные фазыанализа и проектирования и процесс в меру упорядочен. Как показано на рис.6-2, макропроцесс обычно включает следующие действия:•Выявление сущности требований к программному продукту(концептуализация).•Разработка модели требуемого поведения системы (анализ).•Создание архитектуры для реализации (проектирование).•Итеративное выполнение реализации (эволюция).•Управление эволюцией продукта в ходе эксплуатации(сопровождение).•Рис. 6-2. МакропроцессУ всех нетривиальных программных разработок макропроцесспродолжается и после создания и внедрения системы.

Это особенно видно напримере организаций, специализирующихся на создании семейств программ,на которые часто выделяются значительные капиталовложения.Основная философия макропроцесса состоит в постепенном развитии.Как его определяет Вонк, "при разработке методом последовательногоразвития, система выстраивается шаг за шагом, причем каждая новая версиясодержит функциональность предыдущей, плюс новые функции" [14]. Этотподход чрезвычайно хорошо сочетается с объектно-ориентированнойпарадигмой и дает много возможностей для управления риском. Какутверждает Гилб: "Постепенная передача программ заказчику изобретена длятого, чтобы заранее предупредить нас о надвигающихся неприятностях" [15].Теперь детально рассмотрим каждое действие в макропроцессе.Естественно, одним из показателей зрелости организации, ведущейразработку, является знание случаев, когда надо обойти эти правила, что мыбудем отдельно отмечать в нашем обзоре.23Ну, конечно, не все, а большинство.

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

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

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

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

Часто онасостоит из единственного члена (который и есть тот самый24Если организация не сделает этого сама, то отдельные разработчики все равносделают это, не спрашиваясь у компании, в которой они работают. Так и возникаютновые программистские фирмы.

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

Решение приступить к разработке конечногопродукта нужно принимать с разумным учетом потенциальногориска, выявленного при опробовании концепции.Концептуализация не содержит ничего специфически объектноориентированного. Каждая программная парадигма должна предусматриватьопробование концепций. Однако, как часто бывает, разработка прототиповобычно происходит быстрее в тех случаях, когда на лицо зрелая объектноориентированная среда.Довольно часто концепции опробуются на одном языке (например, наSmalltalk), а разработка конечного продукта ведется на другом (скажем, C++).Путевые вехи и характеристики.

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

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

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