- •1.Предпосылки возникновения объектно-ориентированного подхода
- •2.Жизненный цикл программного обеспечения
- •2.1.Стандартные модели жизненного цикла
- •2.1.1.Этапы жизненного цикла
- •2.1.2.Модели жизненного цикла
- •2.2.Объектно-ориентированные модели жизненного цикла
- •2.3.Жизненный цикл uml ( Rational Objectory Process )
- •3.Концепции объектно-ориентированного подхода к разработке больших программных систем.
- •3.1.Инкапсуляция
- •3.2.Наследование
- •3.3.Полиморфизм
- •Вариант 1:
- •Вариант 2:
- •3.4.Объекты и экземпляры объектов
- •3.5.Варианты наследования
- •4.Достоинства и недостатки объектно-ориентированного подхода
- •4.1.Преимущества объектно-ориентированного подхода
- •4.2.Недостатки объектно-ориентированного подхода
- •5.Объектно-ориентированный анализ
- •Ооа состоит из пяти главных шагов:
- •5.1.Схема предметной области
- •5.2.Схема объектов
- •5.3.Схема структуры
- •5.4.Схема атрибутов
- •5.5.Схема методов
- •5.6.Контроль корректности
- •Для каждого объекта в схеме объектов:
- •Для структуры:
- •6.Объектно-ориентированное проектирование
- •6.1.Диаграмма классов
- •6.2.Категории классов
- •6.3.Шаблоны для диаграммы классов
- •6.4.Диаграмма объектов
- •6.5.Диаграмма переходов
- •7.Универсальный язык моделирования ( Unified Modeling Language uml )
- •7.1.Пакеты, как средство работы с большими проектами
- •7.2.Диаграммы классов и объектов
- •7.2.1.Классы
- •7.2.2.Интерфейсы
- •7.2.3.Отношения между классами Двухместная связь ( Binary Association )
- •Класс, описывающий связь
- •Композиция, Сборка.
- •Обобщение
- •Зависимость ( Dependency )
- •7.2.4.Пример диаграммы классов
- •7.3.Диаграммы использования
- •Диаграмма состоит из следующих элементов:
- •Выделены следующие виды связей:
- •7.4.Диаграммы последовательностей
- •7.5.Диаграммы сотрудничества
- •7.6.Диаграммы состояний
- •7.6.1.Состояния
- •7.6.2.События
- •7.6.3.Простые переходы между состояниями
- •7.6.4.Составные переходы между состояниями
- •7.6.5.Вложенные автоматы
- •7.7.Диаграммы действий
- •7.7.5.Отношения между действиями и объектами
- •7.7.6.Специальные символы
- •7.8.Диаграммы реализации
- •7.8.1.Диаграммы компонентов
- •7.8.2.Диаграммы развертывания
- •8.Стиль разработки объектно-ориентированных проектов
- •8.1.Общие правила оформления классов
- •8.1.1.Составление атрибутов
- •8.1.2.Необходимое и достаточное количество свойств
- •8.1.3.Конструкторы
- •8.1.4.Независимость от системных библиотек и реализации
- •8.2.Наследование
- •8.2.1.Наследование атрибутов
- •8.2.2.Наследование методов поведения
- •8.3.Необходимые и достаточные свойства классов
- •8.4.Наследование и использование
- •9.Инструментальные средства объектно-ориентированной разработки программных систем
- •9.1.Обзор объектно-ориентированных инструментальных средств
- •9.2.Объектно-ориентированное case средство Rational Rose
- •9.2.1.Принципы разработки программных систем в Rational Rose
- •9.2.2.Проектирование программных средств
- •9.2.3.Построение и сопровождение системы
- •9.2.4.Поддержка этапов разработки
- •9.2.5.Достоинства и недостатки Rational Rose
- •10.Тестирование объектно-ориентированных программных систем
- •10.1.Особенности тестирования объектно-ориентированных программных систем
- •10.2.Методы тестирования объектно-ориентированных систем
2.3.Жизненный цикл uml ( Rational Objectory Process )
Фирма Rational Software, разработавшая язык UML, предложила так же и свою модель жизненного цикла, которая называется Rational Objectory Process ( данный термин труден для перевода, т.к., во-первых, слово Rational имеет значение “рациональный” и название фирмы одновременно, во-вторых, слова objectory нет в английском языке, оно построено по аналогии со словом repository (накопитель) ).
Можно перечислить следующие основные свойства данной технологии:
процесс итеративный, т.е. происходит последовательное уточнение результатов,
действия процесса направлены на создание моделей, а не других элементов проекта, например, текстовых документов,
действия жизненного цикла определяются в первую очередь блоками использования ( use case ) ( см. диаграммы использования ).
Жизненный цикл разбит на циклы, результатом каждого из которых является собственная версия программной системы. Каждый цикл состоит из четырех фаз:
Начало ( Inception )
Совершенствование ( Elaboration )
Построение ( Construction )
Переход ( Transition )
Рис. 2.2 Модель жизненного цикла UML
На рисунке ниже представлены основные модели UML в виде прямоугольников. Линии между ними обозначают отношение “входит в” [7]
Рис. 2.3. Основные модели UML
3.Концепции объектно-ориентированного подхода к разработке больших программных систем.
В настоящее время объектно-ориентированный подход является одним из быстро развивающихся направлений в проектировании систем. Примером могут являться объектно-ориентированный анализ - методология разработки систем, предложенная Йорденом, объектно-ориентированное проектирование, объектно-ориентированное программирование, реализованное в многочисленных компиляторах C++, Object Pascal, Borland Pascal, Smalltalk.
Несмотря на различия, существующие в конкретных вариантах объектно-ориентированного подхода, все эти варианты объединяются несколькими основополагающими принципами:
· инкапсуляция - такое свойство при котором объекты содержат описание атрибутов и действий одновременно,
· наследование - такой метод определения объектов, при котором производные объекты (потомки) наследуют свойства (атрибуты и действия) от своих родителей,
· полиморфизм - такое свойство объектов при котором действие с одинаковыми именами вызывают различное поведение для различных объектов.
Основное преимущество объектно-ориентированного подхода состоит в том, что задача решается новым способом. Вместо формирования набора процедур, предназначенных для решения конкретной задачи, формируется набор объектов свойственных данной предметной области. Если такой набор составляется грамотно, то не только конкретная задача может быть решена, но и потенциально закладывается фундамент для решения всех задач в данной предметной области. Конечно при структурном программировании такой подход стихийно складывался при разработке программ в виде библиотек подпрограмм по темам. Но объектно-ориентированный подход дает новые механизмы, перечисленные выше ( 3 основные свойства объектно-ориентированного подхода), которые позволяют создавать действительно независимые от задачи описания предметной области в виде набора объектов.
