Кратко - из аннотации к одному из курсов МФТИ:
Цитата:
Системная инженерия – это про то, как создать что угодно (от зубочистки до марсохода) в соответствии с требованиями заказчика, и при этом соблюсти бюджет и сроки.
Написаны довольно толстые талмуды, в т.ч. и на русском языке. Очень пространно, заумно, но от меня упорно ускользает смысл, если честно. Вопросы такие:
1. Является ли эта дисциплина лженаукой?
2. Если не является - есть ли конкретные какие-нибудь содержательные результаты, а не рукомахание и абстрактные вещи, непонятно как соотносящиеся с практикой?
3. Если есть - где о них можно прочитать?
4. Если всё же лженаука, то есть ли какие-то "научные" эквиваленты в области программирования - архитектура, проектирование информационных систем и т.д. и как оно называется в целом?
Я не заглядывал в топик, потому что думал, что системотехника - это что-то вроде разводки печатных плат. А это вот что, оказывается.
А можете дать ссылки на то, что именно вы смотрели?
На заре своей карьеры я подумывал стать аналитиком (в ИТ). Пробовал немного читать разную литературу, статьи на програмерских сайтах и прочее.
Вообще говоря, задача "как создать что-нибудь в соответствии с требованиями заказчика, и при этом соблюсти бюджет и сроки" - это актуальная и важная задача. И она далека от окончательного решения. Все ниже сказанное будет относиться к ИТ.
Предлагаемые подходы к решению проблем очень разнообразны - тут вам и ТРИЗ (не читал, но, по косвенным признакам, после прочтения буду осуждать), и теория систем (скорее читал, чем нет, осуждаю) и куча прочего. Помню, купил книжку "Общая теория систем", думал, прочитаю, и как развернусь! 400 страниц примерно. Читал долго и внимательно. Пока читал, вроде все понятно, а как закончил, остался один вопрос - "ну прочитал, и чё?"
Основная проблема при общении с заказчиком в большинстве случаев лежит в области образования и психологии. Заказчик может не знать каких-то вещей, может знать, но не уметь объяснять, что он хочет и так далее. Простой пример: есть такое понятие, как "сумма с накоплением". Очень часто на программерских форумах появляются вопросы типа "написать SQL запрос для расчета суммы с накоплением", но самого термина спрашивающий не знает, начинает долго и сбивчиво объяснять. Иногда не сразу догадаешься. А если бы он знал, то нагуглил бы ответ за 3 секунды. И вот понимать таких заказчиков вас никакая теория не научит делать. Только практика.
Что действительно помогает - это книги по проектированию каких-то конкретных вещей. Например, если вам надо спроектировать базу данных, берите книгу по проектированию баз данных. И т. д. В принципе, книги по UML тоже помогают немного разобраться (сам UML при этом бесполезен обычно, хотя
под пиво как часть документации сойдет).