Задачи службы сопровождения программного изделия

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

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

2. Исправление ошибок в программах, выдающих результаты, не отвечающие установленным требованиям, и внесение соответст­вующих изменений в документацию.

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

4. Внесение изменений в программы с целью их приспособления к условиям работы конкретного пользователя.

5. Контроль правильности всех корректировок, вносимых в из­делие, и проверка качества измененных программ.

6. Доведение до пользователя информации о внесенных измене­ниях.

7. Обучение и постоянные консультации пользователя с целью повышения эффективности использования программного изделия.

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

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

24. Сборочное программирование, повторное используемые компоненты, основы компонентной объектной модели (COM).

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

Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model - компонентная модель объектов), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture - общая архитектура с посредником обработки запросов объектов).

Компонентная объектная модель (СОМ) — фундамент компонентно-ориентированных средств для всего семейства операционных систем Windows. Рассмотрение этой модели является иллюстрацией комплексного подхода к созданию и использованию компонентного программного обеспечения [5].

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

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

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

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

Как показано на рис, объект СОМ всегда реализуется внутри некоторого сервера. Сервер может быть либо динамически подключаемой библиотекой (DLL), подгружаемой во время работы приложения, либо отдельным самостоятельным процессом (ЕХЕ).

Для вызова операции интерфейса клиент объекта СОМ должен получить указатель на его интерфейс. Клиенту требуется отдельный указатель для каждого интерфейса, операции которого он намерен вызывать. Например, как показано на рис, клиенту нашего объекта СОМ нужен один указатель интерфейса для вызова операций интерфейса РаботаСФайлами, а другой — для вызова операций интерфейса ПреобразованиеФорматов.

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

Благодаря СОМ клиентам нет нужды учитывать эти отличия — доступ ко всему осуществляется единообразно. Другими словами, в СОМ для доступа к услугам, предоставляемым любыми типами ПО, используется одна общая модель.

25. Организация интерфейса COM: идентификация интерфейса, описание интерфейса, реализация интерфейса.

Каждый интерфейс объекта СОМ — контракт между этим объектом и его клиентами. Они обязуются: объект — поддерживать операции интерфейса в точном соответствии с его определениями, а клиент — корректно вызывать операции. Для обеспечения контракта надо задать:

-идентификацию каждого интерфейса;

-описание операций интерфейса;

-реализацию интерфейса.