Типы программного обеспечения.

13.08.2019

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

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

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

Основные способы использования произведений перечислены в ст.1270 ГК РФ. Среди них к способам использования ПО можно отнести следующие:

  1. воспроизведение ПО , т.е. есть изготовление одного и более экземпляра ПО или его части в любой материальной форме, включая запись в память ЭВМ;
  2. распространение ПО путем продажи или иного отчуждения его экземпляров;
  3. публичный показ ПО , то есть любая демонстрация экземпляра ПО на экране с помощью телевизионного кадра или иных технических средств в месте, открытом для свободного посещения, или в месте, где присутствует значительное число лиц, не принадлежащих к обычному кругу семьи, независимо от того, воспринимается ПО в месте его демонстрации или в другом месте одновременно с демонстрацией ПО;
  4. импорт экземпляров ПО в целях распространения;
  5. прокат экземпляра ПО , когда программа является основным объектом проката;
  6. модификация ПО , т.е. любые его изменения, в том числе перевод такой программы или такой базы данных с одного языка на другой язык, за исключением адаптации, то есть внесения изменений, осуществляемых исключительно в целях функционирования программы для ЭВМ или базы данных на конкретных технических средствах пользователя или под управлением конкретных программ пользователя;
  7. доведение ПО до всеобщего сведения таким образом, что любое лицо может получить доступ к ПО из любого места и в любое время по собственному выбору (доведение до всеобщего сведения), т.е. передача экземпляра по сети Интернет.

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

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

Формулируйте условия лицензионного договора правильно.

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

Поскольку без ПО функционирование ПК невозможно в принципе, оно является неотъемлемой составной частью любого ПК и поставляется вместе с его аппаратной частью (hardware ).

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

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

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

Новинки программного обеспечения уже давно доминируют над новыми аппаратными разработками. Комплект ПО по стоимости превосходит (иногда в несколько раз) стоимость компьютера адекватного класса.

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

Назначение ПО:

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

Программное обеспечение позволяет:

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

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

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

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

Расширение существующего ПО предполагает наличие следующих возможностей:

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

ПО ориентировано на использование вычислительных систем в различных сферах деятельности и должно обеспечивать своевременное и адекватное поставленным задачам решение. Это вызывает необходимость соблюдения ряда требований при разработке компонентов ПО , основными из которых являются:

  • модульность;
  • наращиваемость и развитие;
  • надежность;
  • предсказуемость;
  • удобство и эргономичность;
  • гибкость;
  • эффективность;
  • совместимость.

Основные принципы разработки современного программного обеспечения:

  • параметрическая универсальность;
  • функциональная избыточность;
  • функциональная избирательность.

Программы на компьютер можно установить двумя способами:

  • Инсталляцией с дистрибутива
  • Простым копированием

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

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

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

Внутреннее ПО выполняет следующие основные функции:

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

Основными элементами внутреннего ПО служат драйверы ввода-вывода, программа самопроверки и программа первоначальной загрузки . Внутреннее ПО взаимодействует, с одной стороны, с функциональными модулями ПЭВМ, а с другой стороны, реализует программный интерфейс операционной системы.

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

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

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

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

Драйверы имеют следующие особенности:

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

К основным драйверным программам относятся: драйвер жесткого диска, драйвер видеоадаптера, драйвер клавиатуры, драйвер печатающего устройства, системные драйверы (установка таймера, проверка конфигурации компьютера, определение емкости ОЗУ), дополнительные драйверы (драйвер связи и др.).

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

ОС представляет собой набор программ управления ПЭВМ.

Состав ПО определяется кругом задач, которые пользователь предполагает решать с помощью компьютера.

По назначению, т.е. в зависимости от класса решаемых задач, ПО обычно разделяют на две основные группы: Общее (базовое) и прикладное.

Классификация программного обеспечения по функциональному назначению

Схема общей классификации ПО

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

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

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

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

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

Какое программное обеспечение используется на Losst

1. Система виртуализации - XEN

