Некоммерческое акционерное общество  

АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ

Кафедра компьютерных технологий 

 

З.К. Куралбаев

 

ОСНОВЫ ИНФОРМАЦИОННЫХ СИСТЕМ 

 

Конспекты лекций  для студентов всех форм

обучения специальности 050703 – Информационные системы

 

Алматы 2009 

СОСТАВИТЕЛЬ:  З. К. Куралбаев.  «Основы информационных систем». Конспекты лекций  для студентов всех форм обучения специальности 050703 – Информационные системы. – Алматы: АИЭС, 2009. -  70 с.  

Конспекты лекций составлены согласно рабочей программе дисциплины «Основы информационных систем» и они разделены на две части. В первую часть включены следующие сведения: классификация информационных систем, понятие о жизненных циклах, области применения,  методология и технология создания информационных систем. Во второй части рассматриваются вопросы передачи информации, обмен информацией между объектами, о средствах и методах, используемых для практической реализации.

Основные теоретические материалы дисциплины разбиты на шестнадцать тем и каждая из  этих тем представлена  в виде конспекта отдельной лекции.

Конспекты лекций предназначены для студентов всех форм обучения специальности 050703 – «Информационные системы»

  

Содержание                                    

Раздел I. Информационная система как основная часть системы управления

1 Лекция № 1.  Введение. Основные определения и задачи теории систем     

2 Лекция № 2. Информационные системы и их    классификация

3 Лекция № 3. Структура и жизненный цикл информационных систем

4 Лекция № 4. Базы данных – хранилище информаций информационной системы   

5 Лекция № 5. Технология разработки информационных  систем  и универсальный язык моделирования    

6 Лекция № 6. Диаграммы UML и  модель прецедентов  использования   

7 Лекция № 7.  Использование диаграмм UML для описания задач     

8 Лекция № 8. Диаграммы UML для описания потоков    информации  

Раздел II. Информационные процессы – основа информационных систем

9 Лекция  № 9. Передача информации в информационной   системе       

10  Лекция № 10. Виды сигналов    

11  Лекция № 11. Математические модели сигналов    

12 Лекция № 12.  Каналы передачи данных и их характеристики         

13 Лекция № 13.   Физическая среда канала связи                        

14 Лекция №14.  Информационные сети                                   

15 Лекция №15.   Контроль передачи информации  и  сжатие данных   

16  Лекция  №16. Кодирование  информации          

Использованная литература                                                 

 

Раздел 1. Информационная система как основная часть системы управления

 

1 Лекция № 1. Введение. Основные определения и задачи теории систем

 

Цели и задачи дисциплины. Использование компьютерной техники и ее программного обеспечения имеет в основном два направления:

- выполнение расчетных задач;

- накопление и обработка информации.

Первое направление связано с решением научных, инженерно-технических, финансово-экономических и других задач, где выполняется определенный объем вычислительной работы. Для этой цели созданы инструментальные средства, позволяющие разрабатывать различные программы и программные комплексы для компьютера, и создано программное обеспечение для решения  основных  типов вычислительных задач.

Второе направление связано с практической деятельностью человека во всех отраслях, начиная с личной потребности в информации до управления предприятием или государством. В настоящее время ни одно предприятие не может работать без применения компьютерной техники и средств информационных технологий. Любое управленческое решение не принимается без необходимой для этого  информации. Поэтому в современных условиях работа с информацией требует знания и навыков работы с большими объемами данных, умения применять компьютерную технику и соотвествующего программного обеспечения для обработки и получения необходимой информации.

В настоящее время в качестве главных факторов, влияющих на развитие информационных  технологий и систем, рассматриваются:

-   развитие методик управления предприятием;

-   развитие возможностей и производительности компьютерных систем;

- развитие подходов к технической и программной реализации элементов информационных систем.

В условиях рыночной конкуренции, в эпоху изменчивости  ситуаций в мировом рынке,  развитие методик управления, поиск новых методов менеджмента и применение новых средств получения и обработки информации для принятия  эффективного решения являются важными для руководителя любого предприятия. С другой стороны, ускоренное развитие компьютерных систем, средств передачи информации и  возможность интеграции вычислительной техники с разнообразным оборудованием позволяют наращивать возможности информационных систем (ИС) и их функциональность. Развитие аппаратной части (hardware) ИС  стимулировало развитие программного обеспечения (software), и, наоборот, новые программные продукты потребовали для реализации более мощную и производительную компьютерную технику.

Актуальность применения информационных  систем для управления предприятиями в настоящее время ни у кого не вызывает сомнения. Однако многие руководители и специалисты из разных предметных областей слабо владеют знаниями и навыками работы с информационными системами. Поэтому следует учесть этот фактор и ИС, как правило,  должны создаваться для конечного пользователя, не обладающего высокой квалификацией  по компьютерной технологии.

В связи с вышеизложенным, целью дисциплины «Основы информационных систем» является дать студенту, будущему специалисту по информационным системам,  совокупность первоначальных знаний, необходимых для проектирования, создания и использования информационных систем, предназначенных для сбора, хранения, обработки и получения информации.

В связи с этим, в результате изучения  дисциплины «Основы информационных систем»  студент должен уметь решать  две основные задачи:

-         разработку базы данных, предназначенной для хранения информации;

-         разработку графического интерфейса пользователя клиентских приложений.

Предмет дисциплины и основные понятия. Информационные системы (ИС) являются  программным продуктом. Однако они отличаются  от стандартных прикладных программ и  систем, изучаемых в дисциплинах по программированию.  В зависимости от области применения ИС могут различаться по своим функциям, архитектуре и реализацией.  Существуют различные определения ИС. Одно из них может быть сформулировано в следующем виде:

ИС - организационно упорядоченная совокупность документов, информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы.

Прежде всего, основу ИС составляет упорядоченная совокупность документов, т.е. база данных, поэтому неотъемлемой частью  любой ИС является система управления базой данных (СУБД).  Создание ИС является достаточно сложным процессом, поэтому для проектирования и выбора удачных ее моделей, а также для разработки удобного для клиента-пользователя интерфейса  предусмотрены различные программные средства. Изучение методов проектирования и создания баз данных ИС, а также способов разработки интерфейсов для ее реализации  является предметом изучения данной дисциплины.

Обычно ИС подразделяют на малые  и корпоративные. Корпоративной ИС называют совокупность специализированного программного обеспечения и вычислительной аппаратной платформы, на которой установлено и построено программное обеспечение. Малые ИС могут использовать локальные СУБД, а в корпоративных ИС  используются мощные клиент-серверные СУБД, обеспечивающие работу многопользовательской системы.

Состав корпоративных информационных систем (КИС) в основном состоит из двух составляющих:

-         корпоративная сеть или компьютерная инфраструктура предприятия, представляющая собой совокупность сетевой, телекоммуникационной, программной, информационной и организационной инфраструктур;

-         взаимосвязанные функциональные подсистемы, обеспечивающие решение задач предприятия  и достижение его целей.

Типовые программные компоненты, входящие в состав ИС, реализуют следующие функции:

-         диалоговый ввод-вывод,

-         логику диалога;

-         прикладную логику обработки данных;

-         логику управления данными;

-         операции манипулирования файлами и базами данных.

Пререквизиты и постреквизиты дисциплины. Данная дисциплина является  одной из первых дисциплин, где даются первые сведения о сложных системах, в частности об информационных системах. Она изучается в четвертом семестре, после изучения таких дисциплин как «Информатика», «Высшая математика», «Алгоритмизация и языки программирования», «Технологии программирования», «Физика», которые являются ее пререквизитами. Постреквизитами данной дисциплины являются:  «Проектирование информационных систем», «Информационная безопасность и защита информации»  и другие дисциплины, изучаемые на старших курсах; материалы ее будут использованы также при выполнении выпускной работы.

Начальное понятие о   сложных системах. Последние годы характеризуются широким применением информационных систем во многих областях человеческой деятельности. В частности, в производственных предприятиях и организациях, энергетических и коммуникационных комплексах, государственных  органах управления и во многих других сбор информации, ее обработка, поиск и другие виды деятельности являются оновными разделами в системах управления.  Перед тем, как дать определение информационной системы, и определить ее роль в развитии общества  необходимо привести общее  понятие о системах.

Одной из проблем науки в современных условиях всеобщего внедрения информационных технологий во все области человеческой деятельности является разработка  и внедрение в практику  методов исследования функционирования так называемых сложных систем. К сложным системам можно отнести такие объекты как крупные технологические, производственные, энергетические и коммуникационные комплексы, автоматизированные системы управления и другие.

При исследовании таких сложных систем возникают вопросы, связанные с изучением  потребности  в необходимом оборудовании, его качественными и количественными характеристиками. Кроме этого должно быть изучено закономерности функционирования изучаемого объекта в целом, т.е. необходимо рассматривать так называемые «общесистемные» вопросы.  Здесь должны быть изучены и определены зависимости между отдельными частями рассматриваемого объекта.

Усложнение рассматриваемых систем приводит к увеличению важности  изучения «общесистемных» проблем. Для крупных объектов важную роль играет структура системы, в том числе, взаимодействия между различными  частями самого объекта и с его  внешней средой,  формы организации и средств управления  и другие.  Здесь менее важными считаются  физические процессы, происходящие в системе. Например, с такой точки зрения,  считается, что для исследователя сложных систем особую роль не играет вопрос: о чем идет речь, о получении металла из руды или машиностроении, химическом, биологическом или другом процессе.  Изучение «общесистемных» вопросов  привело к появлению такой отрасли науки как «системотехника».

Разделение на «сложные» и «простые» системы является условным; это зависит от условий постановки проблемы. В самом деле любую систему можно рассматривать как сложную.  Перед тем, как дать определение сложной системы, необходимо рассматривать следующие примеры.

Например, промышленное предприятие для выполнения определенных технологических операций и процессов должно иметь различные станки, машины, аппаратуру, средства связи и другие  средства производства.  Вышеназванные средства производства, выполняемые ими технологические операции и процессы,   автоматика и автоматизированные средства управления, а также другие создают сложную систему.

Другим примером является  так называемая «информационная система», которая стала одной из популярных в мире в последние десятилетия. Информационные системы используются как для самостоятельного назначения, так и в качестве составной части сложной системы управления крупным объектом. Потому что любая система управления непосредственно связана с обработкой информации.

 Другими примерами сложных систем могут быть  перевозка пассажиров и грузов, телефон или другие средства связи и многие другие.В современном мире любая деятельность человека связана со сложными системами. 

Из приведенных примеров можно судить, что во многих случаях исследуемый объект  является достаточно сложным. Во многих случаях при исследовании сложную систему  делят  на несколько частей. В таких случаях систему называют сложной системой, а части – подсистемами.  Если подсистема является также сложной, то и ее можно разделить на части. Такой процесс деления на подсистемы может быть продолжен до тех пор, пока не будут получены подсистемы, удобные для исследования. Подсистема, которая не подлежит дальнейшему делению, называется элементом системы.

Итак, сложная система – многоуровневая конструкция, состоящая из  множества подсистем различного уровня и взаимодействующих элементов.

В общем случае  каждая подсистема должна быть самостоятельно работающей частью сложной системы. Например, в производственном комплексе цех или отдельная технологическая линия  может быть  подсистемой.  Каждую подсистему, в свою очередь, можно рассматривать как сложную систему.  

Другими словами, любая сложная система представляет собой  совокупность объектов (элементов, подсистем и т.д.), каждый из которых выполняет определенную работу или  решает задачу определенного типа. В связи с этим работа сложной системы будет совокупностью работ элементов, направленных для достижения одной цели. 

Оценка работы сложной системы. Если рассматривается сложная система, то ее цель и условия работы должны быть описаны  полностью. В случае, когда определены цель и задачи системы, можно ставить вопрос об оценке ее работы. Качество работы системы определяется показателями эффективности. Показателем качества должен быть числовой параметр, определяющий способность системы достижения поставленной  перед ней цели.  Например, если рассматривается производственный процесс, в качестве показателя эффективности можно принять производительность или себестоимость продукции. Иногда, в случае учета случайных факторов в качестве показателя эффективности можно рассматривать вероятность события.  Кроме этого, в качестве показателя эффективности можно принять  надежность, помехозащищенность, качество управления, устойчивость и т.д.

Как было отмечено, современные сложные системы могут состоять из большого количества элементов. В ходе эксплуатации системы некоторые из этих элементов могут выйти из строя. Поэтому определение надежности функционирования системы  требует оценки влияния выхода из строя ее элементов на  работу всей системы. Оценка надежности системы определяется с помощью специальных функционалов.

Задача  об оценке надежности сложной системы ставится в следующем виде.

Пусть известны  следующие параметры, описывающие частоту выхода из строя элементов системы:

-   среднее количество выхода из строя в определенный промежуток времени;

-   закон распределения  промежутков времени между моментами выходов из строя  и т.д. Эти параметры определяются из эксперимента или другими методами.  Пусть показателем эффективности выбран функционал F.  Этот функционал зависит не только от структуры и параметров системы, он зависит и от надежности  ее элементов. Если  Fс – значение  абсолютной надежности  всех элементов системы, а Fе – значение в данном случае, то показатель надежности сложной системы определяется следующим выражением:

ΔF = |Fc-Fe|

Если ΔF достаточно малое, то выход из строя элемента мало влияет на эффективность работы всей системы.

Аналогично можно ввести и другие показатели, описывающие другие свойства сложной системы. Например,  помехозащищенноть системы. Пусть для этого в качестве показателя эффективности обозначен функционал W,  а  Wс значение этого функционала, когда все элементы работают без помех или значение при надежной работе системы,  Wб значение функционала при наличии помех.  Тогда абсолютная величина разности

ΔW = |Wc-We|

показывает,  насколько изменится эффективность системы под воздействием помех. 

При оценке работы сложной системы должен быть вопрос об одном важном показателе, об  устойчивости  ее работы.  Устойчивостью системы называется возможность сохранения свойств под воздейстием внешних факторов. Если качество функционирования системы ухудшается под влиянием незначительных воздействий, то такая система называется неустойчивой.  Неустойчивая система может дойти до состояния, когда она становится непригодной для дальнейшей эксплуатации.

Когда рассматривается качество функционирования системы,  должны быть  вычислены для заданных условий значения функционалов, используемых для  оценки  показателей эффективности.    Если  их значения будут находиться в заданных пределах, то считается, что система удовлетворяет необходимым условиям. В самом деле, сложная система не будет в нормальном положении, на нее действуют различные факторы. Необходимо знать, насколько могут измениться показатели эффективности  из-за этих воздействий.

 

2 Лекция № 2. Информационные системы и их классификация

 

 Системы управления и их функции. Исследование сложных систем непосредственно связано с вопросами управления. Современные системы  состоят из многочисленных элементов, находящихся во взаимодействий, представляют собой сложный электронный комплекс, который  осуществляет оперативный сбор и обработку данных о состоянии используемого оборудования, оптимально планирует и создает управляющие сигналы. Поэтому в исследованиях таких сложных систем важными являются проблемы управления.   

 Управление – процесс сбора, передачи и переработка информации с помощью специальных устройств.. 

  От элементов системы  к управляющим  устройствам  поступает информация о состоянии элементов. Кроме того, средства управления могут получить информацию в виде управляющих  команд от вышестоящих органов  управления или воздействий  внешней среды. Управляющие устройства перерабатвают  поступающую информацию. В результате этой переработки  синтезируются управляющие команды, которые  изменяют состояния и режимы функционирования элементов системы.

В сложных системах введено понятие о потоке информации. Осведомительная информация направлена от  элементов системы к управляющим устройствам, а управляющая информация от управляющих устройств к элементам системы. Здесь вводятся понятия о прямой и обратной связях системы.  Через обратную связь фактическое значение  регулируемого параметра сравнивается со значением этого параметра, требуемым  программой управления.  Если наблюдается отклонение  от программы, то вырабатывается корректирующий сигнал, т.е. управляющая информация.  Использование обратной связи исключает  возникновение грубых ошибок, если средства управления работают исправно.

В последние годы в качестве средств управления используются электронные вычислительные машины (ЭВМ).  Выполняя последовательность  арифметических и логических  операций  в соответсвии с заданной программой, ЭВМ обеспечивает реализацию алгоритма переработки информации. Такой алгоритм называется управляющим алгоритмом.

 Управление сложной системой  может быть организовано различными способами. Если  управление сосредоточено  в едином центре, то оно называется  централизованным, а если функции управления разделены между различными (главным и перферийными) центрами, то – децентрализованным.    Централизация  управления проводится на различном уровне. Выбор вида управления при обмене большими объемами информации является важным. Передача некоторых функций управления нижним уровням позволяет сократить объемы передаваемой информации, что облегчает работу по управлению системой. Однако такая децентрализация может ослабить качество управления.

В процессе исследования сложных систем приходится решать различные задачи.  Из них можно выделить две основные задачи:

1) задача анализа;

2) задача синтеза.

Задача анализа  связана  с изучением свойств  и поведения системы в зависимости от ее структуры и значений параметров. При решении данной задачи считаются известными  структура системы и значения всех ее конструктивных параметров. Здесь требуется  вычислить значения  функциональных характеристик системы: показателей эффективности, надежности, помехозащищенности и т.д. для фиксированного набора  начальных состояний и условий функционирования (воздействий внешней среды), а также оценить устойчивость системы  при заданных возмущениях. 

При решении задачи синтеза рассматривается обратная задача.  Здесь предполагаются заданными требуемые значения  функциональных характеристик системы (показатели эффективности, надежности. помехозащищенности и т.д.), а также область устойчивости. В результате решения данной задачи выбирается  структура системы и значения параметров, соответствующие требуемым  значениям  функциональных характеристик. Во многих случаях данная задача ставится как задача об определении экстремума. Например, определение максимума или минимума некоторого показателя (показателя эффективности) при заданных ограничениях. Ограничения ставятся для других показателей (надежность, помехозащищенность и т.д.).

Как было отмечено выше, в исследовании сложных систем важным является проблема управления. Современные автоматизированные системы управления используются для управления системами, состоящими из многочисленных (десятки, сотни) элементов. Здесь приходится работать со  сложными электронными оборудованиями, выполняющими с огромной скоростью сбор и переработку  информации о каждом элементе системы,  создающими оптимальный план и управляющие сигналы.  

Работа с такой управляющей системой требует выполнения следующих функций:

-   решение задач, связанных с   анализом процесса работы со сложным оборудованием

-   оценка закономерностей управления структурой и процессами потоков иинформаций;

-   синтез алгоритмов обработки информации, оптимальное планирование;

-   выбор технических средств  для реализации алгоритмов;

-   обоснование значений парметров оборудования;

-   определение режимов их эффективной работы  и др.

Средства, используемые для реализации этих функций, могут  быть разделены на две группы:

-   технические или  аппаратные оборудования  (электронно-вычислительные машины и внешние (периферийные) устройства, сети и средства связи, измерительные приборы и т.д.);

-   программное или математическое обеспечение.

Средства первой группы  предназначены  для выполнения процесса работы системы и физической реализации, а средства второй группы используются для сбора, хранения и обработки информации  с целью оптимизации управленческой деятельности. Для этого обеспечивается использование современных информационных технологий.

Понятие об информационной системе. Основным признаком информационного общества – компьютеризация  всех сфер жизни и  деятельности  человечества. В первые годы появления вычислительной техники (ЭВМ, компьютер) ее использование ограничивалось выполнением расчетных работ, возникающих в научных исследованиях, инженерно-технических и инженерно-экономических задачах  и др. В последние годы расширилась область применения вычислительной  техники и  других оборудований, связанных с нею.  В связи с этим программное обеспечение, необходимое для нее, развивалось по двум направлениям:

-         выполнение расчетов;

-         сбор и обработка инфоормации.

Из этих двух направлений в последние годы более высокими темпами развивалось второе направление. Расширилась область применения вычислительной техники именно в этом направлении. Важной областью применения компьютерной техники и информационных технологий (IT) стало управленческое дело.  В качестве  объектов управления рассматриваются  различные оборудования, машины, механизмы и производственные процессы, организации и предприятия и т.д.  Особенно важное значение оно имеет в условиях рыночной экономики, когда требуется принять правильное решение  в условиях риска и неопределенности. Здесь необходима  достоверная и оперативная информация  о внутренних и внешних факторах, влияющих на деятельность управляемого объекта.

В связи с этим  для нормальной и эффективной работы любого предприятия или  любой организации  необходима информационная система.  Информационные системы бывают разные в зависисмости от  области применения.  Они отличаются от стандартных прикладных программ и систем, предназначенных для выполнения математических расчетов. Информационная система  предназначена для сбора, обработки и хранения информации с целью достижения определенной цели.  При создании информационной системы  необходимо учесть следующий фактор: пользователи информационной системы, как правило, не владеют в достаточной мере навыками работы с вычислительной техникой, и использовать информационную технологию.

Из вышесказанного можно сделать следующие утверждения:

-   основой информационной системы должны быть среда хранения информации и средства извлечения из него информации; в среде хранения информации должна быть память, где хранятся сведения, размещенные  в определенном порядке по типам и видам; она называется базой данных (БД) информационной системы;

-    средства получения информации из базы данных должны создавать удобные условия  (интерфейс).

Отсюда следует,  что при создании информационной системы должны быть решены две проблемы:

1)     создание базы данных для хранения необходимой информации;

2)     создание удобного интерфейса для пользователей.

Когда рассамтриваются вопросы, связанные с управлением и информационными системами, обязательно возникает вопрос «Что такое информационная система?» 

Информационная система – это программная система, предназначенная для сбора, хранения, поиска, обработки и других действий над  текстовой, фактографической и другой информацией. Информационная система  работает с пользователем в диалоговом режиме.

Основными причинами  появления и широкого применения на практике информационных систем являются:

1) развитие  методов  управления предприятиями;

2)  рост возможностей и производительности компьютерной техники;

3) развитие технической и программной реализации  элементов информационных систем.

Как было отмечено выше, теория управления предприятиями и ее практическая реализация  на самом деле являются очень сложными.  Причина этого заключается в том, что в условиях усиления конкуренции руководителям компании приходится постоянно искать новые эффективные методы управления и  скорейшего внедрения их  в дело. В связи с этим появилась необходимость наличия информационных систем для оперативного получения информации, использование ее в деле управления  предприятием.  

Развитие компьютерной техники и ее программного обеспечения, рост их возможностей позволили создавать эффективные информационные системы. Можно отметить три фактора, влияющие за последние годы на развитие информационных систем:

1) появление новых методов разработки программ, например,  методы объектно-ориентированного программирования позволили использовать модели объектов;

2) появление сетевой технологии увеличило возможность применения информационных систем;

3)  появление системы Интернет и интранет – технологии  на предприятиях  создали возможности  работы с удаленными объектами.

Информационная система состоит из двух частей:

1. Компьютерная инфраструктура или  корпоративная сеть  - совокупность сетевой, телекоммуникационной, программной, информационной и организационной инфраструктур.

2.  Взаимосвязанные функциональные подсистемы;  они обеспечивают организацию и достижение поставленной цели.

Итак, создание информационной системы – это создание вначале компьютерной инфраструктуры (корпоративной  сети), а затем, на ее основе, создание функциональных подсистем.

Создание корпоративной сети требует  достаточно больших средств. Поэтому она должна быть расчитана на длительный срок эксплуатации или ее модернизация должна быть редким мероприятием. А функциональные подсистемы могут обновляться чаще в ходе выполнения работы в зависимости от возникших ситуаций.

Классификация информационных систем  может быть проведена по:

- масштабу;

- сфере применения;

- способу организации.

1 Классификация ИС по масштабу:

- одиночные;

- групповые;

- корпоративные.

Одиночные ИС создаются и реализуются на автономном персональном компьютере. Они рассчитаны на одного рабочего места и создаются с помощью локального СУБД. Групповые ИС ориентированы на коллективное использование и строятся на базе локальной  вычислительной сети. Здесь используются серверы БД, называемые SQL -  серверами. Корпоративные ИС (КИС) ориентированы на крупные компании с множеством подразделений. КИС называют совокупность специализированного программного обеспечения и вычислительной аппаратной платформы, на которой установлено и настроено программное обеспечение. Наибольшее распространение получили сереверы  Oracle, DB2 и MS SQL Server.

2 Классификация ИС по сфере применения:

- системы обработки транзакций;

- системы поддержки принятия решений;

- информационно-справочные системы;

- офисные информационные системы.

3 Классификация ИС по способу организации:

- системы  на основе архитектуры файл-сервер;

- системы на основе архитектуры клиент-сервер;

- системы на основе многоуровневой архитектуры;

- системы на основе Интернет/интранет-технологий.

Области применения ИС:

- бухгалтерский учет;

- управление финансовыми потоками;

- управление складом, ассортиментом, закупками;

- управление производственным процессом;

- управление маркетингом;

- документооборот;

- оперативное управление предприятием;

 - предоставление информации о фирме.

Требования, предъявляемые к ИС:  гибкость,  надежность, эффективность, безопасность.

 

3 Лекция № 3. Структура и жизненный цикл информационных систем

 

Структура ИС и ее информационные взаимосвязи. Разработка ИС  выполняется для конкретного объекта. Поэтому особенности объекта оказывают влияние на структуру ИС.

При изучении структуры ИС рассматриваются ее элементы, информационные взаимосвязи между ними, а также взаимосвязи  между ИС в целом,  объектом управления, для которого она создана, и внешней средой.

 Между ИС объекта, самим объектом  и внешним миром существуют информационные связи. Информация данной ИС рассматривается как некоторое множество – информационная совокупность, и она считается  внутренней информацией, информация внешнего мира – внешней.

Информация, поступающая в ИС, называется входящей, а выходящая из нее – исходящей. Входящая информация может быть разделена в свою очередь на: входящую внешнюю и входящую внутреннюю. Входящая внешняя информация – информация, поступающая из других организаций и предприятий; а входящая внутренняя – информация, получаемая от управляемого объекта.

Информация, получаемая от управляемого объекта, считается  первичной; она отражает состояние управляемого объекта и обратную связь объекта с управляющим органом.

Исходящая информация  можеть быть разделена на две группы:

-         исходящая внешняя, потребляемая внешним миром;

-         исходящая внутренняя, предназначенная непосредственно для управления объектом.

Основной целью функционирования ИС является выработка исходящей информации. Объединение информационных связей между ИС объекта, объектом и внешним миром и связей блока обработки информации приводит к общей схеме информационной взаимосвязи объекта управления, его ИС и внешнего мира.

Основные стадии ИС. Общий анализ ИС, основанный на учете информационных взаимосвязей, позволяет выделить в обороте три стадии.

Первая стадия – наблюдение над изучаемым явлением, регистрация первичных данных, сбор информации внешнего мира.

Вторая стадия – техническая обработка зарегистрированных исходных данных с целью подготовки сводной, обобщенной информации, характеризующей не отдельные явления и факты, а их совокупность в наиболее удобном для следующего использования виде. На этой стадии должна происходить автоматизированная обработка информации.

Третья стадия – анализ и изучение исходящей для ИС информации, принятие управляющего решения для воздействия на управляемый объект.

Для машинной обработки информации схематическое рассмотрение ИС и ее основных стадий имеет особое значение. Только при подходе к функциям управления как к процессу познания изучаемых явлений через синтез первоначально учитываемых данных с последующим изучающим анализом обобщенной информации можно правильно осуществлять проектирование машинной обработки. Цель проектирования – нахождение наиболее верных технических путей такого синтеза с помощью компьютерной техники, определение места автоматизированной обработки информации в общей схеме управления предприятием, установление ее границ, определение направлений ее дальнейшего развития.

Элементы, образующие ИС, в ряде случаев целесообразно агрегировать, сгруппировать в промежуточные компоненты, называемые подсистемами.

Подсистема представляет собой часть системы, выделенной из нее по какому-либо признаку, обладающему определенной самостоятельностью, и имеющую основные свойства системы. Необходимость выделения  подсистем вызвана следующими причинами:

-  большим объемом информации в системе, когда технические средства не обеспечивают эффективное выполнение запросов всех  потребителей информации;

-  удобством группировки источников и потребителей информации, что позволяет использовать более рациональную технологию обработки информации.

Методология создания ИС заключается  в организации процесса построения ИС и в управлении этим процессом для того, чтобы гарантировать выполнение требований как к самой системе, так и к характеристикам процесса разработки.

Основными задачами, решение которых должна обеспечивать методология создания ИС,  являются:

-  соответствие создаваемой ИС целям и задачам  предприятия, а также предъявляемым к ней требованиям;

-   гарантирование создания системы с заданными параметрами в течение заданного времени в рамках оговоренного заранее бюджета;

-   простота сопровождения, модификации и расширения системы с целью обеспечения ее соответствия изменяющимся условиям работы предприятия;

-   соответствие создаваемой ИС требованиям открытости, переносимости и масштабируемости;

-   возможность использования в создаваемой системе разработанных ранее и применяемых на предприятии средств информационных технологий. 

  Методология RAD (Rapid Application Development).При разработке информационных систем важно иметь удобную среду  проектирования. Среда проектирования должна максимально  упрощать процесс проектирования, освобождая проектировщика или программиста от непроизводительных операций. В настоящее время для разработки ИС используются  средства  быстрой разработки приложений (RAD-Rapid Application Development), основанные на визуализации процесса создания программного кода. Для  упрощения действий пользователя  создается удобный интерфейс, для создания которого используются  графические инструментальные средства. На начальном этапе существования  ИС их разработка велась на традиционных языках  программирования.  Для разработки простых ИС  технология, основанная на традиционных языках программирования, в какой-то мере удовлетворяла потребности разработчиков и пользователей.  В связи с возрастанием сложности разрабатываемых ИС требовались новые средства, обеспечивающие сокращение сроков разработки и улучшения интерфейса для пользователей. Таким требованиям удовлетворяет та методология, которая появилась в последние годы благодаря появлению нового направления в программировании – методологии быстрой разработки приложений (RAD).

Методология RAD – это комплекс специальных инструментальных средств, позволяющих оперировать с определенным набором графических объектов, функционально отображающих отдельные информационные компоненты приложений.

Основные принципы  методологии RAD:

-   использование итерационной (спиральной) модели разработки;

-  полное завершение работ на каждом этапе  жизненного цикла не обязательно;

-  тесное взаимодействие  с заказчиком и будущими пользователями;

-  применение CASE-средств и средств быстрой разработки приложений;

-  применение средств управления конфигурацией, облегчающие внесение изменений в проект и сопровождение готовой системы;

-  использование прототипов, позволяющие полнее выяснить и реализовать потребности конечного пользователя;

-   осуществление тестирования и развития проекта  одновременно с разработкой;

-   ведение разработки небольшой командой профессионалов;

-  обеспечение грамотного руководства разработкой системы, четкое планирование и контроль   выполнения работ.

Методология RAD использует новый подход создания приложений, где используются методы  объектно-ориентированного подхода с использованием средств визуального программирования. Это позволило облегчить создание приложений с помощью готовых объектов. Инструментальные средства  RAD обладают удобным графическим интерфейсом пользователя и позволяют на основе стандартных объектов формировать приложения без написания кода программы.

Средства визуального программирования.   Применение средств объектно-ориентированного программирования позволило создать новые  средства проектирования приложений, называемые средствами визуального программирования.

Визуальные средства позволяют создавать графические интерфейсы поьзователя без написания сложных программных кодов. Они оперируют со стандартными объектами такими как  окна, списки, тексты, которые могут быть связаны с базой данных и отображены на экране монитора. Управление этими отображаемыми данными осуществляется стандартными элементами управления как  кнопки, флажки, переключатели, меню и т.д. Самыми популярными среди систем визуального программирования можно выделить Borland Delphi  и Visual Basic.

Одним из преимуществ средств RAD является их событийно-ориентированность. Это означает, что каждый объект приложения может генерировать события и реагировать на события, генерируемые другими объектами. Например, нажатие клавиши клавиатуры, щелчок на кнопке, движение мыши, открытие и закрытие окон и др.

Используемая здесь RAD - технология  основывается  на компонентной архитектуре. Компоненты являются  объектами,  объединяющими  данные и методы, а также  свойства.  Компоненты бывают визуальными  и невизуальными, атомарными и контейнерными (содержащими другие компоненты), низкоуровневыми (системными) и высокоуровневыми. Средства RAD  предлагают инструменты для создания не только приложений, но и динамических библиотек, веб-страниц и других ресурсов, необходимых для создания полноценных ИС.

При визуальном проектировании  пользовательского интерфейса используются компоненты; они выбираются на палитре компонентов и размещаются в нужных местах окон приложения. Инструментами визуального проектирования интерфейса  являются:

- конструктор компановки;

- конструктор форм;

- визуальный композиционный редактор;

-  визуальный редактор;

- проектировщик экрана;

- экранный редактор;

- проектировщик форм;

-  конструктор графического пользовательского интерфейса.

Разработка интерфейса средствами RAD  состоит из трех операций:

-         Размещение компонентов интерфейса в нужном месте.

-         Задание моментов времени их появления на экране.

-     Настройка  связанных с ними атрибутов и событий.

Структура профилей ИС. При создании и развитии тиражируемых информационных систем требуются  гибкое формирование и применение базовых  стандартов и  нормативных документов. Для унификации  таких базовых стандартов сформировалось понятие  профиля информационной системы.

Профиль – это совокупность нескольких базовых стандартов с четко определенными  и гармонизированными  подмножествами обязательных и факультативных возможностей, предназначенная для реализации заданной функции или группы функций.

Разработка и применение профилей являются органической частью процессов проектирования, разработки и сопровождения ИС. Профили характеризуют каждую конкретную информационную систему на всех стадиях ее жизненного цикла, задавая согласованный набор базовых стандартов, которым должны соответствовать система и ее компоненты.

Стандарты, важные с точки зрения заказчика, должны задаваться  в ТЗ для проектирования системы и составлять ее первичный профиль. Вопросы, не включенные в ТЗ, первоначально остаются на усмотрение разработчика системы. Он может дополнять и развивать профиля системы, исходя из требований ТЗ, а затем согласовывать их с заказчиком. Следовательно профиль ИС не является статичным, а динамично развивается  и конкретизируется  в процессе проектирования и оформляется в составе документации ИС.

В профиль конкретной ИС включаются спецификации компонентов, разработанных в составе данного проекта, спецификации использованных готовых программных и аппаратных средств, если эти средства не специфицированы  соответствующими стандартами. После завершения  проектирования и испытаний системы, в ходе которых проверяется ее соответствие профилю, профиль применяется  как основной инструмент сопровождения системы при эксплуатации, модернизации и развитии.

На стадиях  жизненного цикла ИС выбираются  и затем применяются  следующие основные функциональные профили:

-  прикладного программного обеспечения;

-  среды информационной системы;

-  защиты информации в информационной системе;

-  инструментальных средств, встроенных в информационную систему.

Профиль прикладного программного обеспечения является  проблемно-ориентированным и определяет основные функции ИС. Функциональные  профили системы должны включать в себя согласованные базовые стандарты. Профиль среды информационной системы  должен определять ее архитектуру в соответствии с выбранной моделью обработки данных. Профиль защиты информации должен обеспечивать реализацию политики информационной безопасности, разрабатываемой  в соответствии  с требуемой категорией безопасности  и критериями безопасности, заданными в техническом задании в систему.  Профиль инструментальных средств, встроенных  в информационную систему, должен отражать решения по выбору методологии и технологии создания, сопровождения и развития ИС. В этом профиле должны содержаться ссылки на описание выбранных методологий и технологии, выполненное на стадии эскизного проектирования системы.

 Понятие проекта и об управлении проектами.  ИС предприятия разрабатывается как некоторый проект.

Проект – целенаправленное изменение отдельной системы за определенный промежуток времени с установленными требованиями к результатам, срокам, размерам расходования средств и ресурсов, организационной структуре. Основные признаки проекта:

-  изменчивость – целенаправленный перевод системы из существующего в другое желаемое состояние;

-  ограниченность конечной цели;

-  ограниченность по времени;

-  ограниченность бюджета;

-  ограниченность требуемых ресурсов;

-   новизна;

-  комплектность – наличие факторов, оказывающих влияние на прогресс и результаты проекта;

-  правовое и организационное обеспечение – создание специфической организационной структуры на время реализации проекта.

Проекты могут быть классифицированы по различным признакам. Основными являются:

-         класс проекта;

-         тип проекта;

-         масштаб проекта.

Каждый проект проходит определенные фазы, в частности, проектирование ИС может иметь следующие типы:

-         формирование концепции,

-          подготовка технического задания;

-         проектирование;

-         разработка;

-         ввод системы в эксплуатацию.

 Жизненный цикл ИС  представляет собой непрерывный процесс, начинающийся с момента принятия решения о создании ИС и заканчивающийся в момент полного изъятия ее из эксплуатации.

Согласно стандарту  ISO/IEC 12207, International  Organization of Standardizion/International Electrotechnical Commission, структура жизненного цикла основывается на трех группах процессов:

