Добрый день! Ранее мы разобрали, каким образом обычно устроена система, построенная на технологиях интернета вещей. Теперь посмотрим, каким образом ее создать. Для этого нам удобно использовать понятие жизненного цикла системы. Изначально оно пришло из биологии и там жизненные циклы - это закономерная смена всех поколений характерных для данного вида живых организмов. И все мы знаем, как бабочка проходит путь превращения из яйца в личинку, потом гусеницу, из гусеницы в куколку, оттуда во взрослое насекомое, благодаря которому снова появляются оплодотворенные яйца. Важно, что мы говорим тут о цикле, применительно ко всему данному виду, поскольку конкретной особи в своем существовании этот процесс превращения естественно не повторяет. Для технической системы, жизненные циклы это стадии процесса, охватывающие различные состояния систем начиная от момента возникновения необходимости в ней и заканчивая ее полным выводом эксплуатации. Отличие от живой природы состоит прежде всего в том, что там жизненные циклы являются продуктом эволюции, тогда как технические и организационные системы, придумывают, проектируют, изготавливают, эксплуатируют, модернизирует и выводят в эксплуатацию людям. И тут надо в свою очередь, отличать жизненные циклы системы, как собственно процесса ее появления и трансформации в процессе существования, от понимания жизненного цикла, как методологии последовательного создания такой системы. Так, с точки зрения методологии создания систем предполагается, что жизненный цикл - это некая последовательность работы, которые выполняются над системой в процессе ее появления и существования. При этом по аналогии с биологическим циклом, эти работы последовательно относят к разным стадиям или фазам жизненного цикла. На каждой стадии жизненного цикла, должны быть предусмотрены соответствующие обеспечивающие системы, с тем, чтобы достичь результатов запланированных для этой стадии. К примеру, в соответствии с классической каскадной моделью, выполняемые работы сгруппированы по таким стадиям как: формирование требований, проектирование, реализация, тестирование, внедрение, эксплуатации и сопровождение. Более современное представление об организации жизненного цикла, основывается уже не на группировке работ, а скорее процессов или активностей, или практик, а также методов и методологии как наборов таких практик. К примеру, государственным стандартам процесса жизненного цикла, регламентирует развитие системы, продукта услуги проекта или других изготовленных человеком объектов, начиная со стадии разработки концепции и заканчивая, прекращением ее применения. С методологией построения жизненного цикла мы будем сталкиваться на разных уровнях. Так с одной стороны мы работаем с системой, проходя этапы от формирования требований, до реализации и эксплуатации, но проектирование системы станет в свою очередь отдельным этапом деятельности, которую тоже надо будет, как-то выстраивать. А для этого, соответственно, определить требования, спроектировать процесс проектирования и так далее. И у нас появляется жизненные циклы не только системы, но и проекта. Этому будет посвящена отдельная тема, сейчас важно заметить, что подавляющее число материалов, включая стандарты, а также обсуждений, в том числе и среди специалистов, касающейся жизненного цикла системы или его проекта, касаются деятельности тех, кто их создает, условных разработчиков, но ни системы в целом. Поэтому вспомним, что создаваемая, система всегда является лишь средством, для некой деятельности, решающая какую-то проблему или удовлетворяющую потребность. И ранее в курсе мы обсуждали стадии осуществления деятельности. Она начинается с создания потребности, дальше идет некая поисковая поведение, затем, выбор способа удовлетворения потребностей, подготовка средств, необходимых для такого выполнения, затем, собственно, выполнения действий ведущих к результату, получение результата, завершения деятельности. Так, то, что заказчик обратился к разработчику, фактически означает, что он уже осознал проблему, осмыслил варианты возможного решения, выбрал конкретный способ, как намеревается эту свою потребность удовлетворить и теперь обращается за необходимыми ее средствами. Поэтому огромное количество формально выполненных, но не устраивающих заказчика разработок, связано, как раз с тем, что разработчик начинает работать с требованиями, которые заказчик предъявляет к данному средству. И так как он их понимает, вместо того, чтобы поинтересоваться, какую проблему действительно необходимо решить. Итак, мы выяснили, как устроен жизненный цикл системы, а также то, что у процесса проектирования системы есть ее собственный жизненный цикл. И в рамках этого учебного модуля мы разберем его подробно, но сначала определим предварительно, что будем считать концепцией и архитектурой системы.