Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Организационные процессы жизненного цикла программного обеспечения




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

Рис. 2.15. Схема процесса управления

 

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

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

- составление графиков выполнения работ;

- оценку затрат;

- выделение требуемых ресурсов;

- распределение ответственности;

- оценку рисков, связанных с конкретными задачами;

- создание инфраструктуры управления.

 

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

Рис. 2.16. Схема процесса создания инфраструктуры

 

Процесс усовершенствованияпредусматривает оценку, измерение, контроль и усовершенствование процессов ЖЦ ПО (рис. 2.17).

Рис. 2.17. Схема процесса усовершенствования

 

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

 

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



Рис. 2.18. Схема процесса обучения

 

 

Основные понятия и показатели надежности программных средств

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- выявление и исследование основных факторов, определяющих характеристики надежности сложных программных комплексов;

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

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

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

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

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

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

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

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

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


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал