- •Інструменти. Загальне положення.
- •Методології побудови інструментів
- •Методи розробки. Загальні положення
- •Емпіричні методи
- •Домени, методи, моделі розробки пз
- •Рівні абстракції, покрокове уточнення
- •Функціональна декомпозиція, модулярізація
- •Структурне проектування.
- •Зведення, зв’язування, закриття інформації, модулярізація
- •Структурне програмування. Абстрактні типи даних.
- •Структурний аналіз. Обєктно-орієнтоване програмування
- •Доменний та обєктно-орієнтований аналізи
- •Персонал. Загальні положення
- •Структура організацій
- •Типи інженерії програмного забезпечення
- •Зворотна інженерія
- •Взаємозвязок інженерій
- •Методи та інструменти зворотної інженерії
- •Повторне використання. Загальні положення
- •Шляхи створення повторно використовуваних компонентів
- •Моделі життєвого циклу. Моделі «Керуй та виправляй» та шагова
- •Моделі життєвого циклу. Каскадна модель
- •Моделі життєвого циклу. Спіральна модель
- •Моделі життєвого циклу. Інкрементна та ітераційна моделі
- •Моделі життєвого циклу. Еволюційна та стадійна моделі
- •Моделі життєвого циклу. Модель прототипування
- •Моделі життєвого циклу. V, w – моделі
- •Моделі життєвого циклу. Моделі з повторним використанням
- •Моделі життєвого циклу. Синтезуюча модель
- •Моделі життєвого циклу. Моделі гнучкої розробки(Agile)
- •Вимірювання у пз. Загальні положення
Структура організацій
В инженерии программного обеспечения рассматривается два понятия, которые характеризуют организации, разрабатывающие программное обеспечение: культура и структура.
Определения организаций
система, которая обменивается материалами, кадрами, рабочей силой и энергией с окружающей средой;
группа людей, имеющих определенные формальные цели;
группы людей, координирующих свои действия для достижения организационных целей;
Принципы менеджмента организаций
разделение труда;
централизация;
управление; дисциплина;
иерархическая структура;
функциональное ориентирование;
“стартовая ниша” специальности.
Типы структур организаций
функциональная
проектная структура
матричная структура
Типи інженерії програмного забезпечення
Виды инженерий
прямая - обеспечивает процессы разработки программного обеспечения, начиная с высокоуровневых абстракций в виде спецификаций требований и заканчивая реализацией программного продукта в виде исполняемого кода.
обратная - обеспечивает процессы получения из низкоуровневого представления программного обеспечения, высокоуровневого его представления, например, проектной информации или спецификаций требований.
Если для процессов прямой инженерии при создании ПО характерно целенаправленное сужение области принимаемых решений, то для процессов обратной инженерии характерно расширение области выводимых решений, которую постоянно приходится сужать, для того, чтобы выйти на такое высокоуровневое представление, которое соответствует информации о восстанавливаемом низком уровне представления программного обеспечения.
Зворотна інженерія
обратная - обеспечивает процессы получения из низкоуровневого представления программного обеспечения, высокоуровневого его представления, например, проектной информации или спецификаций требований.
Обратная инженерия обеспечивает два следующих процесса:
идентификация системных компонентов и отношений между ними;
создание высокоуровневых представлений компонентов и программного продукта в целом
Задачи обратной инженерии
выбор подходящего уровня представления абстракций, стандартов и представлений для информации о ПО;
создание инструментов, облегчающих распознавание соответствующей информации в существующем исходном коде.
Необходимость в обратной инженерии
при создании повторно используемых компонентов из существующего программного обеспечения;
при восстановлении программного обеспечения, например, в процессе сопровождения;
при переработке программного обеспечения, например, в процесс миграции.
Методы обратной инженерии
восстановление проектной информации;
реинженерия;
реструктуризация;
редокументирование.
Взаємозвязок інженерій
Обратной инженерии отводится информационная роль, например, для формирования информации о ПО. На основе взаимодействия обеих инженерий строится восходяще-нисходящая методология разработки и сопровождения программного обеспечения.