- •1.Определение технологии конструирования по. Классический жизненный цикл. Достоинства и недостатки кжц. Определение технологии конструирования программного обеспечения
- •Классический жизненный цикл
- •2.Макетирование . Основная цель макетирования. Формы. Достоинства и недостатки. Алгоритм последовательности действий при макетировании.
- •3.Стратегия конструирования по. Инкрементная модель.
- •Инкрементная модель
- •4.Спиральная модель. Способы ее организации. Достоинства и недостатки.
- •6.Модели качества процессов конструирования. Охарактеризуйте 5 уровней смм.
- •7.Процесс руководства проектом. Измерения .Размеры и метрики. Планирование проектных задач.
- •Измерения, меры и метрики
- •Процесс оценки
- •Планирование
- •8.Размерно-ориентированные метрики. Достоинства и недостатки.
- •9.Методика тестирования программных систем. Охарактеризовать тестирование спиральной модели. Формула Пуассона.
- •10.Тестирование элементов. Тестирование интеграции.
- •11.Охарактеризовать нисходящее тестирование интеграции. Его этапы. Достоинства и недостатки.
- •12.Восходящее тестирование интеграции. Назовите отличительные характеристики от нисходящего тестирования интеграции.
- •Сравнение нисходящего и восходящего тестирования интеграции
- •13.Тестирование правильности. Его основная цель, α и β - тестирование.
- •14.Искусство отладки. Разновидности появления ошибок. Назовите три группы методов отладки.
- •15.Принципы объектно-ориентированных пс. Абстрагирование.
- •Абстрагирование
- •16. Дать определение инкапсуляции , модульности. Приведите пример.
- •17.Общая характеристика объектов. Назовите свойства объектов, основные операции клиента над объектом.
- •18.Связи между объектами. Видимость объектов. Агрегация.
- •Видимость объектов.
- •Агрегация.
- •19.Общая характеристика классов. Виды отношений между классами.
- •20.Унифицированный язык моделирования. Предметы uml.
- •21.Отношения uml.
- •22.Диаграммы uml.
- •23.Моделирование поведения программных систем. Диаграммы схем состояний.
- •24.Условные переходы. Вложенные состояния. Условные переходы
- •Вложенные состояния
- •25.Диаграммы деятельности. Диаграммы сотрудничества (синхронный и асинхронный поток сообщений). Диаграммы деятельности
- •Диаграммы сотрудничества
- •26.Диаграмма последовательности , Актеры и элементы use case.
- •Актеры и элементы Use Case
- •27.Назовите отношение в диаграммах use case. Отношения в диаграммах Use Case
- •28.Назовите основные свойства создания диаграмм с помощью объекта char.
- •29.Опишите циклы: for...Next, wile...When, do...Loop.
- •30.Назовите управляющие структуры элементов vba.
15.Принципы объектно-ориентированных пс. Абстрагирование.
Рассмотрение любой сложной системы требует применения техники декомпозиции — разбиения на составляющие элементы. Известны две схемы декомпозиции: алгоритмическая декомпозиция и объектно-ориентированная декомпозиция.
В основе алгоритмической декомпозиции лежит разбиение по действиям — алгоритмам. Эта схема представления применяется в обычных ПС.
Объектно-ориентированная декомпозиция обеспечивает разбиение по автономным лицам — объектам реального (или виртуального) мира. Эти лица (объекты) — более «крупные» элементы, каждый из них несет в себе и описания действий, и описания данных.
Объектно-ориентированное представление ПС основывается на принципах абстрагирования, инкапсуляции, модульности и иерархической организации. Каждый из этих принципов не нов, но их совместное применение рассчитано на проведение объектно-ориентированной декомпозиции. Это определяет модификацию их содержания и механизмов взаимодействия друг с другом.
Абстрагирование
Аппарат абстракции — удобный инструмент для борьбы со сложностью реальных систем. Создавая понятие в интересах какой-либо задачи, мы отвлекаемся (абстрагируемся) от несущественных характеристик конкретных объектов, определяя только существенные характеристики. Например, в абстракции «часы» мы выделяем характеристику «показывать время», отвлекаясь от таких характеристик конкретных часов, как форма, цвет, материал, цена, изготовитель.
Итак, абстрагирование сводится к формированию абстракций. Каждая абстракция фиксирует основные характеристики объекта, которые отличают его от других видов объектов и обеспечивают ясные понятийные границы.
Абстракция концентрирует внимание на внешнем представлении объекта, позволяет отделить основное в поведении объекта.от его реализации. Абстракцию удобно строить путем выделения обязанностей объекта.
16. Дать определение инкапсуляции , модульности. Приведите пример.
Инкапсуляция и абстракция — взаимодополняющие понятия: абстракция выделяет внешнее поведение объекта, а инкапсуляция содержит и скрывает реализацию, которая обеспечивает это поведение. Инкапсуляция достигается с помощью информационной закрытости. Обычно скрываются структура объектов и реализация их методов.
Инкапсуляция является процессом разделения элементов абстракции на секции с различной видимостью. Инкапсуляция служит для отделения интерфейса абстракции от ее реализации.
Модуль — фрагмент программного текста, являющийся строительным блоком для физической структуры системы. Как правило, модуль состоит из интерфейсной части и части-реализации.
Модульность — свойство системы, которая может подвергаться декомпозиции на ряд внутренне связанных и слабо зависящих друг от друга модулей.
В языках C++, Object Pascal, Ada 95 абстракции классов и объектов формируют логическую структуру системы. При производстве физической структуры эти абстракции помещаются в модули. В больших системах, где классов сотни, модули помогают управлять сложностью. Модули служат физическими контейнерами, в которых объявляются классы и объекты логической разработки.
Модульность определяет способность системы подвергаться декомпозиции на ряд сильно связанных и слабо сцепленных модулей.
Общая цель декомпозиции на модули: уменьшение сроков разработки и стоимости ПС за счет выделения модулей, которые проектируются и изменяются независимо. Каждая модульная структура должна быть достаточно простой, чтобы быть полностью понятой. Изменение реализации модулей должно проводиться без знания реализации других модулей и без влияния на их поведение.
Определение классов и объектов выполняется в ходе логической разработки, а определение модулей — в ходе физической разработки системы. Эти действия сильно взаимосвязаны, осуществляются итеративно.
В Ada 95 мощным средством обеспечения модульности является пакет.