- •Вопросы к экзамену по пм02
- •Что такое технология разработки программного обеспечения? На чем базируется и какая цель?
- •Перечислите этапы и элементы процесса разработки.
- •Инструментарий технологии программирования. Группы программных продуктов.
- •Средства для создания приложений. Классификация языков программирования.
- •Жизненный цикл по. Процесс реализации программных средств.
- •Жизненный цикл по. Процесс проектирования архитектуры программных средств.
- •Жизненный цикл по. Процесс конструирования программных средств.
- •Жизненный цикл проекта методологии rup. Процессные области (9 областей).
- •Типы требований к по. Функциональные и нефункциональные требования.
- •Роль тестирования и типы тестов, применяемых для проверки качества программного продукта.
- •Определение объектно-ориентированного программирования. Классы, интерфейсы, наследование, объекты.
- •Перечислите известные Вам среды разработки, их компоненты и поддерживаемые языки.
- •Описание данных. Типы данных и переменные.
- •Обработка данных. Операции и выражения.
- •Регулярные выражения. Метасимволы регулярных выражений.
- •Символы, строки, текст. Средства представления и обработки.
- •Роль указателей и ссылок в языках программирования и в информационных технологиях. Варианты доступа к информационным ресурсам.
- •Чем отличаются статические и динамические переменные. Понятие массива.
- •Применение алгоритмов. Цикл, итерация, рекурсия.
- •Программирование методов и принципы модульности.
- •Иерархия объектов и понятие наследования. Иерархия объектов
- •Полиморфизм и виртуальные функции.
- •Язык uml и его назначение.
- •Разновидности спецификаций язык uml. (ответ не точный)
- •Виды диаграмм uml.
Полиморфизм и виртуальные функции.
Полиморфизм – действительно богатое понятие, хотя бы потому, что это свойство является динамическим, т.е. связанным со временем выполнения программы, а таковых механизмов в Си не так уж много. Слово полиморфный наиболее удачно переводится как многоликий, обычно, говоря о полиморфных методах (виртуальных функциях) обращают внимание на множественность методов с общим именем в системе классов (метод един во многих лицах). Но все-таки основная сущность полиморфизма состоит не в этом, а в возможности одновременно рассматривать один и тот же объект и как абстрактную сущность, на уровне которой он совместим с объектами других классов, и как сущность конкретную. Сам же механизм полиморфных методов обеспечивает автоматическое преобразование первого представления во второе во время работы программы.
Свойство полиморфности заключается в том, что при отсутствии полной информации о том, к какому из классов относится объект, функция (метод) в состоянии идентифицировать его класс и корректно выполниться в нем Этим самым создается иллюзия функции «единой во многих лицах» - в каждом из родственных классов.
Язык uml и его назначение.
Язык UML ‒ это графический язык моделирования общего назначения, предназначенный для спецификации, визуализации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем.
Язык UML предназначен прежде всего для разработки программных систем. Его использование особенно эффективно в следующих областях:
информационные системы масштаба предприятия;
банковские и финансовые услуги;
телекоммуникации;
транспорт;
оборонная промышленность, авиация и космонавтика;
розничная торговля;
медицинская электроника;
наука;
распределенные Web-системы.
Разновидности спецификаций язык uml. (ответ не точный)
В целом, в разработке систем выделяется три основных системных модели:
Функциональная — схемы сценариев использования, описывающие функционал системы с точки зрения ее пользователя.
Объектная — диаграммы классов, описывающие структуру системы при помощи объектов, атрибутов, связей и операций.
Динамическая — диаграммы взаимодействия, состояний и активности, применяемые для описания внутренней работы системы.
Наглядное представление этих системных моделей осуществляется с помощью схем двух разных типов — структурных и поведенческих.
Виды диаграмм uml.
UML опирается на набор объектов, соединяемых между собой различными способами с целью создания схем, отражающих статичные (или структурные) либо динамические (поведенческие) аспекты системы.
Структурные диаграммы UML
Диаграммы классов — наиболее распространенная разновидность диаграмм UML и фундаментальная база любого объектно-ориентированного решения. Отображают классы внутри системы, а также атрибуты, операции и отношения между классами. Диаграммы классов применяются при схематизации крупных систем, так как позволяют объединять классы в группы.
Диаграммы компонентов отражают структурные отношения между элементами программной системы и чаще всего применяются при работе с комплексными структурами, состоящими из множества компонентов. Взаимодействие между компонентами осуществляется посредством интерфейсов.
Диаграммы композитной структуры применяются для схематизации внутренней структуры класса.
Диаграммы развертывания иллюстрируют аппаратное и программное обеспечение системы. Удобны в тех случаях, когда программный продукт применяется на нескольких компьютерах с индивидуальными настройками.
Диаграммы объектов отражают отношения между объектами посредством примеров из реального мира и показывают, как система будет выглядеть в заданный момент времени. Данные, содержащиеся в объектах, могут использоваться для характеризации связей между ними.
Диаграммы пакетов. Между пакетами выделяется два особых вида зависимости — импортирование и слияние. Пакеты могут символизировать разные уровни системы, позволяя воссоздать ее архитектуру. Чтобы показать механизм взаимодействия между уровнями, на схеме также можно отметить зависимость между пакетами.
Поведенческие диаграммы UML
Диаграммы активности схематично отображают потоки рабочих или операционных процессов, иллюстрируя активность в разных частях или компонентах системы. Диаграммы активности используются в качестве альтернативы диаграммам состояний.
Схемы коммуникации напоминают диаграммы последовательностей, однако во главу угла ставят сообщения, передаваемые между объектами. Диаграммы последовательностей позволяют донести ту же информацию с помощью другого набора объектов.
Диаграммы обзора взаимодействий. Существует семь разновидностей диаграмм взаимодействий, и на этой схеме показана последовательность их применения.
Диаграммы последовательностей показывают, как и в какой последовательности объекты взаимодействуют между собой. Взаимодействие иллюстрирует определенный сценарий.
Временные диаграммы напоминают диаграммы последовательности, так как отображают поведение объектов в заданный отрезок времени. Простые диаграммы описывают один объект, тогда как сложные показывают взаимодействие нескольких объектов за указанный период.
Схемы сценариев использования отображают конкретные функции системы и объясняют, как они соотносятся с внутренними/внешними контроллерами (агентами).