Что такое конфигурация в телефоне. Конфигурирование программного обеспечения

  • 10.07.2019

Последнее обновление: 04.09.2017

Конфигурация по умолчанию

Начиная с версии 2.0, необязательно явным образом подключать конфигурацию в проект. Инфраструктура ASP.NET Core автоматически может это сделать. Единственное ограничение состоит в том, что в качестве файла конфигурации должен выступать файл с именем appsettings.json .

Итак, добавим в проект файл appsettings.json со следующим содержимым:

{ "color": "navy", "text": "Hello ASP.NET Core 2.0!" }

Используем этот файл конфигурации в классе Startup:

Using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Configuration; namespace ConfigurationApp { public class Startup { public Startup(IConfiguration config) { AppConfiguration = config; } public IConfiguration AppConfiguration { get; set; } public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app) { var color = AppConfiguration["color"]; var text = AppConfiguration["text"]; app.Run(async (context) => { await context.Response.WriteAsync($"

{text}

"); }); } } }

Чтобы получить конфигурацию из файла appsettings.json, достаточно передать в конструктор класса объект IConfiguration, который и будет содержать все настройки. И затем полученную конфигурацию можно использовать в приложении.

Dependency Injection

Более того конфигурация, составленная из файла appsettings.json, доступна по всему приложению, и мы можем ее получить через механизм Dependency Injection, например, в конструкторе какого-нибудь класса. Так, можно определить компонент middleware - ConfigMiddleware, который будет использовать конфигурацию:

Using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; namespace ConfigurationApp { public class ConfigMiddleware { private readonly RequestDelegate _next; public ConfigMiddleware(RequestDelegate next, IConfiguration config) { _next = next; AppConfiguration = config; } public IConfiguration AppConfiguration { get; set; } public async Task Invoke(HttpContext context) { var color = AppConfiguration["color"]; var text = AppConfiguration["text"]; await context.Response.WriteAsync($"

{text}

"); } } }

И затем использовать данный компонент в классе Startup:

Public class Startup { public Startup(IConfiguration configuration) { AppConfiguration = configuration; } public IConfiguration AppConfiguration { get; set; } public void ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app) { app.UseMiddleware(); } }

Передача конфигурации из разных источников

Однако выше приведенный способ получения конфигурации в middleware и в других классах будет работать, если в приложении определен файл appsettings.json, который и хранит все настройки. Однако если файл называется иначе, или настройки хранятся в файлах xml, ini, каких-то других источниках или просто определяются в памяти, то по умолчанию передача конфигурации в качестве сервиса работать не будет. И в этом случае необходимо явным образом указать, с каким объектом будет сопоставляться сервис IConfiguration.

Например, мы хотим хранить конфигурационные настройки в памяти и передавать их в качестве сервиса в middleware:

Public class Startup { public Startup() { var builder = new ConfigurationBuilder() .AddInMemoryCollection(new Dictionary { {"color", "red"}, {"text", "Hello ASP.NET Core 2.0"} }); AppConfiguration = builder.Build(); } public IConfiguration AppConfiguration { get; set; } public void ConfigureServices(IServiceCollection services) { services.AddTransient(provider => AppConfiguration); } public void Configure(IApplicationBuilder app) { app.UseMiddleware(); } }

В метод AddTransient() через фабрику сервисов передается объект, который будет использоваться в качестве сервиса IConfiguration. При этом код ConfigMiddleware не меняется, он также получает IConfiguration через конструктор.

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

Хорошо, если вы знаете свою конфигурацию назубок. А если нет? Тогда для сбора информации о конфигурации компьютера требуется пара минут и минимум усилий. Ниже я рассакжу о том, как это сделать средствами ОС Windows или сторонними программами, умеющими создавать отчет, который можно опубликовать на форуме.

Сведения о системе (msinfo32)

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

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

В Windows XP и Vista того же результата можно достичь из командной строки, выполнив команду

Msinfo32 /report "<путь к папке>\config.txt"

Файл с отчетом будет создан в папке, путь к которой вы укажете в приведенной выше команде.

Программы сторонних разработчиков

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

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

Winaudit

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

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

System Information for Windows (SIW)

Программа SIW имеет размер около 2.2 Мб, не требует установки (правда, без установщика предлагается только английская версия), обладает продуманным интерфейсом, да и наглядность выводимой ею информации заслуживает очень высокой оценки. В многоязычной версии русский язык интерфейса при необходимости можно задать в окне Tools -> Options . Нас, однако, интересует создание отчета, эта опция есть в меню Файл , как показано на рисунке ниже.

Программа - это упорядоченная последовательность команд. Конечная цель любой компьютерной программы - управление ап- паратными средствами. Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаи- модействии. Состав программного обеспечения (Software)

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

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

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

взаимодействие с пользователем, называют средствами обеспечения

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

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

Классификация служебных программ:

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

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

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

Средства диагностики, предназначенные для автоматизации процессов диагностики аппаратного и программного обеспе- чения;

Средства контроля (мониторинга), предназначенные для того, чтобы следить за процессами, происходящими в вычислитель- ном комплексе;

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

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

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

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

Классификация прикладных программ:

Текстовые редакторы, предназначенные для ввода и редакти- рования текстовых данных;

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

Графические редакторы, предназначенные для создания и (или) обработки графических изображений;

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

Электронные таблицы - это комплексные средства для хра- нения и обработки различных типов данных,

представляемых в виде таблиц;

СЛБ-системы (системы автоматизированного проектирова- ния), предназначенные для проектно-конструкторских работ;

Настольные издательские системы, предназначенные для ав- томатизации процесса верстки полиграфических изданий;

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

Редакторы HTML (веб-редакторы), предназначенные для создания и редактирования веб-документов (веб-страниц интернета);

Браузеры - это программные средства, предназначенные для просмотра электронных документов, выполненных в фор- мате HTML;

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

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

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

Геоинформационные системы (ГИС), предназначенные для автоматизации картографических и геодезических работ на основе информации, полученной топографическими или аэ- рокосмическими методами;

Системы видеомонтажа, предназначенные для цифровой об- работки видеоматериалов (монтажа, создания

видеоэффектов, устранения дефектов, наложения звука, тит- ров и субтитров);

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

3.3. Операционные системы персональных компьютеров

3.2.1. Общие сведения об операционных системах

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

Основная функция всех операционных систем - посредниче- ская. Она заключается в обеспечении нескольких видов интерфейса:

Интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);

Интерфейса между программным и аппаратным обеспечением (аппаратно-программный интерфейс);

Интерфейса между разными видами программного обеспече- ния (программный интерфейс).

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

В пакетном режиме операционная система автоматически ис- полняет заданную последовательность команд.

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

По реализации интерфейса пользователя различают неграфи- ческие и графические операционные системы.

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

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

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

/etc/ (файлы либо не имеют расширения, либо с расширением .conf, .cnf, .config, …). Например:
fstab - точки монтирования разделов дисков
hosts - хосты (соответствие доменных имен - адресам)
filesystems - поддерживаемые файловые системы.

В операционных системах Windows изменение конфигурации чаще всего производится через GUI (графический интерфейс пользователя), однако имеется возможность изменять некоторые параметры вручную (в файлах *.ini)

См. также


Wikimedia Foundation . 2010 .

Смотреть что такое "Конфигурация (ПО)" в других словарях:

    - (лат. configurare, от cum с, и figura образ). 1) образ, вид. 2) положение планет в отношении друг друга. 3) положение звезд относительно известных созвездий. 4) конфигурация страны очертание её границ. Словарь иностранных слов, вошедших в состав… … Словарь иностранных слов русского языка

    Конфигурация: В Викисловаре есть статья «конфигурация» Конфигурация (астрономия) … Википедия

    См … Словарь синонимов

    конфигурация - и, ж. configuration f., нем. Konfiguration <лат. configuratio подобие. 1. астр. Взаимное расположение планет. Сл. 18. Всякое различие отстояния неба и звезд, от их разстояний между собою, конфигурации, и от схождения и расхождения происходит.… … Исторический словарь галлицизмов русского языка

    конфигурация - Совокупность значений параметров, определяющих работу устройства. [Интент] конфигурация — конфигурация (ITIL Service Transition) Общий термин, используемый для описания группы… … Справочник технического переводчика

    КОНФИГУРАЦИЯ, конфигурации, жен. (лат. configuratio изображение) (книжн.). Вид, очертание, образ. || Взаимное расположение каких нибудь предметов, соотношение каких нибудь предметов. Конфигурация звезд на небе. Толковый словарь Ушакова. Д.Н.… … Толковый словарь Ушакова

    - (от позднелат. configuratio придание формы расположение), внешний вид, очертание; взаимное расположение предметов … Большой Энциклопедический словарь

    КОНФИГУРАЦИЯ, и, жен. (спец.). Внешнее очертание, а также взаимное расположение предметов или их частей. К. изделия. | прил. конфигурационный, ая, ое. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 … Толковый словарь Ожегова

    Жен. наружный вид, очертанье, очерк, образ. Толковый словарь Даля. В.И. Даль. 1863 1866 … Толковый словарь Даля

    - (от позднелатинского coniguratio придание формы, расположение) самолёта сочетание положений элементов крыла, шасси, наружных подвесок и другие частей и агрегатов самолёта, определяющих его внешние очертания. В зависимости от этапа полёта… … Энциклопедия техники

    - (от лат. configuratio форма, уклад) англ. configuration; нем. Konfiguration. 1. Внешнее очертание, взаимное расположение к. л. предметов или их частей. 2. В гештальтпсихоло г и и образец, состоящий из взаимозависимых элементов, при изучении к… … Энциклопедия социологии

Книги

  • 1 С:Бухгалтерия предприятия 2. 0. Новая конфигурация , Засорин Сергей Валентинович. Рассматриваются структура, основные элементы, возможности, приемы и методы выполнения учетных операций, особенности проведения бухгалтерского учета, состав и настройка конфигурации "1 С:…
  • 1C:Предприятие. Комплексная конфигурация. Секреты работы , Наталья Рязанцева, Дмитрий Рязанцев. Книга посвящена изучению приемов и методов работы по ведению автоматизированного бухгалтерского учета, учета кадров и заработной платы, складского учета на предприятиях, в организациях и…

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

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

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

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

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

Метрики тестирования .Для измерения результатов тестирования ПО, а также при проведении анализа качества используются метрики. Измерение как часть планирования и разработки тестов базируется на размере программ, их структуре и количестве обнаруженных ошибок и дефектов. Метрики тестирования обеспечивают измерение процесса планирования, проектирования и тестирования; а также результатов тестирования на основе таксономии отказов и дефектов, покрытия границ тестирования, проверки потоков данных и др. Процесс тестирования документируется и согласно стандарту 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) - формально обозначенный набор элементов ПО, зафиксированный на этапах ЖЦ ПО.

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

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