Инженерия программных систем — различия между версиями

Строка 2: Строка 2:
  
 
== Концепции ==
 
== Концепции ==
'''Программное обеспечение''' - это совокупность трех компонентов:
+
'''[[Программное обеспечение]]''' - это совокупность трех компонентов:
 
* ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку.
 
* ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку.
 
* ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд.
 
* ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд.
Строка 8: Строка 8:
  
 
'''[[Программная система]]''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]].
 
'''[[Программная система]]''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]].
 
== Классификация ПО ==
 
* ''Системное ПО'' - предоставляет службы (услуги) другим программам
 
* ''Встроенное ПО'' - является частью более крупной системы и реализует конкретные функции или задачи
 
* ''Прикладное ПО'' - автономная программа, удовлетворяющая конкретную потребность
 
 
== Классификация программных систем ==
 
* ''Встроенные программные системы'' (software-embedded systems), их также называют системы реального времени (real-time systems) или социотехнические системы (sociotechnical systems)
 
* ''Программно насыщенные системы'' (software-intensive systems)
 
* ''Вычислительно-ориентированные системы'' (computing-intensive systems)
 
 
{| class="wikitable"
 
! style="font-weight: bold;" | Характеристика
 
! style="font-weight: bold;" | Встроенные программные системы
 
! style="font-weight: bold;" | Программно насыщенные системы
 
! style="font-weight: bold;" | Вычислительно-ориентированные системы
 
|-
 
| Цель
 
| Автоматизация сложных подсистем для достижения более высокого быстродействия и точности
 
| Манипуляции большими массивами информации для [[СППР|поддержки решений]] или [[Инженерия знаний|приобретения знаний]]
 
| Решение трудных задач, [[моделирование]] сложных систем путем расчетов и [[имитационное моделирование|имитации]]
 
|-
 
| Функции
 
| Алгоритмические, логические
 
| Транзакционные
 
| Вычислительные
 
|-
 
| Входы
 
| Данные от датчиков, регуляторов
 
| Информация, объекты
 
| Численные данные
 
|-
 
| Обработка
 
| Вычисления в реальном масштабе времени
 
| Манипуляция, графический интерфейс пользователя, обмен данными по сети
 
| Вычисления не в реальном масштабе времени
 
|-
 
| Выходы
 
| Действия, продукция
 
| Информация, объекты
 
| Информация
 
|-
 
| Временные характеристики
 
| Реальное время, непрерывно
 
| Нерегулярно
 
| По расписанию
 
|-
 
| Примеры
 
| Управление воздушным движением, системы вооружений, аэронавигация и управление летательным аппаратом
 
| Банковские сети, системы резервирования авиабилетов, веб-приложения
 
| Прогноз погоды, математическое и имитационное моделирование
 
|-
 
| Оборудование
 
| Мини- и микропроцессоры
 
| N-уровневые архитектуры
 
| Суперкомпьютеры
 
|-
 
| Типичные пользователи
 
| Операторы
 
| Руководители различных уровней
 
| Научные работники, аналитики
 
|}
 
  
 
== См. также ==
 
== См. также ==

Версия 16:31, 18 ноября 2016

Инженерия программных систем (Software Systems Engineering) - термин, предложенный Уинстоном Ройсом (Winston Royce), подчеркивающий тот факт, что Программная инженерия (Software Engineering) и Системная инженерия (Systems Engineering) имеют много общего. Так, например, принципы и методики системной инженерии применимы к программной, а многие концепции из программной инженерии дали начало появлению их в системной. Например, OOSE (Object-oriented software engineering).

Концепции

Программное обеспечение - это совокупность трех компонентов:

  • Команды (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку.
  • Структуры данных - информация, подлежащая обработке и преобразованию посредством команд.
  • Документация - описывает как работает программное обеспечение и как им пользоваться.

Программная система - это программное обеспечение, которое к тому же удовлетворяет определению системы.

См. также