Основные понятия программного обеспечения шпора
ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРОГРАММНЫЕ ПРОДУКТЫ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
· Основные понятия программного обеспечения
· Характеристика программного продукта
· Защита программных продуктов
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
Программа (program, routine) - упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение (sowtware) - совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины задачи и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения.
Задача (problem, task) - проблема, подлежащая решению. Приложение (application) - программная реализация на компьютере решения задачи.
Таким образом, задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение - реализованное на компьютере решение по задаче. Приложение, являясь синонимом слова "программа", считается более удачным термином и широко используется в информатике.
Термин задача употребляется также в сфере программирования, особенно в режиме мультипрограммирования и мультипроцессорной обработки, как единица работы вычислительной системы, требующая выделения вычислительных ресурсов (процессорного времени, основной памяти и т.п.). В данной главе этот термин употребляется в смысле первого определения.
Существует большое число разнообразных классификаций задач. С позиций специфики разработки и вида программного обеспечения будем различать два класса задач - технологические и функциональные.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработки сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Предметная (прикладная) область (application domain) - совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Процесс создания программ можно представить как последовательность действий, представленных на рис. 8.1.
Рис. 8.1. Схема процесса создания программ
Постановка задачи(problem definition) - это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
Постановка задачи - обобщенный термин, который означает определенность содержательной стороны обработки данных. Постановка задачи связана с конкретизацией основ-параметров ее реализации, определением источников и структурой входной и выходной информации, востребуемой пользователем.
К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:
-цель или назначение задачи, ее место и связи с другими задачами;
-условия решения задачи с использованием средств вычислительной техники;
-содержание функций обработки входной информации при решении задачи;
-требоования к периодичности решения задачи;
-ограничения по срокам и точности выходной информации;
-состав и форма представления выходной информации;
-источники входной информации для решения задачи;
-пользователи задачи (кто осуществляет ее решение и пользуется результатами решение и пользуется результатами решения).
Выходная информация по задаче может быть представлена в виде документ типа листинга или машинограммы), сформированных кадров - видеограммы на экране монитора файла базы данных, выходного сигнала устройству управления (рис. 8.2).
Входная информация по задаче определяется как данные, поступающие на код задачи и используемые для ее решения. Входной информацией служат первичные данные документов ручного заполнения, информация, хранимая в файлах базы данных (результаты решения других задач, нормативно-справочная информация - классификаторы, кодификаторы, справочники), входные сигналы отдатчиков (см. рис. 8.2).
Обычно постановка задач выполняется в едином комплексе работ по созданию структуры внутри машинной базы данных, проектированию форм и маршрутов движения документов, изменению организации управления в рамках предметной области.
Алгоритм - система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Алгоритм решения задачи имеет ряд обязательных свойств:
-дискретность - разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывав! затруднений;
-определенность алгоритма - однозначность выполнения каждого отдельного шага преобразования информации;
-выполнимость - конечность действий алгоритма решения задач, позволяющая получить желаемый результат при допустимых исходных данных за конечное число шагов;
-массовость - пригодность алгоритма для решения определенного класса задач.
В алгоритме отражаются логика и способ формирования результатов решения с указанием необходимых расчетных формул, логических условий, соотношений для контроля достоверности выходных результатов. В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.
Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирования алгоритмов и используемых при этом инструментальных средств разработки программ может повлиять на форму представления и содержание алгоритма обработки данных.
Примечание. Для решения задач могут использоваться алгоритмы, заложенные в готовых программных продуктах - пакетах прикладных программ (ППП) функционального назначения (см. дальше). Также могут использоваться типовые модели и методы решения задач, представленные в методо-оринтированных ППП, В этом случае осуществляется адаптация ППП к условиям конкретного применения, во всех остальных случаях разрабатываются оригинальные алгоритмы и программы реализации комплекса задач.
Программирование (programming) - теоретическая и практическая деятельность, связанная с созданием программ.
Программирование является собирательным понятием и может рассматриваться и наука, и как искусство, на этом основан научно-практический подход к разработке программ.
Программа - результат интеллектуального труда, для которого характерно творчество, а оно, как известно, не имеет четких границ. В любой программе присутствует индивидуальность ее разработчика, программа отражает определенную степень искусства программиста. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ (специализированного инструментария создания программ). При разработке программ используются ресурсоемкие и наукоемкие технологии, высококвалифицированный интеллектуальный труд.
Программирование - это развитая отрасль хозяйственной деятельности, связанная со значительными затратами материальных, трудовых и финансовых ресурсов. По данным зарубежных источников, в середине 90-х годов в мире было занято программированием до 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год.
В связи с ростом потребности в разнообразных программах обработки данных весьма актуален вопрос применения эффективных технологий программирования и их перевода на промышленную основу. Это означает:
- стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования;
- внедрение прогрессивных инструментальных средств разработки программ;
- использование специальных методов и приемов организации работ по разработке программ.
Категории специалистов, занятых разработкой и эксплуатацией программ
Основная категория специалистов, занятых разработкой программ, - это программисты (programmer). Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.
- Системный программист(system / software programmer, toolsmilh) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
- Прикладной программист(application programmer) осуществляет разработку и отладку программ для решения функциональных задач.
В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация - программист-аналитик (programmer-analyst), который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
В процессе создания программ на начальной стадии работ участвуют и специалисты - постановщики задач.
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.
Основным потребителем программ служит конечный пользователь (end user), который, как правило, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ.
Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками-операторами ЭВМ.
Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис. 8.3. В ряде случаев один специалист совмещает несколько видов деятельности. Администратор базы данных и системный программист осуществляют подготовку информационных и программно-технических условий для работы программ. Пунктирные линии означают участие специалиста в качестве консультанта.
Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.
| | следующая лекция ==> |
Факсимильная связь | | |
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Программа - данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.
Основной принцип машины Фон-Неймона в том, что и программы, и данные хранятся в одной и той же памяти. Сохраняемая в памяти программа представляет собой набор кодов, которые рассматриваются как данные. С точки зрения разработчика программа – активный компонент, т.к. она выполняет некоторые действия. С точки зрения процессора команды программы – данные, которые процессор читает и интерпретирует. С точки зрения компилятора программа – данные, которые он получает на входе (программа на языке высокого уровня) , а на выходе выдает другие данные (программу в машинных кодах).
Программное обеспечение – совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.
Опр2. ПО – программы, предназначенные для многократного использования и применения разными пользователями. Свойства ПО:
1) Документирование. Программа является ПО при наличии документации к ним, дающей возможность тиражирования ПО и его продажи или распространения без участия разработчика.
2) Эффективность. Программное обеспечение рассчитано на многократное использование, поэтому оно пишется и отлаживается 1 раз, а выполняется многократно.
3) Надежность. Включает в себя выполнение 3 основных пунктов: тестирование программы при всех допустимых спецификациях входных данных, защиту от неправильных действий пользователя, защиту от взлома – пользователи должны иметь возможность взаимодействия с ПО только через легальные интерфейсы.
4) Сопровождение, включающее в себя: адаптацию ПО к конкретны условиям применения (адаптация передоверена пользователю и подразумевает выполнение описанных сценариев инсталляции и настройки), устранение ошибок (требует развитой сервисной службы, собирающей информацию об ошибках и формирующей исправляющие пакеты), модификация (предполагает изменение спецификации на ПО, при этом должны поддерживаться старые спецификации).
Системная программа – программа, предназначенная для поддержания работоспособности системы обработки информации или повышения эффективности ее использования.
Прикладная программа – программа, предназначенная для решения задачи или класса задач в определенной области применения системы обработки информации.
Системное программирование – процесс разработки системных программ. Системное программирование – разработка программ сложной структуры.
Классификация ПО:
3) Промежуточное (middleware) – совокупность программ, осуществляющих управление вторичными, т.е. конструируемыми самим ПО, ресурсами, ориентированными на решение широкого класса задач. К промежуточному ПО относятся: серверы БД, СУБД, серверы коммуникации, менеджеры транзакций и другие программные серверы.
С точки зрения инструментальных средств разработки, промежуточное ПО ближе к прикладному, т.к. не работает напрямую с первичными ресурсами, а использует для этого сервисы, предоставляемые системным ПО. С точки зрения алгоритмов и технологий разработки промежуточное ПО ближе к системного, т.к. всегда является сложным программным изделием многократного и многоцелевого использования и в нем применяются сходные алгоритмы, что и в системном ПО. Современные тенденции развития ПО состоят в снижении объема как системного, так и прикладного программирования. Основная часть работы выполняется с промежуточным ПО.
Снижение объема системного ПО определено современными концепциями ОС. Объектно-ориентированной архитектурой и архитектурой микроядра, в соответствии с которыми большую часть функций можно отнести к промежуточному ПО. Снижение объема прикладного программирования обусловлен тем, что современные продукты промежуточного ПО предлагают все больший набор инструментальных средств и шаблонов для решения задач своего класса. Значительная часть системного и практически все прикладное ПО пишется на языках высокого уровня, что обеспечивает сокращение расходов на их разработку и модификацию, а также переносимость.
Системное ПО подразделяется на системные управляющие программы, и системные обслуживающие программы.
Управляющие программа - системная программа, реализующая набор функций управления, который включает себя управление ресурсами и взаимодействие с внешней средой системы обработки информации, восстановления работы системы после проявления неисправностей в технических средствах.
Обслуживающая программа (утилита) – системная программа, предназначенная для оказания услуг общего характера пользователям и обслуживающему персоналу системы обработки информации.
Управляющая программа, совместно с набором необходимых для эксплуатации вычислительной системы утилит составляют операционную систему.
Система программирования – система, образуемая языком программирования, компилятором или интерпретатором программ, представленных на этом языке, соответствующей документации, а так же вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.
Этапы подготовки программ:
При разработке программ, а тем более сложных, т.е. системных используется принцип модульности: разбиение сложной программы на составные части, каждая из которых может подготавливаться отдельно. Модульность является основным инструментом структурирования программного изделия, облегчающим его разработку, отладку, и сопровождение.
Программный модуль – программа или функционально завершенный фрагмент программы, предназначенный для хранения, трансляции, объединения с другими программными модулями и загрузки в оперативную память.
Свойства программного модуля:
Функциональность – модуль должен выполнять законченную функцию.
Несвязность – модуль должен иметь минимум связей с другими модулями, связь через глобальные переменные и глобальные области памяти нежелательна.
Специфицируемость- входные и выходные параметры модуля должны четко формулироваться.
Исходный модуль (ИМ)– программный модуль на исходной языке, обрабатываемый транслятором, представляемый для него как целое, достаточное для проведения трансляции.
Первым этапом подготовки программы является ее обработка макропроцессором или препроцессором. Макропроцессор обрабатывает текст программы и на выходе его получается новая редакция текста. Макропроцессор выполняет обработку текста и это означает с одной стороны, что он не воспринимает операторов языка программирования и не знает переменных программы, с другой – что все операторы и переменные макроязыка, т.е. те выражения программе, которые на прямую адресованы макропроцессору, в промежуточном ИМ’ уже отсутствуют и для дальнейших этапов обработки не требуются. Если макропроцессор заменил некоторый текст А на текст В, то транслятор видит только текст В и не знает, был этот текст написан или подставлен микропроцессором.
Следующим этапом является трансляция. Трансляция – преобразование программы, представленной на одном языке программирования в программу на другом языке программирования, в определенном смысле равносильной первой. Обычно выходным языком транслятора является машинный язык целевой вычислительной системы. Целевая ВС. – система, на которой программа будет выполняться.
Машинный язык – язык программирования, предназначенный для представления программ в форме, позволяющей выполнять их непосредственно техническими средствами обработки информации.
Трансляторы – общее название для программ, осуществляющих трансляцию. Они подразделяются на ассемблерыи компиляторы в зависимости от исходного языка программы, которую они обрабатывают. Ассемблеры работают с автокодами или языками ассемблера. Компиляторы – с языками высокого уровня.
Автокод – символьный язык программирования, предложения которого по своей структуре подобны командам и обрабатываемым данным конкретного машинного языка.
Язык ассемблера– язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня, реализуемых за счет макросредств.
Язык высокого уровня – язык программирования, понятия и структура которого удобны для восприятия человека.
Объектный модуль (ОМ) – программный модуль, получаемый в результате трансляции исходного модуля. Т.к. результатом трансляции является модуль на языке, близком к машинному, в нем уже не остается признаков того, на каком исходном языке был написан программный модуль. Это создает возможность составлять программы из модулей, написанных на разных языках. Однако специфика исходного языка может сказываться на физическом представлении базовых типов данных, способах обращения к процедурам и функциям и т.д.
Большая часть объектного модуля – команды и данные машинного языка в той форме, в какой они будут существовать во время выполнения программы. Однако программа в общем случае состоит из многих модулей. Поскольку транслятор обрабатывает только один конкретный модуль, он не может должным обработать те части этого модуля, в которых содержатся обращения к данным или процедурам, определенным в другом модуле. Такие обращения называются внешними ссылками. Те места в объектном модуле, где содержатся внешние ссылки, транслируются в промежуточную форму, подлежащую дальнейшей обработке.
Таким образом, объектный модуль представляет собой программу на машинной языке с неразрешенными внешними ссылками.
Разрешение внешних ссылок выполняется на следующем этапе подготовки, который обеспечивается редактором связей (компоновщиком), который соединяет вместе все объектные модули, входящие в программу. Поскольку редактор связей видит уже все компоненты программы, он имеет возможность обработать те места в объектных модулях, которые содержат внешние ссылки. Результатом работы редактора связей является загрузочный модуль.
Загрузочный модуль –программный модуль, представленный в форме, пригодной для загрузки в оперативную память для выполнения. ЗМ сохраняется в виде файла во внешней памяти. Для выполнения программа должна быть перенесена в оперативную память. При этом требуется дополнительная обработка. Например, настройка адресов в программе на ту область оперативной памяти, в которую программа загрузилась. Эта функция и выполняется загрузчиком.
Возможен вариант, в котором редактирование связей выполняется при каждом запуске программы на выполнение и совмещается с загрузкой. Это выполняется связывающим загрузчиком. Вариант связывания при загрузке более расходный, т.к. затраты на связывание тиражируются при каждом запуске, но он обеспечивает:
1) Большую гибкость в сопровождении, т.к. позволяет менять отдельные объектные модули программы, не меняя остальных модулей
2) Экономию внешней памяти, т.к. объектные модули, используемые во многих программах, не копируются в каждый загрузочный модуль, а хранятся одном экземпляре
Вариант интерпретации подразумевает прямое исполнение исходного модуля.
Интерпретация– реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке. Интерпретатор читает из исходного модуля очередное предложение программы, переводит его в машинный язык и передает на выполнение. Все затраты на подготовку тиражируются при каждом выполнении для каждого предложения. Следовательно, интерпретируемая программа менее эффективная, чем транслируемая, но интерпретация обеспечивает удобство разработки, гибкость в сопровождении и переносимость.
Примеры интерпретаторов: языки процедуру shell и rexx, JVM.
Подготовка программы к выполнению может вестись не на той же вычислительной системе и операционной среде, в которых программа будет выполняться. Системы, обеспечивающие подготовку программ к среде, отличной от целевой называются кросс-системами. В них может выполняться вся подготовка, либо ее отдельные этапы:
1) Макрообработка и трансляция
2) Редактирование связей
3) Загрузка и отладка
Типовое применение кросс-систем - в тех случаях, когда целевая вычислительная среда не имеет ресурсов для разработки программ.
Управляющая программа – это системная программа, реализующая набор функций управления, который включает в себя управление ресурсами и взаимодействие с внешней средой системы обработки информации, восстановление работы системы после проявления неисправностей в технических средствах.
Обслуживающая программа (утилита) – системная программа, предназначенная для оказания услуг общего характера пользователям и обслуживающему персоналу системы обработки информации.
Управляющая программа совместно с набором необходимых для эксплуатации вычислительной системы утилит, составляют операционную систему (ОС).
Система программирования – это система, образуемая языком программирования, компилятором или интерпретатором программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.
Понятие
Любой современный ПК – настольный, портативный или серверный, наполняется по схожему принципу. Если убрать лишнее, то любое ПО, даже простейшее, строится по похожему алгоритму. Должны выполняться пошаговые действия – следующий шаг начинается только после того, как завершился предыдущий.
Так, введенные с клавиатуры символы отображаются на экране, по командному клику пользователя принтер начинает печатать их на бумаге, а расчеты происходят сами после введения формулы. Любой шаг заранее программируется и называется командой для компьютера, совокупность этапов обозначается программируемым кодом.
Решения для бизнеса
Программисты – это люди, которые разрабатывают и настраивают ПО. Они могут управлять ПК с помощью одной строчки, в которую вводят части закодированной информации. Несколько символов в определенной последовательности включают музыку, отправляют документ на печать или открывают конкретную страницу интернет-ресурса.
Оборудование
Какие бывают типы программного обеспечения: характеристика программ
В современных компьютерах постоянно запускается и активно функционирует большое количество ПО с самым разным функционалом. Одни занимаются арифметическими расчетами, другие строят диаграммы, рисуют или помогают оставаться на линии с собеседниками через почту.
Однако ничего не активизируется просто так. Все действует под влиянием операционной системы. Кажется, что ОС совершенно не нужна – можно ведь запускать все напрямую. Иногда этот метод тоже применяется. Так работают станки ЧПУ, крупные автоматы производств, ЭВМ, другие серьезные механизмы, когда нужно постоянно повторять один и тот же алгоритм.
Но для персонального компьютера частое повторение команды не подходит. Пользователю хочется знать, какая погода в другом городе, как включить музыку и открыть текстовый документ для редактирования. Необходимо, чтобы ОС поддерживала режим многозадачности.
Со стороны программистов типы ПО обоснованы практической значимостью. Если бы не было операционной системы, пришлось бы все функции и алгоритмы вносить в один огромный код. Затраты времени на это были бы колоссальными.
ОС берет на себя большую часть рутинных задач, давая пользователям возможность работать в режиме многозадачности. Поэтому становится возможным запускать одновременно от 2 до бесконечности редакторов или визуализаторов.
Какие основные виды ПО бывают по назначению
Программное обеспечение, установленное на ПК, делится на 3 разновидности:
- прикладное;
- системное;
- инструментальное.
Это часть системы, которая помогает следить за аппаратной стороной ПК и управлять ею. Сюда входят программы, контролирующие работу оперативной памяти, центрального процессора, видеокарты, устройств ввода и вывода информации, сетевые подпрограммы.
Таким ПО считается:
- Драйверы – утилиты небольшого размера, функционирование которых заключается в обеспечении корректной работы остальных элементов оборудования;
- ОС;
- Дополнения – языковые пакеты или настройки расширения экрана.
Наиболее обширная доля классификации. Сюда относятся графические и текстовые редакторы, браузеры, базы данных и все, что люди используют в привычной работе за компьютером. Здесь же находятся антивирусные пакеты, бухгалтерия и различные архивы.
Смысл этой разновидности в выполнении четко поставленной задачи: рисовать, учитывать, открывать сетевые страницы, набирать текст. Если утилита нужна для конкретного выполнения действия, то она является прикладным ПО.
Специфическое обеспечение любой компьютерной техники. Его можно было бы отнести к прикладному, но из-за специфики применения его выделили в отдельный вид. Основная функция – отладка, настройка, переписывание программного кода.
Постоянно пользоваться этим кодом базовым пользователям довольно сложно, поэтому были разработаны системы, которые позволяют переводить обычную речь в двоичную, привычную для ПК.
Разница между часто используемыми компиляторами и интерпретаторами заключается в том, что первый генерирует готовый файл, который можно запускать. А второй создает архив, который функционирует только с помощью самого сервиса.
Какие виды программного обеспечения (ПО) ПК вы знаете: примеры
Любой пользователь осведомлен, что такое пакет MS Office – текстовый редактор, утилита для работы с таблицами или презентациями. Многие пользуются веб-браузерами, с их помощью можно выйти в интернет. Использование других программ зависит от рода занятий владельца компьютера – архиваторы для сжатия размера файлов и контроля за архивами, системы управления базами данных, диспетчеры – они помогают перемещать, копировать и удалять различные документы. Важное место занимают почтовые клиенты для создания и отправки писем, а также Skype для формирования видеоконференций и звонков.
Программное обеспечение и его классификация: какие есть основные виды
Любое ПО делится в зависимости от признаков по функционалу и характеристикам, лицензионности использования, а также на разновидности по сгруппированным навыкам техники. Цель каждой из них – выполнять задачи и соблюдать интересы человека, использующего ПК.
Сначала необходимо определить, какое количество людей будет пользоваться компьютером. Затем его разделяют на группы.
- Индивидуальным – использовать его будет только один пользователь, который владеет логином и паролем.
- Групповым – доступ имеют несколько человек или группа лиц на предприятии.
- Сетевым – программы доступны всем, кому по сети раздали копии.
Масштабность зависит от набора функций и ресурсов, которые будет поглощать система. Это небольшая утилита для работы с графиками или объемная база данных, а также множество других элементов. Бывает:
Оборудование
Стабильным считают те элементы обеспечения, которые способны корректно выполнять свои функции без сбоев при длительном использовании. Они не требуют доработки и справляются с ожидаемым объемом нагрузки.
Нестабильным считают оборудование, которое недавно вышло на рынок, и пока нет гарантий его бесперебойной работы в перспективе. Но иногда это единственное ПО, которое подходит под задачи клиента.
Делят на 3 класса:
- стабильное – внесение изменений маловероятно;
- средней стабильности – перемены вносятся дискретно;
- нестабильное – постоянные замены.
Функционал может быть узким или широким в зависимости от целей, которые ставит перед программами клиент. Условно можно разделить любое ПО на несколько типов:
Для многих крупных компаний защищенность играет большую роль. Они не вправе допустить утечки информации, потому что это грозит потерей прибыли или репутации. По этой причине выбираются максимально действенные антивирусы, данные шифруются, а доступ есть не у всех.
Даже небольшие фирмы не могут себе позволить покупку или установку бесплатного софта сомнительного содержания. Даже уникальность функционала не будет оправданием использования подобного обеспечения.
- надежные;
- сомнительные.
От любого ПО требуется выполнение определенного круга действий. Они должны быть:
- Гибкими и донастраиваемыми или неизменными – в зависимости от потребностей будущего владельца система может нуждаться в корректировке под требования.
- Универсальными – подходит под широкий спектр разноплановых задач.
- Полными – полностью выполняют алгоритм, после завершения цикла не требуются другие утилиты.
То, каким образом написана программа, тоже влияет на ее функциональность. Существуют:
- Машинные – программирование, которое воспринимается аппаратной частью компьютера.
- Машинно-ориентированные – отражают структуру и работу конкретного ПК.
- Алгоритмические – работают независимо от архитектуры техники, формируют действенность определенного алгоритма (Бейсик, Паскаль и др.).
- Процедурно-ориентированные – выглядят как совокупность процедур и подпрограмм.
- Интегрированные – системы, внедренные в основные элементы работы.
- Проблемно-ориентированные – направлены на решение проблемы конкретного класса.
Каждый из них преобразовывает исходный код в зависимости от того, какими будут дальнейшие действия.
Здесь деление зависит от типа, которым решают проблемы, предварительно их группируют по тематике и области. Они должны создавать приятную и удобную среду для пользователя. Бывают:
- Общего назначения – в их задачу входит выполнение широкого круга целей клиента. Это могут быть любые текстовые, графические и иные редакторы, браузеры, процессоры.
- Методо-ориентированные – использование разных способов решения через разнообразные методики. Смысл в выборе метода для обслуживания или программирования.
- Проблемно-ориентированные – во главе проблема в конкретной предметной области, которую необходимо решить любым доступным видом ПО.
Основные характеристики в этой классификации:
- алгоритмическая сложность и выдержанная логика;
- глубина проработки и реализации каждой функции;
- системность обработки;
- объемы файловой системы;
- разновидность процессора влияет на возможности софта.
От должности и назначения начинается разделение прав:
- специалист – ограниченный функционал;
- руководитель – расширенный;
- директор – почти все возможности;
- владелец – максимум функций.
У разных компьютеров может быть различный доступ к базам данных, архивам, отчетам, счетам, другой информации.
В зависимости от того, кто пользуется техникой, выделяют:
- Простой клиент – ПК, которым будет пользоваться сотрудник на невысокой должности, допускает только выполнение небольшого круга обязанностей.
- Расширенный пользователь – ПО, в котором у руководителя увеличенное количество работы и шире возможности, больше открытых папок с информацией и запросы к производительности техники.
- Максимум – отдельно стоящий ПК, обычно не связанный по желанию владельца с общей сетью компании, с максимальным набором доступных массивов.
В зависимости от того, насколько критичным будет решение конкретной задачи пользователя, выделяют несколько типов:
- Секретность – необходимо обеспечить сохранность данных.
- Национальная безопасность – когда важно не допустить утечки в другие страны.
- Жизнь человека – использование должно быть безопасным.
- Паника или хаос в социальной сфере – нельзя позволить распространение общего панического состояния у населения.
- Частная собственность – желания компании не должны перечеркивать интересы отдельных граждан.
- Безопасность организации – посторонние не имеют права находиться на объектах фирмы, у них нет доступа к ПО.
В зависимости от этого критерия делят на:
- индивидуальные разработки для конкретного предприятия или личности;
- софт для массового использования пользователями.
Информация внутри компании находится в разной степени секретности доступа:
- свободный – разрешено видеть файлы всем;
- ограниченный – допускаются только люди определенной должности;
- индивидуальный – вход только для конкретных личностей.
Работникам выдается разный доступ:
- все могут просматривать и редактировать;
- всем доступен просмотр, редактирование только для нескольких людей;
- никто не имеет права вносить изменения;
- даже видеть содержимое файлов вправе лишь определенные личности.
Читайте также: