close

Вход

Забыли?

вход по аккаунту

?

111

код для вставкиСкачать
 Утверждаю
Ректор университета
__________________А.В.Лагерев
"____"____________2011 г.
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
АЛГОРИТМИЧЕСКОЕ МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Методические указания к выполнению лабораторной работы №1 для студентов очной формы обучения
специальностей 230105 - "Программное обеспечение вычислительной техники и автоматизированных систем" и 010503 - "Математическое обеспечение и администрирование информационных систем"
Брянск 2011
УКД Технология разработки программного обеспечения. Алгоритмическое моделирование предметной области [Текст] + [Электронный ресурс]: Методические указания к выполнению лабораторной работы №1 для студентов очной формы обучения специальностей 230105 - "Программное обеспечение вычислительной техники и автоматизированных систем" и 010503 - "Математическое обеспечение и администрирование информационных систем". - Брянск: БГТУ, 2011. - 15 с.
Разработали:
Д.А.Коростелёв
асс.,
Д.Г.Лагерев
канд. техн. наук, доц.
Рекомендовано кафедрой "Информатика и программное обеспечение" БГТУ (протокол №1 от 31.08.11)
Цель работы
Формализация определения предметной области. Определение алгоритмов обработки данных в информационных потоках для построения имитационных математических моделей информационной системы. Предварительное алгоритмическое проектирование и моделирование информационных систем. Получение навыков работы с программным обеспечением алгоритмического проектирования информационных систем.
Моделирование предметной области
В основе проектирования информационной системы лежит моделирование предметной области. Для того чтобы получить адекватный предметной области проект информационной системы в виде системы правильно работающих программ, необходимо иметь целостное, системное представление модели, которое отражает все аспекты функционирования будущей информационной системы (ИС). При этом под моделью предметной области понимается некоторая система, имитирующая структуру или функционирование исследуемой предметной области и отвечающая основному требованию - быть адекватной этой области.
Предварительное моделирование предметной области позволяет сократить время и сроки проведения проектировочных работ и получить более эффективный и качественный проект. Без проведения моделирования предметной области велика вероятность допущения большого количества ошибок в решении стратегических вопросов, приводящих к экономическим потерям и высоким затратам на последующее перепроектирование системы. Вследствие этого все современные технологии проектирования ИС основываются на использовании методологии моделирования предметной области.
К моделям предметных областей предъявляются следующие требования:
* формализация, обеспечивающая однозначное описание структуры предметной области;
* понятность для заказчиков и разработчиков на основе применения графических средств отображения модели;
* реализуемость, подразумевающая наличие средств физической реализации модели предметной области в ИС;
* обеспечение оценки эффективности реализации модели предметной области на основе определенных методов и вычисляемых показателей.
Для реализации перечисленных требований, как правило, строится система моделей, которая отражает структурный и оценочный аспекты функционирования предметной области.
Структурный аспект предполагает построение:
* объектной структуры, отражающей состав взаимодействующих в процессах материальных и информационных объектов предметной области;
* функциональной структуры, отражающей взаимосвязь функций (действий) по преобразованию объектов в процессах;
* структуры управления, отражающей события и бизнес-правила, которые воздействуют на выполнение процессов;
* организационной структуры, отражающей взаимодействие организационных единиц предприятия и персонала в процессах;
* технической структуры, описывающей топологию расположения и способы коммуникации комплекса технических средств.
Для отображения структурного аспекта моделей предметных областей в основном используются графические методы, которые должны гарантировать представление информации о компонентах системы. С моделированием непосредственно связана проблема выбора языка представления проектных решений, позволяющего как можно больше привлекать будущих пользователей системы к ее разработке. Язык моделирования - это нотация, в основном графическая, которая используется для описания проектов. Нотация представляет собой совокупность графических объектов, используемых в модели. Нотация является синтаксисом языка моделирования . Язык моделирования, с одной стороны, должен делать решения проектировщиков понятными пользователю, с другой стороны, предоставлять проектировщикам средства достаточно формализованного и однозначного определения проектных решений, подлежащих реализации в виде программных комплексов, образующих целостную систему программного обеспечения.
Оценочные аспекты моделирования предметной области связаны с разрабатываемыми показателями эффективности автоматизируемых процессов, к которым относятся:
* время решения задач;
* стоимостные затраты на обработку данных;
* надежность процессов;
* косвенные показатели эффективности, такие, как объемы производства, производительность труда, оборачиваемость капитала, рентабельность и т.д.
Для расчета показателей эффективности, как правило, используются статические методы функционально-стоимостного анализа (ABC) и динамические методы имитационного моделирования.
В основе различных методологий моделирования предметной области ИС лежат принципы последовательной детализации абстрактных категорий. Обычно модели строятся на трех уровнях: на внешнем уровне (определении требований), на концептуальном уровне (спецификации требований) и внутреннем уровне (реализации требований). Так, на внешнем уровне модель отвечает на вопрос, что должна делать система, то есть определяется состав основных компонентов системы: объектов, функций, событий, организационных единиц, технических средств. На концептуальном уровне модель отвечает на вопрос, как должна функционировать система? Иначе говоря, определяется характер взаимодействия компонентов системы одного и разных типов. На внутреннем уровне модель отвечает на вопрос: с помощью каких программно-технических средств реализуются требования к системе? С позиции жизненного цикла ИС описанные уровни моделей соответственно строятся на этапах анализа требований, логического (технического) и физического (рабочего) проектирования. На начальных стадиях проектирования информационных систем для описания предметной области можно построить модель внешнего уровня. Для ее реализации можно использовать различные методологии, одной из таковых является алгоритмическое моделирование.
Алгоритмическое моделирование с помощью блок-схем
Среди универсальных форм представления или записи алгоритмов можно выделить так называемые блок-схемы алгоритмов. Блок-схема - графическое представление алгоритма. Она состоит из функциональных блоков, которые выполняют различные назначения (ввод/вывод, начало/конец, вызов функции и т.д.). Универсальность этой формы обусловлена тем, что в ней заранее не определяются абстракции, которые могут специфицироваться в блоках даже с применением обычного разговорного языка. Блоки являются всего лишь шаблоном для описания действий в процессе решения задачи, а связи между блоками определяют последовательность этих действий. Такая форма часто используется в профессиональной среде программистов. Она позволяет с достаточной степенью свободы описывать решения, получаемые в процессе нисходящего проектирования алгоритмов и соответствующих им программ, абстрагируясь от средств, предоставляемых конкретным языком программирования.
Каждое действие в блок схеме графически изображается в виде геометрической фигуры (табл. 1).
Таблица 1
Основные элементы блок-схем алгоритмов
НаименованиеОбозначениеФункцияДанные (ввод-вывод)Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы).Запоминаемые данныеСимвол отображает хранимые данные в виде, пригодном для обработки, носитель данных не определен.Запоминающее устройство с прямым доступомСимвол отображает данные, хранящиеся в запоминающем устройстве с прямым доступом (магнитный диск, магнитный барабан, гибкий магнитный диск).ДокументСимвол отображает данные, представленные на носителе в удобочитаемой форме (машинограмма, документ для оптического или магнитного считывания, микрофильм, рулон ленты с итоговыми данными, бланки ввода данных).Ручной вводСимвол отображает данные, вводимые вручную во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штриховым кодом).КартаСимвол отображает данные, представленные на носителе в виде карты (перфокарты, магнитные карты, карты со считываемыми метками, карты с отрывным ярлыком, карты со сканируемыми метками).ПроцессСимвол отображает функцию обработки данных любого вида (выполнение определенной операции или группы операций, приводящее к изменению значения, формы или размещения информации или к определению, по которому из нескольких направлений потока следует двигаться).Предопределенный процессСимвол отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции.Ручная операцияСимвол отображает любой процесс, выполняемый человеком.ПодготовкаСимвол отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию (установка переключателя, модификация индексного регистра или инициализация программы).РешениеСимвол отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активизирован после вычисления условий, определенных внутри этого символа. Соответствующие результаты вычисления могут быть записаны по соседству с линиями, отображающими эти пути.Параллельные действияСимвол отображает синхронизацию двух или более параллельных операций.Граница циклаСимвол, состоящий из двух частей, отображает начало и конец цикла. Обе части символа имеют один и тот же идентификатор. Условия для инициализации, приращения, завершения и т.д. помещаются внутри символа в начале или в конце в зависимости от расположения операции, проверяющей условие. Часто для изображения на блок-схеме цикла вместо данного символа используют символ решения, указывая в нем условие, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).ЛинияСимвол отображает поток данных или управления.СоединительСимвол отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения ее в другом месте (во избежание излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение.ТерминаторЭлемент отображает вход из внешней среды или выход из нее (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие. Для построения блок-схем используются различные программы: yEd Graph Editor, Diagram Designer, OpenOffice.org Draw, Microsoft Visio, LucidChart и т.п. Рассмотрим на примере информационное моделирование с использование построения блок-схем алгоритмов в среде Microsoft Visio 2010.
Пример информационного моделирования предметной области
В качестве примера выберем задачу автоматизированная система распознавания математических выражений. Для начала выделим ключевые термины данной предметной области:
1. Теория распознавания образов - раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков. 2. Оптическое распознавание символов (англ. optical character recognition, OCR) - это механический или электронный перевод изображений рукописного, машинописного или печатного текста в последовательность кодов, использующихся для представления в текстовом редакторе.
3. Цифровое изображение - изображение, представленное в цифровом (компьютерном) виде.
Теперь выделим основные информационные потоки, характерные для данной задачи:
1. Получение цифрового изображения математического выражения. Подразумевается преобразование исходного изображения, содержащего математические выражения в цифровой вид.
2. Сегментация цифрового изображения. Т.е. выделение участков в цифровом изображении, содержащих только математические выражения. Этот процесс может быть как полностью автоматизированным, так и с использованием ручного ввода.
3. Распознавание математического выражения в сегменте изображения. Данный процесс подразумевает корректное распознавание символов выражения, объединение их в выражение и представление результатов в форме, пригодной для дальнейшего редактирования и сохранения на компьютере.
Для построения блок-схем воспользуемся набором фигур "Фигуры простой блок-схемы". Данный набор можно вызвать через меню "Файл" → "Создать" → "Блок-схема" → "Простая блок схема" (рис. 1). Перед нами откроется полотно для рисования с соответствующим набором фигур (рис. 2). При этом часть фигур имеют название отличное от представленных в табл. 1, однако при этом они соответствуют им по смыслу.
Рис. 1. Окно выбора шаблона документа Visio 2010
Рис. 2. Полотно для рисования с набором фигур Visio 2010
Построим один из возможных вариантов блок-схемы алгоритма распознавания математических выражений. При этом будем полагать, что основные блоки-процессы могут быть обработаны соответствующими специальными алгоритмами (рис. 3). Данный алгоритм дает общее представление о решаемой задаче, что способствует дальнейшему детализации его. Большая часть блоков-процессов представляют собой отдельную алгоритмически сложную задачу, поэтому при разработке подобной системы необходимо подобрать, а возможно и разработать новые алгоритмы, для их решения. Однако это можно осуществлять уже на следующих этапах проектирования автоматизированной системе. При этом крайне важным является не только выбор алгоритмов, но также и их исследование на устойчивость, сходимость с целью определения границ их применения.
На блок-схеме, представленной на рис. 3, для обозначения цикла был использован блок "Решение" с соответствующими ветками "Да" и "Нет". При этом данный цикл является циклом с предусловием.
Рис. 3. Блок-схема алгоритма распознавания сегмента цифрового изображения, содержащего математическое выражение
Задание на лабораторную работу
1. Согласно выбранному варианту выделить в предметной области основные термины и дать их определение.
2. Выделить 2-3 основных информационных потока обработки данных в предметной области и описать их алгоритмически с помощью блок-схем. При алгоритмическом описании необходимо в качестве блоков-процессов использовать преимущественно алгоритмы обработки данных.
3. Для одного из алгоритмов обработки данных из построенных блок-схем необходимо привести его развернутое математическое описание: (данное задание является обязательным только для студентов специальности "Математическое обеспечение и администрирование информационных систем").
Контрольные вопросы
1. Что понимают под моделью предметной области?
2. Для чего используется моделирование предметной области?
3. Какие основные требования предъявляют к моделям предметных областей?
4. Чем стоит руководствоваться при выборе языка представления проектных решений?
5. Что такое язык моделирования?
6. Перечислите уровни детализации модели и расскажите об их особенностях?
7. Что такое блок-схема?
8. Основные элементы блок-схем и их назначение.
Список используемой и рекомендуемой литературы
1. Проектирование информационных систем В.И. Грекул http://www.intuit.ru/department/se/devis/
2. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения
3. ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения
4. ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические
Документ
Категория
Разное
Просмотров
61
Размер файла
538 Кб
Теги
111
1/--страниц
Пожаловаться на содержимое документа