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

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 03.11.2022
Размер файла 414,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

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

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

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

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

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

· Инструменты, поддерживающие процесс выполнения программ.

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

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

1. Проектирование приложения;

2. Реализация программного кода;

3. Тестирование;

Средства проектирования приложений.

На этапе проектирования ПО определяются задачи:

1. Анализ требования;

2. Разработка архитектуры будущего ПО;

3. Разработка устройств основных компонентов ПО;

4. Разработка макетов, либо пользовательский интерфейсов.

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

1. BPMN;

2. Схемы-алгоритмов;

3. ER;

4. UML.

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

Основные парадигмы программирования:

· Функциональное;

· Структурное;

· Императивное;

· Логическое;

· ООП.

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

1. Диаграмма классов;

2. Описание модулей и структур и их интерфейса.

Средства реализации программного кода

Основные виды средств:

· Методы и методики алгоритмирования;

· Языки программирования;

· Средства создания пользовательского интерфейса (NFS);

· Средства управления версиями программного кода (CWN, CWS);

· Средства получения исполняемого кода (VS);

· Средства управления БД (оракл, MS SQL и т.д.);

· Отладчики.

Средства тестирования программ

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

Среди основных работ можно выделить следующее:

· Тестирование на отказ и восстановление;

· Функциональное тестирование;

· Тестирование безопасности;

· Тестирование взаимодействия;

· Тестирование установки;

· Тестирование удобств пользования;

· Конфигурационное тестирование;

· Нагрузочное тестирование.

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

1. Ср-ва анализа кода, профилирование (CodeWizard, PRS, Test Coverage);

2. Ср-ва для тестирования функциональности (Test Parasoft, Borland killTest);

3. 3. Ср-ва для тестирования производительности (QI, Center Performance).

Классификация кейс-средств. Понятие репозитория проекта. Структура проекта

Кейс-средство -программное средство, поддерживающее процессы ЖЦ ПО, включая анализ требований к системе, проектирования прикладного ПО и БД, генерацию кода, тестирования, документирования, обеспечение качества и т.д.

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

1. Поддерживают единственную методологию;

2. Ориентируются на определенную технологию;

3. Предназначаются для команд, работающие над единственным проектом;

4. Используются для разработки информационных систем;

5. Разрабатываются одной компанией.

Примеры кейс-средств:

1. Oracle Designer;

2. ER-win;

3. Rational Rose.

Кейс-средствам присущи следующие особенности:

1. Наличие мощных графических средств для описания и документирования системы;

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

3. Использование специальным образом организованного хранилища проектных метаданных (репозитория)

Интегрированное кейс-средство содержит компоненты:

1. Репозиторий (основа кейс-средства) - обеспечивает хранение версий и отдельных компонентов проекта.

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

3. Средства разработки приложения включая ЯП 4 поколения и генератора кода;

4. Средства конфигурации ПО;

5. Средства документирования;

6. Средства тестирования;

7. Средства управления проектом;

8. Средства реверсного инжиниринга ПО и БД;

Современные кейс-средства классифицируется по следующим признакам:

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

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

3. по степени интегрированности: тулс - отдельные локальные средства, тулкит - набор не интегрированных средств, охватывающие большинство этапов разработки ЭИС. Воркбенч - полностью интегрированное средство, связанные общей базой проектных данных репозитория.

По типу и архитектуре вычислительной техники;

По режиму коллективной разработки проекта;

По типу ОС;

Классификация по типу отражает эмоциональную ориентацию кейс-средств на те или иные процессы ЖЦ и включает след. Типы:

· Ср-ва анализа и проектирования, предназначенные для построения и анализа, как модели деятельности организации, так и модели проектируемой системы (BPWin, Silverrun, Oracle Designer)

· Ср-ва проектирования БД, обесп. моделирование данных и генерацию схем БД, как правило на языке SQL

· Ср-во управления требованиями, обесп. комплексную поддержку разнородных требований к создаваемой системе (Doors, RS)

· Ср-ва управления конфигурацией ПО (PVCS, PRCase)

· Ср-ва документирования (Soda)

· Ср-ва тестирования (RST)

· Ср-во управления проектов (Microsoft Project 98)

· Cр-во реверсного инжиниринга, предназначенное для переноса существ. системы ПО в новую среду

· Средство реверсного инжиниринга, для переноса существующего системы ПО в новую среду.

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

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

1. Модельный;

2. Программного интерфейса;

3. Окружения.

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

1. Компоненты продукции

2. Этапы ЖЦ

3. Элементы организационной структуры;

К основным задачам структуризации относятся:

1. Разбивка проекта на поддающиеся управления блоки;

2. Распределение ответственности на различные элементы проекта;

3. Точная оценка необходимых затрат, финансовых, временных и материальных.

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

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

1. Устанавливаются цели и задачи экономический деятельности.

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

3. Функции группируются или взаимоувязываются;

4. Выявляются структурные подразделения, отвечающие за реализацию функций;

5. Анализируются, планируются, описываются основные виды работ;

6. Составлять программу набора и обучение персонала для нового подразделения;

7. Основные типы структур, используемые при управлении проектами.

1. Функциональная;

2. Матричная;

3. Проектная.

Цели и задачи интеграции

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

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

· владение достоверной, полной и своевременно полученной информацией.

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

Основными движущими силами интеграции являются:

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

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

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

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

· электронное правительство -- интеграция унаследованных backend систем с front-end Web-приложениями, организация обмена данными между правительственными учреждениями;

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

· Business Intellegence -- сбор данных из различных приложений и источников в хранилище данных с целью их обработки и анализа;

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

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

· аутсорсинг бизнес-процессов -- интеграция с информационными системами партнеров.

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

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

- автоматизация бизнес-процессов;

- уменьшение производственного цикла;

- сокращение количества ошибок обработки данных;

- прозрачность процессов;

- уменьшение стоимости транзакций;

- оптимизация логистических процессов;

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

- быстрое внедрение новых бизнес-сервисов;

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

Типы интеграционных решений: горизонтальная и вертикальная интеграция

программа интеграция программный кейс

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

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

· интеграцию приложений между предприятиями (Business-to-Business Application Integration -- B2B) -- автоматический событийно-управляемый обмен информацией между приложениями или системами нескольких взаимодействующих предприятий или организаций.

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

В данном контексте существует два варианта построения интеграционного решения:

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

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

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

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

Уровни интеграции программных модулей. Современные технологии и инструменты интеграции

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

Интеграция информационных систем = интеграция данных + интеграция приложений

Можно выделить 5 уровней интеграции:

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

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

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

IV. Интеграция на основе стандартов - основана на использовании стандартных форматов данных (например, CORBA, JavaRMI, XML).

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

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

Такая интеграция позволяет:

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

* обеспечить соблюдение правил выполнения бизнес-процессов;

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

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

* вносить изменение в бизнес-процессы в соответствии с требованиями бизнеса;

* получить данные для анализа выполнения и оптимизации бизнес-процессов

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

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

Общие свойства открытых информационных систем:

1) расширяемость/масштабируемость;

2) мобильность/переносимость;

3) взаимодействие;

4) стандартизуемость;

5) дружественность к пользователю

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

Современные технологии и инструменты интеграции

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

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

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

1. Технология оперативной обработки транзакционных данных (OLTP- on-Line Transaction Processing). Она ориентирована на работу с непрерывно поступающей информацией. В системах с использованием этой технологии нет инструментов обобщения и анализа данных с последующим прогнозированием.

2. Технология оперативной обработки аналитических данных (OLAP -on-Line Analytical Processing). Она работает с ретроспективными архивами, которые хранят данные за значительный период времени. Средства OLAP расширяют возможности OLTP-приложений. Системы с использование OLAP-технологии направлены на поддержку принятия решений и обеспечивают:

