Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

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

Лекция



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

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

1.1. Качество программного обеспечения

Качество программного обеспечения (ПО) может быть описано большим количеством разнородных характеристик. Необходимо учесть совокупность всех характеристик, важных для всех заинтересованных сторон. Понятие качества ПО может быть выражено некоторой структурированной системой характеристик. Такая система характеристик называется моделью качества.
В 1991 году в качестве стандартной была принята модель качества программного обеспечения, определенная международным стандартом ISO 9126. В ней оценка качества ПО основана на трехуровневом рассмотрении:
1. характеристики,
2. подхарактеристики,
3. метрики.
Стандарт ISO 9126 определяет 6 характеристик качества ПО:
1. функциональность (functionality),
2. надежность (reliability),
3. практичность или удобство использования (usability),
4. эффективность (efficiency),
5. сопровождаемость (maintainability),
6. переносимость или мобильность (portability).
Функциональность – это способность программного продукта выполнять установленные функции при определенных условиях. Функциональность определяется следующими подхарактеристиками:
1. пригодность к определенной работе(suitability),
2. точность, правильность (accuracy),
3. способность к взаимодействию (interoperability),
4. защищенность (security),
5. соответствие стандартам и правилам (compliance).
Надежность – это свойство программного продукта сохранять работоспособность (т.е. выполнять заданные функции с параметрами, установленными технической документацией) в заданных условиях. Надежность определяется следующими подхарактеристиками:
1. зрелость, завершенность (обратна к частоте отказов) (maturity),
2. устойчивость к отказам (fault tolerance),
3. способность к восстановлению работоспособности при отказах (recoverability),
4. соответствие стандартам надежности (reliability compliance).
Практичность или применяемость – это способность программного продукта быть понятным, изучаемым, применимым и привлекательным для пользователя в заданных условиях. Практичность определяется следующими подхарактеристиками:
1. понятность (understandability),
2. удобство обучения (learnability),
3. работоспособность (operability),
4. привлекательность (attractiveness),
5. соответствие стандартам практичности (usability comp-liance).
Эффективность – это свойство ПО, характеризующее соответствие используемых программным продуктом ресурсов качеству выполнения своих функций при заданных условиях.
Подхарактеристики эффективности:
1. временные характеристики (time behaviour),
2. использование ресурсов (resource utilisation),
3. соответствие стандартам эффективности (efficiency comp-liance).
Сопровождаемость – это свойство программного продукта быть модифицированным. Сопровождаемость определяется следующими подхарактеристиками:
1. анализируемость (analyzability),
2. изменяемость, удобство внесения изменений (change-ability),
3. риск возникновения неожиданных эффектов при внесении изменений или стабильность (stability),
4. тестируемость, удобство проверки (testability),
5. соответствие стандартам сопровождаемости (maintaina-bility compliance).
Переносимость – способность программного продукта быть переносимым из одной среды в другую. Переносимость определяется следующими подхарактеристиками:
1. адаптируемость (adaptability),
2. устанавливаемость, удобство установки (installability),
3. способность к сосуществованию с другим ПО (coexistence),
4. удобство замены другого ПО данным (replaceability),
5. соответствие стандартам переносимости (portability compliance).
Принятые в 2001 году части 2 и 3 стандарта ISO 9126 определяют набор метрик качества ПО. В качестве примера таких метрик приведем следующие:
1. Полнота реализации функций. Используется для измерения пригодности.
2. Корректность реализации функций. Используется для измерения пригодности.
3. Отношение числа обнаруженных дефектов к прогнозируемому. Используется для определения зрелости.
4. Отношение числа проведенных тестов к общему их числу. Используется для определения зрелости.
5. Отношение числа доступных проектных документов к указанному в их списке. Используется для измерения анализируемости.
Заметим, что третья и четвертая метрики показывают, что качество ПО зависит не только от самого ПО как объекта материального мира, но и от его восприятия заинтересованными лицами: разработчиками, пользователями, заказчиками и др. Действительно, не изменяя самого ПО, можно повысить его качество только за счет проведения некоторых еще не проведенных тестов, поскольку значение четвертой метрики при этом увеличится.

1.2. Основные способы удостоверения качества и надежности программных средств

