Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 108

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 108 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 1082019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Вгоойз,)г. ТЬе Муг!з!са! Мап-МоптЬ, АппВегзагу Ег[1 г!оп. Возтоп: АсЫ!зоп-%'ез!еу, 1995. [Кегп!8Ьап-99] Впав ЪЧ. Кегп!8Ьап, ВоЬ Р1[ге. ТЬе РгасСюе о! Ргойгап1ш1п8. Возгоп: А<И!зоп-'1Чез!еу, 1999. [Е!еЬегЬегг-89] Каг!)'. 1леЬегЬегг, АггЬцг). В!е!. СопгпЬцйопз го геасЬ1п8 оЬ|есп опепгес] с]ез18п апг] ргойгаппшп8. ООР81А'89 аз АСМ 51СРЕАЬ! 24, 11 (Хочеп1Ьег 1989) 11 — 22. [Чеппец!еп-00] А!!ап Чеппец!еп, 8согс 'чЧ.

АшЫег, Отей Вцшйагс[пег, ЕЫоп Мегж Тгечог М!з(е1дс,) !ш 8Ьцг, Рагпс]с ТЬоп1рзоп. ТЬе Е!ешепгз ог" ]ача 5!у!е. СашЬгЫ8е, !)К: СашЬг!сне Пшчегейту Ргезз, 2000. Упражнения 20.1. (4) Одна из методик повторного использования кода сводится к помещению метода в список аргументов другого метода. Например, одна из операций, определенных на бинарном дереве, — упорядоченная печать. Подпрограмма рпат(поае) распечатывает значения дерева, корнем которого является узел погге.

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

20.2. (3) Объединение схожих методов в одну операцию повышает вероятность повторного использования кода. Объедините приведенные в примерах методы в одну операцию при помощи переопределения, расширения или обобгцения. Укажите атрибуты, необходимые для отслеживания обоих типов счетов. 1) сазЬСЬесЬ(аогта!Ассоипг, сЬесЬ) — если значение сЬесЬ меньше баланса на счете аоппа(Ассоипг (обычныйСчет), оплатить чек н вычесть деньги со счета. В противном случае возвратить чек. 2) сазЬСЬесЬ(гезегиеАссоипг, сЬесЬ) — если значение сЬесЬ меньше баланса на счете гезегиеАссоипг (резервныйСчет), оплатить чек и вычесть деньги со счета. В противном случае проверить баланс резерва.

Если перевод резервных средств позволяет оплатить счет без превышения лимита, оплатить чек и обновить значения балансов. В противном случае возвратить чек. 20.3. (4) В листинге У20.1 приведена функция на языке С, создающая новую страницу в системе автоматизированного проектирования. Страница представляет собой именованную двухмерную область, которая может содержать текст и графику и может быть отображена на экране.

Для полного описания системы может потребоваться несколько страниц. Функция в листинге 454 Глава 20 а Стиль программирования создает новую вертикальную или горизонтальную страницу, после чего образует ее имя из заданного корня и суффикса. Оиа вызывает следующие функции языка С: Бадея (длииа строки), Бггсру (копироваиие строки), Бг)саг (коикатенация строк), та((ос (выделение памяти). Типы данных 5))еегТуре и ог)еег определены вие функции в том же модуле.

Функции БМеп, Бггсру, Бп.сат вызовут сбой системы, если в качестве любого аргумента им передать О. Таким образом, предлагаемый вариант функции может аварийно завершить работу при возникновении ошибок нескольких типов. К ошибке приведет нулевое значение аргументов гооГИате и виях, а также недопустимое значение 5))ееГТуре. Возможен отказ выделения памяти при вызове п)а((ос. 1) Перечислите все возможные варианты аварийного завершения функции.

В каждом случае укажите последствия. 2) Перепишите функцию таким образом, чтобы оиа ие могла аварийно завершиться из-за перечисленных вами ошибочных ситуаций. Вместо этого опа должна печатать сообщение об ошибке, что было бы полезно при отладке содержащей ее программы. Листинг У20.1. Создание страницы Бнеег сгеагезьеег (внеегтуре, гоогваае, вптг1х) Бпеестуре вьеестуре) сьаг *гоогкате, 'зп111х) ( сная *аа11ос (), *яггсру(), *вггсаг (), *внееснаае) 1пг вгг1еп(), гоогьепдгн, вптй1хьепдСП) Бнеег внеег, зеггзнеегвев(), Ьогьгзнеегиев()) гоогьепЧСЬ = всг1еп(гоосваае)) зпттгхЬепЧСП = вгг1еп(впг11х)) внеегкаае = аа11ос(гоогьепчгн + впттсхьепдгн + 1)) внееснате = всгсру(внееснате, гоосяате)) внееснаае вСгсаг(внееснаае, встт1х)) вв1гсн(внеегтуре) ( саве чвнттсаь: внеег = зегС5нееСНев()) Ьгеас) саве НОНьгОНТКЬ: внеег = Ьоггязьеесвев()) Ьгеах) внеес->паве = внееснаае) геспгп внеес) Разработка программного обеспечения К этому моменту вы уже научились довольно многому, прочитав первые три части нашей книги.

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

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

