
- •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. Процесс объектно-ориентированной разработки по
12. Перечислите основные элементы Кооперативной диаграммы.
Объекты (показывают, что должно быть создано для реализации функциональных возможностей, заложенных в варианте использования.) и сообщения(связь между объектами, в которой один из них(клиент) требует от другого(сервера) выполнения каких либо действий.
13. Этапы составления Диаграмм Взаимодействия.
См. 15(выделение ключевых абстакций)
Поиск объектов и действующих лиц. Один из способов первоначального выявления – изучение имен сущ. в потоке событий и сценариях. Действующие лица, объекты, атрибуты объекта. Если поведение есть – объект, нет – атрибут;
Соотнесение объектов с классами;
Добавление сообщений;
Каждое сообщение соотноситься с операцией. Вместо сообщений помещаются соотв. имена операций;
Задаются устойчивость объекта, синхронизация, частота сообщений
14. Двухэтапный подход при составлении Диаграмм Взаимодействия.
На первом этапе отображается информацию высокого уровня, которая нужна конечным пользователям проектируемой системы. Сообщения не соотносятся с операциями, объекты не соотнесены с классами. Эти диаграммы позволяют видеть как будут развиваться события в системе(аналитикам, пользователям, заинтересованным лицам).
На втором этапе, после получения согласия между пользователями, происходит углубление в детали. В начале этапа на диаграмму помещают новые объекты. Как правило, на каждой диаграмме имеется управляющий объект, отвечающий за управление последовательностью событий сценария, он не реализует никаких бизнес-процессов, он лишь посылает сообщения другим объектам. УО отвечает за координацию действий др. объектов и за делегирование ответственности. УО также называют объектами-менеджерами.
15. Назначение Диаграммы Классов и этапы ее составления.
Диаграмма классов. Позволяет показать основные характеристики классов системы и связи между классами. Их можно создавать для отдельного вар. исп., всей системы или подсистемы.
Выявление классов. Изучение имен сущ.(действующее лицо, класс, атрибут класса), анализ диаграмм взаимодействия(определение похожих объектов и создание для них общего класса);
Объединение классов по стереотипу (механизм, позволяющий классифицировать классы, см. ниже). Пакеты Entities(Сущности), Boundaries(Границы), Control(Управления).
Выделение ключевых абстракций
Изучить имена сущ. в потоках событий.
Существительные могут быть:
- действующими лицами
- классами
- атрибутами
Если объект имеет выраженное поведение, тогда сделать классом.
Если нечто неск. видо…(м,в), то сделать классом.
Анализ диаграмм взаимодействия
Если диагр. взаим. для разных объектов схожи, рекомендуется создать на их основе один абстрактный класс (класс, который не наполняется конкретным содержимым, не инстанцируется, т.е. если класс А абстрактный, в памяти никогда не будет объектов типа А).
Изучение границ системы и определение пограничных классов.
Изучение взаимодействия объектов внутри системы и создания управляющего класса.
Пограничные классы(boundary classes) – классы, расположенные на границе системы со всем остальным миром. Вкл. в себя формы, отчеты, интерфейсы с аппаратурой. Для выявления исследовать диаграммы вариантов использования. Для каждого взаимодействия между действующим лицом и вариантом использования должен существовать хотя бы один пограничный класс.
Классы-сущности(entity classes) – классы, содержащие информацию, хранимую постоянно. Их можно обнаружить в потоке событий и на диаграммах взаимодействия.
Управляющие классы(control classes) отвечают за координацию действий других классов. У каждого вар. исп. есть один УК, контролирующий последовательность событий этого вар. исп.. Сам УК не несет в себе никакой функциональности. УК делегирует ответственность другим классам. УК называют классом-менеджером.