Смекни!
smekni.com

Ассиметричное шифрование на базе эллиптических кривых (стр. 2 из 10)

В начале построим дерево целей нашего проекта, которое приведено на рис. 1.

Рис.1. Дерево целей


Таблица 1. Описание дерева целей

Наименование подцелей Показатель достижения цели
Цель: Разработать надежный ПП
Обеспечить строгое и наглядное описание проектируемой системы Строгая последовательность действий
Повышение точности описания предметной области Разработка ПП отвечающего стандартам ANSIX9.63 и IEEEP1363
Повышение качества создаваемого программного кода Использование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кода
Повышение качества тестирования ПП Использование эталонных тестовых вариантов и зарубежных открытых исходных кодов
Обеспечение контроля ввода данных Предоставление вариантов для выбора при вводе данных
Цель: Разработать удобный ПП
Обеспечить простой диалог пользователя с ПП Наличие дружественно графического интерфейса пользователя
Обеспечить приемлемую скорость работы Время ответа по любой из наиболее часто встречающихся операций не превышает 2 секунд
Обеспечить помощь пользователю в процессе работы с ПП Наличие встроенной системы контекстной помощи
Облегчить ввод данных Вводимые данные генерирует система, все меню выполнены в классическом Win стиле
Обеспечить простоту освоения ПП Ориентировка ПП на пользователя не имеющего профессиональных знаний в области вычислительной техники
Цель: Разработать технически эффективный ПП
Обеспечить возможность использования РС с процессором средней производительности Уровень производительности центрального процессора рабочей станции
Обеспечить возможность использования рабочей станции с небольшой ОП Количество оперативной памяти на рабочей станции
Цель: Разработать адаптируемый ПП
Обеспечить возможность перевода ПП под управление других ОС Поддерживаемое количество ОС
Обеспечить возможность простого перехода к использованию другого источника данных Использование промежуточного уровня при организации доступа к источнику данных

1.3.2 Требования по надежности

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

Можно выделить два основных аспекта надежности:

· Наличие в готовом программном продукте ошибок

· Готовность программного продукта к могущим возникнуть исключительным (нештатным) ситуациям

Первый аспект в свою очередь можно разделить на два:

· Ошибки возникающие на этапе проектирования ПП

· Ошибки возникающие на этапе кодирования

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

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

Второй аспект подразделяется на:

· непредусмотренных действий пользователя;

· недопустимых сочетаний исходных данных;

· влияние операционного окружения.

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

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

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

Для оценки требований надежности с точки зрения обеспечения поставленной цели выберем следующие показатели:

· Разработка функциональной модели изучая уже имеющиеся аналоги, различные стандарты;

· Использование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кода;

· Использование эталонных тестовых вариантов;

· Ограничение возможных действий пользователя и проверка вводимых данных;

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

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

1.3.3 Технические требования

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

Для оценки технической эффективности с точки зрения обеспечения поставленной цели выберем следующие показатели:

· Производительность ЦП рабочей станции;

· Количество оперативной памяти установленной на рабочей станции.

программный шифрование криптография эллиптический

1.3.4 Требования по адаптивности

Уровень адаптивности ПП определяет его подготовленность к возможным изменениям. Необходимость в изменении может возникнуть в следующих случаях:

· Выявлено несоответствие между реализованным и реальным алгоритмом функционирования создаваемой системы;

· Возникла необходимость в переносе ПП под другое операционное окружение;