Как и большинство современных сайтов Losst расположен на VPS сервисе. В качестве системы виртуализации используется XEN-PV. В сторону OpenVZ я вообще смотреть не рекомендую, так как там вы получаете только контейнер и не можете полностью контролировать свою операционную систему. Виртуализация KVM уже лучше, модуль виртуализации работает на уровне ядра, и вы можете контролировать свою ОС, для виртуализации аппаратных устройств используется Qemu. Но здесь минус в том, что возможен оверселлинг. В Xen оверселлинг реализуется сложнее, а технология паравиртуализации XEN-PV дает производительность схожую с реальным железом.

2. Операционная система - CentOS 7

В качестве операционной системы используется CentOS 7. Я выбрал эту ОС из-за длительного строка поддержки и постоянных обновлений. Если обновить Ubuntu 16.04 до LTS на сервере может вызвать определенные проблемы, то CentOS в рамках седьмой версии (на данный момент самой свежей) обновляется штатным пакетным менеджером без возникновения каких-либо проблем. Например, не так давно вышла новая версия Red Hat 7.4 и через несколько месяцев CentOS прозрачно обновилась до этой версии и получила новый Nginx с поддержкой ALPN, PHP 7 и другие улучшения. А поскольку система создана на основе корпоративной Red hat, то она очень стабильна.

3. Панель управления - VestaCP

Конечно, можно настроить сервер без всяких панелей управления, но на это нужно много времени, которое не всегда есть. Поэтому я использую панель управления с открытым исходным кодом - VestaCP. Некоторое время назад я использовал ISPManager и могу сказать что по субъективным ощущениям Vesta намного лучше. Красивый интерфейс, интуитивно понятное расположение функций, легкое управление пользователями, возможность настраивать шаблоны конфигурации по своему усмотрению, создание домена в несколько кликов, настройка Cron и веб-интерфейса и просмотр статистики. Отличная панель, если вы еще не использовали ее - рекомендую.

4. Веб-сервер - Nginx

Высокопроизводительный веб-сервер, который может выдерживать большие нагрузки благодаря своей оптимизированности под HighLoad. До перехода на использование HTTPS я использовал Apache, но потом нагрузка на сервер значительно выросла и мне пришлось искать более производительное решение. На данный момент Nginx отлично справляется со своей задачей. Сам Nginx может отдавать хоть 10 000 страниц в секунду, но узким местом здесь является PHP. Чтобы хоть как-то решить эту проблему используется fastcgi кэш для скриптов.

5. Интерпретатор скриптов - PHP 7

Основная часть сайтов сейчас написана на PHP и это нормально, так как php - самый популярный язык программирования для веб. Я использую php-fpm в связке с Nginx, это оптимальное решение. Я выбрал именно PHP 7 потому что по многим тестам его производительность немного выше чем у предыдущих версий. Также для ускорения выполнения php кода используется кэш opcache.

6. Безопасность - Lets Encrypt

Весь интернет медленно, но уверено переходит на безопасный протокол HTTPS, и хотя на этом сайте нечего перехватывать, мы тоже используем этот протокол, потому что это дает преимущества в поиске, более быструю загрузку и гарантию того, что в будущем браузеры не будут называть сайт небезопасным. Бесплатный сертификат от Lets Encrypt удовлетворяет все требования. Продление работает автоматически с помощью VestaCP.

7. Почтовый сервер - Postfix

Для отправки почты с сайта и приема почтовых сообщений для домена используется почтовый сервер Postfix. Я не выбирал этот сервер, он был автоматически установлен в VestaCP и отлично справляется со своей задачей.

8. Почтовый интерфейс - Roundcube

Чтобы иметь возможность читать письма, которые приходят на адреса из домена @сайт я использую веб-интерфейс почты roundcube. Интерфейс достаточно простой и в то же время удобный. Есть все необходимые возможности - выделение сообщений, удаление, отметка важных сообщений, сортировка по папкам и многое другое.

9. СУБД - MariaDB

Ни один современный динамический сайт не работает без системы управления базами данных. На Losst используется СУБД MariaDB - эта СУБД разработана создателем MySQL после перехода последней в собственность Oracle. Эта база данных имеет все возможности MySQL, более высокую производительность, а также огромное сообщество разработчиков. Обновления для MariaDB выходят быстрее чем MySQL, а также разработка ведется более активно.

10. Резервное копирование - automysqlbackup

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

11. Система мониторинга - zabbix

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

12. Система управления контентом - WordPress

WordPress - одна из самых популярных систем управления контентом в мире, она имеет огромное количество возможностей и огромное количество плагинов, созданных сторонними разработчиками. Да WordPress не идеален. Без кэширования он очень медленный и еще имеет кучу проблем. Но разрабатывать собственную CMS тоже не вариант, поскольку это занимает очень много времени и у вас просто не будет времени наполнять сайт контентом и думать о других вещах. Я знаю о чем говорю, несколько лет назад я уже пытался создать CMS на PHP, исходники до сих пор где-то лежат на GitHub, из того проекта ничего не вышло. В итоге либо вы делаете CMS, либо сайт, все вместе делать не получиться.

Выводы

В этой статье мы рассмотрели какое программное обеспечение используется для работы Losst. На момент написания статьи - все основные используемые программы распространяются с открытым исходным кодом. Конечно, есть плагины для WordPress, которые имеют закрытую лицензию, но это уже необходимость. А какое программное обеспечение используете вы на своих серверах? Напишите в комментариях!

Техническое задание на разработку программы
"10-Страйк: Инвентаризация Компьютеров" для учета компьютеров сети предприятия "

1. Введение

1.1. Наименование программы

2. Требования к программе

2.2. Требования к надежности

2.2.1. Требования к обеспечению надежного функционирования программы

2.2.3. Отказы из-за некорректных действий пользователей системы 3. Условия эксплуатации
3.1. Климатические условия эксплуатации
3.2. Требования к квалификации и численности персонала
3.3. Требования к составу и параметрам технических средств
3.4. Требования к информационной и программной совместимости
3.4.1. Требования к информационным структурам и методам решения
3.4.2. Требования к исходным кодам и языкам программирования
3.4.3. Требования к программным средствам, используемым программой
3.4.4. Требования к защите информации и программ
3.5. Специальные требования
4. Требования к программной документации
4.1. Предварительный состав программной документации
5. Технико-экономические показатели
5.1. Экономические преимущества разработки
6. Стадии и этапы разработки
6.1. Стадии разработки
6.2. Этапы разработки
6.3. Содержание работ по этапам
7. Порядок контроля и приемки
7.1. Виды испытаний

1. Введение

1.1. Наименование программы

Наименование программы: "10-Страйк: Инвентаризация Компьютеров" для учета компьютеров сети предприятия "

1.2. Назначение и область применения

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

И c полнители:

C оисполнители:нет

2. Требования к программе

2.1. Требования к функциональным характеристикам

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

1) Сбор информации в организации с любой структурой

1.1.Получение информации по различным группам данных (более 50) аппаратного и программного обеспечения;

1.2.Сбор информации с локального и удалённых компьютеров и смартфонов под управлением Windows (WMI, NetBios, реестр), Linux и MacOS (по SSH), Android (SSH);

1.3.Три способа сбора информации: , , .

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

2. Подготовка отчетности

2.1. Ведение базы данных компьютеров с созданием собственных полей по учёту данных о пользователе и инвентаризации;

    1. Создание различных отчётов (более 70 шаблонов отчетов в форматах pdf, html, doc, xml (xls), xls, txt) по состоянию аппаратного и программного обеспечения в сети;

3. Оповещение об изменениях и обнаруженных проблемах

3.1.Контроль изменений аппаратного и программного обеспечения на компьютерах сети;

3.2.Оповещение об изменениях в конфигурациях на компьютерах;

3.3.Оповещение об обнаруженных проблемах (мало места на жестком диске, истекает действие лицензионного ключа);

    1. Ведение диагностики S.M.A.R.T., определение состояния здоровья жестких дисков;

4. Учет приложений и лицензий

4.1.Учет лицензионной информации, учет закупок лицензионного ПО, обнаружение проблем, связанных с лицензионной политикой;

4.2.Менеджер приложений. Ведение черного и белого списков ПО, запрещенного и разрешенного. Отчеты по установкам ПО;

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

2.2. Требования к надежности

2.2.1 Требования к обеспечению надежного функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

а) организацией бесперебойного питания технических средств;

б) использованием лицензионного программного обеспечения;

в) регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
г) регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов

2.2.2. Время восстановления после отказа

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

2.2.3. Отказы из-за некорректных действий пользователей системы

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

3. Условия эксплуатации

3.1. Климатические условия эксплуатации

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

3.2. Требования к квалификации и численности персонала

С программой могут работать несколько администраторов c разграничением прав доступа.

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

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

а) задача поддержания работоспособности технических средств;

б)задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы;

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

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

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

ж) добавление компьютеров из диапазона IP адресов и др;

3.3. Требования к составу и параметрам технических средств

Особых требований к составу и параметрам технических средств не предъявляется.

Успешно работает с базой более 10000 компьютеров.

3.4. Требования к информационной и программной совместимости

3.4.1. Требования к информационным структурам и методам решения

При использовании для сбора информации с компьютеров и проведения инвентаризации, программа устанавливается только на компьютер администратора и не требует установки программ на компьютерах пользователей . Процесс сбора данных ведется в фоновом режиме, параллельно опрашиваются несколько компьютеров одновременно, освобождая время на просмотр данных и подготовку отчетов. Опрос ведется по протоколам WMI и SSH, позволяя опрашивать Windows, Linux и MacOS компьютеры, а также Android-устройства.

Импорт структуры организации осуществляется из Active Directory.

Для опроса компьютеров под управлением ОС Линукс можно использовать протокол SSH . На машинах должен стоять SSH -сервер.

Программа может работать с СУБД MS SQL, MySQL, Oracle . Поддерживаются российские СУБД Linter и Postgre.

3.4.1.2. Требования к запросам пользователей данных из базы

Пользователи и администраторы работают с базой данных через Веб интерфейс.

Программа собирает данные с помощью технологии WMI.

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

3.4.2. Требования к исходным кодам и языкам программирования

Дополнительные требования не предъявляются.

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows Vista/7/8 /10.

3.4.4. Требования к защите информации и программ

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

3.5. Специальные требования

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

4. Требования к программной документации

4.1. Предварительный состав программной документации

Состав программной документации должен включать в себя:

4.1.1. техническое задание;

4.1.2. программу и методики испытаний;

4.1.3. руководство оператора;

5. Технико-экономические показатели

5.1. Экономические преимущества разработки

Ориентировочная экономическая эффективность не рассчитываются. Аналогия не проводится ввиду уникальности предъявляемых требований к разработке.

6. Стадии и этапы разработки

6.1. Стадии разработки

Разработка должна быть проведена в три стадии:

1. разработка технического задания;

2. рабочее проектирование;

3. внедрение.

6.2. Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.
На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1. разработка программы;

2. разработка программной документации;

3. испытания программы.

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

6.3. Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

    постановка задачи;

    определение и уточнение требований к техническим средствам;

    определение требований к программе;

    определение стадий, этапов и сроков разработки программы и документации на неё;

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

    На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации. На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:
    а). разработка, согласование и утверждение и методики испытаний; b ). проведение приемо-сдаточных испытаний;

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

    На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика.

7. Порядок контроля и приемки

7.1. Виды испытаний

Приемо-сдаточные испытания должны проводиться на объекте Заказчика в оговоренные сроки. Приемо-сдаточные испытания программы должны проводиться согласно разработанной Исполнителем и согласованной Заказчиком Программы и методик испытаний. Ход проведения приемо-сдаточных испытаний Заказчик и Исполнитель документируют в Протоколе проведения испытаний.

7.2. Общие требования к приемке работы

На основании Протокола проведения испытаний Исполнитель совместно с Заказчиком подписывает Акт приемки-сдачи программы в эксплуатацию.

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

База

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

Любое программное обеспечение состоит из файлов, в которых прописаны процедуры и функции, которым следует программа при исполнении.

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