-  основные процессы жизненного цикла (приобретение, поставка, разработка, эксплуатация, сопровождение);

-  вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, разрешение проблем);

-  организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение).

Последовательность осуществления процессов на протяжении жизненного цикла ИС называется моделью жизненного цикла ИС. К настоящему времени наибольшую популярность имеют две модели:

-         каскадная модель;

-         спиральная модель.

 

4 Лекция № 4.  Базы данных – хранилище информаций  информационной системы

 

Одной из двух главных задач, возникающих и требующих решения при проектировании и создании информационной системы, является  создание  набора информаций, необходимых для ее функционирования. Для этого должно быть создано хранилище информаций, где будут храниться все сведения об объекте управления, и при необходимости позволяющее быстро найти необходимую  информацию.  Таким хранилищем информаций является база данных.

База данных – это совокупность сведений, относящихся  к определенной теме или задаче.

Для обеспечения хранения, сохранности, оперативной обработки и поиска  информации необходимо определить, какие функции должна выполнять база данных. Поэтому для создания базы данных, прежде всего, должны быть получены ответы на следующие вопросы:

-         Какую информацию желает получить пользователь информационной системы? 

-         Какие тематические  области хранения  информации необходимы?

-         Как эти тематические области связаны друг с другом?

-         Какие сведения будут храниться по каждой тематике?

Системы управления базами данных.  Развитие компьютерных технологий, связанных с хранением и обработкой  большого объема информации, привело к появлению специализированного программного обеспечения, получившего название систем управления базами данных (СУБД DBMSDataBase Management Systems).  СУБД  используются для структурированного хранения и организации данных,  позволяют обрабатывать их и получать необходимые сведения в заданной форме.  Поэтому СУБД являются основной частью информационной системы.

Основными функциями СУБД являются:

- непосредственое управление данными во внешней памяти;

-управление буферами  оперативной памяти;

-управление транзакциями;

-протоколирование;

-поддержка языков  баз данных.

Данные обычно хранятся во внешних носителях информации, в частности, в постоянных запоминающих устройствах, магнитных носителях и др.  В зависимости от способа реализации СУБД может работать  с существующей файловой системой или работать  с устройствами внешней памяти на низком уровне.  Обычно СУБД  поддерживает собственную систему именования объектов базы данных. Поэтому одной из основных функций СУБД будет непосредственное управление данными во внешней памяти.

Обычно база данных содержит  достаточно большой объем информации, который превышает доступный объем оперативной памяти. Поэтому время доступа к данным будет увеличиваться, что  ухудшает  качество работы информационной системы в целом. Следовательно, для повышения скорости обмена данными требуется  использовать буферизацию данных в оперативной памяти.

Транзакцией называется  последовательность операций над базой данных, рассматриваемых СУБД  как единое целое.  Если все операции выполняются успешно, то считается, что транзакция также выполнена успешно. При этом  СУБД фиксирует  се изменения данных в базе данных.  А если хотя бы одна операция не выполнена, то транзакция считается невыполненной. При этом  отменяются все изменения и происходит возврат к прежнему состоянию базы данных,  т.е. до начала транзакции. Управление транзакциями необходимо для поддержания логической целостности базы данных. Механизм транзакций является обязательным для любых СУБД.

Одним из основных требований, предъявляемых к СУБД, является  надежность хранения данных во внешней памяти. Такое требование связано с тем обстоятельством, что  в процессе работы с базами данных  информационной системы существуют возможности аппаратного или программного сбоя.  После любого вида  сбоя  СУБД должна восстановить последнее согласованное состояние.  Аппаратные сбои могут быть:  мягкими, когда происходит остановка компьютера из-за  отключения электропитания или зависания операционной системы;  и жесткими, когда происходит потеря информации на внешних носителях. Программные сбои происходят  вседствие ошибок в программе.  Поэтому  для восстановления информации в базе данных необходимо иметь некоторую дополнительную информацию, т.е. требуется избыточность данных.  Наиболее распространен метод  протоколирования или метод поддержания  избыточной информации - ведение журнала, где записываются  изменения  базы данных.

Для работы с информацией, хранящейся  в базе данных, используются специальные языки, называемые языками баз данных.  В основном используются два  языка:

- язык определения схем данных (Schema Definition Language - SDL), который используется для определения логической структуры  базы данных;

- язык манипулирования данными (Data Manipulation Language - DML) содержит набор операторов, используемых для занесение данных  в базу, удалять, модифицировать и выбирать данные.

В настоящее время  СУБД поддерживает единый интегрированный язык баз данных. Наиболее распространенным стандартным языком является SQL (Structured Query Languageязык структурированных запросов). Этот язык  позволяет определять схему реляционной базы данных и манипулировать  данными.

Первые  системы управления базами даных,  техническими средствами которых явились большие  вычислительные машины, опирались на иерархическую и сетевую модели данных. Во втором этапе  началось использование реляционных СУБД, в которых данные хранятся в двумерных таблицах, связанных между собой определенными правилами. Реляционная модель данных предложена американским специалистом Э.Коддом.

Дальнейшее развитие систем управления базами данных привело к  появлению нового метода, называемого объектно-ориентированным подходом. Основу этого подхода составляют  объектные модели, которые более близки  сущностям реального мира. Использование  объектной модели  представления данных  наиболее привлекательно  для информационных систем корпоративного уровня, разработка которых ведется методами объектного проектирования.

В настоящее время широко используются вышеназванные реляционные и объектно-ориентированные модели, которые имеют друг перед другом и преимущества, и недостатки.

Реляционная модель данных и ее основные понятия. Основными достоинствами реляционного подхода к управлению БД:

- наличие простого и в то же время мощного математического аппарата;

- возможность манипулирования данными без необходимости знания конкретной физической организации БД во внешней памяти;

- наличие небольшого набора абстракций, позволяющие легко моделировать и допускают точные формальные определения.

Основными понятиями реляционной модели данных являются:

-         тип данных;

-         домен;

-         атрибут;

-         кортеж;

-         ключ.

Тип данных соответствует понятию в алгоритмических языках. Во всех СУБД используются следующие типы данных:

-         целочисленные;

-         вещественные;

-         строковые;

-         денежные;

-         дата/время;

-         типы двоичных объектов.

Очевидно, что кроме последних, все типы знакомы из алгоритмических языков программирования. Последние, типы двоичных объектов, обозначаются  BLOBBinary Large Object большой двоичный объект.

Домен – это  множество атомарных значений одного и того же типа.  Атомарным (неразложимым) значением данных для реляционной модели является  наименьшая единица данной модели. Другими словами, домен представляет собой  допустимое потенциальное множество значений данного типа.

Атрибуты – это столбцы таблицы (отношения); атрибутам присваиваются  имена, по которым к ним обращаются. Список имен атрибутов таблицы с указанием доменов (или типов) называется схемой  таблицы (отношения). Например, схема таблицы СТУДЕНТ записывается в следующем виде:

СТУДЕНТ {Номер студенческого билета Номера студенческих билетов

Фамилия Фамилии

Имя Имена

Дата рождения Даты рождения

Курс Номера курсов

Специальность Специальности}

Число атрибутов таблицы называется степенью; в данном примере степень является 6-арным. Если количество атрибутов равно 1, то унарным, 2 – бинарным, 3 – триарным и т.д.

Схемой БД называется множество именованных схем отношений (таблиц).

Кортеж (запись) представляет собой множество пар, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Здесь рассаматривается в качестве пара  имя атрибута и его значение. Поэтому количество элементов кортежа совпадает со степенью схемы отношения.

В некоторых случаях  какой-либо атрибут может быть неприменим. В таких случаях в БД записывается  пустое значение атрибута; для обозначения пустых значений используется слово NULL.

Ключи. Отношение (таблица)  является множеством, в котором нет совпадающих элементов. Поэтому кортежи не могут дублировать друг друга. В отношении всегда должен присутствовать некоторый атрибут или набор атрибутов, однозначно определяющих каждый кортеж и обеспечивающий уникальность строк таблицы. Такой атрибут называется первичным ключом.  Пусть  R - отношение с атрибутами A1,A2, . . . , An, то множество атрибутов  K = (Ai,Aj, . . . ,Am) отношения R является первичным ключом этого отношения только тогда, когда удовлетворяются два независимых от времени условия:

-         уникальность, т.е.  в произвольный момент времени никакие два кортежа отношения R не имеют одного и того же значения для Ai,Aj, . . . ,Am;

-         минимальность, т.е.  ни один из атрибутов Ai,Aj, . . . ,Am  не может быть  исключен из K без нарушения  уникальности.

В зависимости от количества атрибутов, входящих в ключ, различают простые и сложные (составные) ключи.  Простой ключ содержит только один атрибут, а сложный ключ состоит из нескольких атрибутов.

Связанные отношения. В реляционной модели  данные представляются в виде совокупности взаимосвязанных таблиц. Такое взаимоотношение  между таблицами называется связью (relation). При рассмотрении связанных таблиц важное значение имеет понятие  внешнего ключа.

Внешний ключ – это атрибут (или множество атрибутов) одного отношения, являющийся  ключом другого отношения. Внешние ключи используются для установления логических связей между отношениями. Связь между таблицами  устанавливается  путем присваивания значений внешнего ключа одной таблицы значениям ключа другой. Часто  связь между отношениями устанавливается  по первичному ключу. Однако это не является обязательным, связь может быть установлена и с помощью  вторичных ключей.

При  установлении связи между двумя  таблицами одна из них будет являться главной (master), а вторая подчиненной (detail).  Существуют четыре типа связей между таблицами реляционной БД:

-         один к одному, каждой записи одной таблицы соответствует только одна  запись другой таблицы;

-         один ко многим, одной записи главной таблицы  могут соответствовать несколько записей подчиненной таблицы;

-         многие к одному, нескольким записям главной таблицы может соответствовать одна и та же запись подчиненной таблицы;

-         многие ко многим, одна запись главной таблицы связана с несколькими записями  подчиненной таблицы, а одна запись подчиненной таблицы связана с несколькими записями главной таблицы.

Отношения (таблицы)  реляционной модели могут иметь следующие свойства:

-         отсутствие упорядоченности кортежей, т.е. в таблицах реляционных базах данных информация хранится в неупорядоченном виде;

-         отсутствие упорядоченности атрибутов;

-         атомарность значений атрибутов, т.е. среди значеий домена не  могут содержаться множества значений.

Реляционная СУБД.  Реляционную БД  можно рассматривать как хранилище данных, содержащую набор двумерных связанных таблиц.  Совокупность средств управления таким хранилищем называется реляционной системой управления базами данных (СУБД). Реляционная СУБД может содержать утилиты, приложения, службы, библиотеки, средства создания приложений и другие компоненты.

Таблицы  реляционной БД связаны между собой. Это позволяет использовать их как одну большую таблицу и при запросе  данные будут взяты из разных таблиц и объединены в единый набор информации. Таблицы реляционной БД могут иметь следующие свойства:

-         каждая таблица состоит из однотипных строк и имеет уникальное имя;

-         строки имеют фиксированное число полей (столбцов) и значений, т.е. в каждой позиции таблицы на пересечении строк и столбцов всегда имеется одно значение или NULL;

-         строки таблицы отличаются друг от друга хотя бы одним значением, чтобы однозначно определить любую строку;

-         столбцам таблицы присваиваются  уникальные имена, и в каждом из них размещаются  однородные значения данных;

-         полное информационное содержание БД представляется в виде явных значений данных;

-         при выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке независимо от их информационного содержания.

Ранее было введено понятие ключей таблиц БД. В реляционных БД ключи реализуются с помощью объектов, называемых индексами. Индекс БД предназначен  для определения места расположения данных в таблице, т.е. является указателем на данные, размещенные в реляционной таблице. Использование индекса сокращает время выборки данных. Существуют различные типы индексов, в частноти, простые, составные и уникальные. Простой индекс  строится на основе только одного столбца таблицы. Составной индекс строится по двум и более столбцам таблицы. Уникальные  индексы не допускают  введения в таблицу дублирующих значений; они используются и для поддержания целостности  данных и могут быть как простыми, так и составными.

 

5 Лекция № 5. Технология разработки информационных систем и универсальный язык моделирования

 

Методологии, технологии и инструментальные средства проектирования (CASE-Computer Aided Software/System Engineering) составляют основу проекта любой ИС.

 О технологии проектирования ИС. Методология реализуется через конкретные технологии и поддерживающие их стандарты, методики и инструментальные средства, которые обеспечивают выполнение процессов жизненного цикла ИС.  Успешная технология  разработки удовлетворяет ожидания  заказчика, завершается  в установленный срок и не превышает бюджета, а также готова  для изменения и адаптации.  Жизненный цикл  разработки должен способствовать  творчеству и инновациям.  Технология должна быть контролируемой  измеримой,  для того  чтобы ее можно было завершить.  Хорошо организованный итеративный и инкрементный жизненный цикл представляет достаточную управляемость и не мешает проявлению творчества.

Итеративный и инкрементный жизненный цикл  технологии разработки – это последовательная серия итераций (повторений), влияющих на конечную систему.  Каждая  итерация  состоит из одной или  нескольких составляющих  технологии: бизнес-моделирования, сбора требований, анализа, проектирования, разработки, тестирования и внедрения. Разработчики  не предполагают, что все требования известны в начале  цикла разработки; вместе этого изменения  учитываются  на каждой фазе технологии.  Полезность этого типа жизненного цикла  заключается в том, что он направлен на смягчение риска. Технические риски выявляются  и получают приоритет  на начальной стадии жизненного цикла и пересматриваются на каждой итерации во время разработки.

Основное содержание технологии проектирования составляют технологические инструкции, состоящие из описания последовательности технологических операций, условий, в зависимости от которых выполняется та или иная операция, и описаний самих операций.

 Технология проектирования состоит из совокупности трех составляющих:

- заданной последовательности выполнения технологических операций проектированя;

- критериев и правил, используемых для оценки результатов выполнения технологических операций;

- графических и текстовых средств, используемых для описания проектируемой системы.

Каждая технологическая операция должна обеспечиваться:

- данными, полученными  на предыдущей операции или исходными данными, представленными  в стандартном виде;

- методическими материалами, инструкциями, нормативами и стандартами;

- программными и техническими средствами;

- исполнителями.

Результаты выполнения каждой технологической операции должны быть представлены в стандартном виде, адекватно воспринимаемое при выполнении следующей операции.

Понятие о визуальном моделировании.  Разработка любой, даже небольшой,  информационной системы  потребует создания программного комплекса достаточно большого  объема. Прежние методы написания программ на языках программирования или на  языке базы данных  потребуют большую затрату – времени специалистов высокого уровня.  Для упрощения данной работы используют модели проектируемой системы, т.е. используются методы моделирования. Среди методов моделирования в последние годы получило широкое распространение визуальное моделирование.

 Визуальное моделирование  - это способ размышления о проблемах реального мира посредством моделей. Модели полезны для понимания проблем, общения с другими участниками проекта (заказчики, эксперты в предметной области, аналитики, проектировщики и т.д.), для моделирования  предметной области, подготовки документации, а также для проектирования  программ и баз данных.  Моделирование  позволяет  лучше понять требования, делает проект более ясным и улучшает  возможность поддержки системы.

Модели представляют собой  абстракции, которые отображают основу сложной  проблемы  или ее структурные   второстепенные  детали, и тем самым делают проблему  более доступной для понимания. Абстрагирование – это фундаментальная способность человека, позволяющая  нам иметь дело со сложными вещами.   Люди творческих профессий создавали и создают модели, предваряющие реализацию.  Разработка  программных систем не является исключением.  Для создания сложной системы разработчик  должен рассмотреть с различных точек зрения, построить модель с использованием подходящей для данной предметной области терминологии нотации (латинское слово notatioобозначение, система записи), проверить, что модель удовлетворяет требованиям, предъявляемым к системе, и, наконец, построить на основе созданной модели эту сложную систему.

Существуют пределы сложности, которую может осмыслить человек.  Поэтому человек строит модели сложных систем. Построение модели  позволяет проектировщику  сфокусироваться  на общей картине взаимодействия компонентов без необходимости вникать в детали реализации каждого из компонентов. Модели позволяют человеку организовывать, визуализировать, понимать и создавать сложные вещи.

Нотация играет важную роль в любой модели, и она является веществом,  соединяющим все технологии. Нотация выполняет три функции:

-служит языком для обсуждения решений, которые сами по себе неочевидны и неявно вытекают из исходного кода;

- предоставляет полную семантику,  охватывающую все важные стратегические и тактические решения;

- представляет собой достаточно удобную форму для понимания человеком и для обработки рабочим инструментом.

Такими функциями обладает унифицированный язык  моделирования UML - Unified Modeling Language.

В качестве нотации человек с давних пор использовал рисунки;  рисунки являются одним из способов общения. Они  в качестве такого инструмента общения не потеряли свою актуальность и в настоящее время. Модель  представляет собой  набор рисунков и текста, определяющих что-либо. Ценность  модели заключается в том, что она дешевле и быстрее в создании и легко поддается изменениям для модификации.

Универсальный язык моделирования UML (Unified Modeling Language-унифицированный язык моделирования) является  общепринятым  стандартом документирования процесса создания  информационных систем (ИС) и программного обеспечения (ПО). Разработка UML началась в середине 90-х годов прошлого столетия и он  принят в качестве стандарта консорциумом OMG (Object Management Group), в который входят все ведущие производители программного обеспечения. Первоначально язык UML создавался, чтобы упростить описание ИС на базе объектно-ориентированной технологии, а в настоящее время средствами этого языка можно описать ПО, оперирующее в основном потоками данных и методами обработки.

Причиной появления UML явилась  постоянно возрастающая сложность проектируемых ИС из-за усложнения решаемых практических задач. Для решения простых задач нет необходимости применения UML; один человек может оперировать необходимой для этого информацией без применения специальных средств. В разработке проектов, где рассматриваются тысячи объектов, должны участвовать группа людей с разделением  обязанностей на аналитиков, программистов, тестеров и руководителей. В таких случаях необходим инструмент общения между  ними. Поэтому для коллектива проектировщиков  таким инструментом общения является язык UML.

Абсолютное большинство ИС опираются в определенной степени на объектно-ориентированную технологию. Здесь необходима удачно построенная иерархия объектов, которая отражает  закономерности  функционирования предметной области деятельности человека, для которой  создается ИС. Однако эта задача является достаточно сложной. Для облегчения интеллектуального труда проектировщиков  при построении иерархии объектов используются нотации, позволяющие легко  и понятно фиксирующие  возникающие идеи. Здесь обычно используются кружочки, квадратики, стрелки и линии, с помощью которых человек фиксирует свои мысли.

