tehnologia (1018792), страница 15
Текст из файла (страница 15)
Однако, как ужеупоминалось выше, доказать универсальность сравнительно сложной программы, так же,как ее правильность, невозможно, поэтому имеет смысл говорить о степени универсальностипрограммы.Практически, чем выше требования к правильности и универсальности программногообеспечения, тем выше и требования к его надежности.
Источниками помех могут являтьсявсе участники вычислительного процесса: технические средства, программные средства илюди. Технические средства подвержены сбоям, например, из-за резких скачков напряженияпитания или помех при передаче информации по сетям. Программное обеспечение можетсодержать ошибки. А люди могут ошибаться при вводе исходных данных.Современные вычислительные устройства уже достаточно надежны. Сбои техническихсредств, как правило, регистрируются аппаратно, соответственно результаты вычислений вэтом случае восстанавливаются.
В случае длительных вычислений, как правило,промежуточные результаты сохраняют (прием получил название «создание контрольныхточек»), что позволяет при возникновении сбоя продолжить вычисления с данными,записанными в последней контрольной точке.Передача информации по сетям также аппаратно контролируется, кроме того, обычноприменяется специальное помехозащитное кодирование, которое позволяет находить иисправлять ошибки передачи данных. Однако полностью исключить ошибки техническихсредств невозможно, поэтому в тех случаях, когда требования к надежности высоки, обычноиспользуют дублирование систем, при котором две системы решают одну и ту же задачупараллельно, периодически сверяя полученные результаты.Часто самым «ненадежным элементом» современных систем являются люди.
Ужехорошо известно, что в условиях монотонной работы за пультом вычислительной установкиоператоры допускают большое количество ошибок. Известны и средства, позволяющиеснизить количество ошибок в конкретных ситуациях. Так, там, где это возможно,используют ввод избыточной информации, позволяющий выполнять проверки правильностивводимых данных (ввод контрольных сумм и т.п., см.
§ 2.7). Кроме этого, широкоиспользуют всякого рода подсказки, когда информацию необходимо не вводить, а выбиратьиз некоторого списка и т.п.Повышенные требования к надежности предъявляют при разработке систем управления,функционирующих в режиме реального вычисления, когда79вычисления выполняются параллельно с технологическими процессами. Существенно этотребование и для научно-технических систем и баз данных.Для обеспечения проверяемости следует документально фиксировать исходные данные,установленные режимы и прочую информацию, которая влияет на получаемые результаты.Особенно это существенно в случаях, когда данные поступают непосредственно от датчиков.Если такие данные не выводить вместе с результатами, то последние нельзя будет проверить.Точность или величина погрешности результатов зависит от точности исходных данных,степени адекватности используемой модели, точности выбранного метода и погрешностивыполнения операций в компьютере.
Требования к точности результатов обычно наиболеежесткие для систем управления технологическими процессами (например, химическими) исистем навигации (например, система управления стыковкой космических аппаратов).Обеспечение защищенности (конфиденциальности) информации, используемойпроектируемой системой, отдельная и в условиях наличия сетей достаточно сложная задача.Помимо чисто программных средств защиты, таких как кодирование информации иидентификация пользователя, для обеспечения защищенности используют такжеспециальные организационные приемы.
Наиболее жесткие требования предъявляются ксистемам, в которых хранится информация, связанная с государственной и коммерческойтайной.Требование программной совместимости может варьироваться от возможностисовместной установки с указанным программным обеспечением до обеспечениявзаимодействия с ним, например обмена данными и т.п. Чаще всего приходитсяобеспечивать функционирование программного обеспечения под управлением заданнойоперационной системы. Однако может потребоваться предусмотреть получение данных изкакой-то программы или передачу некоторых данных ей.
В этом случае необходимо точнооговорить форматы передаваемых данных.Требование аппаратной совместимости в основном формулируют в виде минимальновозможной конфигурации оборудования, на котором будет работать программноеобеспечение. Если предполагается использование нестандартного оборудования, то для негодолжны быть указаны интерфейсы или протоколы обмена информацией. При этом дляоперационных систем класса Windows нестандартными считают устройства, для которых всистеме отсутствуют драйверы – программы, обеспечивающие взаимодействие устройства соперационной системой.Эффективность системы обычно оценивается отдельно по каждому ресурсувычислительной установки.
Часто используют следующие критерии:• время ответа системы (обычно отнесенное к быстродействию используемогооборудования) – для систем, взаимодействующих с пользователем в интерактивном режиме,и систем реального времени;80• объем оперативной памяти – для продуктов, работающих в системах с ограниченнымобъемом оперативной памяти, например MS DOS;• объем внешней памяти – для продуктов, интенсивно использующих внешнюю память,например баз данных;• количество обслуживаемых внешних устройств – для продуктов, осуществляющихинтенсивное взаимодействие с внешними устройствами, например датчиками.Требования эффективности могут противоречить друг другу. Например, чтобыуменьшить время выполнения некоторого фрагмента программы, может потребоватьсядополнительный объем оперативной памяти.Адаптируемость, по сути дела, оценивает технологическое качество программногообеспечения, поэтому оценить эту характеристику количественно практически невозможно.Можно только констатировать, что при создании продукта использованы технологии испециальные приемы, облегчающие его модернизацию.Требование повторной входимости обычно предъявляется к программномуобеспечению, резидентно загруженному в оперативную память, например драйверам.
Дляобеспечения данного требования необходимо так организовать программу, чтобы никакие еёисходные данные не затирались в процессе выполнения или восстанавливались в начале илипри завершении каждого вызова.Требование реентерабельности является более жестким, чем повторная входимость, таккак в этом случае все данные, изменяемые программой в процессе выполнения, должны бытьвыделены в специальный блок, копия которого создается для каждого процесса при вызовепрограммы.Сложность многих программных систем не позволяет сразу сформулировать четкиетребования к ним.
Обычно для перехода от идеи создания некоторого программногообеспечения к четкой формулировке требований, которые могут быть занесены втехническое задание, необходимо выполнить предпроектные исследования в областиразработки.3.3. Предпроектные исследования предметной областиЦелью предпроектных исследований является преобразование общих нечетких знанийо предназначении будущего программного обеспечения в сравнительно точные требования кнему.Существуют два варианта неопределенности:• неизвестны методы решения формулируемой задачи – такого типа неопределенностиобычно возникают при решении научно-технических задач;• неизвестна структура автоматизируемых информационных процессов – обычновстречается при построении автоматизированных систем управления предприятиями.81В первом случае во время предпроектных исследований определяют возможностьрешения поставленной задачи и методы, позволяющие получить требуемый результат, чтоможет потребовать соответствующих научных исследований как фундаментального, так иприкладного характера, разработки и исследования новых моделей объектов реального мира.Во втором случае определяют:• структуру и взаимосвязи автоматизируемых информационных процессов;• распределение функций между человеком и системой, а также между аппаратурой ипрограммным обеспечением;• функции программного обеспечения; внешние условия его функционирования иособенности его интерфейсов, как с пользователями, так и при необходимости – саппаратной частью;• требования к программным и информационным компонентам, необходимыеаппаратные ресурсы, требования к базам данных и физические характеристики программныхкомпонент.Результаты предпроектных исследований предметной области используют в процессеразработки технического задания.3.4.
Разработка технического заданияТехническое задание представляет собой документ, в котором сформулированы основныецели разработки, требования к программному продукту, определены сроки и этапыразработки и регламентирован процесс приемно-сдаточных испытаний. В разработкетехнического задания участвуют как представители заказчика, так и представителиисполнителя. В основе этого документа лежат исходные требования заказчика, анализпередовых достижений техники, результаты выполнения научно-исследовательских работ,предпроектных исследований, научного прогнозирования и т.п.На рис.