Технология разработки программного обеспечения

Структурный подход к программированию
Стадия «Технический проект»

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

Оборудование:

  1. Персональный компьютер
  2. ПО: Microsoft Office

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Составляющие технического проекта

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

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

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

Технический проект программной системы подробно описывает:

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

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

При разработке технического проекта оформляются:

  • ведомость технического проекта - общая информация по проекту;
  • пояснительная записка к техническому проекту - вводная информация, позволяющая ее потребителю быстро освоить данные по конкретному проекту;
  • описание систем классификации и кодирования;
  • перечень входных данных (документов) - перечень информации, которая используется как входяший поток и служит источником накопления;
  • перечень выходных данных (документов) - перечень информации, которая используется для анализа накопленных данных;
  • описание используемого программного обеспечения - пере¬чень программного обеспечения и СУБД, которые планируется использовать для создания информационной системы;
  • описание используемых технических средств - перечень аппаратных средств, на которых планируется работа проектируемого программного продукта;
  • проектная оценка надежности системы - экспертная оценка надежности с выявлением наиболее благополучных участков программной системы и ее узких мест;
  • ведомость оборудования и материалов - перечень оборудования и материалов, которые потребуются в ходе реализации проекта.

Структурная схема

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

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

Рисунок 1 - Структурная схема ПП

Функциональная схема

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

Разработка алгоритмов

Метод пошаговой детализации реализует нисходящий подход к программированию и предполагает пошаговую разработку алгоритма.

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

Любой алгоритм можно представить в виде одного предписания - в виде постановки задачи.

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

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

Достоинства метода пошаговой детализации:

  1. Сохраняется концептуальная целостность программы: от сложного к простому.
  2. Проектирование программы, кодирование, проверку и документирование можно делать параллельно.
  3. В каждый момент времени (даже в начале разработки) имеется работающий вариант программы.
  4. Фразы естественного языка, будучи закомментированными, служат хорошим путеводителем по программе.

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

При разработке алгоритмов обычно используют метод пошаговой детализации (поэтапно):

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

Структурные карты

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

Техника структурных карт Джексона основана на методе структурного программирования Джексона, который выявляет соответствие между структурой потоков данных и структурой программы. Основное внимание в методе сконцентрировано на соответствии входных и выходных потоков данных.

Описание функциональной схемы программного продукта

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

Функциональная схема - вид графической модели изделия. Их использование и построение позволяет наглядно отразить устройство функциональных (рабочих) изменений, описание которых оперирует любыми (в том числе и несущественными) микросхемами, БИС и СБИС. Поскольку функциональные схемы не имеют собственной системы условных обозначений, их построение допускает сочетание кинематических, электрических и алгоритмических обозначений (для таких схем более подходящим термином оказывается комбинированные схемы).

Пример функциональной схемы «Разработка виртуальной экскурсии», представлена на рисунке 2, отражает основные функции исследования.

Программа должна соответственно реагировать на действия пользователя. Результат должен быть ожидаемым. Действия пользователя не должно оставаться без результата.

Рисунок 2 - Функциональная схема ПП

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

  1. На основе технического задания из практической работы № 1 и спецификаций из работы № 2 разработать уточненные алгоритмы программ, составляющих заданный программный модуль. Использовать метод пошаговой детализации.
  2. На основе уточненных и доработанных алгоритмов разработать структурную схему программного продукта.
  3. Разработать функциональную схему программного продукта.
  4. Оформить результаты, используя MS Office или MS Visio в виде технического проекта.
  5. Сдать и защитить работу.

Содержание отчета:

  1. Тема практической работы
  2. Цель практической работы
  3. Ответы на контрольные вопросы
  4. Задание на практическую работу
  5. Структурная схема программного продукта
  6. Функциональная схема программного продукта

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

Контрольные вопросы

  1. Из чего состоят структурная и функциональная схемы ПП?
  2. Охарактеризуйте метод пошаговой детализации при составлении ал¬горитмов программ.
  3. В чем заключается методика Константайна?
  4. В чем заключается методика Джексона?



*Примечание:
пример функциональной схемы для обработки матрицы https://megalektsii.ru/s27341t3.html