Лабораторная работа № 3
Обследование предметной области. Построение спецификаций процессов на диаграммах потоков данных (DFD)
Аннотация по теоретической составляющей занятия
Методы задания спецификаций процессов
Спецификация процесса (СП) используется для описания функционирования процесса в случае отсутствия необходимости детализировать его с помощью DFD (т.е. если он достаточно невелик, и его описание может занимать до одной страницы текста).
Фактически СП представляют собой алгоритмы описания задач, выполняемых процессами; множество всех СП является полной спецификацией системы.
СП содержат номер и/или имя процесса, списки входных и выходных данных и тело (описание) процесса, являющееся спецификацией алгоритма или операции, трансформирующей входные потоки данных в выходные.
Известно большое число разнообразных методов, позволяющих задать тело процесса, соответствующий язык может варьироваться от структурированного естественного языка или псевдокода до визуальных языков проектирования (типа FLOW-форм и диаграмм Насси-Шнейдермана) и формальных компьютерных языков.
Независимо от используемой нотации спецификация процесса должна начинаться с ключевого слова (например, @СПЕЦПРОЦ). Требуемые входные и выходные данные должны быть специфицированы следующим образом:
@ВХОД = <имя символа данных>
@ВЫХОД = <имя символа данных>
@ВХОДВЫХОД = <имя символа данных>,
где <имя символа данных> - соответствующее имя из словаря данных.
Эти ключевые слова должны использоваться перед определением СП, например:
@ВХОД = СЛОВА ПАМЯТИ
@ВЫХОД = ХРАНИМЫЕ ЗНА ЧЕНИЯ
@СПЕЦПРОЦ
Для всех СЛОВ ПАМЯТИ выполнить: Распечатать ХРАНИМЫЕ ЗНАЧЕНИЯ
|
Ситуация, когда символ данных является одновременно входным и выходным, может быть описана двумя способами: либо символ описывается два раза с помощью @ВХОД и @ВЫХОД, либо один раз с помощью @входвыход.
Иногда в СП задаются пред- и пост-условия выполнения данного процесса. В пред-условии записываются объекты, значения которых должны быть истинны перед началом выполнения процесса, что обеспечивает определенные гарантии безопасности для пользователя. Аналогично, в случае наличия пост-условия гарантируется, что значения всех входящих в него объектов будут истинны при завершении процесса.
Спецификации должны удовлетворять следующим требованиям:
• для каждого процесса нижнего уровня должна существовать одна и только одна спецификация;
• спецификация должна определять способ преобразования входных потоков в выходные;
• нет необходимости (на данном этапе) определять метод реализации этого преобразования;
• спецификация должна стремиться к ограничению избыточности – не следует переопределять то, что уже было определено на диаграмме или в словаре данных;
• набор конструкций для построения спецификации должен быть простым и стандартным.
Рассмотрим наиболее часто используемый метод задания спецификаций процессов.
Структурированный естественный язык
Структурированный естественный язык применяется для читабельного, строгого описания спецификаций процессов. Он является разумной комбинацией строгости языка программирования и читабельности естественного языка и состоит из подмножества слов, организованных в определенные логические структуры, арифметических выражений и диаграмм.
|
В состав языка входят следующие основные символы:
• глаголы, ориентированные на действие и применяемые к объектам;
• термины, определенные на любой стадии проекта ПО (например, задачи, процедуры, символы данных и т.п.);
• предлоги и союзы, используемые в логических отношениях;
• общеупотребительные математические, физические и технические термины;
• арифметические уравнения;
• таблицы, диаграммы, графы и т.п.;
• комментарии.
Управляющие структуры языка имеют один вход и один выход. К ним относятся:
1) последовательная конструкция:
ВЫПОЛНИТЬ функция1
ВЫПОЛНИТЬ функция2
ВЫПОЛНИТЬ функцияЗ
2) конструкция выбора:
ЕСЛИ <условие> ТО
ВЫПОЛНИТЬ функция1
ИНАЧЕ
ВЫПОЛНИТЬ функция2
КОНЕЦЕСЛИ
3) итерация:
ДЛЯ <условие>
ВЫПОЛНИТЬ функция
КОНЕЦДЛЯ
или
ПОКА <условие>
ВЫПОЛНИТЬ функция
КОНЕЦПОКА
При использовании структурированного естественного языка приняты следующие соглашения:
1) Логика процесса выражается в виде комбинации последовательных конструкций, конструкций выбора и итераций.
2) Ключевые слова ЕСЛИ, ВЫПОЛНИТЬ, ИНАЧЕ и т.д. должны быть написаны заглавными буквами.
3) Слова или фразы, определенные в словаре данных, должны быть написаны заглавными буквами.
4) Глаголы должны быть активными, недвусмысленными и ориентированными на целевое действие (заполнить, вычислить, извлечь, а не модернизировать, обработать).
5) Логика процесса должна быть выражена четко и недвусмысленно.
|
Ниже приведен пример спецификации процесса: Получить пароль
@ВХОД = ВВЕДЕННЫЙ ПАРОЛЬ
@ВХОД = ПАРОЛЬ
@ВЫХОД = СООБЩЕНИЕ
©ВЫХОД = КОРРЕКТНЫЙ ПАРОЛЬ
@СПЕЦПРОЦ 1.1 ПОЛУЧИТЬ ПАРОЛЬ
ВЫПОЛНИТЬ выдать СООБЩЕНИЕ клиенту, запрашивающее ввод пароля принять ВВЕДЕННЫЙ ПАРОЛЬ
ДОТЕХПОРПОКА ВВЕДЕННЫЙ ПАРОЛЬ = ПАРОЛЬ или были сделаны три попытки ввода
КОНЕЦВЫПОЛНИТЬ
ВЫПОЛНИТЬ установить флаг КОРРЕКТНЫЙ ПАРОЛЬ в случае равенства
@ КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦЕССА 1. 1
Цель лабораторных работ № 1-3: получить навыки проведения анализа предметной области
Задачи лабораторной работы № 3
1. Продолжить анализ документооборота, сопровождающего процесс оформления товара для реализации
2. Построить спецификации процессов, отраженных на диаграмме потоков данных (А0 – Оформление товара для реализации), используя структурированный естественный язык.
Ход работы:
3. Проанализировать процессы, отраженные на диаграмме А0 - оформление товара для реализации, на предмет последующей детализации или построения спецификации каждого из них:
1. Анализ полученного заказа (А1).
2. Оформление заказа юридического лица (А2).
3. Оформление документов для продажи товара (А3).
4. Формирование счет-факутры (А4)
5. Оформление отчетности (А5).
Задание: по процессам А2-А5 построить спецификации процессов.
Пример спецификации процессов по процессу А1 Анализ полученного заказа представлен на рис.1.