Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Инструментарий технологии программирования




 

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

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

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

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

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

 

9, 23. Развитие языков программирования. Эволюция вычислительных систем

 

Первые языки программирования возникли в 20-е, 30-е годы ХХ столетия и были довольно примитивны и ориентированы на численные расчеты (математические и физические) и прикладные задачи, в частности, в области военного дела.

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

Язык программирования считается языком низкого уровня, если он ориентирован на конкретный тип процессора и учитывает его особенности (операторы языка близки к машинному коду и ориентированы на конкретные команды процессора). Подобные языки обычно применяются для написания небольших системных приложений, драйверов устройств. Примером такого языка может служить Ассемблер (assembler – сборщик), который появился в конце 50-х – начале 60-х г.г.

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

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

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

Первым языком, для которого был реализован транслятор, стал FORTRAN (FORmula TRANslator) _ для трансляции формул. Первые версии FORTRANа не знали понятия подпрограмма. Она появилась в нем позже, предвосхитив идею модульного программирования.

Многие из первых языков высокого уровня оказались настолько удачно реализованными, что активно используются и сегодня: FORTRAN, PASCAL, BASIC.

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

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

- условный оператор с альтернативой (IF…THEN…ELSE…);

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

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

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

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

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

Модульное программирование основано на понятии модуля. Принципы модульного программирования программных продуктов во многом сходны с принципами нисходящего проектирования.

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

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

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

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

В результате создается функционально-модульная схема (ФМС) алгоритма приложения, которая является основой для программирования.

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

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

 

Преимущества модульного программирования:

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

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

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

 

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

 

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

 

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

Объектно-ориентированное программирование снабжает программные объекты встроенными характеристиками. Важнейшими характеристиками объектной парадигмы [1] являются:

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

- наследование – позволяет одним объектам приобретать атрибуты и поведение других. Группы более низкого уровня наследуют характеристики групп более высоких уровней;

- полиморфизм – множественность форм, которые может принимать правило с одним и тем же именем.

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

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

 

Структура программных продуктов

 

Программные продукты имеют внутреннюю структуру (внутреннюю организацию), образованную взаимосвязанными программными модулями.

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

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

Структуризация программных продуктов позволяет:

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

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

- контролировать трудозатраты и стоимость проектных работ и др.

Среди множества модулей различают:

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

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

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

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

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

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

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

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

ППП – это система программ, предназначенных для решения задач определенного класса.

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

 

Виды проектирования программных продуктов

 

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

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

• информационное моделирование предметной области и связанных с ней приложений;

• объектно-ориентированное проектирование программных продуктов.

 

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

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

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

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

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

• нисходящее проектирование;

• модульное программирование;

• структурное программирование.

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

В этом подходе выделяют следующие составляющие:

- информационный анализ предметных областей (бизнес-областей);

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

- системное проектирование функций обработки данных;

- детальное конструирование процедур обработки данных.

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

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

 

Метод объектно-ориентированного проектирования основывается на:

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

- модульной структуре программ;

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

В отличие от традиционного структурного подхода, объектно-ориентированный подход к проектированию программных продуктов основан на:

• выделении классов;

• установлении характерных свойств классов и методов их обработки;

• создании иерархии классов;

• наследовании свойств классов и методов их обработки.

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

 

25. Этапы создания программного продукта

 

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

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

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

На этом этапе требуется:

- разработать обобщенный алгоритм (функциональную структуру алгоритма или состав объектов);

- выбрать платформу программы – тип операционной системы:

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

- оценить необходимость сетевого варианта работы программы;

- определить требования к техническим средствам обработки информации.;

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

2. Разработка технического проекта. На данном этапе выполняется комплекс наиболее важных работ:

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

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

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

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

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

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

Основной результат этого этапа – создание комплекта документации на программный продукт:

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

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

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

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

 

26. Качество программных продуктов

 

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

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

- насколько легко эксплуатировать программный продукт;

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

Дерево характеристик качества программных продуктов представлено на рисунке:

 

 

 

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

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

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

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

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

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

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

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

- стоимость;

- количество продаж;

- время нахождения на рынке (длительность продаж);

- известность фирмы-разработчика и программы;

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

 

27. Возникновение и назначение компьютерных сетей

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

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

 

Рис. 5. Система централизованной обработки данных

 

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

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

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

 

Рис. 6. Система распределенной обработки данных

Для реализации распределенной обработки данных (РОД) были созданы многомашинные ассоциации, структура которых разрабатывается по одному из следующих направлений:

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

¨ компьютерные (вычислительные) сети - высшая форма многомашинных ассоциаций.

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

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

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

· Глобальные сети предоставляют возможность использовать аппаратные ресурсы удаленных компьютеров.

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

· Глобальные сети обеспечивают единое информационное пространство для миллионов пользователей ЭВМ.

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

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

Отличия компьютерных сетей от многомашинных вычислительных комплексов.

· Размерность. В состав многомашинного вычислительного комплекса входят обычно две-три ЭВМ, расположенные преимущественно в одном помещении. Вычислительная сеть может состоять из десятков и сотен ЭВМ, расположенных на расстоянии друг от друга от нескольких метров до сотен и тысяч километров.

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

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

 

Элементами многомашинной ассоциации являются:

Абоненты сети - объекты, генерирующие или потребляющие информацию в сети.

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

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

Совокупность абонента и станции принято называть абонентской системой.

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

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

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

Любая компьютерная сеть - это совокупность абонентских систем и коммуникационной сети.

 

Классификация компьютерных сетей

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

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

· Локальные сети (LAN – Local Area Network) связывают абонентов одного или нескольких близлежащих зданий одного предприятия, учреждения. Расстояние между ЭВМ в локальной сети небольшие - до 10 км, а при использовании радиоканалов связи - до 20 км. К классу локальных вычислительных сетей относятся сети отдельных предприятий, фирм, банков, офисов и т.д.

· Региональные сети (MAN – Metropolitan Area Network) объединяют пользователей города, региона, отдельной небольшой страны. Расстояние между абонентами региональной вычислительной сети - десятки-сотни километров.

· Глобальные сети (WAN – Wide Area Network) объединяют пользователей, расположенных по всему миру. Взаимодействие между абонентами такой сети может осуществляться на базе телефонных линий связи, радиосвязи и систем спутниковой связи.

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

 

Рис. 7. Иерархия компьютерных сетей

 

Характеристики коммуникационной сети

Для оценки качества коммуникационной сети можно использовать следующие характеристики:

· Скорость передачи данных по каналу связи, которая измеряется количеством битов информации, передаваемой в секунду. Часто используется единица измерения скорости - бод. Бод - число изменений состояния среды передачи в секунду.

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

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

· Достоверность передачи информации - отношение количества ошибочно переданных знаков к общему числу переданных знаков. Единица измерения достоверности: количество ошибок на знак - ошибок/знак. Для вычислительных сетей этот показатель должен лежать в пределах: одна ошибка на миллион или на десять миллионов переданных знаков.

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

 

Сетевое программное обеспечение

 

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

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

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

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

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

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

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

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

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

 

Локальные вычислительные сети

 

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

С этой точки зрения локальную вычислительную сеть (ЛВС) можно рассматривать как совокупность серверов и рабочих станций




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1201; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.