Чем меньше интервал параллельного использования старой и новой систем
Параллельное внедрение
При использовании этого подхода старая система продолжает использоваться параллельно с внедряемой новой до тех пор, пока не будет уверенности, что все функции (как новые, так и старые) выполняются новой системой не хуже, чем справлялась с ними старая.
Достоинства | Недостатки |
· Низкий риск возникновения ошибок, поскольку старая система продолжает работать и есть возможность сравнивать получаемые результаты с получаемыми старой, отлаженной системой. · Есть время для доработки и настройки новой системы · Достаточное время для переподготовки персонала к работе с новой системой прямо на рабочих местах. · Хорошо удовлетворят требованиям, предъявляемым к внедрению ключевых систем. | · Требуются дополнительные затраты всех ресурсов (человеческих финансовых, энергетических, помещений и т.д.) для поддержания двух систем в рабочем состоянии во время всего периода параллельной эксплуатации. |
Пилотное и пошаговое внедрение
Пилотное, как и пошаговое внедрение представляют собой разновидности постепенного перехода на новую систему, при котором отдельные функции или группы функций переключаются с обслуживания старой системой на обслуживание новой.
Достоинства | Недостатки |
· Не требуется дополнительных ресурсов для обслуживания двух систем. · Подготовка персонала проводится группами по мере внедрения системы. · Опыт, приобретенный при эксплуатации первых внедренных подсистем может быть использован при внедрении последующих. · Подходит для внедрения вспомогательных и в меньшей степени ключевых систем | · Риск обнаружения ошибок уже в процессе рабочей эксплуатации системы. · Возможная несовместимость исходных данных и результатов работы старой и новой систем в различных подразделениях, находящихся на разных этапах внедрения. |
Переключение
В случае выбора варианта «Переключение», в означенную дату старая система прекращает свою работу (например в пятницу) и со следующего рабочего дня (обычно с понедельника) начинается работа организации с использованием новой системы.
Внедрение
При стратегии параллельного перехода, в организации одновременно функционируют и старая, и замещающая ее система до тех пор, пока каждый сотрудник не убедиться в том, что новая система функционирует корректно. Это наиболее безопасный способ перехода, так как при возникновении ошибок, данные из старой системы могут использоваться в качестве резервной копии. Однако такой подход является очень дорогостоящим, и при одновременном функционировании двух систем, могут потребоваться дополнительные ресурсы.
При стратегии прямого перехода, в означенный день старая система полностью заменяется новой. На первый взгляд, такая стратегия кажется менее дорогостоящей, чем стратегия параллельного перехода. Однако этот подход является достаточно рискованным и потенциально может быть более дорогостоящим, чем параллельный переход в том случае, если возникают серьезные проблемы при функционировании новой системы. При таком подходе отсутствует система, к которой можно будет вернуться.
При пофазовой стратегии перехода, новая система вводится поэтапно либо по отдельным функциям, либо по подразделениям организации.
План перехода на новую систему представляет собой график всех работ, которые необходимо выполнить для ввода в действие новой системы. Обычно, больше всего времени занимает конвертация данных. Данные из старой системы должны быть перенесены в новую либо вручную, либо при помощи специальных про- граммных модулей. Затем, эти данные должны быть тщательно проверены на соответствие и полноту.
Переход от старой системы к новой подразумевает, что конечные пользователи должны быть обучены работе с новой системой. В процессе перехода подготавливается подробная документация, описывающая работу системы, как с технической точки зрения, так и с точки зрения конечных пользователей, для ее дальнейшего использования при обучении и в ежедневной работе. Недостаток обучения и документации может повлечь за собой несостоятельность системы. Таким образом, этот этап разработки системы является очень важным.
Чем меньше интервал параллельного использования старой и новой систем
Параллельное внедрение
При использовании этого подхода старая система продолжает использоваться параллельно с внедряемой новой до тех пор, пока не будет уверенности, что все функции (как новые, так и старые) выполняются новой системой не хуже, чем справлялась с ними старая.
Достоинства | Недостатки |
· Низкий риск возникновения ошибок, поскольку старая система продолжает работать и есть возможность сравнивать получаемые результаты с получаемыми старой, отлаженной системой. · Есть время для доработки и настройки новой системы · Достаточное время для переподготовки персонала к работе с новой системой прямо на рабочих местах. · Хорошо удовлетворят требованиям, предъявляемым к внедрению ключевых систем. | · Требуются дополнительные затраты всех ресурсов (человеческих финансовых, энергетических, помещений и т.д.) для поддержания двух систем в рабочем состоянии во время всего периода параллельной эксплуатации. |
Пилотное и пошаговое внедрение
Пилотное, как и пошаговое внедрение представляют собой разновидности постепенного перехода на новую систему, при котором отдельные функции или группы функций переключаются с обслуживания старой системой на обслуживание новой.
Достоинства | Недостатки |
· Не требуется дополнительных ресурсов для обслуживания двух систем. · Подготовка персонала проводится группами по мере внедрения системы. · Опыт, приобретенный при эксплуатации первых внедренных подсистем может быть использован при внедрении последующих. · Подходит для внедрения вспомогательных и в меньшей степени ключевых систем | · Риск обнаружения ошибок уже в процессе рабочей эксплуатации системы. · Возможная несовместимость исходных данных и результатов работы старой и новой систем в различных подразделениях, находящихся на разных этапах внедрения. |
Переключение
В случае выбора варианта «Переключение», в означенную дату старая система прекращает свою работу (например в пятницу) и со следующего рабочего дня (обычно с понедельника) начинается работа организации с использованием новой системы.
Внедрение
При стратегии параллельного перехода, в организации одновременно функционируют и старая, и замещающая ее система до тех пор, пока каждый сотрудник не убедиться в том, что новая система функционирует корректно. Это наиболее безопасный способ перехода, так как при возникновении ошибок, данные из старой системы могут использоваться в качестве резервной копии. Однако такой подход является очень дорогостоящим, и при одновременном функционировании двух систем, могут потребоваться дополнительные ресурсы.
При стратегии прямого перехода, в означенный день старая система полностью заменяется новой. На первый взгляд, такая стратегия кажется менее дорогостоящей, чем стратегия параллельного перехода. Однако этот подход является достаточно рискованным и потенциально может быть более дорогостоящим, чем параллельный переход в том случае, если возникают серьезные проблемы при функционировании новой системы. При таком подходе отсутствует система, к которой можно будет вернуться.
При пофазовой стратегии перехода, новая система вводится поэтапно либо по отдельным функциям, либо по подразделениям организации.
План перехода на новую систему представляет собой график всех работ, которые необходимо выполнить для ввода в действие новой системы. Обычно, больше всего времени занимает конвертация данных. Данные из старой системы должны быть перенесены в новую либо вручную, либо при помощи специальных про- граммных модулей. Затем, эти данные должны быть тщательно проверены на соответствие и полноту.
Переход от старой системы к новой подразумевает, что конечные пользователи должны быть обучены работе с новой системой. В процессе перехода подготавливается подробная документация, описывающая работу системы, как с технической точки зрения, так и с точки зрения конечных пользователей, для ее дальнейшего использования при обучении и в ежедневной работе. Недостаток обучения и документации может повлечь за собой несостоятельность системы. Таким образом, этот этап разработки системы является очень важным.
Знакомство с уровнями распараллеливания
Распараллелить решение задачи можно на нескольких уровнях. Между этими уровнями нет четкой границы и конкретную технологию распараллеливания, бывает сложно отнести к одному из них. Приведенное здесь деление условно и служит, чтобы продемонстрировать разнообразие подходов к задаче распараллеливания.
Распараллеливание на уровне задач
Часто распараллеливание на этом уровне является самым простым и при этом самым эффективным. Такое распараллеливание возможно в тех случаях, когда решаемая задача естественным образом состоит из независимых подзадач, каждую из которых можно решить отдельно. Хорошим примером может быть сжатие аудио-альбома. Каждая запись может обрабатываться отдельно, так как она никак не связана с другими.
Распараллеливание на уровне задач нам демонстрирует операционная система, запуская на многоядерной машине программы на разных ядрах. Если первая программа показывает нам фильм, а вторая является файлообменным клиентом, то операционная система спокойно сможет организовать их параллельную работу.
Другими примерами распараллеливания на этом уровне абстракции является параллельная компиляция файлов в Visual Studio 2008, обработка данных в пакетных режимах.
Как было сказано выше, данный вид распараллеливания прост и в ряде случаев весьма эффективен. Но если мы имеем дело с однородной задачей, то данный вид распараллеливания не применим. Операционная система никак не может ускорить программу, использующую только один процессор, сколько бы ядер ни было бы при этом доступно. Программа, разбивающая кодирование звука и изображения в видеофильме на две задачи ничего не получит от третьего или четвертого ядра. Что бы распараллелить однородные задачи, нужно спуститься на уровень ниже.
Уровень параллелизма данных
Название модели «параллелизм данных» происходит оттого, что параллелизм заключается в применении одной и той же операции к множеству элементов данных. Параллелизм данных демонстрирует архиватор, использующий для упаковки несколько ядер процессора. Данные разбиваются на блоки, которые единообразным образом обрабатываются (упаковываются) на разных узлах.
Данный вид параллелизма широко используется при решении задач численного моделирования. Счетная область представлена в виде ячеек, описывающих состояние среды в соответствующих точках пространства — давление, плотность, процентное соотношение газов, температура и так далее. Количество таких ячеек может быть огромным — миллионы и миллиарды. Каждая из этих ячеек должна быть обработана одним и тем же способом. Здесь модель параллелизма по данным крайне удобна, так как позволяет загрузить каждое ядро, выделив ему определенный набор ячеек. Счетная область разбивается на геометрические объекты, например параллелепипеды, и ячейки, вошедшие в эту область, отдаются на обработку определенному ядру. В математической физике такой тип параллелизма называют геометрическим параллелизмом.
Хотя геометрический параллелизм может показаться похожим на распараллеливание на уровне задач, он является более сложным в реализации. В случае задач моделирования необходимо передавать данные получаемые на границах геометрических областей другим ядрам. Часто используются специальные методы повышения скорости расчета, за счет балансировки нагрузки между вычислительными узлами.
В ряде алгоритмов скорость вычисления, где активно протекают процессы, занимает больше времени, чем там, где среда спокойна. Как показано на рисунке, разбив счетную область на неравные части можно получить более равномерную загрузку ядер. Ядра 1, 2, и 3 обрабатывают маленькие области, где движется тело, а ядро 4 обрабатывает большую область, которая еще не подверглось возмущению. Все это требует дополнительного анализа и создания алгоритма балансировки.
Наградой за такое усложнение является возможность решать задачи длительного движения объектов за приемлемое время расчета. Примером может служить старт ракеты.
Уровень распараллеливания алгоритмов
Следующий уровень, это распараллеливание отдельных процедур и алгоритмов. Сюда можно отнести алгоритмы параллельной сортировки, умножение матриц, решение системы линейных уравнений. На этом уровне абстракций удобно использовать такую технологию параллельного программирования, как OpenMP.
OpenMP (Open Multi-Processing) — это набор директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах. В OpenMP используется модель параллельного выполнения «ветвление-слияние». Программа OpenMP начинается как единственный поток выполнения, называемый начальным потоком. Когда поток встречает параллельную конструкцию, он создает новую группу потоков, состоящую из себя и некоторого числа дополнительных потоков, и становится главным в новой группе. Все члены новой группы (включая главный поток) выполняют код внутри параллельной конструкции. В конце параллельной конструкции имеется неявный барьер. После параллельной конструкции выполнение пользовательского кода продолжает только главный поток. В параллельный регион могут быть вложены другие параллельные регионы.
За счет идеи «инкрементального распараллеливания» OpenMP идеально подходит для разработчиков, желающих быстро распараллелить свои вычислительные программы с большими параллельными циклами. Разработчик не создает новую параллельную программу, а просто последовательно добавляет в текст последовательной программы OpenMP-директивы.
Задача реализации параллельных алгоритмов достаточно сложна и поэтому существует достаточно большое количество библиотек параллельных алгоритмов, позволяющих строить программы как из кубиков, не вдаваясь в устройство реализаций параллельной обработки данных.
Параллелизм на уровне инструкций
Наиболее низкий уровень параллелизма, осуществляемый на уровне параллельной обработки процессором нескольких инструкций. На этом же уровне находится пакетная обработка нескольких элементов данных одной командой процессора. Речь идет о технологиях MMX, SSE, SSE2 и так далее. Этот вид параллельности иногда выделяют в еще более глубокий уровень распараллеливания – параллелизм на уровне битов.
Программа представляет собой поток инструкций выполняемых процессором. Можно изменить порядок этих инструкций, распределить их по группам, которые будут выполняться параллельно, без изменения результата работы всей программы. Это и называется параллелизмом на уровне инструкций. Для реализации данного вида параллелизма в микропроцессорах используется несколько конвейеров команд, такие технологии как предсказание команд, переименование регистров.
Программист редко заглядывает на этот уровень. Да и в этом нет смысла. Работу по расположению команд в наиболее удобной последовательности для процессора выполняет компилятор. Интерес этот уровень распараллеливания может представлять только для узкой группы специалистов, выжимающие все возможности из SSEx или разработчиков компиляторов.
Параллельная обработка данных в микропроцессорах и вычислительных систмеах.
Актуальность
Хотя савременные компьютеры и обладают достаточно большой вычислительной мощьностью, существуют задачи решение которых на обычных ЭВМ требуют неприемлемо долгое время, к таким задачам относятся задачи аэрокосмической и автомобильной промышленности, ядерной энергетики, предсказания и разработки месторождений полезных ископаемых, нефтедобывающей и газовой промышленности (в том числе проблемы эффективной эксплуатации месторождений, особенно трехмерные задачи их исследования), и, наконец, конструирование новых микропроцессоров и компьютеров, гидродинамические процессы, например, конструирование бесшумных подводных лодок и прочее.
Решение подобных задачь можно значительно ускорить возложив их решение на многопроцессорные вычислительные системы. Но необходимо адаптировать алгоритмы решения таких задач чтобы использование преимуществ ПВС было максимальным а время решения задачи минимально сократилось.
Развитие идей параллелизма (история)
Идея параллельной обработки возникла одновременно с появлением первых вычислительных машин. В начале 50-х гг. амери-канский математик Дж. фон Нейман предложил архитектуру по-следовательной ЭВМ, которая приобрела классические формы и применяется практически во всех современных ЭВМ. Однако фон Нейман разработал также принцип построения процессорной матрицы, в которой каждый элемент был соединен с четырьмя соседними и имел 29 состояний. Он теоретически показал, что такая матрица может выполнять все операции, поскольку она моделирует поведение машины Тьюринга.
Практическая реализация основных идей параллельной обработки началась только в 60-х гг. нашего столетия. Это связано с появлением транзистора, который благодаря малым размерам и высокой надежности по сравнению с электронными лампами позволил строить машины, состоящие из большого количества логических элементов, что принципиально необходимо для реализации любой формы параллелизма.
Появление параллельных ЭВМ с различной организацией (конвейерные ЭВМ, процессорные матрицы, многопроцессорные ЭВМ) вызвано различными причинами. Совершенствование этих ЭВМ происходило по внутренним законам развития данного типа машин.
Рассмотрим основные этапы совершенствования параллельных ЭВМ для каждого типа структур.
Конвейерные ЭВМ. Основополагающим моментом для развития конвейерных ЭВМ явилось обоснование академиком С.А.Лебедевым в 1956 г. метода, названного «принципом водопровода» (позже он стал называться конвейером). Прежде всего был реализован конвейер команд, на основании которого практи-чески одновременно были построены советская ЭВМ БЭСМ-6 (1957-1966 гг., разработка Института точной механики и вычислительной техники АН СССР) и английская машина ATLAS (1957-1963 гг.). Конвейер команд предполагал наличие многоблочной памяти и секционированного процессора, в котором на разных этапах обработки находилось несколько команд.
Конвейер команд позволил получить в ЭВМ БЭСМ-6 быстродействие в 1 млн. оп/с. В дальнейшем конвейеры команд совершенствовались и стали необходимым элементом всех быстродействующих ЭВМ, в частности, использовались в известных семействах ЭВМ IBM/360 и ЕС ЭВМ.
Следующим заметным шагом в развитии конвейерной обработки, реализованном в ЭВМ CDC-6600 (1964 г.), было введение в состав процессора нескольких функциональных устройств, позволяющих одновременно выполнять несколько арифметико-логических операций: сложение, умножение, логические операции.
В конце 60-х гг. был введен в использование арифметический конвейер, который нашел наиболее полное воплощение в ЭВМ CRAY-1 (1972-1976 гг.). Арифметический конвейер предполагает разбиение цикла выполнения арифметико-логической операции на ряд этапов, для каждого из которых отводится собственное оборудование. Таким образом, на разных этапах обработки нахо-дится несколько чисел, что позволяет производить эффективную обработку вектора чисел.
Основные классы параллельных ВС
Основной характеристикой при классификации [3] параллельных вычислительных систем является способ организации памяти :
Можно выделить следующие классы параллельных систем :
Все наработки сделанные для больших вычислительных систем, с успехом могут быть применены и в микропроцессорной технике.
Предсказание переходов
В любой более-менее сложной программе присутствуют команды условного перехода. С точки зрения скорости выполнения кода программы современным процессором, поддерживающим внеочередное исполнение, любая команда условного перехода — препятствие, так как, до тех пор, пока не станет известно, какой участок кода после условного перехода окажется «актуальным» — его невозможно начать декодировать и исполнять. Для того чтобы как-то примирить концепцию внеочередного исполнения с командами условного перехода, предназначается специальный блок: блок предсказания ветвлений. Как понятно из его названия, он пытается предсказать, на какой участок кода укажет команда условного перехода, ещё до того, как она будет исполнена. В соответствии с его указаниями, процессором производятся действия: «предсказанный» участок кода загружается в кэш (если он там отсутствует), и даже начинается декодирование и выполнение его команд. Причём среди выполняемых команд также могут содержаться инструкции условного перехода, и их результаты тоже предсказываются, что порождает целую цепочку из пока не проверенных «предсказаний». Разумеется, если блок предсказания ветвлений ошибся, вся проделанная в соответствии с его предсказаниями работа просто аннулируется.
На самом деле, алгоритмы, по которым работает блок предсказания ветвлений, преимущественно просты. Потому, что чаще всего команда условного перехода встречается в циклах: некий счётчик принимает значение X, и после каждого прохождения цикла значение счётчика уменьшается на единицу. Соответственно, до тех пор, пока значение счётчика больше нуля — осуществляется переход на начало цикла, а после того, как он становится равным нулю — исполнение продолжается дальше. Блок предсказания ветвлений просто анализирует результат выполнения команды условного перехода, и считает, что если N раз подряд результатом стал переход на определённый адрес — то и в N+1 случае будет осуществлён переход туда же. Однако, несмотря на весю простоту, данная схема работает: например, в случае, если счётчик принимает значение 100, а «порог срабатывания» предсказателя ветвлений (N) равен двум переходам подряд на один и тот же адрес — легко заметить, что 97 переходов из 98 будут предсказаны правильно!
Несмотря на достаточно высокую эффективность простых алгоритмов, механизмы предсказания ветвлений в современных CPU всё равно постоянно совершенствуются.
Пространственный параллелизм
При пространственном параллелизме несколько территориально разрозненных процессоров обрабатывают одновременно разные части одного и того же задания. При временном параллелизме (конвейер) одновре менно обрабатываются различные этапы нескольких команд. Извест но, что в своем большинстве алгоритмы не являются ни целиком последовательными, ни полностью параллельными, поэтому в неко торых современных параллельных системах (конвейерные и матричные ЭВМ) либо работают все процессоры, либо большинство из них простаивает.
Мультиядерные микропроцессоры и гипертрейдинг.
Анонсированная в 2002 году компанией Intel технология Hyper-Threading –пример многопоточной обработки команд. Данная технология является чем-то средним между многопоточной обработкой, реализованной в мультипроцессорных системах, ипараллелизмом на уровне инструкций, реализованном в однопроцессорных системах.Фактически технология Hyper-Threading позволяет организовать два логическихпроцессора в одном физическом. Таким образом, с точки зрения операционной системы и запущенного приложения в системе существует два процессора, что даёт возможность распределять загрузку задач между ними.
Посредством реализованного в технологии Hyper-Threading принципа параллельности можно обрабатывать инструкции в параллельном (а не в последовательном) режиме, то есть для обработки все инструкции разделяются на два параллельных потока. Это позволяет одновременно обрабатывать два различных приложения или два различных потока одного приложения и тем самым увеличить количество инструкций, выполняемых процессором в секунду, что сказывается на росте его производительности.
В конструктивном плане процессор с поддержкой технологии Hyper-Threading состоит из двух логических процессоров, каждый из которых имеет свои регистры и контроллер прерываний. А значит, две параллельно исполняемые задачи работают со своими собственными независимыми регистрами и прерываниями, но при этом используют одни и те же ресурсы процессора для выполнения своих задач. После активизации каждый из логических процессоров может самостоятельно и независимо от другого процессора выполнять свою задачу, обрабатывать прерывания либо блокироваться. Таким образом, от реальной двухпроцессорной конфигурации новая технология отличается только тем, что оба логических процессора используют одни и те же исполняющие ресурсы, одну и ту же разделяемую между двумя потоками кэш-память и одну и ту же системную шину.
Использование двух логических процессоров позволяет усилить процесс параллелизма на уровне потока, реализованный в современных операционных системах и высокоэффективных приложениях. Команды от исполняемых параллельно потоков одновременно посылаются для обработки ядру процессора. Используя технологию out-of-order (исполнение командных инструкций не в порядке их поступления), ядро процессора способно параллельно обрабатывать оба потока за счѐт использования нескольких исполнительных модулей.
Идея технологии Hyper-Threading тесно связана с микроархитектурой NetBurst процессора Pentium 4 и является в каком-то смысле еѐ логическим продолжением. Микроархитектура Intel NetBurst позволяет получить максимальный выигрыш производительности при выполнении одиночного потока инструкций, то есть при выполнении одной задачи. Однако, даже в случае специальной оптимизации программы, не все исполнительные модули процессора оказываются задействованными на протяжении каждого тактового цикла. В среднем, при выполнении кода, типичного для набора команд IA-32, реально используется только 35% исполнительных ресурсов процессора, а 65% исполнительных ресурсов процессора простаивают, что означает неэффективное использование возможностей процессора. Было бы логично реализовать работу процессора таким образом, чтобы в каждом тактовом цикле максимально использовать его возможности. Именно эту идею и реализует технология Hyper-Threading, подключая незадействованные ресурсы процессора к выполнению параллельной задачи.
Содержание
Обзор
Другие виды усыновления
Место в процессе внедрения
Процесс
На рисунке 1 представлен обзор параллельного процесса внедрения. В левой части изображен поток действий, которые способствуют процессу. Действия, которые выполняются одновременно, отмечены толстой черной линией. Когда параллельное выполнение действий завершено, действия снова объединяются в аналогичную черную линию. Если нет стрелки от одного действия к другому, это указывает на то, что они являются агрегатами более крупного действия, указанного выше. Мероприятия разделены на четыре основных этапа:
Основные этапы подразделяются на другие виды деятельности, которые будут кратко описаны в таблицах с 1-1 по 1-4.
Правая часть модели описывает данные, участвующие в процессах. Некоторые из этих концепций, изображенных в виде пары перекрывающихся открытых прямоугольников, можно разделить на несколько концепций. Пара перекрывающихся закрытых прямоугольников указывает на закрытую концепцию, что означает, что ее можно разделить на большее количество концепций, но это не представляет дальнейшего интереса для параллельного процесса принятия. Рисунок в форме ромба указывает на то, что связанное с ним понятие служит совокупным понятием и что эти понятия состоят из других понятий. Наконец, открытая стрелка представляет отношение суперкласс-подкласс. Понятие, связанное со стрелкой, является суперклассом связанных с ним понятий. Этот синтаксис на рисунке 1 соответствует стандартам Unified Modeling Language ( UML ). Концепции на рисунке 1 определены в таблице 2. Более подробный контекст для этих подмерений в процессе будет дан под таблицами.
Понятия из рисунка 1 определены в таблице 2-1 ниже.
Основные функционирующие объекты, составляющие продукт, например, аппаратное обеспечение, программное обеспечение. Также организованный и дисциплинированный подход к выполнению задачи, например, система отчетов о сбоях (ISO 9000)
Определение стратегии параллельной реализации
Риск против затрат
Когда необходимо внедрить новую систему в соответствии с подходом «большого взрыва», высок риск отказа (Lee, 2004). Когда организация сильно требует изменения старую (унаследованную) систему, компромисс между дополнительными затратами на менее рискованный параллельный подход должен быть в пользу этих дополнительных затрат (Lee, 2004), несмотря на это, как мы видим, что внедрение ERP в большинстве случаев следует за большим взрывом (Microsoft, 2004, Yusuf, 2004).
Разработка сценария реализации
IT-требования
Организационные требования
Параллельный процесс внедрения является очень напряженным и требует хорошо подготовленных сотрудников, которые могут справляться с допущенными ошибками без консервативного стремления к старой системе. (Исон, 1988)
Планирование времени
Подготовка организации
Оценка требований
Оценка требований включает переопределение сценария реализации. Разработанные ИТ-требования и (если возможно) организационные требования должны быть протестированы. Можно запустить некоторые тесты, в которых можно оценить организационные обязанности (Rooijmans, 2003), а также ИТ-требования. Здесь также снова важны поддержка и участие высшего руководства (Eason, 1988). Если они не предоставляют ресурсы для оценки, реализация может быть неудачной как прямое следствие. После этой оценки сценарий реализации переопределяется в более явный сценарий преобразования.
Сценарий конверсии
Таким образом, сценарий преобразования представляет собой план организационных изменений во всех аспектах. Однако есть две темы, которым еще не было уделено должного внимания в контексте параллельного внедрения.
Преобразование
Система контроля
Оценка / Практическая значимость
Из тематических исследований можно извлечь несколько уроков: пример системы DMV штата Невада, описанный Ли (2004), показывает, что внедрение нового процесса также может иметь политические последствия. Когда система, которая будет изменена, влияет на широкую публику, и это не только внутренняя система, которая изменяется, есть еще некоторые давления, которые влияют на организацию. В этом случае такие понятия, как имидж и репутация компании, могут кардинально измениться, если клиенты будут сталкиваться с большими задержками, например, при общении или заказе товаров. Предлагается, чтобы, если система политически чувствительна, больше внимания следует уделять методу преобразования и, предпочтительно, выбрать параллельное внедрение, поскольку существует меньший риск.
Серия уроков, извлеченных из ряда реальных сценариев внедрения новой системы портфелей, выполненных консалтинговой фирмой (Venture, 2004), показывает некоторые интересные уроки, извлеченные из этой области. они, кажется, идеально подходят для решения проблем, упомянутых для общего параллельного процесса усыновления, основанного на сочетании научных исследований. Чтобы обобщить:
Есть также по крайней мере две трудности с параллельным преобразованием, которые могут сделать его использование непрактичным в 21 веке, хотя это было основным продуктом отраслевой практики, когда входные данные состояли из колоды перфокарт или катушек с лентой. Эти:
1. Непрактично ожидать, что конечные пользователи, будь то клиенты, рабочие производственной линии или почти кто-либо другой, будут вводить каждую транзакцию дважды через разные интерфейсы.
2. Различия во времени между двумя многопользовательскими интерактивными системами могут давать разные результаты, даже если обе системы работают правильно, внутренне согласованы и могут успешно использоваться сами по себе.
В результате параллельное преобразование сегодня ограничено несколькими конкретными ситуациями, такими как системы бухгалтерского учета, где абсолютная проверяемость результатов является обязательной, где все пользователи являются внутренними по отношению к организации и понимают это требование, и где порядок действий не может быть разрешен. влияют на вывод. На практике сегодня более актуальны методы пилотного и поэтапного преобразования.