КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сформировать очередь №№ вызвавших этажей
СПЕЦПРОЦ Сформировать очередь №№ этажей, назначенных в лифте СПЕЦПРОЦ СПЕЦПРОЦ Шайба} 3 – не более 3 итераций Болт} – 1 и более итераций Болт} 7 – от 3 до 7 итераций БНФ-выражение может содержать произвольные комбинации операций: @БНФ = [ винт! болт + 2 {гайка} 2 + (прокладка)! клей ] Ниже приведен пример описания потока данных подсистемы принятия решений ECS «№ текущего этажа» (рис. 3.3 – 3.6) с помощью БНФ-статьи: @ИМЯ = № текущего этажа @ТИП = Простой, внутренний, дискретный поток данных @БНФ = [«1»! «2»! …! «39»! «40»] Далее приведен пример описания входных потоков данных блока формирования управляющих сигналов на примере потока «Перегрузка», а также выходных потоков этого блока на примере потока «Стоп» (рис. 3.7): @ИМЯ = перегрузка @ТИП = Простой, внутренний, дискретный поток данных @БНФ = [«0»! «1»] @ИМЯ = стоп @ТИП = Простой, внешний, дискретный поток управления @БНФ = [«0»! «1»]
Спецификация процесса Спецификация процесса (СП) используется для описания процесса, когда нет необходимости детализировать его с помощью DFD-диаграммы (т.е. если он невелик и его описание может занимать не более одной страницы текста). СП представляет собой описание алгоритма, соответствующего данному процессу и трансформирующего входные потоки данных в выходные. Множество всех СП является полной спецификацией системы. СП содержит номер и/или имя процесса, списки входных и выходных данных и тело (описание) процесса. Известно большое число разнообразных методов, позволяющих задать тело процесса: от структурированного естественного языка или псевдокода до визуальных языков проектирования (типа FLOW-форм), а также формальных языков программирования. Независимо от используемого метода СП должна начинаться со следующих ключевых слов: @ВХОД = <имя символа данных > @ВЫХОД = <имя символа данных> где <имя символа данных> – соответствующее имя из словаря данных. Например, для процессов формирования массивов (рис. 3.5 и 3.6), @ВХОД = Назначение этажа в лифте; № текущего этажа; Стоп по назначению @ВЫХОД = Массив назначений @ @ВХОД = Вызов лифта с этажа вверх; Вызов лифта с этажа вниз; № текущего этажа; Стоп @ВЫХОД = Массив вызовов @ Иногда в СП задаются пред- и пост-условия выполнения данного процесса. В пред-условии записываются объекты, значения которых должны быть истинны перед началом выполнения процесса, что обеспечивает определенные гарантии безопасности для пользователя. Аналогично, в случае наличия пост-условия гарантируется, что значения всех входящих в него объектов будут истинны при завершении процесса. СП должна удовлетворять следующим требованиям [20]: - для каждого процесса нижнего уровня должна существовать одна и только одна спецификация; - спецификация должна определять способ, но не метод преобразования входных потоков в выходные; - спецификация должна стремиться к ограничению избыточности: не следует переопределять то, что уже было определено на диаграмме или в словаре данных; Ниже рассматриваются некоторые наиболее часто используемые методы задания СП. Структурированный естественный язык является разумной комбинацией строгости языка программирования и читабельности естественного языка. Он состоит из подмножества слов, организованных в определенные логические структуры, арифметических выражений и диаграмм. В состав структурированного языка входят следующие основные символы: - глаголы, ориентированные на действия и применяемые к объектам данной предметной области; - существительные, определенные на любой стадии анализа, моделирования и проектирования (например, при разработке информационной системы: задачи, процедуры, символы данных и т.п.); - предлоги и союзы, используемые в логических отношениях; - общеупотребительные математические, логические, физические и технические термины; - арифметические выражения; - таблицы, диаграммы, графики и т.п.; - комментарии. Управляющие конструкции структурированного языка имеют вид:
При использовании структурированного естественного языка приняты следующие соглашения [20]: - логика процесса выражается в виде комбинации последовательных конструкций, конструкций выбора и итераций; - ключевые слова ЕСЛИ, ВЫПОЛНИТЬ, ИНАЧЕ и т.д. должны быть написаны заглавными буквами; - слова или фразы, определенные в словаре данных, должны быть написаны заглавными буквами; - глаголы должны быть активными, недвусмысленными и ориентированными на целевое действие (заполнить, вычислить, извлечь, а не модернизировать, обработать); - логика процесса должна быть выражена четко и недвусмысленно. Таблицы и деревья решений применяются в тех случаях, когда структурированный естественный язык оказывается неприемлем. Например, если действие зависит от нескольких переменных, которые в совокупности могут продуцировать большое число комбинаций, то его описание будет слишком запутанным и с большим числом уровней вложенности. Для описания подобных действий традиционно используются таблицы и деревья решений. Проектирование СП с помощью таблиц решений (ТР) заключается в задании матрицы, отображающей множество входных условий во множество выходных действий. ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ - частьюоператора ЕСЛИ - ТО и требует ответа «да-нет». Нижняя часть ТР используется для определения действий, т.е. ТО -части оператора ЕСЛИ-ТО. Левая часть ТР содержит наименования условий и действий, а в правой части перечисляются все возможные комбинации условий и, соответственно, указывается, какие конкретно действия и в какой последовательности выполняются, когда определенная комбинация условий имеет место. Построение ТР рекомендуется осуществлять путем выполнения следующих шагов [20]: 1. Идентифицировать все условия (или переменные), участвующие в описываемом процессе. Идентифицировать все значения, которые каждая переменная может иметь. 2. Вычислить число комбинаций условий. 3. Идентифицировать каждое из возможных действий, которые могут вызываться в описываемом процессе. 4. Построить пустую таблицу, включающую все возможные условия и действия, а также номера комбинаций условий. 5. Выписать и занести в таблицу все возможные комбинации условий. 6. Редуцировать комбинации условий (если это возможно). 7. Проверить каждую комбинацию условий и идентифицировать соответствующие выполняемые действия. 8. Выделить комбинации условий, для которых в данном процессе нет выполняемых действий. 9. Обсудить построенную таблицу. Поясним вышесказанное на примере СП управления движением лифта (рис. 3.7, процесс №1) и СП управления остановкой лифта (рис. 3.7, процесс №2) (см. таблицы 3.2 и 3.3 соответственно). При составлении таблиц использованы следующие обозначения входных потоков процессов управления движением и остановкой лифта, как условий: перегрузка – П, стоп по назначению – Сн, вверх по назначению – Вн, вниз по назначению – Нн, стоп по вызову вверх – Свв, стоп по вызову вниз – Снв, вверх по вызову – Вв, вниз по вызову – Нв; и выходных потоков этих процессов, как действий: стоп – С, вверх – В, вниз – Н.
Таблица 3.2. Таблица решений процесса управления движением лифта
Таблица 3.3. Таблица решений процесса управления остановкой лифта
Обсудим построенные таблицы. Данные таблицы визуализируют обычную логику работы лифта в офисном здании. Согласно табл. 3.2, если из лифта было назначено движение вниз или вверх, то независимо от вызовов лифт будет выполнять эти назначения. При этом назначений вверх и вниз одновременно быть не может, что обеспечивается формированием очереди №№ этажей, назначенных в лифте (см. рис. 3.5). При отсутствии назначений будут выполняться вызова с этажей, которые по той же причине (см. рис. 3.6) не могут быть одновременно и вверх, и вниз. Согласно табл. 3.3 наличие перегрузки или требования остановится из лифта вызывают безусловную остановку. Требования остановится с этажа выполняются только при попутном движении лифта. Управляющий сигнал «С» при наличии требования на остановку с этажа (вызова с этажа) в случае, когда лифт стоит (В = 0; Н = 0), используется для открывания двери на вызвавшем этаже механической системой лифта. Вариантом таблицы решений является дерево решений (ДР), позволяющее взглянуть на процесс условного выбора с позиции схемы. Обычно ДР используется при малом числе действий и когда не все комбинации условий возможны, а ТР – при большом числе действий и когда возможно большое число комбинаций условий. На основе ТР легко осуществляется автоматическая кодогенерация. Визуальные языки проектирования являются относительно новой, оригинальной методикой разработки СП. Они базируются на основных идеях структурного программирования и позволяют определять потоки управления с помощью специальных иерархически организованных схем. Одним из наиболее известных подходов к визуальному проектированию СП является подход с использованием FLOW-форм. Каждый символ FLOW-формы имеет вид прямоугольника и может быть вписан в любой прямоугольник любого другого символа. Символы помечаются с помощью предложений на естественном языке или с использованием математической нотации. Символы FLOW-форм приведены на рисунке 3.8. Каждый символ является блоком обработки. Каждый прямоугольник внутри любого символа также представляет собой блок обработки.
На рисунке 3.9 приведен пример использования данного подхода при проектировании СП, обеспечивающего упорядочивание определенным образом элементов массива и являющегося фрагментом алгоритма сортировки методом «поплавка» [20].
Дальнейшее развитие FLOW-формы получили в диаграммах Насси-Шнейдермана. На этих диаграммах символы последовательной обработки и цикла изображаются так же, как и соответствующие символы FLOW-форм. В символах условного выбора и case-выбора собственно условие располагается в верхнем треугольнике, выбираемые варианты – на нижних сторонах треугольника, а блоки обработки – под выбираемыми вариантами. Диаграмма Насси-Шнейдермана для вышеприведенного примера изображена на рисунке 3.10 [20].
3.1.2. Диаграммы «сущность-связь»: нотация Чена; нотация Баркера; построение модели Диаграммы «сущность-связь» (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. С помощью ERD-диаграмм осуществляется детализация хранилищ данных моделируемой и проектируемой системы путем идентификации и документирования объектов (сущностей), важных для предметной области, свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
Нотация Чена Нотация ERD-диаграмм была предложена Ченом. Нотация Чена предоставляет богатый набор средств моделирования данных, включая собственно ERD-диаграммы, а также диаграммы атрибутов и диаграммы категоризации. Эти диаграммные техники используются для моделирования и проектирования как реляционных, так и иерархических и сетевых баз данных. Сущность представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, предметов, состояний, идей и т.п.), обладающих общими характеристиками (атрибутами). Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована. При этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр (например, Город, а не Москва). Отношение представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (Имеет, Определяет, Можетвладеть и т.п.). Другими словами, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают, как эти типы данных взаимоувязаны друг с другом. Введение подобных отношений преследует две основополагающие цели: - обеспечение хранения информации в единственном месте (даже если она используется в различных комбинациях); - использование этой информации различными приложениями. Символы ERD-диаграмм, соответствующие сущностям и отношениям, приведены на рис. 3.11.
Независимая сущность представляет независимые данные, которые всегда присутствуют в системе. При этом отношения с другими сущностями могут как существовать, так и отсутствовать. В свою очередь, зависимая сущность представляет данные, зависящие от других сущностей в системе. Поэтому она должна всегда иметь отношения с другими сущностями. Ассоциированная сущность представляет данные, которые ассоциируются с отношениями между двумя и более сущностями. Неограниченное (обязательное) отношение представляет собой безусловное отношение, т.е. отношение, которое всегда существует до тех пор, пока существуют относящиеся к делу сущности. Ограниченное (необязательное) отношение представляет собой условное отношение между сущностями. Существенно-ограниченное отношение используется, когда соответствующие сущности в системе взаимозависимы. Для идентификации отношений, в которые вовлекаются сущности, используются связи. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности. Значение связи характеризует ее тип и, как правило, выбирается из следующего множества:
Дата добавления: 2014-12-27; Просмотров: 568; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |