Программная система

Программная система (Software system) - система, состоящая из программного и аппаратного обеспечения и данных, главная ценность которой создается посредством исполнения программного обеспечения (OMG Essence).

Классификация программных систем

  • Встроенные программные системы (software-embedded systems), их также называют системы реального времени (real-time systems) или социотехнические системы (sociotechnical systems)
  • Программно насыщенные системы (software-intensive systems)
  • Вычислительно-ориентированные системы (computing-intensive systems)
Характеристика Встроенные программные системы Программно насыщенные системы Вычислительно-ориентированные системы
Цель Автоматизация сложных подсистем для достижения более высокого быстродействия и точности Манипуляции большими массивами информации для поддержки решений или приобретения знаний Решение трудных задач, моделирование сложных систем путем расчетов и имитации
Функции Алгоритмические, логические Транзакционные Вычислительные
Входы Данные от датчиков, регуляторов Информация, объекты Численные данные
Обработка Вычисления в реальном масштабе времени Манипуляция, графический интерфейс пользователя, обмен данными по сети Вычисления не в реальном масштабе времени
Выходы Действия, продукция Информация, объекты Информация
Временные характеристики Реальное время, непрерывно Нерегулярно По расписанию
Примеры Управление воздушным движением, системы вооружений, аэронавигация и управление летательным аппаратом Банковские сети, системы резервирования авиабилетов, веб-приложения Прогноз погоды, математическое и имитационное моделирование
Оборудование Мини- и микропроцессоры N-уровневые архитектуры Суперкомпьютеры
Типичные пользователи Операторы Руководители различных уровней Научные работники, аналитики

Анализ архитектуры

см. Анализ архитектуры ПО

Представление архитектуры

Представление дизайна является очень важным для проведения анализа архитектуры, также это гарантирует, что все реализовано правильно. Дизайн архитектуры должен быть представлен всем заинтересованным сторонам, включая группу разработки, системных администраторов и операторов, владельцев бизнеса и др.

Существует несколько широко известных методов описания архитектуры для ее представления:

Рабочие продукты

Состояния

OMG Essence определяет следующие состояния для альфы "Программная система" и контрольные вопросы для проверки каждого состояния:

Состояние Описание состояния Контрольные вопросы
1 Архитектура выбрана (Architecture Selected) Архитектура, которая адресует ключевые технические риски и любые применимые организационные ограничения, выбрана. ❑ Критерии, которые должны быть использованы при выборе архитектуры, согласованы.

❑ Аппаратная платформа определена.

Языки программирования и используемые технологии выбраны.

Границы системы известны.

❑ Значимые решения об организации системы приняты.

❑ Решения о том, что покупать, что создавать, а что переиспользовать, приняты.

2 Демонстрируемая (Demonstrable) Исполняемая версия системы, которая демонстрирует, что архитектура пригодна для использования, доступна и поддерживает тестирование. ❑ Ключевые архитектурные характеристики были продемонстрированы.

❑ Система может быть опробована и её ключевые характеристики могут быть измерены.

❑ Критические конфигурации оборудования были продемонстрированы.

❑ Критические интерфейсы были продемонстрированы.

❑ Интеграция с другими существующими системами была продемонстрирована.

❑ Необходимые стейкхолдеры согласны, что демонстрируемая архитектура подходит.

3 Подходит для использования (Usable) Система подходит для использования и демонстрирует все качественные характеристики эксплуатируемой системы. ❑ Система может эксплуатироваться использующими её стейкхолдерами.

❑ Функциональность, обеспечиваемая системой, протестирована.

❑ Результат работы системы приемлемдля стейкхолдеров.

❑ Уровни дефектов приемлемы для стейкхолдеров.

❑ Система полностью документирована.

❑ Содержание релиза известно.

❑ Добавляемая польза, обеспечиваемая системой, ясна.

4 Готова (Ready) Система (как целое) была принята для разворачивания в её эксплуатационном окружении. ❑ Установочная и другая пользовательская документация доступна.

❑ Представители стейкхолдеров принимают систему как удовлетворяющую своему назначению.

❑ Представители стейкхолдеров хотят принять систему в эксплуатацию.

❑ Эксплуатационная поддержка наличествует.

5 Эксплуатируется (Operational) Система используется в её эксплуатационном окружении. ❑ Система сделана доступной стейкхолдерам, которые намерены её использовать.

❑ Есть как минимум один пример полностью работающей системы.

❑ Система полностью поддерживается на согласованном уровне сервиса.

6 Выведена из эксплуатации (Retired) Система больше не поддерживается. ❑ Система была заменена или прекращена в использовании.

❑ Система больше не поддерживается.

❑ Нет «официальных» стейкхолдеров, которые до сих пор используют систему.

❑ Апдейты к системе больше не будут производиться.