Распределение интерфейсов пользователя
Многие наследуемые системы введены в эксплуатацию еще до того, как были изобретены графические интерфейсы пользователей. Такие системы имеют интерфейсы, основанные на текстовых формах, которые выполняются на терминалах, способных выводить на экран только символьные изображения. Вычислительные средства таких терминалов относительно слабые, поэтому все основные вычислительные функции принимает на себя центральная ЭВМ. При распределении интерфейсов пользователя применяются мощности локальных ПК, обеспечивающие графический интерфейс, который в большей мере отвечает потребностям пользователей. Функции интерфейса (представление данных, управление взаимодействием и проверка данных) переводятся на локальный ПК, а текстовый интерфейс заменяется графическим интерфейсом пользователя. Серверу остаются функции по обработке данных и реализации сервисов приложения. Если наследуемая система обладает четкой структурой, в которой легко выделить интерфейс пользователя, ее можно преобразовать в систему с распределенными интерфейсами пользователя. Для этого следует перенести на компьютер клиента те компоненты системы, которые отвечают за взаимодействие с пользователем. Связь этих компонентов с основной программой осуществляется с помощью интерфейса, подобного изначальному текстовому. Однако часто встречаются системы, в которых интерфейс и приложение интегрированы так, что невозможно вычленить код интерфейса. В этом случае можно прибегнуть к варианту распределения интерфейсов пользователя, который показан на рис. 27.12.
Рис. 27.12. Распределение пользовательских интерфейсов
Промежуточное ПО управления экранами (окнами), показанное на рис. 27.12, осуществляет связь с приложением и действует точно так же, как терминал пользователя. Это программное обеспечение использует описание каждого экрана для интерпретации и вывода данных на экран. В таком виде данные пересылаются на машину клиента, где они представляются с помощью графического интерфейса. В настоящее время процесс описания структуры интерфейса можно реализовать с помощью языка XML [326]. В этом случае не обязательно изменять наследуемую систему. Нужно только создать промежуточное ПО управления экранами и программу поддержки интерфейса на машине клиента.
Для реализации распределения пользовательских интерфейсов используются две стратегии.
1. Реализация интерфейса с помощью системы управления окнами, установленной на машине клиента и осуществляющей связь с сервером. 2. Реализация интерфейса пользователя с помощью Web-броузера.
В первом случае интерфейс создается с помощью подходящего языка программирования, например Java, или с помощью языка сценариев Visual Basic. Для реализации интерфейса на машине пользователя выполняются запросы к функциям операционной системе. Во втором случае для создания интерфейса на основе Web-страниц применяется язык HTML и Web-броузеры. Каждый подход имеет свои преимущества и недостатки, которые представлены в табл. 27.2. Таблица 27.2. Преимущества и недостатки стратегий реализации распределенных пользовательских интерфейсов
Переход с обычных интерфейсов на интерфейсы Web-броузеров приобрел такую популярность благодаря независимости от аппаратной платформы и широким возможностям Web-броузеров. Приложения на языке Java применимы для локальных вычислений на машине клиента, что позволяет сравнить эти интерфейсы с теми, которые основаны на системе управления окнами. Большая трудность в преобразовании интерфейсов, основанных на текстовых формах, в графические состоит в том, что они различаются способами управления взаимодействием и проверки данных. В первом случае компьютерная система осуществляет управление взаимодействием и выполняет проверку данных сразу после поступления информации. Для этого необходимо, чтобы поля форм заполнялись в определенном порядке. В графическом интерфейсе пользователь произвольно выбирает интересующие его поля. Такое управление машина не может предсказать. Поэтому возникает дополнительный поток обмена данными между ПК пользователя и сервером. Проверка данных возможна лишь в случае полного заполнения всех полей, иначе работа системы замедляется за счет частых обменов данными между клиентом и сервером.
КЛЮЧЕВЫЕ ПОНЯТИЯ
• Стратегии модернизации программного обеспечения состоят из сопровождения ПО, эволюции системной архитектуры и реинжениринга ПО. • Существует ряд постоянных факторов (законы Лемана), влияющих на эволюцию программных систем. Эти законы появились благодаря практическим наблюдениям и дают необходимую основу для управления процессом сопровождения. • Есть три вида сопровождения программных продуктов: с целью исправления ошибок, с целью адаптации ПО к рабочему окружению системы и с целью изменения или расширения функциональных возможностей системы. • Затраты на сопровождение, как правило, превышают расходы на создание программной системы. Поскольку в большинстве компаний используются устаревшие системы, большая часть средств, выделяемых на ПО, уходит именно на сопровождение таких систем.
• Эволюция системной архитектуры подразумевает переход от централизованной структуры системы к распределенной. • Общепринятой стратегией эволюции системной архитектуры является преобразование наследуемой системы в виде сервера и реализация распределенных интерфейсов пользователя, доступ к системным: функциям осуществляется посредством специального промежуточного ПО.
Упражнения 27.1. Объясните, почему в "молодых" организациях-разработчиках постоянно возникают запросы на изменение программного обеспечения. Почему расходы на эти изменения неизбежно возрастают? 27.2. Объясните, на чем основаны законы Лемана. При каких условиях эти законы не будут действовать? 27.3. Опишите трудности, которые возникают при определении сложности сопровождения. Почему для оценивания будущего процесса сопровождения рекомендуется применять разные показатели сложности систем? 27.4. Допустим, вы менеджер по программному обеспечению компании, специализирующейся на разработке программ для нефтедобывающей промышленности, и вам дали задание определить факторы, влияющие на сопровождение систем, созданных компанией. Опишите, как вы организуете анализ процесса сопровождения с тем, чтобы найти систему показателей сопровождения, подходящую для вашей компании. 27.5. Объясните, почему преобразование в сервер наследуемой системы, реализованной на мэйнфрейме, является лишь краткосрочным решением проблемы эволюции системной архитектуры. 27.6. Опишите преимущества и недостатки распределения каждого системного слоя, показанного на рис. 27.10. 27.7. Два крупных международных банка с разными базами данных клиентов решили объединиться и предоставить доступ к объединенной базе данных из всех отделений банков. Предоставьте наиболее корректное решение для изменения ПО обоих банков, обоснуйте свой выбор и опишите процесс его реализации. 27.8. Будет ли, по вашему мнению, разработчик ПО, опираясь на свой профессиональный долг, создавать программный код, удобный для сопровождения, в том случае, если это не входит в список требований заказчика ПО?
Читайте также: Анонимная аутентификация (anonymous authentication) — определение личности пользователя не выполняется. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|