Отделение информатики

Анализ требований и определение спецификаций ПО

admin

АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПО
Процесс проектирования программных продуктов начинается с определения требований к разра-батываемому программному

обеспечению и его исходных данных. В результате анализа требований по-лучают спецификации программного обеспечения в виде текстовых описаний, структурных схем и диа-грамм. В процессе определения спецификаций строят общую модель предметной области и конкретизи-руют основные функции программного продукта и его поведение при взаимодействии с окружающей средой.
Определение требований к программным продуктам
Один из наиболее ответственных этапов создания программного продукта — этап постановки за-дачи. На этом этапе принимаются важные решения относительно функций создаваемого ПО, эксплуата-ционных ограничений, накладываемых на него. Производится выбор архитектуры, среды разработки ПО, интерфейса пользователя и др. От этого выбора будет зависеть качество и стоимость конечного про-граммного продукта.
1. Функциональные требования
Функциональные требования описывают сервисы, предоставляемые программной системой, ее поведение в определенных ситуациях, реакцию на те или иные входные данные и действия, которые сис-тема позволит выполнять пользователям. Иногда сюда добавляются сведения о том, чего система делать не должна.
Каждый программный продукт предназначен для выполнения определенных функций. Для того чтобы определить, подходит та или иная программа для решения задач, необходимо иметь четкий набор критериев, на основании которого можно сделать правильный выбор.
При написании функциональных требований необходимо учитывать, что чем они будут подробнее, тем более точная оценка работ по срокам и стоимости будет произведена перед разработкой технического задания на создание программного обеспечения. Если на дальнейших этапах разработки ПО не возникнет
дополнений к изначально сформулированным функциональным требованиям, то эта оценка будет доста-точно точной. В то же время при описании требований не надо углубляться в какие-то мелкие детали. Необходимо описывать именно функции программы, а не то, какую кнопочку надо нажать в верхнем левом углу окна программы, чтобы получить результат. Такие детали должны быть подробно проработаны уже в процессе разработки технического задания.
Функциональные требования документируются в спецификации требований к программному обеспечению, где описывается как можно более полно ожидаемое поведение системы.
Необходимо, чтобы функциональная спецификация программного средства была математически точной. Желательно даже, чтобы при ее разработке применялись математические методы и формализо-ванные языки. Она должна базироваться на четких понятиях и утверждениях, однозначно понимаемых разработчиками и заказчиками программного продукта.
Функциональная спецификация состоит из трех частей:
1. Описание внешней информационной среды, с которой будет взаимодействовать разрабатывае-мое программное обеспечение. Должны быть определены все используемые каналы ввода и вывода и все информационные объекты, к которым будет применяться разрабатываемое ПС, а также существенные связи между этими информационными объектами.
2. Определение функций программного обеспечения, определенных на множестве состояний этой информационной среды. Вводятся обозначения всех определяемых функций, специфицируются их вход-ные данные и результаты выполнения, с указанием типов данных и заданий всех ограничений, которым должны удовлетворять эти данные и результаты. Определяется содержание каждой из этих функций.
3. Описание исключительных ситуаций, если таковые могут возникнуть при выполнении про-грамм, и реакций на эти ситуации, которые должны обеспечить соответствующие программы. Должны быть перечислены все существенные случаи, когда программное обеспечение не сможет нормально вы-полнить ту или иную свою функцию. Для каждого такого случая должна быть определена реакция про-граммы.

2. Эксплуатационные требования
Эксплуатационные требования определяют характеристики разрабатываемого программного обес-печения, проявляемые в процессе его использования. К таким характеристикам относят [1]:
• правильность — функционирование в соответствии с техническим заданием. Это требование является обязательным для всякого программного продукта, но поскольку никакое тестирование не дает гарантии 100%-ной правильности, речь может идти об определенной вероятности наличия ошибок. Веро-ятность сбоя системы управления космическими полетами должна быть близка к нулю;
• универсальность — обеспечение правильной работы при любых допустимых данных и защиты от неправильных данных. Так же как в предыдущем случае, доказать универсальность программы невоз-можно, поэтому имеет смысл говорить о степени ее универсальности;
• надежность (помехозащищенность) — обеспечение полной повторяемости результатов, т. е. обеспечение их правильности при наличии различного рода сбоев. Источниками помех могут являться технические и программные средства, а также люди, работающие с этими средствами. В настоящее время существует достаточное количество способов избежать потерь информации при сбоях. Например, прием «создания контрольных точек», при котором сохраняются промежуточные результаты, что позволяет по-сле сбоя программы продолжить работу с данными, записанными в последней контрольной точке. Воз-можно также уменьшить количество ошибок, используя дублирование систем или ввод избыточной ин-формации;
• проверяемость — возможность проверки получаемых результатов. Для этого необходимо доку-ментально фиксировать исходные данные, установленные режимы и другую информацию, которая влияет на получаемые результаты. Особенно это сказывается, когда сигналы поступают непосредственно от датчиков;
• точность результатов — обеспечение погрешности результатов не выше заданной. Величина погрешности зависит от точности исходных данных, степени адекватности используемой модели, точно-сти выбранного метода и погрешности выполнения операций в компьютере. Жесткие требования к точности предъявляют системы навигации (например, система стыковки космических аппаратов) и системы управления технологическими процессами;
• защищенность — обеспечение конфиденциальности информации. Наиболее жесткие требова-ния предъявляются к системам, в которых хранится информация, связанная с государственной и коммер-ческой тайной. Для обеспечения защиты информации используют программные, криптографические, правовые и другие методы;
• программная совместимость — возможность совместного функционирования с другим про-граммным обеспечением. Чаще всего в данном случае речь идет о функционировании программы под управлением заданной операционной системы. Однако может потребоваться обмен данными с некоторой другой программой. В этом случае точно оговаривается формат передаваемых данных;
• аппаратная совместимость — возможность совместного функционирования с некоторым обо-рудованием. Это требование формулируют в виде минимально возможной конфигурации оборудования, на котором будет работать данное программное обеспечение. Если предполагается использование нестан-дартного оборудования, то для него должны быть описаны интерфейсы;
• эффективность — использование минимально возможного количества ресурсов технических средств (например, времени микропроцессора, объема оперативной памяти, объема внешней памяти, ко-личества внешних устройств и др.). Эффективность оценивается по каждому ресурсу отдельно, поэтому требования эффективности часто противоречат друг другу. Например, чтобы уменьшить время выполне-ния программы, необходимо увеличить объем оперативной памяти;
• адаптируемость — возможность быстрой модификации с целью приспособления к изменяю-щимся условиям функционирования. Оценить эту характеристику количественно практически невоз-можно. Можно только констатировать, что при разработке данного ПО использовались приемы, облег-чающие его модернизацию;
• повторная входимость — возможность повторного выполнения без перезагрузки с диска. Дан-ное требование обычно предъявляется к программному обеспечению, резидентно загруженному в опера-тивную память (например, драйверы);
• реентерабельность — возможность «параллельного» использования несколькими процессами. Чтобы удовлетворить этому требованию, необходимо создавать копию данных, изменяемых програм-мой, для каждого процесса.
Четко сформулировать спецификации требований к разрабатываемому ПО, чтобы затем занести их в техническое задание, — достаточно сложная и ответственная задача, которая требует проведения препроектных исследований.

3. Выбор архитектуры программного обеспечения
В технологии программирования нет четкого определения архитектуры ПО. Приведем некоторые из встречающихся в литературе.
Архитектурой программного обеспечения называют совокупность базовых концепций (принци-пов) его построения.
Архитектура ПС — это его строение, как оно видно (или должно быть видно) извне его, т. е. представление ПС как системы, состоящей из некоторой совокупности взаимодействующих подсистем [37].
Архитектура программы или компьютерной системы — это структура или структуры системы, которые включают элементы программы, видимые извне свойства этих элементов и связи между ними.
Архитектура — это структура организации и связанное с ней поведение системы. Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы.
Архитектура программного обеспечения системы или набора систем состоит из всех важных про-ектных решений по поводу структур программы и взаимодействий между этими структурами, которые составляют системы. Проектные решения обеспечивают желаемый набор свойств, которые должна под-держивать система, чтобы быть успешной. Проектные решения предоставляют концептуальную основу для разработки системы, ее поддержки и обслуживания.
Как мы видим, выбор архитектуры разр

Комментарии (5)

фв
фвы

den.voyt.98@mail.ru
Весьма интересно \"(<;:^-^:;)>''/

den.voyt.98@mail.ru

den.voyt.98@mail.ru

den.voyt.98@mail.ru

Добавить комметарий

Email:


Отделение информатики

ГБПОУ Сибайский педагогический колледж

факс: (8-34775) 3-38-30

телефон: (8-34775) 3-57-19

Наш адрес: 453830, Республика Башкортостан, г. Сибай, ул. Маяковского, 18

Наш e-mail (колледжа): Sibped@rambler.ru

Вход в панель управления

Забыли пароль?