· анализ и моделирование данных в оперативном режиме;

· работу с предметно-ориентированными хранилищами данных;

· реализацию запросов произвольного вида;

· формирование системы знаний о предметной области.

3. Промышленные системы управления документами (EDMS -Electronic Document Management System). Они выполняют задачи систематизации, хранения, коллективной координированной разработки и поиска неструктурированных документов. Эта технология автоматизирует документооборот, делопроизводство и организацию управления. Использование интегрированных информационных технологий требует учета особенностей структуры, специализации и объёмов экономической деятельности предприятия. Универсальными интегрированными решениями для компаний с различными профилями деятельности являются системы следующих классов.

1. Система CRM (Customer Relationship Management - управление отношениями с клиентами). Её можно рассматривать как бизнес-стратегию, ориентированную на обеспечение баланса интересов клиента и компании. Основными направлениями применения систем этого класса являются взаимодействие с клиентами, маркетинг и продажи. Системы CRM строятся на следующих базовых положениях:

· максимальная опора на web-технологии для универсального доступа к

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

· персонифицированный доступ для всех пользователей через портал

· как универсальную точку доступа;

· развитие форм самообслуживания на основе web-технологий;

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

· взаимодействия с ними;

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

· использование всех видов связи для управления взаимодействия с клиентами.

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

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

· ориентация на web-технологии для доступа к системе посредством браузера;

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

· общий набор экономических реквизитов, хранимый в централизованной базе данных;

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

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

· реализация функции прогнозирования данных;

· реализация системы информационной безопасности.

3. Система BI (business intelligence). Предоставляет пользователям инструменты для доступа к данным и их анализ. Развитие пользовательского интерфейса обеспечивает легкость и оперативность извлечения информации из различных источников, формирование собственных настраиваемых отчетов, проведение многомерного анализа данных. Системы этого класса позволяют формировать заключения, находить наиболее целесообразные решения с участием специалистов и экспертов различных категорий для эффективного управления компанией.

Автоматизация бизнес-процессов

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

Внедрение автоматизации бизнес-процессов на предприятии дает возможность достичь цель:

1. экономии- сокращение затрат на изменение сделок и продаж и увеличение благодаря этому оборота и прибыли;

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

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

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

Обязательным условием успешного бизнеса является использование ИС БПМ Business Process Management, которые служат для автоматизации управления б-п, т.е для решения специализированных задач по их:

1. моделированию, БПМ создают информационную среду для дизайна Б-П;

2. исполнению, т.е внедрению и оперативному управлению Б-П.

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

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

Транспортные протоколы

Транспортный уровень (Transport Layer) - обеспечивает приложениям или верхним уровням стека - прикладному, представления и сеансовому - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

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

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

Функции транспортного уровня:

· преобразование транспортного адреса в сетевой;

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

· установление и разрыв транспортных соединений;

· межоконечное упорядочение блоков данных по отдельным соединениям;

· межоконечное обнаружение ошибок и необходимый контроль качества услуг;

· межоконечное восстановление после ошибок;

· межоконечное сегментирование, объединение и сцепление;

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

· супервизорные функции;

· передача срочных транспортных сервисных блоков данных.

Транспортный уровень стека TCP/IP может предоставлять вышележащему уровню два типа сервиса:

· гарантированную доставку обеспечивает протокол управления передачей (Transmission Control Protocol, TCP);

· доставку по возможности, или с максимальными усилиями, обеспечивает протокол пользовательских дейтаграмм (User Datagram Protocol, UDP).

Мультиплексирование и демультиплексирование

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

Существует и обратная задача: пакеты, которые отправляют в сеть разные приложения, работающие на одном конечном узле, обрабатываются общим для них протоколом IP. Следовательно, в стеке должно быть предусмотрено средство «сбора» пакетов от разных приложений для передачи протоколу IP. Эту работу выполняют протоколы TCP и UDP.

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

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

