Экзамен - Вопросы и ответы

2017-12-25СтудИзба

Описание файла

Документ из архива "Экзамен - Вопросы и ответы", который расположен в категории "". Всё это находится в предмете "проектирование программных систем" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "проектирование программных систем" в общих файлах.

Онлайн просмотр документа "Экзамен - Вопросы и ответы"

Текст из документа "Экзамен - Вопросы и ответы"

ВОПРОСЫ ПО UML 3

1. Место моделирования в проектировании больших программных систем. Моделируемые аспекты программных систем. 3

2. Основные понятия объектно-ориентированного подхода к проектированию программ. Абстрагирование. Ограничение доступа. Модульность. Иерархия. 4

3. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие класса. Понятие объекта. Инкапсуляция данных и методов. 5

4. Основные понятия объектно-ориентированного подхода к проектированию программ. Роль наследования в ООП. 6

5. Основные понятия объектно-ориентированного подхода к проектированию программ. Свойство полиморфизма. 7

6. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие типизации. 8

7. Назначение и основные свойства языка UML. 9

8. Язык UML. Понятия сущности, отношения, диаграммы. 10

9. Язык UML. Типы сущностей. 11

10. Язык UML. Типы отношений. 12

11. Язык UML. Диаграмма прецедентов (использования). Вид диаграммы. Назначение диаграммы. 13

12. Язык UML. Диаграмма классов. Вид диаграммы. Назначение диаграммы. 14

13. Язык UML. Диаграмма объектов. Вид диаграммы. Назначение диаграммы. 15

14. Язык UML. Диаграммы взаимодействий. Диаграмма последовательностей. Вид диаграммы. Назначение диаграммы. 16

15. Язык UML. Диаграммы взаимодействий. Диаграмма коопераций. Вид диаграммы. Назначение диаграммы. 17

16. Язык UML. Диаграмма состояний. Вид диаграммы. Назначение диаграммы. 18

17. Язык UML. Диаграмма деятельности. Вид диаграммы. Назначение диаграммы. 19

18. Язык UML. Диаграмма компонентов. Вид диаграммы. Назначение диаграммы. 20

19. Язык UML. Диаграмма развертывания. Вид диаграммы. Назначение диаграммы. 21

20. Язык UML. Понятие прямого и обратного проектирования. 22

21. Язык UML. Элементы описания класса на диаграмме классов. 23

ВОПРОСЫ ПО ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ 24

1. Стадии проектирования программных систем. Итерационное проектирование 24

2. Проблема сложности при проектировании программного обеспечения. Различные виды сложности при проектировании программного обеспечения. 25

3. Основные характерные особенности больших программных систем 26

4. Определение требований к проектируемому программному обеспечению. Управление требованиями. 27

5. Документирование процесса проектирования. Назначение документирования. Требование к документированию. 28

6. Использование декомпозиции при проектировании больших программных систем. Декомпозиция при алгоритмическом подходе. Декомпозиция при объектно-ориентированном подходе. 29

7. Требования к программным модулям при проведении декомпозиции. 30

8. Роль абстракции в процессе проектирования. Барьер абстракции. Абстракции сущности и абстракции поведения. 31

9. Уровень реализации. Критерии выбора языка программирования и стандартов программирования. 32

10. Проектирование программных систем. Главный программист, его задачи и функции 33

11. Тестирование программ. Тестирование модулей. Тестирование скомпонованной программы. 34

12. Управление разработкой программ. Управление сроками. Управление кадрами. Управление организационной структурой. 35

13. Управление разработкой программ. Значение внутренних стандартов. Документирование разработки. 36

14. Методы интеграции информационных систем. Интеграция однородных и разнородных систем. 37

15. Методы интеграции информационных систем. Сервис ориентированная архитектура 38

ВОПРОСЫ ПО UML

1. Место моделирования в проектировании больших программных систем. Моделируемые аспекты программных систем.

Моделирование программных систем позволяет:

  • визуализировать систему в ее текущем или желательном для нас состоянии;

  • определить структуру или поведение системы;

  • получить шаблон, позволяющий затем сконструировать систему;

  • документировать принимаемые решения, используя полученные модели.

Логичность и формализованность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оргинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.

Различают аналитическое и имитационное моделирование. При аналитическом моделировании изучаются абстрактные модели реального объекта в виде математических уравнений, а также предусматривающих осуществление однозначной вычислительной процедуры, приводящей к их точному решению. При имитационном моделировании исследуются математические модели в виде алгоритма(ов), воспроизводящего функционирование исследуемой системы путем последовательного выполнения большого количества элементарных операций.

Система моделей включает описание процессов, функций, потоков, данных и других статических и динамических аспектов функционирования системы.

2. Основные понятия объектно-ориентированного подхода к проектированию программ. Абстрагирование. Ограничение доступа. Модульность. Иерархия.

Преимущества объектной модели:

  • В полной мере используются возможности языков программирования

  • Повышается уровень унификации разработки и пригодность для повторного использования

  • Система строится на основе стабильных промежуточных описаний, что упрощает внесение изменений

  • Уменьшается риск разработки

  • Единственная методология позволяющая справиться со сложностью очень больших систем

Абстракция:

  • Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения наблюдателя

  • Абстракция разделяет смысл и реализацию объекта

Инкапсуляция:

  • Инкапсуляция реализует абстракцию, скрывая внутреннюю структуру объекта и предоставляя вовне только внешнее поведение – интерфейс, соответствующий принятому уровню абстракции

  • Абстракция и инкапсуляция дополняют друг друга: абстрагирование направлено на наблюдаемое поведение объекта, а инкапсуляция занимается внутренним устройством

  • Данные и методы могут иметь модификаторы public, private и protected определяющие степень доступности.

Модульность:

  • Это свойство системы, которая была разложена на внутренне связные, но слабо связанные между собой модули

  • Модули выполняют роль физических контейнеров, в которые помещаются определения классов и объектов

  • Принципы абстрагирования, инкапсуляции и модульности являются взаимодополняющими

Иерархия:

  • Это упорядочение абстракций, расположение их по уровням.

  • Значительное упрощение в понимании сложных задач достигается за счет образования из абстракций иерархической структуры

  • Один из видов иерархии – концепция наследования «обобщение-специализация» (is-a)

  • Другой вид иерархии – агрегация (part-of)

3. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие класса. Понятие объекта. Инкапсуляция данных и методов.

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Класс представляет набор объектов, которые обладают общей структурой и одинаковым поведением. Поведение выражается в терминах состояния объекта (изменения состояний) и в передаче сообщений.

Типы объектов:

  • Актер (действующее лицо) – объект может воздействовать на другие объекты, но сам никогда не подвергается воздействию других объектов

  • Сервер – объект может только подвергаться воздействию со стороны других объектов

  • Агент – Может выступать как в активной, так и пассивной роли

Связи объектов:

  • Связи по информационному взаимодействию (по данным)

  • Связи по управлению (вызываются методы другого объекта)

  • Связи по иерархии наследования

Отношения между классами:

  • Ассоциация - семантическая (смысловая) связь без объяснения ее реализации; фиксируются участники ассоциации, их роли в ассоциации, мощность отношения; возможны три мощности ассоциации – один-к-одному, один-ко-многим, многие-ко-многим

  • Наследование

  • Агрегация: либо физическое включение одного класса в другой (внутренний класс), либо концептуальное вхождение одного класса в другой (контейнер)

  • Использование данных одного объекта для работы другого и методов одного объекта для реализации поведения другого

  • Инстанцирование - построение параметризированного класса (шаблона), который может параметризироваться другими классами, объектами или методами

  • Метакласс - это класс, экземпляры которого есть классы

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя. Данные и методы могут иметь модификаторы public, private и protected определяющие степень доступности.

4. Основные понятия объектно-ориентированного подхода к проектированию программ. Роль наследования в ООП.

Наследование:

  • При наследовании один класс заимствует структурную или функциональную часть одного или нескольких других классов

  • Наследование основано на иерархии классов

  • Наследование упрощает выражение абстракций, делает проект более выразительным

  • Дочерние классы наследуют свойства одного или нескольких родителей

Одиночное наследование:

При одиночном наследовании один или несколько классов наследуют свойства ТОЛЬКО ОДНОГО родительского класса.

Множественное наследование:

Абстрактные классы – обязательно должны иметь наследников и не имеют экземпляров.

5. Основные понятия объектно-ориентированного подхода к проектированию программ. Свойство полиморфизма.

Полиморфизм – возможность объектов с одинаковой спецификацией иметь различную реализацию. Он позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему - класс. Общность имеет внешнее и внутреннее выражение:

  • внешняя общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (именами методов, типами аргументов и их количеством);

  • внутренняя общность — одинаковая функциональность методов. Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу называется перегрузкой метода.

Полиморфизм:

  • Одно и то же имя может означать объекты разных ТИПОВ

  • Полиморфизм реализует адаптивное поведение класса

  • Полиморфизм реализует динамическое связывание объектов

6. Основные понятия объектно-ориентированного подхода к проектированию программ. Понятие типизации.

Типизация:

  • Это точная характеристика свойств, включая структуру и поведение, относящаяся к некоторой совокупности объектов

  • Позволяет в программных системах проводить целый ряд проверок и согласований

  • Строгая типизация предотвращает смешивание абстракций

Процесс проверки и накладывания ограничений типов — контроля типов, может выполняться во время компилирования (статическая проверка) или во время выполнения (динамическая проверка).

  • Статическая типизация — контроль типов осуществляется при компиляции.

  • Динамическая типизация — контроль типов осуществляется во время выполнения.

Контроль типов также может быть строгим и слабым.

  • Строгая типизация — совместимость типов автоматически контролируется транслятором:

  • Номинативная типизация — совместимость должна быть явно указана (наследована) при определении типа.

  • Структурная типизация — совместимость определяется структурой самого типа (типами элементов, из которых построен составной тип).

  • Слабая типизация — совместимость типов никак транслятором не контролируется. В языках со слабой типизацией обычно используется подход под названием «утиная типизация» — когда совместимость определяется и реализуется общим интерфейсом доступа к данным типа.

7. Назначение и основные свойства языка UML

UML – это язык для визуализации, специфицирования, конструирования и документирования артефактов программных систем.

Артефакт — это любой созданный искусственно элемент программной системы.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее