Программное обеспечение (Software) 3



Скачать 308.71 Kb.
Дата26.07.2014
Размер308.71 Kb.
ТипДокументы

Программное обеспечение (Software) 3

Классификация ПО по назначению 3

Системное ПО 3

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

ОС реального времени 3

Оконные системы и оболочки ОС. 3

Загрузчик операционной системы 3

Драйверы устройств 4

Идеология построения драйверов 4

Device driver philosophy 5

Device driver development 5

Device driver applications 6

Virtual device drivers 6

Программные кодеки 6

Firmware 7

Origins 7

Evolved firmware uses 8

Firmware and device drivers 8

Firmware support challenges 8

BIOS 9


Программные средства защиты 9

Криптошлюзы 9

Средства аутентификации 9

Средства мониторинга и аудита 9

Сканеры защищенности 9

Средства разграничения доступа 10

Системы криптографической защиты, шифрования и ЭЦП 10

Антивирусные программы 10

Метод соответствия определению вирусов в словаре 11

Метод обнаружения странного поведения программ 11

Метод обнаружения при помощи эмуляции 11

Антиспамовые программы 12

Межсетевой экран 12

Инструментальное ПО 12

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

Среды разработки (в том числе RAD) 12

SDK 12

Системы управления базами данных (СУБД) 13



Основные функции СУБД: 13

Реляционные 14

Обьектно-ориентированные 14

Иерархические 14

Сетевые 15

Прикладное ПО 15

Офисные приложения 15

Текстовые редакторы и процессоры 15

Типы текстовых редакторов 15

Табличные процессоры 16

Редакторы презентаций 16

Корпоративные информационные системы 16

Системы проектирования и производства 16

Научное ПО 17

Прочие системы 17

Геоинформационные системы (ГИС) 17

Системы поддержки принятия решений (СППР) 17

Экспертные системы 17

Клиенты для доступа к интернет-сервисам: 18

электронная почта 18

веб 18

мгновенная передача сообщений 18



чат-каналы 18

IP-телефония 18

P2P обмен файлами 18

потоковое вещание 18

Банк-клиент 18

Мультимедиа 18

Компьютерные игры 18

Музыкальные редакторы 19

Графические редакторы 19

Видео редакторы 19

Мультимедиа проигрыватели 19

Классификация ПО по доступности 19

Качество программного обеспечения 20

Качество исходного кода 20

Методы улучшения качества кода: рефакторинг. 20

Факторы качества 21

С точки зрения пользователя 21

Интерфейс пользователя 22


Программное обеспечение (Software)


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

Программное обеспечение – согласно ГОСТ 19781-90 – совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.


Классификация ПО по назначению


По назначению ПО разделяется на системное, прикладное и инструментальное.

Системное ПО

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


общего назначения, реального времени, сетевые ОС, встраиваемые

ОС реального времени


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

Оконные системы и оболочки ОС.


X Window System — оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в UNIX-подобных системах в качестве стандарта «де-факто».

Загрузчик операционной системы


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

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

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

  • загружает ядро операционной системы в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с НЖМД. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);

  • формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);

  • передаёт управление ядру операционной системы.

На компьютерах архитектуры IBM PC запуск загрузчика осуществляется программным обеспечением BIOS, записанной в ПЗУ компьютера, после успешного окончания процедуры POST. Опишем процедуру, с помощью которой происходит загрузка с НЖМД IBM PC: BIOS производит чтение 512 байт первого сектора НЖМД в ОЗУ по адресу 0x07c0:0x0000, затем прочитанному коду передаётся управление. Этот код читает и анализирует таблицу разделов жёсткого диска, а затем, в зависимости от вида загрузчика, либо передаёт управление загрузочному коду активного раздела жёсткого диска, либо самостоятельно загружает ядро с диска в оперативную память и передаёт ему управление.



Распространённые загрузчики

  • NTLDR — загрузчик ядра Windows NT

  • Windows Boot Manager (bootmgr.exe,winload.exe) - загрузчик ядра Windows Vista

  • LILO (LInux LOader) — загрузчик, в основном применяемый для загрузки ядра Linux

  • GRUB (Grand Unified Bootloader) — применяется для загрузки ядра Linux и Hurd

  • Домашняя страница GRUB

  • OS/2 BootManager — загрузчик ядра OS/2

  • RedBoot — загрузчик для встраиваемых систем

  • SILO (SPARC Improved bootLOader) — загрузчик Linux и Solaris для машин с архитектурой SPARC. Домашняя страница SILO

  • Loadlin — загружает Linux из под DOS или Windows Домашняя страница Loadlin

  • Syslinux — загружает Linux из под DOS или Windows

  • BOOTP — применяется для загрузки по сети

  • Yaboot — загрузчик Linux на PowerPC

  • BootX — загрузчик Mac OS X

Драйверы устройств


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

Идеология построения драйверов

Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ, а такого рода управляющие программы назывались канальными программами.


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


  • загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.;

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

  • открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-образных системах;

  • чтение;

  • запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером;

  • закрытие;

  • IOCTL. Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI устройств можно послать команду GET_INQUERY, чтобы получить описание устройства. В Win32 системах управление осуществляется через API-фунцию DeviceIoControl(). В UNIX-подобных — ioctl()

Device driver philosophy


The key design goal of device drivers is abstraction. Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently.

Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, operating systems essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these OS mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver will ensure that the device appears to operate as usual from the operating systems' point of view.

Depending on the specific computer architecture, drivers can be 8-bit, 16-bit, 32-bit, and more recently, 64-bit. This corresponds directly to the architecture of the operating system for which those drivers were developed. For example, in 16-bit Windows 3.11, most drivers were 16-bits, while most drivers for 32-bit Windows XP are 32-bit. More recently, specific 64-bit Linux and Windows versions have required hardware vendors to provide newer 64-bit drivers for their devices.

Device driver development


Writing a device driver is considered a challenge in most cases, as it requires an in-depth understanding of how a given platform functions, both at the hardware and the software level. Because many device drivers execute in kernel mode, software bugs often have much more damaging effects to the system. This is in contrast to most types of user-level software running under modern operating systems, which can be stopped without greatly affecting the rest of the system. Even drivers executing in user mode can crash a system if the device being controlled is erroneously programmed. These factors make it more difficult and dangerous to diagnose problems.

All of this means that the engineers most likely to write device drivers come from the companies that develop the hardware. This is because they have more complete access to information about the design of their hardware than most outsiders. Moreover, it was traditionally considered in the hardware manufacturer's interest to guarantee that their clients would be able to use their hardware in an optimum way. However, in recent years non-vendors too have written numerous device drivers, mainly for use under free operating systems. In such cases, co-operation on behalf of the vendor is still important, however, as reverse engineering is much more difficult with hardware than it is with software, meaning it may take a long time to learn to operate hardware that has an unknown interface.



In Windows, Microsoft is attempting to address the issues of system instability by poorly written device drivers by creating a new framework for driver development known as Windows Driver Foundation (WDF). This includes User-Mode Driver Framework (UMDF) that encourages development of certain types of drivers - primarily those that implement a message-based protocol for communicating with their devices - as user mode drivers. If such drivers malfunction they will not cause system instability. The Kernel-Mode Driver Framework (KMDF) model continues to allow development of kernel-mode device drivers, but attempts to provide standard implementations of functions that are well known to cause problems, including cancellation of I/O operations, power management, and plug and play device support.

Device driver applications


Because of the diversity of modern hardware and operating systems, many ways exist in which drivers can be used. Drivers are used for interfacing with:


  • Printers

  • Video adapters

  • Network cards

  • Sound cards

  • Local buses of various sorts - in particular, for bus mastering on modern systems

  • Low-bandwidth I/O buses of various sorts (for pointing devices such as mice, keyboards, USB, etc.)

  • computer storage devices such as hard disk, CD-ROM and floppy disk buses (ATA, SATA, SCSI)

  • Implementing support for different file systems

  • Implementing support for image scanners and digital cameras


Common levels of abstraction for device drivers are


  • For hardware:

    • Interfacing directly

    • Using some higher-level interface (e.g. Video BIOS)

    • Using another lower-level device driver (e.g. file system drivers using disk drivers)

    • Simulating work with hardware, while doing something entirely different

  • For software:

    • Allowing the operating system direct access to hardware resources

    • Implementing only primitives

    • Implementing an interface for non-driver software (e.g. TWAIN)

    • Implementing a language, sometimes quite high-level (e.g. PostScript)

