1. Объектно-ориентированные технологии программирования.
1. Класс и объект.
Класс – это описание того, какими свойствами и поведением будет обладать объект.
Объект – это экземпляр с собственным состоянием этих свойств.
2. Расширение класса.
Для расширения класса используется принцип ООП – наследование (это механизм системы, который позволяет, наследовать одними классами свойства и поведение других классов для дальнейшего расширения или модификации).
3. Свойство.
Свойства – это особым образом оформленные методы, предназначенные как для чтения и контролируемого изменения внутренних данных объекта (полей), так и выполнения действий, связанных с поведением объекта.
4. Виртуальный метод и виртуальное свойство.
Методы и свойства, которые могут быть переопределены в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения, называют виртуальными. В этом случае класс-наследник может переопределять методы и свойства базового класса.
5. Исключение.
Исключение – это некоторое событие, которое является неожиданным или прерывает нормальный процесс выполнения программы.
6. Исключения в языке С++.
Стандарт языка C++ предусматривает встроенный механизм обработки исключений. Механизм обработки исключений C++ – после того, как исключение произошло, обработчик исключения не может потребовать, чтобы исполнение было продолжено с того места в коде, которое вызвало исключение.
7. Приемы объектно-ориентированного программирования.
Абстракция данных – набор наиболее значимых характеристик объекта, доступных остальной программе.
Инкапсуляция – это механизм программирования, объединяющий вместе код и данные, которыми он манипулирует, исключая как вмешательство извне, так и неправильное использование данных.
8. Примеры объектно-ориентированного программирования.
Одни языки отвечают принципам ООП в полной мере – в них все основные элементы являются объектами, имеющими состояние и связанные методы. Примеры подобных языков – Smalltalk, Eiffel.
9. Множественное наследование в языке С++.
Множественное наследование позволяет порожденному классу наследовать элементы более, чем от одного базового класса. Синтаксис заголовков классов расширяется так, чтобы разрешить создание списка базовых классов и обозначения их уровня доступа.
10. Виртуальные методы в языке С++.
Виртуальная метод (функция) — это функция, которая определяется в базовом классе, а любой порожденный класс может ее переопределить. Виртуальная функция вызывается только через указатель или ссылку на базовый класс.
11. Константные методы в языке С++.
Константные методы классов – это те методы, которые гарантированно не меняют объекта, к которому они применяются.
12. Операторы приведения типа в языке С++.
Преобразование значения переменной одного типа в значение другого типа называется приведение типа и бывает явным и неявным.
13. Ссылки в языке С++.
Ссылка представляет собой синоним имени, указанного при инициализации ссылки. Ссылку можно рассматривать как указатель, который всегда разыменовывается.
14. Шаблоны функций и классов в языке С++.
Шаблоны – средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).
2. Стандарты разработки ПО и Рациональный Унифицированный Процесс (RUP).
15. Процессы жизненного цикла программных средств.
Процессы жизненного цикла программных средств делятся на следующие группы: основные; вспомогательные; организационные.
16. Рациональный Унифицированный Процесс (RUP), как методология разработки ПО в соответствии со стандартом ISO 9001.
Унифицированный процесс RUP был разработан компанией «Rational Software» в качестве дополнения к языку моделирования Unified Modeling Language (UML). Особенностью RUP является то, что в результате работы над проектом создаются и совершенствуются модели ПО.
17. Особенности унифицированного процесса разработки RUP.
В основе RUP лежат следующие принципы:
- Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
18. Основные этапы RUP.
Полный жизненный цикл разработки продукта состоит из четырёх фаз, каждая из которых включает в себя одну или несколько итераций…
19. Артефакты и прецеденты.
Артефакты — это некоторые продукты проекта, порождаемые или используемые в нем при работе над окончательным продуктом.
Прецеденты — это последовательности действий, выполняемых системой для получения наблюдаемого результата.
20. Аспекты RUP.
Динамический аспект. Согласно технологии RUP, ЖЦ ПО разбивается на отдельные циклы, в каждом из которых создается новое поколение продукта.
3. Проектирование ПО на унифицированном языке моделирования UML.
21. Унифицированный Язык Моделирования (UML), как средство проектирования ПО в соответствии со стандартом ISO 9001.
UML представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы. UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов.
22. Общие сведения об унифицированном языке моделирования UML.
UML (Universal Modelling Language) – универсальный язык моделирования, предназначенный для создания унифицированных описаний моделей системных объектов.
23. Типы диаграмм.
В рамках UML представления о модели сложной системы фиксируются в виде специальных графических конструкций – диаграмм.
24. Создание проекта на UML.
Определены три режима использования UML разработчиками: режим эскиза; режим проектирования; режим языка программирования. В режиме эскиза разработчики используют UML для обмена информацией о различных аспектах системы.
25. Построение диаграмм.
Диаграмма – это графическое представление набора элементов, чаще всего изображенного в виде связного графа вершин (сущностей) и путей (связей).
26. Автоматизация кодогенерации проекта и создание приложения на его основе.
Кодогенерация – это процесс генерации кода на основе определенных данных. Любой достаточно большой проект в процессе своей разработки включает стадию проектирования. При этом на этапе реализации довольно удобно использовать диаграммы, созданные на этапе проектирования.
4. CASE-технологии объектно-ориентированного анализа и проектирования программных средств
27. CASE-технологии.
CASE-технологии (Computer-Aided Software/System Engineering) — инструментальные средства, используемые при проектировании систем. CASE-технологии охватывают весь спектр работ по созданию и сопровождению программного обеспечения (главным образом, анализ и разработку, составление проектной документации, кодирование и тестирование системы).
28. Критерии развития CASE-средств.
Критерии формируют базис для процессов оценки и выбора и могут принимать различные формы, включая:
• числовые меры в широком диапазоне значений, например, объем требуемой памяти;
29. Обзор современных объектно-ориентированных программных средств.
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПО.
30. Типы и особенности современных программных проектов.
Существуют два основных способа проектирования структурное и объектно-ориентированное проектирование.
31. Особенности построения объектно-ориентированного программного средства.
Классическая постановка задачи разработки программной системы (инжиниринг) представляет собой спиральный цикл итеративного чередования этапов объектно-ориентированного анализа, проектирования и реализации (программирования).
32. Управления требованиями к ПО.
Управление требованиями к программному обеспечению — процесс, включающий идентификацию, выявление, документирование, анализ, отслеживание, приоритизацию требований, достижение соглашения по требованиям и затем управление изменениями и уведомление соответствующих заинтересованных лиц.
33. Определение и описание требований к ПО.
Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению, в результате анализа требований.
34. Стандарты на разработку требований.
Спецификация требований программного обеспечения — структурированный набор требований (функциональность, производительность, конструктивные ограничения и атрибуты) к программному обеспечению и его внешним интерфейсам.
35. Моделирование ПО.
Модель – это объект или описание объекта, системы для замещения одной системы другой системой для лучшего изучения оригинала или воссоздания каких-либо его свойств.
36. CASE-системы для разработки ПО.
СASE-системы для разработки ПО:
- средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области (Design/IDEF (Meta Software), BPwin (Logic Works))…
37. CASE-системы для проектирования баз данных.
Средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД.
38. Проектирование баз данных в CASE системах, генерация отчетов и генерация задания для создания БД.
Процесс проектирования данных можно условно разделить на два этапа: логическое моделирование и физическое проектирование. Результатом первого из них является так называемая логическая (или концептуальная) модель данных, выражаемая обычно диаграммой «сущность-связь» или ER (Entity-Relationship) диаграммой, которая представлена в одной из стандартных нотаций, принятых для отображения подобных диаграмм.
39. Моделирование Web приложения в CASE-среде.
Проектирование веб-приложения стоит начать с определения первоначальный целей и области решаемых задач. Создать реестр заинтересованных лиц. На следующем этапе необходимо собрать требования к приложению, которое необходимо разработать.