Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Инструментарий технологии программирования
Группы программных продуктов, предназначенных для программирования: 1. Средства для создания приложений: - локальные средства: а) языки и системы программирования; б) инструментальная среда пользователя – средства программирования, встраиваемые в ППП; - интегрированные среды – полные наборы средств для работы на всех этапах программирования. 2. Средства для создания информационных систем (CASE-технологии) позволяют создавать сложные пользовательские программы целыми коллективами программистов
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаимодействии. Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь - многие программы работают, опираясь на другие программы более низкого уровня, то есть, мы можем говорить о межпрограммном интерфейсе. Возможность существования такого интерфейса тоже основана на существовании технических условий и протоколов взаимодействия, а на практике он обеспечивается распределением программного обеспечения на несколько взаимодействующих между собой уровней. Уровни программного обеспечения представляют собой пирамидальную конструкцию. Каждый следующий уровень опирается на программное обеспечение предшествующих уровней. Прикладное ПО↔ Cлужебное ПО↔ Системное ПО↔ Базовое ПО.
Рисунок 1. Структура программного обеспечения.
Каждый вышележащий уровень повышает функциональность всей системы. Так, например, вычислительная система с программным обеспечением базового уровня не способна выполнять большинство функций, но позволяет установить системное программное обеспечение. Базовый уровень. Самый низкий уровень программного обеспечения представляет базовое программное обеспечение. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ-Read Only Memory, ROM). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ - Erasable and Programmable Read Only Memory, EPROM). В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (такая технология называется флэш-технологией), так и вне ее, на специальных устройствах, называемых программаторами. Системный уровень. Системный уровень - переходный. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, то есть выполняют «посреднические» функции. От программного обеспечения этого уровня во многом зависят эксплуатационные показатели всей вычислительной системы в целом. Так, например, при подключении к вычислительной системе нового оборудования на системном уровне должна быть установлена программа, обеспечивающая для других программ взаимосвязь с этим оборудованием. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств - они входят в состав программного обеспечения системного уровня. Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Именно благодаря им он получает возможность вводить данные в вычислительную систему, управлять ее работой и получать результат в удобной для себя форме. Эти программные средства называют средствами обеспечения пользовательского интерфейса. От них напрямую зависит удобство работы с компьютером и производительность труда на рабочем месте. Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Полное понятие операционной системы мы рассмотрим несколько позже, а здесь только отметим, что если компьютер оснащен программным обеспечением системного уровня, то он уже подготовлен к установке программ более высоких уровней, к взаимодействию программных средств с оборудованием и, самое главное, к взаимодействию с пользователем. То есть наличие ядра операционной системы — непременное условие для возможности практической работы человека с вычислительной системой. Служебный уровень. Программное обеспечение этого уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ, их также называют утилитами (utilities), состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы. Утилиты дают пользователю средства обслуживания компьютера и его ПО, обеспечивая: Как правило, эти работы можно делать командами операционной системы, но утилиты имеют хороший интерфейс с пользователем, сообщают дополнительные данные и пр. Например, широко известны утилиты Нортона; они позволяют форматировать диски, диагностировать состояние системы и ее частей, восстанавливать удаленные файлы и пр.
обслуживание магнитных дисков, обслуживание файлов и каталогов, предоставление информации о ресурсах компьютера, шифрование информации, защита от компьютерных вирусов, архивация файлов и прочее.
Во многих случаях они используются для расширения или улучшения функций системных программ. Некоторые служебные программы (как правило, это программы обслуживания) изначально включают в состав операционной системы, но большинство служебных программ являются для операционной системы внешними и служат для расширения ее функций. В разработке и эксплуатации служебных программ существует два альтернативных направления: интеграция с операционной системой и автономное функционирование. В первом случае служебные программы могут изменять потребительские свойства системных программ, делая их более удобными для практической работы. Во втором случае они слабо связаны с системным программным обеспечением, но предоставляют пользователю больше возможностей для персональной настройки их взаимодействия с аппаратным и программным обеспечением. Прикладной уровень. Программное обеспечение прикладного уровня представляет собой комплекс прикладных программ, с помощью которых на данном рабочем месте выполняются конкретные задания. Спектр этих заданий необычайно широк - от производственных до творческих и развлекательно-обучающих. Огромный функциональный диапазон возможных приложений средств вычислительной техники обусловлен наличием прикладных программ для разных видов деятельности. Между прикладным программным обеспечением и системным существует непосредственная взаимосвязь (первое опирается на второе). Можно утверждать, что универсальность вычислительной системы, доступность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа используемой операционной системы, от того, какие системные средства содержит ее ядро, как она обеспечивает взаимодействие триединого комплекса человек - программа - оборудование. Чаще всего и спользуемые в процессе построения и эксплуатации программные средства подразделяются на два основных типа: системное (которое включает в себя базовое, системное и служебное ПО) и прикладное. Каждый тип выполняет различные функции: - системное программное обеспечение (system software) – это набор программ, которые управляют компонентами компьютера, такими как процессор, коммуникационные и периферийные устройства другими словамисистемное ПО предназначено для повышения эффективности создания программ обработки информации и их реализации на компьютере, а также для предоставления пользователям определенных услуг по работе с ресурсами компьютера. Программистов, которые создают системное программное обеспечение, называют системными программистами. - прикладное программное обеспечение (ППО)- предназначено для решения определенной проблемной задачи пользователя или класса таких задач (ППО часто называют программным приложением или просто приложением). Сюда относятся программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Например: программы обработки заказов или создания списков рассылки - примеры прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами. Оба типа программного обеспечения, как уже отмечалось, взаимосвязаны и могут быть представлены в виде диаграммы, изображенной на рисунке.
Рисунок 2. Основные типы программного обеспечения. Каждая область тесно взаимодействует друг с другом. Системное программное обеспечение обеспечивает и контролирует доступ к аппаратному обеспечению компьютера. Прикладное программное обеспечение взаимодействует с аппаратными компонентами с помощью системного ПО. Конечные пользователи в основном работают с прикладным программным обеспечением. Чтобы обеспечить аппаратную совместимость, каждый тип программного обеспечения разрабатывается для конкретной аппаратной платформы. Системное ПО, в которое входят операционная система, трансляторы языков и обслуживающие программы, управляет доступом к аппаратному обеспечению. Прикладное ПО, такое как языки программирования и различные пользовательские приложения, работает с аппаратным обеспечением через слой системного ПО. Пользователи, в свою очередь, взаимодействуют с прикладным программным обеспечением. Системное программное обеспечение управляет работой компьютера, координирует работу различных компонентов компьютера и играет роль посредника между прикладными программами и аппаратным обеспечением. Системное программное обеспечение (СПО) обычно включает в себя: - операционную систему (ОС) (operating system) - обязательную часть СПО, обеспечивающая эффективное функционирование ПК, выполнение программ, взаимодействие пользователя и внешних устройств с компьютером; - сервисные программы, расширяющие возможности ОС, предоставляя пользователю и его программам набор дополнительных услуг. Функции операционной системы можно сравнить с обязанностями главного менеджера. Операционная система решает, какие ресурсы компьютера будут использованы, какие программы будут запущены, и в каком порядке будут следовать эти и другие операции для выполнения поставленной пользователем задачи. Операционная система обычно выполняет три основные функции: · распределяет (allocates) и назначает (assigns) использование ресурсов компьютера, · планирует (schedules) использование ресурсов компьютера и время исполнения задач, · осуществляет текущий контроль (monitoring) работы компьютера. Операционная система распределяет ресурсы компьютера между приложениями, находящимися в очереди на исполнение. Например, в число задач операционной системы входит выделение отдельной области памяти каждому запущенному приложению и необходимым ему данным, а также управление устройствами ввода-вывода (клавиатурой, принтером, монитором, сетевой картой и т.п.). Как правило, компьютер выполняет несколько программ одновременно. Каждая задача разбивается на множество " кусочков" или " порций";, которые компьютер обрабатывает, переключаясь между задачами. Тысячи таких порций должны выполняться различными устройствами компьютера – одной программе необходимо произвести расчет электронной таблицы, второй – распечатать документ на принтере, третья обращается к серверу организации, на котором хранится база данных и т.д. Задача ОС – скоординировать работу всех компонентов компьютера так, чтобы все приложения выполнялись как можно быстрее и эффективнее. Для этого операционной системе необходимо осуществлять планирование использования различных ресурсов компьютера (прежде всего, ЦП, ОЗУ и жесткого диска). Как правило, каждой задаче присваивается приоритет выполнения, в соответствии с которым и осуществляется планирование. Скажем, в нашем примере ОС контролирует работу компьютера. Она отслеживает стадии выполнения каждой задачи, а также может вести журнал учета – кто использует компьютер, какие программы были запущены, наблюдались ли случаи несанкционированного использования программ или данных. В любом случае, ОС любого компьютера сама по себе очень большая программа. Поэтому в оперативной памяти всегда хранится лишь часть ОС, называемая ядром (kernel). Большая же часть ОС хранится на жестком диске. Когда какая-либо часть операционной системы необходима для выполнения данного приложения, эта часть подгружается с жесткого диска в оперативное запоминающее устройство (ОЗУ). Диск, на котором хранится операционная система, называется системным (system disk).
Лицензия на программное обеспечение — это правовой инструмент, определяющий использование и распространение программного обеспечения, защищённого авторским правом. Обычно лицензия на программное обеспечение разрешает получателю использовать одну или несколько копий программы, причём без лицензии такое использование рассматривалось бы в рамках закона как нарушение авторских прав издателя. По сути, лицензия выступает гарантией того, что издатель ПО, которому принадлежат исключительные права на программу, не подаст в суд на того, кто ею пользуется. Abandonware (от англ. abandon — «покинуть, оставить» и software — «программное обеспечение») — программное обеспечение, которое больше не выставляется на продажу и не поддерживается компанией-производителем, и от которого производитель больше не получает доходов. Как правило, это бывшие коммерческие программы, которые по ряду причин перестают поставлять на рынок. Их распространяет обычно владелец авторских прав на бесплатной основе, но с жёстким обязательством запрета продавать и даже без права дальнейшего бесплатного тиражирования. Этот термин не имеет юридической силы, и многое abandonware не является общественным достоянием, и по законам большинства государств права распространения данного программного обеспечения продолжают принадлежать компании-изготовителю — такое abandonware не может легально распространяться без разрешения правообладателя. Однако часто правообладатель не занимается преследованием их самовольных распространителей, поскольку они не являются ему конкурентами и не наносят материального ущерба, превышающего расходы на преследование. Во многих случаях принадлежность прав на abandonware-программы не ясна и выяснение надлежащего правообладателя само по себе требует значительных затрат. В некоторых случаях какая-либо компания или сайт получает разрешение от производителя на распространение такой программы. Чаще всего Abandonware распространяется пиратами. Adware (от англ. advertisement - «реклама» и software - «программное обеспечение») — программное обеспечение, которое можно использовать бесплатно сколько угодно времени, но при его использовании пользователю принудительно показывается реклама. Часто разработчики ПО рекламируют таким способ свои же программы, более функциональные и платные. Кроме того, к adware относят те программы, которые без ведома пользователя при установке меняют домашнюю страницу в браузере и поисковый сервис, установленный по умолчанию, рекламируя таким образом свои сервисы. Стоит, однако, отметить, что такие программы могут быть очень полезными в плане функциональности, а некоторые даже весьма популярны среди пользователей по всему миру. Базовое назначение Adware — это неявная форма оплаты за использование программного обеспечения, осуществляющаяся за счёт показа пользователю Adware-программы рекламной информации (соответственно рекламодатели платят за показ их рекламы рекламному агентству, рекламное агентство — разработчику Adware программы). Некоторые программы Adware при деинсталляции не удаляют рекламный модуль. Beerware – это вид лицензии программного обеспечения, которая предусматривает, что пользователи могут бесплатно пользоваться ПО и его исходными кодами, однако, если пользователь встретит автора программы, то он должен купить ему кружку пива. Такая шуточная модель лицензирования фактически означает, что вы просто можете свободно использовать программу, без необходимости покупать лицензию. Однако, все же не забудьте поблагодарить автора, если вы его встретите. Betaware - предварительная (тестовая) бета-версия коммерческого или некоммерческого ПО. Можно использовать бесплатно, но часто ограничивается периодом тестирования. Careware, charityware (от англ. care — «забота» и software — «программное обеспечение») — вид условно-бесплатного программного обеспечения shareware. Автор данного вида ПО требует, чтобы оплата за него шла на благотворительные цели либо напрямую автору, либо по указанному адресу. Также известны случаи, когда автор давал пользователям право пользоваться своей программой при условии, что те должны прекратить жаловать на трудности и на свою жизнь. Это нетрадиционные условия использования программ, предполагающие скорее не продажу, а обмен программного продукта на что-либо ценное для автора или выполнение какого-либо другого условия. Как правило, такой обмен необязателен (ваш «товар» расценивается скорее как знак внимания), и вы можете пользоваться программным обеспечением Careware так же, как Freeware. CDware - ПО на компакт-дисках, распространяемое в рекламных целях. Commercial software (в переводе с англ. – «коммерческое программное обеспечение») — программное обеспечение, созданное с целью получения прибыли от его использования другими, например, путём продажи экземпляров. Защищено различными законами. Разработчик коммерческого ПО не предусматривает даже пробное или ограниченное его использование. Другими словами, установить программу можно лишь после полной оплаты. Такой подход крайне редко используется в мире программного обеспечения, поскольку он не даёт пользователю возможности протестировать программу перед её покупкой. Множество людей ошибочно считают коммерческое и свободное ПО противоположностями. Ведь свободным ПО считается с того момента, как автор предоставляет права на свободную модификацию, распространение и извлечение прибыли со своего продукта. Из этого следует, что свободные программы вполне могут быть и коммерческими продуктами. Противоположностью свободного программного обеспечения является проприетарное программное обеспечение, которое также может быть как коммерческим, так и бесплатным. Crippleware - ключевые возможности программы удалены. Нет ограничений на время использования. После оплаты предоставляется полнофункциональная версия. Demoware (Demo) — демонстрационная версия коммерческого программного обеспечения, распространяемая бесплатно (shareware) и имеющая большое число ограничений функциональности, по сравнению с основной версией. Основная цель - не пробное использование, а демонстрация возможностей. Заметно более ограничено по сравнению с trialware. Наиболее популярные виды ограничений: · Ограничение времени работы программы, количества запусков, количества уровней (в играх). · Отсутствие ряда функциональных возможностей. · Блокирование доступа к важным функциям, например сохранению файла. · Добавление дополнительной информации к сохраняемым файлам, например подписи (водяных знаков) в программах редактирования изображения и видео. В соответствии с лицензией, после окончания тестового периода необходимо приобрести или удалить программу. После покупки программы пользователь получает код, снимающий ограничения, либо отдельную полноценную версию программы. Также к demoware относятся прототипы программ, которые не имеют реальной функциональности, а лишь демонстрируют, как программа будет работать в будущем. Они служат для показа концепции программы заказчикам или инвесторам. Donateware, Donationware (от англ. donation — «пожертвование» и software — «программное обеспечение») — это модель лицензирования, при которой пользователю поставляется полностью функционирующее программное обеспечение с возможностью сделать пожертвование разработчику. Размер пожертвования может быть фиксированным или устанавливаться пользователем на основании индивидуального восприятия ценности программного обеспечения. Так как в модели donationware поставляется полностью функционирующее программное обеспечение и пожертвование является дополнительной возможностью, то технически это тип бесплатного программного обеспечения. Однако, модель donationware также похожа на условно-бесплатное программное обеспечение, но в отличие от последнего, оплата в котором может ожидаться, пожертвование не является обязательным условием использования. Важно также отметить, что само пожертвование не является покупкой программного обеспечения, как в условно-бесплатном программном обеспечении. Как правило, пожертвования принимаются через официальные сайты этих программ, и никак не отображаются в интерфейсе ПО. Free software (в переводе с англ. – «свободное программное обеспечение») – это ПО, которое отличается исключительно широкими правами, предоставляемыми пользователям. Приверженцы свободного ПО, как правило, могут бесплатно пользоваться им в течении неограниченного периода времени, а также распространять его каким угодно образом, и менять его исходный код (совершенствовать). Для свободного ПО создаются специальные лицензии, чтобы регулировать права и обязанности авторов и пользователей. GNU General Public License – это универсальная общественная лицензия, которая используется для множества свободных программ. Свободное и бесплатное ПО (Freeware) имеют ряд существенных отличий. Конечно, у этих двух видов программного обеспечения есть и одна общая черта – отсутствие оплаты за использование, однако, зачастую по лицензии Freeware пользователи не имею права распространять программы, дарить их, копировать, модифицировать (совершенствовать), давать право другим лицам на их распространение, а также выполнять ряд других действий, которые допускаются при использовании свободного программного обеспечения. Зачастую, но не всегда, свободное ПО от бесплатного отличается тем, что оно предоставляется вместе с исходными кодами. Freeware (от англ. free — «бесплатный» и software — «программное обеспечение») — программное обеспечение, лицензионное соглашение которого не требует каких-либо выплат правообладателю. Freeware обычно распространяется в бинарном виде, без исходных кодов и является проприетарным ПО. Важно отличать Freeware от свободного программного обеспечения, которое предоставляет каждому помимо права на использование программного обеспечения, право модификации и ряд других прав. Freeware может распространяться без исходных текстов (кодов) и содержать ограничения на коммерческое использование, модификацию и т.д. В отличие от условно-бесплатного программного обеспечения (Shareware), Freeware не предполагает никакой платы разработчику и соответственно, никаких дополнительных услуг, таких как улучшенные версии, за эту плату не предполагается. Существует также способ распространения ПО, занимающий среднее положение между shareware и классическим freeware, когда некая программа выпускается в двух вариантах: платная полная версия и бесплатная облегчённая. Но при этом, в отличие от большинства shareware-программ, использование которых по окончании ознакомительного срока нелегально, здесь никаких ограничений по времени использования бесплатная версия не имеет, а ограничения накладываются на какие-либо «продвинутые» возможности программы, а иногда также воспрещается её использование в коммерческих целях. Некоторые бесплатные программы содержат в себе рекламу различного характера. По лицензии пользователь может использовать такую программу бесплатно, однако она является носителем рекламы, и поэтому не может иметь статус Freeware. Такое программное обеспечение именуется Adware. GNU General Public License - открытое лицензионное соглашение GNU. GNU расшифровывается как «GNU's not UNIX» — это рекурсивный акроним придуманный Ричардом Столлманом, известным идеологом открытого и свободного программного обеспечения. Последняя на сегодняшний день версия GPL, которая вышла в 2007 году. Изменения, внесенные в лицензию, были призваны оградить пользователей лицензии от судебных исков связанных с патентами, теперь создатели программы не могу подать в суд на пользователя. GPL 3.0 запрещает применять лицензию к программному обеспечению, которое запрещено «обходить» некоторыми законами и директивами (Digital Millennium Copyright Act и the European Union Copyright Directive). То есть, нельзя выпустить под лицензией любое ПО, попадающее под действие этих директив. Таким образом, GPL 3.0 заботится о том, чтобы любое ПО, выпущенное под ее лицензией, можно было свободно модифицировать, обходить или изменять. · свободу запуска программы с любой целью; · свободу изучения того, как программа работает, и её модификации (предварительным условием для этого является доступ к исходному коду); · свободу распространения копий как исходного, так и исполняемого кода; · свободу улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду). В общем случае распространитель программы, полученной на условиях GPL, либо программы, основанной на таковой, обязан предоставить получателю возможность получить соответствующий исходный код. Guiltware - разновидность nagware. В программе содержится явное упоминание, что автор не получил за нее денег. Может и не предусматривать регистрации. Hostageware - программы с функциональными, временными и количественными ограничениями. Разблокирование - после оплаты.
Оптимизация затрат на ПО достигается следующими путями: · специальные программы лицензирования производителей ПО; · терминальная (дистанционная) работа с ПО на серверах; · замена платного ПО бесплатными аналогами; · разработка необходимого ПО на заказ.
|
Последнее изменение этой страницы: 2017-03-15; Просмотров: 798; Нарушение авторского права страницы