Области знаний программной инженерии и стандарты жц программного обеспечения. Конфигурационный файл

Управление конфигурацией ПО — это один из вспомогательных процессов, поддерживающих основные процессы ЖЦ ПО, прежде всего процессы разработки и сопровождения ПО.

Под конфигурацией ПО понимается совокупность его функциональных и физических ха­рактеристик , установленных в технической документации и реали­зованных в ПО.

В крупном проекте большие объемы информации меняются очень быстро и неконтролируемые изменения могут быстро ввергнуть проект в хаос. Работая над программным проектом, группа программистов, тестеров и менеджеров сталкивается с проблемой отслеживания версий программ, внесения в них изменений. Чем больше проект, тем больше времени разработчики тратят на согласования изменений в исходных текстах и получения работающих версий программного продукта. Данная задача может усугубиться наличием в компании регионально удаленных групп-разработчиков.

Управление конфигурацией позволяет организовать, системати­чески учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.

При групповой разработке сложных ПО, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, необходимо :

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

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

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

- вести полный и достоверный архив всех версий всех объектов системы;

- контролировать состояние и развитие коллективно используемых ком­понентов ПО и их версий, учитывая связи компонентов системы для согласования между собой измененных частей ; обеспечивать адекватность реально изменяю­щихся компонентов и их комплектной документации;

- проводить оценку конфигурации — оценивать функциональную пол­ноту компонентов ПО, а также соответствие их физического состо­яния текущему техническому описанию.

- изготавливать эталон­ные копии ПО и документации, хранить и поставлять их пользо­вателям в соответствии с порядком, принятым в организации. Это упрощает выпуск и поставку ПО;

- обеспечивать развитие всей системы, ограничивая усложнение проекта.

Рассмотрим, как пример, управление исходным кодом .

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

Контролю подвергается не только собственно код модулей, но и код скриптов генерации схемы базы данных, а также собственно схема базы данных, которая может храниться в виде версий бинарных файлов, экспортированных во внутренний формат СУБД схем баз данных.

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

После того как основной код модуля будет создан и зарегистрирован в системе контроля исходных текстов, каждая правка в нем должна быть помечена датой и именем автора правки. Правки должны сопровождаться ясными комментариями , которые располагаются в начале файла исходного кода.

Формат комментария к правке может быть таким:

Это делается для того, чтобы через некоторое время можно было понять, кто и зачем внес данную правку. Также это помогает корректировать слияние исходного кода, если система контроля обнаружила несовместность правок и не может разрешить ее сама.


Часто ведущие исполнители проектов не доверяют системам контроля исходного кода сливать правки в исходных текстах автоматически и частично или полностью контролируют этот процесс. Эта перестраховка во многих случаях себя оправдывает.

Также в начале исходного кода (в комментариях) описывается: для чего данный файл исходного кода создан, основные его функции, к какой части информационной системы он относится, кто автор.

Функции, структуры, наиболее важные переменные должны сопровождаться комментариями. Необходимо избегать непонятных названий вида K1, Function10.

Для крупных подсистем должен фиксироваться интерфейс обмена с другими подсистемами — формат данных, передаваемых подсистеме и получаемых из нее, а также формат вызовов функций и методов подсистемы. Это позволяет добиться относительной независимости подсистем и снизить влияние изменений кода одной подсистемы на другую.

Такой подход облегчает взаимодействие разработчиков разных модулей. Документировать нужно только интерфейс обмена, а не весь код модуля целиком.

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

Взаимодействие компонентов не должно быть произвольным. Контролировать эти правила создания исходного кода в большинстве случаев приходится вручную.

Группа разработчиков должна иметь свой выделенный сервер баз данных, и, возможно, не один, а также выделенные рабочие места. Часто эти моменты далеко не очевидны руководству, и оно воспринимает это как совершенно ненужную трату средств. Сервер, обеспечивающий контроль исходного кода, также должен быть выделенным.

Рынок систем конфигурационного управления

Без хорошего инструментария невозможно оперативно управлять конфигура­циями ПО.

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

Можно выделить четыре группы таких продуктов :

1) обеспечивающие контроль версий (Rational ClearCase, Merant PVCS, Microsoft Visual SourceSafe);

