Вы находитесь на странице: 1из 4

Жизненный цикл программного обеспечения

• Жизненный цикл программного обеспечения (Software Life Cycle


Model) — это период времени, который начинается с момента
принятия решения о создании программного продукта и заканчивается
в момент его полного изъятия из эксплуатации.
• Этот цикл - процесс построения и развития ПО.
• Этапы жизненного цикла:
• Анализ требований;
• Проектирование;
• Кодирование (программирование);
• Тестирование и отладка;
• Эксплуатация и сопровождение.
В результате анализа требований получают спецификации
разрабатываемого программного обеспечения: выполняют декомпозицию и
содержательную постановку решаемых задач, уточняют их взаимодействие и
эксплуатационные ограничения.
Определение спецификации
• документ, который точно, полностью и в поддающейся проверке форме
определяет требования, устройство, поведение или другие особенности
системы, компонента, продукта, результата или услуги;
• перечисление подробностей, на которые необходимо обратить особое
внимание;
• детальная инструкция по выполнению работы или по использованию
материалов в проекте; инструкция, которая в точности описывает, как
что-то изготовить;
• документ, обеспечивающий точное описание системы для целей её
разработки или валидации (тестирования);
• документ, который полно описывает элемент проекта или его
интерфейсы в терминах требований (к функциям, производительности,
ограничениям и устройству), а также условия приемки и процедуры
проверки требований.
Спецификации требований ПО
• Типы требований:
• функциональные - описывают, что система должна делать.
Представляет собой перечень сервисов, которые должна
представлять система, причем должно быть указано, как система
реагирует на те или иные входные данные, как она ведет себя в
определенных ситуациях и т.д. В некоторых случаях
указывается, что система не должна делать.
• нефункциональные требования описывают характеристики
системы и ее окружения, а не поведение системы.
• требования предметной области. Характеризуют ту предметную
область, где будет эксплуатироваться система. Эти требования
могут быть функциональными и нефункциональными.

Формальные спецификации ПО
• Формальная спецификация – системная спецификация, записанная на
языке словарь, синтаксис и семантика которого определены формально
и основаны на математических концепциях. Здесь используется
область математики, которая называется дискретной математикой и
основывается на алгебре, теории множеств и алгебре логики.
• Формальные методы разработки ПО предполагают создание
формальной спецификации системы, анализ и доказательство
спецификации, реализация системы на основе преобразования
формальной спецификации в программы, и верификацию программы.
• В 1980-годах многие исследователи предполагали, что формальные
спецификации и формальные методы являются наиболее эффективным
методом улучшения качества ПО и даже предсказывали, что к ХХI
веку большая часть ПО будет разрабатываться с использованием
формальных методов.
Существуют два основных подхода к разработке формальной
спецификации, которые используются для написания
детализированных спецификаций сложных программных систем.
• Алгебраический подход, при котором система описывается в терминах
операций и их отношений.
• Подход, ориентированный на моделирование, при котором модель
системы строится с использованием математических конструкций,
таких как множества и последовательности, а системные операции
определяются тем, как они изменяют состояние систем
Формальные методы разработки ПО.
Если определенные требования сложно сформулировать на естественном
языке и невозможно предотвратить неправильное понимание спецификации,
следует попытаться написать эту часть требований с помощью теоретически
обоснованных формальных методов.
В качестве альтернатив можно указать одно из перечисленных ниже
формальных средств спецификаций:
 Псевдокод;
 Конечные автоматы;
 Деревья решений;
 Диаграммы деятельности;
 Модели сущность-связь;
 Объектно-ориентированные модели;

Свойства формальных спецификаций.


• Абстрактность – это отвлечение от деталей, несущественных для
поставленных целей.
• Строгость – точность и недвусмысленность описания модели.
- Строгость модели делает возможным ее объективный анализ, т.е.
воспроизводимый, выполнимый разными людьми и дающий каждый
раз одни и те же результаты.
• Формальность – дальнейшее развитие, усиление понятия строгости.
- Формальной называется модель, выраженная на языке, имеющем
точно определенные правила синтаксиса и семантики, не
допускающим неоднозначного понимания каких-то конструкций.

Использование спецификаций.

Анализ требований Для уточнения требований


Для согласования требований с заказчиком
Для построения прототипа

Проектирование Для контроля правильности проекта

Реализация Для формулирования заданий кодировщикам


Для создания документации для разработчиков

Тестирование Для проверки выполнения требований

Сопровождение Для уточнения вносимых изменений


Для поддержания документации в согласованном состоянии
Для реверс-инженерии, выяснения задач,
решаемых системой (Реверс-инженерия

Оценить