Большая энциклопедия нефти и газа. Что такое конфигурация в телефоне
Управление конфигурацией ПО — это один из вспомогательных процессов, поддерживающих основные процессы ЖЦ ПО, прежде всего процессы разработки и сопровождения ПО.
Под конфигурацией ПО понимается совокупность его функциональных и физических характеристик , установленных в технической документации и реализованных в ПО.
В крупном проекте большие объемы информации меняются очень быстро и неконтролируемые изменения могут быстро ввергнуть проект в хаос. Работая над программным проектом, группа программистов, тестеров и менеджеров сталкивается с проблемой отслеживания версий программ, внесения в них изменений. Чем больше проект, тем больше времени разработчики тратят на согласования изменений в исходных текстах и получения работающих версий программного продукта. Данная задача может усугубиться наличием в компании регионально удаленных групп-разработчиков.
Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ.
При групповой разработке сложных ПО, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, необходимо :
- выделить набор объектов , определяющих структуру будущей системы, чтобы затем контролировать их состояния и ход работ по каждому из них. Такими объектами могут быть функционально-логическая модель системы, реляционная модель базы данных, модули прототипов системы (экраны, меню, отчеты, тексты процедур или классов), системные и программные спецификации, документация, планы проведения тестирования, спецификации тестовых процедур;
- контролировать запросы на доработку модуля, сообщения о найденной ошибке или неисправности оборудования, запросы на модификацию оборудования или ПО, задания на установку рабочего места, задания разработчику, аналитику и т.п., так как эти объекты влияют на состояние текущих версий других объектов и относятся к сфере управления изменениями;
- вести журнал всех изменений , внесенных в систему в процессе разработки или сопровождения (это касается состояния создаваемой системы, бюджета, сроков, интерфейса, контрольных отчетов и т.д.);
- вести полный и достоверный архив всех версий всех объектов системы;
- контролировать состояние и развитие коллективно используемых компонентов ПО и их версий, учитывая связи компонентов системы для согласования между собой измененных частей ; обеспечивать адекватность реально изменяющихся компонентов и их комплектной документации;
- проводить оценку конфигурации — оценивать функциональную полноту компонентов ПО, а также соответствие их физического состояния текущему техническому описанию.
- изготавливать эталонные копии ПО и документации, хранить и поставлять их пользователям в соответствии с порядком, принятым в организации. Это упрощает выпуск и поставку ПО;
- обеспечивать развитие всей системы, ограничивая усложнение проекта.
Рассмотрим, как пример, управление исходным кодом .
Для групповой разработки важны системы контроля исходного кода . Такие системы решают, по крайней мере, две задачи: хранение всех версий каждого экземпляра исходного кода (версии файлов) и разрешение конфликтов одновременного доступа разработчиков к одному экземпляру исходного кода (слияние исходных текстов, согласованность группы файлов проекта и т.п.).
Контролю подвергается не только собственно код модулей, но и код скриптов генерации схемы базы данных, а также собственно схема базы данных, которая может храниться в виде версий бинарных файлов, экспортированных во внутренний формат СУБД схем баз данных.
Прикладные программисты должны придерживаться установленных правил групповой разработки.
После того как основной код модуля будет создан и зарегистрирован в системе контроля исходных текстов, каждая правка в нем должна быть помечена датой и именем автора правки. Правки должны сопровождаться ясными комментариями , которые располагаются в начале файла исходного кода.
Формат комментария к правке может быть таким:
Это делается для того, чтобы через некоторое время можно было понять, кто и зачем внес данную правку. Также это помогает корректировать слияние исходного кода, если система контроля обнаружила несовместность правок и не может разрешить ее сама.
Часто ведущие исполнители проектов не доверяют системам контроля исходного кода сливать правки в исходных текстах автоматически и частично или полностью контролируют этот процесс. Эта перестраховка во многих случаях себя оправдывает.
Также в начале исходного кода (в комментариях) описывается: для чего данный файл исходного кода создан, основные его функции, к какой части информационной системы он относится, кто автор.
Функции, структуры, наиболее важные переменные должны сопровождаться комментариями. Необходимо избегать непонятных названий вида 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 — утилита обеспечения стандартизованной и надежной компоновки готовых приложений.
Статьи и Лайфхаки
Современные мобильные устройства представляют собой целый набор технических характеристик и различных комплектующих. Однако многие пользователи даже не догадываются о том, что такое конфигурация в телефоне. Попробуем дать определение этому понятию, а также разберёмся в том, что такое конфигурация программного обеспечения.
Конфигурация устройства: что это такое
Данный термин обычно означает совокупность программного и аппаратного обеспечения, рассчитанную на определенное устройство. Конфигурация влияет как на производительность нашего телефона, так и на его функционирование.
Как и компьютер, так и мобильный аппарат включает определённое оборудование – , чипсет, и блок питания. Также имеются постоянное запоминающее устройство и звуковая плата. Все это в комплексе относится как раз к конфигурации в телефоне.
Что такое конфигурация ПО девайса
Конфигурация программного обеспечения означает определённые параметры программы, которые задает сам владелец устройства.
Существуют различные подходы к хранению этих настроек. Порой они содержатся в текстовых файлах, которые можно отредактировать самостоятельно. Зачастую также создается отдельный интерфейс.
Нередко конфигурация задается ещё на стадии сборки программного обеспечения. Для того чтобы подвергнуть её каким-либо изменениям, программу нужно заново собрать. Нередко для хранения конфигурации используется и особая база данных (по примеру GConfig в ОС Windows).
Современное мобильное устройство фактически является портативным компьютером. У него есть своя операционная система, которая управляет работой программного обеспечения. К наиболее популярным можно отнести Windows Phone, Android и iOS.
Приобретая новый мобильный аппарат, следует позаботиться о том, чтобы в нём всё работало безотказно. Для этого следует всегда следить за выходом обновлений . Своевременная установка таких обновлений станет важным условием оптимальной работы нашего аппарата, а также предоставит доступ к различным новым сервисам и функциям.
Кроме того, это увеличит продуктивность его работы и поможет справиться с ошибками. Нередко производители мобильных устройств позволяют нам самим устанавливать такие обновления.
Совокупность настроек программы, задаваемая пользователем.
Существуют различные подходы к хранению конфигурации. Многие программы хранят настройки в текстовых файлах; особенно характерно это для UNIX-подобных систем . В Windows текстовые конфигурационные файлы так же используются и часто имеют формат .ini . Несмотря на то, что почти во всех случаях эти файлы можно редактировать вручную, во многих случаях для этого создаётся специальный интерфейс (который может быть как консольный, так и графический).
Иногда в UNIX-подобных системах конфигурация задаётся на этапе сборки программы, и для её изменения программу необходимо пересобирать. Ярким примером может служить ядро Linux . Почти во всех приложениях, собираемых на основе autoconf , можно подключать или отключать те или иные внешние библиотеки через параметры к скрипту configure .
Часто для хранения конфигурации используется специальная база данных. В Windows используется реестр Windows , а в GNOME - GConf ; в обоих случаях конфигурация имеет древовидную структуру.
Источники
Напишите отзыв о статье "Конфигурация программного обеспечения"
Отрывок, характеризующий Конфигурация программного обеспечения
– Да, опять просить ее руки, быть великодушным, и тому подобное?… Да, это очень благородно, но я не способен итти sur les brisees de monsieur [итти по стопам этого господина]. – Ежели ты хочешь быть моим другом, не говори со мною никогда про эту… про всё это. Ну, прощай. Так ты передашь…Пьер вышел и пошел к старому князю и княжне Марье.
Старик казался оживленнее обыкновенного. Княжна Марья была такая же, как и всегда, но из за сочувствия к брату, Пьер видел в ней радость к тому, что свадьба ее брата расстроилась. Глядя на них, Пьер понял, какое презрение и злобу они имели все против Ростовых, понял, что нельзя было при них даже и упоминать имя той, которая могла на кого бы то ни было променять князя Андрея.
За обедом речь зашла о войне, приближение которой уже становилось очевидно. Князь Андрей не умолкая говорил и спорил то с отцом, то с Десалем, швейцарцем воспитателем, и казался оживленнее обыкновенного, тем оживлением, которого нравственную причину так хорошо знал Пьер.
В этот же вечер, Пьер поехал к Ростовым, чтобы исполнить свое поручение. Наташа была в постели, граф был в клубе, и Пьер, передав письма Соне, пошел к Марье Дмитриевне, интересовавшейся узнать о том, как князь Андрей принял известие. Через десять минут Соня вошла к Марье Дмитриевне.
За помощью в решении заковыристой проблемы с операционной системой или устройствами, лучше сразу приводить конфигурацию компьютера. Она может дать отвечающим ключ к разгадке проблемы, а вы быстрее получите ответ по существу вместо просьбы привести конфигурацию. А такая просьба неизбежно последует, если только вы не обратились в сообщество телепатов, умеющих определять вашу конфигурацию усилием мысли.
Хорошо, если вы знаете свою конфигурацию назубок. А если нет? Тогда для сбора информации о конфигурации компьютера требуется пара минут и минимум усилий. Ниже я рассакжу о том, как это сделать средствами ОС 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 . Нас, однако, интересует создание отчета, эта опция есть в меню Файл , как показано на рисунке ниже.
Синтаксис
Синтаксис конфигурационного файла однозначно определяется в терминах:
- Конфигурация — последовательность параметров
- Параметр — имя без пробельных символов со следующим за ним значением, отделенным хотя бы одним пробельным символом
- Значение — строка без пробельных символов / строка, заключенная в кавычки / вложенная конфигурация, заключенная в фигурные скобки
Конфигурация
Дополнительные ограничения / соглашения:
- Значения всех временны х параметров задаются как целые числа, единица измерения — миллисекунды — не указывается
Все FastCGI-приложения, которыми должен управлять Пускач, должны быть либо явно описаны в конфигурационном файле, либо должна быть определена конфигурация по умолчанию. Приложение описывается параметром fcgi со вложенной конфигурацией:
- req_pool_size 256
- # Команда запуска PHP-скриптов
- start_cmd
- mask *.php
- mask *.phtml
- cmd "/usr/local/bin/php-cgi -f $script_filename"
- # Конфигурация по умолчанию
- default_fcgi
- unix_socket_prefix "/tmp/puskach/site_user_fcgi_"
- io_timeout 10000
- max_processes 5
- sleep_timeout 30000
- requests_per_process 1000
- path "/usr/home/site_user/www/myscript.fcgi"
- unix_socket_prefix "/tmp/puskach/site_user_myscript_fcgi_"
- io_timeout 10000
- max_processes 1
- sleep_timeout 15000
- request_processing_timeout 10000
- requests_per_process 100
- on_abort_request_behaviour 1
req_pool_size — глобальный параметр, устанавливает размер пула запросов, находящихся в обработке, либо ждущих в очереди. При исчерпании пула запросов новые запросы от web-сервера отклоняются. Значение по умолчаню 128.
Параметры FastCGI-приложения
path — путь к FastCGI-приложению, служит для двух целей: (1) запуск приложения и (2) поиск приложения при входящем запросе от web-сервера (во входящем запросе должен передаваться FastCGI-параметр SCRIPT_FILENAME с тем же значением). Может задаваться как абсолютно, так и относительно текущей директории рабочего процесса Пускача (текущую директорию можно установить при старте Пускача в стартовом скрипте).
unix_socket_prefix — префикс имени Unix сокета, используемого для связи Пускача с копиями FastCGI-приложения. Для обеспечения неблокирующей обработки запросов Пускач поддерживает параллельную работу с несколькими процессами одного приложения, именуемыми копиями . Каждая копия слушает свой Unix-сокет, имя которого состоит из префикса и номера копии.
req_queue_len — максимальная длина очереди запросов. Если на момент прихода запроса от web-сервера не находится свободных обработчиков, запрос ставится в очередь; если очередь переполнена, запрос отклоняется. Значение по умолчанию 10.
io_timeout — таймаут ввода-вывода — максимально допустимое время между двумя операциями ВВ. Если по истечении этого времени следующей операции ВВ не последовало, обработка запроса web-сервера будет прервана, а обрабатывающая запрос копия FastCGI-приложения остановлена.
max_processes — максимальное число процессов (копий), которые могут быть параллельно запущены для данного приложения (размер пула процессов).
sleep_timeout — таймаут бездействия — максимальное время простоя копии FastCGI приложения, по истечении которого копия останавливается. Используется для освобождения ресурсов, занятых процессами, длительное время не выполняющими обработку запросов.
request_processing_timeout — таймаут обработки запроса — максимально допустимое время между запросом web-сервера и ответом приложения об окончании обработки запроса. В случае превышения таймаута обработка запроса прерывается, а копия приложения останавливается.
requests_per_process — максимальное число запросов, которое может последовательно обработать копия данного FastCGI-приложения. В случае достижения лимита копия завершается. Полезно для профилактики утечки ресурсов.
on_abort_request_behaviour — выбор поведения при прерывании обработки запроса web-сервером: 0 — корректно завершить обработку запроса, если это возможно, 1 — прервать обработку запроса копией FastCGI приложения. По умолчанию 0. Обратите внимание, что для использования значения 1 необходимо, чтобы возможность прерывания обработки запроса при получении соответсвующего сигнала была реализована в логике FastCGI приложения.
Конфигурация по умолчанию
Конфигурация по умолчанию описывается параметром default_fcgi , аналогично fcgi . В случае, если конфигурация по умолчанию не определена, Пускач будет обрабатывать только запросы, адресованные явно описанным в конфигурационном файле FastCGI-приложениям. Иначе при запросе к любому существующему приложению Пускач будет динамически описывать его, использую конфигурацию по умолчанию. Имеет смысл задавать в конфигурации по умолчанию более строгие ограничения и переопределять их для отдельных скриптов в зависимости от их специфики.
Стартовая команда
Стартовая команда определяет исполняемую программу (как правило, интерпретатор) с набором аргументов командной строки, которая может быть использована для запуска FastCGI-приложений. Путь к исполняемому файлу и аргументы задаются в обязательном параметре cmd . Сложные аргументы, содержащие пробельные символы, необходимо заключать в двойные кавычки. По умолчанию путь к запускаемому скрипту будет передан последним аргументом, для явного указания аргумента необходимо использовать макрос $script_filename .
Для ассоциации стартовой команды со скриптами используется один или более параметров mask . Маска — любая комбинация из значащих символов и служебного символа * , совпадающего в любым колическом любых символов. Для поиска стартовой команды Пускач последовательно сравнивает все маски всех стартовых команд с путем к скрипту до первого совпадения. Если в результате поиска стартовая команда не найдена, будет выполнен прямой запуск скрипта по path .
Крайне рекомендуется задавать таймаутам и лимитам адекватные реальные значения, это позволит повысить стабильность работы сервера за счет своевременной реакции на возможное зависание приложений. Все параметры нужно выставлять в соответствии со спецификой каждого приложения.
В случае изменения конфигурации для считывания актуальной версии необходим перезапуск Пускача.