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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Сетевые операционные системы. Назначение, структура и функции.

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

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

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

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

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

Структура сетевой ОС. В сетевой операционной системе можно выделить несколько частей:

I)Средства управления локальными ресурсами компьютера. Функции: 1)управление процессами 2)распределение ресурсов ЭВМ между процессами 3)организация взаимодействия с периферийными устройствами 4) управление файловой системой 5)управление памятью 6)организация безопасности.

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

III)Средства запроса доступа к удаленным ресурсам и услугам и их использования. клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей.

IV)Коммуникационные средства ОС. C помощью них происходит обмен сообщениями в сети.

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

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

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

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

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

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

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

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

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

1. Массовость - алгоритм должен быть применен для класса подобных задач.2. Дискретность - алгоритм состоит из ряда шагов.3. Определенность - каждый шаг алгоритма должен пониматься однозначно и не допускать произвола.4. Результативность - алгоритм должен приводить к решению поставленной задачи за конечное число шагов. Виды алгоритма: 1. Линейный - алгоритм, в котором все предписания (шаги) выполняются так, как записаны, без изменения порядка следования, строго друг за другом. 2. Разветвляющийся - алгоритм, в котором выполнение того или иного действия (шага) зависит от выполнения или не выполнения какого-либо условия. 3. Циклический - алгоритм, в котором некоторая последовательность действий повторяется несколько раз. Каждый исполнитель алгоритма имеет свою систему команд (набор действий) и свою среду, (набор объектов, над которыми совершаются действия), в которой, и только в ней, он работает.

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

Способы записи алгоритма: 1. Словесно-формульное описание (на естественном языке с использованием математических формул). 2. Графическое описание в виде блок-схемы (набор связанных между собой геометрических фигур). 3. Описание на каком-либо языке программирования (программа).

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

Рекурсивные методы. Суть рекурсивных методов — сведение задачи к самой себе. Как в Паскале, так и в Си существует возможность рекурсивного определения функций и процедур. Эта возможность представляет собой способ программной реализации рекурсивных алгоритмов. Однако увидеть рекурсивный путь решения задачи (рекурсивный алгоритм) часто очень непросто.Рассмотрим классическую задачу, известную в литературе под названием «Ханойская башня». На площадке (назовем ее А) находится пирамида, составленная из дисков уменьшающегося от основания к вершине размера.Эту пирамиду в том же виде требуется переместить на площадку В. При выполнении этой работы необходимо соблюдать следующие ограничения:

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

• класть диск можно либо только на основание площадки, либо на диск большего размера;

• в качестве вспомогательной можно использовать площадку С.

Нетрудно решить эту задачу для двух дисков. Обозначая перемещения диска, например, с площадки А на В так: А → В, напишем алгоритм для этого случая А→С; А→В; С→В. Всего 3 хода! Для трех дисков алгоритм длиннее:

А→В; А→С; В→С; А→В; С→А; С→В; А→В. В этом случае уже требуются 7 ходов.Подсчитать количество ходов (N) для k дисков можно по следующей рекуррентной формуле:N(1) = 1; N(k) = 2k – 1. Например, N(10) = 1023

Теперь составим программу, по которой машина рассчитает алгоритм работы монахов и выведет его для любого значения n (количества дисков). Пусть на площадке А находятся n дисков. Алгоритм решения задачи будет следующим: 1. Если n = 0, то ничего не делать. 2. Если n > 0, то переместить n — 1 диск на С через В; переместить диск с А на В (А → В) переместить n — 1 диск с С на В через А.

При выполнении пункта 2 последовательно будем иметь три состояния. Описание алгоритма имеет явно рекурсивный характер Перемещение n дисков описывается через перемещение n — 1 диска. А где же выход из этой последовательности рекурсивных ссылок алгоритма самого на себя? Он в пункте 1, каким бы ни показалось странным его тривиальное содержание.

А теперь построим программу на Паскале. В ней имеется рекурсивная процедура Напоу, выполнение которой заканчивается только при n = 0. При обращении к процедуре используются фактические имена площадок, заданные их номерами: 1, 2, 3. Поэтому на выходе цепочка перемещений будет описываться в таком виде:

1→2 1→3 2→3 и т.д.

