
- •Вопросы по uml
- •1. Место моделирования в проектировании больших программных систем. Моделируемые аспекты программных систем.
- •2. Основные понятия объектно-ориентированного подхода к проектированию программ. Абстрагирование. Ограничение доступа. Модульность. Иерархия.
- •3. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие класса. Понятие объекта. Инкапсуляция данных и методов.
- •4. Основные понятия объектно-ориентированного подхода к проектированию программ. Роль наследования в ооп.
- •5. Основные понятия объектно-ориентированного подхода к проектированию программ. Свойство полиморфизма.
- •6. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие типизации.
- •7. Назначение и основные свойства языка uml
- •8. Язык uml. Понятия сущности, отношения, диаграммы.
- •9. Язык uml. Типы сущностей.
- •10. Язык uml. Типы отношений.
- •11. Язык uml. Диаграмма прецедентов (использования). Вид диаграммы. Назначение диаграммы.
- •Включение.
- •12. Язык uml. Диаграмма классов. Вид диаграммы. Назначение диаграммы.
- •13. Язык uml. Диаграмма объектов. Вид диаграммы. Назначение диаграммы.
- •14. Язык uml. Диаграммы взаимодействий. Диаграмма последовательностей. Вид диаграммы. Назначение диаграммы.
- •15. Язык uml. Диаграммы взаимодействий. Диаграмма коопераций. Вид диаграммы. Назначение диаграммы.
- •16. Язык uml. Диаграмма состояний. Вид диаграммы. Назначение диаграммы.
- •17. Язык uml. Диаграмма деятельности. Вид диаграммы. Назначение диаграммы.
- •18. Язык uml. Диаграмма компонентов. Вид диаграммы. Назначение диаграммы.
- •19. Язык uml. Диаграмма развертывания. Вид диаграммы. Назначение диаграммы.
- •20. Язык uml. Понятие прямого и обратного проектирования.
- •21. Язык uml. Элементы описания класса на диаграмме классов
- •Вопросы по технологии проектирования
- •1. Стадии проектирования программных систем. Итерационное проектирование
- •2. Проблема сложности при проектировании программного обеспечения. Различные виды сложности при проектировании программного обеспечения.
- •3. Основные характерные особенности больших программных систем
- •4. Определение требований к проектируемому программному обеспечению. Управление требованиями.
- •5. Документирование процесса проектирования. Назначение документирования. Требование к документированию.
- •6. Использование декомпозиции при проектировании больших программных систем. Декомпозиция при алгоритмическом подходе. Декомпозиция при объектно-ориентированном подходе.
- •7. Требования к программным модулям при проведении декомпозиции.
- •8. Роль абстракции в процессе проектирования. Барьер абстракции. Абстракции сущности и абстракции поведения.
- •9. Уровень реализации. Критерии выбора языка программирования и стандартов программирования.
- •10. Проектирование программных систем. Главный программист, его задачи и функции
- •11. Тестирование программ. Тестирование модулей. Тестирование скомпонованной программы.
- •12. Управление разработкой программ. Управление сроками. Управление кадрами. Управление организационной структурой.
- •13. Управление разработкой программ. Значение внутренних стандартов. Документирование разработки.
- •14. Методы интеграции информационных систем. Интеграция однородных и разнородных систем.
- •15. Методы интеграции информационных систем. Сервис ориентированная архитектура
6. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие типизации.
Типизация:
Это точная характеристика свойств, включая структуру и поведение, относящаяся к некоторой совокупности объектов
Позволяет в программных системах проводить целый ряд проверок и согласований
Строгая типизация предотвращает смешивание абстракций
Процесс проверки и накладывания ограничений типов — контроля типов, может выполняться во время компилирования (статическая проверка) или во время выполнения (динамическая проверка).
Статическая типизация — контроль типов осуществляется при компиляции.
Динамическая типизация — контроль типов осуществляется во время выполнения.
Контроль типов также может быть строгим и слабым.
Строгая типизация — совместимость типов автоматически контролируется транслятором:
Номинативная типизация — совместимость должна быть явно указана (наследована) при определении типа.
Структурная типизация — совместимость определяется структурой самого типа (типами элементов, из которых построен составной тип).
Слабая типизация — совместимость типов никак транслятором не контролируется. В языках со слабой типизацией обычно используется подход под названием «утиная типизация» — когда совместимость определяется и реализуется общим интерфейсом доступа к данным типа.
7. Назначение и основные свойства языка uml
UML – это язык для визуализации, специфицирования, конструирования и документирования артефактов программных систем.
Артефакт — это любой созданный искусственно элемент программной системы.
1. Визуализация:
Результаты обсуждения проекта и принятые решения воплощаются в виде понятных для всех схем
Улучшается понимание всеми участниками проекта поставленной задачи
При смене разработчиков принятые решения в виде модели не меняются
2. Специфицирование:
Специфицируются важнейшие характеристики системы
Спецификации охватывают различные точки зрения на систему
Спецификации согласуются между собой
3. Конструирование:
Модели могут быть переведены на различные языки программирования – прямое проектирование
Программы на языках программирования могут быть реконструированы в модель – обратное проектирование
4. Документирование:
Требования к системе;
Архитектура;
Проект;
Исходный код;
Проектный план;
Тест;
Прототип;
Версия;
И др.
Язык UML предназначен для решения следующих задач:
Предоставить легко воспринимаемый и выразительный язык визуального моделирования.
Предоставить возможность расширения и специализации для более точного представления моделей систем в конкретной предметной области.
Поддержка спецификации моделей, не зависящей от конкретных языков программирования и инструментальных средств проектирования программных систем.
Семантический базис для понимания общих особенностей ООАП (объектно-ориентированнного анализа и проектирования).
Поощрение развития рынка объектных инструментальных средств.
Распространение объектных технологий и соответствующих понятий ООАП.
Интеграция в себя новейших достижений практики ООАП.