Страница 3 из 11
Рассмотрим пример простой программы, где есть две инструкции:
1) При нажатии на кнопку «Сложить» выполнить операцию сложения чисел и вывести результат сложения.
2) При нажатии на кнопку «Очистить» очистить все имеющиеся у программы поля.
Данная программа для сложения чисел будет сопровождать нас на протяжении всей книги, поэтому можете скачать её для ознакомления на сайте автора[4].
Переходим к термину «программное обеспечение».
Программное обеспечение (ПО) – совокупность программ, используемых для управления компьютером.
Исходя из определения можно сказать, что программное обеспечение – это набор программ, установленных на компьютере и предоставляющих возможности для выполнения различных задач. Данный набор включает все программы на компьютере или устройстве, необходимые для их работы.
Теперь мы понимаем, что программа и программное обеспечение – это два разных понятия. Программа – часть программного обеспечения, а программное обеспечение – совокупностью всех программ, установленных на компьютере.
Вы часто будете сталкиваться с ситуациями, когда под словами «программное обеспечение» люди подразумевают программу. Так повелось, и на это надо реагировать спокойно.
Теперь нам предстоит понять, что такое «информационная система».
Информационная система – это комплекс программ и устройств, которые работают вместе для сбора, обработки, хранения, предоставления и передачи информации с целью решения определённых задач.
Информационные системы могут состоять из программ, компьютеров, сети передачи информации, баз данных[5], устройств ввода-вывода[6] и так далее. Цель информационных систем – облегчение, повышение эффективности и производительности процессов. Они используются для решения широкого спектра задач.
Теперь рассмотрим все три понятия в связке на простом примере. Мы покупаем компьютер. На нём ничего не установлено, и это является оборудованием. Далее устанавливаем операционную систему, которая включает набор различных программ: калькулятор, редактор текста и т. д. Теперь у нас есть компьютер с программным обеспечением.
Мы разрабатываем программу, в которой можно заполнять налоговые отчёты. Она установлена на первом компьютере. На втором устанавливаем базу данных, в которой наша программа хранит все данные включая созданные отчёты. На третий устанавливаем программу, которая получает из базы данных информацию по отчётам и автоматически отправляет их в налоговые органы. Всё описанное является информационной системой, включающей три компьютера, без которых не будут функционировать программы; программы для создания отчётов, их отправки, база данных; программное обеспечение с операционными системами со всеми перечисленными программами; сеть, которой связаны компьютеры и по которой они обмениваются информацией.
Есть ли элемент меньше программы? Есть – программный компонент.
Программный компонент – это автономный наименьший элемент программы, который создан для выполнения конкретных функций или задач.
Можно сказать, что программные компоненты – кирпичики, из которых строятся программы. Как и в случае с настоящими кирпичиками, программисты могут использовать различные готовые компоненты в своих программах, чтобы не приходилось писать новый программный код с нуля.
Рассмотрим на примере. Представим, что нам необходимо создать программу для рисования. Вместо того, чтобы писать код для каждой функции программы (например, для создания линий, окружностей, прямоугольников), можно использовать готовые компоненты, созданные не нами, которые уже выполняют эти функции. Это бывает как стандартный набор графических компонентов, предоставляемый операционной системой, так и специализированные компоненты, которые мы можем загрузить из интернета.
Другой пример: создание онлайн-магазина. Вместо того, чтобы писать код для каждой функции, такой как добавление товаров в корзину, оформление заказа, обработка платежей и отправка уведомлений покупателям, мы можем использовать готовые компоненты, в которых уже реализованы данные функции.
В процессе чтения книги вы будете сталкиваться со всеми рассмотренными понятиями: программа, программное обеспечение, информационная система, компонент. Это сделано для того, чтобы вы привыкали к данным понятиям. Они будут использоваться, только если это уместно в определённом контексте.
Клиент-серверная архитектура программ
В разделе, описывающем виды тестирования, мы столкнёмся с понятиями клиент-серверной архитектуры. В связи с этим разберём, что это такое. Также данная информация будет вам полезна для общего понимания работы ряда информационных систем.
Клиент-серверная архитектура – это принцип построения информационных систем и программ, которые работают через интернет или локальную сеть.
Это как разделение обязанностей между компьютерами. В данной системе есть два типа компьютеров: «клиент» – клиентская часть, «сервер» – серверная часть. Они являются двумя составными частями информационных систем и программ, работающих по сети. Давайте посмотрим на них на примере интернет-магазина.
Клиентская часть – то, что работает у пользователя на компьютере или телефоне. В нашем случае – сайт или программа интернет-магазина, его интерфейс, где отображается каталог товаров, корзина, личный кабинет.
Серверная часть – это программа или набор программ, установленных на удалённом компьютере или компьютерах организации. Там хранятся все данные о товарах, заказах, пользователях. Туда приходят ваши запросы из клиентской части при нажатии на кнопки, а обратно с сервера приходят данные в клиентскую часть для отображения.
Клиентская часть информационной системы – это то, что использует пользователь напрямую, а серверная работает на стороне организации, обеспечивая все основные функции. Таким образом, первая ориентирована на взаимодействие с пользователем, в то время как вторая заботится о более сложных задачах и обеспечивает функциональность, которую видит пользователь в клиентской части. Вместе они образуют работающую информационную систему.
Программа для сложения чисел, текстовый редактор не имеют клиент-серверной архитектуры и их можно назвать «автономными программами». Им не требуется для работы серверная часть. Интернет-магазины, мобильные программы различных магазинов, сетевые игры – информационные системы с клиент-серверной архитектурой. Для их работы нужна серверная часть.
Жизненный цикл программы
Как любая сущность в мире, программы появляются на свет, «живут» определённое время и «умирают», и на протяжении этого периода проходят различные стадии своего существования.
Идея. Появление программы начинается с неё. Есть заинтересованное лицо или группа лиц, которые в определённый период времени понимают: нужна программа, которая будет помогать им решать определённые задачи. В момент появления идеи и принятия решения о её создании начинается «жизнь» любой программы.
Анализ. На данном этапе определяются нужды и ожидания пользователей будущей программы и собираются их пожелания. По мере того, как выясняются потребности, они преобразуются в требования, которым должна удовлетворять новая программа. Они чётко, структурировано и формализовано фиксируются в документе. О требованиях поговорим в следующих главах.
4
Программа «Computer Program One» для Windows размещена для скачивания по ссылке https://victorz.ru/books/book-1
5
База данных (БД) – это хранимый набор данных, который каким-либо образом структурирован.
6
Устройства ввода-вывода – это устройства, которые позволяют нам говорить, вводить информацию в компьютер и получать информацию от компьютера. Клавиатура и мышь – это устройства ввода, потому что мы с их помощью вводим информацию в компьютер. Экран и принтер – устройства вывода, потому что выводят информацию из компьютера.