Функциональная схема программного обеспечения

Функциональная схема программного обеспечения

В этом методе разбиение сложной системы на несколько подсистем получило название «разделяй и властвуй» (divide et impera), иерархическая или функциональная декомпозиция и др. При этом базовыми принципами являются:

a) «разделяй и властвуй»;

b) Проектирование «сверху вниз» — от общей постановки задачи к отдельным подзадачам и т.д.;

c) принцип иерархического упорядочения, который предполагает объединение составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.

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

Структурная схема разрабатываемого программного обеспечения

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

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

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

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

Рис. 4.1. Пример структурной схемы программного комплекса.

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

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


Метод пошаговой детализации реализует нисходящий подход и базируется на основных конструкциях структурного программирования. Он предполагает пошаговую разработку алгоритма, как показано на рисунке 4.3. Каждый шаг при этом включает разложение функции на подфункции. Так на первом этапе описывают решение поставленной задачи, выделяя общие подзадачи. На следующем аналогично описывают подзадачи, формулируя при этом элементы следующего уровня. Таким образом, на каждом шаге происходит уточнение функций проектируемого программного обеспечения. Процесс продолжают, пока не доходят до подзадач, алгоритмы, решения которых очевидны.

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

Читайте также:  Почему не запускается фотошоп

Функциональная схема или схема данных (ГОСТ 19. 701-90) — схема взаимодействия компонентов программного обеспечения с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств. Для изображения этих схем используют специальные обозначения, установленные стандартом.

Функциональные схемы более информативны, чем структурные. На рис. 4.4 для сравнения приведены функциональные схемы программных комплексов и систем.


б)

Рис. 4.4. Примеры функциональных схем: а — комплекс программ, б — программная система.

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

Структурное проектирование использует три основных вида моделей (диаграмм):

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

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

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

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

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

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


Рис. 4.6

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

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

a) внешние сущности;

b) системы и подсистемы;

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

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

Подсистема (см. рис. 4.8) или процесс (рис. 4.9) представляются прямоугольником с закругленными краями. Он содержит три поля:

c) Физической реализации.

Подсистема и процесс отличаются именем. В первой записывается название подсистемы, а во втором – глагол, определяющий, что делает процесс.

Рис. 4.8. ГНИ – Государственная налоговая инспекция

Накопитель данных — это абстрактное устройство для хранения информации. Он изображается, как показано на рис. 4.10. Его обозначение начинается с буквы D.

Читайте также:  Поддержка otg как узнать

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

Пример диаграммы потоков данных приведен на рис. 4.11.

Более сложная диаграмма потоков данных приведена на рис. 4.12.

ER-диаграммы будут рассмотрены позднее.

В курсовом проекте, кроме функциональной диаграммы, необходимо представить схемы алгоритмов наиболее сложных функций (например, сортировки и поиска).

Последнее изменение этой страницы: 2016-08-01; Нарушение авторского права страницы

Функциональная схема (ГОСТ 19.701—90) — это схема взаимодействия компонентов программного обеспечения с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств [1]. Для изображения функциональных схем используют специальные обозначения, установленные стандартом (табл. 4.1).

Таблица 4.1. Обозначения элементов функциональных схем

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

Оперативное запоминающее устройство

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

Запоминающее устройство с прямым доступом

Для обозначения таблиц и других структур данных, хранящихся на магнитных дисках

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

Для обозначения ручного ввода данных с клавиатуры

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

Функциональные схемы более информативны, чем структурные. На рис. 4.2 приведена функциональная схема программно-

Рис. 4.2. Пример функциональной схемы программного комплекса

го комплекса, реализующего различные методы сортировки массивов.

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

Рисунок 2.1 — Структурная схема программы

Функциональная схема — документ, разъясняющий процессы, протекающие в отдельных функциональных цепях изделия (установки) или изделия в целом. Функциональная схема является экспликацией отдельных видов процессов, протекающих в целостных функциональных блоках и цепях устройства. На рис.2.2 представлена функциональная схема разработанной программы.

Рисунок 2.2 — Функциональная схема программы

Объявление модуля:

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

Стандартные модули языка Delphi. В состав среды Delphi входит великолепный набор модулей, возможности которых удовлетворят даже самого привередливого программиста. Все модули можно разбить на две группы: системные модули и модули визуальных компонентов.

К системным модулям относятся System, SysUtils, ShareMem, Math. В них содержатся наиболее часто используемые в программах типы данных, константы, переменные, процедуры и функции. Модуль System — это сердце среды Delphi; содержащиеся в нем подпрограммы обеспечивают работу всех остальных модулей системы. Модуль System подсоединяется автоматически к каждой программе и его не надо указывать в операторе uses.

Читайте также:  Yota точка доступа mms

Модули визуальных компонентов (VCL — Visual Component Library) используются для визуальной разработки полнофункциональных GUI-приложений — приложений с графическим пользовательским интерфейсом (Graphical User Interface). Эти модули в совокупности представляют собой высокоуровневую объектно-ориентированную библиотеку со всевозможными элементами пользовательского интерфейса: кнопками, надписями, меню, панелями и т.д. Кроме того, модули этой библиотеки содержат простые и эффективные средства доступа к базам данных. Данные модули подключаются автоматически при помещении компонентов на форму.

procedure TForm2.Button1Click(Sender: TObject);

Эта процедура осуществляет закрытие титульного и листа и выход из программы.

procedure TForml.Button2Click(Sender: TObject);

Эта процедура открывает главное меню программы и убирает с экрана титульный лист.

procedure TForm2.Button1Click(Sender: TObject);

Эта процедура открывает окно с выбором метода решения транспортной задачи и убирает с экрана окно меню.

procedure TForm2.Button2Click(Sender: TObject);

Эта процедура открывает окно содержащие информацию о разработанной программе и убирает с экрана окно меню.

procedure TForm2.Button3Click(Sender: TObject);

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

procedure TForm2.Button4Click(Sender: TObject);

Эта процедура открывает окно о разработчике, и убирает окно меню.

procedure TForm2.Button5Click(Sender: TObject);

Эта процедура закрывает окно меню и выходит из программы.

procedure TForm3.Button1Click(Sender: TObject);

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

procedure TForm3.Button3Click(Sender: TObject);

Эта процедура закрывает окно с решениями транспортной задачи тремя методами и выводит на экран форму с решением задачи методом минимальной стоимости:

procedure TForm3.Button4Click(Sender: TObject);

Эта процедура закрывает окно с решениями транспортной задачи тремя методами и выводит на экран форму с решением задачи методом двойного предпочтения:

procedure TForm2.Button2Click(Sender: TObject);

procedure TForm2.Button3Click(Sender: TObject);

procedure TForm2.Button4Click(Sender: TObject);

Эти процедуры позволяют пользователю отправиться из главного меню в любой пункт программы: «Форма решения», «Руководство пользователя», «Сведения о разработчике», «Выход».

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

procedure TForm4.Label2Click(Sender: TObject);

procedure TForm4.Label3Click(Sender: TObject);

procedure TForm4.Label4Click(Sender: TObject);

procedure TForm4.Label5Click(Sender: TObject);

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

procedure TForm1.Button8Click(Sender: TObject);

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

procedure TForm1.Button9Click(Sender: TObject);

Эта процедура выводит ответ в текстовом поле.

procedure TForm1.Button2Click(Sender: TObject);

Эта процедура заполняет поля ввода исходными данными в соответствии с заданием на курсовой проект.

procedure TForm3.Button4Click(Sender: TObject);

procedure TForm4.Button1Click(Sender: TObject);

Эти процедуры закрывают окно с и выводит на экран форму с выбором пункта меню.

Эта процедура очищает поля ввода и вывода, освобождает переменные от значения, которое в них хранится.

Ссылка на основную публикацию
Форге оф импаерс великие строения
Другое название: Кузница Империй Ниже мы приводим подробный гайд по игре Forge of Empires с советами как вам быстрее отстроить...
Троттлинг процессора что это
Простой компьютерный блог для души) Всем привет. Сегодня мы затронем тему процессоров, а если быть точнее, то такое явление как...
Троянские программы и хакерские утилиты
В данную категорию входят программы, осуществляющие различные несанкционированные пользователем действия: сбор информации и ее передачу злоумышленнику, ее разрушение или злонамеренную...
Форза хорайзен 3 список машин
Серия игр Forza всегда поражала количеством доступных автомобилей. На момент выхода игры доступно уже более 150 автомобилей, а разработчики обещают...
Adblock detector