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

(Новая страница: «'''Инженерия программных систем''' (Software Systems Engineering) - термин, предложенный Уинстоном Ройсо…»)
 
м
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Инженерия программных систем''' (Software Systems Engineering) - термин, предложенный Уинстоном Ройсом (Winston Royce), подчеркивающий тот факт, что '''Программная инженерия''' (Software Engineering) и '''Системная инженерия''' (Systems Engineering) имеют много общего. Так, например, принципы и методики системной инженерии применимы к программной, а многие концепции из программной инженерии дали начало появлению их в системной. Например, [[MBSE#Стандарты MBSE| OOSE]] (Object-oriented software engineering).
+
'''Инженерия программных систем''' (Software Systems Engineering) - термин, предложенный Уинстоном Ройсом (Winston Royce), подчеркивающий тот факт, что '''[[Программная инженерия]]''' (Software Engineering) и '''[[Системная инженерия]]''' (Systems Engineering) имеют много общего. Так, например, принципы и методики системной инженерии применимы к программной, а многие [[:Категория:Концепции|концепции]] из программной инженерии дали начало появлению их в системной. Например, [[MBSE#Стандарты MBSE| OOSE]] (Object-oriented software engineering).
  
 
== Концепции ==
 
== Концепции ==
'''Программное обеспечение''' - это совокупность трех компонентов:
+
'''[[Программное обеспечение]]''' - это совокупность трех компонентов:
 
* ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку.
 
* ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку.
 
* ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд.
 
* ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд.
 
* ''Документация'' - описывает как работает программное обеспечение и как им пользоваться.
 
* ''Документация'' - описывает как работает программное обеспечение и как им пользоваться.
  
'''Программная система''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]].
+
'''[[Программная система]]''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]].
  
== Классификация ПО ==
+
== Виды описания ==
* ''Системное ПО''
+
Идеологи объектноориентированного-движения задали два основных структурированных вида описания хода инженерной [[Разработка|разработки]] (development process, engineering methodology):
* ''Встроенное ПО''
+
* использование “[[Паттерны|языков паттернов]]” (ищутся некоторые “паттерны” — неформально определяемые способы решения задач, при этом каждый паттерн описывается по заранее известному шаблону, в который обычно входит описание проблемы и типовой способ её решения). Паттерны — это чистой воды эвристики, никаких попыток выйти на какие-то более-менее формальные “языки паттернов” не делалось.
* ''Прикладное ПО''
+
* дисциплина “[[Ситуационная инженерия методов]]” (situational method engineering). Стандарты описания метода в такой дисциплине обычно представляет собой “мета-модель”: описание языка, используемого для моделирования способов работы.
 +
 
 +
== Стандарты ==
 +
''Основная статья'': [[:Категория:Стандарты программной инженерии|Стандарты программной инженерии]]
 +
 
 +
== См. также ==
 +
* [[:Категория:Модели ЖЦ|Модели жизненного цикла]]
 +
* [[:Категория:Методологии|Методологии разработки ПО]]
  
 
[[Категория: Дисциплины]]
 
[[Категория: Дисциплины]]

Текущая версия на 17:34, 13 декабря 2017

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

Концепции

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

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

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

Виды описания

Идеологи объектноориентированного-движения задали два основных структурированных вида описания хода инженерной разработки (development process, engineering methodology):

  • использование “языков паттернов” (ищутся некоторые “паттерны” — неформально определяемые способы решения задач, при этом каждый паттерн описывается по заранее известному шаблону, в который обычно входит описание проблемы и типовой способ её решения). Паттерны — это чистой воды эвристики, никаких попыток выйти на какие-то более-менее формальные “языки паттернов” не делалось.
  • дисциплина “Ситуационная инженерия методов” (situational method engineering). Стандарты описания метода в такой дисциплине обычно представляет собой “мета-модель”: описание языка, используемого для моделирования способов работы.

Стандарты

Основная статья: Стандарты программной инженерии

См. также