- •Трпо семестр II содержание
- •12. Модель оценки качества по (cmm)
- •13. Тестирование по
- •14. Восходящее и нисходящее тестирование
- •15. Тестирование методом «чёрного ящика» тестирование методом «белого ящика»
- •16. Приёмо-сдаточные испытания (пси)
- •17. Стандартный сценарий тестирования пп
- •18. Философия ооп
- •19. Экстремальное программирование (xp)
- •20. Введение в com
- •21. Microsoft .Net framework
- •22. Протокол тестирования
- •23. Unifited model language (uml)
- •24. Задача о лифте
18. Философия ооп
Есть программы, которые практически нельзя разрешить без ООП.
Что дает философия ООП?
Оперировать терминами реального языка (моделирование)
Формировать требования, менять их, сопровождать
Удобный способ решения прикладных задач
Управление программы через данные
(следует из 1-4) Снижение издержек, удовлетворение потребностей
19. Экстремальное программирование (xp)
Экстремальное программирование – вид технологии разработки ПО, который обычно применяется для коммерческих проектов с целью ускорения разработки и достижения высокого качества.
Основные идеи XP:
Планирование
User Story (формирование карточек): функции простым и понятным языком описываются на отдельных карточках, карточки разбиваются по приоритетам
Планируется релиз (готовы основные функции ПО)
Измерение скорости проекта
Количество строк кода
Количество реализованных функциональностей
User Story
Использование итерацией
Максимальный квант времени между вехами – 2-3 недели
Каждая итерация начинается с собрания по планированию
Смена выполняемых задач разработчиком
Ежедневное собрание стоя
Дизайн (идет параллельно с кодированием)
Простота
Метафора системы – простая и понятная концепция, которая, во-первых, определяет терминологию, во-вторых, должно быть понимание того, что является основным качеством программного продукта
Карточки User Story используются для разработки дизайна
Своевременное наращивание дизайна
Постоянный рефакторинг (пересмотр кода и выбрасывание ненужного кода)
Кодирование
Заказчик – участник процесса
Код соответствует стандарту
Код создается парой программистов
Частая интеграция кода: каждую неделю должен собираться релиз
Коллективное владение кодом
Оптимизация кода (пот0м)
Тестирование
Каждый кусок кода должен иметь свой тест (юнит), который полностью проверяет его функциональность
Тест разрабатывается до тестируемого модуля
Любой модуль должен иметь тесты, покрывающие всю функциональность
Если дефект найден, то тесты специально корректируются так, чтобы подобные дефекты в дальнейшем проверялись (каждый дефект приводит к пересмотру тестов)
Дефекты публикуются
20. Введение в com
COM – Component Object Model
Основная концепция: разделение двоичного кода
Приложение
EXE
Библиотека
EXE,
DLL
Вопросы совместимости ложатся на разработчиков компиляторов, а не на разработчиков приложений.
Основные понятия:
Интерфейс – группа функций
Кокласс (COM Object Class) поддерживает интерфейс (реализует его)
Сервер COM – двоичный файл, содержащий реализацию одного или нескольких классов
Регистрация: сервер должен быть зарегистрирован в системе
GUID (Global Unique Identifier) – 126-битное число, идентифицирующее объекты, коклассы
HRESULT: используется для возврата значения (тип: doubleword)
Библиотека COM – часть ОС, позволяет приложениям работать с COM-объектами
Интерфейс IUnknown:
Метод AddRef – инкремент счетчика ссылок
Метод Release – декремент счетчика ссылок
Метод QueryInterface – запрос другого интерфейса
Требования к строкам
Юникод
BSTR – динамические строки
Освобождает выделенную строку клиент
Создание COM-объектов:
HRESULT CoCreateInstance (
REFCLSID rclsid; // ссылка на класс ID
IUnknown pUnkOuter; // задание внешнего объекта
DWORD dwClsContext; // набор флагов
REFID nid; // ID интерфейса
LPVOID ppv); // адрес указателя (ссылки) на интерфейс
Освобождение: IUnknown Release
Последовательность работы с одним интерфейсом:
Функция CoInitialize инициализирует работу с COM-объектами
CoCreateInstance
Вызов метода COM
Освободить интерфейс
CoUnitialize
Задачи COM:
Объекты на языках высокого уровня
Более производительная работа с кодом на языках высокого уровня
Знать на экзамене:
Технология COM позволяет использовать чужой бинарный код без компиляции. Технология от Microsoft
У каждого COM-объекта есть уникальный ID. Пока он не зарегистрирован в реестре – он мёртв
COM-объект может подменяться новым (более совершенным).
