logo search
Методическое пособие КИТ_3_Лекции

6.2 Открытость, модульность, мобильность и масштабируемость программного обеспечения.

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

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

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

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

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

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

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

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

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

Определение открытого программного обеспечения (www.opensource.org/docs/definition_plain.html) подразумевает его свободное распространение, доступность исходных текстов и их изменяемость. Это позволяет строить сложные информационные системы с минимальными затратами времени и средств, поскольку базовый функционал системы реализуется на основе готовых открытых решений. Программируются лишь те части системы, которые формируют специфическую бизнес-логику компании, внедряющей у себя это решение.