Инженерия программных систем — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) м |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 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). |
== Концепции == | == Концепции == | ||
− | '''Программное обеспечение''' - это совокупность трех компонентов: | + | '''[[Программное обеспечение]]''' - это совокупность трех компонентов: |
* ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку. | * ''Команды'' (компьютерная программа, код). Команды различаются по уровню детальности, синтаксису и языку. | ||
* ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд. | * ''Структуры данных'' - информация, подлежащая обработке и преобразованию посредством команд. | ||
Строка 9: | Строка 9: | ||
'''[[Программная система]]''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]]. | '''[[Программная система]]''' - это программное обеспечение, которое к тому же удовлетворяет определению [[система|системы]]. | ||
− | == | + | == Виды описания == |
− | + | Идеологи объектноориентированного-движения задали два основных структурированных вида описания хода инженерной [[Разработка|разработки]] (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). Стандарты описания метода в такой дисциплине обычно представляет собой “мета-модель”: описание языка, используемого для моделирования способов работы.
Стандарты
Основная статья: Стандарты программной инженерии