Заметки по системному подходу в информационных системах

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

1. Системный      подход целесообразно применять при наличии одного или нескольких      нижеуказанных условий:

- наличие проблемы или комплекса проблем требующих решения и которые существенным образом влияют на жизнедеятельность ключевых - элементов, компонентов, подсистем (или на саму систему в целом);

- наличие потребности в существенной модернизации информационной системы;

- наличие потребности в существенной редукции (упрощению) структуры информационной системы;

- существенные изменения окружающей среды информационной системы;

- необходимость в проектировании новой информационной системы.

2. Проектирование      многофункциональной информационной системы требует применения структурного или объектного подхода. При этом широко используются современные      инструменты и языки моделирования.

Collapse )

Цикл статей по системному подходу

Методика прикладного системного анализа. Фаза Идентификация и Диагностика проблемы


По личным наблюдениям могу уверенно отметить, что современная динамика жизнедеятельности людей не особо располагает к применению мощнейшего аппарата системного анализа и общей теории систем для решения проблем любой природы. В попытках реанимировать интерес современных системных аналитиков (да и впрочем свой тоже) к этому запылившемуся, но очень эффективному инструменту начинаю цикл статей с описанием собственной интерпретации методологии изученной по различным материалам — классическим книгам (описывающие теоретико-практические аспекты системного подхода), учебно-методическим пособиям и собственному опыту. Начнем с первичных этапов прикладного системного анализа, а именно для фазы идентификации и диагностики проблемы целесообразно придерживаться следующих этапов:


 1. Идентифицировать проблему, описав её максимально исчерпывающе словесно, с отражением ключевых участников и обобщенных последствий.


Collapse )

Инертность мышления в инженерии

Если приступать к напряженной      умственной активности (например связанной с разработкой ПО) после      значительного перерыва, то возникают интересные ложные эффекты, такие как      критичное отношение к архитектуре того или иного решения или программного      кода (неважно собственного или чужого). Причем критика как правило связано      с субъективным восприятием решения излишне сложным , непонятным, требующим упрощения или оптимизации. В      таких состояниях легко податься соблазну что-то изменить в системе следуя      данному временному по своей сути порыву. В большинстве случаях      инициируемые изменения не имеют под собой четких обоснований, так как      являются следствием ложных субъективных ощущений. Природа данных ощущений      связана с инертностью когнитивного процесса, переключение с более простых      задач на более сложные требует больших умственных усилий на которые      необходим соответствующий настрой и силы. Ввиду того, что мозгу необходимо      время на постепенное осознание (или восстановление в памяти) — сложности системы, её структуры и эмерджентности, то  он стремится к      неуместному или чрезмерному упрощению чтобы сократить затраты энергии на      умственное напряжение. Поэтому следует учитывать этот фактор и      воздерживаться от деструктивных соблазнов по упрощению системы на ранних      этапах напряженной умственной активности. После того как мозг привыкнет к      нагрузке сформирует целостную картину системы, казавшиеся логичными и      бесспорными стремления к упрощению или изменению на начальной стадии      изучения уже не кажутся столь уместными или вовсе может прийти осознание      что первоначальные выводы были неправильными и поспешными. 

Размышления о качестве жизни социального окружения

Каждый человек имеет возможность оценить качество жизни собственного социального окружения, проанализировав  определенный (желательно значительный) промежуток времени. Под собственным социальным окружением подразумевается именно определенная группа родных, друзей, коллег, знакомых, судьбу и жизнь которых каждый может непрерывно наблюдать в течении заданного промежутка времени. Прерывания в наблюдениях допустимы, но незначительные, такие при которых не происходят кардинальных изменений в общих тенденциях и трендах судеб людей группы. Есть предположение, что после подобного анализа динамики качества жизни  социального окружения значительное количество людей придет к выводу, что совокупная тенденция покажет картину, отражающую скорее ухудшение данного показателя для большинства из социального окружения. Понятие ухудшение качество жизни в данном контексте предполагает наличие например следующих характерных черт:

Collapse )

Деградация эффективности обработки информационных потоков

Каждый специалист обладает определенными возможностями по обработке и отслеживанию и управлению информационными потоками (далее инфопоток). Естественно что объемы обрабатываемых информационных потоков ограничены и зависят от индивидуума. К тому же объем обрабатываемой информации может изменяться при различных факторах, которые можно поделить на две категории - детерминированные (неизбежные) и временные. К неизбежным можно отнести негативные факторы связанные со старением организма, перманентной повышенной психоинтеллектуальной нагрузке - логично что при данных факторах обрабатываемые объемы информации естественно снижаются. Позитивные факторы данной категории, такие как обучение, повышение квалификации, умеренные психоинтеллектуальные нагрузки( провоцирующие рост эффективности обработки информации) естественно расширяют объемы обрабатываемого инфопотока. К временным негативным факторам можно отнести - эпизодические психоэмоциональные нагрузки (сведение годового баланса, сезонный рост продаж и тп.), снижение мозговой активности по причинам любых видов внешних воздействий среды - болезнь, травма, стресс, естественная усталость. К временным позитивным факторам можно отнести - прием стимулирующих умственную активность веществ, наличие повышенной мотивации и интереса к предметной области (энтузиазм). С научно-практической точки зрения интерес вызывает именно процесс снижения объемов обрабатываемой информации (для краткости далее этот процесс будем называть "деградация инфообработки") у специалистов сложных областей человеческой деятельности. Попробуем представить с обывательской точки зрения характер деградации инфообработки, для которой свойственны следующие явления и последствия в контексте управляемой конкретным специалистом системы, а также влияния на самого специалиста:

Collapse )

Разработка ПО - хаус абстракций

Каждый отраслевой разработчик в течении периода своей профессиональной деятельности генерит/разрабатывает значительное количество программных абстракций. Под абстракциями здесь подразумевается именно программные абстракции, которые моделируют ту или иную сферу деятельности человека. С одной стороны это способствует росту отрасли в целом, с другой - не ощутимо стимулирует её развитие (рост и развитие в терминах системного анализа). Большинство разработчиков ловили себя на простой мысли - слишком много абстракций, они везде, они избыточны, не упорядочены, рост их бесконтрольный, отсутствует системность». Все это вызывает дискомфорт, а иногда и профессиональную демотивацию, особенно перед стартом крупного проекта.
И вправду мы пишем очень много кода, в большинстве случаев компромиссного, что обусловлено стремлением к сокращению Time To Market. В конце концов его становится так много, что для осознания/развития всей архитектуры из огромных нагромождений абстракций требуется затрачивать очень много умственных усилий, что в итоге приводит к необоснованному росту кадрового состава разработчиков, тем самым снова стимулируя рост сложности и объемов абстракций. И так продолжается до точки невозврата, которая представляет собой достижения такого уровня сложности программных систем, когда сопровождение и разработка занимает неприемлемое для бизнеса количество ресурсов (временных и человеческих).
Наступающий в следствии кризис приводит к следующим результатам:
— замена старой программной системы на новую, причем не особо важно каким образом это обеспечивается — покупкой готовой системы или написание новой системы с нуля.
— профессиональная демотивация разработчиков и разочарование в отрасли. Как правило, разработчик приходит к выводу, что сложившаяся ситуация - это часть жизненного цикла любой программной системы и крах со временем практически всегда неизбежен. Вторая мысль, которая будет тревожить любого разработчика — чем больше абстракций, тем больше времени и энергии нужно тратить на их поддержание и изменение. Следствием этого является осознанное стремление разработчика сопротивляться любым изменениям, которые влекут за собой создание новой абстракции или значительное усложнение старой.
Вот отсюда и мнения общества о чрезмерном скептицизме и недружелюбности профессиональных разработчиков с большим стажем. Мысль о рождении еще одного «программного детища» начинает отпугивать, так как очевиден факт, что детище нужно холить, лелеять, взращивать, модифицировать, а если таких «детищ» в зоне ответственности разработчика большое количество, то все становится совсем грустно (сдается мне что ресурс ebanoe.it плод именно таких разработчиков).
Продолжение следует....