- •Понятие программного обеспечения, классификация программного обеспечения
- •Жизненный цикл по и его стандартизация, процессы жц по, группы процессов жц по
- •Процесс разработки по: основные действия и их содержание
- •Анализ требований к по
- •Проектирование архитектуры по
- •Кодирование и тестирование по
- •Сертификация процессов разработки по, модель 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. Объектно-ориентированные метрики: набор метрик Фернандо Аббреу
32.Язык uml: причины появления и история развития языка, структура языка
Для создания моделей анализа и проектирования объектно-ориентированных программных систем используют языки визуального моделирования. Первые языки этого вида появились в конце 70-х – начале 80-х годов прошлого столетия, но ввиду того, что объектно-ориентированный подход в те времена еще не получил широкого распространения, количество языков было довольно ограничено (насчитывалось около 10 языков). Второе поколение приходится на конец 80-х – начало 90-х годов XX века, когда объектно-ориентированный подход набирает популярность. Неразбериха и разногласия, возникшие вследствие большого количества языков, привели к идее создания унифицированного (единого) языка визуального моделирования объектно-ориентированных программных систем. Таким языком (уже третьего поколения) и стал унифицированный язык моделирования (Unified Modeling Language – UML).
Работа над созданием нового языка началась в октябре 1994 г. В январе 1997 г. был издан документ с описанием языка UML версии 1.0, в ноябре 1997 г. выходит версия UML 1.1, а в июне 1999 г. – UML 1.3. После выхода очередной версии 1.4 языка UML в сентябре 2001 г. начинается официальная разработка стандарта языка UML 2.0. Хотя затем в марте 2003 г. выходит версия 1.5. Окончательный же стандарт языка UML 2.0 был издан только в августе 2005 г. В настоящее время используется версия 2.1 вышедшая в 2006 г.
Основные элементы унифицированного языка моделирования:
С самой общей точки зрения описание языка UML состоит из двух взаимодействующих частей: семантики и нотации. Семантика – система правил и соглашений, определяющих толкование и придание смысла конструкциям некоторого языка. Нотация – система условных обозначений, принятая в некотором языке для изображения и визуализации модели.
В рамках языка UML семантика и нотация тесно взаимосвязаны: семантика языка описывается с использованием некоторого подмножества нотации, а, в свою очередь, нотация описывает соответствие или отображение графической нотации в базовые понятия семантики.
Формальное описание самого языка UML основывается на некоторой общей иерархической структуре модельных представлений, состоящей из 4-ех уровней: мета-метамодель (M3), метамодель (M2), модель (M1), объекты и экземпляры (M0).
Конкретизация понятий модели происходит на уровне объектов или экземпляров. При этом совокупность объектов рассматривается как отдельный экземпляр модели поведения, поскольку содержит конкретную информацию относительно того, чему в действительности соответствуют те или иные понятия модели.
Все описание языка UML на метамодельном уровне содержится в пакетах: «Элементы ядра», «Абстракции», «Основы», «Конструкции», «Простейшие типы».
Пакет «Элементы ядра» является главным и содержит в себе все остальные пакеты, которые в свою очередь также включают в себя другие пакеты.
Пакет «Абстракции» является наиболее фундаментальным из всех перечисленных пакетов. Он содержит основные абстрактные элементы, необходимые для разработки объектных моделей.
Пакет «Основы» содержит минимальное подмножество элементов языка UML, которые называются метаклассами и используются для дальнейшей конкретизации при моделировании структур систем. Метаклассы данного пакета и отношения между ними описывают следующие диаграммы: диаграмма типов, диаграмма классов, диаграмма типов данных, диаграмма пакетов.
Пакет «Конструкции» определяет расширенное подмножество элементов языка UML, которые используются для детального моделирования систем. Для описания метаклассов данного пакета используются следующие диаграммы: диаграмма верхнего уровня, диаграмма выражений, диаграмма классов, диаграмма классификаторов, диаграмма ограничений, диаграмма типов данных, диаграмма пространств имен, диаграмма операций диаграмма пакетов.
Пакет «Простейшие типы» содержит несколько предопределенных типов, которые используются при определении абстрактного синтаксиса моделей. Сюда включены: целочисленный тип (Integer), логический тип (Boolean), строковый тип (String), неограниченное натуральное число (Unlimited Natural).
Также в состав вспомогательных конструкций входит пакет «Модели», который специфицирует базовые элементы языка UML, необходимые для построения отдельных модельных представлений.