Choosing and installing the correct device drivers for given hardware is often a key component of computer system configuration.

Virtual device drivers


A particular variant of device drivers are virtual device drivers. They are used in virtualization environments, for example when an MS-DOS program is run on a Microsoft Windows computer or when a guest operating system is run inside e.g. VMware. Instead of enabling the guest operating system to dialog with hardware, virtual device drivers take the opposite role and emulate a piece of hardware, so that the guest operating system and its drivers running inside a virtual machine can have the illusion of accessing real hardware. Attempts by the guest operating system to access the hardware are routed to the virtual device driver in the host operating system as e.g. function calls. The virtual device driver can also send simulated processor-level events like interrupts into the virtual machine.

Программные кодеки


A codec is a device or program capable of performing encoding and decoding on a digital data stream or signal. The word codec may be a combination of any of the following: 'Compressor-Decompressor', 'Coder-Decoder', or 'Compression/Decompression algorithm'.
Ко́дек (англ. codec — сокр. от coder/decoder (кодировщик/декодировщик) или compressor/decompressor) — устройство или программа, способная выполнять преобразование потока данных или сигнала. Кодеки могут как кодировать поток/сигнал (часто для передачи, хранения или шифрования), так и раскодировать — для просмотра или изменения в формате, более подходящем для этих операций. Кодеки часто используются при цифровой обработке видео и звука.
Большинство кодеков для звуковых и визуальных данных использует сжатие с потерями, чтобы получать приемлемый размер готового (сжатого) файла. Существуют также кодеки, сжимающие без потерь (англ. lossless codecs), но для большинства применений, малозаметное улучшение качества не оправдывает значительного увеличения объема данных. Почти единственное исключение — ситуация, когда данные будут подвергаться дальнейшей обработке: в этом случае повторяющиеся потери на кодировании/декодировании окажут серьезное влияние на качество.

Firmware


In computing, firmware is software that is embedded in a hardware device. It is often provided on flash ROMs or as a binary image file that can be uploaded onto existing hardware by a user.
Definitions

A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications (see also Tanenbaum 79).


Firmware is defined as:
* the computer program in a read-only memory (ROM) integrated circuit (a hardware part number or other configuration identifier is usually used to represent the software);

* the erasable programmable read-only memory (EPROM) chip, whose program may be modified by special external hardware, but not by [a general purpose] application program.


Source: Federal Standard 1037C.
* the electrically erasable programmable read-only memory (EEPROM) chip, whose program may be modified by special electrical external hardware (not the usual optical light), but not by [a general purpose] application program.

Origins

The term "firmware" was originally coined to indicate a functional replacement for hardware on low cost microprocessors.


Firmware in many devices can now be updated without the need for additional hardware, often through the use of vendor-provided software.
In practical terms, firmware updates can improve the performance and reliability, indeed even the basic available functionality of a device, and many devices benefit from regular firmware updates. One of the most common devices to have regular firmware updates are recording devices such as optical media writers (DVD, CD, HDDVD, Bluray), as media technologies extend, so firmware updates ensure hardware is kept up to date and compatible.

Evolved firmware uses


Firmware has evolved to mean the programmable content of a hardware device, which can consist of machine language instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device.

A typical common feature of firmware is that it can be updated post-manufacturing, either electronically, or by replacing a storage media such as a socketed memory chip.

Firmware can — but is not required to — expose an externally accessible interface. For example, in some modem implementations the firmware is not directly accessible, but is part of a combination of hardware and firmware that responds to commands from the host system.

Firmware has traditionally been stored in ROM, however cost and performance requirements have driven component vendors to adopt various replacements, including non-volatile media such as EEPROM and Flash, or SRAM solutions, such as the firmware loaded by an operating system device driver, as described below.


Firmware and device drivers


Most devices attached to modern systems are special-purpose computers in their own right, running their own software. Some of these devices store that software ("firmware") in a ROM within the device itself. Over the years, however, manufacturers have found that loading the firmware from the host system is both cheaper and more flexible. As a result, much current hardware is unable to function in any useful way until the host computer has fed it the requisite firmware. This firmware load is handled by the device driver.

Firmware support challenges


In many respects firmware is as much a software component of a working system as the operating system. However, unlike most modern operating systems, firmware rarely has a well evolved mechanism for updating itself to fix bugs and addressing functionality issues that are detected after the unit is shipped.

