русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оценка надежности объектов при разрегулировании


Дата добавления: 2014-04-22; просмотров: 1981; Нарушение авторских прав


Сложно (зависимость от конкретных участников коллектива)

 

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

При проведении технического обслуживания РОП в момент времени t01 устанавливается равным некоторому неслучайному номинальному значению R0. При дальнейшей эксплуатации объекта РОП случайно изменяется, что можно представить полюсной случайной функцией времени R(t), все реализации которой проходят через одну неслучайную точку - "полюс" ( R0, t01). При очередном техническом обслуживании в момент времени t02 у всех эксплуатируемых объектов опять устанавливается начальное значение параметра R0 и случайный процесс разрегулирования повторяется вновь (см. рис.).

 

 

Рассмотренный процесс разрегулирования аппроксимируется известной веерной функцией с нулевым начальным рассеиванием

 

R(t) = R0 + Qt (29)

 

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

Линеаризация процесса разрегулирования осуществляется таким же образом, как и линеаризация процесса износа. Для определения оценок характеристик mq и Sq, описывающих процесс разрегулирования, необходимо хотя бы в один момент времени измерить значение РОП однотипных объектов. Кроме того, необходимо знать момент проведения (t0) и результат (R0) предыдущей регулировки при техническом обслуживании. Отметим, что на номинальные значения РОП R0 в большинстве своем устанавливаются допуски



 

 

поэтому начальные значения R0 при i-х регулировках могут отличаться в пределах допусков.

Как свидетельствует практика, значения случайной скорости изменения РОП ограничены нижним qн и верхним qв пределами:

 

 

В этом случае аргумент Q модели (29) будет иметь усеченное нормальное распределение, плотность которого имеет вид

 

 
(30)
 
 

 

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

 

 

 
(31)
 
 

 

Посредством подстановки

 

 
(32)
 
 

 

где mq , Sq - соответственно матожидание и СКО неусеченного нормального распределения скорости изменения РОП, после преобразования получаем

 

 
(33)
 
 

 

где

 

 
(34)
 
 

 

Ф(z) - нормированная функция Лапласа, определенная по (6).

Для РОП также устанавливается некоторое критическое значение Rп, при достижении которого нарушается работоспособность объекта. Случайное время достижения РОП R(t) значения Rп определяется аналогично (13):

 

 
(35)
 
 

 

Плотность распределения времени достижения РОП значения Rп при усеченном нормальном распределении (30) скорости Q с использованием (14) имеет вид, аналогичный (15):

 

 
(36)
 
 

 

при t1 t t2 , где

 

 
(37)
 
 

 

являются границами изменения времени T = {t} выхода РОП за значение Rп при возможных пределах изменения скорости Q.

Плотность распределения f[R(t)] по (36) соответствует рассмотренному ранее альфа-распределению, параметры которого по аналогии с (16), (17) следующие:

 

 
(38)
 
 

 

 
(39)
 
 

 

а нормирующий множитель с определяется согласно (33), при этом

 

 
(40)
 
 
  Идентичность рассматриваемой модели в принятой постановке с моделью оценки времени работоспособности позволяет определить время сохранения работоспособности tс= tР как интервал от момента последней регулировки РОП (принято t0i = 0) до потери работоспособности. Оценив значение tР, можно установить оптимальный, с точки зрения надежности, период технического обслуживания, связанный с регулировкой РОП. Безусловно, это лишь один аспект назначения сроков проведения профилактических работ для исследуемых объектов, поскольку на практике необходимо учитывать еще целый ряд факторов: организационных, экономических и пр. При существующем техническом обслуживании, ориентированном на календарное время, измеряя в момент проведения профилактической работы значения РОП однотипных объектов, можно проверить, не превышает ли установленный период времени tпр до следующей регулировки расчетного значения tР. Если это имеет место, то следует ограничить период tпр (принять tпр tр).     КАЧЕСТВО АСОИУ. Стандарты качества программных средств Качество - совокупность характеристик объекта, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц. В начале 1990-х, Международная Организация Стандартизации (МОС) попыталась соединить воедино различные взгляды на качество ПО в одной модели. Основным документом, регламентирующим показатели качества программных средств ранее являлся международный стандарт ISO 9126:191 «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению». Данный стандарт был впоследствии дополнен аналогичным стандартом (ISO/IEC 9126), состоящим из четырех частей, представляющих собой описание характеристик и субхарактеристик качества, внешних характеристик качества, внутренних характеристик качества и характеристик качества в использовании. Кроме того, появился еще один стандарт ISO/IEC 14598, отражающий оценку программного продукта. В стандарт ISO/IEC 9126 были введены нормативные подхарактеристики, определено качество программного продукта при использовании, процесс оценки выделился в отдельный документ, а содержание двух стандартов сделали согласованным. В серии стандартов ISP/IEC 9126 была введена иерархическая модель с шестью основными характеристиками качества, каждая из которых охватывает достаточно широкий спектр вопросов. В связи с этим они были в дальнейшем разбиты на 27 субхарактеристик, определяющих качество внутренней части системы, и 21 характеристику, определяющие внешние качества. ISP/IEC 9126-1 связана, в основном, с определением характеристик качества и субхарактеристик в конечном продукте. ISP/IEC 9126-2 приводит некоторые примеры метрик, характеризующих качество внешней части системы. ISP/IEC 9126-3 дает некоторые примеры метрик, характеризующих качество внутренней части системы. Показатели качества при использовании Процесс оценки качества включает в себя следующее: 1) установление требований оценки: - цели (приобретения, снабжения, разработки, функционирования, сопровождения); - идентификации типа продукции; - уточнения модели качества. 2) уточнение оценки: - определения ситуаций использования ПП (пользователей, целей, среды функционирования); - выбора какой-либо ситуации для оценки; - выбора показателей (измерения, эффективности, производительности, безопасности, удовлетворения); - установления критерия оценки; - интерпретации измерений. Для повышения доверия к показателям раскрыты понятия: - желательных их свойств (надёжности, указательности, доступности, стоимостной эффективности, правильности, осмысленности), - демонстрации подтверждения эффективности показателей (взаимозависимости, прослеживаемости, логичности, предсказуемости, распознаваемости), - использования показателей для прогнозирования (прогнозирования будущего и настоящего качества на основе текущих фактов), - обнаружения отклонений и некорректностей в проблеме качества компонентов, - отображения результатов измерений. Для анализа качества рекомендуется: - установить различия между средой испытаний и средой эксплуатации; - установить различия между выполнением функций на испытаниях и при фактической эксплуатации; - проанализировать состав пользователей; - оценить степень адекватности результатов между средой испытаний и средой эксплуатации; - оценить баланс в степени исследования функционирования и измерений; - установить корректность спецификаций. Каждый показатель характеризуется следующими данными: - наименованием; - назначением; - методом применения; - способом измерения, формульной зависимостью и данными, позволяющими проведение расчётов; - интерпретацией измеряемых величин; - типами размерности показателей; - типами измерения (объёмных, временных, расчётных характеристик); - исходными данными для измерений; - ссылкой на процесс жизненного цикла, определённый в ISO/IEC 12207; - полезностью для пользователя. Рассмотрим теперь более подробно показатели качества при спользовании ПО, предлагаемые в стандарте. 1. Показатели эффективности 1.1. Эффективность задачи - характеристика показывает, какая часть задачи завершилась корректно. 1.2. Полнота выполнения задачи - характеристика показывает, какая часть задачи выполнена. 1.3. Частота ошибок 1.4. Частота подсказок - метрика показывает, насколько часто были обращения к помощи (подсказкам). Характеризует интуитивную понятность программы. 2. Показатели производительности 2.1. Производительность задачи - характеристика показывает, насколько производителен пользователь, работающий с программным обеспечением. 2.2. Экономическая производительность - эффективность работы пользователя (с данным ПС) и соотношение его с затратами. 2.3. Соразмерность производительности - характеристика показывает, какая часть (доля) времени работы с ПС используется для решения задачи, т.е. «чистое» время расчета (не включая освоение ПС). 2.4. Относительная продуктивность пользователя – показатель отражает продуктивность пользователя относительно продуктивности эксперта. 3. Показатели безопасности Модель характеристик качества Стандарты определяют модель характеристик качества ПС (см. рис. 1), которая состоит из нескольких видов атрибутов качества: · внутренние атрибуты качества (требования к качеству кода и внутренней архитектуре); · внешние атрибуты качества (требования к функциональным возможностям и т.д.); · атрибуты «качества в использовании» (данные атрибуты качества относятся не только к ПС, а ко всей информационной системе, они характеризуют эффект для пользователя от использования ПС в разных контекстах использования); Рисунок 1. — Качество в жизненном цикле ПС Требования пользователя к качеству в спецификациях (см. рисунок 2) должны в процессе верификации (проверку того, что ПС разработаны в соответствии со всеми требованиями к нему или что очередной этап разработки выполнен в соответствии с ограничениями, сформулированными на предшествующих этапах ) преобразовываться в требования к внешнему качеству, а затем в требования к внутреннему качеству. Процессы реализации требований к внутреннему качеству должны обеспечивать внешнее качество, а последнее — воплощаться в качество для пользователей.   Различные подходы к качеству ПС и соответствующим метрикам качества. Характеристики качества Модель внутренних и внешних характеристик качества ПС состоит из шести групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарактеристиками: функциональная пригодность; 1. пригодностью для применения; 2. корректностью (правильностью, точностью); 3. способностью к взаимодействию; 4. защищенностью; надежность; 5. уровнем завершенности (отсутствия ошибок); 6. устойчивостью к дефектам; 7. восстанавливаемостью; 8. доступностью; 9. готовностью; эффективность; 10. временной эффективностью; 11. используемостью ресурсов; применимость; 12. понятностью; 13. простотой использования; 14. изучаемостью; 15. привлекательностью; сопровождаемость; 16. удобством для анализа; 17. изменяемостью; 18. стабильностью; 19. тестируемостью; переносимость; 20. адаптируемостью; 21. простотой установки (инсталляции); 22. сосуществованием (соответствием); 23. замещаемостью. Дополнительно каждая характеристика сопровождается субхарактеристикой — согласованностью, которая должна отражать отсутствие противоречий с прочими стандартами и нормативными документами, а также с другими показателями в этих сериях стандартов. В стандартах также определена модель характеристик качества в использовании. В этой модели используются несколько другие базовые характеристики по сравнению с моделью внутреннего и внешнего качества. Основными характеристиками качества ПС в использовании являются: · системная эффективность применения программного продукта (ПП) по назначению; · продуктивность; · безопасность; · удовлетворение требований и затрат пользователей в соответствии с целями применения ПС. ОСНОВЫ ЭРГОНОМИКИ Эргономика - это наука об оптимальной деятельности человека в конкретных условиях современного производства и построении оптимальных орудий, условий и процесса труда. Эргономика комплексно изучает человека (группу людей) в конкретных условиях его (их) деятельности, связанной с использованием технических средств. Человек, технические средства и среда рассматривается в эргономике как сложное функциональное целое, в котором ведущая роль принадлежит человеку. Эргономика является одновременно научной и проектировочной дисциплиной, т.к. в ее задачу входит разработка методов учета человеческих факторов при модернизации действующей и создание новой техники и технологии, а также соответствующих условий труда. Предметом эргономики является конкретная деятельность человека (группы людей), использующего машины (технические средства), а объектом исследования система "человек (группа людей)- машина (техническое средство)- среда". Эргономика рассматривает технический и человеческий аспекты в неразрывной связи. Стремление раскрыть закономерности этого синтеза характеризует эргономику как науку особого типа. Общая цель эргономики формулируется как единство двух аспектов исследования и проектирования: повышения эффективности деятельности и соответственно функционирования человеко-машинных систем и охраны здоровья людей, участвующих в трудовом процессе. Методической базой эргономики является системный подход. На его основании возможно использование в эргономическом исследовании методов различных наук, на стыке которых возникают и решаются качественно новые проблемы изучения систем "человек-машина". При этом происходит определенная трансформация используемых методов, приводящая к созданию новых методических приемов исследования. В эргономике используются методы исследования, сложившиеся в социологии, физиологии и гигиене труда, в функциональной анатомии, кибернетике, системотехнике и др. Оптимальные задачи эргономики Эргономические требования, требования по обитаемости и требования технической эстетике к изделиям (системам "человек-машина") должны быть направлены на повышение эффективности деятельности и сохранение здоровья оператора, команды, расчета, экипажа (далее в тексте - операторов), взаимодействующего (взаимодействующих) с изделием, за счет оптимизации: - структуры взаимодействия операторов и операторов и технических средств деятельности; - физической, информационной, психологической, умственной нагрузок на оператора; - условий деятельности, поддержания и восстановления здоровья и работоспособности операторов; - уровня профессиональной подготовки операторов. Эргономические требованиядолжны обеспечивать: • распределение функций между операторами и техническими средствами в соответствии с их преимущественными возможностями и степенью ответственности решаемых задач; • соответствие системы отбора, подготовки и организации деятельности операторов возложенным на них функциям и заданному качеству деятельности (быстродействию, точности, надежности, производительности, согласованности операторов и т.п.); • достаточность и достоверность информации о состоянии управляемого объекта, возможность предвидения направлений развития управляемого процесса, оптимальность состава, содержания, кода, темпа обновления, степени обобщения и детализации информации; • рациональную и устойчивую рабочую позу оператора, экономию физических усилий при эксплуатации, проведении профилактики и ремонта изделий, а также равномерное распределение физической нагрузки на различные части тела оператора; • быстроту и надежность запоминания и воспроизведения логики действий оператором за счет учета при компоновке элементов рабочего места принципов функционального соответствия, объединения, совмещения, последовательности расположения, важности и частоты использования средств отображения информации (СОИ) и органов управления (ОУ); • оптимальное сочетание визуальных, акустических, тактильных и других видов сигналов, их быстрое и надежное обнаружение, различение, опознание и дифференцирование в различных условиях деятельности, в том числе в условиях помех; • надежность поиска, захвата, фиксации, необходимую чувствительность и оптимальные усилия перемещения ОУ при управлении ими, а также исключение неправильных действий при работе с несколькими однотипными ОУ; • надежность обнаружения, наблюдения и рассмотрения объектов при помощи оптических приборов в условиях дня и ночи, снижение искажений изображений, защиту (включая автоматическую) органов зрения оператора от световых вспышек; • формирование и совершенствование необходимых навыков и умений оператора или группы операторов в условиях, приближенных к реальным условиям деятельности, с учетом степени ответственности предстоящей деятельности и степени влияния на обучение оператора приобретенных ранее стереотипов мышления и действий; • наглядность и иллюстративность специальной и эксплуатационной документации с учетом уровня профессиональной подготовки операторов и соответствие ее заданным условиям эксплуатации (например при повышенной влажности среды, слабой освещенности, агрессивной среде и т.п.); • удобство использования инструмента и приспособлений для профилактических и ремонтных работ с учетом экипировки и условий деятельности оператора; • удобство и надежность поддержания связи между операторами и оператором и внешними объектами с учетом воздействия шумовых помех и вибраций. Место оператора ПЭВМ в эргономической системе Независимо от степени автоматизации производства человек остается главным звеном системы «человек – машина». Именно он ставит цели перед системой, планирует, направляет и контролирует весь процесс ее функционирования. Деятельность оператора имеет ряд особенностей, определяемых тенденциями развития производства: · увеличением числа объектов, которыми необходимо управлять; · с развитием дистанционного управления человек все более удаляется от управляемых объектов. При этом он получает необходимую информацию в закодированном виде (т.е. в виде показаний измерительных приборов), что обусловливает необходимость декодирования и мыслительного сопоставления полученной информации с состоянием реального объекта; · увеличением сложности и скорости течения производственных процессов, а, следовательно, повышением требований к точности действий оператора, быстроте принятия решений и выполнения управляющих действий. Поэтому работа оператора характеризуется увеличением нагрузки на нервно-психическую деятельность человека, именно она становится критерием тяжести операторского труда; · для деятельности оператора характерно ограничение двигательной активности. Кроме того, он должен работать в условиях изоляции, в окружении приборов и индикаторов. Может возникнуть ситуация «конфликта» человека с приборами; · от оператора требуется высокая готовность к экстренным действиям. Т.е. резкий переход от монотонного наблюдения и контроля к переработке большого количества информации, принятию и осуществлению принятого решения. Это может привести к возникновению сенсорных, эмоциональных и интеллектуальных перегрузок. При изучении связей оператора с машиной необходимо иметь в виду, что они осуществляются в первую очередь через информационное взаимодействие. При этом, в самом информационном взаимодействии учитываются: · особенности функции входа, от которых зависит обеспечение ввода информации в органы чувств человека; · особенности функции управления, осуществляемые центральной нервной системой и зависящие от ее состояния; · особенности функции выхода, которые в большинстве случаев реализуются посредством сенсомоторных органов и мышечной системы человека, а также зависят от их функционального состояния. Этапы операторской деятельности Деятельность оператора в системе может быть представлена в виде четырех этапов: 1. Прием информации - обнаружение сигналов, выделение из их совокупности наиболее значимых, их расшифровка и декодирование. На этом этапе информация приводится к виду пригодному для оценки и принятия решения. 2. Оценка и переработка информации – осуществляется сопоставление заданных и текущих режимов работы системы, производится анализ и обобщение информации, выделяются критические объекты и ситуации и на основании заранее известных критериев важности и срочности определяется очередность обработки информации. 3. Принятие решения – решение о необходимых действиях принимается на основе проведенного анализа и оценки информации, а также на основе других известных сведений о целях и условиях работы системы, возможных способах действия, последствиях правильных и ошибочных решений. 4. Реализация принятого решения – осуществляется приведение принятого решения в исполнение: перекодирование принятого решения в машинный код, поиск нужного органа управления, движение руки и (или) ноги к органу управления и манипуляция с ним. Первые два этапа операторской деятельности в совокупности называют получением информации, последние два этапа – ее реализацией. На качество и эффективность выполнения каждого действия влияет целый ряд факторов. Прием информации зависит: · от вида и количества приборов; · от организации информационного поля; · от психофизиологических характеристик информации (размеров изображений, цвета, контраста и т.д.). На оценку и переработку информации влияют: · способ кодирования информации; · объем ее отображения; · динамика смены информации; · соответствие ее возможностям памяти и мышления оператора. Эффективность принятия решения определяется: · типом решаемой задачи; · числом и сложностью проверяемых логических условий; · сложностью алгоритма и количеством возможных вариантов решения. Выполнение управляющих движений зависит: · от числа органов управления; · от их типа и способа размещения; · а также от большой группы характеристик, определяющих степень удобства работы с отдельными органами управления. Эргономическое обеспечение Эргономическое обеспечение(ЭО) АИС совокупность методов и средств, предназначенных для создания оптимальных условий эффективной и безошибочной деятельности специалистов в процессе создания и функционирования АИС. В состав ЭО входит: комплекс документации, содержащей требования к рабочим местам, условиям работы персонала, программному обеспечению; набор наиболее целесообразных способов реализации этих требований и экспертиза их реализации; комплекс методов, учебно-методических материалов и технических средств, позволяющих сформулировать требования к уровню подготовки персонала. Эргономическая экспертиза Эргономическая экспертиза - комплекс научно-технических и организационно-методических мероприятий по оценке выполнения в проектных, предпроектных и рабочих документах и в образцах СЧТС эргономических требований технического задания, нормативно-технических документов, а также по разработке рекомендаций для устранения отступлений от этих требований. Указанная экспертиза проводится при обосновании выполнения каждого этапа опытно-конструкторской разработки: технического предложения, эскизного проекта, технического проекта, рабочего проекта. Материалы ее - акт либо протокол - включаются в документы, представляемые на защиту проекта.   ТЕСТИРОВАНИЕ, ВЕРИФИКАЦИЯ И ВАЛИДАЦИЯ   Верификация – это процесс определения, выполняют ли программные средства и их компоненты требования, наложенные на них в последовательных этапах жизненного цикла разрабатываемой программной системы. Основная цель верификации состоит в подтверждении того, что программное обеспечение соответствует требованиям. Дополнительной целью является выявление и регистрация дефектов и ошибок, которые внесены во время разработки или модификации программы. Верификация является неотъемлемой частью работ при коллективной разработке программных систем. При этом в задачи верификации включается контроль результатов одних разработчиков при передаче их в качестве исходных данных другим разработчикам. Для повышения эффективности использования человеческих ресурсов при разработке, верификация должна быть тесно интегрирована с процессами проектирования, разработки и сопровождения программной системы. Заранее разграничим понятия верификации и отладки. Оба этих процесса направлены на уменьшение ошибок в конечном программном продукте, однако отладка – процесс, направленный на локализацию и устранение ошибок в системе, а верификация – процесс, направленный на демонстрацию наличия ошибок и условий их возникновения. Кроме того, верификация, в отличие от отладки – контролируемый и управляемый процесс. Верификация включает в себя анализ причин возникновения ошибок и последствий, которые вызовет их исправление, планирование процессов поиска ошибок и их исправления, оценку полученных результатов. Все это позволяет говорить о верификации, как о процессе обеспечения заранее заданного уровня качества создаваемой программной системы. Жизненный цикл разработки программного обеспечения Коллективная разработка, в отличие от индивидуальной, требует четкого планирования работ и их распределения во время создания программной системы. Один из способов организации работ состоит в разбиении процесса разработки на отдельные последовательные стадии, после полного прохождения которых получается конечный продукт или его часть. Такие стадии называют жизненным циклом разработки программной системы. Как правило, жизненный цикл начинается с формирования общего представления о разрабатываемой системе и их формализации в виде требований верхнего уровня. Завершается жизненный цикл разработки вводом системы в эксплуатацию. Однако, нужно понимать, что разработка – только один из процессов, связанных с программной системой, которая также имеет свой жизненный цикл. В отличие от жизненного цикла разработки системы, жизненный цикл самой системы заканчивается выводом ее из эксплуатации и прекращением ее использования. Жизненный цикл программного обеспечения– совокупность итерационных процедур, связанных с последовательным изменением состояния программного обеспечения от формирования исходных требований к нему до окончания его эксплуатации конечным пользователем. В контексте данного курса практически не будут затрагиваться такие этапы жизненного цикла, как системная интеграция и сопровождение. Для целей курса достаточно ограничиться упрощенным представлением, что после реализации кода и доказательства его соответствия требованиям разработка ПО завершается. Модели жизненного цикла Любой этап жизненного цикла имеет четко определенные критерии начала и окончания. Состав этапов жизненного цикла, а также критерии, в конечном итоге определяющие последовательность этапов жизненного цикла, определяется коллективом разработчиков и/или заказчиком. В настоящее время существует несколько основных моделей жизненного цикла, которые могут быть адаптированы под реальную разработку. Каскадный жизненный цикл Каскадный жизненный цикл (иногда называемый водопадным) основан на постепенном увеличении степени детализации описания всей разрабатываемой системы. Каждое повышение степени детализации определяет переход к следующему состоянию разработки (Рис. 1).   Рис. 1 Каскадная модель жизненного цикла На первом этапе составляется концептуальная структура системы, описываются общие принципы ее построения, правила взаимодействия с окружающим миром – определяются системные требования. На втором этапе по системным требованиям составляются требования к программному обеспечению – здесь основное внимание уделяется функциональности программной компоненты, программным интерфейсам. Естественно, все программные комплексы выполняются на какой-либо аппаратной платформе. Если в ходе проекта требуется также разработка аппаратной компоненты, параллельно с требованиями к программному обеспечению идет подготовка требований к аппаратному обеспечению. На третьем этапе на основе требований к программному обеспечению составляется детальная спецификация архитектуры системы - описываются разбиение системы по конкретным модулям, интерфейсы между ними, заголовки отдельных функций и т.п. На четвертом этапе пишется программный код, соответствующий детальной спецификации, на пятом этапе выполняется тестирование – проверка соответствия программного кода требованиям, определенным на предыдущих этапах. Особенность каскадного жизненного цикла состоит в том, что переход к следующему этапу происходит только тогда, когда полностью завершены все работы предыдущего этапа. То есть сначала полностью готовятся все требования к системе, затем по ним полностью готовятся все требования к программному обеспечению, полностью разрабатывается архитектура системы и так далее до тестирования. Естественно, что в случае достаточно больших систем такой подход себя не оправдывает. Работа на каждом этапе занимает значительное время, а внесение изменений в первичные документы либо невозможно, либо вызывает лавинообразное изменения на всех других этапах. Как правило, используется модификация каскадной модели, допускающая возврат на любой из ранее выполненных этапов. При этом фактически возникает дополнительная процедура принятия решения. Действительно если тесты обнаружили несоответствие реализации требованиям, то причина может крыться: (а) в неправильном тесте, (б) в ошибке кодирования (реализации), (в) в неверной архитектуре системы, (г) некорректности требований к программному обеспечению и т.д. Все эти случаи требуют анализа для принятия решения о том, на какой этап жизненного цикла надо возвратиться для устранения обнаруженного несоответствия. V-образный жизненный цикл В качестве своеобразной «работы над ошибками» классической каскадной модели стала применяться модель жизненного цикла, содержащая процессы двух видов – основные процессы разработки, аналогичные процессам каскадной модели и процессы верификации, представляющие собой цепь обратной связи по отношению к основным процессам (Рис. 2).   Рис. 2 V-образный жизненный цикл   Таким образом, в конце каждого этапа жизненного цикла разработки, а зачастую и в процессе выполнения этапа, осуществляется проверка взаимной корректности требований различных уровней. Данная модель позволяет более оперативно проверять корректность разработки, однако, как и в каскадной модели предполагается, что на каждом этапе разрабатываются документы, описывающие поведение всей системы в целом. Спиральный жизненный цикл Оба рассмотренных типа жизненных циклов предполагают, что заранее известны все требования пользователей или, по крайней мере, предполагаемые пользователи системы настолько квалифицированы, что могут высказывать свои требования к будущей системе, не видя ее перед глазами. Естественно, такая картина достаточно утопична, поэтому постепенно появилось решение, исправляющее основной недостаток V-образного жизненного цикла – предположение о том, что на каждом этапе разрабатывается очередное полное описание системы. Этим решением стала спиральная модель жизненного цикла (Рис. 3). Рис. 3 Спиральный жизненный цикл В спиральной модели разработка системы происходит повторяющимися этапами – витками спирали. Каждый виток спирали – один каскадный или V-образный жизненный цикл. В конце каждого витка получается законченная версия системы, реализующая некоторый набор функций. Затем она предъявляется пользователю, на следующий виток переносится вся документация, разработанная на предыдущем витке, и процесс повторяется. Таким образом, система разрабатывается постепенно, проходя постоянные согласования с заказчиком. На каждом витке спирали функциональность системы расширяется постепенно дорастая до полной. Экстремальное программирование Реалии последних лет показали, что для систем, требования к которым изменяются достаточно часто, необходимо еще больше уменьшить длительность витка спирального жизненного цикла. В связи с этим сейчас стали весьма популярными быстрые жизненные циклы разработки, например жизненный цикл в методологии eXtreme Programming (XP). Основная идея жизненного цикла экстремального подхода – максимальное укорачивание длительности одного этапа жизненного цикла и тесное взаимодействие с заказчиком. По сути, на каждом этапе происходит реализация и тестирование одной функции системы, после завершения которых, система сразу передается заказчику на проверку или эксплуатацию. Основная проблема данного подхода – интерфейсы между модулями, реализующими эту функцию. Если во всех предыдущих типах жизненного цикла интерфейсы достаточно четко определяются в самом начале разработки, поскольку заранее известны все модули, то при экстремальном подходе интерфейсы проектируются «на лету», вместе с разрабатываемыми модулями. Сравнение различных типов жизненного цикла и вспомогательные процессы Особенности рассмотренных выше типов жизненного цикла сведены в таблицу 1. Из нее можно видеть, что различные типы жизненных циклов применяются в зависимости от планируемой частоты внесения изменений в систему, сроков разработки и ее сложности. Жизненные циклы с более короткими фазами больше подходят для разработки систем, требования к которым еще не устоялись и вырабатываются во взаимодействии с заказчиком системы во время ее разработки.   Таблица 1 Сравнение различных типов жизненного цикла
