Главная » Просмотр файлов » Лекции в виде ответов на вопросы

Лекции в виде ответов на вопросы (1037797)

Файл №1037797 Лекции в виде ответов на вопросы (Лекции в виде ответов на вопросы)Лекции в виде ответов на вопросы (1037797)2017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Оглавление

ВОПРОСЫ ПО UML 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ВОПРОСЫ ПО UML

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

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

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

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

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

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

ПРИНЦИПЫ СОЗДАНИЯ МОДЕЛЕЙ

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

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

  • лучшие модели - те, что ближе к реальности

  • нельзя ограничиваться созданием только одной модели

ПРЕДСТАВЛЕНИЕ СЛОЖНОЙ СИСТЕМЫ

  • Конечный пользователь (заказчик) - Вид с точки зрения проектирования определяет внешние и внутренние структурные отношения

  • Программист (разработчик) - Вид с точки зрения реализации определяет отношения между компонентами ПО

  • Системный интегратор - Вид с точки зрения функционирования определяет производительность и масштабируемость системы

  • Системный администратор - Вид с точки зрения развертывания определяет топологию размещения компонент, коммуникаций, состава КТС

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

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

АБСТРАГИРОВАНИЕ.

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

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

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

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

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

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

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

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

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

МОДУЛЬНОСТЬ.

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

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

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

  • Модульность позволяет хранить абстракции раздельно

ИЕРАРХИЯ.

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

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

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

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

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

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

Объект является конкретным экземпляров класса, в котором конкретно определены его свойства.

Взаимодействие с объектом возможно только через его интерфейс. Так же объект имеет состояние (совокупность значений его свойств) и возможного поведения (совокупность методов)

Методы и свойства (поля) могут быть:

  • private (закрытый, внутренний член класса) — обращения к члену допускаются только из кода методов класса, в котором этот член определён. Любые наследники класса уже не смогут получить доступ к этому члену;

  • protected (защищённый, внутренний член иерархии классов) — обращения к члену допускаются из кода методов класса, в котором этот член определён, или из любых его классов-наследников;

  • public (открытый член класса) — обращения к члену допускаются из любого кода.

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

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

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

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

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

  • Одиночное наследование – только от одного родительского класса

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

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

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

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

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

Полиморфи́зм (от греч. πολὺ- — много, и μορφή — форма) в языках программирования — возможность объектов с одинаковой спецификацией иметь различную реализацию.

Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования[1].

Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций».

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

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

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

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

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

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

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

Другими словами – определили тип переменных – строгая типизация.

Надёжность. Типы данных защищают от трёх видов ошибок:

  • Некорректное присваивание. Пусть переменная объявлена как имеющая числовой тип. Тогда попытка присвоить ей символьное или какое-либо другое значение в случае статической типизации приведёт к ошибке компиляции и не даст такой программе запуститься. В случае динамической типизации интерпретатор программы перед выполнением потенциально опасного действия сравнит типы данных переменной и значения и также выдаст ошибку. Всё это позволяет избежать неправильной работы и «падения» программы.

  • Некорректная операция. Позволяет избежать попыток применения выражений вида «Hello world» + 1. Поскольку, как уже говорилось, все переменные в памяти хранятся как наборы битов, то при отсутствии типов подобная операция была выполнима (и могла дать результат вроде «ello worldǼ»). С использованием типов (см. далее «Контроль типов») такие ошибки отсекаются опять же на этапе компиляции.

  • Некорректная передача параметров. Если функция «синус» ожидает, что ей будет передан числовой аргумент, то передача ей в качестве параметра строки «Hello world» может иметь непредсказуемые последствия. При помощи контроля типов такие ошибки также отсекаются на этапе компиляции.

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

Документация. Использование того или другого типа данных объясняет намерения программиста. Например, enum и bool в языке не обязательны и вместо них может быть int — но оба они означают, что перед нами не целая величина, а одно из нескольких предопределённых значений.

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

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

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

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

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

"Unified Modeling Language" - UML
ЯЗЫК МОДЕЛИРОВАНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ СИСТЕМ

  • Визуализация

  • Специфицирование

  • Конструирование

  • Документирование

ВИЗУАЛИЗАЦИЯ.

  • Результаты обсуждения проекта и принятые решения воплощаются в виде понятных для всех схем

  • Улучшается понимание всеми участниками проекта поставленной задачи

  • При смене разработчиков принятые решения в виде модели не меняются

СПЕЦИФИЦИРОВАННИЕ.

  • Специфицируются важнейшие характеристики системы

  • Спецификации охватывают различные точки зрения на систему

  • Спецификации согласуются между собой

КОНСТРУИРОВАНИЕ.

  • Модели могут быть переведены на различные языки программирования (С++, JAVA, VISUAL BASIC, ORACLE) – прямое проектирование

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

ДОКУМЕНТИРОВАНИЕ.

  • Требования к системе

  • Архитектура

  • Проект

  • Исходный код

  • Проектный план

  • Тест

  • Прототип

  • Версия

  • И др.

Преимущества UML

  • UML объектно-ориентирован, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программирования на современных объектно-ориентированных языках;

  • UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;

  • Диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;

  • UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, что способствует его применению не только в сфере программной инженерии;

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

Критика

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

  • Неточная семантика. Так как UML определён комбинацией себя (абстрактный синтаксис), OCL (языком описания ограничений — формальной проверки правильности) и Английского (подробная семантика), то он лишен скованности присущей языкам, точно определённым техниками формального описания. В некоторых случаях абстрактный синтаксис UML, OCL и Английский противоречат друг другу, в других случаях они неполные. Неточность описания самого UML одинаково отражается на пользователях и поставщиках инструментов, приводя к несовместимости инструментов из-за уникального трактования спецификаций.

  • Проблемы при изучении и внедрении. Вышеописанные проблемы делают проблематичным изучение и внедрение UML, особенно когда руководство насильно заставляет использовать UML инженеров при отсутствии у них предварительных навыков.

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

  • Кумулятивная нагрузка/Рассогласование нагрузки (Cumulative Impedance/Impedance mismatch). Рассогласование нагрузки — термин из теории системного анализа для обозначения неспособности входа одной системы воспринять выход другой. Как в любой системе обозначений UML может представить одни системы более кратко и эффективно, чем другие. Таким образом, разработчик склоняется к решениям, которые более комфортно подходят к переплетению сильных сторон UML и языков программирования. Проблема становится более очевидной, если язык разработки не придерживается принципов ортодоксальной объектно-ориентированной доктрины (не старается соответствовать традиционным принципам ООП).

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

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

Сущности - это абстракции, являющиеся основными элементами модели.

  • структурные;

  • поведенческие;

  • группирующие;

  • аннотационные.

и прочие …

Характеристики

Тип файла
Документ
Размер
7,54 Mb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

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

Список файлов лекций

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