Процессы верификации, валидации и сертификации программных средств служат для удостоверения и подтверждения их качества и надежности.
Верификация – это процесс определения того, что программное средство разработано в соответствии со всеми требованиями к нему, или что результаты очередного этапа разработки соответствуют ограничениям, сформулированным на предшествующих этапах.
Верификация является неотъемлемой частью работ при коллективной разработке ПС. При этом в задачи верификации включается контроль результатов одних разработчиков при передаче их в качестве исходных данных другим разработчикам.
Валидация — это проверка того, что сам программный продукт правилен, т.е. подтверждение того, что он действительно удовлетворяет потребностям и ожиданиям пользователей, заказчиков и других заинтересованных сторон.
Согласно стандарту IЕЕЕ 1012-1986, верификация представляет собой процесс оценивания системы или компонента с целью определить, удовлетворяют ли результаты некой фазы условиям, наложенным в начале данной фазы. Валидация в этом же стандарте определяется, как процесс оценивания системы или компонента во время или по окончании процесса разработки с целью определить, удовлетворяет ли она указанным требованиям.
Международный стандарт ISO/IEEE 0002 определяет сертификацию соответствия как действие 3-й стороны, доказывающее, что обеспечивается необходимая уверенность в том, что продукция, процесс или услуга соответствует конкретному стандарту или другому нормативному документу.
В процессе определения надежности ПС применяются следующие понятия:
Отказ – это событие, которое заключается в прекращении выполнения программным средством требуемых функций с учетом заданных ограничений. Причиной отказа, как правило, является проявление дефектов, оставшихся невыявленными.
Дефект – это программная аномалия, некорректное определение операций, процесса, данных в программе или программной спецификации.
Неисправность – это состояние, в котором программа не способна выполнять требуемые функции. Состояние неисправности возникает после возникновения отказа.
Ошибка – это действие человека, в результате которого в программное обеспечение вносится дефект.
Измерение – это процесс определения количественного или качественно значения атрибутов объекта оценки.
Показатель – это абсолютное значение атрибутов программы или процесса разработки, т. е. количественная оценка степени, в которой ПС или процесс обладает заданным свойством.
Метрика – это качественная или количественная характеристика ПО или процесса его разработки. При определении метрик важную роль играет шкала и метод измерения. Метрики позволяют оценить уровень качества и надежности программных продуктов и процессов и выявить имеющиеся проблемы.
1.3. Теория надежности программных средств

Неравномерность распределения и нестабильность появления ошибок при применении сложных программных комплексов не позволяет рассчитывать их надежность классическими методами теории надежности технических систем. Работоспособность сложных программ в реальном времени является предметом изучения теории надежности программных средств. Ее основные задачи:
1. Формулирование основных понятий, используемых при исследовании и применении показателей надежности программных средств.
2. Выявление и исследование основных факторов, определяющих характеристики надежности сложных ПС.
3. Выбор и обоснование критериев надежности для комплексов программ различного типа и назначения.
4. Об этом говорит сайт https://intellect.icu . Исследование дефектов и ошибок, а также динамики их изменения при отладке и сопровождении.
5. Исследование и разработка методов структурного построения сложных ПС, обеспечивающих им необходимую надежность.
6. Исследование методов и средств контроля и защиты от искажения программ, вычислительного процесса и данных путем использования различных видов избыточности.
7. Разработка методов и средств определения и прогнозирования характеристик надежности в жизненном цикле комплексов программ, с учетом их функционального назначения, сложности и технологии разработки.
Результаты решения этих задач являются основой для создания современных сложных ПС с заданными показателями надежности.

 

1.4. Модель анализа надежности программных средств

 

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

объектов уязвимости,

дестабилизирующих факторов и угроз надежности,

методов предотвращения угроз надежности,

методов повышения надежности.

Модель взаимодействия этих компонент представлена на рис.1.1.

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

Рисунок 1.1 – Модель анализа надежности программных средств

 

Объектами уязвимости, влияющими на надежность ПС являются:

динамический вычислительный процесс обработки данных;

информация, накопленная в базах данных;

объектный код программ, исполняемых вычислительными средствами в процессе функционирования ПС;

информация, выдаваемая потребителям.

1.5. Дестабилизирующие факторы и угрозы надежности функционирования программных средств

 

На объекты уязвимости воздействуют различные дестабилизирующие факторы, которые делятся на внутренние и внешние.

Внутренние источники угроз надежности функционирования сложных программных средств присущи самим объектам уязвимости. Ими являются:

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

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

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

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

Внешние дестабилизирующие факторы обусловлены средой, в которой функционируют объекты уязвимости. Ими являются:

ошибки персонала при эксплуатации;

искажение информации в каналах связи;

сбои и отказы аппаратуры;

изменение конфигурации аппаратуры информационных систем.

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

 

1.6. Методы предотвращения угроз надежности

 

В современных автоматизированных технологиях создания сложных ПС с позиции обеспечения их необходимой и заданной надежности можно выделить методы и средства позволяющие:

— создавать программные модули и функциональные компоненты высокого, гарантированного качества;

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

— обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла ПС;

— удостоверять достигнутые качество и надежность функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию;

— оперативно выявлять последствия дефектов программ и данных и восстанавливать нормальное, надежное функционирование комплексов программ.

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

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

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

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

Итак, основные методы предотвращения угроз надежности:

предотвращение ошибок проектирования в CАSE-технологиях;

систематическое тестирование;

обязательная сертификация

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

 

1.7. Оперативные методы повышения надежности функционирования программных средств

 

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

временная избыточность,

информационная избыточность,

программная избыточность.

Временная избыточность состоит в использовании некоторой части производительности компьютера для контроля исполнения программ и восстановления вычислительного процесса. Для этого при проектировании информационной системы должен предусматриваться запас производительности, который будет затем использоваться на контроль и оперативное повышение надежности функционирования. Величина временной избыточности зависит от требований к надежности и находится в пределах от 5-10% производительности компьютера до 3-4-кратного дублирования производительности отдельной машины в многопроцессорных вычислительных системах. Временная избыточность используется для контроля и обнаружения искажений, на их диагностику и выработку решений по восстановлению вычислительного процесса или информации, а также на реализацию операций восстановления.

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

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

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

 

 

1.8. Характеристики программных ошибок

 

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

Проявление дефектов и ошибок в разной степени влияет на работоспособность программ. По величине ущерба проявление вторичных ошибок делятся на 3 группы:

сбои, которые не отражаются на работоспособности программ, ущербом от которым можно пренебречь,

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

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

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

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

технологические ошибки подготовки данных и документации,

программные ошибки из-за неправильной записи текста программ на языке программирования и ошибок трансляции программы в объектный код,

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

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

Перечисленные ошибки различаются по частоте и методам их обнаружения на разных этапах проектирования. При автономной и в начале комплексной отладки доля системных ошибок составляет около 10%. На завершающих этапах комплексной отладки она возрастает до 35-40%. В процессе сопровождения системные ошибки являются преобладающими и составляют около 80% от всех ошибок. Частота появления вторичных ошибок при функционировании программ и частота их обнаружения при отладке зависит от общего количества первичных ошибок в программе. Наиболее доступно для измерения число вторичных ошибок в программе, выявленных в единицу времени в процессе тестирования. Возможна также регистрация отказов и искажение результатов при эксплуатировании программ.

 

1.9. Математические модели описания статистических характеристик ошибок в программах

 

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

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

потенциально возможной надежности функционирования программ в процессе испытаний и эксплуатации;

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

времени тестирования, требующегося для обнаружения следующей ошибки в функционирующей программе;

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

Построение математических моделей базируются на предположении о жесткой связи между следующими тремя параметрами:

суммарным количеством первичных ошибок в программе,

числом ошибок, выявленных в единицу времени в процессе тестирования и отладки,

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

Предполагается, что все три показателя связаны коэффициентом пропорциональности (рис.1.2).

 

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

 

Рисунок 1.2 – Суммарное число первичных ошибок (сплошная кривая), число ошибок, выявляемых в единицу времени (пунктир), интенсивность искажения результатов в единицу времени (штрих-пунктир) в зависимости от времени отладки

 

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

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

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

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

Приведенные предположения позволяют построить экспоненциальную математическую модель распределения ошибок в программах и установить связь между интенсивностью обнаружения ошибок при отладке dn/dt, интенсивностью проявления ошибок при нормальном функционировании комплекса программ l и числом первичных ошибок. Предположим, что в начале отладки комплекса программ при t=0 в нем содержалось первичных ошибок. После отладки в течение времени t осталось по первичных ошибок и устранено п ошибок (n0+n = N ). При этом время t соответствует длительности исполнения программ на компьютере для обнаружения ошибок и не учитывает время, необходимое для анализа результатов и проведения корректировок. Календарное время отладочных и испытательных работ с реальным комплексом программ больше, так как после тестирования программ, на которое затрачивается машинное время t, необходимо время на анализ результатов, на обнаружение и локализацию ошибок, а также на их устранение. Однако для определения характеристик проявления ошибок играет роль только длительность непосредственного функционирования программ на компьютере.

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

 dn/dt=K1k=Kn0=K(N0-n)  , (1.1)

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

 dn/dt + Kn = KN0  (1.2)

Так как выше предполагалось, что в начале отладки при t =0 отсутствуют обнаруженные ошибки, то решение уравнения (2) имеет вид:

n=N0 [1-exp(-Kt)]      . (1.3)

Число оставшихся первичных ошибок в комплексе программ

n0 = N0 exp(-Kt)    (1.4)

пропорционально интенсивности обнаружения dn/dt с точностью до коэффициента К.

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

     T = 1 / (dndt) = 1/KN0 * exp (Kt) (1.5)

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

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

создано: 2018-02-02
обновлено: 2024-11-13
23



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Надёжность программного обеспечения

Термины: Надёжность программного обеспечения