
- •Лекция №2. Основы стандартизации создания асу.
- •2. Васильев в.М. И др. Управление в строительстве. Учебник для вузов. М., асв. 1994.
- •3. Гинзбург в.М. Проектирование информационных систем в строительстве. Информационное обеспечение. Учебное пособие. М., асв, 2008.
- •5. Дикман л.Г. Организация строительного производства. Учебник для вузов. М., асв, 2003.
- •13. Синенко с.А., Гинзбург в.М. И др. Автоматизация организационно-технологического проектирования в строительстве. Учебное пособие м., асв, 2002.
- •1. Сапр – сложная (большая) система.
- •2. Обслуживающие подсистемы.
- •3. Проектирующие подсистемы
- •5. Задачи анализа и синтеза. Локальная оптимизация. Принятие решения.
- •6. Обеспечивающие подсистемы (виды обеспечения).
- •7. Организационно-техническое (технологическое) проектирование.
- •8. Организационно-технологические задачи функционирования
- •Лекция №2 Основы стандартизации создания асу
- •1. Стандарты.
- •2. Стандарты на проектирование.
- •3. Сапр в строительстве.
- •Гост 19. Единая система программной документации (еспд).
- •Лекция №3
- •1. Общие положения
- •2. Состав и содержание
- •Лекция №4 гост 24. Система технической документации на асу
- •1. Состав комплекса стандартов
- •Лекция №5
- •Гост 24.602-86 Единая система стандартов автоматизированных систем управления.
- •Автоматизированные системы управления.
- •Состав и содержание работ по стадиям создания
- •Лекция №6
- •Единая система стандартов автоматизированных систем
- •Управления
- •Автоматизированные системы управления Общие требования гост 24.104-85
- •Виды и состав обеспечения асу (сапр) Лекция №7 Функциональное обеспечение
- •Логико-информационная модель
- •Фрагмент логико-информационной модели.
- •Логико-информационная модель взаимосвязанных задач.
- •Лекция №8 Математическое обеспечение (мо)
- •Лекция №9 Информационное обеспечение
- •Перечень выходных документов, видиограмм и массивов
- •Описание входных документов, видиограмм и массивов
- •Перечень выходных документов, видиограмм и массивов
- •Описание выходных документов, видиограмм и массивов
- •Описание массива базы данных (имя файла)
- •Организация разработчик
- •Классификация и кодирование инфориации
- •Разработка диалога «пользователь – машина»
- •Форматы диалога
- •Пример:
- •Период времени Комплекс работ Вид работ Вывод
- •Входное сообщение
- •Выходное сообщение
- •Лекция №15 гост 34. Единая система программной документации (еспд).
- •Состав еспд
- •Лекция №16 Программное обеспечение
- •1. Организация программирования
- •2. Операционная система
- •3. Выбор языка программирования
- •4. Процесс программирования
- •В. Способ хранения данных, с которыми работает система
- •5. Отладка программ
- •Лекция №17 Блок-схема алгоритма
- •Лекция №18 Комплексная отладка программ на контрольных примерах
- •Лекция №19 Техническое обеспечение.
- •Лекция №20 Организационное обеспечение
- •Лекция №21 Методическое обеспечение
- •Лекция №22 Правовое обеспечение
- •Лекция №23 Эксплуатационная документация
Лекция №17 Блок-схема алгоритма
Правильная организация работы программистов позволяет повысить эффективность разработки программ, сократить затраты на труда и времени, повысить качество. Требования к организации разработки и подготовки программ можно разделить на две группы: требования, определяющие взаимосвязи программистов с другими коллективами разработчиков, и требования к организации работы самих программистов, т.е. процесса программирования.
К первой группе можно отнести следующие требования: разграничить ответственность программистов, системщиков и пользователей при выполнении отдельных этапов работ при подготовке программ; разработать документацию для передачи результатов работы от одной группы разработчиков другой; определить процедуру передачи этих результатов и внесения в них последующих изменений.
Затраты времени и труда на оформление программной документации довольно высоки. В то же время необходимость технической документации на программу вытекает из особенностей технологии разработки программ коллективом программистов в течение длительного срока. Текучесть кадров и другие причины приводят к необходимости передачи программы от одного к другому программисту, что без наличия подробной документации невозможно.
Для второй группы необходимо: определить последовательность и содержание этапов программирования; организовать взаимодействие программистов; составить календарный план работы группы программистов и определить процедуру контроля за его выполнения.
Программирование целесообразно разбить на три уровня: верхний, соответствующий логическому анализу алгоритмов решения задачи; средний, соответствующий записи, полученной в результата анализа функциональной схемы решения в блок-схему программы; нижний, соответствующий собственно записи программы.
Блок-схемы алгоритма или программы, таким образом, широко используется в программировании. Они позволяют представить алгоритмы в обозримом виде, что дает возможность анализировать их работу, искать логические ошибки в процедурах их реализации.
Блок-схема представляется в виде графа специального вида. Вершины графа соответствуют определенным частям алгоритмов (в предельном случае отдельным шагам алгоритма или командам программы), а дуги показывают возможные переходы между этими вершинами в процессе выполнения алгоритма.
Безусловные шаги принято изображать прямоугольниками, условные шаги – ромбами. Из ромба всегда выходят две стрелки: одна имеет пометку «да» (условие выполнено), а другая – пометку «нет» (условие не выполнено).
Процесс выполнения алгоритма представляется в графе как путь из начальной вершины в конечную.
Все алгоритмы в соответствии с особенностями их структуры разделяются на линейные, разветвляющиеся и циклические.
Если все шаги алгоритма – безусловные, то этот путь при любых данных одинаков и жестко регламентирован, хотя результаты могут быть, разумеется, различные.
Если же в алгоритме есть условные шаги, то путь зависит от содержащихся в них условий. Путем введения логических блоков можно усложнить линейную структуру схемы. Например, если ввести проверку на неотрицательность параметров расчета, то могут быть введены соответствующие предупредительные сообщения, а вычисления выполняться не будут.
Как правило, алгоритм содержит циклы, т.е. замкнутые пути, возвращающиеся в пройденную ранее вершину. Повторяющиеся вычисления отличаются изменяющимся значением входящего в указанную группу операций параметра – параметра цикла. Цикл обязательно содержит условную вершину, в которой можно выйти из цикла. Выход из цикла происходит, когда все числа последовательности просмотрены. Если условия выхода из цикла сформулированы неправильно, то может оказаться, что они никогда не выполняются, и процесс исполнения алгоритма становится бесконечным (он, как говорят, зацикливается).
Заметим, что алгоритмы решения некоторых задач могут заключать внутри цикла разветвляющийся вычислительный процесс или еще один или несколько циклов. Такие алгоритмы называют циклическими алгоритмами со сложным циклом.
Элементарность шагов входит в число необходимых требований к алгоритмам. Однако строгое соблюдение этого требования весьма обременительно – описание алгоритма разрастается и становится плохо обозримым. Выход заключается в том, что шаги надо укрупнять, но при условии, что они в дальнейшем при написании программы будут доведены до элементарных.
Крупный шаг – это фактически алгоритм, являющийся частью (подалгоритмом) более сложного алгоритма. Такие подалгоритмы называются блоками. Блок обычно неэлементарен (его размеры неограниченны и выбираются произвольно). Однако правильно сформированный блок обладает всеми другими признаками алгоритмического шага. В частности, он имеет точно выделенное начало (точку входа) и может быть условным или безусловным. У безусловного блока – всегда одна точка выхода. Условный блок имеет несколько точек выхода (их может быть больше двух, если блок содержит несколько условий). Другие блоки алгоритма связаны с данным блоком только через точки входа и выхода. Поэтому если блок правильно решает свою задачу, т.е. всегда дает нужный результат, то его внутренняя структура несущественна для остальной части алгоритма. Из этого следуют два важных вывода.
Во-первых, описание алгоритма можно представить в укрупненном блочном виде. Отсутствие детального описания внутренней структуры блоков не мешает пониманию того, как работает алгоритм в целом; важно лишь, чтоб было четко определено, какие блоки запускают данный блок в работу, где лежит его исходная информация, где будет записан результат и куда переходить после окончания его работы. Такое блочное представление особенно удобно на первых этапах разработки системы (детализация блоков происходит позднее).
S=bh/2
Во-вторых, детализация разных блоков (т.е. программированием – доведением их до настоящих алгоритмов и программ) могут разные люди независимо друг от друга. Это важно при организации работ по созданию сложных программ.
x1=-p/2+√D
x2=-p/2-√D x1=-p/2+i√/D/
x2=-p/2-i√/D/
Начало – конец
обработки данных
Выполнение операции
или группы операций
Пуск - останов
Процесс
Магнитный диск
Выбор направления
выполнения алгоритма
Предопределенный
процесс
Решение
Ввод - вывод
Использование
ранее созданного и отдельно описанного
алгоритма
Преобразование
в форму, пригодную для обработки
информации
Ввод – вывод
данных, носителем которых является
магнитный диск
= > <
Линии развития
алгоритма или программы
Слева направо и
вниз
Справа налево и
вверх
Соединения
Указание связей
Слияние
Пересечение
Выполнение операции
или группы операций
Размеры условных
изображений
а=10, 15, 20 + величина
кратная 5 мм
в=1.5 а
в
а
ГОСТ 19427-74 Обработка
данных и программирование. Схемы
алгоритмов и программ. Правила выполнения.
ГОСТ 19428-74 Обработка
данных и программирование. Схемы
алгоритмов и программ. Обозначения
условные графические.