Автор работы: Пользователь скрыл имя, 07 Января 2011 в 16:56, реферат
При разработке и использовании ПС мы многократно имеем дело [35, с. 22-28] с преобразованием (переводом) информации из одной формы в другую (см. рис. 2.1). Заказчик формулирует свои потребности в ПС в виде некоторых требований. Исходя из этих требований, разработчик создает внешнее описание ПС, используя при этом спецификацию (описание) заданной аппаратуры и, возможно, спецификацию базового программного обеспечения. На основании внешнего описания и спецификации языка программирования создаются тексты программ ПС на этом языке. По внешнему описанию ПС разрабатывается также и пользовательская документация. Текст каждой программы является исходной информацией при любом ее преобразовании, в частности, при исправлении в ней ошибки.
В рамках водопадного подхода различают следующие стадии жизненного цикла ПС (см. рис. 3.1): разработку ПС, производство программных изделий (ПИ) и эксплуатацию ПС.
Стадия разработки ПС {software development) состоит из этапов его внешнего описания, конструирования ПС, кодирования (программирование в узком смысле) ПС и аттестации ПС. Всем этим этапам сопутствуют процессы документирования и управления ПС {software management). Этапы конструирования и кодирования часто перекрываются, иногда довольно сильно. Это означает, что кодирование некоторых частей программного средства может быть начато до завершения этапа конструирования.
Этап внешнего описания ПС включает процессы, приводящие к созданию документа, который мы будем называть внешним описанием ПС {software requirements document). Этот документ является описанием поведения ПС с точки зрения внешнего по отношению к нему наблюдателя с фиксацией требований относительно его качества. Внешнее описание ПС начинается с анализа и определения требований к ПС со сто-
роны пользователей (заказчика), а также включает процессы спецификации этих требований.
Рис. 3.1. Структура жизненного цикла ПС
Конструирование ПС {software design) охватывает процессы: разработку архитектуры ПС, разработку структур программ ПС и их детальную спецификацию.
Кодирование ПС {software coding) включает процессы создания текстов программ на языках программирование, их отладку с тестированием ПС.
На этапе аттестации ПС {software certfication) производится оценка качества ПС. Если эта оценка оказывается приемлемой для практического использования ПС, то разработка ПС считается законченной. Это обычно оформляется в виде документа, фиксирующего решение комиссии, проводящей аттестацию ПС.
Программное изделие (ПИ) - экземпляр или копия разработанного ПС. Изготовление ПИ - это процесс генерации и/или воспроизведения (снятия копии) программ и программных документов ПС с целью их поставки пользователю для применения по назначению. Производство ПИ - это совокупность работ по обеспечению изготовления требуемого количества ПИ в установленные сроки [22]. Стадия производства ПИ в жизненном цикле ПС является, по существу, вырожденной (не сущест-
венной), так как представляет собой рутинную работу, которая может быть выполнена автоматически и без ошибок. Этим она принципиально отличается от стадии производства различной техники, поэтому в литературе эту стадию, как правило, не включают в жизненный цикл ПС.
Стадия эксплуатации ПС охватывает процессы хранения, внедрения и сопровождения ПС, а также транспортировки и применения ПИ по своему назначению. Она состоит из двух параллельно проходящих фаз: фазы применения ПС и фазы сопровождения ПС [44, 65].
Применение ПС (software operation) - это использование ПС для решения практических задач на компьютере путём выполнения его программ.
Сопровождение ПС (software maintenance) - это процесс сбора информации о качестве ПС в эксплуатации, устранения обнаруженных в нём ошибок, его доработки и модификации, а также извещения пользователей о внесённых в него изменениях [22, 44, 65].
3.3. Понятие качества программного средства
Каждое ПС должно выполнять определённые функции, т. е. делать то, что задумано. Хорошее ПС должно обладать еще целым рядом свойств, позволяющим успешно его использовать в течение длительного периода, т. е. обладать определённым качеством. Качество (quality) ПС - это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданным потребностям пользователей [59]. Из этого определения не следует, что разные ПС должны обладать одной и той же совокупностью таких свойств с их наилучшими показателями, поскольку улучшение одного из таких свойств ПС часто может быть достигнуто лишь ценой изменения стоимости, сроков завершения разработки и ухудшения других свойств этого ПС. Качество ПС является удовлетворительным, когда оно обладает указанными свойствами в такой степени, в какой гарантируется успешное его использование.
Совокупность свойств, которая образует удовлетворительное для пользователя качество ПС, зависит от условий и характера эксплуатации этого ПС, т. е. от позиции, с которой должно рассматриваться качество этого ПС. Поэтому при описании качества ПС должны быть фиксированы критерии отбора требуемых свойств ПС. В настоящее время критериями качества ПС (criteria of software quality) принято считать [7, 30,49,59,63]:
• лёгкость применения,
• надёжность,
• функциональность,
• эффективность,
• сопровождаемость,
• мобильность.
Функциональность (functionality) ПС - это способность ПС выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей. Этот набор определяется во внешнем описании ПС.
Надёжность ПС подробно обсуждалась в первой главе.
Лёгкость применения (easy of use) ПС - это характеристики ПС, позволяющие минимизировать усилия пользователя по подготовке исходных данных, применению ПС и оценке полученных результатов, а также вызывающие положительные эмоции определённого или подразумеваемого пользователя.
Эффективность (efficiency) ПС - это отношение уровня услуг, предоставляемых ПС пользователю при заданных условиях, к объёму используемых ресурсов.
Сопровождаемость (maintainability) ПС - это характеристики ПС, которые позволяют минимизировать усилия по внесению изменений для устранения в нём ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей.
Мобильность (portability) ПС - это способность ПС быть перенесённым из одной среды применения в другую, в частности, с одного компьютера на другой.
Функциональность и надёжность являются обязательными критериями качества ПС, причем обеспечение надёжности будет красной нитью проходить по всем этапам и процессам разработки ПС. Остальные критерии используются в зависимости от потребностей пользователей в соответствии с требованиями к ПС. Обеспечение этих критериев будет обсуждаться в подходящих частях книги.
3.4. Обеспечение надёжности - основной мотив разработки программных средств
Рассмотрим теперь общие принципы обеспечения надёжности ПС, что является основным мотивом разработки ПС, задающим специфиче-
скую окраску всем технологическим процессам разработки ПС. В технике известны четыре подхода обеспечению надёжности [35]:
• предупреждение ошибок,
• самообнаружение ошибок,
• самоисправление ошибок,
• обеспечение устойчивости к ошибкам.
Целью подхода предупреждения ошибок - не допустить ошибок в готовых продуктах (в нашем случае - в ПС) или хотя бы свести их количество к минимуму. Проведенное рассмотрение природы ошибок при разработке ПС позволяет для достижения этой цели сконцентрировать внимание на следующих вопросах:
• упрощение создаваемой ПС,
• обеспечение точности перевода,
•
преодоление барьера между
• обеспечение контроля принимаемых решений.
Этот подход связан с организацией процессов разработки ПС, т. е. с технологией программирования. И хотя, как мы уже отмечали, гарантировать отсутствие ошибок в ПС невозможно, но в рамках этого подхода можно достигнуть приемлемого уровня надёжности ПС.
Остальные
три подхода связаны с
бавление в программу дополнительных фрагментов приводит к ее усложнению (иногда - значительному), что в какой-то мере мешает методам предупреждения ошибок.
3.5. Методы упрощения создаваемой ПС
Мы уже обсуждали в главе 2 сущность вопроса упрощения систем при разработке ПС. Известны два общих метода упрощения систем:
•
обеспечения независимости
• использование в системах иерархических структур.
Обеспечение
независимости компонент
3.6. Обеспечение точности перевода
Обеспечение точности перевода направлено на достижение однозначности интерпретации документов различными разработчиками, а также пользователями ПС. Это требует при переводе информации придерживаться определённых правил (определённой дисциплины). Май-ере предлагает использовать общую дисциплину решения задач, рассматривая перевод как решение задачи [35]. Лучшим руководством по решению задач он считает книгу Пойа «Как решать задачу» [38]. В соответствии с этим весь процесс перевода можно разбить на следующие этапы:
• обеспечение понимания задачи;
• составление плана (включая цели и методы решения);
• выполнение плана (с проверкой правильности каждого шага);
• анализ полученного решения.
Подробно обсуждать этот вопрос мы здесь не будем.
3.7. Преодоление барьера между пользователем и разработчиком
Как обеспечить, чтобы ПС выполняла то, что пользователю разумно ожидать от нее? Для этого разработчикам необходимо правильно понять, во-первых, чего хочет пользователь, и, во-вторых, знать его уровень подготовки и окружающую его обстановку. Ясное описание соответствующей сферы деятельности пользователя или интересующей его проблемной области во многом облегчает достижение разработчиками этой цели. При разработке ПС следует привлекать пользователя для участия в процессах принятия решений, а также тщательно освоить особенности его работы (лучше всего - побывать в его "шкуре").
3.8. Контроль принимаемых решений
Обязательным шагом в каждом процессе (этапе) разработки ПС должна быть проверка правильности принятых решений. Это позволит обнаруживать и исправлять ошибки на самой ранней стадии после её возникновения, что существенно снижает стоимость её исправления и повышает вероятность правильного её устранения.
С учётом специфики разработки ПС необходимо применять везде, где это возможно,
• смежный контроль,
• сочетание как статических, так и динамических методов контроля.
Смежный контроль означает, проверку полученного документа лицами, не участвующими в его разработке, с двух сторон: во-первых, со стороны автора исходного для контролируемого процесса документа, и, во-вторых, лицами, которые будут использовать полученный документ в качестве исходного в последующих технологических процессах. Такой контроль позволяет обеспечивать однозначность интерпретации полученного документа.
Сочетание статических и динамических методов контроля означает, что нужно не только контролировать документ как таковой, но и проверять, какой процесс обработки данных он описывает. Это отражает одну из специфических особенность ПС (статическая форма, динамическое содержание).
Вопросы к главе 3
3.1. Что такое жизненный цикл ПС1
3.2. Что такое внешнее описание ПС1
Информация о работе Неправильный перевод информации как причина ошибок в программных средствах