The easiest firmware to update is typically the system boot-related firmware, such as the BIOS in PCs. Some devices, such as video adapters and modems, frequently rely on firmware that is loaded dynamically by the operating system device driver, and thus is updated through the operating system update mechanisms entirely transparent to the user.

In contrast, storage device firmware is rarely updated with the same consistency as other parts of the system. Further, the mechanisms for detecting firmware versions and updating them are not standardized. As a result, these devices tend to have a significantly higher percentage of firmware-driven functionality issues, as compared to other parts of a modern computer system.

Examples of firmware include:




  • The BIOS found in IBM-compatible Personal Computers;

  • The EFI, found on Itanium systems, Intel-based Mac OS X machines, and as a secondary bootloader (which runs after the traditional BIOS) on x64 PCs;

  • The operating system on a router, such as the Linksys WRT54G

  • Open Firmware, used in computers from Sun Microsystems and Apple Computer;

  • ARCS, used in computers from Silicon Graphics;

  • RTAS (Run-Time Abstraction Services), used in computers from IBM;

  • EPROM chips used in the Eventide H-3000 series of digital music processors.

  • Adding features on the PSP

  • The Common Firmware Environment (CFE)

BIOS


BIOS (англ. Basic Input-Output System — базовая система ввода-вывода, БСВВ) — программа, находящаяся в ПЗУ (постоянном запоминающем устройстве) персонального компьютера и исполняющаяся при включении питания. Основная функция BIOS — подготовить машину к тому, чтобы основное программное обеспечение (в большинстве случаев это операционная система), записанное на различных носителях (жёсткий диск, дискета или компакт-диск, доступное через сеть), могло загрузиться и получить контроль над компьютером.

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

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

Также BIOS содержит минимальный набор сервисных функций, например, для вывода сообщений на экран или приёма символов с клавиатуры, что и обусловливает расшифровку её названия: Basic Input-Output System — Базовая система ввода-вывода.

В современных персональных компьютерах, BIOS также предоставляет интерфейс для низкоуровневого конфигурирования компонентов системы, а также позволяет производить загрузку операционной системы через интерфейсы, изначально для этого не предназначенные, в том числе USB и IEEE 1394. Также возможна загрузка по сети (применяется на 'тонких клиентах').

В некоторых BIOS'ах релизуется дополнительная функциональность (например, воспроизведение DVD-дисков), поддержка встроенной рабочей среды (например, интерпретатор языка Basic).


Программные средства защиты

Криптошлюзы


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

Криптошлюз обеспечивает преобразование проходящего трафика в соответствии с ГОСТ 28147-89 (с длиной ключа шифрования 256 бит).


Средства аутентификации

Средства мониторинга и аудита

Сканеры защищенности


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

Сетевые сканеры служат для анализа защищенности сети путем сканирования и зондирования сетевых ресурсов и выявления их уязвимостей.


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


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

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

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

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


Системы криптографической защиты, шифрования и ЭЦП


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

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


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

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

К сожалению, конкуренция между антивирусными компаниями привела к тому, что развитие идёт в сторону увеличения количества обнаруживаемых вирусов (прежде всего для рекламы), а не в сторону улучшения их детектирования (идеал — 100%-е детектирование) и алгоритмов лечения заражённых файлов.

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



Методы обнаружения вирусов

Антивирусное программное обеспечение обычно использует два отличных друг от друга метода для выполнения своих задач:




  • Сканирование файлов для поиска известных вирусов, соответствующих определению в антивирусных базах

  • Обнаружение подозрительного поведения любой из программ, похожего на поведение заражённой программы.

Метод соответствия определению вирусов в словаре


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

1. Удалить инфицированный файл.

2. Заблокировать доступ к инфицированному файлу.

3. Отправить файл в карантин (то есть сделать его недоступным для выполнения, с целью недопущения дальнейшего распространения вируса).

4. Попытаться восстановить файл, удалив сам вирус из тела файла.

5. В случае невозможности лечения/удаления, выполнить эту процедуру при перезагрузке

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

Метод обнаружения странного поведения программ


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

