Файл: Программа, комплекс программ, программное средство, программное обеспечение, программный продукт. Концепция программного изделия непосредственная производительная сила,.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 304
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
наиболее эффективных решений;
• требование точности означает, что спецификации должны однозначно восприниматься как
заказчиком, так и разработчиком.
Последнее требование выполнить достаточно сложно в силу того, что естественный язык для описания спецификаций не подходит: даже подробные спецификации на естественном языке не обеспечивают необходимой точности. Точные спецификации можно определить, только
разработав некоторую формальную модель разрабатываемого программного обеспечения.
Формальные модели, используемые на этапе определения спецификаций можно разделить на
две группы: модели, зависящие от подхода к разработке (структурного или объектно-
ориентированного), и модели, не зависящие от него.
В рамках структурного подхода на этапе анализа и определения спецификаций используют
три типа моделей: ориентированные на функции, ориентированные на данные и ориентированные
на потоки данных. Каждую модель целесообразно использовать для своего специфического класса
программных разработок.
Все функциональные спецификации описывают одни и те же характеристики разрабатываемого ПО: перечень функций и состав обрабатываемых данных. Они различаются только системой приоритетов (акцентов), которая используется разработчиком в процессе анализа требований и определения спецификаций. Диаграммы переходов состояний определяют основные аспекты поведения ПО во времени, диаграммы потоков данных - направление и структуру потоков данных, а концептуальные диаграммы классов - отношение между основными понятиями предметной
области.
Поскольку разные модели описывают проектируемое ПО с разных сторон, рекомендуется использовать сразу несколько моделей и сопровождать их текстами: словарями, описаниями и т.п., которые поясняют соответствующие диаграммы.
Так методологии структурного анализа и проектирования, основанные на моделировании
потоков данных, обычно используют комплексное представление проектируемого программного
обеспечения в виде совокупности моделей:
• диаграмм потоков данных (DFD), описывающих взаимодействие источников и потребителей информации через процессы, которые должны быть реализованы в системе;
• диаграмм «сущность-связь» (ERD), описывающих базы данных разрабатываемой системы;
• диаграмм переходов состояний (STD),характеризующих поведение системы во времени;
• спецификаций процессов;
• словаря терминов.
Спецификации процессов. Спецификации процессов обычно представляют в виде краткого
текстового описания, схем алгоритмов, псевдокодов, Flow-форм или диаграмм Насси-Шнейдермана. Поскольку описание процесса должно быть кратким и понятным как разработчику,
так и заказчику, для их спецификации чаще всего используют псевдокоды.
Словарь терминов. Словарь терминов представляет собой краткое описание основных понятий, используемых при составлении спецификаций. Он должен включать определение основных понятий предметной области, описание структур элементов данных, их типов и форматов, а также всех сокращений и условных обозначений. Он предназначен для повышения степени понимания предметной области и исключения риска возникновения разногласий при обсуждении моделей между заказчиками и разработчиками.
Диаграммы переходов состояний
Диаграмма переходов состояний является графической формой предоставления конечного автомата - математической абстракции, используемой для моделирования детерминированного
поведения технических объектов или объектов реального мира.
На этапе анализа требований и определения спецификаций диаграмма переходов состояний
демонстрирует поведение разрабатываемой программной системы при получении управляющих
воздействий. Под управляющими воздействиями или сигналами в данном случае понимают
управляющую информацию, получаемую системой извне. Например, управляющими воздействиями считают команды пользователя и сигналы датчиков, подключенных к компьютерной системе. Получив такое управляющее воздействие, разрабатываемая система должна выполнить определенные действия и или остаться в том же состоянии, или перейти в другое состояние взаимодействия с внешней средой.
Для построения диаграммы переходов состояний необходимо в соответствии с теорией
конечных автоматов определить: основные состояния, управляющие воздействия (или условия
перехода), выполняемые действия и возможные варианты переходов из одного состояния в другое.
Условные обозначения, используемые при построении диаграмм переходов состояний,:
Если программная система в процессе функционирования активно не взаимодействует с
окружающей средой (пользователем или датчиками), то диаграмма переходов состояний обычно интереса не представляет. В этом случае она демонстрирует только
последовательно выполняемые переходы: из исходного состояния в состояние ввода данных,
затем после выполнения вычислений - в состояние вывода и, наконец, в состояние завершения
работы.
Для интерактивного программного обеспечения с развитым пользовательским интерфейсом
основные управляющие воздействия - команды пользователя, для программного обеспечения
реального времени — сигналы от датчиков и/или оператора производственного процесса. Общим
для этих типов программного обеспечения является наличие состояния ожидания, когда
программное обеспечение приостанавливает работу до получения очередного управляющего
воздействия.
-
Метод функционального моделирования SADT: функциональная модель SADT, стандарт IDEFO;синтаксис и семантика моделей IDEFO: действия-функции; стрелки входа, управления, выхода, механизма исполнения; комбинированные стрелки, разбиение и соединение стрелок; туннели.
Функциональными называют диаграммы, в первую очередь отражающие взаимосвязи функций
разрабатываемого программного обеспечения.
SADT (Structured Analysis and Design Technique – технология структурного анализа и проектирования) разработана в 1973 г., Д. Россом.
Методология SADT предполагает, что модель может основываться либо на функциях системы, либо на ее предметах (данных, оборудовании, информации и т. п.). В обоих
случаях используют схожие графические нотации, но в первом случае блок соответствует
функции, а во втором — элементу данных. Соответствующие модели принято называть активностными моделями и моделями данных. Полная модель включает построение обеих моделей, обеспечивающих более полное описание программного обеспечения, однако широкое
распространение получили только активностные (функциональные) модели. На основе методологии SADT в дальнейшем была построена известная методология описания сложных систем IDEFO (Icam DEFinition - нотация ICAM), которая является основной частью программы ICAM (интегрированная компьютеризация производства),проводимой по инициативе ВВС США.
Каждый блок такой диаграммы соответствует некоторой функции, для которой должны быть определены: исходные данные, результаты, управляющая информация и механизмы ее осуществления — человек или технические средства.
Все связи функции представляются дугами, причем тип связи и ее направление строго регламентированы. Дуги, изображающие каждый тип связей, должны подходить к блоку с определенной стороны, а направление связи должно указываться стрелкой в конце дуги.
Блоки на диаграмме размещают по «ступенчатой» схеме в соответствии с последовательностью их работы или доминированием, которое понимается как влияние, оказываемое одним блоком на другие. В функциональных диаграммах SADT различают пять типов влияний блоков друг на друга:
• вход - выход блока подается на вход блока с меньшим доминированием, т. е. следующего
• управление - выход блока используется как управление для блока с меньшим доминированием (следующего);
• обратная связь по входу - выход блока подается на вход блока с большим доминированием
(предыдущего);
• обратная связь по управлению — выход блока используется как управляющая информация
для блока с большим доминированием (предыдущего);
• выход-исполнитель - выход блока используется как механизм для другого блока.
Дуги могут разветвляться и соединяться вместе различными способами. Разветвление означает, что часть или вся информация может использоваться в каждом ответвлении дуги. Дуга всегда помечается до ветвления, чтобы идентифицировать передаваемый набор данных. Если ветвь дуги после ветвления непомечена, то непомеченная ветвь содержит весь набор данных. Каждая метка ветви уточняет, что именно содержит данная ветвь.
Построение иерархии функциональных диаграмм ведется поэтапно с увеличением уровня
детализации: диаграммы каждого следующего уровня уточняют структуру родительского блока.
Построение модели начинают с единственного блока, для которого определяют исходные данные,
результаты, управление и механизмы реализации. Затем он последовательно детализируется с
использованием метода пошаговой детализации. При этом рекомендуется каждую
функцию представлять не более чем 3—7-ю блоками. Во всех случаях каждая подфункция
может использовать или продуцировать только те элементы данных, которые использованы
или продуцируются родительской функцией, причем никакие элементы не могут быть опущены,
что обеспечивает непротиворечивость построенной
Стрелки, приходящие с родительской диаграммы или уходящие на нее
, нумеруют, используя: символы и числа. Символ обозначает тип связи: I -входная, С - управляющая, М - механизм, R - результат. Число - номер связи по соответствующей стороне родительского блока, считая сверху вниз и слева направо.
Все диаграммы связывают друг с другом иерархической нумерацией блоков: первый уровень -
АО, второй - А1, А2 и т. п., третий - All, A12, А13 и т. п., где первые цифры — номер
родительского блока, а последняя — номер конкретного субблока родительского блока.
Детализацию завершают после получения функций, назначение которых хорошо понятно как заказчику, так и разработчику. Эти функции описывают, используя естественный язык или
псевдокоды. В процессе построения иерархии диаграмм фиксируют всю уточняющую информацию и строят словарь данных, в котором определяют структуры и элементы данных, показанных на диаграммах.
Таким образом, в результате получают спецификацию, которая состоит из иерархии
функциональных диаграмм, спецификаций функций нижнего уровня и словаря, имеющих ссылки
друг на друга.
Понятие связные стрелки используются для управления уровнем детализации диаграмм. Если одна из стрелок диаграммы отсутствует на родительской диаграмме и не связана с другими стрелками той же диаграммы, точка входа этой стрелки на диаграмму или выхода с нее обозначается туннелем.
-
Построение моделей IDEFO: диаграммы, нумерация блоков и диаграмм, границы моделирования, наименование контекстного блока; типы связей между функциями: случайная, логическая, временная, процедурная, коммуникационная, последовательная, функциональная; дерево модели, презентационные диаграммы (FEO-диаграммы).
Служебная информация состоит из хорошо выделенных верхнего и нижнего колонтитулов (заголовка и "подвала"). Элементы заголовка используются для отслеживания процесса создания модели. Элементы "подвала" отображают наименование модели, к которой относится диаграмма, и показывают ее расположение относительно других диаграмм модели.
2.2.5 Границы моделирования
Одним из положительных результатов построения функциональных моделей оказывается прояснение границ моделирования системы в целом и ее основных компонентов. Хотя и предполагается, что в процессе работы над моделью будет происходить некоторое изменение границ моделирования, их вербальное (словесное) описание должно поддерживаться с самого начала для обеспечения координации работы участвующих в проекте аналитиков. Как и при определении цели моделирования, отсутствие границ затрудняет оценку степени завершенности модели, поскольку границы моделирования имеют тенденцию к расширению с ростом размеров модели. Границы моделирования имеют два компонента: ширину охвата и глубину детализации. Ширина охвата обозначает внешние границы моделируемой системы. Глубина детализации определяет степень подробности, с которой нужно проводить декомпозицию функциональных блоков. Чтобы облегчить правильное определение границ моделирования при разработке моделей IDEFO, существенные усилия затрачиваются на разработку и рецензирование контекстной диаграммы IDEFO (диаграммы "самого верхнего" уровня). Иногда даже прибегают к построению дополнительной диаграммы для отображения уровня, более высокого, чем контекстный, для данной модели, что позволяет обозначить систему, внутри которой располагается объект для моделирования. Существенные затраты на разработку контекстной диаграммы вполне оправданы, поскольку она является своего рода "точкой отсчета" для остальных диаграмм модели и вносимые в нее изменения каскадом отражаются на все лежащие ниже уровни. Когда границы моделирования понятны, становятся ясными и причины, по которым некоторые объекты системы не вошли в модель.