
информатика_книги / Информатика. Теория и практика_Острейковский В.А, Полякова И.В_2008 -608с
.pdf
Каждая конкретная система S характеризуется набором свойств, под которыми понимаются величины, отражающие поведение моделируемого объекта (реальной системы) и учи- тывающие условия ее функционирования во взаимодействии с внешней средой (системой) Å. При построении математиче- ской модели системы необходимо решить вопрос о ее полноте. Полнота модели регулируется в основном выбором границы «система S — среда Å». Также должна быть решена задача упрощения модели, которая помогает выделить основные свойства системы, отбросив второстепенные. Причем отнесение свойств системы к основным или второстепенным существенно зависит от цели моделирования системы (например, анализ вероят- ностно-временных характеристик процесса функционирования системы, синтез ее структуры и т. д.).
Формальная модель объекта. Формализм — это направление (схема), в котором высказывания располагаются и связываются друг с другом по чисто формальному признаку, чтобы затем перейти к логическому пониманию. В формализме значительно большее внимание уделяется понятийно-рациональному аспекту задачи, в противоположность конкретной содержательной стороне сущности. Формализм получил название от латинского слова forma, означающего прежде всего «внешнее очертание, наружный вид объекта, внешнее выражение какого-ли- бо содержания». Модель объекта моделирования, т. е. системы S, можно представить в виде множества величин, описывающих процесс функционирования реальной системы и образующих
âобщем случае следующие подмножества:
—совокупность входных воздействий на систему:
xi X , i = 1, nX ;
— совокупность воздействий внешней среды:
vl V , l = 1, nV ;
совокупность внутренних (собственных) параметров системы:
hk H , k = 1, nH ;
431

совокупность выходных характеристик системы:
yj Y , j = 1, nY .
При этом в перечисленных подмножествах можно выделить управляемые и неуправляемые переменные. В общем случае xi,
vl, hk, yj являются элементами непересекающихся подмножеств
и содержат как детерминированные, так и вероятностные составляющие.
При моделировании системы S входные воздействия, воздействия внешней среды Å и внутренние параметры системы являются независимыми переменными, которые в векторной
форме соответственно имеют вид: X (t) = x1(t), x2(t), ..., xnX(t);
V (t) = v1(t), v2(t), ..., vnV(t); H (t) = h1(t), h2(t), …, hnH(t), а выходные характеристики системы являются зависимыми переменны-
ìè и в векторной форме имеют вид: Y (t) = y1(t), y2(t), …, ynY(t).
Процесс функционирования системы S описывается во времени оператором Fs, который в общем случае преобразует пе-
ременные в соответствии с соотношениями вида
Y (t) = Fs(X , V , H , t).
Òåìà 5.2
ОСНОВНЫЕ ТИПЫ ИНФОРМАЦИОННЫХ МОДЕЛЕЙ
5.2.1. Понятие об информационной технологии решения задач
Технология информационных процессов в любом типе ЭВМ имеет сходную структуру и состоит из операций и этапов. Операция — это совокупность выполняемых на одном рабочем месте элементарных действий, которая приводит к реализации определенной обработки данных. Под операцией понимается любой процесс, связанный с обработкой данных. Ýòàï — это совокупность взаимосвязанных операций, которые реализуют определенную законченную функцию обработки данных.
432
В технологии информационных процессов выделяют следующие этапы: первичный, предварительный, основной и заключительный.
Первичный этап состоит из сбора, регистрации и передачи информации на обработку.
Íà предварительном этапе осуществляются прием, визуальный контроль данных, регистрация, кодирование, комплектование, перенос на машинный носитель, заполнение и формирование первичного документа.
Ïðè визуальном контроле проверяются четкость заполнения, отсутствие пропусков реквизитов, исправление ошибок.
Для сокращения объема вводимой в ЭВМ информации применяется операция кодирования, т. е. присвоения кодов одному или нескольким реквизитам. Обычно кодируются наименования, для чего разработаны специальные справочники и классификаторы.
Комплектование данных — операция вынужденная. При вводе больших объемов данных их разбивают на комплекты (пачки). Каждой пачке присваивается свой номер, который также вводится в ЭВМ. Комплектование облегчает поиск информации и исправление ошибок, обеспечивает контроль полноты вводимых данных, позволяет прерывать процесс ввода или подготовки данных на машинном носителе.
Операция переноса на машинный носитель выполнялась на больших ЭВМ. Основными носителями были перфокарты, перфоленты и магнитные ленты. В настоящее время эта операция часто совмещается с непосредственным вводом информации в ЭВМ с клавиатуры и со специальных устройств, считывающих данные с документов и штрих-кодов, а также с получе- нием данных по сети или по запросу из БД.
Первичный и предварительный этапы технологии информационных процессов были выделены при обработке данных на больших ЭВМ, так как они выполнялись на разных рабочих местах в условиях пооперационной технологии. При обработке информации на ПК эти два этапа чаще всего объединяются в один домашинный этап, на котором все операции практиче- ски выполняются вручную.
Основной этап технологии информационных процессов содержит следующие операции: ввод данных в ЭВМ, контроль
433
безопасности данных и систем, сортировка, корректировка, группировка, анализ, расчет, формирование отчета и вывод данных. Так как все эти операции выполняются ПК, то этот этап называется внутримашинным.
Операция ввода данных — одна из основных и сложных операций технологии информационных процессов. Данные могут быть представлены в виде бумажного документа, в образе электронного документа, электронной таблицы, штрих-кодов; могут быть запрошены из БД, получены по сети, вводиться с клавиатуры, а в перспективе будет осуществляться речевой ввод. Поэтому ввод данных в ЭВМ обязательно сопровождается операцией контроля, так как неверные данные нет смысла обрабатывать.
Сами данные могут быть любого типа: текстовые, таблич- ные, физические, в виде знаний, объектов реального мира и т. д. При этом подсистемы информационных систем (ИС) обычно имеют дело с разнородными данными, приходящими из различных источников. После ввода и контроля данные могут быть записаны в файл, показаны на дисплее, переданы в БД в режиме ее актуализации, переданы по сети. Чаще всего данные записываются в файл или БД.
Контроль безопасности данных и систем подразделяют на контроль достоверности данных, безопасности данных и компьютерных систем. Контроль достоверности данных выполняется программно во время их ввода и обработки. Средства безопасности данных и программ защищают их от копирования, искажения и несанкционированного доступа. Средства безопасности компьютерных систем обеспечивают защиту от кражи, вирусов, неправильной работы пользователей, несанкционированного доступа.
Сортировка данных используется для упорядочения записей файла по одному или нескольким ключам. Запись — это минимальная единица обмена между программой и внешней памятью. Ôàéë — это совокупность записей. Обычно одна запись содержит информацию одного документа или его законченной части. Структура записи и файла определяется пользователем при проектировании. Êëþ÷ — это реквизит или группа реквизитов, служащих для идентификации записей. Сортировка упрощает дальнейшую обработку данных. Она присутствует во всех файловых системах.
434
Корректировка — это операция актуализации файла или БД. При этом обычно выполняются операции просмотра, замены, удаления, добавления нового. Эти операции применяются к отдельным реквизитам записи, группе записей, файлу, БД. Группировка — это операция соединения записей, сходных по одному или нескольких ключам, в относительно самостоятельные новые объекты — группы.
Анализ — это операция, реализующая метод научного исследования, основанный на расчленении целого на составные части. Для проведения анализа используются экономико-мате- матические и статистические методы, методы выявления тенденций, прогнозирования, моделирования, построения графиков и диаграмм, экспертные методы.
Расчет — это операция, позволяющая выполнить требуемые вычисления для получения результатов или промежуточ- ных данных.
Операция формирования отчетов заключается в оформлении результатов расчета для вывода и передачи данных потребителю в привычном для него виде.
Последняя операция — вывод — служит для вывода результатов обработки данных на печать, в БД, файл, на дисплей, по сети ЭВМ.
Заключительный этап технологии информационного процесса включает такие операции, как визуальный контроль результатов, размножение и передача потребителю. Этот этап также называется послемашинным. При установке ПК на рабо- чем месте пользователя заключительный этап может содержать только операции контроля: четкость вывода, непротиворечи- вость результатов и т. д. Все остальные операции могут выполняться на машинном этапе. Так как существует система электронной подписи, а потребителем является сам пользователь, то результаты обработки данных либо передаются по сети, либо записываются в БД.
5.2.2. Этапы решения задач на компьютере
При решении любых задач на компьютере предполагается выполнение следующих действий: постановка задачи, построение модели, разработка алгоритма и программы, ее отладка, исполнение программы, анализ результатов.
435