2) обеспечивающие контроль версий и изменений (Rational ClearCase/ClearQuest, PVCS Professional);

3) обеспечивающие параллельную разработку, контроль версий, изменений и рабочих процессов (PVCS Dimensions, CCC:Harvest фирмы Computer Associates);

4) обеспечивающие все вышеуказанные возможности при взаимодействии нес­кольких географически удаленных команд (Rational MultiSite, PVCS Replicator).

Продукт ClearCase наиболее мощный и, соответственно, дорогой. Он лучше всего подходит для проектов, в которых участвует не менее 10 разработчиков и которые направлены на создание крупных систем или на выпуск тиражируемого ПО, когда особенно актуальны проблемы отслеживания версий. ClearCase поддерживает множество репозитариев проекта с их автоматической синхронизацией; координирует совместную работу всех участников проекта; управляет конфигурацией сборки ПО; обеспечивает визуальный контроль над происходящим.

В числе недостатков ClearCase — необходимость серьезного администриро­вания, т.е. нагрузка при работе с продуктом перекладывается с конечных пользователей на администратора.

Продукт PVCS , встроен во многие системы разработки, предлагает более простой версионный контроль. Он хуже автоматизирует работу пользователей и сложнее в применении, но зато не требует отдельного сотрудника-администратора для поддержки небольших групп разработчиков. Существуют проблемы переходов от одного продукта PVCS к другому. Имеет меньшую стоимость. Может оказаться хорошим решением, если разработка идет под разными платформами (аппаратная платформа и ОС).

Продукт Microsoft Visual Source Safe осуществляет простой контроль исходных текстов и подходит для индивидуальной работы или для проектов, объединяющих нескольких человек. В нем нельзя организовать связь между участниками проекта, но он значительно дешевле и проще. Используется для ОС Windows 98, NT, 2000.

В ноябре 2002 г. компания Merantвыпустилановую версию популярного инструмента для управления конфигурациями ПО PVCS Professional 7.5 .

В состав пакета входят:

PVCS Version Manager 7.5 — система контроля версий;

PVCS Tracker Manager 7.5 — утилита формирования журнала изменений и задач;

Configuration Builder 7.5 — утилита обеспечения стандартизованной и надежной компоновки готовых приложений.

На всех уровнях тестирования применяются методы:

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

К методам тестирования относятся также методы проведения испытаний ПО, проверки реализации требований и обеспечения параметров настройки и размещения компонентов ПО на заданном количестве и типах компьютеров, среды и ОС.

Техники тестирования базируются на некоторых теоретических и практических положениях, например, на природе подхода к проектированию (компонентного, объектно-ориентированного, сервисного и т.п.), а также на следующих данных:

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

Метрики тестирования .Для измерения результатов тестирования ПО, а также при проведении анализа качества используются метрики. Измерение как часть планирования и разработки тестов базируется на размере программ, их структуре и количестве обнаруженных ошибок и дефектов. Метрики тестирования обеспечивают измерение процесса планирования, проектирования и тестирования; а также результатов тестирования на основе таксономии отказов и дефектов, покрытия границ тестирования, проверки потоков данных и др. Процесс тестирования документируется и согласно стандарту IEEE 829-98 включает описание тестовых документов, их связи между собой и с задачами тестирования. Без документации по процессу тестирования невозможно провести сертификацию продукта по модели СММ [1.20 ]. После завершения тестирования рассматриваются вопросы стоимости и оценки рисков, вызванных сбоями или недостаточно надежной работой системы. Стоимость тестирования является одним из ограничений, на основе которого принимается решение о прекращении или его продолжении.

Управление тестированием :

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

Заметим, что стандарт ISO/IEC 12207 и гармонизированный ГОСТ 12207 не выделяет деятельность по тестированию в качестве самостоятельного процесса, а рассматривает тестирование как неотъемлемую часть всего ЖЦ.

1.1.5. Сопровождение ПО (Software maintenance)