Другие названия: Проактивная защита, Поведенческий блокиратор, Host Intrusion Prevention System (HIPS), В отличие от метода поиска соответствия определению вируса в антивирусных базах, метод обнаружения подозрительного поведения даёт защиту от новых вирусов, которых ещё нет в антивирусных базах. Однако следует учитывать, что программы или модули, построенные на этом методе, выдают также большое количество предупреждений (в некоторых режимах работы), что делает пользователя мало восприимчивым ко всем предупреждениям. В последнее время эта проблема ещё более ухудшилась, так как стало появляться всё больше невредоносных программ, модифицирующих другие exe-файлы, несмотря на существующую проблему ошибочных предупреждений. Не смотря на наличие большого количества предупреждающих диалогов, в современном антивирусном программном обеспечении этот метод используется всё больше и больше. Так, в 2006 году вышло несколько продуктов, впервые реализовавших этот метод: Kaspersky Internet Security, Kaspersky Antivirus, Safe'n'Sec, F-Secure Internet Security, Outpost Firewall Pro, DefenceWall. Многие программы класса файрволл издавна имели в своем составе модуль обнаружения странного поведения программ.


Метод обнаружения при помощи эмуляции


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

Антиспамовые программы

Межсетевой экран


A firewall is an information technology (IT) security device which is configured to permit, deny or proxy data connections set and configured by the organization's security policy. Firewalls can either be hardware and/or software based.

A firewall's basic task is to control traffic between computer networks with different zones of trust. Typical examples are the Internet which is a zone with no trust and an internal network which is (and should be) a zone with high trust.


Инструментальное ПО

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

Среды разработки (в том числе RAD)


(Интегрированная) среда разработки программного обеспечения — система программных средств, используемая программистами для разработки программного обеспечения.

Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит систему управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определенного языка программирования — как например, Visual Basic.

Примеры сред разработки — Turbo Pascal, Borland C++, GNU toolchain, DrPython, Delphi.

Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.


SDK


A software development kit (SDK or "devkit") is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar.

It may be something as simple as an application programming interface in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an IDE. SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.

A software engineer typically receives the SDK from the target system developer. Often the SDK can be downloaded directly via the Internet. Many SDKs are provided for free to encourage developers to use the system or language. Sometimes this is used as a marketing tool. For example, Foo Products might provide the Widget SDK for free to encourage people to use it. In turn, more people will be encouraged to buy more of their widgets since they can program them for free.

SDKs may have attached licenses that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK will likely be incompatible with Free software development, while a GPL licensed SDK will likely be incompatible with proprietary software development. LGPL SDKs are typically safe for proprietary development.

An SDK for an operating system add-on (for instance, QuickTime for Mac OS) may include the add-on software itself, to be used for development purposes, if not necessarily for redistribution. An interesting situation arises here between platforms where it is possible to develop applications that can at least start up on a system configuration without the add-on installed, and use a Gestalt-style run-time environment query to determine if the add-on is present, and ones where the application will simply fail to start. In other words, it is possible to build a single binary that will run on configurations with and without the add-on present, albeit operating with reduced functionality in the latter situation.

Providers of SDKs for specific systems or subsystems may sometimes substitute a more specific term instead of software. For instance, both Microsoft and Apple Computer provide Driver Development Kits (DDK) for developing device drivers, and PalmSource brands its development kit as PalmOS Development Kit (PDK).


Системы управления базами данных (СУБД)


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

СУБД характеризуется используемой моделью, средствами администрирования и разработки прикладных процессов.

СУБД обеспечивает:
- описание и сжатие данных;
- манипулирование данными;
- физическое размещение и сортировку записей;
- защиту от сбоев, поддержку целостности данных и их восстановление;
- работу с транзакциями и файлами;
- безопасность данных.

СУБД определяет модель представления данных.


Систе́ма управле́ния ба́зами да́нных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная для манипулирования базой данных. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор.

Основные функции СУБД:





  • управление данными во внешней памяти (на дисках);

  • управление данными в оперативной памяти;

  • журнализация изменений и восстановление базы данных после сбоев;

  • поддержание языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:




  • ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

  • подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

По типу управляемой базы данных СУБД разделяются на:




  • Сетевые

  • Иерархические

  • Реляционные

  • Объектно-реляционные

  • Обьектно-ориентированные

Реляционные


(например, DB2, Informix, Interbase, Firebird, Microsoft SQL Server, MySQL, Oracle Database PostgreSQL)