Заказчик-
пользо- Разработчик-программист
ватель
Поста- |
|
Математи- |
|
Разработка |
|
Состав- |
|
Тестиро- |
|
|
(выбор и |
|
ление |
|
вание и |
||
|
ческое опи- |
|
|
|
||||
новка |
|
|
адаптация) |
|
программы |
|
отладка |
|
|
сание и вы- |
|
|
|
||||
задачи |
|
|
алгоритма |
|
решения |
|
програм- |
|
|
бор метода |
|
|
|
||||
|
|
|
решения |
|
задачи |
|
ìû |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Заказчикпользователь
Эксплуа- тация
программы
Ðèñ. 5.1. Принципиальная схема технологического процесса разработки программных средств решения задачи
Решение задачи на ЭВМ представляет собой процесс полу- чения информации на основе обработки исходной задачи с помощью программы, составленной из команд системы управления работой отдельных устройств вычислительной машины. Создание такой программы решения задачи предполагает выполнение ряда последовательных этапов технологического процесса, принципиальная схема которого представлена на рис. 5.1.
В зависимости от специфических особенностей конкретной задачи (ее вычислительной и логической сложности, состава и структуры исходной, промежуточной и результатной информации и т. п.), от профессионального уровня подготовки специалистов и ряда других факторов некоторые этапы технологического процесса, представленные на общей схеме (рис. 5.1), могут быть объединены в более крупные.
Íà первом этапе осуществляется постановка задачи, т. е. раскрывается ее организационно-экономическая сущность: формулируется цель и указывается периодичность ее решения; определяется взаимосвязь с другими задачами; раскрываются состав и форма представления входной, промежуточной и результатной информации; характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи; специфицируются формы взаимодействия пользователя с ЭВМ в ходе ее решения и т. п.
Особое внимание в процессе постановки задачи уделяется детальному описанию входной, выходной (результатной) и промежуточной информации. При этом характеризуются:
— форма представления отдельных данных (цифровая, символьная и т. д.);
436
—количество знаков (разрядов), выделяемых для записи данных, исходя из их максимальной значимости;
—вид данных в процессе решения (первичный, расчетный, нормативный, справочный и т. п.);
—источник (документ) возникновения данных.
Кроме того, для цифровой информации указываются характер величин данных — целочисленный или дробный (для дробных величин дополнительно указывается количество десятичных знаков — разрядов, выделяемых для записи дробной части числа) и допустимый диапазон изменения величин (т. е. максимальное и минимальное значения данных).
Для расчетных данных дается соответствующее описание расчетов и особо выделяются те данные, которые используются при последующих решениях задачи, так как эта информация должна сохраниться в памяти ЭВМ.
Завершается постановка задачи описанием контрольного примера, демонстрирующего порядок ее решения традиционным способом. Основное требование к контрольному примеру: он должен отражать все многообразие возможных форм существования исходных данных. Контрольный пример сопровождается перечислением нештатных ситуаций, которые могут возникнуть при решении задачи, и описанием действий пользователя в каждой конкретной ситуации.
Особенность реализации этого этапа технологического процесса заключается в том, что конечный пользователь разрабатываемой программы, хорошо знающий ее проблемную сторону, обычно слабо представляет специфику и возможности ЭВМ для ее решения. В свою очередь, предметная область пользователя часто незнакома разработчику программ, хотя он знает возможности и ограничения на применение ЭВМ. Именно это противоречие является основной причиной возникновения ошибок при реализации данного этапа технологического процесса разработки программ. По данным экспертов, на этот этап приходится более 50 % общего числа ошибок, обнаруживаемых в процессе разработки программ решения задач орга- низационно-экономического характера, а затраты на исправление таких ошибок составляют в среднем 80 % всех усилий разработчиков на поиск и устранение ошибок в программе.
437
Отсюда вся важность и ответственность этого этапа, необходимость осуществления корректной и полной постановки задачи, а также однозначность ее понимания как разработчи- ком программы, так и ее пользователем, в качестве которого обычно выступает постановщик задачи.
Второй этап технологического процесса разработки программы — математическое описание задачи и выбор метода ее решения. Выделение этого этапа обусловливается рядом при- чин, одна из которых вытекает из свойства неоднозначности естественного языка, на котором осуществляется описание постановки задачи. В связи с этим на втором этапе технологиче- ского процесса разработки программы выполняется формализованное описание задачи, т. е. устанавливаются и формулируются средствами языка математики логико-математические зависимости между исходными и результатными данными.
Математическое описание задачи обеспечивает ее однозначное понимание постановщиком (пользователем) задачи
èразработчиком программы, реализующей эту задачу.
Âпроцессе подготовки математического описания (модели) задачи могут использоваться различные разделы математики, особенно прикладной. Так, при решении экономических задач наиболее часто используются следующие классы моделей для формализованного описания их постановок:
— аналитические (вычислительные);
— матричные (балансовые);
— графические (частным видом которых являются сетевые). Выбор класса модели, а иногда и конкретной формы ее представления внутри одного и того же класса в ряде случаев позволяет не только облегчить и ускорить процесс решения задачи, но иногда и повысить точность получаемых результатов. Хотя математическая запись постановки задачи, как правило, отли- чается высокой точностью отображения ее сущности, лаконич- ностью записи, а главное, однозначностью понимания, далеко не для всех задач она может быть выполнена. Кроме того, математическое описание задачи в большинстве случаев трудно однозначно перевести на язык ЭВМ. Для задач, допускающих возможность математического описания, необходимо выбрать численный метод решения, а для нечисловых задач — принципиальную схему решения в виде однозначно понимаемой по-
438
следовательности выполнения элементарных математических и логических функций (операций).
При выборе метода решения задачи предпочтение отдается методу, который наиболее полно удовлетворяет следующим основным требованиям:
—обеспечивает необходимую точность получаемых результатов;
—не обладает свойством вырождения, т. е. бесконечного зацикливания на каком-либо участке решения задачи при определенных исходных данных;
—позволяет использовать уже готовые стандартные программы для решения задачи или ее отдельных фрагментов;
—ориентирован на минимальный объем исходной информации;
—обеспечивает наиболее быстрое получение искомых результатов решения.
Сложность и ответственность этапа подготовки математи- ческого описания задачи и выбора (разработки) соответствующего метода ее решения часто требует привлечения квалифицированных специалистов в области прикладной математики, обладающих знанием таких дисциплин, как исследование операций, математическая статистика, численный анализ, вычислительная математика и т. д.
Третий этап технологического процесса подготовки решения задачи на ЭВМ представляет собой алгоритмизацию ее решения, т. е. разработку оригинального или адаптацию (уточ- нение и корректировку) уже известного алгоритма.
Алгоритмизация — сложный процесс, носящий в значи- тельной степени творческий характер. По оценкам специалистов, постановка задачи и ее алгоритмизация нередко составляют 20—30 % общего времени на разработку программных средств ее решения. Сложность и ответственность реализации данного этапа объясняется тем, что для решения одной и той же задачи, как правило, существует множество различных алгоритмов, отличающихся друг от друга уровнем сложности, объемами вычислительных работ, составом необходимой исходной и промежуточной информации и другими факторами, которые оказывают существенное влияние на эффективность выбранного способа решения.
439
Четвертый (завершающий) ýòàï технологического процесса разработки программных средств — составление, кодирование, тестирование и отладка программы. Он предшествует на- чалу непосредственно машинной реализации алгоритма решения задачи. Процесс кодирования заключается в переводе описания алгоритма на один из доступных (понятных) для ЭВМ языков программирования. В процессе составления программы для ЭВМ конкретизируются тип и структура используемых данных, а последовательность действий, реализующих алгоритм, отражается посредством языка программирования.
Тестирование и отладка — заключительные этапы разработки программы решения задач. Эти процессы функционально связаны между собой, хотя их цели несколько отличаются друг от друга. Тестирование представляет собой совокупность действий, предназначенных для демонстрации правильности работы программы в заданных диапазонах изменений внешних условий и режимов эксплуатации программы. Цель тестирования заключается в демонстрации отсутствия (или выявлении) ошибок в разработанных программах на наборе заранее подготовленных контрольных примеров.
Тестированию сопутствует процесс отладки, т. е. выполнения совокупности действий, направленных на устранение ошибок в программах, начиная с момента обнаружения фактов ошибочной работы программы и заканчивая устранением при- чин их возникновения.
По своему характеру (природе возникновения) ошибки в программах делятся на синтаксические и логические.
Синтаксические ошибки в программе представляют собой некорректную запись отдельных языковых конструкций с точ- ки зрения правил их представления на выбранном языке программирования. Эти ошибки выявляются автоматически при трансляции исходной программы ( т. е. в процессе перевода с исходного языка программирования во внутренние коды машины) для ее выполнения. После устранения синтаксических ошибок проверяется логика работы программы на заданных исходных данных. При этом возможны следующие основные виды проявления логических ошибок:
— в какой-то момент программа не может продолжать работу (возникает программное прерывание, обычно сопровождающееся указанием оператора, на котором оно произошло);
440