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

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

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

2. Разложение каждой части объекта не зависит от разложения других частей.

Систему разлагают на части по функциональному признаку. Рекомендуется следующая последовательность методов:

1. На начальных этапах проектирования при определении архитектуры программного обеспечения конкретной системы используется метод системного анализа.

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

 

Документирование программного обеспечения.

    Осуществляется в соответствии с требованиями ЕСПД.

Виды программных документов:

1. Спецификация (состав программы и документация на неё);

2. Ведомость держателей подлинников (перечень предприятий, на которых хранятся подлинники программных документов);

3. Техническое задание (требование к программе, стадии и сроки разработки, виды испытаний);

4. Пояснительная записка (общее описание алгоритма и функционирования программы);

5. Программа и методика испытаний (содержит требования, подлежащие проверке при испытании программы, порядок и методы их контроля);

6. Описание программы (сведения логической структуре и функционировании программы);

7. Текст программы (с использованием комментариев);

8. Эксплуатационные документы:

8.1 Ведомость эксплуатационных документов;

8.2 Формуляр – это основные характеристики программы, комплектность и сведения о программе эксплуатации;

8.3 Описание применения (назначение, область применения, методы и классы решаемых задач);

8.4 Руководство программиста (сведения, необходимые для эксплуатации программы);

8.5 Руководство системного программиста (сведения для проверки обеспечения функционирования и настройки программы на условие конкретного применения);

8.6 Описание языка (синтаксис и семантика языка взаимодействия пользователя и программы);

8.7 Руководство оператором (сведения, необходимые для обеспечения процедуры общения оператора с ЭВМ в процессе выполнения программ);

8.8 Руководство по техническому обслуживанию (описание применения тестовых и диагностических программ при обслуживание технических средств);

 

Состав программного документа:

1. Лист утверждения (заказчик и исполнитель, их подписи).

2. Титульный лист.

3. Аннотация.

4. Содержание.

5. Текст документа

6. Приложение.

7. Перечень сопроводительных документов.

 

Содержание основных документов.

Техническое задание:

1. Введение.

2. Основание для разработки.

3. Назначение разработки.

4. Требования к программному изделию:

4.1 функциональным характеристикам;

4.2 условиям эксплуатации;

4.3 составу и параметрам технических средств;

4.4 маркировке, транспортированию, упаковке и хранению.

5. Требование к программной документации.

6. Технико-экономические показатели.

7. Стадии и этапы разработки.

8. Порядок контроля и приёмки.

 

Пояснительная записка:

1. Введение.

2. Назначения и область применения.

3. Технологические характеристики:

3.1 Постановка задачи, описание математических методов, допущения и ограничения;

3.2  Описание алгоритма программ с обоснованием выбора схемы алгоритма;

3.3  Описание и обоснование выбора метода организации входных и выходных данных, состав технических и программных средств;

4. Описание технико-экономических показателей.

 

Программа и методика испытаний:

1. Объект испытаний.

2. Цель испытаний.

3. Состав предъявляемой документации.

4. Технические требования:

4.1 к программной документации;

4.2 к техническим характеристикам;

4.3 к информационной и программной совместимости.

5. Порядок проведения испытаний.

6. Методы испытаний.

 

Описание программы:

1. Общие сведения.

2. Функциональные назначения.

3. Входные данные.

4. Описание логической структуры:

4.1 Используемые методы;

4.2 Структура программы с описанием функций составных частей и связи между ними.

4.3 Структура и организация данных.

4.4 Алгоритмы программы.

4.5 Связь с другими программами.

5. Вызов и загрузка.

6. Используемые технические средства.

 

Описание применения:

1. Назначение программы.

2. Условия применения.

3. Описания задачи.

4. Входные и выходные данные.

 

Описание языка:

1. Общие сведения.

2. Синтаксис и семантика элементов.

3. Операторы.

4. Средства обмена данными.

5. Средства отладки программы.

 

Руководство оператора:

1. Назначение программы.

2. условие выполнения программы.

3. Выполнение программы.

4. Сообщения оператору.

 

Руководство программиста:

1. Назначение и условия применения программы.

2. Характеристики программы.

3. Обращение к программе.

4. Входные и выходные данные.

5. Сообщения.

 

Проектирование систем.

  Система (программная система) – совокупность связанных друг с другом программ и наборов данных.

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

 

Определение основных компонентов системы.

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

Ø запоминание данных;

Ø корректировка данных;

Ø использование хранящихся данных.

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

  Для каждой программы предусматривается два потоков данных:

ü входной;

ü выходной.

  Если программа предназначена для корректировки, то она имеет два входных потока:

1. данные, подлежащие корректировке;

2. новую информацию.

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

Пример:

  Упрощённая структура системы сопровождения данных:

 

Хранение данных
Корректировка
Использование данных
Главный список
Главный список
Изменение данных
оперативный отчет
оперативный отчет
отчет
Исходные данные
 

 

 - длительное хранение,     - процесс преобразования данных,

      - поток данных.

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

    Если программа повреждена, то можно перезаписать, тогда как восстановление данных сложнее. Поэтому надо постоянно копировать данные, иногда хранить записи обо всех проведённых корректировках.

    С учетом дополнений структура системы сопровождения данных имеет вид:

Хранение данных
Коррек-тировка данных
Исполь-зование данных
Изменение данных
отчет
Исходные данные
Сорти-ровка данных
Упорядо-ченные данные
Главный файл
Копиро-вание данных
Главный файл
Сбор измене-ний
Корректи-рующий файл
Сорти-ровка изменений
Корректи-рующий файл
оперативный отчет
файл регистрации корректировок

 

 

Определение потоков данных.

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

1. Каждому источнику данных соответствует один входной поток;

2. Если имеется совокупность наборов данных, получаемых из нескольких источников, то эти наборы распределяются по группам обрабатываемых совместно потоков данных;

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

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

 

Определение процессов.

Основные правила:

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

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

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

а) процесс для их запоминания;

б) процесс для сопровождения, если требуется корректировка;

в) процесс для поиска и обработки данных.

Примечание:

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

 

Методы разработки данных.

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

1. Графические диаграммы (граф-диаграммы)

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

         Граф-диаграммы отображают прохождение потоков данных между процессами. Поэтому их ещё называют графами потоков данных (пример предыдущей темы – граф-диаграмма).

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

 

2. Диаграммы Варнье-Орра.

         Здесь в иерархической структуре системы выделяются её основные элементарные составные части, которые отражают носители информации (схематичный рисунок). Сначала система делится на ряд отдельных процессов. Это 1-й уровень. На следующем уровне указываются потоки данных для каждого процесса. 3-й уровень: перечисляются наборы данных. 4-й уровень6 перечисляются соответствующие носители информации. Направление потоков данных отмечаются стрелками.

Исходные данные
Оперативный отчёт
Главный список
Главный список
Изменённые данные
Оперативный отчёт
Главный список
Отчёт
Исходные данные
Оперативный отчёт
Главный список
Главный список
Изменённые данные
Оперативный отчёт
Главный список
Отчёт

 

 

Система сопровождения данных:

 

Создание файла
вход
выход
Корректировка данных
вход
выход
Использование файла
вход
выход

 


Примечания к диаграмме:

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

 

 

3. Функциональные схемы.

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

Пример:

 

Новый главный файл
Программа корректировки
Старый главный файл
Коррекция   файла
Отчёт о корректировке

 


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

 

Проектирование программ.

Проектирование программ подобно проектированию всей системы. В отличии от системы каждая программа имеет единственное функциональное назначение и не может быть разбито на части, используемые в различные моменты времени. Сходство программы с системой заключается в наличии внешних и внутренних потоков данных, областей хранения данных, возможность разделения её на независимые модули, которые можно обрабатывать и настраивать отдельно. Модуляризация программы – это разделение её на части по некоторым правилам. Этими частями могут быть: внутренние или внешние процедуры, программные секции.

Преимущества модульности:

1. Упрощение разработки и реализации программ.

2. Облегчение чтения программ.

3. Упрощение настройки и модификации программ.

4. облегчение работы с данными, имеющие сложную структуру.

5. Возможность избежать чрезмерной детализации алгоритма.

6. Обеспечение более выгодного размещения программ в памяти ЭВМ.

 

Группы методов проектирования программ:

1. Методы нисходящего проектирования.

2. Методы расширения ядра.

3. Методы восходящего проектирования.

4. Методы объектно-ориентированного проектирования.

 

1. Метод нисходящего проектирования.

1-й шаг: формулируется предложение, описывающее функцию всей программы.

2-й шаг: определяются подфункции программы.

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



Пошаговое уточнение.

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

Пример:

              1-й шаг:

                                 Процедура! обработка_пакетов;

              2-й шаг:

                                 Процедура! обработка_пакетов;

                                                    сортировать записи по управляющим полям;

                                                  отделить правильные записи от неправильных                                                            

                                                    и обработать;

                                 ВСЁ – Процедура!

 

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

Пример:

              Процедура! обработка пакетов;

                                 сортировать записи по управляющим полям;

                                 взять первую запись;

                                          Цикл – пока не конец входного файла;

                                          Повторять

                                              взять правую управляющую группу;

                                                   обработать группу записей;

                                          ВСЁ – цикл;

                                 обработать неправильные управляющие группы;

              ВСЁ – Процедура!

 

     Операцию сортировки надо написать и оформить в виде независимого модуля.

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

1. Заставляет сформулировать программу.

2. Разбить программу на проблемы.

Преимущества метода пошагового уточнения:

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

Недостаток метода:

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

 

Модульная структура программ.

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

Виды модульных структур:

Дата: 2019-07-24, просмотров: 157.