Обычно разработка основывается на опыте, полученном от предшествующих приложений. Устаревшие системы часто задают множество требований к их последователям. Из-за них возникают дополнительные сложности, связанные с преобразованием данных и интеграцией связанных систем. В главе 23 мы поговорим об этих вопросах. Четвертая часть завершает нашу книгу. Изучив ее, вы будете готовы перейти к самостоятельному объектно-ориентированному моделированию и его практическому применению. Мы будем рады вашим комментариям и рассказам, которые помогут нам углубить собственное понимание предмета. Пишите нам по адресу ЫаНа©сотрц1ег.огд. Итерационная разработка В письменном изложении процесс разработки может показаться линейным, но на самом деле это нежелательный артефакт носителя информации.

Истинная природа процесса разработки программного обеспечения — итерационная. На ранних этапах невозможно точно предвидеть устройство системы, из-за чего впоследствии приходится возвращаться к пройденным этапам, исправлять допущенные ошибки и вносить усовершенствования. Итерационная разработка (йегатгке г)ехе1оршепс) — это процесс, который делится на последовательность этапов или итераций, на каждом из которых достигается более точное приближение к требуемой системе, чем на предыдущих этапах (ВпшЬац8!ы051. 21.1. Обзор итерационной разработки Мы предпочитаем итерационный подхол к разработке всем прочим подходам.

Эту главу мы начнем со сравнения итерационной разработки с двумя другимн распространенными подходами: водопадной разработкой (раздел 21.2) и быстрым прототипированием (раздел 21.3). Затеи мы рассмотрим следующие вопросы, связанные с итерационной разработкой; ° масштаб итерации (раздел 21.4); ° выполнение итерации (раздел 21.5); ° планирование следующей итерации (раздел 21.6); ° моделирование и итерационная разработка (раздел 21.7); ° определение рисков (раздел 21.8). 21.2. Итерационная и водопадная модели В 80-х и 90-х годах прошлого века водопадный подход был доминирующей парадигмой жизненного цикла программ 11.агшап-03]. Как показано на рис.

21.1, в рамках этого подхода разработчики переходят от этапа к этапу в жесткой ли- 21.3. Итерационная разработка и быстрое прототипирование 457 нейной последовательности без всяких возвратов. Начало следующего этапа возможно только после завершения предыдущего. Рис. 21.1. Водопадный подход На собственном опыте сообщество разработчиков убедилось в неэффективности этого подхода для большинства приложений !Бог!гочз)г!-О1!. Водопадный полход пригоден для хорошо понятных приложений, где выход этапов анализа и проектирования вполне предсказуем, но такие приложения встречаются довольно редко. Для большинства приложений характерна неопределенность требований. Кроме того, в этом полхоле работоспособная система получается только после завершения всех этапов. Это затрудняет оценку успешности выполнения проекта и корректировку отклонений. Итерационная разработка, напротив, характеризуется наличием множества ключевых событий или вех (пи!езгопез) и позволяет обнаруживать просчеты на ранних стадиях, когла система еше гибкая и податливая к изменениям, которые обходятся лешевле.

Очевидно, что итерационная разработка более совершенна. 21.3. Итерационная разработка и быстрое прототипирование Быстрое прототипирование (гар!с! ргогогур!пя — рис. 21.2) состоит в быстрой разработке части программы и ее оценке в процессе практического использования. Полученный опыт учитывается при повторном проходе цикла разработки. В конечном итоге последний прототип поставляется заказчикам в виде готового приложения или же осуществляется переход к другому подходу.

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

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

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