Задачи и процессы переноса программ и данных на иные платформы
Многочисленное дублирование, по существу, одних и тех же программных средств и информации баз данных на подобных или разных платформах сопряжено со значительными нерациональными затратами на их разработку и с увеличением длительностей создания информационных систем. Для их сокращения необходима организация, технология и инструментарий, обеспечивающие эффективный перенос готовых программ и данных в пределах одной операционной и аппаратной среды или с иных платформ. Для этого создаются методологии и технологии переноса, а также стандарты, поддерживающие процессы и разработку переносимых программ и данных. В каждом конкретном случае необходима оценка рентабельности переноса с учетом ряда факторов, характеризующих мобильность программ и данных и их среды, по сравнению с полной разработкой аналогичного программного продукта на новой платформе. Использование методического, технологического, алгоритмического и программного задела из предшествующих проектов обеспечивает многократное повышение производительности труда разработчиков систем, сокращение сроков их создания и высокое качество проектов. Под мобильностью – перено-симостью понимается:
- процессы переноса программ и данных из одной аппаратной, операционной и пользовательской среды в иную по архитектуре и характеристикам среду с сохранением их целостности или небольшими изменениями функций системы;
- процессы повторного использования готовых программных компонентов и средств, а также информации баз данных, возможно, в пределах одной архитектуры аппаратной и операционной среды для расширения и изменения функций системы и программного продукта.
Основным стимулом развития и применения мобильных программ и данных явилась необходимость улучшения экономических показателей при создании и эксплуатации сложных систем, а также повышения их качества. Объективные требования заказчиков и пользователей по совершенствованию и снижению затрат на информатизацию объектов и процессов отразились на формированииосновных целей создания и применения мобильных программ и данных, которые состоят в следующем:
- обеспечение сохранения инвестиций, вложенных в реализованные и апробированные программные продукты и базы данных, в процессе развития, модификации и появления новых требований к ним, а также при совершенствовании архитектур и возрастании ресурсов и функций аппаратных и операционных платформ;
- снижение трудоемкости, стоимости и длительности непосредственной разработки сложных распределенных программных средств и баз данных;
- обеспечение высокого качества, надежности и безопасности функционирования программных средств и баз данных в системах;
- обеспечение возможности эффективного по экономическим показателям и качеству переноса апробированных программных продуктов, разработанных должным образом, с минимальными изменениями на различные операционные системы и аппаратные платформы;
- экономная реализация совместной работы и расширения функций ПС (интероперабельность) во взаимодействии с другими программами и данными при решении единой целевой задачи на различных локальных и распределенных платформах;
- обеспечение взаимодействия с пользователями в унифицированном стиле, облегчающем им переход к использованию новых или с расширенными функциями системам и программным продуктам (мобильность пользователей);
- снижения зависимости заказчиков конкретных систем от определенных поставщиков аппаратных и операционных платформ, а также от разработчиков некоторых программных продуктов.
Для достижения перечисленных целей в обеспечении мобильности ПС требуются различные ресурсы при их реализации. Потребность в конкретных ресурсах и рентабельность их использования зависит от ряда параметров, которые образуют широкий спектр ситуаций для анализа и применения свойства мобильности программ и данных. Такими ресурсами являются:
- трудовые затраты специалистов и время, на создание, приобретение и эксплуатацию инструментальных средств, автоматизирующих разработку и сопровождение мобильных ПС и БД;
- трудовые затраты специалистов и время на создание дополнительных интерфейсных компонентов в программах и данных, обеспечивающих их эффективную мобильность на определенные типы платформ, например, в соответствии с концепцией и стандартами открытых систем;
- дополнительные ресурсы памяти и производительности вычислительных средств, необходимые для реализации и функционирования компонентов в программах и данных, обеспечивающих их высокую мобильность, например, для реализации стандартизированных интерфейсов с внешней и внутренней средой.
Задачи повторного использования и переноса программ и данных охватывают:
- встраивание готового программного средства и информации базы данных в создаваемую новую систему при условии, что их поставщики гарантируют функционирование на выбранной платформе;
- перенос программ и данных с платформ, в среде которых они были ранее реализованы, на выбранную для системы новую платформу;
- обеспечение доступа к информационным ресурсам других распределенных систем и сетей.
При переносе свойства программных продуктов практически всегда изменяются, что следует учитывать при анализе целесообразности переноса, а также могут быть необходимы их отладка, испытания и сертификация в новой среде. Следует также учитывать, что любой перенос связан с затратами, которые чаще всего требуются для:
- системного анализа рентабельности переноса на иную или ту же платформу и оценки технико-экономических показателей этого процесса;
- реализации самого процесса переноса и интеграции с операционной и внешней средой на новой аппаратной платформе или в существующей среде;
- квалификационного тестирования, испытаний и комплексной проверки функционирования программного продукта в новом окружении или на новой платформе;
- сертификации перенесенного на новую платформу продукта и функционирующего в иной операционной и внешней среде;
- корректировки или дополнения эксплуатационной и технологической документации.
Два последних вида работ могут выполняться в процессе создания мобильных ПС и БД и отсутствовать при непосредственной реализации переноса. Однако и в этом случае следует избегать излишнего оптимизма при оценке затрат на перенос, так как при создании мобильных ПС трудно предусмотреть все возможные особенности различных платформ и внешней среды, для которых декларируется мобильность конкретных средств. Эти особенности и возможное расширение окружающих прикладных программ и данных могут преподносить неприятные сюрпризы нестыковки, для ликвидации которых потребуются дополнительные затраты.
Интеграционные тенденции развития современных ПС и БД связаны с сочетанием в них задач, относящихся к разным классам. Это определяет необходимость применения разных инструментальных средств для реализации программ, относящихся к разным классам, а также необходимость обеспечения функционирования создаваемых разными методами программ в единой целевой системе. Анализ мобильности программ и данных в системах касается различных классов задач, однако далее, для определенности, конкретные методы и средства обеспечения мобильности рассматриваются преимущественно применительно к задачам обработки данных в распределенных системах. При этом объектами анализа переносимости являются:
- программные модули и функциональные компоненты ПС;
- готовые (покупные) программные продукты и пакеты прикладных программ;
- крупные программные комплексы определенного функционального назначения;
- системы управления базами данных;
- файлы и информационные массивы баз данных;
- электронные документы на программы и данные.
Основные особенности повторного использования программ и данных в системах определяют две группы задач: структурирование программ и данных на стадиях анализа и проектирования систем, предполагающее последовательную декомпозицию заданных функций системы, что позволяет выделять компоненты, которые могут быть применены повторно как готовые, и описание их взаимодействия с другими компонентами; а также сборку или интеграцию компонентов и комплексное, квалификационное тестирование системы в целом. На обеспечение мобильности программ и данных направлена значительная часть методов и средств современной программной инженерии. Четкое разделение результатов работ, выполняемых на каждой стадии жизненного цикла ПС, и определенные условия переходов между этапами ЖЦ позволяют выделить следующие уровни переноса и повторного использования ПС:
- модели предметной области и спецификаций требований, возможно, реализуемые разными способами на этапе проектирования ПС;
- проектные спецификации требований на этапе разработки ПС;
- исходные тексты программ на языках программирования, применявшихся при разработке повторно используемых программных компонентов;
- объектные коды программ, когда обеспечена структурная, аппаратная совместимость между исходной и целевой (реализующей) платформами;
- структуры файлов и информация баз данных;
- тесты проверки функционирования компонентов, тесты проверки соответствия повторно используемых программ стандартизированным интерфейсам, комплексных тестов.
Процессы переноса программ и данных на иные платформы, выбор методов обеспечения мобильности ПС и характеристики используемых ресурсов для их реализации, прежде всего, зависят от параметров компонентов, предполагаемых для переноса. Ресурсы требуются в той или иной степени на двух фазах процессов переноса программ и данных:
- при создании потенциально переносимых ПС и БД, когда свойства эффективной мобильности предусматриваются и реализуются при их разработке и определяются возможные платформы и области повторного использования таких программ и данных;
- при непосредственной реализации с соответствующими затратами процессов переноса ПС и БД в различной степени подготовленных для переноса на иные платформы или для повторного использования на той же платформе.
При анализе первой фазы следует учитывать, что к настоящему времени накоплен большой объем комплексов и компонентов программ и информации в базах данных, при создании которых не учитывалась возможность их последующего переноса на иные платформы - так называемые унаследованные системы. Более того, из-за ограниченных ресурсов вычислительных средств при реализации крупных функциональных задач, программы и данные в таких системах обычно в максимальной степени адаптировались при разработке к особенностям и параметрам ЭВМ для эффективного использования их ресурсов. Предельным случаем могут служить: бортовые ЭВМ, с соответствующими ПС, для авиационных, ракетных и космических систем, в которых ограничения веса и габаритов аппаратуры, вызывают повышенные требования к эффективности использования вычислительных ресурсов.
В зависимости от степени программной совместимости, между исходной и новой, целевой платформами, можно рассматривать следующие варианты применения мобильности:
- при полной несовместимости платформ может потребоваться разработка всего комплекса программ заново (возможно, с использованием имеющихся спецификаций требований и методов реинженеринга);
- при несовместимости языков программирования или диалектов одного языка требуется переписывание программ ПС на том языке, который принят для проекта новой системы (возможно, с использованием имеющихся проектных спецификаций и встраиваемых повторно используемых компонентов);
- при несовместимости аппаратно-программных платформ, поддержива-ющих один и тот же язык программирования, требуется перекомпиляция текстов ПС на новой платформе (возможно, с автоматической оптимизацией, обеспечиваемой применяемой системой программирования);
- при обеспечении двоичной совместимости архитектуры исходной и новой платформ перенос достигается непосредственным исполнением ПС на новой платформе (возможно, использующей средства эмуляции некоторых компонентов архитектуры исходной платформы).
Задачи и объекты, связанные с мобильностью ПС и БД в системах, и подлежащие рассмотрению при выборе методов и средств обеспечения переносимости, включают:
- унифицированные протоколы и интерфейсы взаимодействия ПС между собой, с пользователями, с внешней средой, к которым относятся, прежде всего, интерфейсы прикладного программирования, определяемые выбранной архитектурой среды системы, включающей интерфейсы операционных систем, сетевые протоколы, спецификации служб организации процессов, функционирующих поверх операционных систем;
- языки программирования и инструментальные средства, поддержива-ющие создание переносимых ПС и БД систем и средства программной инженерии - CASE-системы;
- языки баз данных и системы управления базами данных;
- форматы данных, форматы внешних электронных сообщений;
- форматы переносимых электронных документов.
Эффективность выбора и выделения компонентов для повторного использования и переноса на другие аппаратные и операционные платформы зависит, прежде всего, от их размера и от кратности возможного применения. При разработке ПС небольшого масштаба (порядка тысячи строк исходного текста) поиск и подбор готовых компонентов для их применения в новом ПС чаще всего оказываются не рентабельными. Таким образом, существует некоторый диапазон малых размеров программ и информации баз данных, для которых нецелесообразно применять ранее созданные программы и массивы данных. По этому параметру можно выделить методологии переноса:
- комплексов программных и информационных компонентов, а также операционной среды в целом, решающих все функциональные задачи определенной сложной системы и полностью сохраняющих свою структуру на новой аппаратной платформе;
- достаточно автономных, крупных ПС и массивов информации баз данных, решающих дополнительные, функциональные задачи во взаимодействии с имеющимися на новой аппаратной платформе операционными средствами;
- отдельных модулей или небольших функциональных компонентов программ и информационных массивов данных для расширения и совершенствования функций, ранее реализованных функциональных задач на той же аппаратной и операционной платформах.
Проектирование систем с использованием повторно применяемых компонентов становится особенно рентабельным для крупных ПС, содержащих сотни или тысячи модулей, и с большими объемами обрабатываемой информации. Кратность применения компонентов также значительно влияет на эффективность их переноса. Особенно тщательную отладку, унификацию интерфейсов и оформление документации целесообразно проводить для тех компонентов, которые в перспективе будут использоваться многократно различными специалистами, в различных вариантах ПС и на той же или различных платформах.
Наиболее широко применяется перенос программ на ЭВМ с иной архитектурой и операционной средой на уровне исходных текстов программ и данных на алгоритмических языках программирования высокого уровня. На практике приходится встречаться с множеством ситуаций переноса программ и данных между несовпадающими аппаратными и операционными платформами, а также с различающимися степенью мобильности исходных ПС и БД, подлежащих переносу, и применяемыми технологиями их создания. Это разнообразие ситуаций определяет широкий диапазон значений эффективности переноса по потребным ресурсам на его проведение и выбор рациональных методов реализации. Поэтому в каждом конкретном случае целесообразно проводить факторный и технико-экономический анализ эффективности переноса и планировать его проведение.
Процессы переноса программных средств и баз данных регламентируются рядом процедур и документов,стандартизированных в ISO 14764 (п. 8.5), который детализирует требования к процессам переноса, определенным в базовом стандарте на жизненный цикл ПС (см. ISO 12207п. 5.5.5). Специалисты, которые проводят перенос по рекомендациям этих стандартов, должны разработать план переноса, известить пользователей, обучить персонала, выдать предупреждения о завершении переноса, оценить влияние новой версии и внешней среды и архивировать соответствующие данные. Если систему или программный продукт (включая данные) переносят из старой в новую эксплуатационную среду, следует обеспечить, чтобы программный продукт и данные были корректно изменены при переносе. Для этого необходимо решить следующие основные задачи: определить все добавляемые или изменяемые программные компоненты, продукты или данные; проверить соответствие реализации конкретных задач, спецификациям требований заказчика на перенесенную версию ПС и БД.
Для контроля переноса системы необходимо разработать, документально оформить и выполнить план переноса программного продукта. К планируемым работам могут быть привлечены пользователи. В содержание плана должны быть включены:
- анализ и формирование требований к результатам переноса;
- разработка (или приобретение) инструментальных средств для выполнения переноса;
- настройка программного продукта и данных к новым условиям и среде эксплуатации;
- выполнение процессов переноса;
- верификация и тестирование результатов переноса;
- обеспечение последующей поддержки прежней среды и программного продукта.
Разработка плана переноса должна быть основана на исходных данных и требованиях заказчика или потенциальных пользователей. После завершения сопроводителем планирования переноса, заказчику и пользователям должно быть направлено уведомление о планах и работах по переносу программного продукта и базы данных. В содержание уведомления целесообразно включить: объяснение того, почему прежнюю среду, ПС нельзя больше сопровождать и поддерживать; описание новой среды и программного продукта с указанием даты, с которой они доступны для заказчика и пользователей.
Сопроводитель должен также представить пользователям план, процедуры и график (Программу) переноса и решить следующиезадачи:
- определить все компоненты, затрагиваемые переносом;
- отработать обратную связь и информацию с заказчиком и пользователями;
- определить специфику пользователей;
- опубликовать график (Программу) переноса.
Для плавного переходав новую среду, пользователями параллельно могут выполняться работы в прежней и новой среде с соответствующими версиями ПС и БД. Сопроводитель должен выполнить следующие работы по обучению персонала:
- определить требования по обучению для реализации переноса;
- запланировать реализацию требований по обучению переноса;
- выполнить проверку результатов обучения после выполнения переноса;
- обновить и откорректировать планы обучения.
После завершения запланированного переноса должны быть посланы соответствующие уведомления всем заинтересованным сторонам. Все связанные с прежней средой документы, журналы регистрации и программы следует поместить в архивы. После завершения переноса целесообразно провести итоговый анализ для оценки влияния перехода к новой аппаратно-операционной среде на различные аспекты эксплуатации перенесенного программного продукта. Результаты анализа должны быть разосланы соответствующим заинтересованным сторонам для информации, руководства и использования в работе.
Отчетными результатами работ по переносу ПС и БД являются:
- перенесенный программный продукт на новой платформе;
- план реализации переноса;
- инструментальные средства для переноса;
- извещения о намерениях по переносу;
- уведомление о завершении переноса;
- архивные данные процессов и результатов переноса.
Предельным по сложности и трудоемкости случаем является перенос унаследованного комплекса программ и информации базы данных на несовместимую, совершенно новую аппаратную и операционную платформу. При этом может требоваться сохранение большой накопленной информации базы данных и пользовательского интерфейса. В этом случае могут сохраняться и переноситься алгоритмы или спецификации задач обработки информации, а также должен быть специально организован перенос накопленной информации базы данных. Изменение платформы и расширение ее параметров может привести к целесообразности модернизации алгоритмов. В результате, будет создаваться, по существу, новая система с использованием общего системного задела и информации баз данных.
Существует множество пакетов мобильных прикладных программ, созданных с применением современного инструментария. Эти средства автоматизации разработки ПС и БД резко упростили процессы переноса и свели их в ряде случаев к автоматизированной трансляции и адаптации выбранных пакетов на платформы определенных типов. При этом технология создания ПС и БД путем переноса их на другие аппаратные и операционные платформы претерпела качественное изменение и активно развивается на основе концепции и стандартов открытых систем (см. лекцию 3).
При анализе баз данных, как объектов переноса, целесообразно рассматривать два компонента: системы управления данными (СУБД) и совокупность данных, упорядоченных по некоторым правилам. Простейший вариант переноса информации БД на иную аппаратную платформу реализуется, когда на обеих платформах имеются апробированные СУБД одного типа и версий. При этом считается, что отсутствуют дополнительные технические ограничения для размещения всей информации БД, и нет необходимости изменять и адаптировать её структуру на новой аппаратной платформе. В этом случае основные работы сводятся к переносу всего объема информации БД и к испытаниям после этого, функционирования СУБД на новой платформе, на соответствие документации исходной версии СУБД с перенесенной информацией. При этом трудоемкость и длительность создания БД на новой платформе определяются, в основном, работами по переносу информации БД и испытаниями новой системы.
Однако чаще последующий перенос БД не предусматривается при ее первичном формировании и наполнении и возникает после длительной эксплуатации унаследованной системы. Причиной обычно являются не удовлетворительные показатели качества функционирования БД, потребность в дополнительных ресурсах памяти и производительности ЭВМ, недостаточное время реакции на запросы данных. При этом возможна крайняя ситуация, когда необходимо перенести информацию БД с не полностью известной структурой и связями под управление совершенно другого типа СУБД на иную платформу, с большими ресурсами и возможностями. Сложность, трудоемкость и длительность переноса БД в этом случае значительно возрастают и требуют тщательного планирования и организации работ, приближающихся к созданию совершенно новой БД.
Затраты и сложность переноса информации базы данных зависят прежде всего от ее характеристик, которые отражают форматную, лингвистическую и физическую совместимость содержания переносимой БД между рассматриваемыми платформами:
- форматная совместимость характеризуется степенью соответствия данных в БД анализируемых платформ требованиям стандартов на форматы представления данных для документальных, фактографических, словарных или иных баз данных;
- лингвистическая совместимость определяется степенью использования в рассматриваемых БД единых лингвистических средств (классификаторов, рубрикаторов, словарей), формализованных соответствующими стандартами;
- физическая совместимость заключается в степени соответствия кодировки информации БД одинаковым стандартам на машиночитаемые носители информации.
Если одновременно с информацией БД переносятся полностью программные средства СУБД, то это обеспечивает сохранение функций управ-ления данными. Однако может потребоваться перенос информации БД на иную аппаратную платформу с другим типом СУБД. Тогда задача переноса усложняется.
Для средних и крупных проектов системный анализ переноса целесообразно завершать оценкой суммарной трудоемкости и длительности переноса программного продукта и их сопоставлением с полной разработкой ПС и БД при некотором использовании алгоритмического и системного задела. Кроме того, полученный комплекс программ следует оценивать по использованию памяти и производительности новой ЭВМ. Такую оценку необходимо проводить с учетом возможного тиража ПС и перспективы длительной его эксплуатации. Ориентация на снижение затрат при переносе программ зачастую отражается значительными потерями в эффективности эксплуатации системы вследствие увеличения объема программ в объектном коде и снижения их производительности, особенно когда программный продукт длительно используется на многих экземплярах ЭВМ в реальном времени.
Дата добавления: 2016-04-06; просмотров: 1085;