Лекция 8. Технология разработки программных комплексов для управления автоматическими и автоматизированными системами

Проблемы разработки ПО

Какие проблемы сопровождают реальную разработку ПО для КТАУ.

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

Современный взгляд на эту проблему – повторное использование ранее разработанных программ и программных компонент, так как это делается в электронике. Все новые и новые изделия ЭТ создаются из имеющегося набора БИС. Конечно, это сопровождается развитием этих наборов.

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

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

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

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

3. Проблема надежности ПО.

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

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

Методы борьбы с ошибками ПО имеют еще одно важнейшее направление: конструирование ПО со свойствами устойчивости к ошибкам.

4.Проблемы изменяемости ПО.

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

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

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

В настоящее время по американской статистике из-за неправильной технологии разработки ПО, низкого уровня планирования и организации работ – хаотического процесса разработки 15% всех программных продуктов так и не достигли своего завершения. А для оставшихся 85% превышение первоначально заявленной стоимости и сроков создания в 2-3 раза является обычным явлением.

Таким образом, разработка ПО требует трех знаний: знаний в предметной области, знаний в области программирования, знаний в области технологии разработки ПО.

 

Качество ПО и технология его производства. Влияние человеческого фактора.

 

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

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

 

 

Технология разработки

 

Качество ПО Качество работ, выполняемых людьми

 

 

График работ и выделенные ресурсы

 

 

Рис.1.1 Факторы, влияющие на качество ПО

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

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

-организации разработки,

-планирования разработки,

-контроля хода разработки,

-мотивации разработчиков ПО.

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

Человеческий фактор влияет на качество ПО двумя сторонами. Во первых людям свойственно ошибаться. Ошибки бывают двух видов:

ü Ошибки-промахи

ü Ошибки-заблуждения

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

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

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

Уровень знаний и опыт в области программирования.

Уровень знаний и опыт в технологии разработки ПО.

При этом приоритет отдается знаниям в предметной области. Конечно, без программирования в настоящее время ПО не создашь. Но программирование – всего лишь средство выражения идей предметной области.

 

Стандартизация характеристик качества ПО. Управление качеством ПО

 

Несмотря на огромное разнообразие программных продуктов, производимых в настоящее время и соответственно огромное количество критериев качества для них, удалось выделить некоторое количество базовых критериев качества ПО, которое легло в основу международного стандарта ИСО/МЭК 9126-92 «характеристики качества ПО» .

Качество ПО в соответствии с этим стандартом оценивается шестью базовыми характеристиками:

-функциональные возможности,

-надежность,

-эффективность,

-практичность,

-сопровождаемость,

-мобильность или переносимость на другую аппаратную платформу или в другое программное окружение прежде всего ОС.

Данный набор базовых критериев качества не лишен недостатков. Например, в нем явно не хватает требования по безопасности ПО.

В итоге процесс управления качеством ПО состоит из 5 шагов:

1.Определение критериев качества ПО и их мер с учетом конкретного назначения ПО.

2.Определение потребного уровня значений, выбранных критериев качества.

3.Определение методической базы измерения критериев качества.

4.Обеспечение качества ПО как множества процедур и стандартов и их адаптация для конкретного случая разработки ПО.

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

Функциональные возможности ПО - функциональная полнота

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

 

Безопасность и безотказность ПО.

 

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

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

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

 








Дата добавления: 2017-11-04; просмотров: 206;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.013 сек.