Обьектно-ориентированные


Объектно-ориентированная СУБД — реализующие объектно-ориентированный подход. Эта система управления обрабатывает данные как абстрактные объекты, наделённые свойствами, в виде неструктурированных данных, и использующие методы взаимодействия с другими объектами окружающего мира. Эта система управления обрабатывает данные как абстрактные объекты, наделённые свойствами, в виде неструктурированных данных, и использующие методы взаимодействия с другими объектами окружающего мира.

Пример Объектно-ориентированной СУБД – IBM Lotus Notes/Domino


Объе́ктно-реляцио́нная СУБД — реляционная СУБД, поддерживающая некоторые технологии, реализующие объектно-ориентированный подход.

Объектно-реляционными СУБД являются, к примеру, Oracle Database, DB2 и PostgreSQL; разница между объектно-реляционными и объектными СУБД: первые являют собой надстройку над реляционной схемой, вторые же изначально объектно-ориентированы.


Иерархические


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

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

В этой модели запрос, направленный вниз по иерархии, прост (например: какие заказы принадлежат этому покупателю); однако запрос, направленный вверх по иерархии, более сложен (например, какой покупатель поместил этот заказ). Также, трудно представить не-иерархические данные при использовании этой модели.

Сетевые


К основным понятиям сетевой структуры относятся: уровень, элемент (узел), связь.

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

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

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

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

Прикладное ПО

Офисные приложения

Текстовые редакторы и процессоры


Те́кстовый реда́ктор — компьютерная программа, предназначенная для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.

software application used for editing plain text. It is distinguished from a word processor in that it does not manage document formatting or other features commonly used in desktop publishing.

Word processor – компьютерная программа, используемая для подготовки печатной документации.

Типы текстовых редакторов


Условно выделяют два типа редакторов.

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

Второй тип текстовых редакторов имеет расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример — Microsoft Word.

Так же выделяют более общий класс программ — текстовые рабочие среды. По сути, такие среды представляют собой полноценную рабочую среду, в которой можно решать самые разнообразные задачи: с помощью надстроек они позволяют писать и читать письма, веб-каналы, работать в вики и Вебе, вести дневник, управлять списками адресов и задач. Представители этого класса — Emacs, Archy, Vim и Acme из операционной системы Plan 9. Такие программы могут служит средами разработки программного обеспечения. В любом случае, последние всегда содержат текстовый редактор как необходимый инструмент программирования.


Табличные процессоры


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

  • Microsoft Excel

  • SuperCalc

  • Abacus

  • Lotus 1-2-3

  • OpenOffice.org Calc

  • Gnumeric

  • KSpread

  • Quattro Pro

Редакторы презентаций

Корпоративные информационные системы


Бухгалтерские программы

Системы Управления проектами (Project Management)

Системы автоматизации документооборота (EDM-системы)

Системы управления архивами документов (DWM-системы)

Корпоративный портал

MRP – Компьютерная методология, используемая в управлении производством, для планирования производства и запасов.

Основными целями MRP систем являются:


  • удовлетворение потребности в материалах, компонентах и продукции для планирования производства и доставки потребителям

  • поддержка низких уровней запасов

  • планирование производственных операций, расписаний доставки, закупочных операций.

ERP-системы — Cистемы для планирования ресурсов предприятия

MES-системы — Производственные управляющие системы

WMS-системы — Системы управления складами

CRM-системы — Системы для управления взаимоотношениями с клиентами

SCM-системы — Системы для управления цепочками поставок

MRP II-системы — Планирование производственных ресурсов


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


Системы автоматизированного проектирования (САПР, CAD-системы)

CAE-системы

CAM-системы

PDM-системы

PLM-системы

АСУТП (Системы SCADA)

АСТПП (Системы MES)

Научное ПО


Системы математического и статистического расчета и анализа

Прочие системы

Геоинформационные системы (ГИС)


Геоинформационные системы (географическая информационная система, ГИС) — системы предназначенные для сбора, хранения, анализа и графической визуализации географических данных и связанной с ними информации о представленных в ГИС объектах. Более простым языком, ГИС это инструменты, позволяющие пользователям искать, анализировать и редактировать цифровые карты, а также дополнительную информацию об объектах, например высоту здания, адрес, количество жильцов.
ГИС включают в себя возможности СУБД, редакторов растровой и векторной графики и аналитических средств и применяются в картографии, геологии, метеорологии, землеустройстве, экологии, муниципальном управлении, транспорте, экономике, обороне.