Существуют различные методы для описания и моделирования  ИС.  Например,

-  метод Аббота, в котором описание задач производится на простом человеческом языке;

-  CRC-карточки представляет собой обычные картонные карточки, на которых пишется название класса, за что он отвечает и с какими классами он взаимодействует (CRC-Class-Responsibilities-Collaborators-класс-ответственность-участники) ;

-  метод Буча стал основой  UML; внесение некоторых изменений в обозначении метода Буча привело к созданию нотации языка UML.

 Структура UML. В структуре UML  выделяют две основные составляющие:

- метамодель;

- правила построения диаграмм.

Метамодель представляет собой описание общей структуры языка, основных понятий  ООП (класс, объект, событие, ассоциация, автомат, наследование и др.), а также методов расширения ядра UML. Описание метамодели производится на естественном человеческом языке  с применением конструкций самого языка UML.

В нотации UML средством передачи информации об особенностях построения ИС между участниками проекта  являются диаграммы.   Задание на проектирование  рядовому программисту  представляется  в виде набора диаграмм языка UML. Для создания этих диаграмм может быть использован компьютер,  имеющий соответствующее программное обеспечение.

Программные инструменты. Любые методы  разработки лучше всего  применять с помощью  специальных инструментов. На сегодняшний день  на рынке программных продуктов  присутствует множество инструментов – от простейших инструментов для рисования и заканчивая сложными инструментами  моделирования объектов.

 Для создания деловых рисунков и диаграмм  можно использовать Microsoft Office Visio.  С помощью Visio можно создавать организационные диаграммы, блок-схемы и план-графики проектов.  Причем, здесь не потребуется талант художника, т.к. инструмент является очень простым в использовании и предусмотрено использование шаблонов. Фигуры – готовые символы, включенные в поставку Visio, способствуют быстрому созданию диаграмм.  Наилучшим способом  создания  новой диаграммы является использование  шаблона-файла, включающего  все инструменты, стили,параметры и фигуры, которые потребуются для создания  определенного типа  схемы или диаграммы.

Другим распространенным инструментом является Rational  Software Architect,  с помощью которого можно выполнять работу по анализу, моделированию, проектированию и реализацию системы в диаграммах.  IBM  Rational  Software  Architect  использует при создании  новых моделей шаблоны моделей.  Например, для структурирования модели могут быть использованы элементы модели, содержащиеся в шаблоне:

- обзорный пакет  Overviews;

-  пакет Use-Case Building Blocks со  строительными блоками  анализа  для прецедентов использования;

- универсальный пакет актеров Versatile Actors.

Обзорный пакет содержит диаграммы, используемые  для обзора системы. Пакет строительных блоков анализа содержит элементы модели, которые можно копировать в модель анализа, что позволяют создавать собственные компоненты.

 

6 Лекция № 6.  Диаграммы UML и  модель прецедентов использования

 

Виды диаграмм UML. Как было отмечено ранее, язык UML был создан в связи с потребностью  практики, для облегчения работы над созданием программного обеспечения. Прежде всего, он был создан для анализа и моделирования процесса создания информационных систем. Этот язык сравнительно молодой (1997 г.), его последняя версия UML 2.0  согласована в 2004 году. В том же году появилась книга Билла Гейтса «Think Week» («Еженедельная мысль»), где он заявил  о растущей важности  формализованного анализа и проектирования в будущем, т.е. использования UML. Язык UMLграфический язык, состоящий из символов, которые имеют однозначный смысл. 

В языке UML основными обозначениями являются  следующие диаграммы:

- прецедентов или вариантов использования (use case diagram);

- классов  (class diagram);

- состояний (statechart diagram);

- активности или деятеьности (activity diagram);

- взаимодействия (integration diagram);

- последовательности (sequence diagram);

- кооперации или сотрудничества (collaboration diagram);

- компонентов (component diagram);

- развертывания (deployment diagram).

Диаграммы прецедентов.  Функциональные требования к системе документируются  во время разработки с помощью  модели прецедентов использования, которая иллюстрирует  планируемые функции системы, их окружение и связи между ними. Здесь функции системы – прецеденты использования, окружение – актеры, связи – диаграммы прецедентов использования.   Самая главная роль  модели прецедентов использования заключается в облегчении общения.  Она представляет собой механизм, с помощью которого заказчик или конечный пользователь и разработчик  могут обсуждать функциональность и поведение  системы.

Диаграмма прецендентов служит для выявления и формального представления требований заказчика к проектируемой системе. Она описывает, какие возможности  будет представлять система конечному пользователю, какая информация  необходима  для обработки  запроса  пользователя. Термин «прецедент» означает образец или ситуацию, которая может быть примером.

В качестве пользователя может быть человек или  техническое устройство. Пользователь изображается в виде фигуры  человека: в UML  актер изображается человечком из палочек, в   IBM Rational Software Architect актер представляется значком человека. Для каждого актера к модели  следует добавить короткое описание. Это описание должно определить его роль при взаимодействии с системой.

Модель прецедентов  использования – это диалог между актерами и системой. Прецеденты использования   представляют функциональность системы, т.е. какие возможности системы представляет актер. Пользователь  задействует систему определенным образом.  Соответствующий прецедент  или вариант использования обозначается  на диаграмме овалом, внутри которого  пишется наименование варианта использования. Просто показать графическую нотацию для прецедента недостаточно. Каждый  прецедент использования  сопровождается  текстом с разъяснением назначения прецедента использования, а также функциональности, которая совершается при выполнении прецедента использования. Для пояснения  содержания диаграммы  используют примечения, обозначаемые  на диаграммах в виде листа  бумаги с загнутым углом. Текст примечания  записывается внутри  этого листа. Примечание  соединяется  пунктирной линией с тем элементом  диаграммы, к которому оно относится.    

На диаграммах  прецедентов часто используется интерфейс. Интерфейс является совокупностью операций, предоставляемых классом или компонентом. Интерфейс используется пользователем для получения информации. На диаграммах интерфейс обозначается кругом, внизу которого называется его наименование. Имя интерфейса  принято начинать с буквы I. Например, ISensor.

 Между  компонентами диаграммы прецедентов  могут существовать различные отношения.  Отношения могут быть между пользователем и прецедентом, между несколькими пользователями.  Пользователь может взаимодействовать с несколькими прецедентами.

Нотации (обозначения), изображающие на диаграммах прецедентов  отношения между компонентами:

-association relationship (отношение ассоциации) устанавливает роль  пользователя в системе.  Для обозначения используется сплошная линия, над которой записывается число, которое означает кратность (multiplicity) отношения и показывает  количество возможных компонентов данного отношения; 

-extend relationship (отношение расширения) определяет взаимосвязь прецедента с прецедентом, возможности которого  он может использовать. На диаграммах обозначается  пунктирной стрелкой  с пометкой  «extend». Стрелка направлена от дополняющего прецедента к расширяемому; 

-generalization relationship (отношение обобщения) показывает, что компонент является частным случаем другого компонента.  На диаграммах обозначается сплошной стрелкой, направленной от  общего к частному;                             

-include relationship (отношение включения) указывает на включение прецедента в другой прецедент  в качестве  его составной части.  Один и тот же прецедент может быть включен в несколько других, более крупных  прецедентов. Это отношение графически обозначается пунктирной линией со стрелкой, направленной от базового прецедента  к включаемому. Над стрелкой будет записано слово «include». 

Используя эти прецеденты,  можно описывать требования к информационной системе со стороны заказчика.  Следует отметить, что на диаграммах прецедентов не указывается  последовательность выполнения  операции.

  В сложных  системах  возникает необходимость  разбиения диаграмм на несколько составляющих.   Для этого  используются пакеты (Package). Пакет обозначается в виде прямоугольника. Имя пакета записывается  сверху,  внутри маленького прямоугольника.  Компоненты, относящиеся к определенному пакету, могут быть доступны  вне пакета. Для этого записывается его имя и наименование пакета:   

 Имя_пакета: Имя_Компонента

Это означает, что пакет образует  собственное пространство  имен. Элементы, входящие в пакет, логически  связаны между собой.  Если количество классов в системе  достаточно много, то  иногда прибегают  к построению диаграмм пакетов, разбивая систему на части на более высоком уровне, чем  диаграммы классов. 

Диаграмма активности или деятельности.  Диаграммы активности  позволяют показать движения потоков данных в проектируемой системе. Диаграммы активности  напоминают алгоритмы, только  несколько модифицированные. Начальное и конечное состояния изображаются также  как на диаграмме состояний: начальное изображается  черным кружком, а конечное -  черным кружком  в белом кольце.

Действие над данными  (состояние действия) изображается  прямоугольником с округлыми  боковыми сторонами. Внутри такого прямоугольника указывается производимое действие (текст, математическое выражение и т.д.). Действие может содержать несколько поддействий. Если  на диаграмме их показывать нецелесообразно, то используют обозначение вложенности действий. Например,  действие  Удовлетворение заявки включает в себя несколько поддействий, среди которых могут быть оценка достоверности данных о клиенте и правильности расчетов, а так же, непосредственно принятие решения.

Движение данных (переходы) изображаются сплошными стрелками. Возле стрелки может быть указано сторожевое условие. Если  движение  данных предусматривает ветвление, то  указание  условия обязательно. Символ ветвления  графически изображается  ромбом, из которого выходят  две и более стрелки.

Разделение потока и слияние параллельных  потоков данных изображается  сплошной жирной  чертой, связывающей стрелки движения потоков данных.

Диаграммы активности  позволяют показать разделение ответственности различных субъектов за выполнение операций путем введения дорожек (swimlanes).  Например,   допустим, что таких дорожек четыре: Регистратор, Специалист по финансовым рискам, Управляющий, Служба безопасности.

Передаваемые данные могут быть указаны  на диаграммах активности в явном виде. Например, передача заказа между отделами организации. Вектор времени на диаграммах активности в явном виде не воспроизводится.

 

7 Лекция № 7. Использование диаграмм UML для описания задач

 

 Диаграмма классов.  Одним из основных понятий объектно-ориентированного подхода является понятие класса. Класс описывает группу объектов с общими свойствами, общим поведением (операциями), общими связями с другими объектами и общей семантикой.  Таким  образом,  класс – это шаблон для  создания объекта.

В языке  UML дается следующее определение:  класс – это множество объектов, обладающих одинаковой структурой, свойствами и отношениями с другими объектами.

Графически класс обозначается  в виде прямугольника с четырьмя секциями: Имя класса,  Свойства (атрибуты),  Методы (операции),   Исключительные ситуации.

Например,

 

Имя класса

 

Счет

Свойства

(атрибуты)

Остаток

счета

   Методы

(операции)

Способ начисления процента

Исключительные

ситуации

Наложен арест

Кредит просрочен

 

Любая из секций, кроме секции имени класса,  может отсутствовать. Это связано с тем, что в начале проектирования системы проектировщик располагает только общими представлениями о будущей  ее структуре. В дальнейшем, по мере разработки, уточняются роли и свойства каждого класса, что находит отражение на соответствующих диаграммах классов.

Абстрактным классом называется класс, который не имеет экземпляров. Абстрактные классы весьма удобно использовать при конструировании иерархии в качестве промежуточных классов. Все, что касается абстрактых классов, в языке UML выделяется курсивом.

Имя класса  пишется полужирным шрифтом в самой верхней секции. Здесь указывается  информация  об отношениях этого класса  с абстрактным классом, от которых он унаследовал, а также  служебная информация о процессе проектирования класса.

Свойства класса  определяют  состояние экземпляров  класса (объектов). В общем виде формат записи свойства можно представить в виде следующей строки:

видимость имя_свойства[кратность]: тип_свойства =

                   значение_по_умолчанию

Здесь:

·        видимость - видимость свойства для других классов. Допустимые значения:

- public (или знак +) - свойство класса доступно любому другому классу;

