Главная » Все файлы » Просмотр файлов из архивов » Документы » Вопросы и ответы (старое, есть ошибки)

Вопросы и ответы (старое, есть ошибки)

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

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

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

Онлайн просмотр документа "Вопросы и ответы (старое, есть ошибки)"

Текст из документа "Вопросы и ответы (старое, есть ошибки)"

Оглавление

ВОПРОСЫ ПО UML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

МОДЕЛИРОВАНИЕ ПРОГРАММНЫХ СИСТЕМ ПОЗВОЛЯЕТ

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

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

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

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

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

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

К основным этапам компьютерного моделирования относятся:

  • постановка задачи, определение объекта моделирования;

  • разработка концептуальной модели, выявление основных элементов системы и элементарных актов взаимодействия;

  • формализация, то есть переход к математической модели; создание алгоритма и написание программы;

  • планирование и проведение компьютерных экспериментов;

  • анализ и интерпретация результатов.

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

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

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

Информационные системы разбиваются на совокупность архитектур, каждая из которых описывает различные аспекты ИС с разных точек зрения. Это позволяет разделить формирование требований к ИС на ряд итерационно выполняемых шагов, на каждом из которых решаемые задачи построения моделей и исследования вариантов архитектур имеют меньшую размерность и более просты, чем вся задача определения требований к ИС в целом.

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

Абстрагирование — это метод, с помощью которого разработчики решать сложные проблемы, последовательно разбивая их на более простые. Затем можно использовать имеющиеся готовые решения полученных типовых простых проблем в качестве строительных блоков, из которых разработчики получают решения, пригодные для реализации повседневных сложных проектов

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

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

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

  • Выделение существенных особенностей объекта и отделение их от несущественных – барьер абстракции

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

Фундаментальная идея состоит в разделении несущественных деталей реализации под программы и характеристик существенных для для корректного ее использования. Такое разделение может быть выражено через специальный "интерфейс", сосредотачивающий описание всех возможных применений программы.

Типичный пример такого интерфейса :

- множество функций, которые могут иметь доступ к структурам данных, посредством которых представлена "абстракция".

- абстракция данных поддерживает возможность для программиста определять новые типы, называемые "классами". Члены класса доступны только функциям из явно объявленного набора.

Просто упрятывание информации может быть достигнуто, например, так :

class data_type

{ // описание данных

/* список функций, которые могут использовать описания данных

("дружественные" функции) */

};

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

Классы используются для составления словаря разрабатываемой системы. Это могут быть абстракции, являющиеся частью предметной области, либо классы, на которые опирается реализация.

Центральной идеей абстракции является понятие инварианта. Инвариант - это некоторое логическое условие, значение которого (истина или ложь) должно сохраняться. Для каждой операции объекта можно задать предусловия (инварианты предполагаемые операцией) и постусловия (инварианты, которым удовлетворяет операция). Изменение инварианта нарушает контракт, связанный с абстракцией. В частности, если нарушено предусловие, то клиент не соблюдает свои обязательства и сервер не может выполнить свою задачу правильно. Если же нарушено постусловие, то свои обязательства нарушил сервер, и клиент не может более ему доверять. В случае нарушения какого-либо условия возбуждается исключительная ситуация. Как мы увидим далее, некоторые языки имеют средства для работы с исключительными ситуациями: объекты могут возбуждать исключения, чтобы запретить дальнейшую обработку и предупредить о проблеме другие объекты, которые в свою очередь могут принять на себя перехват исключения и справиться с проблемой.

Класс - это абстракция сущностей.

Абстракция сущности Объект представляет собой полезную модель некой сущности в предметной области

Абстракция поведения Объект состоит из обобщенного множества операций (состояние???))

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

ОГРАНИЧЕНИЕ ДОСТУПА (ИНКАПСУЛЯЦИЯ).

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

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

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

Инкапсуляция — один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, полиморфизмом и наследованием).

Предостережение: Одна из наиболее распространенных ошибок делать сокрытие реализации только ради сокрытия. Целями, достойными усилий, являются:

  • достижение предельной локализации изменений при необходимости таких изменений,

  • прогнозируемость изменений (какие изменения в коде надо сделать для заданного изменения функциональности) и прогнозируемость последствий изменений.

Часто инкапсуляция может быть достигнута простейшими организационными мерами: Знание того, что «вот так-то делать нельзя» иногда является самым эффективным средством инкапсуляции!

Пример

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