Сопровождение ПО - совокупность действий по обеспечению работы ПО, а также по внесению изменений в случае обнаружения ошибок в процессе эксплуатации, по адаптации ПО к новой среде функционирования, а также по повышению производительности или улучшению других характеристик ПО. В связи с решением проблемы 2000 года сопровождение стало рассматриваться как более важный процесс, который должны осуществлять разработчики. Новая версия системы должна решать те же самые задачи, иметь план переноса информации в другие обновленные БД и учета стоимости сопровождения. Сопровождение (в соответствии со стандартами ISO/IEC 12207 и ISO/IEC 14764) считается модификацией программного продукта в процессе эксплуатации при условии сохранения целостности продукта.

Область знаний "Сопровождение ПО ( Software maintenance )" состоит из следующих разделов:

  • основные концепции (Basic Concepts),
  • процесс сопровождения (Process Maintenance),
  • ключевые вопросы сопровождения ПО (key Issue in Software Maintenance ) ,
  • техники сопровождения (Techniques for Maintenance)

Сопровождение рассматривается с точки зрения удовлетворения требований к созданному ПО, корректности его выполнения, процессов обучения и оперативного учета процесса сопровождения.

Основные концепции описывают базовые определения и терминологию, подходы к эволюции и сопровождению ПО, а также к оценке стоимости сопровождения и др.

К основным концепциям можно отнести ЖЦ ПО (стандарт ISO/IEC 12207) и составление документации. Главное назначение этой области знаний состоит в выполнении готовой программной системы, фиксации возникающих ошибок при выполнении, исследовании причин ошибок, анализа необходимости модификации системы в целях устранения ошибок, оценки стоимости работ по проведению изменений функций и системы в целом. Рассматриваются проблемы, связанные с увеличением сложности продукта при большом количестве изменений и методы ее преодоления.

Процесс сопровождения включает : модели процесса сопровождения и планирование деятельности людей, которые проводят запуск ПО, проверку правильности его выполнения и внесения в него изменений. Процесс сопровождения согласно стандарту ISO/IEC 14764 проводится путем:

  • корректировки, т.е. изменения продукта для устранения обнаруженных ошибок или нереализованных задач;
  • адаптации, т.е. настройки продукта в изменившихся условиях эксплуатации или в новой среде выполнения данного ПО;
  • улучшения, т.е. эволюционного изменения продукта для повышения производительности или уровня сопровождения;
  • проверки ПО с целью поиска и исправления ошибок, обнаруженных при эксплуатации системы.

Ключевые вопросы сопровождения ПО .Основными из этих вопросов являются управленческие, измерительные и стоимостные. Сущность управленческих вопросов состоит в контроле ПО в процессе модификации, совершенствовании функций и недопущении снижения производительности системы. Вопросы измерения связаны с оценкой характеристик системы после ее модификации, а также повторного тестирования и оценки показателей качества. Стоимостные вопросы связаны с оценкой затрат на сопровождение ПО в зависимости от его типа, квалификации персонала, платформы и др. Знание этих факторов часто позволяет уменьшить затраты.

Эволюция ПО .Известный специалист в области ПО Дж. Леман (1970г.) предложил рассматривать сопровождение как эволюционную разработку программных систем, поскольку сданная в эксплуатацию система не всегда является полностью завершенной, ее надо изменять в течение срока эксплуатации. В результате программная система становится более сложной и плохо управляемой, возникает проблема уменьшения ее сложности. К технологиям эволюции ПО относятся реинженерия, реверсная инженерия и рефакторинг.

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

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

Чаще всего реверсная инженерия применяется после того, как в код ПО было внесено много изменений и оно стало неуправляемым.

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

1.1.6. Управление конфигурацией ПО

Управление конфигурацией (Software Configuration Management - SCM ) состоит в идентификации компонентов системы, определении функциональных и физических характеристик аппаратного и программного обеспечения для контроля за внесением изменений и трассированием конфигурации на протяжении ЖЦ. Это управление соответствует одному из вспомогательных процессов ЖЦ (ISO/IEC 12207), выполняется техническим и административным руководством проекта; составляются отчеты об изменениях, внесенных в конфигурацию, и степени их реализации, а также проводится проверка соответствия внесенных изменений заданным требованиям.

Конфигурация системы - состав функций, программного и технического обеспечения системы, возможные их комбинации в зависимости от наличия оборудования, общесистемных средств, обозначенных в технической документации системы, и требования к продукту.