- protected (или знак #)свойство класса  доступно  только экземплярам этого класса и потомкам данного класса;

- private (или знак -) – свойство класса доступно только экземплярам этого класса.

·        тип_свойства – тип свойства; он выбирается из языка реализации проекта (C++, Delphi, Java и других).

·       кратность – диапазон принимаемых свойством значений, с учетом типа. Если в качестве  кратности свойства имя_клиента  указан  диапазон 1.5 и тип String, то это свойство может принимать следующие значения, содержащие не более 5 слов, например,  Абдул Халык Магомед оглы Тамадаев или Эрнест Акимович Сериков. Если же в качестве  кратности свойства доход указан  диапазон 0..*  и тип Currency, значение  этого свойства может принимать любое положительное значение в денежном формате.

·        значение_по_умолчанию – начальное значение свойства, которое  в последующем можно изменить программно. Если в строке определения свойства вместо одного знака равенства (=) указать два (==), то значение  по умолчанию программно изменить нельзя. Например, следующая запись для свойства класса  Менеджер означает, что по умолчанию всем сотрудникам, замещающим  эту должность, первоначально устанавливается заработная плата $1000:

Заработная плата[0..*]: Currency=$1000

Методы класса служат  для обработки свойств класса и характеризуют поведение экземпляров класса. Формат записи метода выглядит так:

видимость имя_метода (список параметров):

                  тип_значения (строка-свойство)

Здесь:

·           видимость –этот аргумент определяется  аналогично видимости свойств;

·           имя_метода – идентификатор метода;

·           список параметров – перечень формальных параметров; каждый формальный параметр имеет следующий вид:

вид_параметра имя_параметра: тип_параметра =

                            значение_по_умолчанию

где

   вид_параметра – входной, выходной или универсальный параметр;

   тип_параметра – тип параметра, определяемый языком реализации класса.

·            тип_значения – тип значения, который определяется языком реализации класса;

·            строка-свойство – значения свойств, которые могут относиться к данному параметру. Метод, не изменяющий состояния объекта, обозначается строкой-свойством {query}. Строка-свойство {concurrency=sequential} указывает на необходимость обращения к методу во время вызова другого метода, строка-свойство {concurrency=concurrent} – на возможность параллельного вызова методов. Строка-свойство {concurrency=guarded} обращает внимание на необходимость принятия дополнительных мер по контролю исключительных ситуаций.

Пример1: Обозначение метода «открыть» класс File может быть записано:

+ open ()

       Пример2: Результатом вызова метода является  автоматическая генерация приказа по организации, в котором сотруднику предоставляется  ежегодный оплачиваемый отпуск:

издать приказ (сотрудник): приказ по форме1-А{«отпуск»}

Отношения между компонентами диаграмм.  В нотации UML между компонентами диаграммы классов могут существовать  различные отношения:

·        отношение зависимости (dependency relationship);

·        отношение ассоциации (association relationship);

·        отношение обобщения (generalization relationship);

Отношение зависимости указывает на общую взаимосвязь компонентов диаграммы. Графически эта связь изображается  пунктирной  стрелкой от зависимого класса к независимому.

Ключевое слово «derive» (стереотип) над стрелкой  означает, что свойства класса Кредит могут быть определены из характеристики заемщика, т.е. от свойств  класса Клиент. Например, сумма кредита, выдаваемая банком  заемщику,  зависит от месячного дохода, возраста и других. Ключевое слово  не является обязательным.  Кроме слова «derive»,  оно может принимать  следующие значения:

access» указывает на доступность свойств и методов независимого класса для зависимого,

import» открытые свойства и методы независимого класса (источника)  становятся частью зависимого класса, как  если бы они были объявлены непосредственно в нем;

bind» класс может использовать другой класс в качестве шаблона;

refine» зависимый класс уточняет класс-источник в силу исторических причин.

Отношение ассоциации  устанавливает некоторую связь между классами системы. Графически это отношение обозначается сплошной линией между  классами. Например. Пример на рисунке означает, что клиент делает покупки. При этом любой покупатель может купить любой товар или не купить никакой, и любой товар может быть продан любому покупателю или не быть купленным никем.

Отношение ассоциации может связывать любое количество классов; такая связь называется «N-арная ассоциация». Для этого используется ромб. Число 10 означает, что покупатель может приобрести товар у любого из десяти продавцов, входящих в данную систему продаж.

Отношения ассоциации могут иметь частные случаи:

  - исключающая ассоциация (xor-association) указывает на возможность связи определенного класса только с одним из нескольких классов;

  - отношение агрегации означает включение нескольких классов в другой класс;

  - отношение композиции показывает, что компонент состоит из нескольких частей, которые не могут использоваться отдельно.

Исключающая ассоциация (xor-association)  указывает на возможность связи определенного класса только с одним из нескольких классов. Например,  класс автомобиль может быть разделен на автомобиль коробка-автомат и автомобиль механическая коробка передач.

Отношение  агрегации означает включение  нескольких классов в другой класс. Например, класс Сервиз может включать в себя следующие классы: Чашки, Чайник, Тарелки.

Отношение  композиции показывает, что компонент состоит из нескольких частей, которые, в отличие от  отношения агрегации, не могут использоваться отдельно. Графическое изображение композиции, отражает его сходство, по сути, с отношением агрегации. Отношение композиции может иметь кратность.

Отношение обобщения (generalization relationship)  показывает, что компонент является частным случаем другого компонента.  Графически это отношение обозначается непрерывной стрелкой от частного к общему. Например, Товар и Рыбные консервы.

Отношениями обобщения иллюстрируется наследование классов. В данном примере класс Рыбные консервы  наследует свойства и методы более общего класса Товар

Отношение обобщения может содержать поясняющий его идентификатор:

·        {complete} -  на диаграмме показаны все классы – потомки;

·        {incomplete} – на диаграмме указаны не все классы-потомки;

·        {disjoint}- множественное наследование не допускается;

·        {overlapping}-множественное наследование допускается.

Кроме классов,  на диаграммах могут присутствовать интерфейсы, объекты (экземпляры классов) и параметризованные классы (метаклассы, шаблоны).

Параметризованный класс (метакласс, шаблон) представляет собой семейство классов, каждый член которого может отличаться от других каким-либо параметром, указываемым в пунктирной рамке в правом верхнем углу изображения класса.

Диаграмма состояний. В процессе функционирования информационной системы свойства объектов системы будут принимать различные значения, а объекты системы – различные состояния. Состояние объектов, переходы  объектов из одного состояния  в другое, сообщения, которыми обмениваются объекты, образуют динамическую составляющую информационной системы.

 Для моделирования динамики ИС служат диаграммы состояний, деятельности, последовательности и кооперации, каждая из которых показывает будущую систему в своем ракурсе.

Диаграмма состояний описывает процесс изменения одного класса, а точнее – одного экземпляра класса. На диаграмме отражаются состояния и переходы между состояниями объекта под воздействием влияния факторов.

Состояние (states) на диаграмме состояний показывается прямоугольником с округленными вершинами. В каждом таком  прямоугольнике может быть одна (обязательная) секция, в которой записывается имя состояния и несколько других секций, обозначающих действие объекта в этом состоянии. Для имени рекомендуется использовать глаголы, причастие и непричастие.

Начальное состояние изображается  черным кружком, конечное – черным кружком в белом кольце. Начальное и конечное состояния могут отсутствовать. Примером  отсутствия конечого состояния может служить система, которая запускается один раз, а дальше функционирует в непрерывном режиме. Примером отсутствия   начального состояния  может служить функционирующая система, неизвестно когда возникшая. Примером отсутствия как конечного, так и начального состояния  могут служить циклические изменения какого-либо объекта.  Внутренние действия состояния описываются в следующем формате:

метка // действие

Здесь аргумент метка представляет собой одно из ключевых слов:

·        entry-действие выполняется  в момент перехода объекта в данное состояние;

·        exit-действие выполняется в момент выхода объекта из данного состояния;

·        do-действие выполняется во время нахождения объекта в данном состоянии;

·   includeобращение к подсостоянию (substate) данного состояния объекта.

Составное состояние (composite state) или суперсостояние – это такое состояние объекта, котрое включает в себя несколько подсостояний. Использование подсостояний удобно, когда на диаграмме требуется показать состояние объекта в зависимости от одного  из его свойств. Частными случаями составного состояния могут быть:

- последовательные состояния;

     - параллельные состояния.

Историческое состояние (history state) – это такое состояние,  последующие переходы в которое  означают переход к  последнему подсостоянию объекта. Переходы между состояниями в языке UML полагаются мгновенными, т.е. на переход из одного состояния объекта  в другое время не затрачивается.

Переходы  между состояниями изображаются  на диаграммах состояний стрелками, над которыми могут  указываться  событие (event), вызвавшее  этот переход, условие допустимости этого перехода (сторожевое условие)  и действия, сопровождающие этот переход, в формате:

событие(список параметров)[сторожевое условие]выполняемые действия 

События  на диаграммах состояний исполняют  роль триггеров – переход  не произойдет, пока  не случится  соответствующее событие.

Триггер - (от англ. trigger- защелка, спусковой крючок),  электронное устройство с двумя устойчивыми состояниями равновесия, чередующиеся  под воздействием внешних сигналов, предназначенных для записи и хранения 1 бита данных.

Если рядом  со стрелкой, обозначающей переход,  не указано событие, его специфицирующее, то такой переход называется  нетриггерным. Нетригггерный  переход происходит сразу  после  выполнения действий в этом состоянии.

Сторожевое условие (guard condition)  - некоторое логическое  выражение, являющееся  дополнительным условием  перехода.  Переход не произойдет, если сторожевое условие принимает значение false, даже в случае   наступления соответствующего события. Сторожевые условия  удобно использовать, когда из одного состояния,  при наступлении одного и того же  события, возможен переход в несколько других состояний.

 Например, пусть клиент в виртуальном магазине  выбрал товар (состояние - выбор)  и по окончании послал команду оплатить покупку (событие). Тогда товары доставляются  клиенту только в том случае, если на его счете есть достаточная сумма (работает переход в состояние, в котором выполняется  действие доставки), если же необходимая сумма отстутствует, возможны переходы в другие состояния.

Переходы могут быть простыми и сложными. Простой переход – это переход в другое или же в то же состояние объекта.  Переход в то же состояние на диаграммах  изображается  стрелкой, начинающейся и заканчивающейся у этого состояния. При каждом переходе  такого рода выполняются  соответствующие входные и выходные действия.

Сложные переходы – это переходы с несколькими  исходными (или конечными) состояниями объекта, а также переходы между  подсостояниями разных состояний.  Переход с несколькими исходными или несколькими конечными состояниями объекта (параллельный переход)  обозначается  жирной вертикальной  или горизонтальной  линией (линией синхронизации).

В общем случае  переходы на диаграммах  состояний принимаются асинхронными, т.е. не зависящими от других переходов. Однако  при проектировании может возникнуть необходимость показать синхронность переходов  между состояниями объекта. Это достигается  введением синхронизирующих состояний, обозначаемых символом  звездочка * внутри окружности.

Примечание. Нотация UML предоставляет широкие возможности для иллюстрирования процесса разработки информационных систем, что видно  на примере диаграмм состояний, на которых существует  возможность показать составные состояния, сложные переходы и т.д. В то же время злоупотребление сложными конструкциями в конечном итоге приводит только к трудностям в понимании диаграмм – цели, прямо противоположной заявленной нами. Такой же эффект дает перегрузка диаграмм объектами и связями между ними. Отсюда следует общая рекомендация к построению диаграмм: без необходимости не усложняйте диаграммы, не пытайтесь на одной диаграмме показать сразу все аспекты функционирования системы.

 

8 Лекция № 8. Диаграммы UML для описания потоков информации

 

 Диаграмма последовательности. Идея ООП заключается в том, что поставленная задача описывается образами некоторых самостоятельных сущностей (объектов). Эти объекты  в процессе функционирования системы обмениваются  сообщениями. Инструментом для отображения такого обмена  используются диаграммы последовательности. Основными компонентами диаграмм последовательности являются:

- пользователь,

- объект,

- линия жизни объекта (objectlifeline),

- сообщение (message),

- фокус управления (focus of control).

Объект изображается прямоугольником  с подчеркнутым именем, линия жизни объекта -  вертикальной пунктирной линией, сообщение – горизонтальной стрелкой, фокус управления – прямоугольником на линии жизни объекта.

Фокус управления  показывает какой именно элемент находится  в активном состоянии (действует).  Фокус управления может быть одновременно как у одного, так и у нескольких  объектов системы.  Фокус управления может передаваться  от одного объекта  другому.  Например, передача фокуса управления от объекта А объекту Б или В в зависимости  от условия, записываемого  возле символа ветвления.

Сообщения на диаграммах последовательности могут быть помечены идентификаторами, поясняющими их смысловую нагрузку (стереотипы):

- «call» - вызов объекта другого объекта;

- «return» - возврат значения вызвавшему объекту;

- «create» - создание объекта;

- «destroy» - уничтожение объекта, которому передается это сообщение;

- «send» - посылка асинхронного сигнала.

Рекурсия (самовызов) объекта на диаграммах последовательности может быть показана как сообщение вызова, обращенное  объектом к самому себе или специальным символом на изображении фокуса управления.

Диаграмма  сотрудничества  является разновидностью диаграмм взаимодействий. Современные программные средства построения диаграмм обеспечивают  автоматическое преобразование диаграмм данных видов друг в друга.

Если диаграмма последовательности ориентирована  на отображение временных аспектов взаимодействия, то диаграмма сотрудничества (диаграмма кооперации) показывает структурные особенности  взаимодействия  между объектами и является развитием идеи построения диаграмм сущность-связь.

Диаграммы сотрудничества бывают двух видов:

- Диаграмма сотрудничества уровня спецификаций классами, пользователями, кооперациями и ролями, которые играют пользователи и классы. Окружность – это кооперация, пунктирная линия – роль пользователя в кооперации, стрелка – отношение обобщения, общее для всех UML-диаграмм. Кооперация определяет взаимодействие классов.  Участвуя в кооперации, классы совместно производят некоторый кооперативный результат.

- Диаграмма сотрудничества уровня  примеров оперируют экземплярами классов (объектами), связями между ними и сообщениями, которыми обмениваются объекты.

Объекты на диаграммах сотрудничества обозначаются прямоугольниками. На этих диаграммах имя объекта может дополняться его ролью в сотрудничестве.  Объекты, которые могут управлять другими объектами, называются активными (active object) и помечаются словом {active}. Для обозначения группы объектов, которым адресован один и тот же сигнал, вводится понятие мультиобъекта, изображаемого графически двумя прямоугольниками, наложенными друг на друга. Составной объект состоит из других объектов.

Между объектами диаграмм сотрудничества существуют связи (links), по которым объекты посылают друг другу сообщения. Связи не имеют названий (они являются анонимными), но могут быть специфицированы ключевыми словами (стереотипами):

·    «association» - связь означает некую зависимость объектов;

«parameter» - объект полагается параметром метода;

·                   «local» - локальная переменная метода, область видимости которой ограничена соседним объектом;

·                    «global» - глобальная переменная, область видимости которой ограничена диаграммой сотрудничества;

·                    «self» - связь объекта с самим собой.

 Необходимо пояснить приведенные стереотипы. Связь  между объектами в информационной системе на уровне программирования на определенном языке осуществляется  посредством передачи параметров (переменных) от одного объекта  другому объекту. Например, объект Отдел продаж  передает объекту  Склад  некоторый принятый в организации документ (переменную), в котором сообщает о необходимости выделения продукции той или иной номенклатуры. Значение передаваемых параметров является содержанием передаваемого  сообщения.

Сообщения  на диаграммах сотрудничества изображаются  стрелками вдоль связей. Порядок передачи сообщений может быть определен явным указанием номера сообщения  возле стрелки. Вид сообщения несет дополнительную смысловую нагрузку в виде  определения ролей взаимодействующих объектов.  В зависимости от этого сообщения графически изображаются:

·  сплошной линией с треугольной стрелкой – такое сообщение означает вызов процедуры (метода объекта) или вызов другого потока управления,

·  сплошной линией с обычной стрелкой – такое сообщение означает простой поток управления, т.е. просто передачу данных;

·  сплошной линией с полустрелкой – такое сообщение не имеет заранее обусловленного времени передачи, являясь, как правило, асинхронным;

·  пунктирной линией с обычной стрелкой – такое сообщение означает возврат значения из процедуры.

Сообщение записывается в определенном формате.  Например:

1.2/[пароль]3.2 Форма_1A:=найти_сведения(Фамилия,Имя, Отчество)

Поясним данный пример. Эта запись означает, что данное сообщение будет передано только после сообщений с номерами 1 и 2 (предшествующие сообщения), при условии истинности введенного пароля (сторожевое условие). В потоке последовательных сообщений оно будет занимать место между сообщениями 3.1 и 3.3, при этом возможна параллельная передача  сообщения с другим сообщением, имеющим номер 3.2. Само сообщение  вызывает метод нахождения сведений о человеке по фамилии, имени и отчеству (список аргументов), предполагая предоставление карточки по форме 1А на запрашиваемое лицо (возвращаемое значение).

Диаграмма компонентов.  Информационные системы на уровне программного кода могут состоять из множества приложений, справочных файлов, исходных текстов, веб-документов, динамических библиотек. Распределение классов  и их экземпляров по файлам, взаимосвязи между файлами позволяют отобразить диаграммы компонентов.

Диаграммы компонентов играют существенную роль при оптимизации быстродействия системы. С их помощью выявляются  наиболее часто используемые компоненты, определяется их оптимальное распределение по модулям. На завершающих стадиях разработки информационной системы может возникнуть ситуация, когда незначительные изменения в реализации одного из компонентов потребуют перекомпиляции всех компонентов, созданных на их основе.  В этом случае пренебрежительное отношение к диаграммам данного вида может существенно  сказаться  на сроках сдачи проекта. Особенно это касается приложений с числом модулей  от тысячи и выше.

Основным элементов диаграмм компонентов является компонент (component), который графически изображается прямоугольником со встроенными слева прямоугольными секциями.  Внутри прямоугольника указывается  имя компонента, которым может быть имя  исполняемого файла, базы данных и т.д., а также служебная информация: версия, язык реализации, разработчик.

Иногда перед именем компонента указывается  его спецификация:

·   library – библиотека;

·  table база данных, отдельная таблица;

·  file – исходный текст программ;

·  document – документ;

·  executable –исполняемый файл.

Для некоторых компонентов  приняты специальные обозначения. К таким относятся:

-         динамические библиотеки;

-         справочные файлы;

-         исходные тексты программ;

-         веб-документы.

Эти обозначения вместе с обозначениями исполняемых модулей иногда называют артефактами.

Между компонентами  и другими элементами диаграммы компонентов существуют отношения зависимости, показывающие, что один компонент зависит от другого и при изменении одного компонента должен  меняться и другой, а также отношения реализации, изображаемые сплошной линией, либо указанием на соответствующие элементы внутри обозначения компонента.

Диаграмма развертывания  служит  для иллюстрации физического размещения  информационной системы на серверах, компьютерах пользователей, искусственных спутниках Земли, поездах, морских судах, внутри ЭВМ,  отображения физических каналов передачи информации между компонентами информационной системы.

Основным обозначением, используемым на диаграммах данного вида, является узел (node), который графически изображается аксонометрической  проекцией куба. Внутри обозначения узла указываются  его имя и развертываемые на нем компоненты, изображаемые так же, как на диаграмме компонентов.

Между узлами сплошными линиями показывают соединения, которые могут содержать пояснения относительно характера реализации связи между компонентами. 

Рассмотрены основные инструменты языка моделирования UML,  которые могут быть использованы для визуального моделирования  информационных систем.

 

Раздел II.

Информационные процессы  – основа информационных систем

 

9 Лекция № 9. Передача информации в информационной системе

 

 Понятие и структура информационного процесса. Из курса  информатики известно, что последовательность действий, выполняемых с информацией, называют информационным процессом, а системы, реализующие  информационные процессы, называют информационными системами.

С точки зрения возможности организации  конкретных информационных процессов различают информационно-справочные, информационно-поисковые системы, системы обработки и передачи данных, системы связи. Большинство  автоматизированных информационных систем являются  локальными системами и функционируют на уровне предприятий и учреждений. В настоящее время происходит интенсивный  процесс интеграции таких систем в корпоративные системы и далее – в региональные и глобальные системы.

Системы более высокого уровня становятся  территориально рассредоточенными, иерархичными как по функциональному принципу, так и по  их технической реализации. Обеспечение взаимодействия  территориально  рассредоточенных систем требует протяженных высокоскоростных  и надежных каналов связи, а увеличение  объема обрабатываемой информации – ЭВМ высокой производительности. Это приводит к необходимости коллективного  использования дорогостоящих средств автоматизации (ЭВМ и линий связи) и обрабатываемой информации (баз данных). Техническое  развитие  как самих  ЭВМ, так и средств связи, позволило решить эту проблему путем перехода к созданию распределенных информационно-вычислительных сетей коллективного пользования.

Централизация различных видов информации в одной сети дает возможность использовать ее для решения широкого спектра задач, связанных с административным управлением, планированием, научными исследованиями, конструкторскими разработками, технологией производства, снабжением, учетом и отчетностью.

Кибернетический подход. Если поставляемая информация извлекается  из какого-либо  объекта (процесса), а выходная  применяется для целенаправленного  изменения состояния того же объекта (процесса), причем абонентом, использующим информацию для выбора основных управляющих воздействий (принятия решений), является человек, то такую автоматизированную информационную систему называют автоматизированной системой управления (АСУ).

Управление и информация служат основными понятиями кибернетики – науки об общих принципах управления  в различных системах: технических, биологических, социальных и др.

Управление – функция  организованных систем различной природы (технических, биологических, социальных), направленная на реализацию их целевых установок и поддержание внутренней присущей им структуры.

Кибернетика – наука, изучающая с единых позиций связь и управление (самоуправление) в организованных системах любой физической природы.

Термин «кибернетика» произошел от греческого слова «кибернетикос» - искусный в управлении; в Древней Греции этого титула удостаивались люди, мастерски управляющие боевыми колесницами. Впоследствии это слово  было заимствовано римлянами; в латинском языке появилось слово «губернатор» (управляющий провинцией). Понятие «кибернетика»  как научный термин введено французским физиком Андре Мари Ампером, который назвал кибернетикой науку, занимающуюся  изучением искусства управления людьми, обществом. Основоположником кибернетики как науки считается американский математик Норберт Винер, который в 1948 г. опубликовал книгу «Кибернетика или управление и связь в животном и машине».

Система управления (кибернетическая система) может рассматриваться  как совокупность двух систем – управляющего объекта и объекта управления. При этом управляющая система воздействует на объект управления, подавая на него управляющие сигналы (управляющие воздействия). Для выработки управляющих решений, обеспечивающих  достижение цели управления, управляющая система получает информацию о состоянии объекта управления по линии обратной связи.

В настоящее время в науке об управлении существуют следующие общие законы:

1.     Всякое управление есть целенаправленный процесс.

2.     Всякое управление есть информационный процесс.

3.     Всякое управление осуществляется в замкнутом контуре (прямая и обратная линии связи).

АСУ нашли  широкое применение во всех сферах современного общества, в первую очередь как системы управления технологическими процессами и коллективами людей. АСУ технологическими процессами служат для автоматизации различных функций на производстве. Они широко используются  при организации поточных линий, изготовлении микросхем, для поддержания технологического цикла в машиностроении и т.д. Информационные системы организационного управления предназначены для автоматизации функций управленческого персонала, например, информационные системы управления банками, гостиницами, торговыми фирмами и т.д.

 Общая схема  передачи информации. Как было отмечено выше, передача информации от источника к пользователю (или получение и обмен информацией между различными объектами) является одной   из важных операций в информационном процессе. Следовательно, средство передачи информации является одной из важных составляющих информационной системы, и устойчивая работа (без существенных помех и потери информации) всей системы зависит от ее нормального функционирования.

Система передачи информации – совокупность технических средств (передатчик, приемник, линия связи), обеспечивающих возможность передачи сообщений от источника к получателю.

В состав обобщенной структурной схемы  передачи информации могут войти источник сообщений, передающее устройство, линия связи, приемное устройство, получатель сообщений и источник помех. Она может быть изображена в следующем виде:

 

Рисунок 1 – Общая структурная схема системы передачи информации

 

В данной схеме   между источником сообщений  и передающим устройством передается сообщение, передающее устройство обеспечивает преобразование  сообщения в сигнал; сигнал передается  по линии связи; приемное устройство преобразует принятый сигнал обратно в передаваемое сообщение. В современных цифровых системах связи  основные функции передатчика и приемника выполняет устройство, называемое модемом. На линии связи могут возникнуть различного рода помехи; в схеме влияние помех условно обозначено в виде источника помех.

Источник сообщений состоит из двух компонентов:

- источника информации, т.е. информации, получаемаой от исследуемого или наблюдаемого объекта;

- преобразователя сообщения.

Преобразователь сообщения  может выполнять две функции. Одной из них является преобразование сообщения физической природы (звук, изображение и т.д.) в первичный электрический сигнал.  Вторая его функция – преобразование большого объема информации в малый объем или кодирование. Поэтому  преобразователь сообщений иногда называют кодером (кодирующим устройством) источника информации.

Передающее устройство  осуществляет преобразование сообщений в сигналы, удобные для прохождения по конкретной линии связи.  В его состав  может входить устройство, обеспечивающее помехоустойчивое  кодирование. Это устройство называется кодирующим устройством или кодером канала.

Сущность помехоустойчивого кодирования состоит в том, что в кодовую комбинацию первичного сигнала по определенному правилу вводятся дополнительные, избыточные символы, которые не несут  информации  о передаваемом сообщении. Однако использование при передаче этих дополнительных символов позволяет на приемной стороне обнаруживать  и исправлять искаженные помехами символы первичного сигнала, что увеличивает достоверность передачи информации. В передающем устройстве первичный сигнал не передается непосредствено по линии связи, он преобразуется во вторичный сигнал,  пригодный для передачи  по линии связи. Такое преобразование осуществляется с помощью модулятора, который изменяет один из параметров высокочастотного колебания, генерируемого генератором высокой  частоты, в соответствии с изменением первичного сигнала.

Линия связи – это среда, используемая для передачи сигналов от передатчика к приемнику. Такой средой могут быть кабель, волновод или область пространства, в которых распространяются электромагнитные волны от передатчика к приемнику.

Совокупность средств, предназначенных для передачи сообщений, называют каналом связи. Для передачи информации от группы источников, сосредоточенных в одном пункте, к группе  получателей, расположенных в другом пункте, часто целесообразно использовать только одну линию связи, организовав на ней требуемое количество каналов. Такие системы называются многоканальными.

Приемное устройство  обрабатывает  принимаемый сигнал и восстанавливает по нему  переданное сообщение, т.к.  в процессе передачи сигнала по линии связи  он искажается помехой и на входе приемника отличается по форме от переданного.

Принимаемый  полезный высокочастотный сигнал  фильтруется и усиливается линейными каскадами приемного устройства и поступает на демодулятор, в котором высокочастотный сигнал преобразуется в низкочастотный первичный  сигнал. В декодирующем устройстве низкочастотный  сигнал преобразуется в кодовую комбинацию символов первичного сигнала. Одновременно в декодирующем  устройстве осуществляются  обнаружение и исправление искаженных символов первичного сигнала. Эта операция осуществляется в случае использования на передающей стороне помехоустойчивого кодирования. Таким образом, на выходе декодирующего устройстванаходится  кодовая комбинация символов первичного сигнала,  соответствующая  передаваемому сообщению.

Решающая схема. Однако в результате различных искажений и воздейстия помех, пришедший сигнал может отличаться от переданного.  Поэтому здесь приходится иметь дело со случайными процессами,  где требуется высказать различные предположения (гипотезы) о том, какое сообщение в самом деле передавалось. Здесь возникает задача для   приемного устройства:  принять решение о том, какое  из возможных сообщений действительно передавалось  источником. Для принятия такого решения должен быть проведен анализ принятого сигнала с учетом сведений об источнике, о применяемом помехоустойчивом  коде  в виде модуляции, а также о свойствах помех. В результате такого анализа принимается решение о том, какое сообщение передано. Часть приемного устройства, которая осуществляет такой анализ и принимает решение, называется решающей  схемой.

Как было отмечено ранее, сообщения бывают дискретными и непрерывными. В системах передачи непрерывных сообщений при аналоговой модуляции решающая схема  по пришедшему искаженному вторичному сигналу определяет наиболее вероятный  переданный первичный сигнал и восстанавливает его.  В этих системах решающей схемой является демодулятор, а кодирующее устройство в структурной схеме  приемника отсутствует.  В системах передачи дискретных сообщений решающая схема  состоит из двух частей – демодулятора и декодирующего устройства.  В некоторых случаях роль решающей схемы выполняет человек.

 Получатель сообщений  имеет  на выходе  декодирующего устройства кодовую комбинацию символов первичного  сигнала, соответствующауюопределенному сообщению. Детектор сигнала  преобразует кодовую комбинацию символов первичного сигнала в соответствующее сообщение, которое поступает на вход получателя информации, которому была  адресована исходная информация. Если  передача информации между передатчиком и приемником осуществляется одновременно в обе стороны, то такой режим называется дуплексным.  А если в каждый момент времени информация передается  только в одну сторону, то – полудуплексным.

Передача информации характеризуется  верностью передач; она является мерой соответствия принятого сообщения переданному.  Обеспечение верности передач является основной целью системы передачи информации.

 

10  Лекция № 10. Виды  сигналов

 

Общие сведения о сообщениях и сигналах. Сигнал – это материальный носитель информации. Для передачи информации в настоящее время используются электрические сигналы. Для определения электрического сигнала используется сила тока или напряжение.

По законам физики излучение электромагнитных волн эффективно, если размеры излучателя  соизмеримы  с длиной излучаемой волны. Поэтому передача сигнала по радиоканалам, кабелям, микроволновым линиям производится на высоких частотах, т.е. на коротких волнах. Сигнал передается на определенной частоте; она называется  «несущей» частотой. Процесс  изменения параметров несущей в соответствии с сигналом, передаваемым на этой несущей, называют модуляцией.

В качестве примера можно рассматривать  электрический сигнал в виде  видеоимпульса единичной амплитуды:

rectT(t-Δt)=1, если t[Δt, T+Δt];

rectT(t-Δt)=0, если t[Δt,T+Δt].

График этой функции имеет прямоугольную форму; высота прямоугольника равна единице, а ширина  равна T.

Тогда модулированное по амплитуде  этим сигналом синусоидальное колебание (радиоимпульс) можно записать в следующем виде:

u(t)=U rectT(t-Δt)sin(ωt-φ0)

где   U -амплитуда;

         T -длительность;

         Δt -временное положение;

         ω -частота;

        φ0- начальная фаза;

        rectT-единичная прямоугольная  функция.

В зависимости от передаваемой информации (сообщения) можно изменить любой из этих параметров. При этом можно получить виды сигналов.

Если изменить амплитуду колебания U, то можно получить амплитудно-модулированный сигнал; а если изменить частоту ω или фазу φ0, то соответственно частотно-модулированный  и фазо-модулированный  сигналы. При изменении длитльности T можно получить широтно-импульсную модуляцию, а при изменении временного положения Δt – время-импульсную модуляцию.

Наряду  с модуляцией в теории передачи информации существует понятие  манипуляции. Манипуляция – это дискретная модуляция, когда сообщение выступает как последовательность кодовых символов, которым соответствуют импульсы постоянного напряжения с одинаковой длительностью, но различной полярности. Кодовыми символами могут быть «0» и «1». Такая последовательность импульсов с помощью манипулятора  преобразуется  в последовательность элементов сигнала. В этом случае можно получить амплитудную, частотную  и фазовую модуляции (манипуляции).

Различные виды модуляции имеют различные характеристики  по помехоустойчивости. Среди них  наиболее  помехоустойчивой является  фазовая модуляция (манипуляция). Это связано с тем, что воздействующие помехи  имеют амплитудный характер, а  параметр фазы менее других параметров подвергается этому воздействию.

Преобразование сообщения в электрический сигнал осуществляется с помощью различных датчиков, называемых преобразователями сообщений. Например, при передаче речи это преобразование выполняет микрофон, при передаче изображения – ЭЛТ (электронно-лучевая трубка). Сигнал на выходе, называемый первичным сигналом, является  низкочастотным колебанием и не может быть передан на большие расстояния. Поэтому он должен быть преобразован  в высокочастотный сигнал. Для этой цели предусмотрены специальные устройства – модуляторы.

Основными параметрами сигнала  является длительность сигнала T и ширина спектра. Любой сигнал имеет начало и конец, а интервал времени T определяет его длительность.

Спектром сигнала является функция u(t) – совокупность его гармонических составляющих (гармоник), образующих ряд Фурье:

         u(t)=              (1)      

где  - частота повторения сигнала (или частота первой гармоники),

       k -  номер гармоники.

Формулу (1) можно записать в другом виде:

            u(t)=               (2)

где      - амплитуда,  = -arctg(bk/ak ) - фаза гармоник (косинусоид).  Можно применять ряды с синусоидами  под знаками суммы.

Из курса математики известно, что коэффициенты Фурье определяются с помощью следующих интегралов:

 ,                                                                           (3)

  ,                                                                          (4)

где   - период повторения сигнала , т.е. периодической функции  u(t).

Для определения численных значений коэффициентов Фурье (3) и (4) могут быть использованы формулы численного (приближенного) интегрирования:

                                                                           (5)

                                                                            (6)

где шаг по переменной t.

Объемом сигнала  называют величину  V=PΔFT, где P-мощность сигнала (Вт), ΔF -ширина его спектра или полоса (Гц), T -время передачи сигнала (с). Произведение  длительности сигнала T на его полосу ΔF называют базой сигнала B=ΔFT. Если база сигнала порядка единицы B=1, то такие сигналы называют узкополосными. При  B>>1  сигналы называют широкополосными.

Сигналы могут быть непрерывными и дискретными. Сигнал считают дискретным по данному параметру, если число  значений, которое может принимать этот параметр, конечно (или счетно). Если  параметр сигнала  может принимать любые значения в некотором интервале, то сигнал называют непрерывным по данному параметру. Сигнал, дискретный по одному параметру и непрерывный по другому, называют  дискретно-непрерывным.

В  соответствии с этим  существуют  некоторые разновидности математических моделей детерминированного сигнала:

·  непрерывная функция непрерывного аргумента, например, непрерывная  функция  времени;

·  непрерывная функция дискретного аргумента, например, функция, значения которой отсчитывают только в определенные моменты времени;

·  дискретная функция непрерывного аргумента, например, функция времени, квантованная по  уровню;

·  дискретная функция дискретного аргумента, например, функция, принимающая одно из конечного  множества возможных значений (уровней) в определенные моменты времени.

 

11 Лекция № 11.  Математические модели сигналов

 

 Сигнал как случайный процесс. Сообщения, вырабатываемые источником, для получателя заранее неизвестны, кроме этого, они подвергаются влияниям случайных помех. Поэтому сообщения рассматриваются как случайные события, а соответствующие им сигналы - как случайные функции. В связи с этим, в теории систем передачи информации используется такой раздел  математики  как теория вероятностей.

Так как источник сообщений выдает каждое сообщение с некоторой вероятностью, то предсказать точно изменения значения информативного параметра невозможно. Следовательно, сигнал представляет собой случайное колебание и его аналитической моделью может быть только случайный процесс, определенный вероятностными характеристиками.

Случайный процесс может быть задан множеством возможных его реализаций с соответствующей вероятностью  появления той или иной реализации.  Каждая из n реализаций случайного процесса может быть сопоставлена сигналу, несущему информацию об i-ом сообщении из n возможных сообщений, вырабатываемых источником.

Значение случайного процесса  в момент времени t=t1 является случайной величиной. Эту случайную величину  называют сечением случайного процесса. Возможные значения  случайной величины в сечении t=t1 соответствуют мгновенным значениям сигналов  в данный момент времени. Из теории вероятностей известно, что любая случайная величина характеризуется одномерной дифференциальной функцией или плотностью распределения вероятности  f(u,t1)=f(u1).

Одномерная плотность вероятности описывает вероятностные свойства случайного процесса только  для одного момента времени и не несет другой информации. Например,  о связи  между двумя  случайными величинами для сечений  t=t1 и  t=t2.  Связь между значениями случайного процесса в разные моменты времени t=t1 и  t=t2 определяется  двумерной плотностью распределения вероятности f(u1,u2), а для n-мерного случая  следующей функцией распределения вероятностей f(u1,u2, . . . , un).

Однако на практике в основном используют числовые характеристики случайного процесса: математическое ожидание mu, дисперсию σu2 и корреляционную функцию     K(t2-t1).

Математические модели  сигналов и помех.  Для получателя информации помеха – это случайное воздействие на передаваемый сигнал, приводящее к его изменению.  Поэтому помеху рассматривают как случайный процесс, характеризующийся своим законом распределения и своим  возможным множеством (ансамблем) реализации.

Для теоретического рассмотрения процессов  передачи информации в радиотехнических системах  широко используется  математическое моделирование реальных сигналов и помех.

Математическая модель сигнала (помехи) – это математическая форма представления сигналов и помех. Главное требование к математической модели – она должна быть такой, чтобы в наибольшей степени соответствовала реальным сигналам.

В общем случае математическая модель  конкретного i-го сигнала  может быть записана в виде обобщенного ряда Фурье:

ui(t)=                                                                                       (7)

где - коэффициенты разложения, а  - базисные функции разложения, удовлетворяющие условию ортогональности:

                         C при  k=j, 0 при kj

Если в качестве базисных функций выступают следующие функции:

ηk(t)=                              (8)              

где  , - верхняя частота в спектре i-го сигнала, то  такое разложение в ряд Фурье называется разложением по базису Котельникова. В данном случае  i-й сигнал запишется в следующем виде:

                ui(t)=                   (9)

где ui(kΔt)- значение сигнала в момент времени t=kΔt, k=0,1,2,. . . ,n.    

 Преобразование аналоговой информации в цифровую форму. При использовании ЭВМ для обработки информации от различных устройств (объектов процессов), в которых информация представлена  непрерывными  (аналоговыми) сигналами, требуется преобразовать аналоговый сигнал в цифровой – в число, пропорциональое амплитуде этого сигнала, и наоборот.

В общем случае  процедура аналогового-цифрового преобразования состоит из трех этапов:

·    дискретизация;

·    квантования по уровню;

·    кодирования.

 Дискретизация – преобразование функции непрерывного аргумента (времени)  в функцию дискретного аргумента (времени), а сам процесс дискретизации состоит  в замене непрерывной функции ее отдельными значениями в фиксированные  значения аргумента (моменты времени).

Дискретизация  может быть равномерной  и неравномерной. При равномерной дискретизации длительность интервалов между отсчетами постоянна, а при неравномерной – различна.  Наиболее часто используется равномерная дискретизация. Период дискретизации непрерывного сигнала  выбирается  в соответствии с теоремой Котельникова.

Теорема Котельникова.  Период дискретизации Tg непрерывного сигнала  u(t) определяется формулой:

 Tg=,                                         (10)

где   - высшая частота в спектре частот  сигнала.

 Квантование – преобразование  некоторой величины с непрерывной шкалой значений  в величину, имеющую дискретную шкалу значений.

Для этого  весь диапазон  значений сигнала u(t),  называемый  шкалой,  делится  на равные части – кванты, h - шаг квантования.  Процесс квантования  сводится к замене любого мгновенного значения одним из  конечного множества разрешенных значений, называемых уровнями  квантования.

Для  ускорения  процесса преобразования, упрощения  и удешевления  преобразователя надо выбирать максимально допустимый шаг квантования, при котором погрешности еще не выходят  за допустимые пределы.

 Кодирование. Каждое дискретное  значение сигнала  представляется  двоичным кодом в виде сигналов двух уровней. Наличие или отсутствие  импульса  на определенном месте интерпретируется единицей или нолем в соответствующем разряде двоичного числа.

Таким образом, в результате  дискретизации, квантования и кодирования аналогового сигнала можно получить последовательность  n-разрядных кодовых комбинаций, которые следуют с   периодом дискретизации Tg.

 

 

 

12 Лекция №12.  Каналы передачи данных и их характеристики

 

Измерение информации. При реализации информационных процессов всегда происходит перенос информации в пространстве и времени от источника информации к приемнику получателя.  При этом  для передачи информации используют  различные знаки или символы, позволяющие выразить ее в некоторой форме, называемой сообщением.

Сообщение – форма представления информации в виде совокупности знаков  (символов), используемая для передачи.

Из курса информатики известно, что сообщение как совокупность знаков изучается семиотикой на  трех уровнях: синтаксическом, семантическом и прагматическом уровнях.  Для каждого из этих уровней передачи информации существуют свои подходы к измерению количества информации и свои меры  информации.

Для измерения информации на синтаксическом уровне  вводятся параметры: объем информации и количества информации.  Для измерения смыслового содержания информации, т.е. количества на семантическом уровне, наибольшее распространение получила тезаурусная мера. Тезаурусная мера определяет  способность пользователя принимать поступившее сообщение.  Тезаурус – совокупность сведений, которыми располагает пользователь или система.  Мера информации прагматического уровня определяет полезность (ценность) информации.

Каналы передачи информации. В предыдущих лекциях было отмечено, что для передачи  данных  используются  каналы. Каналом передачи информации называют  совокупность технических средств, обеспечивающую передачу электрических сигналов от одного пункта  к другому.  Входы  канала  подключаются  к передатчику, а выходы – к приемнику.  В современных цифровых системах  связи  основные функции передатчика и приемника выполняет модем. Одной из основных характеристик канала является скорость передачи информации. Максимально возможная скорость  передачи информации (данных) по каналу связи при фиксированных  ограничениях называется емкостью канала. Пусть она обозначается через C и имеет размерность бит/с.

В общем случае емкость канала можно определить по формуле:

                 C=,                                                                                      (1)

где I- количество переданной за время T информации.

В качестве меры количества информации можно принять меру, предложенную Р.Хартли, определяемую как логарифм возможных состояний объекта L:

                I=log2L.                                 (2) 

Для определения L можно использовать теорему Котельникова, которая доказывает, что  сигнал, не содержащий в своем спектре  частот выше  F, может представляться 2F независимыми значениями в секунду, совокупность которых полностью определяет этот сигнал. Данная  процедура, называемая  аналого-цифровым  преобразованием, была рассмотрена в предыдущей лекции. Она состоит из двух этапов:

- дискретизация  по времени, т.е. представление  сигнала  в виде n отсчетов, взятых через  интервал времени t =;

- квантование по уровню, т.е.  представление амплитуды сигнала одним из  m возможных значений.

 Теперь необходимо определить  количество различных сообщений, которое можно составить из n элементов,  принимающих любые из m фиксированных состояний. Из ансамбля  n элементов, каждый из которых может находиться  в одном из m фиксированных состояний, можно составить различные комбинации, т.е. L= mn.  Тогда из  формулы (2) следует

                             I=log2mn=nlog2m.                     (3)

За время  T  число отсчетов  n=T/t=2FT.

Если бы шума не существовало, то число m дискретных уровней сигнала было бы бесконечным. В случае  наличия шума последний определяет степени различимости отдельных уровней амплитуды сигнала. Так как мощность является усредненной характеристикой амплитуды, число различимых уровней сигнала по мощности равно  (Pc+Pш)/Pш,    а по амплитуде соответственно:

                  m = .

Тогда емкость канала:

C==Flog2(1+)                                 (4)

Итак, емкость канала ограничивается двумя величинами: шириной полосы канала и шумом. Соотношение (4) известно как формула Хартли-Шеннона и считается основной в теории информации. Полоса частот и мощность сигнала входят в формулу таким образом, что для C=const при сужении полосы необходимо увеличивать мощность сигнала, и наоборот.

Основные характеристики каналов. К основным характеристикам  каналов связи относятся:

·        амплитудно-частотная характеристика (АЧХ);

·        полоса пропускания;

·        затухание;

·        пропускная способность;

·        достоверность передачи данных;

·         помехоустойчивость.

Для определения  характеристик канала связи  применяется  анализ его реакции на некоторое  эталонное воздействие. Чаще всего в качестве эталона используются синусоидальные сигналы разных частот.

Амплитудно-частотная характеристика показывает, как изменяется  амплитуда синусоиды на выходе линии связи по сравнению с амплитудой на ее  входе для всех частот передаваемого сигнала.

Полоса пропускания – это диапазон частот, для которых отношение амплитуды выходного сигнала к входному превышает некоторый заданный  предел (для мощности 0,5).  Эта полоса частот определяет диапазон частот синусоидального  сигнала, при которых этот сигнал  передается по линии связи без значительных искажений. Ширина полосы пропускания влияет на максимально возможную скорость передачи информации по линии связи.

Затухание – определяется как относительное уменьшение амплитуды или мощности сигнала при передаче по линии связи сигнала определенной частоты. Затухание обычно измеряется в децибелах (дБ) и вычисляется по формуле:

L=10 lg(Pвых / Pвх)

где Pвых- мощность сигнала на выходе линии;

      Pвхмощность сигнала на входе линии.

Пропускная способность линии  характеризует максимально возможную скорость передачи данных по линии связи и измеряется в битах в секунду (бит/с), а также  в производных единицах Кбит/с, Мбит/с, Гбит/с. На пропускную способность линии оказывает влияние физическое и логическое кодирование. Способ представления дискретной информации в виде сигналов, передаваемых на линию связи, называется  физическим линейным кодированием. От выбранного способа кодирования зависит спектр сигнала и соответственно  пропускная способность линии.  Таким образом, для  каждого способа кодирования линия может иметь разную пропускную способность.

На  пропускную способность оказывает влияние логическое кодирование, которое выполняется  до физического и подразумевает замену бит исходной информации новой последовательности бит, несущей  ту же информацию, но обладающей при этом дополнительными свойствами (обнаруживающие коды, шифрование). При этом искаженная  последовательность  бит заменяется более длинной последовательностью, поэтому пропускная способность канала уменьшается.

Достоверность передачи данных  характеризует вероятность искажения для каждого передаваемого бита данных. Показателем достоверности является вероятность ошибочного приема информационного символа  -  Pош. Величина Pош  для каналов связи  без дополнительных средств защиты от ошибок составляет, как правило, 10-4... 10-6.  В оптоволоконных  линиях связи это составляет 10-9. Это означает, что при Pош= 10-4  в среднем из 10000 бит искажается значение  одного бита. Искажения бит  происходят из-за наличия помех на линии или из-за искажений формы сигнала, ограниченной полосой пропускания линии. Поэтому для повышения достоверности передаваемых данных необходимо повышать степень помехозащищенности, а также использовать более широкополосные линии связи.

 

13  Лекция № 13. Физическая среда  канала связи

 

Непременной  составной частью любого канала является линия связи – физическая среда, обеспечивающая поступление сигналов от передающего устройства к приемнику. В зависимости от среды передачи данных линии связи могут быть:

·        проводные (воздушные);

·         кабельные (медные и волоконно-оптические);

·        радиоканалы  наземной и спутниковой связи (беспроводные каналы связи).

Проводные линии связи  представляет собой  проложенные между опорами провода без каких-либо экранирующих или изолирующих оплеток. По таким линиям связи передаются, как правило, телефонные и телеграфные сигналы.

Кабельные линии связи представляют собой  пучок проводов, заключенных в одну  или несколько  защитных трубок. В современных системах связи применяют три основных типа кабеля:

-         на основе скрученных пар медных проводов;

-         коаксиальные кабели с медной жилой;

-         волоконно-оптические кабели.

Беспроводные линии связи  основаны на распространении электромагнитных волн (радиоволн). Наиболее освоенный диапазон длин волн находится в пределах от 10 до 2.10-9 м. По осбенностям  распространения  в различных физических средах спектр радиоволн делят  на отдельные диапазоны.  В соответствии с рекмендациями Международного консультативного  комитета по радио (МККР) принят десятичный принцип классификации радиоволн.

Таблица 1 - Обозначения диапазонов радиочастот

Условное обозначение

Наименование волн

Границы диапазона

Диапазон частот

ОНЧ (VLF)

Мириаметровые

100-10 км

3...30 кГц

НЧ (LF)

Километровые

10-1 км

30...300 кГц

СЧ (MF)

Гектометрвые

1000-100 м

300...3000 кГц

ВЧ (HF)

Декаметровые

100-10 м

3...30 МГц

ОВЧ (VHF)

Метровые

10...1 м

30...300 МГц

УВЧ,УКВ (UHF)

Дециметровые

100...10 см

300...3000 МГц

СВЧ (SHF)

Сантиметровы

10-1 см

3...30 ГГц

КВЧ (EHF)

Миллиметровые

10-1 мм

30...300 ГГц

 

Аппаратура линий связи  подразделяется на:

- аппаратуру приема-передачи данных, называемую аппаратурой  окончания канала  данных (DCEData Circuit terminating Equipment), которая непосредственно связывает источник и получателя сообщения;

-  промежуточную аппаратуру.

DCE работает на физическом уровне, отвечая  за передачу и прием сигнала нужной формы и мощности в физическую среду.  Примеры  DCE: модемы, терминальные адаптеры сетей, оптические модемы, устройства  подключения к цифровым каналам.

Промежуточная аппаратура  используется  на линиях связи большой протяженности и решает две основные задачи:

-         улучшение качества сигнала;

-         создание составного канала связи между абонентами в вычислительных сетях.

Если требуется обеспечить качественную передачу сигналов на большие расстояния, то необходимы усилители сигналов, установленные через определенные расстояния.  В сетях передачи данных используется также и другая  промежуточная аппаратура:

-          мультиплексоры;

-          демультиплексоры;

-          коммутаторы.

Мультиплексор – устройство, обеспечивающее  совмещение сообщений, поступающих по нескольким каналам ввода, в одном выходном канале.

Демультиплексор – устройство, выполняющее операцию, обратную мультиплексированию (уплотнению).

Коммутатор – комбинационная схема, коммутирующая один из n  входов с  m выходами.

В зависимости  от типа  промежуточной аппаратуры все линии связи  делятся на:

- аналоговые;

 - цифровые.

В аналоговых линиях связи  промежуточная аппаратура предназначена для усиления аналоговых сигналов, которые имеют непрерывный дипазон значений.  Такие линии связи применяются  в телефонных сетях для связи АТС между собой. Для создания высокоскоростных каналов в аналоговых линияях связи используется  техника частотного мультиплексирования (FDM), при которой в одном канале объединяются  несколько низкоскоростных абонентских каналов.

В цифровых линиях связи  передаваемые сигналы имеют конечное число остояний. С помощью  таких сигналов передаются  компьютерные данные, а также оцифрованные  речь и изображение. Промежуточная аппаратура образования высокоскоростных цифровых каналов работает, как правило, по принципу временного мультиплексирования каналов (TDM), когда  каждому низкоскоростному каналу выделяется определенная доля времени высокоскоростного канала. 

 

14  Лекция №14.  Информационные сети

 

Телекоммуникационной сетью  называют систему, состоящую из объектов, осуществляющих функции генерации, преобразования, хранения и потребления продукта, называемых узлами сети, и линий передачи, осуществляющих передачу продукта между узлами.  Линиями передачи могут быть линии связи, коммуникаций,  соединений.  Продуктами могут быть информация, энергия, масса и т.д. В зависимости от вида продукта различают  информационные, энергетические и другие сети.

Информационная сеть – коммуникационная сеть, в которой продуктом генерирования, переработки, хранения и использования является информация. Примерами информационной сети являются телефонные, телеграфные, телевещательные и другие  сети.

Вычислительная сеть – информационная сеть, в состав которой входят вычислительные оборудования. Компонентами вычислительной сети могут быть ЭВМ и ее периферийные устройства, которые являются источниками и приемниками данных, передаваемых по сети.

Классификация вычислительных систем. В зависимости от расстояния  между узлами сети могут быть разделены на три класса:

- локальные (ЛВС, LAN-Local Area Network) – охватывающие ограниченную территорию в пределах удаленности станций не более чем на несколько десятков или сотни метров:

корпоративные (масштаба предприятия) – совокупность, связанных между собой ЛВС, охватывающих территорию, на которой размещено одно предприятие или учреждение в одном или нескольких зданиях;

- территориальные – охватывающие значительное географическое пространство, среди которых могут быть выделены региональные (MAN -Metropolitan Area Network) и глобальные (WAN - Wide Area Network).

Из глобальных особо выделяют сеть Интернет, которая  объединяет десятки тысяч сетей ЭВМ, охватывающих практически все страны мира, имеющих сотни миллионов пользователей.

Важным признаком  классификации вычислительных сетей является их топология, определяющая геометрическое расположение основных ресурсов  сети и связей между ними. В зависимости от топологии соединений узлов различают сети: шинной или магистральной, кольцевой, звездной, иерархической и произвольной структуры. Наиболее распространены шинная, кольцевая и звездная.

Коммутацией данных  называется  их передача, при которой канал передачи может использоваться попеременно  для обмена информацией между различными пунктами информационной сети.

Коммутация отличается от связи через  некоммутируемые каналы, закрепленные за определенными абонентами. Существуют следующие  способы  коммутации данных:

-         коммутация каналов (circuit switching);

-         коммутация пакетов (packet switching);

-         коммутация сообщений (message switching).

Коммутация каналов – образование  непрерывного физического  канала из последовательно  соединенных отдельных участков сети. Установление связи  между источником и адресатом  производится  путем посылки   пунктом отправления сигнализирующего сообщения. Это сообщение перемещается  по сети  передачи данных от одного узла  коммутации каналов  к другому и, занимая  пройденные каналы, прокладывает путь от источника  к пункту назначения. Этот путь (составной канал)  состоит из физических каналов, имеющих одну и ту же  скорость передачи данных. Об установлении  физического соединения  из пункта назначения  в источник  посылается сигнал обратной связи. Затем из источника передается  сообщение по установленному пути с одновременным использованием всех образующих его каналов, которые оказываются недоступными для других передач, пока источник  их не освободит. Отдельные участки сети (каналы) соединяются между собой специальной аппаратурой - коммутаторами.

Коммутация пакетов позволяет добиться дальнейшего увеличения пропускной способности сети, скорости и надежности передачи данных.  Суть метода заключается  в следующем. Поступающее  от абонента сообщение подвергается пакетированию, т.е. разбивается на пакеты, имеющие  фиксированную длину.  Каждый пакет снабжается  заголовком, в котором находится  адресная информация и номер пакета для сборки сообщения.  Пакеты транспортируются  сетью как независимые информационные блоки. Коммутаторы сети  принимают пакеты от конечных узлов и на основании адресной информации передают их друг другу, и в конечном  итоге получателю сообщения. Коммутаторы пакетной сети отличаются  от коммутаторов каналов тем, что имеют внутреннюю буферную память для временного хранения пакетов, если выходной  порт коммутатора  в момент принятия  пакета занят передачей другого пакета. В этом случае пакет находится  некоторое время в очереди пакетов в буферной  памяти выходного порта.  Когда  дойдет очередь,  он передается  следующему коммутатору. Такая схема передачи данных позволяет сглаживать  пульсации графика на линиях между коммутаторами и тем самым использовать их более эффективно для повышения пропускной способности сети в целом.

Коммутация сообщений является методом физического соединения, когда  соединение  устанавливается  только между соседними  узлами сети и только на время  передачи сообщения.  Каждое сообщение снабжается  заголовком  и транспортируется  по сети  как единое целое.  Поступающее в узел  сообщение запоминается  в его буферном  запоминающем устройстве и в подходящий момент, когда освободится  соответствующий канал связи, передается  в следующий,   соседний узел. Коммутация сообщений  по сравнению с коммутацией каналов позволяет ценой усложнения  аппаратуры узла коммутации, уменьшить задержку при передаче  данных и повысить   общую пропускную способность сети передачи данных.

Модель согласованного  взаимодействия  открытых систем. Задача согласованного взаимодействия  различных ресурсов сети решается с помощью  специальных процедур, называемых протоколами. 

Протокол – совокупность соглашений  относительно способа представления данных, обеспечивающего их передачу в нужных направлениях и правильную интерпретацию данных всеми участниками  процесса информационного обмена.

Так как  обмен информацией является  многофункциональным процессом, поэтому  протоколы делятся на уровни. К каждому уровню  относится группа родственных функций. Для правильного взаимодействия  узлов различных вычислительных сетей  их архитектура должна быть открытой. Этим целям служат  унификация и стандартизация в области  телекоммуникаций и вычислительных  сетей.  Наибольшее  распространение получила в настоящее время эталонная модель обмена информацией  открытой системы OSI (Open System Interchange). Открытая система – система, имеющая  возможность взаимодействия с другими системами.

Стандарт OSI предложен  в 1984 году Международной организацией стандартов ISO (International Standards Organization). Это основная архитектурная  модель, на которой основано сетевое взаимодействие  всех современных компьютеров. Согласно данной модели типовая сетевая архитектура  включает семь уровней:

-         прикладной (application);

-         представительный (presentation),

-         сеансовый (session);

-         транспортный (transport);

-         сетевой (network);

-         канальный (data),

-         физический (physical).

Каждый  уровень обладает собственными уникальными функциями и протоколами.

Прикладной уровень (application) включает в себя  средства управления прикладными процессами. Эти процессы  могут объединяться  для выполнения  поставленных заданий, обмениваться  между собой данными. На этом уровне определяются и оформляются в блоки  те данные, которые должны быть переданы по сети.

Представительный   уровень (presentation)  включает в себя функции представления данных: кодирование, форматирование и структурирование. На этом  уровне  данные, выделенные для передачи, преобразуются в коды.

Сеансовый уровень (session)  предназначен для организации и синхронизации диалога, ведущегося объектами (станциями) сети.  На этом уровне определяются тип связи, начало и окончание  заданий,  последовательность, режим обмена  запросами  и ответами взаимодействующих партнеров.

Транспортный уровень (transport) предназначен  для управления сквозными каналами в сети передачи данных. На этом уровне обеспечивается  связь между оконечными пунктами. К функциям  этого уровня  относятся  сборка-разборка пакетов, обнаружение и устранение  ошибок в передаче данных, реализация заказанного уровня услуг, например, заказанной скорости и надежности  передачи.  На этом уровне  пакеты называются сегментами.

Сетевой уровень (network) предназначен для управления передачей пакетов  через промежуточные узлы и сети, контроля  нагрузки на сеть с целью предотвращения перегрузок, отрицательно влияющих  на работу сети, маршрутизации пакетов, т.е. определение и реализация  маршрутов, по которым передаются пакеты.  Маршрутизация сводится к определению логических каналов. Логическим каналом  называется  виртуальное соединение двух или более  объектов сетевого  уровня, при котором возможен обмен данными между  этими объектами. Понятие «логический канал» введено для абстрагирования от физической реализации соединения.

Канальный  уровень (data, link)  предоставляет услуги по обмену данными между логическими объектами сетевого уровня  и выполняет функции, связанные  с формированием и передачей кадров, обнаружением и исправлением ошибок, возникающих на следующем, физическом, уровне.  Кадром называется  пакет канального уровня.

Физический уровень (physical)  предоставляет механические, электрические, функциональные и процедурные  средства для установления, поддержания и разъединения логических соединений между логическими объектами канального уровня, а также реализует функции передачи битов данных через физические среды.  На физическом уровне  осуществляется   представление информации в виде электрических или оптических сигналов, преобразования  формы сигналов, выбор параметров физических сред передачи данных.

В конкретных случаях может  возникать потребность  в реализации  части названных функций. Тогда  в сети  имеется часть уровней. Например, в простых  ЛВС  могут отсутствовать средства сетевого и транспортного уровней.

Унификация и стандартизация  привели к появлению  большого количества различных протоколов.  Существуют несколько  стандартных наборов протоколов, называемых стеками:

-         набор протоколов ISO/OSI;

-         IBM System Network Architecture (SNA);

-         Digital DEC net;

-         Novel Net Ware;

-         набор протоколов глобальной сети Интернет TCP/IP.

Стек коммуникационных протоколов – иерархически организованный набор  протоколов, достаточный  для организации взаимодействия узлов в сети.

 

15  Лекция № 15. Контроль передачи информации и сжатие данных

 

Методы повышения достоверности передачи информации.  В системах передачи информации из-за воздействия  различных факторов,  прием сообщений происходит с ошибками.  Примером таких факторов может быть  воздействие помех в канале связи. Например,  вместо  символа «1» принимается символ «0» или наоборот, вместо «0» символ «1». В настоящее время к современным системам передачи данных предъявляются повышенные требования по достоверности  передаваемой информации.

Достоверность передачи данных  характеризует вероятность искажения для каждого передаваемого бита данных.  Показателем достоверности является  вероятность ошибочного приема информационного символа.

 Стандартами Международных организаций установлено, что вероятность ошибки  при передаче данных не должна превышать 10-6  на единичный элемент. Это означает, что не должно быть более одного ошибочного символа на  один миллион переданных по линии связи двоичных элементов. На практике  допустимая вероятность ошибки при передаче данных может быть еще меньше, 10-9 .

Для достижения  такой достоверности передаваемой информации должны быть использованы специальные методы, основанные на введении избыточности в передаваемый сигнал. Объем передаваемого сигнала V = PΔFT (или избыточность) может быть увеличен за счет увеличения либо мощности P, либо ширины спектра ΔF, либо времени передачи T. Так как практические возможности увеличения избыточности  за счет мощности и ширины спектра сигнала в системах передачи дискретной информации по стандартным каналам ограничены, получили развитие методы повышения достоверности  передаваемой информации, онованные на увеличении времени передачи.

Методы, основанные на увеличении времени передачи сигнала, реализованы  системами без обратной связи и  системами с обратной связью.

В системах  без обратной связи (однонаправленных системах) для повышения верности приема сигнала используются следующие основные способы:

-    многократная передача кодовых комбинаций;

-  одновременная передача  кодовой комбинации по нескольким  параллельно работающим каналам;

-  использование корректирующих кодов, т.е. кодов, исправляющих ошибки.

Многократное  повторение кодовой комбинации является самым простым способом  повышения достоверности и легко реализуется. В этом случае  за истинный сигнал принимают  тот, который  большее количество раз появляется. Недостатком такого способа  является увеличение времени передачи, что приводит к уменьшению скорости.

Передача  кодовой комбинации по нескольким параллельным каналам связи  аналогичен способу многократного повторения. В этом случае необходимо иметь несколько каналов.

Более эффективным является использование корректирующих кодов, исправляющих ошибки. При этом в кодовые комбинации вводится постоянная, заранее рассчитанная избыточность, т.е. дополнительные элементы, сформированные по известным правилам. Как правило, вводится  переменная избыточность в сообщение в зависимости от состояния канала. Такие системы являются адаптивными, т.е. приспосабливающимися  к условиям канала. Для построения таких систем необходимо иметь возможность оценивать на приеме статистику ошибок в канале и передавать эти данные  на передающую станцию. Поэтому необходимо иметь дополнительный обратный канал от приемника к передающей станции. Это означает, что система связи должна быть с обратной связью.

Системы с обратной связью делятся на три группы:

-         системы с решающей обратной связью (РОС);

-         системы с информационной обратной связью (ИОС);

-         системы с комбинированной обратной связью (КОС).

Во всех случаях при обнаружении ошибки будет повторение переданной кодовой комбинации.

В системах с РОС передаваемое сообщение кодируется  обнаруживающим ошибки кодом, на приемной стороне проверяется наличие искажений в кодовой комбинации. Если будет обнаружена ошибка, то по обратному каналу передается сигнал  переспроса. После этого передатчик повторяет  переданную комбинацию.

В системах с ИОС решение о наличии ошибки принимает передающая сторона. Приемник передает по обратному каналу принятую  кодовую комбинацию или специальные сигналы, характеризующие качество принятого сигнала. Эти сведения называются  квитанциями.

Системы с  КОС представляет собой сочетание информационной и решающей обратных связей. В таких системах решение о выдаче информации абоненту или о повторной передаче может приниматься и в приемнике, и в передатчике. Канал обратной связи может использоваться  для передачи как квитанций, так и решений о неправильно принятой кодовой комбинации.  Системы с КОС являются наиболее помехоустойчивыми.

Сжатие данных. Сжатие – процесс преобразования  большого объема  данных в меньший объем.  Для оценки эффективности сжатия  используют показатель – степень сжатия. 

Существуют большое количество  методов сжатия данных.  Алгоритмы сжатия  делятся на две категории:  симметричные и асимметричные.

Метод симметричного сжатия основан примерно на тех же  алгоритмах и позволяет выполнять  почти такой же объем работы, что и распаковка.  В программах обмена  данными, использующих сжатие и распаковку, обычно для большей эффективности  используют симметричные алгоритмы.

 При асимметричном сжатии в одном направлении выполняется значительно больший объем работы, чем в другом. Обычно на сжатие затрачивается  намного больше времени и системных ресурсов, чем на распаковку.  Например, при создании  базы данных изображений  графические данные сжимаются  для хранения всего однажды, а для отображения их могут быть распакованы многократно. В таких случаях большие затраты времени на сжатие, чем на распаковку, вполне оправданы и такой алгоритм можно считать эффективным. 

Алгоритмы, асимметричные «в обратом направлении», когда на сжатие затрачивается меньше времени, чем на распаковку, применяются реже. Такой алгоритм можно применять в тех случаях, когда производится резервное копирование информации и большинство этих файлов будут распакованы очень редко, даже не используются.

Широко используются методы сжатия данных, базирующихся  на словарях, когда  для кодировки входных данных  используются  специальные словари.  Эти методы подразделяются на адаптивные, полуадаптивные и неадаптивные.

Алгоритмы сжатия, спроектированные  специально для обработки только определенных типов данных, называют неадаптивными.  Такие неадаптивные кодировщики  содержат статический словарь предопределенных подстрок, о которых известно, что они появляются в кодируемых  данных достаточно часто.

Адаптивные кодировщики не зависят от типа  обрабатываемых данных, так как они строят свои словари полностью из  поступивших данных. Они не имеют  предопределенного списка  статических подстрок, наоборот,  строят фразы динамически, в процессе  кодирования.

Метод полуадаптивного кодирования основан на применении обоих  словарных методов кодирования. Полуадаптивный кодировщик  работает в два прохода. При первом проходе он просматривает все данные и строит свой словарь, при втором проходе выполняет кодирование. Этот метод позволяет  построить оптимальный словарь, прежде чем  приступить к кодированию.

Наряду с методами сжатия, не уменьшающими количество информации в сообщении, существуют методы сжатия, основанные на потере  малосущественной информации.

Среди простых алгоритмов сжатия наиболее известен алгоритм RLE (Run Length Encoding), позволяющий сжимать данные любых типов. Этт алгоритм основан на замене цепочки  из одинаковых  символов и значением длины цепочки. Например, символьная  группа  из 8 символов ФФФФФФФФ, занимающая 8 байт, после RLE-кодирования  будет представлена всего двумя  символами 8Ф и занимать всего два байта. При этом будет обеспечена степень сжатия 4:1. Данный метод эффективен при сжатии растровых изображений,  малопригоден  при кодировании текста.

При передаче информации широко используется метод  разностного кодирования – предсказывающие методы.  При методе  разностного кодирования разности амплитуд  отсчетов представляются  меньшим числом разрядов, чем  сами амплитуды. Разностное кодирование реализовано в методах демодуляции. Предсказывающие методы основаны на экстраполяции значений  амплитуд отсчетов, и если  выполнено условие Ar-Ap>d, то отсчет должен быть передан, иначе он является избыточным: здесь  Ar, Ap – амплитуды  реального и предсказанного отсчетов, d - допуск, т.е. допустимая погрешность представления амплитуд.

Методы MPEG (Moving Pictures Experts Group) используют  предсказывающее кодирование изображений, например, для движущихся объектов со звуком.  Если  передавать только изменившиеся во времени пиксели изображений, то достигается  сжатие  в несколько десятков раз. Данные методы считаются стандартными для цифрового телевидения.

Методы   JPEG (Joint Photographic Expert Group), основанные  на потере  малосущественной информации, т.е. не различимые для глаза оттенки кодируются  одинаково, коды станут короче.  В этих методах информация сжимается,  последовательность пикселей делится на блоки, в каждом блоке производится преобразование Фурье и устраняются высокие частоты. Изображение восстанавливается  по коэффициентам разложения для оставшихся частот.

Методы фрактального кодирования основаны на принципе, при котором изображение, представленное совокупностью линий, описывается  уравнениями этих линий.

Метод Хоффмена  относится к статистическим  методам сжатия.  Идея метода – часто повторяющиеся символы нужно кодировать более короткими  цепочками битов, чем цепочки редких символов.  Строится двоичное дерево, листья соответствуют  кодируемым символам, код символа представляется последовательностью значений ребер, ведущих от корня  к листу. Листья символов с высокой  вероятностью появления находятся  ближе к корню,  чем листья маловероятных символов.

 

16 Лекция № 16. Кодирование информации

 

Общие понятия кодирования. В обычном  равномерном коде число разрядов в кодовых комбинациях определяется числом сообщений и основанием кода. Из информатики известно, что для двоичного кода основанием является число 2. Поэтому для передачи 32 букв  алфавита двоичным кодом необходима длина кодовой комбинации (число разрядов) 

n=log232 = 5.

Это означает, что  любая из пятиэлементных кодовых комбинаций представляет собой какой-то знак  алфавита. Если в процессе передачи  произойдет  одна ошибка, то принятая  кодовая комбинация будет интерпретироваться  приемником как кодовая комбинация, соответствующая  другому знаку.

Например, буква «а»  передана в виде следующей кодовой комбинации «11111». Произошла ошибка, вместо «1» первого разряда принята «0», т.е. приемник прочитал следующую кодовую комбинацию «11110», что принята буква «ю». Здесь возникает проблема: здесь нельзя определить ошибку. Потому что  все кодовые комбинации разрешены. Такую ошибку может обнаружить только  получатель после прочтения текста сообщения. Получатель сообщения может восстановить переданное сообщение  по его смыслу. В данном случае декодером является сам получатель сообщения.

Приципы помехоустойчивого кодирования. Идея помехоустойчивого кодирования состоит  в том, что в передаваемую  кодовую комбинацию по определенным правилам вносится избыточность, т.е. признаки  разрешенной комбинации.  Эти правила должны быть известны  передающей и принимающей  сторонам.  Если принимающая сторона не обнаруживает  эти признаки, то считается, что произошла ошибка. В противном случае – сообщение принято правильно.

Внесение избыточности при использовании помехоустойчивых  кодов увеличивает число разрядов кодовой комбинации  - n.  Тогда все множества  комбинаций  N0=2n можно разбить на две  подмножества:

- подмножество разрешенных  комбинаций;

- подмножество запрещенных комбинаций.

Корректирующий код отличается от обычного тем, что в канал передаются  не все кодовые комбинации N0, которые можно сформировать из имеющегося числа разрядов  n. Передается только  их часть N, являющаяся  подмножеством разрешенных комбинаций N<N0.

Если  в результате искажений переданная кодовая  комбинация переходит в подмножество запрещенных кодовых комбинаций, то будет обнаружена ошибка. Здесь также есть недостаток: если  совокупность ошибок в данной кодовой комбинации превращает ее в другую разрешенную, то ошибка не будет обнаружена.

Общая постановка задачи кодирования. Вопросы кодирования  издавна играли заметную роль в математике. Например, десятичная позиционная система  счисления является  способом кодирования натуральных чисел, а декартевы координаты являются  способом кодирования геометрических объектов числами.  Если раньше средства кодирования играли в математике вспомогательную роль, то в связи с появлением компьютеров кодирование стало центральным вопросом при решении различных задач программирования.  Например, представление данных различной природы (чисел, текста, графики и др.) в памяти компьютера, защиты информации от несанкционированного доступа, обеспечение помехоустойчивости при передаче данных по каналам связи, сжатие информации в базах данных.

В общем виде  задачу кодирования можно сформулировать  следующим образом. Пусть заданы алфавиты  A={a1,a2,. . .,an}, B={b1,b2,. . . ,bn} и функция  F: SB*, где  S некоторое множество слов в алфавите A, SA*. Тогда функция  F называется кодированием, элементы множества S сообщениями, а элементы β =F(α), αS, βB*- кодами соответствующих сообщений. Обратная функция F-1 (если она существует) называется декодированием.

Если |B|= m, то F называется  m-ичным кодированием. Наиболее распространенным случаем является  случай двоичного кодирования, когда B={0,1}.

Типичная задача теории кодирования формулируется следующим образом: при заданных алфавитах A,B и множестве сообщений S найти кодирование F, которое обладает определенными свойствами (т.е. удовлетворяет заданным ограничениям) и оптимально в некотором смысле. Критерий оптимальности, как правило, связан с минимизацией длин кодов.

Свойства, которые требуются от кодирования, могут быть следующими:

-         существование декодирования;

-         помехоустойчивость;

-         простота кодирования и декодирования.

Большое значение для задач кодирования имеет природа множества сообщений S. При одних и тех же алфавитах A,B и требуемых свойствах  F кодирования оптимальные решения могут отличаться  для разных S. Для описания множества S применяются различные методы:

-         теоретико-множественное описание, например,S={α|αA*&|α|=n};

-         вероятностное описание, например,  S=A*, и заданы вероятности pi появления букв в сообщении, =1 ;

-         логико-комбинаторное описание, например, S  задано  порождающей формальной грамматикой.

Как было отмечено ранее, основное назначение  системы связи – передать в течение определенного интервала времени как можно больше сведений с заданной достоверностью. Для достижения этого необходимо, с одной стороны, представить  передаваемые сообщения в наиболее экономном виде или, что то же самое, закодировать  их так, чтобы число символов, затрачиваемое в среднем для представления одного сообщения, было минимальным. Эта операция называется экономным или статистическим  кодированием. Она выполняется кодером источника. С другой стороны, необходимо применять такие способы кодирования, при которых вероятность ошибки при приеме будет достаточно малой.

Циклические коды. Одним из первых математически обоснованных и практически использованных корректирующих кодов  были коды Хемминга. Коды Хемминга, представляющие собой  просто совокупность перекрестных проверок  на четность или нечетность  являются одной из разновидностей  более широкого семейства корректирующих кодов – циклических кодов.

Основные свойства  и само название циклических кодов  связаны  с тем, что разрешенные комбинации двоичных символов в передаваемом  сообщении могут быть получены путем операции циклического сдвига некоторого исходного слова:

{a0,   a1,   a2, . . . , an-2, an-1}

{an-1, a0,   a1, . . . , an-3, an-2}

{an-2, an-1a0, . . . , an-4, an-3}

В общем случае кодовые комбинации циклического кода  рассматривают в виде полинома некоторой степени:

F(x)= an-1xn-1+ an-2xn-2+ . . . + a1x+a0,

где    x - основание системы счисления;

         ai - цифры данной системы счисления;

         n-1, n-2, . . . – показатель  степени, в которую возводится основание, и одновременно порядковые номера, которые занимают разряды. В частном случае, для двоичной системы x=2,  а  ai либо «0», либо «1».

 Например, двоичную комбинацию 01001 можно записать в виде полинома от аргумента x:

F(2)=0*24+1*23+0*22+0*21+1*20;

F(x)=0*x4+1*x3+0*x2+0*x1+1*x0 = x3+1;

Представление кодовой комбинации в виде многочленов позволяет установить однозначное соответствие  между ними и свести  действия над комбинациями к действию над многочленами.

Так, сложение двоичных многочленов сводится к сложению по модулю 2 коэффициентов при равных степенях переменной.

 Например,

x3+x2+1          1*x3+x2+0*x+1               

  _x+1        0*x3+0*x2+x+1

    x3+x2+x           x3+x2+x+0

Умножение производится  по обычному правилу умножения  степенных функций, однако  полученные коэффициенты при данной  степени складываются  по модулю 2. Например,

(x3+x2+0+1)(x+1) = x4+x3+0+x+x3+x2+0+1= x4+x2+x+1

 Деление осуществляется как обычное деление многочленов; при этом операция вычитания заменяется операцией сложения по модулю 2:

Как было отмечено выше, коды названы циклическими, потому что циклический  сдвиг разрешенной комбинации также является  разрешенной комбинацией. Такая циклическая  перестановка при использовании представлений в виде полиномов образуется  в результате умножения  данного полинома на  x Чтобы  степень полинома не превышала  n-1,  член xn  заменяется единицей.

Теория построения  циклических кодов базируется на разделах высшей алгебры, изучающей  свойства двоичных многочленов. Особую роль в этой теории играют так называемые неприводимые многочлены.  Неприводимыми многочленами называют такие полиномы,  которые не могут быть представлены в виде произведения многочленов низших степеней. Такой многочлен делится только на самого себя и на единицу. Из высшей алгебры известно, что на неприводимый многочлен  делится без остатка двучлен xn+1. В теории кодирования  неприводимые  многочлены  называются  образующими полиномами, т.к. они образуют разрешенные кодовые комбинации.

Идея построения циклического кода  сводится к тому, что полином, представляющий информационную часть кодовой комбинации, нужно преобразовать в полином степени не более  n-1,  который без остатка делится на образующий  полином P(x).  Степень  последнего соответствует числу разрядов  проверочной части  кодовой комбинации. В циклических кодах  все разрешенные кодовые комбинации, представленные  в виде полиномов, обладают одним признаком: делимостью без остатка  на образующий полином   P(x).

Построение разрешенной кодовой комбинации сводится к следующему:

1. Представление информационной части  кодовой комбинации длиной k  в виде полинома  Q(x).

2. Умножение  Q(x)  на одночлен x2  и получить Q(x) x2, т.е. производится сдвиг k-разрядной  кодовой комбинации на   r  разрядов.

3. Разделить  многочлен  Q(x) x2 на образующий полином P(x), степень которого равен r.

Обнаружение  ошибок  при циклическом  кодировании сводится к делению принятой кодовой комбинации на тот же образующий  полином, который  использовался при кодировании. Вид этого полинома должен быть известен на приеме. Если ошибок в принятой кодовой  комбинации нет, то деление  на образующий  полином будет выполнено без остатка. Если при делении получится остаток, то это и свидетельствует о наличии ошибок.

Циклические коды  применяются  в системах передачи данных. Например, в модемном  протоколе V.42  для кодирования  кодовых групп используется образующий полином g(x)=x16+x12+x5+1,  который эквивалентен  коду 1 0001 0000 0010 0001,

а также  полином более высокого порядка

g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+1.

В заключение следует отметить, что современные программные системы  становятся  сложнее.  Поэтому специалисту в области информационных систем приходится постоянно следить за появлением новых программных продуктов,  более совершенных методов  проектирования и создания информационных систем.  Использование сложных систем требует защищенности информации. Это также  очень важно для нормального функционирования таких систем.

 

Использованная литература:

1. Избачков Ю., Петров В. Информационные системы: Учебник для вузов. 2-е изд. – СПб.: 2005. – 656 с.:ил.

2. Акулов О.А., Медведев Н.В. Информатика: базовый курс: учеб. пособие для студентов  вузов. 2-е изд. – М.: Омега-Л, 2005.-552 с.

3. Информационные технологии в радиотехнических системах: Учеб. пособие. – 2-е изд. Васин В.А., Власов И.Б., Егоров Ю.М. и др.: Под ред. И.Б.Федорова. –М.:Изд-во МГТУ им. Н.Э.Баумана, 2004.- 708 с.

4. Киммел П. Основы  визуального анализа и проектирования=UML.Универсальный язык программирования. – М.: НТ Пресс, 2008. – 272 с.

5. Введение в теорию информационных систем. Под ред. Юркевича Е.В.- М.: ИД Технологии, 2004.

6. Терри Кватрани, Джим Палистрант. Визуальное моделирование с помощью IBM Rational Software Architect и  UML. Пер. с англ. – М.: КУДИЦ-ПРЕСС.- 2007.- 192 с.

7.  Лемке Джуди. Microsoft Office Visio 2003.  Шаг за шагом. Прак. Пособ./ Пер. с англ. – М.: «СП ЭКОМ», 2006.- 252 с.