Я в ИТ-сфере официально около 15 лет, и большую часть этого времени занимался проектированием систем. Очень часто в работе или при знакомстве с новыми коллегами возникают споры на профессиональные темы, одним из которых является ответ на вопрос – «Что такое система?». Каждый понимает это понятие по-своему, чаще всего опираясь на свой опыт и знания, полученные в ИТ-сфере; другие трактуют определения, взятые из интернета или учебников. И чаще всего эти споры не приводят к единому мнению, так и сейчас я не претендую на 100% принятия моих рассуждений.
На мой взгляд, вопрос, что такое система, — это один из важнейших вопросов, на который должен ответить правильно любой аналитик. Ведь мы проектируем системы, создаем новые или изменяем, развиваем существующие, и если мы не понимаем что это, из чего состоит и как с ними работать, то и качество наших трудов будет сомнительным.
Перед тем как перейти к определению системы, я расскажу одну историю, а именно слова одного из моих преподавателей в институте. На последних курсах учебы, 4 или 5 курс, точно не помню, он раскрыл нам секрет: «Систем не существует». То есть после нескольких лет обучения нас тонкостям и методам создания систем он заявляет, что систем не существует. Смотря на нас с улыбкой на лице и после непродолжительной паузы он добавил, что система — это не что-то существующее в нашем мире: это умение видеть окружающий мир в виде некоторых повторяющихся зависимостей. Умение каждого человека видеть, определять системность вокруг нас. И так же, как художник видит мир в своих цветах, так же и мы видим эту системность мира по-своему. Именно поэтому я считаю, что наша профессия самая что ни на есть творческая.
Мы творцы, мы рисуем мир цифрами.
Отсюда напрашивается вопрос — что нужно, чтобы увидеть систему, что отличает простое видение от системного? Для начала — поймите, что вы ищете, выберите свое определение, которое вам подходит, которое вы понимаете.
Я дам свое определение системы, которое мне больше всего нравится, и я везде использую его как основу. Оно, на мой взгляд, самое простое и понятное:
«Система — это набор объектов и правила взаимодействия между ними»
Чтобы точнее понять, о чем тут речь, давайте вспомним из нашего опыта, какие системы мы знаем: система уравнений из школы; солнечная система; экономические системы; социальные системы и т.д. Во всех этих системах есть ключевые объекты, которые мы рассматриваем: например, уравнения, космические тела солнечной системы, люди вокруг нас, как объекты социальной системы; и определенные правила, по которым они взаимодействуют в рамках своих систем: гравитационные силы, социальные, межличностные правила общения и так далее. Как и было сформулировано в определении, все эти системы объединяет наличие общих элементов — набор объектов и правил, по которым эти объекты связаны друг с другом. Тогда получается, что любой человек, определяя связь между двумя и более объектами во внешнем мире, создает систему.
Скорее всего, вы сейчас думаете — а причем тут АИС, как это поможет нам? Разберем для начала, что такое информационная система. Рассмотрим наше определение и доработаем его:
Информационная (Система — это набор объектов и правила взаимодействия между ними) => Информационная система — это набор информационных объектов и правила информационного взаимодействия между ними
Получается, что разница между системой физической и системой информационной в том, какие объекты рассматриваются в этих системах и какие правила взаимодействия между ними выделяют.
Разберем, что такое информационный объект и что такое информационное взаимодействие между этими объектами.
На мой взгляд, информационный объект — это информационная модель физического объекта, хранимая в виде информации, и она должна указывать на физический объект
Давайте рассмотрим пример: вокруг вас находится с десяток различных физических объектов, будь то стулья, столы, ноутбук, кровать, диван и пара кресел. И если сказать: «Возьми вот тот конкретный стул!», указав на конкретный физический объект, то взять сразу нужный стул не составит никакого труда — в этом случае вы работаете с физическим объектом. Но, когда вы разрываете привязку к физическому объекту, оперируя только его названием, вы работаете уже с моделью физического объекта — информационным объектом: говоря «стул», вы не имеете ввиду конкретный стул, а просто выделяете такое понятие — информационное понятие, обозначающее абстрактный информационный объект, с которым можно дальше работать — стул, стол, кресло. Если сказать эти слова человеку, который не знает значений этих моделей, ему будет непонятно, о каких физических объектах идет речь. Потребуется объяснить, на какие свойства (параметры или атрибуты) нужно обратить внимание, чтобы из данного множества объектов выделить нужный вам физический объект. Именно эти параметры информационного объекта и являются его ключевым элементом. Информационный объект или, как я привык его называть, сущность — это набор свойств, выделяющих нужные нам физические или информационные объекты из выделенного множества других физических или информационных объектов.
Чтобы стало понятнее, я выделю из вышеперечисленного примера 2 сущности:
- стулья — объекты, определяющиеся наличием 4 ножек, основы, чтобы сидеть на нем, и спинки, на которую можно облокотиться. Возможно определение не точное, но оно подходит для понимания.
- предметы интерьера, на которые можно садиться — это объекты, имеющие плоскую опору, на которую можно сесть и которые стоят на полу и возвышаются на высоту не менее 40 см и не более 1,5 метров.
Видно, что под второе определение попадают и стулья, и кресла и кровать с диваном, и даже стол, на который тоже можно сесть. Тут наша сущность объединяет в себе объекты других сущностей, других информационных объектов.
Идем дальше… Правила информационного взаимодействия. Рассмотрим для примера цветовую индикацию светофора как возможную систему, и выделим объекты рассматриваемой нами системы. Объектами системы являются три элемента света: красный, желтый, зеленый. Если человек не понимает предназначения светофора, то, наблюдая за ним, он все равно может увидеть связи между этими объектами. Красный свет загорается после зеленого, желтый после красного, зеленый после желтого; иногда встречаются светофоры, на которых зеленый загорается после одновременно горящих красного цвета и желтого и т.д. Добавляя в эту систему новые объекты — автомобили, он выявит, что на зеленый все едут, на красный — останавливаются перед светофором и т.д.
Получается, правила информационного взаимодействия — это дополнительные условия, при которых информационный объект меняет свое состояние через изменение своих свойств. И чем точнее мы сможем определить состав объектов системы и правила их взаимодействия, тем точнее мы смоделируем систему в целом
Еще один пример. Возьмем сущность «Контрагент» — некоторое физическое или юридическое лицо, с которым осуществляется какая-либо деятельность; добавим к системе новую сущность – «Сделка». Если сущность «Сделка» связать с «Контрагентом», то мы можем получить 2 новые сущности – «Покупатель» и «Поставщик».
Теперь, понимая, что такое информационная система, разберем, что такое автоматизированная информационная система. По аналогии с разбором определения выше мы можем понять, что нужно автоматизировать информационные объекты и автоматизировать информационное взаимодействие.
Так сложилось, что под автоматизацией обычно понимают написание какой-либо программы, которая чаще всего потребует от человека ровно тех же действий, а иногда и больше, но на компьютере. По определению, автоматизация — это своего рода перекладывание функций человека на машины. Так, если человек всю жизнь вел учет в тетрадке, а вы ему создали программу, обязательно используя «очень крутую и продвинутую технологию» в которой он ведет тот же самый учет, но уже на компьютере, то это не автоматизация.
Давайте разберем пример: у нас стоит задача реализовать учет контрагентов в системе. В этом случае мы сразу представляем табличку со свойствами и с соответствующим интерфейсом. И если в системе я добавил контрагента и по нему провел закупочную сделку, то он сразу отобразился как поставщик. Если же этот процесс реализовывать на бумаге в табличных формах, то я должен буду после совершения сделки переписать данные контрагента из таблицы контрагентов в таблицу поставщиков. То есть благодаря системе мы все же кое-что автоматизируем.
Поэтому я бы определил «автоматизированную информационную систему» как проекцию информационной системы на технические средства
В заключение хотелось бы обратить внимание на такое мое суждение: чтобы не заниматься автоматизацией хаоса, начните с проектирования самой системы, и тогда в последующем создание информационной системы и ее автоматизация будет давать ощутимый для пользователя эффект.
0pauc0
1. Почему «набор»? Что дает это слово (указание) в вышепроцитированном определении?
2. Объекты указаны, а где субъекты? Мы ведь говорим за реальную жизнь, реальную производственную, технологическую среду, где есть субъектность.
3. Почему только правила взаимодействия? В реальном мире, кроме правил, есть и события не укладывающиеся в правила. Вместо слова правила вернее уж тогда указать технологии.
4. Если продолжать про реальность, конечно нужны еще ресурсы.
5. А если дополнить целеполаганием, контролем и планированием, то может быть что то и вырисуется :-) и можно будет исключить слово «система».
alexxz
Мне кажется, вы недостаточно поняли автора. Автор хотел показать, что система — это абстракция. Это абстракция описывающая некие сущности (объекты) и правила их взаимодействия. Давайте попробую ответить.
1. «набор» в данном случае указывает, что разнообразие сущностей ограничено.
2. Объекты — сущности, а не крайние элементы отношений (взаимодействий)
3. Именно правила, применение правил в реальном мире уже и есть действия и события
4 и 5. Ресурсы, целеполагание, контроль и планирование. Тут — несколько сложнее. Мне кажется, что эти понятия отчасти заложены в систему, а отчасти представлены в слове «проекция» из определения АИС.
0pauc0
Это правда, я не понял автора. Говорить о происходящем в реальном мире на примере ножек стульев, называть субъектов происходящего всего лишь какими-то контрагентами, временнЫе события (предопределённые) показывать на примере светофора и еще и называть это правилами — я этого действительно не понимаю.
А в каких других случаях разнообразие не ограничено? Наверное во всех остальных, кроме ножек стула? Автор говорит об объектах а Вы про сущности, и кстати что это такое, раз уж даете термин.
Да что Вы говорите, в реальном мире именно неисполнение правил в большинстве случаев порождает цепочки событий. Если правило исполнено, то отметил и забыл, даже в лог писать не надо — работает по технологии а значит все ок.
Sabilov Автор
Если смотреть на окружение не как на систему, а как на набор физических объектов. То рано или поздно вы начнете замечать зависимости, я их назвал правилами, к примеру к контексте событий, если наступает 12 часов люди идут на обед. так вот в целом это правило, в деталях оно состоит из события и действия определенных объектов.
1. При рассмотрении или проектировании любой системы изначально описываются ограничения системы, т.е. рамки за которые вы не планируете выходить, эти границы и задают тот набор объектов и правил которые попадут в систему, а какие нет.
3. А никто не говорит что в реальном мире нет правил — для формирования системы в этом мире между этими объектами мы должны эти правила выявить и формализовать — это и позволит нам описать физическую систему.
4 и 5 — Неисполнение правила это тоже правило) просто оно шире, и в рамках него правило может быть исполнено а может и не исполняться.
Надеюсь удалось объяснить…
0pauc0
Выбирайте из того, что сейчас дают:
1. dic.academic.ru/dic.nsf/ruwiki/334809
2. ru.wikipedia.org/wiki/Автоматизированная_система
3. spravochnick.ru/informacionnye_tehnologii/setevye_informacionnye_sistemy/avtomatizirovannye_informacionnye_sistemy
Лично я еще в 80-е годы 20 века подготовлен посерьёзнее:
ru.wikipedia.org/wiki/Теория_автоматического_управления
Sabilov Автор
Тут спорить не буду, ваше право, опираться на то определение которое вам ближе.
Sabilov Автор
Спасибо, вы верно описали мои мысли )