Анализ требований и определение спецификации ПО при объектном подходе
Спецификация ПО и структурные подходы
Спецификация ПО представляет собой полное и точное описание функций и ограничений разрабатываемого ПО, при этом одна часть спецификаций (функциональная) описывает функции ПО, а другая часть (эксплуатационная) определяет требования к техническим средствам, безопасности.
Классификация моделей ПО:
Диаграммы перехода состояний.
Диаграммы перехода состояний являются графической формой для представления конечного автомата – математической абстракцией, использованной для моделирования детерминированного поведения технических объектов.
На этапе анализа требований диаграмма п.с. демонстрирует поведение разрабатываемой системы при получении управляющих
воздействий. Под управляющими воздействиями понимают информацию, получаемую системой извне. В соответствии с теорией конечных автоматов для построения диаграммы необходимо определить:
Основные состояния;
Управляющие воздействия;
Выполняемые действия и возможные варианты перехода из одного состояния в другое.
Условное обозначение.
Диаграмма п.с. ПО, активно не взаимодействующего с окружающей средой:
Диаграмма п.с. ПО, активно взаимодействующего с окружающей средой:
Диаграмма п.с. ПО построения графиков, таблиц, функций
Контрольные вопросы по теме «Спецификация ПО и структурные подходы»:
1. В чем сущность структурного подхода к программированию? Какие этапы охватывает данный подход?
2. Что понимают под термином «спецификации»? В чем сложность их уточнения? Назовите модели, используемые в качестве функциональных спецификаций при структурном подходе. Какие характеристики проектируемого программного обеспечения описывает каждая из них?
3. В каких случаях целесообразно использовать диаграммы переходов состояний? Разработайте диаграмму переходов для калькулятора.
4. В чем заключается основное различие между функциональными диаграммами и диаграммами потоков данных? Постройте оба вида диаграмм для выполнения вычислений с использованием внутренней памяти калькулятора. Проанализируйте сходство и различие. В каких случаях использование диаграмм потоков данных является предпочтительным?
5. Что называют «структурами данных»? Какие данные имеются в виду? В каких случаях структуры данных необходимо описывать? Какие модели используют для описания структур данных?
UML - стандартный язык описания разработки программных продуктов с использованием объектного подхода.
В основе объектного подхода к разработке программного обеспечения лежит объектная декомпозиция, т. е. представление разрабатываемого программного обеспечения в видесовокупности объектов, в процессе взаимодействия которых через передачу сообщений ипроисходит выполнение требуемых функций.
Спецификация ПО при использовании UML объединяет несколько моделей:
¾ использования;
¾ логическую;
¾ реализации;
¾ процессов;
¾ развёртывания.
Модель использования представляет собой описание функциональности программного обеспечения с точки зрения пользователя.
Логическая модель описывает ключевые абстракции программного обеспечения (классы, интерфейсы и т. п.), т. е. средства, обеспечивающие требуемую функциональность.
Модель реализации определяет реальную организацию программных модулей в среде разработки.
Модель процессов отображает организацию вычислений и оперирует понятиями «процессы» и «нити». Она позволяет оценить производительность, масштабируемость и надежность программного обеспечения.
И, наконец, модель развертывания показывает особенности размещения программных компонентов на конкретном оборудовании.
Таким образом, каждая из указанных моделей характеризует определенный аспект проектируемой системы, а все они вместе составляют относительно полную модель разрабатываемого программного обеспечения.
Всего UML предлагает девять дополняющих друг друга диаграмм, входящих в различные модели:
• диаграммы вариантов использования;
• диаграммы классов;
• диаграммы пакетов;
• диаграммы последовательностей действий;
• диаграммы кооперации;
• диаграммы деятельностей;
• диаграммы состояний объектов;
• диаграммы компонентов;
• диаграммы размещения.
Диаграммы вариантов использования.Диаграммы вариантов использования позволяют наглядно представить ожидаемое поведение системы. Основными понятиями диаграмм вариантов использования являются: действующее лицо, вариант использования, связь.
Действующее лицо - внешняя по отношению к разрабатываемому программному обеспечению сущность, которая взаимодействует с ним с целью получения или предоставления какой-либо информации. Как уже упоминалось выше, действующими лицами могут быть пользователи, другое программное обеспечение или какие-либо технические средства, взаимодействующие с разрабатываемым программным обеспечением.
Вариант использования - некоторая очевидная для действующего лица процедура, решающая его конкретную задачу. Все варианты использования, так или иначе, связаны с требованиями к функциональности разрабатываемой системы и могут сильно отличаться по объему выполняемой работы.
Связь - взаимодействие действующих лиц и соответствующих вариантов использования. Варианты использования также могут быть связаны между собой. При этом фиксируют связи использования и расширения.
Использование подразумевает, что существует некоторый фрагмент поведения разрабатываемого программного обеспечения, который повторяется в нескольких вариантах использования. Этот фрагмент оформляют, как отдельный вариант использования и указывают связь с ним типа «использование».
Расширение применяют, если имеется два подобных варианта использования, различающиеся наличием в одном из них некоторых дополнительных действий. В этом случае дополнительные действия определяют как отдельный вариант использования, который связан с основным вариантом связью типа «расширение».
Пример: представим диаграмму вариантов использования успеваемости студентов.