- •Понятие программного обеспечения, классификация программного обеспечения
- •Жизненный цикл по и его стандартизация, процессы жц по, группы процессов жц по
- •Процесс разработки по: основные действия и их содержание
- •Анализ требований к по
- •Проектирование архитектуры по
- •Кодирование и тестирование по
- •Сертификация процессов разработки по, модель cmm
- •Стратегии жизненного цикла по: понятие, виды и их сравнительная характеристика
- •Каскадная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Процесс макетирования по: его содержание, преимущества и недостатки, критерии применения
- •Недостатки:
- •Инкрементная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Спиральная модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Rad модель жизненного цикла по: описание, преимущества и недостатки, критерии применения
- •Структурный подход к разработке по: основные принципы и методы
- •Методология idef0: назначение, icom-модель, правила построения диаграммы
- •Методология idef0: назначение, правила построения иерархии диаграмм, критерии завершения и стратегии декомпозиции
- •Методология dfd: назначение, элементы диаграммы и их назначение, правила построения диаграммы
- •Методология dfd: правила построения иерархии диаграмм, спецификации и их содержание
- •Модификация dfd п. Варда и с. Меллора
- •Модификация dfd д. Хетли и и. Пирбхаи
- •Методология idef1x: назначение, сущности и связи: понятие и их обозначения
- •Методология idef1x: назначение, виды и уровни моделей, порядок построения
- •21 Методология idef3: назначение, единица работы, связи и их виды, соединения и их виды
- •Типы связей idef3
- •Типы соединений
- •Виды указателей idef3
- •22 Основные этапы проектирования программных систем и их содержание
- •Информационные потоки процесса синтеза программной системы
- •23 Структурирование программной системы: цели и модели
- •Широковещательная модель
- •Модель, управляемая прерываниями
- •Модульность программной системы: понятие и свойства модуля, цели модульной декомпозиции
- •Затраты на модульность
- •26 Связность модуля: понятие, виды связности и их описание
- •Характеристика связностей модуля
- •27 Сцепление модулей: понятие, виды сцепления и их описание
- •28 Сложность программной системы, основные подходы к ее оценке
- •29 Структурные карты Констайнтайна
- •Элементы структурных карт: а) – модуль; б) – вызов модуля; в) – связь по данным; г) – связь по управлению
- •Типы вызовов модулей
- •30 Метод анализа и проектирования Джексона
- •Соединения между физическими процессами и их моделями
- •31.Объектно-ориентированный подход к разработке по: основные понятия и принципы
- •32.Язык uml: причины появления и история развития языка, структура языка
- •33.Канонические диаграммы языка uml: их виды и типы, рекомендации построения
- •34.Механизмы расширения uml: виды, примеры использования
- •35.Диаграмма вариантов использования: назначение, принципы построения
- •36.Диаграмма классов: назначение, классы, обозначение классов, их атрибутов и операций
- •37.Диаграмма классов: назначение, отношения между классами и их применение
- •38.Диаграмма композитной структуры: композитные классы и их части, принципы построения
- •39.Диаграмма композитной структуры: кооперации и их использование
- •40. Диаграмма пакетов: назначение, пакеты и отношения между ними
- •41.Диаграмма объектов, назначение, объекты и отношения между ними
- •42.Диаграмма последовательности: назначение, линии жизни, прием и передача сообщений между линиями жизни
- •43.Диаграмма последовательности: назначение, комбинированные фрагменты, их виды и использование
- •44.Диаграмма деятельности: назначение, понятие, семантика и обозначение деятельности, действия и дуг
- •45.Диаграмма деятельности: узлы управления, их виды и применение
- •46. Дополнительные элементы диаграммы деятельности: действия приема и передачи сигналов, центральный буфер и хранилище данных
- •Дополнительные элементы диаграммы деятельности: разбиения, регион прерываемой деятельности, обработчик исключений
- •Диаграмма коммуникации: назначение, принципы построения
- •Диаграмма обзора взаимодействия: назначение, принципы построения
- •Когда применяются диаграммы обзора взаимодействия
- •50. Временные диаграммы: назначение, принципы построения
- •51. Диаграмма конечного автомата: назначение, простое и композитное состояния
- •52. Диаграмма конечного автомата: простые и составные переходы, правила срабатывания переходов
- •6.3. Переход
- •6.6. Сложные переходы
- •53. Диаграмма конечного автомата: псевдосостояния, их виды и применение
- •54. Протокольные конечный автомат: назначение, элементы и принципы построения
- •55. Диаграмма компонентов: назначение, компоненты, интерфейсы и порты, соединения и их виды
- •56. Диаграмма развертывания: назначение, узлы, артефакты, соединения и их виды
- •57. Объектно-ориентированные метрики: назначение, связь с принципами ооп
- •58. Объектно-ориентированные метрики: связность по данным
- •59. Объектно-ориентированные метрики: связность по методам
- •60. Объектно-ориентированные метрики: сцепление объектов и локальность данных
- •61. Объектно-ориентированные метрики: набор метрик Чидамбера и Кемерера
- •62. Объектно-ориентированные метрики: набор метрик Лоренца и Кидда
- •63. Объектно-ориентированные метрики: набор метрик Фернандо Аббреу
36.Диаграмма классов: назначение, классы, обозначение классов, их атрибутов и операций
Диаграмма классов – диаграмма, предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования.
Диаграмма классов в общем случае представляет собой граф, вершинами которого являются элементы типа «классификатор», связанные различными типами структурных отношений.
Классификатор – специальное понятие, предназначенное для классификации экземпляров, которые имеют общие характеристики. В языке UML классификатор является абстрактным метаклассом и, в общем случае, определяет некоторый тип и является пространством имен, элементы которого могут иметь характеристики.
Х арактеристика – понятие, предназначенное для спецификации особенностей структуры и поведения экземпляров классификаторов.
Класс – элемент модели, который описывает множество объектов, имеющих одинаковые спецификации характеристик, ограничений и семантики. Класс является специализацией классификатора. Структурные характеристики класса принято называть атрибутами, а характеристики поведения – операциями.
Активный класс – класс, каждый экземпляр которого имеет свою собственную нить управления. Пассивный класс – класс, каждый экземпляр которого выполняется в контексте некоторого другого объекта.
Атрибут класса служит для представления отдельной структурной характеристики или свойства, которое является общим для всех объектов данного класса. Каждому атрибуту класса в языке UML соответствует отдельная строка, имеющая в нотации БНФ следующий формат:
<атрибут> ::= [<видимость>] [‘/’] <имя> [‘:’ <тип>]
[ ‘[’ <кратность> ‘]’ ] [ ‘=’ <значение>]
[ ‘{’ <модификатор> [ ‘,’ <модификатор>]* ‘}’ ]
Видимость определяет доступность атрибута для остальных элементов. Всего в языке UML выделяют четыре типа видимости:
открытый (public, знак ‘+’),
закрытый (private, знак ‘-’),
защищенный (protected, знак ‘#’),
пакетный (package, знак ‘~’).
Символ ‘/’ в описании атрибута указывает на то, что этот атрибут является производным (вычислимым).
Имя атрибута представляет собой строку текста, которая используется в качестве идентификатора соответствующего атрибута.
Тип атрибута – имя классификатора, который является типом данного атрибута.
Кратность атрибута характеризует общее количество конкретных значений для атрибута, которые могут быть заданы для объектов данного класса.
Модификатор атрибута представляет собой текстовое выражение, которое придает дополнительную семантику данному атрибуту. В языке UML изначально заложено несколько модификаторов: readOnly – атрибут только для чтения, ordered – множество значений атрибута упорядочено, sequence – множество значений атрибута представляет собой последовательность.
Свойство операции служит для указания дополнительных свойств, которые могут быть применены к данной операции. В языке UML изначально заложены следующие свойства операций:
query – операция является запросом (не модифицирует атрибуты класса);
sequential – в каждый момент времени в объект поступает только один вызов операции;
guarded – допускается одновременное поступление в объект нескольких вызовов, но в каждый момент времени обрабатывается только один вызов охраняемой операции;
concurrent – в объект поступает несколько потоков вызовов операций и при этом разрешается параллельное (и множественное) выполнение операции.