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


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

Для создания программы на выбранном языке программирования необходимо иметь следующие средства[15].

1. Текстовый редактор. Используется для создания исходного текстапрограммы. Специальные текстовые редакторы созданы для всех популярных языков программирования.

2. Программа-компилятор.Обеспечиваетперевод исходного текста в модули машинного кода.В результате компилирования создается так называемый объектный код,который требует дальнейшей обработки.

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

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

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

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

1. Автономные приложения. Эта группа представляет вариант структуры, в котором все программы сосредоточены на одном компьютере.

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

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

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

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