2011 Теормин ООАиП (по лекциям Малышко), страница 3
Описание файла
PDF-файл из архива "2011 Теормин ООАиП (по лекциям Малышко)", который расположен в категории "". Всё это находится в предмете "(uml) методы анализа и проектирования по" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Столбцы –совокупность атрибутов. Первичный ключ – любой ID (первого или второго класса). Достигаетсямаксимально возможная экономия: одна таблица представляет оба класса и ассоциацию между ними.● «1 к 0..1» – внешний ключ добавляется к таблице необязательного класса.● «0..1 к 0..1» – рекомендуется отдельная таблица для связи. Ее столбцы – внешние ключи для таблицклассов, связанных ассоциацией.
Основной ключ – комбинация этих столбцов.● «* к *» – для ассоциации заводится отдельная таблица. Ее столбцы – внешние ключи для таблиц классов,связанных ассоциацией. Основной ключ – комбинация этих столбцов.● «1 к 1..*» – к таблице класса у полюса «1..*» добавляется столбец – внешний ключ для таблицы класса уполюса «один».● «1 к 0..*» – как «1 к 1..*».● «0..1 к *» – применяются те же решения, что и в «0..1 к 0..1».Отображение классов связанных N-арной ассоциацией:● Требуется таблица для хранения связи. Например, в случае тернарной (N=3) связи формируются четыретаблицы, по одной для каждого класса и одна для связи.
Таблица связи будет иметь среди своихатрибутов ключи каждой из 3х других таблиц.Отображение классов-ассоциаций:● Атрибуты класса-ассоциации добавляются либо в создаваемую для связи таблицу, либо (еслидополнительная таблица не требуется) в ту таблицу, куда добавляется внешний ключ.Лекция 10.Образец (паттерн) – это типовое проектное решение конкретной задачи проектирования, описанноеспециальным образом, чтобы облегчить его повторное применение.Абстрактная фабрика (Abstract Factory)● Классификация: образец порождения объектов.● Назначение: предоставляет интерфейс для создания взаимосвязанных и взаимозависимых объектов, неопределяя их конкретных классов.8●Мотивация: часто встает задача проектирования программной системы независимой от конкретнойреализации GUI.Фабричный метод (Factory method)● Классификация: образец порождения объектов.● Назначение: определяет интерфейс для создания объектов, но оставляет реализациям решение о том,какой объект какого именно класса создавать.● Мотивация: нужно создать экземпляр одной из реализаций интерфейса, но заранее неизвестно какой.Например, в текстовом редакторе работающем с разными форматами при создании нового документа неизвестен его тип.Адаптер (Adapter)● Классификация: структурный образец.● Назначение: преобразует один интерфейс в другой, обеспечивая совместимость.● Мотивация: есть библиотечный класс, который можно было бы использовать, но он не поддерживаеттребуемый интерфейс.Composite (Компоновщик)● Классификация: структурный образец.● Назначение: организует объекты в древовидные структуры, позволяет клиентам единообразно работать ссоставными и элементарными объектами.● Мотивация: есть совокупность объектов-контейнеров, состоящих из элементарных объектов и другихконтейнеров.Мост (Bridge)● Классификация: структурный образец.● Назначение: отделить абстракцию от реализации.● Мотивация: наследование жестко привязывает реализацию к абстракции, поэтому лучше иметь иерархиюнаследования для интерфейсов и отдельно их реализации.Фасад (Facade)● Структурный паттерн, идея которого в том, чтобы предоставить унифицированный интерфейс кподсистеме (или пакету) в виде прокси-класса SubsystemProxy (в случае пакета – в виде фасада пакета).Proxy (Заместитель)● Классификация: структурный образец.● Назначение: для объекта создается суррогат, контролирующий доступ.● Мотивация: есть «тяжелый» класс, объекты которого разумно создавать по требованию – эта обязанностьвозлагается на легкие суррогаты.Цепочка обязанностей (Chain of Responsibility)● Классификация: образец поведения.● Назначение: избежать привязки отправителя запроса к получателю, давая возможность передать запросчерез многих (заранее неизвестно скольких) посредников.Iterator (Итератор)● Классификация: образец поведения.● Назначение: дать последовательный доступ к набору однородных объектов, не раскрывая еговнутреннего представления.● Ситуация применимости: есть структура данных, для которой нужно реализовать один или несколькоспособов обхода – каждый осуществляется отдельным итератором.Strategy (Стратегия)● Классификация: образец поведения.● Назначение: Определяет семейство алгоритмов, инкапсулирует каждый из них и делает ихвзаимозаменяемыми.● Мотивация: есть несколько алгоритмов решения одной задачи, которые нежелательно «зашивать» вклиентский класс.Decorator (Декоратор)● Классификация: структурный образец.● Назначение: добавление объекту новых обязанностей в динамике.
Альтернатива подклассам.9●Мотивация: Например, хотим, чтобы библиотека GUI могла добавлять свойства (рамку) или новоеповедение (прокрутку) к любому элементу GUI. Для этого «оборачиваем» элемент GUI в объектдекоратор. Декоратор имеет тот же интерфейс. Он переадресует запросы элементу, который в него«завернут».Лекция 11.Технология создания ПО (ТС ПО) – это упорядоченная совокупность взаимосвязанных технологическихпроцессов в рамках ЖЦ ПО.Технологический процесс – это совокупность взаимосвязанных технологических операций.Технологическая операция – это основная единица работы, выполняемая определенной ролью, которая:● подразумевает четко определенную ответственность роли;● дает четко определенный результат (набор рабочих продуктов), базирующийся на определенныхисходных данных (другом наборе рабочих продуктов);● представляет собой единицу работы с жестко определенными границами, которые устанавливаются припланировании проекта.Рабочий продукт – информационная или материальная сущность, которая создается, модифицируется илииспользуется в некоторой технологической операции (модель, документ, код, тест и т.п.).Роль – определение поведения и обязанностей отдельного лица или группы лиц в среде организацииразработчика ПО, осуществляющих деятельность в рамках некоторого технологического процесса иответственных за определенные рабочие продукты.Руководство – практическое руководство по выполнению одной или совокупности технологических операций.Руководства включают методические материалы, инструкции, нормативы, стандарты и критерии оценки качестварабочих продуктов.Инструментальное средство (CASE-средство) – программное средство, обеспечивающееавтоматизированную поддержку деятельности, выполняемой в рамках технологических операций.Согласно нормативам, ТС ПО должна поддерживать полный набор процессов ЖЦ, к которым относятся:● управление требованиями;● анализ и проектирование ПО;● разработка ПО;● эксплуатация;● сопровождение;● документирование;● управление конфигурацией и изменениями;● тестирование;● управление проектом.RUP в значительной степени соответствует указанным выше требованиям.
Ее основными принципамиявляются:● Раннее определение рисков и выработка ответных мер.● Выполнение требований заказчиков.● Концентрация на работающем коде.● Готовность к изменениям с самого начала проекта и управление ими.● Сборка системы из компонентов.● Визуальное моделирование.● Обеспечение качества в течение всего ЖЦ.Динамический аспект.Согласно технологии RUP, ЖЦ ПО разбивается на отдельные циклы, в каждом из которых создается новоепоколение продукта. Каждый цикл, в свою очередь, разбивается на четыре последовательные стадии:● начальная стадия (inception);● стадия разработки (elaboration);● стадия конструирования (construction);● стадия ввода в действие (transition).10Статический аспект.Статический аспект RUP представлен четырьмя основными элементами:● роли;● виды работ;● рабочие продукты;● дисциплины (процессы).Понятие «роль» (role) определяет поведение и ответственность личности или группы личностей, составляющихпроектную команду.
Одна личность может играть в проекте много различных ролей.Видом работы конкретного исполнителя понимается элементарная работа – технологическая опреация,выполняемая им.Дисциплина (discipline) соответствует понятию технологического процесса (или процесса ЖЦ) и представляетсобой последовательность работ, приводящую к получению значимого результата.В рамках RUP определены шесть основных дисциплин:● построение бизнес-моделей;● определение требований;● анализ и проектирование;● реализация;● тестирование;● развертывание;и три вспомогательных:● управление конфигурацией и изменениями;● управление проектом;● создание инфраструктуры.Bиды тестирования:● регрессионное (при котором новые сборки проверяются на тестах для предыдущих сборок, посколькупри интеграции новых компонент может быть нарушено правильное функционирование старых и системыв целом);● инсталляционное (проверка возможности установки системы на вычислительной среде и правильностьработы инсталлятора);● конфигурационное (проверка работы системы в разных конфигурациях);● отрицательное (проверка устойчивости системы на заведомо неверных данных, при неверныхдействиях пользователя – «защита от дурака» – при недостаточных ресурсах);● нагрузочное (проверка нефункциональных свойств, например, производительности, пропускнойспособности).1112.