Корпоративные информационные системы Раздел 1 «Проектирование корпоративных информационных систем» Лекция 5 Классы и отношения Каф. ТПС Проф. Д. Куликов 2010 г. 1
Методология процедурно - ориентированного программирования Особенности: qпроцедурная декомпозиция на модули; qнисходящее программирование; qструктуризация модулей (небольшой объем модулей, отступы, ликвидация оператора goto) ГОСТ 19. 701 -90 2
Методология объектно – ориентированного программирования (ООП) Основные понятия: класс, объект, отношения между классами Основные принципы ООП: Отношения между классами : зависимости, ассоциации, обобщения, агрегации наследование, инкапсуляция, полиморфизм 3
Классы Имя класса Атрибуты класса Операции класса Класс - это категория или группа объектов, имеющая сходные атрибуты и общие операции (Шаблон для создания объектов) { user surname patronymic role login password rep. Login rep. Password пользователь фамилия имя отчество роль логин пароль изменить логин изменить пароль 4
Описание класса Видимость атрибута: + виден - не виден # зещищен Примечание user +surname: строка +patronymic: строка +role: целое #login: строка -password: строка Тип атрибута: строка целое вещественное rep. Login rep. Password Классы образуют статическую модель предметной области, Операции класса: <видимость> <имя> (<список параметров>) : <выражение-возвращающеезначение-типа> {<строка свойств>) 5
Пример класса 6
Стереотипы классов Стереотип – категория (разновидность) класса Обозначения графические Типовые стереотипы: cущноcть <> граница <> или <> управление <> т. д. Не имеет параметров 7
Отношения между классами Основные отношения: Ø ассоциация; Øагрегация; Øобобщения; Øзависимости Кратность на линиях связи: 1 5 1. . 3 5 1 * * * 1 7. . * Объект 8
Пример отношения обобщения Обозначение Отношение обобщения Родительский класс Дочерние классы 9
Пример отношения агрегации Обозначение 10
Пример отношения обобщения Тип линии 11
Пример отношения зависимости Тип линии 12
Пример отношения ассоциации Кратность Вид ассоциации 13
Параметризованные классы (шаблоны) Обозначение объекта: Администратор: user +surname =Иванов +name = Сергей +patronymic = Петрович +role: = 1 #login: = ivanov -password: =***** Имя объекта Имя класса Обязательно подчеркнуть! rep. Login() rep. Password() 14