Протоколы TCP и UDP ведут для каждого приложения две очереди:

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

· очередь пакетов, отправляемых данным приложением в сеть.

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

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

Протокол UDP

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

Единица данных протокола UDP называется UDP-пакетом или пользовательской дейтаграммой (user datagram).

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

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

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

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

Протокол TCP

Протокол TCP (Transmission Control Protocol) обеспечивает надежную транспортировку данных между прикладными процессами путем установления логического соединения.

Установление соединения происходит в три шага:

1. Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

2. Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

3. Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

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

· Информация, поступающая к протоколу TCP от протоколов более высокого уровня, рассматривается протоколом TCP как неструктурированный поток байтов.

· Поступающие данные буферизируются средствами TCP.

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

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

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

Размер сегментов ограничен двумя пределами. Во-первых, каждый сегмент, включая TCP-заголовок, должен помещаться 65 515-байтное поле полезной нагрузки IP-пакета. Во-вторых, в каждой сети есть максимальная единица передачи (MTU, Maximum Transfer Unit), и каждый сегмент должен помещаться в MTU. На практике размер максимальной единицы передачи составляет обычно 1500 байт (что соответствует размеру поля полезной нагрузки Ethernet), и таким образом определяется верхний предел размера сегмента.

Сессии TCP

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

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

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

· максимальный размер сегмента, который она готова принять;

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

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

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

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

Когда этот сегмент прибывает в пункт назначения, TCP-сущность проверяет, выполнил ли какой-нибудь процесс примитив LISTEN, указав в качестве параметра тот же порт, который содержится в поле порт получателя. Если такого процесса нет, она отвечает отправкой сегмента с установленным битом RST для отказа от соединения.

Размещено на Allbest.ru

...

Подобные документы

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

    отчет по практике [203,8 K], добавлен 12.04.2015

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Основные критерии выбора инструментальных средств создания электронных учебников. Структурная организация и режимы работы электронных учебников. Создание электронного учебника "Табличный процессор MS Excel". Расчет экономической эффективности проекта.

    курсовая работа [2,9 M], добавлен 01.06.2015

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

    дипломная работа [2,9 M], добавлен 17.10.2014

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

    дипломная работа [2,7 M], добавлен 12.05.2016

  • Основные этапы разработки web-сайта. Классификации современных бирж. Выбор программного средства для разработки сайта. Требования к сайту. Расчет прогнозируемой цены и прибыли на программное средство. Описание языков для разработки web–приложений.

    дипломная работа [1,4 M], добавлен 02.09.2016

  • Направления развития САПР. Технологии интеграции инструментальных приложений. Схемы взаимодействия КОМПАС-3D и MathCAD на основе механизмов интеграции. Разработка интерфейсных модулей и механизма связывания переменных, апробация программного решения.

    диссертация [6,3 M], добавлен 15.04.2013

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

    дипломная работа [1,9 M], добавлен 12.03.2013

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

    презентация [938,2 K], добавлен 26.10.2013

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

    презентация [57,0 K], добавлен 27.12.2013

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

    дипломная работа [656,8 K], добавлен 27.11.2012

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

    курсовая работа [2,1 M], добавлен 10.04.2023

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

    курсовая работа [1,1 M], добавлен 04.04.2012

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

    дипломная работа [1,4 M], добавлен 29.06.2012

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

    отчет по практике [1,6 M], добавлен 26.06.2014

  • Анализ технических средств и современных технологий разработки программного обеспечения. Разработка программы для упрощения поиска студентов. Создание учетных записей администратора и обычного пользователя. Изучение правил построения программного кода.

    курсовая работа [1,9 M], добавлен 30.09.2016

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

    контрольная работа [257,5 K], добавлен 01.05.2015

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

    дипломная работа [3,1 M], добавлен 19.01.2017

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

    дипломная работа [2,7 M], добавлен 13.02.2013

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

    курсовая работа [78,0 K], добавлен 03.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.