Объектно-ориентированное моделирование. Унифицированный язык моделирования (Unified Modeling Language, UML). Классификация канонических диаграмм UML. Основные элементы модели, отношения между элементами модели, механизмы расширения в языке UML.

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

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

UML (англ. Unified Modeling Language — унифицированный язык моделирования – язык визуализации) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.

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

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

Структурные сущности - это имена существительные в моделях на языке UML. Как правило, они представляют статические части модели, соответствующие концептуальным или физическим элементам системы. Примерами структурных сущностей являются «класс», «интерфейс», «кооперация», «прецедент», «компонент», «узел», «актер». Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы, которые описывают поведение модели во времени и в пр-ве. Существует 2 основных типа поведенческих сущностей:

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

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

Канонические диаграммы языка UML. Диаграмма (diagram) — графическое представление совокупности элементов модели в форме связного графа, вершинам и ребрам (дугам) которого приписывается определенная семантика. Нотация канонических диаграмм - основное средство разработки моделей на языке UML.

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

Отношения в UML. В языке UML определены следующие типы отношений: зависимость, ассоциация, обобщение и реализация. Зависимость (dependency) - это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой. Ассоциация (association) - структурное отношение, описывающее совокупность смысловых или логических связей между объектами. Обобщение (generalization) - это отношение, при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (предка). При этом, в соответствии с принципами объектно-ориентированного программирования, потомок (child) наследует структуру и поведение своего предка (parent). Реализация (realization) является семантическим отношением между классификаторами, при котором один классификатор определяет обязательство, а другой гарантирует его выполнение. Отношение реализации встречаются в двух случаях: между интерфейсами и реализующими их классами или компонентами; между прецедентами и реализующими их кооперациями.

UML является открытым языком, то есть допускает контролируемые расширения, чтобы отразить особенности моделей предметных областей. Механизмы расширения UML включают: стереотипы (stereotype) - расширяют словарь UML, позволяя на основе существующих элементов языка создавать новые, ориентированные для решения конкретной проблемы; помеченные значения (tagged value) - расширяют свойства основных конструкций UML, позволяя включать дополнительную информацию в спецификацию элемента; ограничения (constraints) - расширяют семантику конструкций UML, позволяя создавать новые и отменять существующие правила. Совместно эти три механизма расширения языка позволяют модифицировать его в соответствии с потребностями проекта или особенностями технологии разработки.

Качество программного обеспечения. Характеристики качества программного обеспечения. Методики повышения качества программного обеспечения. Стандартизация и метрология в разработке программного обеспечения.

Качество ПО имеет внешние и внутренние характеристики. Внешние – св-ва, к-е осознает пользователь прог-мы. К ним относятся: Корректность – отсутствие(наличие) дефектов в спецификации, проекте и реализации прог-мы.

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

Адаптируемость – возможность использования с-мы без ее изменения в тех областях или средах, на к-е она не была ориентирована непосредственно. Правильность –степень безошибочности с-мы, особенно в отношении вывода количественных данных. Она характеризует выполнение с-й функций, а не то, создана ли она корректно. Этим правильность отличается от корректности. Живучесть – способность с-мы продолжать работу при вводе недопустимых данных или в напряженных условиях.

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

Внутренние характеристики:

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

Как и внешние, некоторые из этих характеристик перекрываются, однако каждая имеет свои отличительные черты.

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

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

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

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

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

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

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

Стандарты могут зависеть от масштаба (международные, национальные, отраслевые, внутрифирменная) и от возникновения – «де-факто» и «де-юре».

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

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

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

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

15. Отладка и тестирование программного обеспечения. Виды тестирования. Тестирование методом "чёрного" ящика. Тестирование методом "белого" ящика. Модульные тесты (unit tests) и утверждения (assertion).

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

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

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

В тестировании можно выделить несколько различных процессов. Важно различать такие термины, как «тестирование», «отладка», «контроль», «испытание»:

Тестирование – процесс выполнения программы с намерением найти ошибки. Контроль (verification) – попытка найти ошибки, выполняя ошибки в тестовой, или моделируемой, среде. Испытание (validation) – попытка найти ошибки, выполняя программу в заданной реальной среде. Верификация потом валидация. Аттестация (certification) – авторитетное подтверждение правильности программы.
Т. е. при тестировании с целью аттестации выполняется сравнение с некоторым заранее определенным стандартом.

