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

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

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

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

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

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

Разработка спецификаций

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

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

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

  • диаграмм потоков данных (DFD – Data Flow Diagrams), описывающих взаимодействие источников и потребителей информации через процессы, которые должны быть реализованы в системе;
  • диаграмм «сущность – связь» (ERD – Entity-Relationship Diagrams), описывающих базы данных разрабатываемой системы;
  • диаграмм переходов состояний (STD – State Transition Diagrams), характеризующих поведение системы во времени;
  • функциональных диаграмм (методика SADT);
  • спецификаций процессов;
  • словаря терминов.

Спецификации процессов

Спецификации процессов обычно представляют в виде краткого текстового описания, схем алгоритмов, псевдокодов, Flow-форм или диаграмм Насси — Шнейдермана.

Словарь терминов

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

Диаграммы переходов состояний

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

Функциональные диаграммы

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

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

Диаграммы потоков данных

Для описания потоков информации в системе применяются диаграммы потоков данных (DFD – Data flow diagrams). DFD позволяет описать требуемое поведение системы в виде сово¬купности процессов, взаимодействующих посредством связы¬вающих их потоков данных. DFD показывает, как каждый из процессов преобразует свои входные потоки данных в выходные потоки данных и как процессы взаимодействуют между собой.

Диаграммы «сущность – связь»

Диаграмма сущность – связь – инструмент разработки моде¬лей данных, обеспечивающий стандартный способ определения данных и отношений между ними. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, кото¬рые удовлетворяют требованиям, предъявляемым к ИС.

Порядок выполнения работы

Диаграмма сущность – связь – инструмент разработки моде¬лей данных, обеспечивающий стандартный способ определения данных и отношений между ними. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, кото¬рые удовлетворяют требованиям, предъявляемым к ИС.

  1. На основе технического задания из практической работы № 1 выполнить анализ функциональных и эксплуатационных требований к программному продукту.
  2. Определить основные технические решения (выбор языка программирования, структура программного продукта, состав функций ПП, режимы функционирования) и занести результаты в документ, называемый «Эскизным проектом»
  3. Определить диаграммы потоков данных для решаемой задачи.
  4. Определить диаграммы «сущность – связь», если программный продукт содержит базу данных.
  5. Определить функциональные диаграммы.
  6. Определить диаграммы переходов состояний.
  7. Определить спецификации процессов.
  8. Добавить словарь терминов.
  9. Оформить результаты
  10. Сдать и защитить работу.

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

  1. Тема практической работы
  2. Цель практической работы
  3. Ответы на контрольные вопросы
  4. Задание на практическую работу
  5. Разработанный документ «Эскизный проект», содержащий:
    • выбор метода решения и языка программирования;
    • спецификации процессов;
    • все полученные диаграммы;
    • словарь терминов.
  6. Выводы по проделанной работе

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

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

  1. Для чего разрабатываются спецификации на программный продукт и что они должны включать?
  2. Что такое функциональные диаграммы и для чего их используют?
  3. Что такое диаграммы «сущность – связь» и для чего их используют?
  4. Что такое диаграммы потоков данных и для чего их используют?
  5. Перечислите составляющие эскизного проекта.