
- •2.1. Сложность программного обеспечения
- •2. Перечислите основные причины сложности программного обеспечения.
- •3. Перечислите пять признаков сложной системы.
- •4. Объясните следующие понятия: «декомпозиция», «абстракция», «иерархия» (виды иерархий).
- •5. Объясните понятие «каноническая форма системы».
- •2.2. Введение в объектно-ориентированный анализ и проектирование
- •1. Объясните следующие понятия: «объектно-ориентированный анализ (ооа)», «объектно-ориентированное проектирование (ood)», «объектно-ориентированное программирование (оор)».
- •2. Дайте краткую характеристику основным принципам объектной модели: абстрагирование, инкапсуляция, модульность, иерархия, типизация, параллелизм, сохраняемость.
- •3. Объясните понятие «объект».
- •4. Опишите основные категории объектов.
- •5. Объясните следующие понятия: «состояние», «поведение», «идентичность» и «время жизни» объекта.
- •6. Объясните следующие понятия: «операция», «метод класса», «свободная подпрограмма».
- •7. Опишите назначения следующих операций: модификатор, селектор, итератор, конструктор, деструктор.
- •8. Объясните следующие понятия: «протокол», «роль» и «ответственность» объекта.
- •9. Объясните понятие «класс». Как соотносятся понятия «класс» и «объект»? Описание класса.
- •10. Опишите основные типы классов: параметризованный класс, класс-наполнитель, утилита параметризованного класса, утилита класса-наполнителя, метакласс, абстрактный класс.
- •11. Объясните понятие «стереотип класса». Опишите основные стереотипы классов: «пограничные классы», «классы-сущности», «управляющие классы».
- •12. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы, основанному на использовании uml.
- •13. Дайте краткую характеристику классическим подходам к выявлению ключевых абстракций системы.
- •14. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «Анализ поведения».
- •15. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «Анализ предметной области».
- •16. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «Анализ вариантов».
- •17. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «crc- карточки».
- •18. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «Использование неформального описания задачи».
- •19. Дайте краткую характеристику подхода к выявлению ключевых абстракций системы «Использование структурного анализа».
- •20. Объясните понятие «атрибут класса».
- •21. Опишите основные типы атрибутов (класса).
- •22. Опишите способы выявления атрибутов. В каком случае информация относится к классу, а в каком - к атрибуту.
- •23. Опишите основные типы операций. Опишите основные стереотипы операций.
- •24. Опишите общие этапы выявления операций.
- •25. Объясните понятие «видимость» атрибута и операции класса. Перечислите допустимые значения видимости.
- •26. Опишите основные типы связей между классами (ассоциация, зависимость, агрегация, наследование, полиморфизм). Объясните понятие «дружественный класс».
- •27. Объясните следующие понятия: «стереотип связи», «имя связи» и «элемент связи».
- •28. Выявление связей.
- •29. Опишите основные критерии, используемые для оценки качества классов и объектов.
- •5. Назначение диаграммы Вариантов Использования и краткое описание ее элементов (типы действующих лиц и связей).
- •6. Процесс выявления вариантов использования. Описать этапы создания диаграмм Вариантов Использования (можно на примере своей задачи).
- •7. Связь Диаграмм Вариантов Использования и «Технического задания».
- •8. Назначение потока событий и краткая характеристика его составных частей (краткое описание, предусловие, постусловие, основной поток, альтернативный поток и поток ошибок).
- •9. Привести пример потока событий (можно из своей задачи).
- •10. Назначение и типы Диаграмм Взаимодействия.
- •11. Перечислите основные элементы Диаграммы Последовательности. Назначение синхронизации и скриптов.
- •12. Перечислите основные элементы Кооперативной диаграммы.
- •13. Этапы составления Диаграмм Взаимодействия.
- •14. Двухэтапный подход при составлении Диаграмм Взаимодействия.
- •15. Назначение Диаграммы Классов и этапы ее составления.
- •16. Назначение Диаграммы Состояний и краткое описание ее элементов (состояния (виды состояний), деятельность, входные действия, выходные действия, переходы, события, ограждающие условия, действия).
- •18. Назначение Диаграммы Размещения и краткое описание ее элементов.
- •19. С какой целью на диаграммах uml используются примечания и пакеты.
- •20. Модели и ракурсы. Логическая и физическая модели. Статическая и динамическая модели.
- •4. Процесс объектно-ориентированной разработки по
9. Привести пример потока событий (можно из своей задачи).
Вариант использования «Оформить заказ» позволяет добавить новый заказ.
Основной поток.
1. Вариант использования начинается, когда работник нажимает кнопку «Оформить заказ».
2. Выводиться форма добавления заказа.
3. Вводиться информация:
- ФИО покупателя.
4. Добавляется информация о заказе:
- номер заказа;
- дата оформления.
5. Добавляется товар
- наименование товара;
- цена;
- кол-во заказанного наименования товара.
6. Если запрашиваемого товара нет в наличии или его кол-ва недостаточно, то выполняется альтернативный поток А1.
7. Происходит подсчет общей стоимости.
8. Вариант использования завершается.
Альтернативный поток А1: товар отсутствует на складе или его не хватает.
1. Программа сообщает, что запрашиваемого товара нет в наличии или его не хватает.
2. Программа возвращается на форму добавления товара.
10. Назначение и типы Диаграмм Взаимодействия.
Диаграмма взаимодействия показывает практически те же детали, что и в потоке событий. Главные здесь – объекты, которые должны быть созданы для реализации функциональных возможностей, заложенных в варианте использования. Если неск. альт. потоков, описывается один из них.
Диаграмма взаимодействия. Используется для моделирования взаимодействия между объектами системы. При помощи него можно определить классы, которые нужно создать, связи между ними, а также операции для каждого класса.
Диаграмма последовательности. Взаимодействия упорядочены во времени. Они показывают логическую последовательность событий в сценарии (поток событий для частного случая). Читать диаграмму нужно сверху вниз.
У каждого объекта есть линий жизни – вертикальная штриховая линия под объектом.
Сообщение изображается в виде стрелки, которая проводиться между линиями жизни двух объектов или от линии жизни объекта к самой себе.
Кооперативная диаграмма. Содержит ту де информацию, что и диаграмма последовательности. Связь со временем отсутствует, больше внимания на связях между объектами. Полезны тогда, когда нужно оценить последствия сделанных изменений.
11. Перечислите основные элементы Диаграммы Последовательности. Назначение синхронизации и скриптов.
Осн. элементы: см.10
Скрипты только на диаграммах последовательности. При их помощи можно пояснить назначение сообщения. Кроме того позволяют указывать на диаграмме условия. Скрипты пишутся с левой стороны диаграммы, напротив соотв. сообщения.
Синхронизация показывает то, как обрабатываются сообщения. Всего пять значений параметра синхронизации:
- simple(простое) – используется по умолчанию. Изображается стрелкой;
- synchronous(синхронное) – применятся, когда пользователь посылает сообщение и ждет ответа. На стрелке ><;
- asynchronous(асинхронное) – клиент посылает сообщение и продолжает работать, не дожидаясь ответа. Стрелка без нижней части >.
- balking(сообщение с отказом становиться в очередь) – сервер не может принять сообщение немедленно и оно отменяется. Стрелка разворачивается от конечного объекта;
- timeout(сообщение с лимитированным временем ожидания). Если сервер в течение некоторого времени не принимает сообщение, оно отклоняется. На стрелке, сверху значок о.