Системы поддержки принятия решений (СППР)


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

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

As mentioned above, there are theoretical possibilities of building such systems in any knowledge domain.

One of the examples is Clinical decision support system for medical diagnosis. Other examples include a bank loan officer verifying the credit of a loan applicant or an engineering firm that has bids on several projects and wants to know if they can be competitive with their costs.


Экспертные системы


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

Клиенты для доступа к интернет-сервисам:

электронная почта

веб

мгновенная передача сообщений


icq

чат-каналы

IP-телефония

P2P обмен файлами


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

потоковое вещание

Банк-клиент

Мультимедиа

Компьютерные игры


Жанровая классификация

Компьютерные игры могут быть классифицированы по нескольким признакам:



  • Жанр: игра может принадлежать как к одному, так и к нескольким жанрам, а в уникальных случаях — открывать новый или быть вне всяких жанров;

  • Количество игроков и способ их взаимодействия: игра может быть однопользовательской — рассчитанной на игру одного человека, или многопользовательской — рассчитанной на одновременную игру нескольких человек; а также вестись на одном компьютере, через интернет, электронную почту, или массово;

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

Жанровая классификация компьютерных игр предполагает введение нескольких дополнительных оснований, как то:

  • динамика — игровой процесс может происходить в условиях «реального времени», или пошагово;

  • перспектива — игра может вестись как от первого, так и от третьего лица.

Классификация по жанрам

* Трёхмерный шутер (от английского «shoot» — стрелять)

o Шутер от первого лица

o Шутер от третьего лица

o Стелс-шутер

* Аркада


o Аркадные гонки

o Классические аркады

o Файтинг

o Платформеры

o Скроллеры

o Виртуальный тир

* Игры-симуляторы

o Авиасимуляторы

o Автосимуляторы

* Симулятор бога

o Технические симуляции

o Экономические симуляции

* Стратегии

o Экономические стратегии

o Военные стратегии

o Глобальные стратегии

* Спортивные игры

* Приключения (они же «Квесты»)

* Ролевые игры

* Логические игры

* Компьютерные реализации традиционных и настольных игр

* Обучающие и развивающие игры


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

* Многопользовательские

o Многопользовательские на одном компьютере

o Многопользовательские через электронную почту

o Массовые

Музыкальные редакторы

Графические редакторы


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

Типы графических редакторов:



Растровые графические редакторы. Наиболее популярны: Adobe Photoshop для операционных систем Windows и Mac OS X, GIMP для Linux и других POSIX-совместимых. GIMP распространяется под лицензией GPL.

Векторные графические редакторы. Наиболее популярны: Corel Draw, Macromedia Free Hand - для Windows, Inkscape - для всех ОС.

Видео редакторы

Мультимедиа проигрыватели

Классификация ПО по доступности



Коммерческое программное обеспечение – необходимо купить, причем пользователь получает выполняемый файл(ы), исходный код недоступен.
Бесплатное программное обеспечение (Freeware) – свободно распространяемое программное обеспечение, которое пользователь поддерживает самостоятельно и в которое пользователь правомочен вносить изменения.

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

GPL предоставляет получателям компьютерных программ следующие права, или «свободы»:


  • свободу запуска программы, с любой целью;

  • свободу изучения того, как программа работает, и её модификации (предварительным условием для этого является доступ к исходному коду);

  • свободу распространения копий;

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


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

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



Качество программного обеспечения


Ка́чество програ́ммного обеспе́чения — характеристика ПО как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».

ISO 9000 — серия международных стандартов ISO, регламентирующих управление качеством на предприятиях.

Система стандартов разработана Международной Организацией по Стандартизации (ISO, International Organization for Standardization), которая основывалась на разработках Британского института стандартов BS 5750.

ISO 9001 - Модель контроля качества в Проектировании, Разработке, Производстве, Монтаже и Обслуживании


Качество исходного кода

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




  • Читаемость кода

  • Лёгкость поддержки, тестирования, отладки, исправления ошибок, изменения и портируемости

  • Низкая сложность кода

  • Низкое использование ресурсов: памяти и процессорного времени

  • Низкое количество предупреждений при компиляции и линковке



