Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

metoda_2013

.pdf
Скачиваний:
54
Добавлен:
03.05.2015
Размер:
6.36 Mб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

Декомпозиция

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

Разбиение системы на части и к создание общей архитектуры системы происходит на основе критериев декомпозиции:

1.Критерий разбиения на функции системы

2.Критерий разбиения на подсистемы

3.Критерий разбиения на классы

4.Критерий разбиения на объекты

5.Критерий разбиения на состояния

6.Критерий разбиения на задачи

7.Критерий определения интерфейсов

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

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

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

180

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

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

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

39. Сопровождение ПО.

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

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

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

программных систем занимает сопровождение.

 

Сопровождаемость

программного

обеспечения —

характеристики программного

продукта,

позволяющие

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

для устранения ошибок;

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

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

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

181

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

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

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

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

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

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

конфигурации

аппаратуры,

на

которой

предстоит

функционировать программам.

Адаптация занимает

около 20% общих затрат на сопровождение.

 

 

- модернизация -

расширение функциональных

возмож-

ностей или

улучшение характеристик решения отдельных задач

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

 

Исправление ошибок 20%

Модернизация ПО

60%

Адаптация 20%

 

Затраты на сопровождение программного обеспечения

 

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

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

 

Остальные виды корректировок носят упорядоченный харак-

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

182

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

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

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

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

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

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

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

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

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

183

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

IV. СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

1.Назовите и охарактеризуйте уровни управления ИВС по эталонной модели ВОС. Назовите сетевые устройства и ПО, работающие на этих уровнях.

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

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

7 – пользовательские службы; 6– преобразование (представление) данных; 5 – организация и проведение диалога; 4 – представление сквозных соединений; 3 – прокладка соединений между системами; 2 – передача данных между смежными системами; 1 –сопряжение систем с физическими функциями системы.

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

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

184

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

Канальный уровень 2: предоставляет услуги по обмену данными между логическими объектами сетевого уровня и выполняет функции, связанные формированием и передачей кадров, обнаружением и исправлением ошибок, возникающих на физическом уровне посредством вычисления контрольной суммы, проверяет доступность среды передачи. Кадром называется пакет канального уровня; поскольку пакет на предыдущих уровнях может состоять из одного или многих кадров. Канальный уровень обеспечивает надежный транзит данных через физический канал. На этом уровне работают сетевые адаптеры, коммутаторы. Протоколы – Ethernet, Token Ring, FDDI

Сетевой уровень 3: Этот уровень служит для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами. На этом уровне вводится понятие "сеть". В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определенный для этой топологии. Таким образом, внутри сети доставка данных регулируется канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень. Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие "номер сети". В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети. На этом уровне происходит формирование пакетов по правилам тех промежуточных сетей, через которые проходит исходный пакет и маршрутизация пакетов, т.е. определение и реализация маршрутов, по которым передаются пакеты. Маршрутизация сводится к образованию логических каналов. Еще одной важной функцией сетевого уровня является контроль нагрузки на сеть с целью предотвращения перегрузок. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell. На этом уровне работают маршрутизаторы (аппаратные и программные).

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

185

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

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

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

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

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

186

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

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

2.Адресация в протоколах TCP/IP для сети Internet. Протокол ARP. Схемы рекурсивного и нерекурсивного режимов работы DNS-серверов.

Различают два типа адресов. На канальном уровне используются адреса, называемые физическими. Это шестибайтовые адреса сетевых плат. На сетевом уровне используют сетевые адреса, называемые виртуальными или логическими. Эти адреса имеют иерархическую структуру и строятся на основе цифровых и буквенных выражений. Для поддержания таких адресов в Internet применяется система имен доменов (Domain Name System DNS). Единицей измерения здесь является домен (т.е. территория или область).

Узлы в Internet имеют адрес и имя. Адрес – это уникальная совокупность чисел: адреса сети и компьютера, которая указывает их местонахождение. Имя характеризует пользователя. Оно составляется в соответствии с доменной системой имен. Соответствие между IP-адресом и IP-именем узла сети устанавливается специальной службой директорий. В

Internet это DNS.

IP-имя, называемое доменным именем, отражает иерархическое построение, глобальных сетей и поэтому состоит из нескольких частей. Корень иерархии обозначает либо страну, либо отрасль знаний (например, ru – Россия, edu – наука и образование). Корень занимает в IP-имени правую позицию, левее записываются в порядке подчинения остальные домены, составляющие локальную часть адреса. Перед символом @ указывается имя почтового ящика пользователя. Любой узел сети или домен в Internet однозначно идентифицируется таким полным доменным именем. Длина каждой метки в этом имени, разделенной точкой, не должна превышать 63 символов, а полная длина имени – 255 символов.

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

187

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

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

255.0.0.0, а для ее подсети – 255.255.0.0. Тем самым описывается иерархия сетей.

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

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

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

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

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

188

СЕТИ ЭВМ И ТЕЛЕКОММУНИКАЦИИ

других серверов имен данной зоны сети происходит по мере устаревания содержимого их кэш-памяти.

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

Схема работы При рекурсивном режиме работы, в случае отсутствия нужной

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

Протокол ARP

Сетевая карта отправителя не знает MACадреса получателя. Поэтому какойлибо протокол должен этот адрес найти. Таким

189

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]