Конфигурация ПО включает набор функциональных и технических характеристик ПО, заданных в технической документации и реализованных в готовом продукте. Это сочетание разных элементов продукта вместе с заданными процедурами сборки и настройки на среду в соответствии с назначением системы. Примерами элементов конфигурации являются график разработки, проектная документация, исходный и исполняемый код, библиотека компонентов, инструкции по установке и развертыванию системы.

Область знаний "Управление конфигурацией ПО" состоит из следующих разделов:

  • управление процессом конфигурации (Management of SCM Process),
  • идентификация конфигурации ПО (Software Configuration Identification ),
  • контроль конфигурации ПО (Software Configuration Control ),
  • учет статуса (положение конфигурации в ПО или состояние) конфигурации ПО (Software Configuration Status Accounting ),
  • аудит конфигурации ПО (Software Configuration Auditing ),
  • управление версиями ПО и доставкой (Software Release Management and Delivery).

Управление процессом конфигурации .Это деятельность по контролю эволюции и целостности продукта при идентификации, контроле изменений и обеспечении отчетной информацией, касающейся конфигурации. Включает:

  • систематическое отслеживание вносимых изменений в отдельные составные части конфигурации, выполнение аудита изменений и автоматизированного контроля за внесением изменений в конфигурацию системы или ПО;
  • поддержку целостности конфигурации, ее аудит и обеспечение внесения изменений в элементы конфигурации;
  • ревизию конфигурации в целях проверки наличия разработанных программных или аппаратных средств и согласования версии конфигурации с заданными требованиями;
  • трассировка изменений в конфигурацию на этапах сопровождения и эксплуатации ПО.

Идентификация конфигурации ПО заключается в документировании функциональных и физических характеристик элементов конфигурации ПО, а также в оформлении технической документация на элементы конфигурации ПО.

Контроль конфигурации ПО состоит в проведении работ по координации, утверждению или отбрасыванию реализованных изменений в элементах конфигурации после формальной ее идентификации, а также в анализе входящих компонентов в конфигурацию и соответствия их идентификации.

Учет статуса или состояния конфигурации ПО проводится с помощью комплекса мероприятий, позволяющих определить степень изменения конфигурации, полученной от разработчика, а также правильность внесенных изменений в конфигурацию ПО при ее сопровождении. Информация и количественные показатели накапливаются в соответствующей БД и используются при управлении конфигурацией, составлении отчетности, оценивании качества и выполнении других процессов ЖЦ.

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

Управление версиями ПО - это отслеживание имеющейся версии элемента конфигурации; сборка компонентов; создание новых версий системы на основе существующих путем внесения изменений в конфигурацию; согласование версии продукта с требованиями и проведенными изменениями на этапах ЖЦ; обеспечение оперативного доступа к информации об элементах конфигурации и системы, к которым они относятся. Управление выпуском охватывает идентификацию, упаковку и передачу элементов продукта и документации заказчику. При этом используются следующие основные понятия.

Базис (baseline) - формально обозначенный набор элементов ПО, зафиксированный на этапах ЖЦ ПО.

Библиотека ПО - контролируемая коллекция объектов ПО и документации, предназначенная для облегчения процесса разработки, использования и сопровождения ПО.

Сборка ПО - объединение корректных элементов ПО и конфигурационных данных в единую исполняемую программу.

Программа - это упорядоченная последовательность команд. Конечная цель любой компьютерной программы - управление аппаратными средствами. Даже если на первый взгляд программа никак не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и не осуществляет вывод данных на устрой­ства вывода, все равно ее работа основана на управлении аппаратными устройствами компьютера.

Состав программного обеспечения (ПО) вычислительной системы называют программ­ной конфигурацией .

Ппрограммные средства можно разделить на автоматические и автоматизированные. Автоматическое ПО выполняется без вмешательства человека, результаты его работы могут быть даже незаметны для пользователя. Часто оно бывает защищено от проникновения в программный код, изменить автоматическое ПО трудно или в принципе невозможно.

Автоматизированное ПО не может функционировать без пользователя, здесь человек, работающий на компьютере, ставит компьютеру задачи и оценивает их выполнение. Эти программы человек использует для достижения своих целей: подготовки документов, получения информации из тех или иных источников, просмотра текста, графики, видео и так далее. Человек выполняет творческую часть работы, а компьютер – рутинную.

С точки зрения объекта работы ПО подразделяют на системное и прикладное. Первое обеспечивает работу компьютера, второе позволяет с помощью компьютера решать задачи в различных сферах человеческой деятельности.

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

Каждый следующий уровень опирается на программное обеспечение предшествующих уровней. А каждый вышележащий уровень увеличивает возможности компьютера. Так, например, компьютер с программным обеспечением базового уров­ня не способен к практическому использованию, но позволяет установить систем­ное программное обеспечение и часть служебного ПО.

Программы пользовательского уровня можно подразделить на:

    служебные, с помощью которого пользователь может повысить эффективность работы компьютера, оптимизировать функции программного и аппаратного обеспечения;

    инструментальные, предназначенные для программирования, то есть разработки новых программ;

    прикладные – это все остальное программное обеспечение, предназначенное для решения широкого круга задач: производственных, творческих, обучающих, развлекательных и пр.

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

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

2. Важнейшее служебное ПО, а именно:

    служебные программные средства ОС Windows;

    диспетчеры файлов;

    архиваторы.

3. Из прикладного ПО в данной главе будет рассмотрен только программный пакет MicrosoftOffice– самое распространенная среда для делопроизводства. А на практике расширенные возможностиWord,Excel,PowerPoint,Accessосваиваются в рамках лабораторного практикума.

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

Базовый уровень – самый низкий уровень программного обеспечения представляет базовое программное обеспечение. Оно отвечает за взаимодействие с базовыми аппаратными средствами и, как правило, программные средства входят непосредственно в состав базового оборудования и хранятся в специальных микросхемах ПЗУ. Программы и данные записываются в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.

Системный уровень – переходной. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, то есть выполняют “посреднические” функции. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств. Они входят в состав программного обеспечения системного уровня. Программы, отвечающие за взаимодействие с пользователем, называют средствами обеспечения пользовательского интерфейса. Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Если компьютер оснащён программным обеспечением системного уровня, то он уже подготовлен к установке программ более высоких уровней, к взаимодействию программных средств с оборудованием и с пользователем. Наличие ядра операционной системы – непременное условие для возможности практической работы человека с вычислительной системой.

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

Изобретение относится к области приборостроения. Его использование для установки и настройки программного обеспечения современных цифровых вычислительных машин позволяет обеспечить возможность объективного контроля над процессом выполнения инсталляции программного продукта в установочных пакетах, что повышает надежность инсталляции и обеспечивает безотказность процесса установки сложных программных систем. Этот технический результат достигается тем, что одна или несколько операций в каждом установочном пакете объединяются согласно логике функционирования в фазу, которой присваивается один или несколько атрибутов; каждая фаза установочного пакета выбирается, идентифицируется и помечается; при этом, если очередная фаза помечена как обработанная, осуществляется переход к следующей фазе, в противном случае осуществляется вызов очередной фазы в каждом вложенном установочном пакете; при этом, если текущая фаза найдена в одном из установочных пакетов, то в нем последовательно выбираются, анализируются и идентифицируются все фазы, расположенные до найденной, и сама найденная фаза, каждая из которых после обработки помечается как обработанная. 1 з.п. ф-лы.

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

Способы установки и конфигурирования программного обеспечения известны . Эти способы реализованы в современных цифровых вычислительных машинах в виде программ инсталляции, которые выполняют копирование файлов программного обеспечения на компьютер назначения, а также запись параметров конфигурации и другие действия по настройке программного обеспечения. Последовательность технологических операций в известных способах установки и конфигурации программного обеспечения должна строго выполняться в порядке, заданном разработчиком программы инсталляции. Наиболее современной программой инсталляции является Windows Installer - составная часть технологии IntelliMirror, используемая для работы с приложениями Windows 200 . С ее помощью упрощается установка приложений и их обновление, устраняется возможность "конфликта версий", появляются дополнительные возможности по управлению программами, установленными в системе. Программа инсталляции состоит из главного установочного пакета и связанных с ним установочных пакетов. В свою очередь каждый установочный пакет состоит из одной или нескольких операций, объединенных согласно логике функционирования установочного пакета. Установочный пакет может содержать ссылки на другие установочные пакеты. При этом при выполнении установки и конфигурирования программного обеспечения могут быть использованы не все операции каждого установочного пакета, а только их произвольная выборка, определяемая целями и составом программного обеспечения, а также конфигурацией технических средств. Способ установки и конфигурирования программного обеспечения требует выполнения установочных операций в составе этих пакетов в строгой последовательности, заданной разработчиком. С целью оптимизации инсталляционных процессов внутри каждого установочного продукта к каждому параметру установки может быть назначен весовой коэффициент . Каждый весовой коэффициент в комбинации с состоянием параметров инсталляции, информацией о разбиении потенциальных компьютеров назначения используется в процедуре выбора для каждой потенциально возможной компьютерной системы назначения соответствующего пакета установочных пакетов.

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

Цель данного предложения состоит в обеспечении возможности объективного контроля над процессом выполнения инсталляции программного продукта в установочных пакетах, что повышает надежность инсталляции и обеспечивает безотказность процесса установки сложных программных систем.

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

Сущность способа установки и конфигурирования программного обеспечения состоит в следующем. Вначале осуществляется выделение и загрузка установочных пакетов, начиная с главного установочного пакета. В каждом из загруженных установочных пакетов согласно логике функционирования установочного пакета выделяется одна или несколько операций, которым присваивается один или несколько атрибутов. Кроме того, в каждом установочном пакете одному или нескольким значениям одного или нескольких параметров установки присваивается вес. Эти параметры установки должны быть связаны с процессом установки и конфигурирования установочного пакета. Затем определяется множество компьютеров назначения, на которых может быть осуществлена установка данного установочного пакета. После чего задается процедура вычисления каждого установочного параметра и осуществляется разбиение множества компьютеров назначения на подмножества. При разбиении используются заданные веса в комбинации с состоянием параметров установки и вычисляется критерий соответствия каждого параметра установки для каждой из потенциальных систем компьютеров назначения с целью их дальнейшего конфигурирования. В процессе загрузки главного установочного пакета методом последовательного перебора обрабатываются все его фазы, начиная с начальной. После окончания обработки каждой фазы, то есть после окончания выполнения логически объединенных одной или нескольких операций, эта фаза помечается как обработанная. Факт обработки данной фазы может быть отображен визуально на мониторе. Одновременно с постановкой метки на обработанной фазе во всех остальных установочных пакетах, связанных с главным, осуществляется поиск фазы с атрибутами, соответствующими атрибутам данной обработанной фазы. Если в одном из установочных пакетов фаза с такими атрибутами обнаружена, то начинают обрабатываться фазы этого установочного пакета, которые, во-первых, не помечены; во-вторых, предшествуют найденной в этом установочном пакете фазе. Обработка фаз этого установочного пакета заканчивается на первоначально обнаруженной фазе с идентичными атрибутами. После возвращения в исходную фазу все обработанные фазы помечаются как обработанные. При этом обработка каждой фазы в каждом установочном пакете обязательно включает поиск фаз с аналогичными атрибутами во всех установочных пакетах. После завершения перебора фаз главного установочного пакета последовательно перебираются непомеченные фазы каждого из остальных установочных пакетов. Благодаря тому, что все обработанные фазы наряду с атрибутами имеют проставленные метки, заявляемый способ установки и конфигурирования программного обеспечения представляет возможность контролировать ход инсталляции программного продукта и наблюдать за его ходом с помощью любого устройства отображения. Группирование серии идентичных, одной или нескольких, операций вокруг фазы с общим для всех них набором атрибутов позволяет повысить надежность инсталляции программного продукта, что способно обеспечить безотказность процесса установки и конфигурирования сложных программных систем.

При формулировании существа изобретения были использованы следующие патентные, научно-технические источники:

1. Андреев А.Г. и др. Microsoft Windows 2000 Server и Professional / Под общим редактированием Чекмарева А.Н. и Вишнякова Д.Б. - СПб: БХВ - Санкт-Петербург, 2000 - 992 с.: стр 145, 373.

2. Integrates with Microsoft. Visual Studio. Net Help. 1992-2003. Microsoft Corporation. 0103 Part № X 09-19409, 19410, 19411.

3. Патент США №2003/0163807, М.Кл. G 06 F 009/445, зарегистрирован 27 февраля 2002 г., опубликован 28 августа 2003 г.

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то