Методы улучшения качества кода: рефакторинг.


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

Факторы качества

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


Некоторые из факторов качества:
понятность

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



полнота

Все необходимые части программы должны быть представлены и полностью реализованы.



краткость

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



портируемость

Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.



согласованность

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



сопровождаемость

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



тестируемость

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



юзабилити

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



надёжность

структурированность

эффективность

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



безопасность

С точки зрения пользователя

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




  • Является ли пользовательский интерфейс интуитивным?

  • Насколько просто выполнять простые, частые операции?

  • Насколько легко выполняются сложные операции?

  • Выдаёт ли программа понятные сообщения об ошибках?

  • Всегда ли программа ведёт себя так как ожидается?

  • Имеется ли документация и насколько она полна?

  • Является ли интерфейс пользователя само-описательным/само-документирующим?

  • Всегда ли задержки с ответом программы являются приемлемыми?



Интерфейс пользователя


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


  • средства отображения информации, отображаемую информацию, форматы и коды;

  • командные режимы, язык «пользователь — интерфейс»;

  • устройства и технологии ввода данных;

  • диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;

  • поддержку принятия решений в конкретной предметной области;

  • порядок использования программы и документацию на неё.

Для упрощения восприятия функции программы пользователем при разработке пользовательского интерфейса желательно использовать метафоры.


Графи́ческий интерфе́йс по́льзователя (ГИП, англ. graphical user interface, GUI) в вычислительной технике — система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.). При этом, в отличие от интерфейса командной строки, пользователь имеет произвольный доступ (с помощью клавиатуры или устройства координатного ввода — вроде мыши) ко всем видимым экранным объектам.

Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х, но получила коммерческое воплощение лишь в продуктах корпорации Apple Computer. В операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 г. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем и приложений.



Примеры систем, использующих ГИП: Mac OS, Mac OS X, Microsoft Windows, NEXTSTEP, X Window System.





Похожие:

Программное обеспечение (Software) 3 iconП. Ф. Лесгафта г. Санкт-Петербург Л. А. Заварухина информатика (лекции) Санкт-Петербург 2009 Содержание лекция
Новые термины и понятия: программа, программное обеспечение, базовое программное обеспечение, системное программное обеспечение,...
Программное обеспечение (Software) 3 iconПрограммное обеспечение компьютера Классификация и способы распространения
В мировой практике для обозначения по используют термин software. Поскольку без по функционирование ЭВМ невозможно в принципе, оно...
Программное обеспечение (Software) 3 iconSoftware (мягкая оснастка) – программное обеспечение; комплекс программ, используемых на комьютере для решения каких-либо задач по
К., для оптимизации дисков), архиваторы, антивирусные программы и др.), драйверы (программы для подключения устройств) и др
Программное обеспечение (Software) 3 iconУсловия лицензионного соглашения с пользователем
«Клиентское программное обеспечение» означает программное обеспечение, которое позволяет Устройству получать доступ к службам или...
Программное обеспечение (Software) 3 iconУсловия лицензии на программное обеспечение hp
Примечание. Ограниченная гарантия на данное изделие, а также сопровождающее программное обеспечение находятся в документации, поставляемой...
Программное обеспечение (Software) 3 iconПрограммное обеспечение
Именил в статье American Mathematical Monthly математик из Принстонского университета Джон Тьюки (John W. Tukey) в 1958 г. В области...
Программное обеспечение (Software) 3 iconЦель работы
Создание социальной и бизнес-сети, включающейся в себя программное обеспечение для передачи видео и звука, программное обеспечение...
Программное обеспечение (Software) 3 iconАппаратные средства тело компьютера тогда, программное обеспечение
Если аппаратные средства тело компьютера тогда, программное обеспечение своя душа (душа). Программное обеспечение срок, относился...
Программное обеспечение (Software) 3 iconПрограммное обеспечение Гринстоун
Программное обеспечение для создания полнотекстовых коллекций (электронных библиотек) гринстоун
Программное обеспечение (Software) 3 icon1. Программное обеспечение компьютера, состав и структура. Назначение операционной системы. Командное взаимодействие пользователя с компьютером. Графический пользовательский интерфейс. Что такое программное обеспечение
Решение задач на определение количества информации или количеств информационных сообщений
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org