Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 7
Текст из файла (страница 7)
Ссылки [Вгоо]сз-95] Ргес!ег!с!с Р. Вгоо]сз, ]г. ТЬе МугЬ|са! Мап-МопгЬ, Аппгоегзату Ес((г1оп. Возсоп: АсЫ!зоп-Жез!еу, 1995. 1]асоЬзоп-99] !чаг ]асоЬзоп, Стас]у ВоосЬ, ]атее ВцшЬацВЬ. ТЬе (7пс17ес( 5о7)гааге Реое1ортеп1 Ртосехт. Возсоп: АсЫ!зоп-%ез!еу, 1999. ! 1лче-93] Тош 1.оче. ОЬ)ес1 Еехгопж Еехзопз Ееатпес? и ОЬ>ест-Опептес1 Репе!ортепг Ртасг!сед Хесч "с'ог]с 51С5 Воо1сз, 1993. ]Меуег-97] Вегсгапс1 Меуег.
О(уесг-Опепгес( 5о/ггеаге Согсятисг(оп, 5есопс1 Еа5гсоп. Негс(огс!зЫге, Епй!апс]: Ргепс!се Най 1псегпасюпа1, 1997. ]ВцтЬацйЬ-05] ]ашез ВпшЬацВЬ, 1чаг]асоЬзоп, Стас!у ВоосЬ. 7?се (7п(17ес1Мос1е1- 1п8 Еап8иа~е Яе/етепсе Мапиа(, 5есопс( Ес(1г(оп. Возсоп: АсЫ!зоп-атее!еу, 2005. ]Тау!ог-98] 1)ач!б А.
Тау!ог. ОЬ|есг ТесЬпо!ору: А Мапайетй СиЫе, 5есопс( Еа5г(оп. Возгоп: АсЫ!зоп-'чстез!еу, 1998. Упражнения Число в скобках указывает уровень сложности упражнения, от (1) — самый легкий, до (10) — самый сложный. 1.1 (3) С какими основными проблемами вам приходилось сталкиваться в своих проектах по разработке программного обеспечения? Оцените, какую часть времени вы затратили на анализ, проектирование, кодирование и тестирование, отладку, устранение ошибок вместе взятые. Каким образом вы оцениваете возможные затраты времени на будущие проекты? 1.2 (3) Рассмотрите какую-нибудь созданную вами ранее систему.
Кратко опишите ее. С какими препятствиями вам пришлось столкнуться в ходе проектирования? Какой технологией разработки программного обеспечения вы пользовались? По какой причине вы выбрали именно ее? Довольны ли вы существующим вариантом системы? Насколько сложно добавлять в нее новые функции? Легко ли ее сопровождать? 1.3 (3) Опишите недавний крупный программный проект, который не уложился в сроки, превысил бюджет или не выполнил все поставленные требования.
Какие факторы были причиной неудачи? Каким образом можно было избежать провала? 1.4 (3) Выскажите критику в адрес программной или аппаратной системы, в которой имеется особенно раздражающий вас недостаток. Например, в некоторых моделях автомобилей приходится снимать бампер, чтобы заменить тормозные огни. Опишите систему, ее недостаток, причины, по которым он не был устранен.
Подумайте, каким образом его можно было бы устранить, приложив болыпе усилий на этапе проектирования. Упражнения 31 1.5 (5) Все объекты обладают индивидуальностью, а потому отличаются друг от друга. Однако придумать схему для разделения объектов, принадлежащих к большой совокупности, может быть достаточно сложно. Кроме того, схема может зависеть от цели, с которой проводится разделение.
Опишите возможную схему для каждой из перечисленных ниже совокупностей объектов: 1) все люди в мире с целью отправки почты; 2) все люди в мире с целью проведения криминальных расследований; 3) все клиенты, имеющие сейфы в конкретном банке; 4) все телефоны в мире с целью выполнения исходящих звонков; 5) все клиенты телефонной компании с целью рассылки счетов; 6) все адреса электронной почты в мире; 7) все сотрудники компании с целью разграничения доступа для обеспечения безопасности. 1.6 (4) Подготовьте список классов, которые, по вашему мнению, должны обрабатываться каждой из перечисленных ниже систем: 1) программа компьютерной верстки газеты; 2) программа вычисления и хранения результата при игре в боулинг; 3) система голосовой почты с параметрами доставки, пересылкой сообщений и групповыми списками; 4) контроллер видеомагнитофона; 5) система ввода заказов интернет-магазина.
1.7 (6) Для каждого из перечисленных ниже классов выберите применимые к объектам этого класса операции. Одна операция может быть помещена в несколько классов. Обсудите поведение каждой из операций. Классы: в эапаЫе-!епйгЬ апау (массив переменной длины) — упорядоченная совокупность объектов, индексом в которой является целое число. Размер совокупности может меняться во время выполнения программы; в зутбо( гаЫе (таблица символов) — таблица, отображающая ключевые слова в дескрипторы; в зег (множество) — неупорядоченная совокупность объектов, в которой отсутствуют дубликаты.
Операции: в аррепЫ(добавление в конец) — добавление объекта к концу совокупности; в сору (копирование) — создание копии совокупности; в соипг (подсчет) — подсчет количества элементов в совокупности; я Ие1ете (удаление) — удаление элемента из совокупности; 32 Глава 1 ° Введение в тйех (индекс) — получение объекта, находящегося в совокупности на заданном месте; в Ысчзесг (пересечение) — определение элементов, принадлежащих двум совокупностям одновременно; ч (пзегг (вставка) — помещение объекта в заданное место совокупности; ч ироаге (обновление) — добавление элемента в совокупность с перезаписыванием существующего элемента. 1.8 (4) Обсудите общие характеристики классов в каждом из перечисленных ниже списков. Вы можете также расширить каждый из этих списков по своему желанию: а сканирующий электронный микроскоп, очки, телескоп, прицел для бомбометания, бинокль; ч труба, обратный клапан, кран, фильтр, манометр; а велосипед, парусник, автомобиль, грузовик, самолет, планер, мотоцикл, лошадь; ь гвоздь, винт, болт, заклепка; ч навес, погреб, сарай, гараж, амбар, дом, небоскреб.
Концепции моделирования В первой части описываются концепции и система обозначений, используемые в объектно-ориентированном моделировании. И концепции, и система обозначений применяются на этапах анализа, проектирования и реализации. В главе 2 обсуждаются об~дне вопросы моделирования и рассматриваются три вида объектно-ориентированных моделей: модели классов, состояний и взаимолействия. В главе 3 рассматривается модель классов, описывающая статическую структуру системы. Модель классов является контекстом по отношению к двум другим видам моделей. Глава 4 посвяшепа более сложным концепциям моделирования классов.
При первом чтении ее можно пропустить. Глава 5 описывает модель состояний, отражающую изменяюшиеся со временем аспекты системы, а также поведение управления. Глава б посвящена более сложным концепциям. Ее тоже можно пропустить при первом чтении. В главе 7 обсуждается модель взаимодействия и завершается рассмотрение всех трех моделей.
Модель взаимодействия описывает кооперацию объектов для достижения нужных результатов. Глава 8 посвящена сложным вопросам моделирования взаимодействия. Ее тоже можно пропустить при первом чтении. В главе 9 подытоживаются полученные сведения о всех трех типах моделей н их взаимоотношениях. Прочитав первую часть целиком, вы поймете объектно-ориентированные концепции и их обозначения в языке 13МЕ. Вы будете готовы применить эти концепции к разработке программного обеспечения, чему посвящены оставшиеся три части книги. Зак 699 Моделирование как методика проектирования фйьу~ф ~ ф 2.1.
Моделирование Конструкторы строят множество моделей разных типов, прежде чем перейти к созданию самих продуктов. В качестве примеров можно привести архитектурные модели, предназначенные для показа заказчикам, масштабные модели самолетов для тестирования в аэродинамических трубах, карандашные эскизы масляных полотен, светокопии деталей машины, раскадровки рекламных роликов и планы книг. Различные модели могут быть объединены в несколько групп по своему назначению. 1. Модели для тестирования физического объекта перед его созданием.
Средневековые каменшики не были знакомы с достижениями современной физики, поэтому они строили масштабные модели готических соборов, чтобы проверить действующие в них силы. Инженеры тестируют масштабные модели самолетов, автомобилей и кораблей в аэродинамических Модель (шоде1) — это абстракция, которая создается с целью постижения чего- либо перед тем, как оно будет создано.
Поскольку модель не содержит несущественных деталей, работать с ней оказывается проще, чем с моделируемой сущностью. Абстрагирование — это одно из важнейших человеческих умений, которое дает нам возможность работать со сложными вешами.
Инженеры, художники и ремесленники тысячелетиями занимались созданием молелей, на которых они опробовали свои планы перед тем, как воплощать их в жизнь. Проектирование аппаратных и программных систем не является исключением. Чтобы созлать сложную систему, разработчик должен абстрагировать разные ее представления, построить модели, используя четкую систему обозначений, проверить, что молели удовлетворяют требованиям, предъявленным к системе, и постепенно добавлять детали, превращая модели в реализацию. 2.2. Абстрагирование 35 трубах и бассейнах, чтобы усовершенствовать их динамические характеристики.