Отладка (debugging) – процесс определения и устранения причин ошибок. (!) Отладка не является разновидностью тестирования, хотя эти понятия часто употребляются как синонимы. Эти два вида деятельности тесно связаны – результаты тестирования являются исходными данными для отладки.

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

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

·Тестирование модуля или автономное тестирование (module testing/unit testing) – контроль отдельного программного модуля, обычно в изолированной среде (т. е. изолированно от всех остальных модулей)

·Тестирование сопряжений (integration testing) – контроль сопряжений между частями системы (модулями, компонентами, подсистемами). ·Тестирование внешних функций (external function testing) – контроль внешнего поведения системы, определенного внешними спецификациями. ·Комплексное тестирование (system testing) – контроль и/или испытание системы по отношению к исходным целям. ·Тестирование приемлемости (acceptance testing) – проверка соответствия программы требованиям пользователя. ·Тестирование настройки (installation testing) – проверка соответствия каждого конкретного варианта установки системы с целью выявить любые ошибки настройки.

Существует несколько стратегий тестирования систем. Это стратегии «черного» и «белого» ящиков.

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

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

1) юнит-тестирование (unit testing) — процесс, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок. Модульное тестирование -позже позволяет программистам проводить рефакторинг; -используется в документировании тестируемого класса, т. е. клиенты, которые не знают, как использовать класс, могут использовать юнит-тест в качестве примера; -упрощает интеграцию ПО, устраняя сомнения по поводу отдельных модулей.

2) Утверждения (assertion) – это технология тестирования, когда пишется код (метод или макрос), с помощью которого проверяется правильность заданного условия.

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

Типология баз данных. Документальные базы данных. Фактографические базы данных. Гипертекстовые и мультимедийные базы данных. Объектно-ориентированные базы данных. Распределенные базы данных. Коммерческие базы данных. Информационные хранилища. ОLАР-технология.

Типология БД:

1.По форме представляемой информации можно выделить фактографические, документальные и мультимедийные БД. Особенностью фактографической информации является практическая очевидность (минимальная неопределённость, не требующая использования сложных или нечётких процедур) идентификации и интерпретации факта, как его имени, так и состояния. Документальная информация отличается неопределённостью или переменной структурой данных (документов). Т.е. инф-я в БД содержит определенный набор полей. 2. По типу хранимой информации можно выделить фактографические, документальные, лексикографические БД. Лексикографические базы – это классификаторы, кодификаторы, словари основ слов, тезаурусы, рубрикаторы и т.д., обычно используемые в качестве справочных совместно с документальными или фактографическими БД. Документальные подразделяются по уровню представления инф-и: полнотекстовые(обрабатывают документ на первичном уровне) и библиографические-реферативные(вырабатывают вторичные документы). 3. По типу используемой модели данных традиционно выделяют: иерархические, сетевые, реляционные. Иерархические и сетевые модели данных называют ещё навигационными. Иерархическая м одель вообще реализовывалась средствами древовидных структур с корневыми сегментами, имеющими физический указатель на другие сегменты. Преимущество - уменьшение избыточности хранения инф-и. Одно из неудобств такой модели данных заключается в том, что реальный мир не может быть легко представлен в виде древовидной структуры с единственным корневым сегментом. Пример – файловая структура каталога. Сетевая модель данных –реализуется графовыми структурами(графы). Она позволяет более гибко описывать предметные области. Недостатки такие же как у иерархической + она имеет сложную структуру. Здесь, как и в иерархических БД, ассоциации поддерживаются с помощью физических указателей. Примером этой модели является Интернет. Реляционная модель –подразумевает единственную структуру – отношения. Достоинства: простота, наличие мощного математического аппарата (реляц-я алгебра, реляц-е исчисление), поддерживает ненавигационный способ доступа к данным, поддержка унифицированного языка доступа к данным. Недостатки: не все предметные области легко описываются набором отношений, реляц-я модель хранит мало инф-и о связях между объектами предменой области. 4. По типологии доступа и характеру использования хранимой информации: специализированные и интегрированные БД. 5. По топологии хранения данных: локальные и распределённые БД. 6. По степени доступности: общедоступные и с ограниченным доступом пользователей к БД. 7. По способу организации инф-го фонда – бд с файловой с-й, прикладные, предметные.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 563; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.197.201 (0.051 с.)