- •Программная инженерия.
- •Характеристики объектно-ориентированного подхода.
- •Модели по.
- •Диаграмма классов.
- •Операции и методы.
- •Кратность.
- •Имена полюсов ассоциаций.
- •Классы ассоциаций.
- •Упорядочение объектов у полюса ассоциации.
- •Мультимножества и последовательности.
- •Обобщение
- •Каскадная модель(Модель жизненного цикла) по.
- •Достоинства:
- •Спиральная модель по( ieee).
- •Автоматизированные средства разработки по.
Упорядочение объектов у полюса ассоциации.
Часто объекты у полюса ассоциации с обозначение кратности (*- много) не имеют никакого выраженного порядка в этом случае их рассматривают как множество .
Window
Screen
1 VisibleOn *
Каждое окно присутствует на экране не более чем в одном экземпляре. Окна имеют явный порядок и в каждой конкретной точке экрана видимо только одно из них (Верхнее) Упорядоченность является внутренним свойством ассоциаций и указывается ключевым словом {ordered} около соответствующего полюса ассоциации .
Мультимножества и последовательности.
Бинарная ассоциация позволяет создать между парой объектов не более одной связи, однако можно создать множество связей между двумя объектами указав ключевое слово {bag} или {sequence}
Airport
Itinerary
{sequence}
* *
Мультимножество (bag) – это совокупность элементов в которых допускается наличие дубликатов.
Последовательность(sequence) – это упорядоченная совокупность элементов в которой так же допускается наличие дубликатов.
На диаграмме показан маршрут (Itinerary) являющийся последовательностью Airport, причем один и тот же Airport можно посетить несколько раз. {Bag} {sequence} {ordered} применяются только к бинарным ассоциациям. Разница между {sequence} {ordered} состоит в том что вторая запрещает наличие дубликатов, а вторая запрещает.
Классы ассоциаций.
Класс ассоциаций это ассоциация которая является классом подобно связям ассоциации экземпляры класса ассоциации обладают индивидуальностью связаны с теми объектами между которыми они проводятся. Подобно обычным классам классы ассоциаций могут иметь атрибуты и операции и участвовать в ассоциациях. Классы ассоциаций присутствуют в формулировке задачи в виде наречий или получаются абстрагированием известных значений.
User
protectedFile
AccesibleBy +accessPrmission
/etc/apache read JohnDoe
/etc/apache read-write MaryBrown
/users/JohnDoe read-write johnDoe
Access Permission – (разрешение доступа) является атрибутом AccessibleBy. Данные в нижней части рисунка показывают возможные значения каждой связи. Класс ассоциации обозначается прямоугольником прикрепленным к ассоциации пунктирной линией. Атрибут Access Permission относиться к файлу и пользователю одновременно и не может быть прикреплен только к одному из них без потери информации(у каждого пользователя на различные файлы различные права доступа.
Атрибуты в ассоциациях типа один-ко-многим
На рисунке показаны атрибуты двух ассоциаций типа 1 ко многим. Каждый человек работающий на компанию занимает определенную должность (JobTitle) и получает жалование(salary), директор(boss) оценивает работу каждого сотрудника (performance rating). Атрибуты могут присутствовать и в ассоциациях типа один-к-одному.
Атрибуты ассоциаций типа один-к-одному и один ко многим можно упаковать в класс противоположный полису с кратностью один(жалование и должность можно перенести в класс Person) однако это делать не рекомендуется, поскольку кратность 1 может измениться.
Класс ассоциаций позволяет четко указать индивидуальность.
Пользователи(Users)
могут проходить авторизацию на нескольких
рабочих станциях (workstation)
каждая авторизация обладает
приоритетом(priority) и правами
доступа(privilleges), у
пользователя есть домашний
каталог(HomeDirectory) на всех
рабочих станциях, где он авторизован,
но у нескольких рабочих станций и
пользователей может быть один домашний
каталог.
Классы ассоциаций являются важным аспектом моделей классов поскольку они позволяют точно указать индивидуальности. Не следует путать классы ассоциаций с ассоциациями которые были выделены в отдельный класс.
Класс ассоциации порождает один единственный экземпляр для каждой пары человека и компании, напротив экземпляров покупок(Purchase) между одним человеком и одной компанией может быть сколько угодно, каждая покупка обладает собственной индивидуальностью и собственными значениями количества даты и стоимости.
