Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
A_Kpo.pdf
Скачиваний:
157
Добавлен:
10.06.2015
Размер:
1.82 Mб
Скачать

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

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

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

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

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

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

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

4. Характеристики качества ПО

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

Определение критериев качества ПО и их мер.

6

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

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

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

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

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

Стехнической точки зрения верификация является неотъемлемыми элементами деятельности по обес-

печению качества.

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

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

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

надежность,

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

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

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

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

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

[Введите текст]

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

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

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

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

Технология разработки ПО оказывает значительное влияние на его качество.

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

С влиянием человеческого фактора все ясно – человеку свойственно ошибаться в том числе не выполнять установленные предписания и правила.

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

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

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

8

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

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

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

ганизации в нем фрагментов «аварийной защиты».

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

6. Системный подход к разработке ПО. Временной и "пространственный " аспекты системного подхода

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

Системный подход во времени рассматривается от момента формирования неудовлетворенной потребности в ПО до момента её разрешения.

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

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

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

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

[Введите текст]

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]