Тип жизненного цикла
 
Длина
цикла
 
Верификация и внесение изменений
 
Интеграция отдельных компонент системы
 
 
Каскадный
 
Все этапы разработки системы. Длинный
 
В конце разработки всей системы. Редко.
 
Четко определенные до начала кодирования интерфейсы.
 
 
V
-образный
 
Все этапы разработки си
стемы. Длинный
 
В конце полной разработки каждого из этапов системы. Средне.
 
Редко изменяемые интерфейсы.
 
 
Спиральный
 
Разработка одной версии системы. Средний.
 
В конце разработки каждого из этапов версии системы. Средне.
 
Периодически изменяемые интерфейсы,
редко меняемые в пределах версии.
 
 
XP
 
Разработка одной истории. Короткий.
 
В конце разработки каждой истории. Очень часто
 
Часто изменяемые интерфейсы.
 
 
  В приведенном выше описании различных моделей жизненного цикла по сути затрагивался только один процесс – процесс разработки системы. На самом деле в любой модели жизненного цикла можно увидеть четыре вида процессов:   1. Основной процесс разработки 2. Процесс верификации 3. Процесс управления разработкой 4. Вспомогательные (поддерживающие) процессы   Процесс верификации – процесс, направленный на проверку корректности разрабатываемой системы и определения степени ее соответствия требованиям заказчика. Подробному рассмотрению этого процесса и посвящен данный учебный курс. Процесс управления разработкой – отдельная дисциплина, на управление очень сильно влияет тип жизненного цикла основного процесса разработки. По сути, чем короче один этап жизненного цикла, тем активнее управление, и тем больше задач стоит на менеджере проекта. При классических схемах достаточно просто построить иерархическую пирамиду подчиненности, у которой каждый нижестоящий менеджер отвечает за разработку определенной части системы. В XP-подходе нет жесткого разделения системы на части и менеджер должен охватывать все истории. При этом процесс управления активен на протяжении всего жизненного цикла основного процесса разработки. Вспомогательные (поддерживающие) процессы обеспечивают своевременное создание всего, что может понадобиться разработчику или конечному пользователю. Сюда входит подготовка пользовательской документации, подготовка приемо-сдаточных тестов, управление конфигурациями и изменениями, взаимодействие с заказчиком и т.д. Вообще говоря, вспомогательные процессы могут существовать в течение всего жизненного цикла разработки, а могут быть своеобразными стыкующими звеньями между процессом разработки и процессом эксплуатации. В конце данного курса особое внимание будет уделено наиболее значимым поддерживающим процессам - процессу управления конфигурациями и процессу обеспечения гарантии качества. Основная цель процесса управления конфигурациями – обеспечение целостности всех данных, возникающих в процессе коллективной разработки. Под целостностью понимается, прежде всего, идентифицируемость, доступность этих данных в любой момент времени и недопущение несанкционированных изменений. Важным аспектом при этом становится процесс управления изменениями данных, т.е. планирование и утверждение любых изменений в проектную документацию или программный код, а также определение области влияния этих изменений. Процесс гарантии качества обеспечивает проведение проверок, гарантирующих, что процесс разработки удовлетворяет набору определенных требований (стандартов), необходимых для выпуска качественной продукции. Фактически он проверяет, что все предусмотренные стандартами разработки процедуры выполняются и при выполнении соблюдаются декларированные для них правила. Нужно особо отметить, что процесс гарантии качества не гарантирует разработку качественной программной системы. Он гарантирует только лишь, что процессы разработки построены и выполняются таким образом, чтобы не снижать качество продукции. Требования, предъявляемые к организации работы, необходимой для выпуска качественной продукции, оформлены в виде стандартов качества. Наиболее часто цитируемая и известная группа стандартов качества – серия стандартов ISO 9000. В дополнение к ним существует стандарт, содержащий требования к жизненному циклу разработки ПО – ISO 12207. В реальной практике сейчас наиболее широко применяется стандарт ISO 12207, в отечественных госструктурах используются стандарты серии ГОСТ 34. Стандарты комплекса ГОСТ 34 на создание и развитие АС - обобщенные, но воспринимаемые как весьма жесткие по структуре ЖЦ и проектной документации. Международный стандарт ISO/IEC 12207 на организацию жизненного цикла продуктов программного обеспечения (ПО) – содержит общие рекомендации по организации жизненного цикла, не постулируя при этом его жесткой структуры. Современные технологии разработки программного обеспечения: Microsoft Solutions Framework Microsoft Solutions Framework (MSF) - это методология ведения проектов и разработки решений, базирующаяся на принципах работы над продуктами самой фирмы Microsoft, и предназначенная для использования в организациях, нуждающихся в концептуальной схеме для построения современных решений. Microsoft Solutions Framework является схемой для принятия решений по планированию и реализации новых технологий в организациях. MSF включает обучение, информацию, рекомендации и инструменты для идентификации и структуризации информационных потоков бизнес-процессов и всей информационной инфраструктуры новых технологий. Microsoft Solutions Framework представляет собой хорошо сбалансированный набор методик организации процесса разработки, который может быть адаптирован под потребности практически любого коллектива разработчиков. MSF содержит не только рекомендации общего характера, но и предлагает адаптируемую модель коллектива разработчиков, определяющую взаимоотношения внутри коллектива, гибкую модель проектного планирования, основанного на управлении проектными группами, а также набор методик для оценки рисков. В момент подготовки данного учебного курса последней версией MSF была 3.1, при этом существовали документы, относящиеся к версии 4.0 beta. MSF состоит из двух моделей: · модель проектной группы; · модель процессов; · и трех дисциплин: · управление проектами; · управление рисками; · управление подготовкой. В MSF нет роли «менеджер проекта» и иерархии руководства, управление разработкой распределено между руководителями отдельных проектных групп внутри коллектива, выполняющих следующие задачи: · Управление программой · Разработка · Тестирование · Управление выпуском · Удовлетворение потребителя · Управление продуктом Жизненный цикл процессов в MSF сочетает водопадную и спиральную модели разработки: проект реализуется поэтапно, с наличием соответствующих контрольных точек, а сама последовательность этапов может повторяться по спирали (Рис. 4). Рис. 4 Жизненный цикл в MSF При таком подходе от водопадной модели берется простота планирования, от классической спиральной – легкость модификаций. При этом благодаря промежуточным контрольным точкам и обратной спирали верификации облегчается взаимодействие с заказчиком. При управлении проектом четко ставится цель, которую необходимо достичь в результате и учитываются ограничения, накладываемые на проект. Все виды ограничений могут быть отнесены к одному из трех видов: ограничения ресурсов, ограничения времени и ограничения возможностей. Эти три вида ограничений и приоритетность задач по их преодолению образую треугольник приоритетов в MSF (Рис. 5).   Рис. 5 Треугольник приоритетов в MSF Треугольник приоритетов является основой для матрицы компромиссов – заранее утвержденных представлений о том, какие аспекты процесса разработки будут четко заданы, а какие будут согласовываться или приниматься как есть. Microsoft выпустила среду разработки, в полной мере поддерживающей основные идеи MSF – Microsoft Visual Studio 2005 Team Edition. Это первый программный комплекс, представляющий собой не среду разработки для индивидуальных членов коллектива, а комплексное средство поддержки коллективной работы. В состав Visual Studio Team Edition входит специальная редакция для тестировщиков – Team Edition for Software Testers (Рис. 6). Материалы семинарских занятий по данному курсу ориентированы на эту среду разработки, в то время как лекционные материалы ориентированы на изложение общих принципов и методик тестирования.   Рис. 6 Структура Microsoft Visual Studio 2005 Team System Rational Unified Process Rational Unified Process – это методология создания программного обеспечения, оформленная в виде размещаемой на Web базы знаний, которая снабжена поисковой системой. Продукт Rational Unified Process (RUP) разработан и поддерживается Rational Software. Он регулярно обновляется с целью учета передового опыта и улучшается за счет проверенных на практике результатов. RUP обеспечивает строгий подход к распределению задач и ответственности внутри рганизации-разработчика. Его предназначение заключается в том, чтобы гарантировать создание точно в срок и в рамках установленного бюджета качественного ПО, отвечающего нуждам конечных пользователей. RUP способствует повышению производительности коллективной разработки и предоставляет лучшее из накопленного опыта по созданию ПО, посредством руководств, шаблонов и наставлений по пользованию инструментальными средствами для всех критически важных работ, в течение жизненного цикла создания и сопровождения ПО. Обеспечивая каждому члену группы доступ к той же самой базе знаний, вне зависимости от того, разрабатывает ли он требования, проектирует, выполняет тестирование или управляет проектом - RUP гарантирует, что все члены группы используют общий язык моделирования, процесс, имеют согласованное видение того, как создавать ПО. В качестве языка моделирования в общей базе знаний используется Unified Modeling Language (UML), являющийся международным стандартом. Особенностью RUP является то, что в результате работы над проектом создаются и совершенствуются модели. Вместо создания громадного количества бумажных документов, RUP опирается на разработку и развитие семантически обогащенных моделей, всесторонне представляющих разрабатываемую систему. RUP – это руководство по тому, как эффективно использовать UML. Стандартный язык моделирования, используемый всеми членами группы, делает понятными для всех описания требований, проектирование и архитектуру системы. RUP поддерживается инструментальными средствами, которые автоматизируют многие элементы процесса разработки. Они используются для создания и совершенствования различных промежуточных продуктов на различных этапах процесса создания ПО, например, при визуальном моделировании, программировании, тестировании и т.д. RUP – это конфигурируемый процесс, поскольку, вполне понятно, что невозможно создать единого руководства на все случаи разработки ПО. RUP пригоден как для маленьких групп разработчиков, так и для больших организаций, занимающихся созданием ПО. В основе RUP лежит простая и понятная архитектура процесса, которая обеспечивает общность для целого семейства процессов. Более того, RUP может конфигурироваться для учета различных ситуаций. В его состав входит Development Kit, который обеспечивает поддержку процесса конфигурирования под нужды конкретных организаций. RUP описывает, как эффективно применять коммерчески обоснованные и практически опробованные подходы к разработке ПО для коллективов разработчиков, где каждый из членов получает преимущества от использования передового опыта в: · итерационной разработке ПО, · управлении требованиями, · использовании компонентной архитектуры, · визуальном моделировании, · тестировании качества ПО, · контроле за изменениями в ПО. RUP организует работу над проектом в терминах последовательности действий (workflows), продуктов деятельности, исполнителей и других статических аспектов процесса с одной стороны, и в терминах циклов, фаз, итераций и временных отметок завершения определенных этапов в создании ПО (milestones), т.е. в терминах динамических аспектов процесса, с другой. eXtreme Programming Экстремальное программирование – сравнительно молодая методология разработки программных систем, основанная на постепенном улучшении системы и разработки ее очень короткими итерациями. По своей сути экстремальное программирование (XP) - это одна из так называемых "гибких" методологий разработки ПО, представляющая собой небольшой набор конкретных правил, позволяющих максимально эффективно выполнять требования современной теории управления программными проектами. XP ориентирована на: · командную работу с тесными связями внутри команды и с заказчиком, · разработку наиболее простых работающих решений, · гибкое адаптивное планирование · оперативную обратную связь (путем модульного и функционального тестирования). Основными принципами XP является разработка небольшими итерациями на основании порции требований заказчика (т.н. пользовательских историй), написание функциональных тестов до написания программного кода, постоянное общение и постоянный рефакторинг кода. Основными практиками XP являются · Планирование процесса · Частые релизы · Метафора системы · Простая архитектура · Тестирование · Рефакторинг · Парное программирование · Коллективное владение кодом · Частая интеграция · 40-часовая рабочая неделя · Стандарты кодирования · Тесное взаимодействие с заказчиком Сравнение технологий MSF, RUP и XP Основные особенности MSF, RUP и XP можно свести в небольшую таблицу (Таблица 2). По ней можно судить, что Rational Unified Process является хорошо сбалансированным решением для средних по размерам коллективов разработчиков, работающих с применением продуктов и технологий компании Rational. Сопровождение разработки системы и самой системы регламентируется самой методологией RUP, однако данная технология достаточно сильно ориентирована на внутрифирменные инструментальные средства. Extreme Programming хорошо подходит для проектных групп малого размера и для небольших систем с часто изменяемыми требованиями. Основная проблема XP – сопровождаемость. В случае текучки кадров в коллективе разработчиков значительная часть проектной информации может быть утеряна из-за практически отсутствующей документации.   Таблица 2 Технологии MSF, RUP и XP
Технология
 
Оптимальная команда
 
Соответствие стандартам
 
Допустимые
технологии
и инструменты
 
Удобство модификации и сопровождения
 
 
Rational Unified Process
 
10 – 40
чел.
 
стандарты
Rational
 
UML
и
продукты
Rational
 
Удобно
 
(
RUP
)
 
 
Microsoft Solutions Framework
 
3
– 20 чел.
 
адаптируема
 
любые
 
Удобно
(MSF+MOF)
 
 

2 – 10 чел.

стандарты отсутствуют

XP

любые

 

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

 

<== предыдущая лекция | следующая лекция ==>
Определение времени сохранения работоспособности | Ролевой состав коллектива разработчиков, взаимодействие между ролями в различных технологических процессах


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.105 сек.