Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты рспс.docx
Скачиваний:
9
Добавлен:
23.09.2019
Размер:
817.89 Кб
Скачать

17) Структурный анализ требований для процедурной реализации проекта.

Качество программного средства во многом зависит от предъявляемых к его разработке требованиям.

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

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

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

Сущность структурного подхода к разработке ПО ЭИС: декомпозиция (разбиение) на автоматизируемые функции. Система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, те — на задачи и так далее до конкретных процедур.

При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны.

При разработке системы "снизу вверх", от отдельных задач ко всей системе, целостность теряется,

возникают проблемы при описании информационного взаимодействия отдельных компонентов.

Базовые принципы структурного подхода:

Принцип «разделяй и властвуй» (при проектировании сложной программной системы ее необходимо разделять на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других)

Принцип иерархического упорядочения — принцип организации составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.

Существует еще целый ряд принципов, которые нужно соблюдать, такие как:

принцип абстрагирования - выделение существенных аспектов системы и отвлечение от несущественных;

принцип непротиворечивости — обоснованность и согласованность элементов системы;

принцип структурирования данных — данные должны быть структурированы и иерархически организованы.

В структурном подходе используются в основном две группы средств, описывающих функциональную структуру системы и отношения между данными.

Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются:

DFD (Data Flow Diagrams) - диаграммы потоков данных;

SADT(Structured Analysis and Design Technique — метод структурного анализа и проектирования,) — модели и соответствующие функциональные диаграммы;

ERD (Entity-Relationship Diagrams) — диаграммы "сущность-связь".

Диаграммы потоков данных и диаграммы "сущность-связь" —наиболее часто используемые в CASE-средствах виды моделей.

Конкретный вид перечисленных диаграмм и интерпретация их конструкций зависят от стадии ЖЦ ПО

18) Sadt–диаграммы структурного анализа.

Метод SADT - совокупность правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области.

Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями.

Основные элементы этого метода основываются на следующих концепциях:

- графическое представление блочного моделирования. Функция – блок, интерфейсы входа/выхода – дуги. Взаимодействие блоков друг с другом описывается посредством интерфейсных дуг, выражающих "ограничения", которые, в свою очередь, определяют, когда и каким образом функции выполняются и управляются.

- строгость и точность (ограничение количества блоков на каждом уровне декомпозиции (3—6 ), связность диаграмм (номера блоков), уникальность меток и наименований(отсутствие повторяющихся имен), синтаксические правила для графики (блоков и дуг), разделение входов и управлений (правило определения роли данных))

- отделение организации от функции, т.е. исключение влияния административной структуры организации на функциональную модель.

Состав функциональной модели

Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как входная информация, которая подвергается обработке, показана с левой стороны блока, а результаты (выход) показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляетсядугой, входящей в блок снизу.

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

Построение иерархии диаграмм

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

Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки определяют основные подфункции исходной функции.

Данная декомпозиция выявляет полный набор подфункций, каждая из которых показана как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом в целях большей детализации.

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

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

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

Для того чтобы указать положение любой диаграммы или блокав иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок А21 на диаграмме А2.

Аналогично диаграмма А2 детализирует блок А2 на диаграмме АО, которая является самой верхней диаграммой модели.

19) DFD-диаграммы потоков данных.

Основными компонентами диаграмм потоков данных являются:

• внешние сущности;

• системы и подсистемы;

• процессы;

• накопители данных;

• потоки данных.

Внешняя сущность - материальный объект или физическое лицо, представляющие собой источник или приемник информации, например заказчики, персонал, поставщики, клиенты,

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

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

Системы и подсистемы

При построении модели сложной ЭИС она может быть представлена в самом общем виде на так называемой контекстной диаграмме в виде одной системы как единого целого либо может быть декомпозирована на ряд подсистем.

Процесс - преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом.

Номер процесса служит для его идентификации. В поле имени вводится наименование процесса в виде предложения с активным недвусмысленным глаголом в неопределенной форме.

Информация в поле физической реализации показывает, какое подразделение организации, программа или аппаратное устройство выполняет данный процесс.

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

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

Поток данных определяет информацию, передаваемую через некоторое соединение от источника к приемнику.

Поток данных на диаграмме изображается линией, оканчивающейся стрелкой, которая показывает направление потока.

Каждый поток данных имеет имя, отражающее его содержание.

Главная цель построения иерархии DFD заключается в том, чтобы сделать требования к системе ясными и понятными на каждом уровне детализации, а также разбить эти требования на части с точно определенными отношениями между ними.

Этапы DFD

Построение контекстных диаграмм

Проверить на полноту исходных данных об объектах системы и изолированность объектов (отсутствие информационных связей с другими объектами).

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

сущностями и ссылки на другие процессы для описания связей между этим процессом и его окружением. Затем все построенные диаграммы сводятся в одну диаграмму нулевого уровня.

Каждый процесс на DFD, в свою очередь, может быть детализирован при помощи DFD или (если процесс элементарный) спецификации

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

20) Объектно-ориентированное проектирование ПО — достаточно

сложный процесс, который еще больше усложняется в случае

необходимости повторного использования проектных решений.

Необходимо подобрать подходящие объекты, отнести их к различным

классам, соблюдая разумную степень детализации, определить

интерфейсы классов и иерархию наследования и установить

существенные связи между классами. Проектное решение

должно, с одной стороны, соответствовать решаемой задаче, а с

другой — быть достаточно общим, чтобы удалось учесть все требования,

которые могут возникнуть в будущем. Желательно также

избежать или, по крайней мере, свести к минимуму необходимость перепроектирования. Опытные разработчики знают, что

обеспечить «правильное», т.е. в достаточной мере гибкое и пригодное

для повторного использования решение, с первого раза

очень трудно, если вообще возможно. Прежде чем считать цель

достигнутой, они обычно пытаются опробовать найденное решение

на нескольких задачах и каждый раз модифицируют его. Целью объектно-ориентированного проектирования является

адаптация предварительного системного проекта (набора

классов «анализа»), составляющего стабильную основу архитектуры

системы, к среде реализации с учетом всех нефункциональных

требований.

Объектно-ориентированное проектирование включает два

вида деятельности:

• проектирование архитектуры системы;

• проектирование элементов системы.

Проектирование архитектуры системы выполняется архитектором

системы и включает в себя:

• идентификацию архитектурных решений и механизмов, необходимых

для проектирования системы;

• анализ взаимодействий между классами анализа, выявление

подсистем и интерфейсов;

• формирование архитектурных уровней;

• проектирование структуры потоков управления;

• проектирование конфигурации системы.

Проектирование элементов системы выполняется проектировщиками

и включает в себя:

• уточнение описания вариантов использования;

• проектирование классов;

• проектирование баз данных.