Начнем разбор вопроса о том, что такое программное обеспечение, с его классификации.

Операционная система

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

В этом классе можно выделить два важных подраздела:

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

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

  • создание среды для функционирования прикладных программ;
  • поддержка работы ПК и сети;
  • диагностирование и проведение профилактики сбоев ПК и ЛВС;
  • проведение дополнительных поддерживающих операций, таких как архивирование, форматирование, дефрагментация и другие.

Для компьютера

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

В инструментальном ПО можно выделить три подгруппы:

  • языки и системы программирования;
  • интегрированные среды программирования;
  • программные комплексы.

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

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

Для пользователя

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

  • Процедурно-ориентированные языки программирования - это специализированное программное обеспечение. Примеры - Паскаль (Pascal), Бэйсик (Basic). Эти простейшие языки программирования служат для написания элементарных прикладных программ, функций и процедур. А также, для описания алгоритмов решения поставленных задач.
  • Проблемно-ориентированные языки - позволяют решать задачи в более узких конкретных областях программирования, их примерами можно назвать - Лисп, АПЛ.
  • Объектно-ориентированные языки - более современные и удобные средства для создания прикладных приложений и создающие различные виды программного обеспечения для конечного пользователя. Главной их особенностью является возможность делать готовые элементы приложения, такие как диалоговые окна, поля для заполнения, кнопки. Для иллюстрации можно назвать такие языки, как С++ и Visual Basic.

С чем мы работаем

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

  1. Пожалуй, самая распространённая категория приложений - это мультимедиа. Т. е. программы воспроизведения видео, аудио, игры. Всё то, что служит для развлечения конечного пользователя. Таким образом, одно из величайших изобретений человечества из рабочего научного инструмента превратилось в средство развлечения широкой публики.
  2. Информационно-поисковое ПО. Как понимаете, это различные браузеры и клиенты интернет-технологии, предназначенные для получения информации из мировой сети.
  3. Общего назначения. Это виды программного обеспечения, используемого в обычной жизни исключительно по необходимости. Это графические и текстовые редакторы, почтовые сервисы, базы данных.
  4. Проблемно-ориентированное. Например, экспертные системы или системы аудио- и видеоконференций.
  5. Программные среды профессионального уровня. Это бухгалтерские и педагогические системы, системы контроля управления доступа.

Наглядный пример

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

  • 1C Бухгалтерия. Яркий пример профессионального ПО, служащего для работы с бухгалтерией, правовой областью и ещё множеством поддерживаемых и смежных областей.
  • Microsof Office Word. Самый понятный и доступный пример ПО общего назначения. Практически каждый в своей жизни запускал этот пакет программ для составления резюме, реферата или отчета.
  • Microsof Office Access. Простейшая реализация базы данных, также являющееся ПО общего назначения.
  • О категории мультимедиа слышали все. Это всем известный Windows Media Player, способный проигрывать как аудио-, так и видеофайлы.
  • Photoshop - очередной пример ПО общего назначения. Являясь профессиональным графическим редактором, используемым во многих полиграфических фирмах, также относится к программной среде профессионального уровня.
  • Если говорить о ПО общего назначения, то с ним сталкивался каждый человек, хоть раз запускавший компьютер. Это всем известный Windows.

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

Инсталляция

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

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

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

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

Творение

Разработка программного обеспечения проходит в несколько этапов.

  • Начальная стадия - это этап появления и реализации идеи. Создание дизайна будущего приложения, а также его функционала.
  • Альфа-тестирование - процесс внутреннего тестирования. Его и добавление каких-либо функций проводят внутри ограниченного круга людей, обычно разработчиков или близких к ним людей.
  • Бета-тестирование проводят среди потребителей по решению производителя. Это процесс отладки программы.
  • Релиз-кандидат. Программа, прошедшая все стадии тестирования, с найденными и исправленными критическими ошибками. Практически готовое приложение к релизу.
  • И, наконец, релиз. Готовый к выпуску и тиражированию продукт.
  • Последний этап, который продолжает длиться после выпуска - программная поддержка и сопровождение приложения.

Выводы

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

Похожие статьи