Программные продукты и их характеристики. Программный продукт Утилитарные программы предназначены для
Вопрос 1. Характеристика программного продукта. Инженерия программного обеспечения, ее цели..
ПП - комплекс взаимосвяз. программ для решения опред. проб-м ы (задачи)масс. спроса, подготовленный к реализации как любой др. вид промыш. продукции.
ПП должен быть соответствующим образом подготовлен к эксплуатации, иметь необх-ую технич. докум-цию, предоставлять сервис и гарантию надеж. р аботы пр-мы, иметь товарный знак производителя, а также желательно наличие кода гос. регистрации. Только тогда прог. комплекс может быть назван ПП.
Все программы по характеру использования и категориям польз-ей можно разделить на два класса:
утилитарные программы ("программы для себя") - предназначены для выполнения задач их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;
программные продукты (изделия) - предназначены для выполнения задач пользователей, широкого распространения и продажи.
ПП могут создаваться как:
индивид. р азработка под заказ (учитывается специфика обраб-ки данных для конкр. польз-ля);
разработка для массового распространения среди пользователей (необходимо обеспечить универсальность выполняемых функций обработки данных, гибкость и настраиваемость ПП на условия конкретного применения).
ПП имеют многообразие показателей качества (рис), которые отражают следующие аспекты:
насколько хорошо (просто, надежно, эффективно) можно использовать ПП;
насколько легко эксплуатировать ПП;
можно ли использовать ПП при изменении условия его применения и др.
Мобильность ПП означает их независимость от технич. комплекса с-мы обработки данных, операц. среды, сетевой техн-ии обработки данных, специфики предм. обл-ти и т.п. Мобильный (многоплатформный) ПП может быть установлен на различных моделях компов и ОС, без ограничений на его эксплуатацию в условиях вычислит. с ети. Ф-ции обработки такого ПП пригодны для масс. исп-ия без к.- либо изменений.
Надежность работы ПП опред-ся устойчивостью и бесперебойностью в работе программ, точность выполнения предписанных ф-ций обраб-ки, возмож-ю диагностики ошибок, возникающих при работе пр-м.
Эффект-ть ПП оценивается как с позиций треб-ний польз-ля, так и с т. зр. расхода вычисл. ресурсов, необходимых для его экспл-ции. Расход вычислит. р есурсов оценивается через объем внеш. памяти для размещ-я пр-м и объем опер. памяти для их запуска.
Учет человеческого фактора означает обесп-е дружеств. интерфейса д /работы конечного польз-ля,
Все программы по характеру использования и категориям пользователей можно разделить на два класса:
– утилитарные программы («программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;
– программные продукты («изделия») предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
– freeware – бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
– shareware – некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно (при условии регулярного использования подобных продуктов осуществляется взнос определенной суммы).
Ряд производителей использует OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт – комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Путь от «программ для себя» до программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которой характерны разделение труда фирм – разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
Программные продукты могут создаваться как:
– индивидуальная разработка под заказ;
– разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность – функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы – трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами – распространителями программ (дистрибьюторами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта – поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Основные характеристики программ:
– алгоритмическая сложность (логика алгоритмов обработки информации);
– состав и глубина проработки реализованных функций обработки;
– полнота и системность функций обработки;
– объем файлов программ;
– требования к операционной системе и техническим средствам обработки со стороны программного средства;
– объем дисковой памяти;
– размер оперативной памяти для запуска программ;
– тип процессора;
– версия операционной системы;
– наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
– насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
– насколько легко эксплуатировать программный продукт;
– можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов представлено на рисунке.
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения - требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
Программа - упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение - совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины задача и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения (ПО).
Задача - проблема, подлежащая решению.
Приложение - программная реализация на компьютере решения задачи.
Существует большое число разнообразных классификаций задач. С позиций специфики разработки и вида программного обеспечения будем различать два класса задач - технологические и функциональные.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработки сервисных средств программного обеспеченияв виде утилит, сервисных программ, библиотек процедури др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Предметная (прикладная) область - совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Все программы по характеру использования и категориям пользователей можно разделить на два класса - утилитарные программы и программные продукты (изделия).
Утилитарные программы ("программы для себя") предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами - распространителями программ (дистрибьюторами), реже - фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами - исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта - поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Все программы по характеру использования и категориям пользователей можно разделить на 2 класса: утилитарные программы ипрограммные продукты (изделия) .
Утилитарные программы (утилиты) предназначены для использования самими разработчиками. Чаще всего это программные решения функциональных задач, не предназначенных для широкого распространения.
Программный продукт – комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, представлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации.
Программные продукты предназначены для широкого распространения и продажи.
Процесс создания программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которого характерны разделение труда фирм-разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами-распространителями программ (дистрибьюторами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление ошибок, создание новых версий программ и т.п.
Основные характеристики программ
Алгоритмическая сложность.
Состав и глубина проработки реализованных функций.
Полнота и системность функций.
Объем файлов программ.
Требования к ОС и техническим средствам со стороны программы.
Объем дисковой памяти.
Размер операционной памяти.
Тип процессора.
Версия ОС.
Наличие вычислительной сети и др.
Показатели качества программного продукта (пп)
Мобильность – независимость ПП от технических средств обработки информации, ОС, сетевой технологии. Мобильный ПП пригоден для массового использования без каких-либо изменений.
Надежность – бесперебойность и устойчивость в работе, возможность диагностики возникающих ошибок.
Эффективность – минимально возможный расход вычислительных ресурсов и максимально возможное быстродействие.
Модифицируемость - простота внесения изменений.
Коммуникативность – свойство интеграции с другими программами, обеспечения обмена данными в общих форматах представления.
Учет человеческого фактора – обеспечение дружественного интерфейса, наличие контекстно-зависимой подсказки или обучающей системы, хорошей документации.
На заре развития компьютерной техники появилось понятие языков программирования и создаваемых с их помощью последовательностей команд, которые чуть позже стали называть приложениями. По сути, это продукты программные (именно программные). То есть заданный набор команд позволяет выполнить ту или иную задачу или обеспечить функционирование компьютерной системы в целом. Какие же они бывают?
Продукты программные: базовая классификация
Оговоримся сразу: в дебри компьютерной технологии лезть не будем, а постараемся разобраться в том, что собой представляют и какими бывают программы, так сказать, простым языком.
На сегодняшний день имеется несколько типов классификации программного обеспечения, или ПО. Среди основных типов выделяют:
- системное ПО;
Иногда в этот список включают еще средства разработки и администрирования в виде специальных утилит, но, по большому счету, их можно отнести к системным приложениям.
Типы программных продуктов по использованию
Существует и другая классификация, подразумевающая использование программных продуктов по типу прав доступа к ним и стоимости. Сюда можно включить следующие понятия:
- проприетарное ПО с монополией правообладателя, который предоставляет только права на его установку и использование, сохраняя при этом право интеллектуальной собственности;
- коммерческое (платное) ПО, подразумевающее покупку программного продукта и официальной лицензии;
- условно-бесплатное ПО (shareware), которым можно пользоваться в течение определенного времени (как правило, 30 дней), после чего следует приобрести лицензию или зарегистрировать продукт;
- бесплатное (freeware) ПО - программы и приложения, не требующие наличия лицензии или оплаты;
- бесплатное ПО с (лицензия GNU), которое любой желающий может изменять или модифицировать по своему усмотрению.
Теперь рассмотрим некоторые типы целых программных пакетов и единичных приложений каждого типа несколько подробнее.
Программное обеспечение Firmware
Этот тип ПО относится к системной части. Иными словами, это средства базового уровня, обеспечивающие взаимодействие между программной средой компьютера (операционной системой или установленными приложениями).
Сегодня их называют драйверами - небольшими программами, созданными для того, чтобы программная часть компьютерной системы распознавала и обеспечивала корректную работу любого «железного» компонента. Как правило, все настройки сохраняются в специальном чипе на материнской плате, имеющем собственную программную среду, называемую BIOS. И именно BIOS хранит не только базовые настройки «железа», но и диагностирует его при включении компьютерного терминала (если все конфликты или сбои не обнаружены, выдается характерный одиночный звуковой сигнал при старте компьютера через системный динамик).
Операционные системы
Наверное, не нужно говорить, что операционные системы являются основной частью ПО, осуществляющего связь между компьютером и пользователем. Грубо говоря, это своего рода прослойка, благодаря интерфейсу которой юзер получает доступ к тем или иным функциям системы и выполнению определенных задач при помощи приложений разного типа и уровня.
На сегодняшний день их известно достаточно большое количество, причем не все они равнозначны. Большинство имеет но встречаются даже текстовые «операционки». В любом случае они включают в себя мощнейший инструментарий для обеспечения функционирования всех компонентов и работы пользователя в системе, включая языковые трансляторы и многие другие вещи.
Средства разработки
Разработка программных продуктов любого типа, будь то ОС или любое приложение, осуществляется на основе какого-либо языка программирования, который включает в себя не только определенный набор команд, но и трансляторы, языковые интерпретаторы, компиляторы и т. д. (иногда даже дисассемблеры).
Многие языки используют ручной ввод команд, скажем, в текстовом режиме, можно найти даже целые специализированные платформы, позволяющие работать с языками вроде Delphi или Java без специальных знаний, так сказать, на интуитивном уровне. Кстати, то же самое касается и веб-разработки сайтов, когда страницы и их взаимосвязи создаются на основе встроенных возможностей, которыми обладают такие программные продукты. Примеры? Пожалуйста! Тот же редактор MS Office Word, WordPress и т. д.
Средства администрирования
Системное администрирование является неотъемлемой частью любой программной среды. Действительно, своевременное выявление и исправление неполадок и ошибок в работе единичного компьютера, терминалов в локальной сети или даже в функционировании целых интернет-ресурсов, размещенных на удаленных серверах, позволяет избежать множества проблем в дальнейшем.
К примеру, в стандартном наборе Windows-систем (и не только в них) тоже имеются специальные программы и приложения, позволяющие, например, проверить на ошибки жесткий диск, провести тестирование оперативной памяти и т. д. Само собой разумеется, что существуют и специализированные сторонние утилиты, имеющие в своем функционале расширенные наборы инструментов. С их использованием системное администрирование выходит на новый, более высокий уровень.
В качестве интереснейшего примера можно привести программу для поиска и исправления системных ошибок на винчестере белорусского разработчика под названием Victoria, которая имеет куда больше возможностей, чем стандартная утилита Windows. Программа вообще может «перемагничивать» жесткие диски, восстанавливая сбойные сектора, но не затрагивая информацию, хранящуюся в кластерах. И это только малая толика приложений данного направления. А если рассмотреть еще и приложения для системных администраторов, позволяющие контролировать любой локальный компьютер в сети или даже функционирование всей такой сетевой системы, то просто диву даешься, до чего дошел прогресс: здесь сегодня утилит столько, что всего и не опишешь.
Обеспечение информационной безопасности
Что касается защиты информации и обеспечения безопасности любой системы, здесь тоже существуют такие средства. Такие продукты, программные модули которых написаны на языках высшего уровня, позволяют противодействовать угрозам любого типа.
А ведь речь идет не только об антивирусах. В равной степени сюда можно отнести и разного рода препятствующие проникновению надоедливой рекламы, в конце концов, даже виртуальные сетевые экраны, называемые файроволлами или брэндмауэрами.
Средства доступа к Интернету
Предыдущий тип приложений, ориентированный на обеспечение информационной безопасности, очень тесно связан с доступом к Интернету, ведь сегодня именно оттуда исходит большинство угроз.
Что же до обеспечения самого доступа, основными средствами являются так называемые интернет-браузеры, работающие на основе строго определенных сетевых настроек (IP-адрес компьютера, маска подсети, основной и дополнительный шлюзы, DNS-, WINS- и прокси-серверы и т. д.). Такие приложения зачастую относят к прикладным программам.
Прикладное ПО
Теперь перейдем к самому большому классу программ - прикладному ПО. Приложения этого типа являются строго ориентированными на выполнение конкретных задач, к примеру, математических, офисных, развлекательных, научных и многих других.
Перечислить все просто физически невозможно, однако с уверенностью можно выделить несколько направлений: работа с документацией и электронными таблицами (офисные программы и системы документооборота), бухгалтерский учет, обработка мультимедиа (графика, аудио и видео), системы проектирования, платформы для математических и научных вычислений или моделирования, средства работы с базами данных, почтовые клиенты и браузеры, файловые менеджеры и т. д. Перечислять такие приложения можно до бесконечности.
Базовый набор ОС Windows
Теперь рассмотрим основные программные продукты, которые имеются в любой на примере Windows. Само собой разумеется, что назвать такой набор универсальным можно с большой натяжкой, ведь в других «операционках» такие наборы могут существенно отличаться. Тем не менее в связи с тем, что именно эти ОС у нас получили наибольшее распространение, обсудим именно этот пакет.
Если кто обращал внимание, после первой установки Windows в основном меню можно найти программы, отсортированные по назначению: стандартные, служебные, административные и т. д. Но вот далеко не все знают, что это только малая часть айсберга. Дело в том, что многие служебные утилиты в меню не отображаются. В большинстве своем их можно вызвать либо из командной строки, либо из меню «Выполнить».
Кроме того, в «чистой» Windows-системе напрочь отсутствует основной офисный пакет, хотя средства просмотра некоторых документов все же есть (тот же Word Pad). Таким образом, получается, что после инсталляции самой «операционки» пользователю приходится самостоятельно устанавливать еще и основной офисный пакет. Впрочем, трудностей это не вызывает.
Ну а о калькуляторах, блокнотах, файловых менеджерах, интернет-браузерах и многом другом вообще можно не говорить - они имеются в каждой системе.
Утилитарные программы
Наконец, рассмотрим продукты, программные возможности которых позволяют не только проводить диагностику или оптимизировать работу системы, но и являются дополнительным инструментом при работе с некоторыми типами данных.
Первый тип приложений очень часто называют оптимизаторами. Они находят и исправляют ошибки системного уровня в самой «операционке», а также позволяют отключать некоторые ненужные пользователю фоновые процессы, потребляющие чрезмерное количество ресурсов, таким образом, ускоряя работу системы в целом.
В Windows таких средств практически нет, ну разве что стандартные средства проверки и К сожалению, неиспользуемые компоненты или фоновые службы приходится отключать вручную, а без специальных знаний это может привести к непредсказуемым последствиям. Зато оптимизаторы работают в автоматическом режиме, отключая только то, что не приведет к критическим сбоям.
То же самое касается редактирования и дефрагментации системного реестра, который может содержать огромное количество бесполезных, устаревших или неправильных ссылок, что как минимум увеличивает время загрузки конкретных приложений и всей системы при старте.
Удаление приложений стандартный деинсталлятор Windows тоже не всегда производится корректно. Частенько по завершении процесса в системе остается куча мусора в виде остаточных файлов, папок или записей в том же реестре. Тут на помощь приходят уникальные утилиты вроде iObit Uninstaller, который чистит систему целиком и полностью, после чего юзеру не приходится заниматься поиском и удалением оставшихся объектов вручную.
Еще одним примером можно назвать обновление драйверов устройств. Здесь автоматический режим также не предусмотрен. Но сторонние утилиты вроде Driver Booster справляются с этим элементарно, причем обновляют драйвера исключительно из официальных источников (сайтов производителя оборудования).
Наконец, одними из самых востребованных являются архиваторы, ведь даже при загрузке файлов из Интернета при достаточно большом начальном объеме они упакованы в специальные архивы для уменьшения «веса». Кроме того, большие папки могут разбиваться на несколько отдельных архивов, а программы уровня WinRAR, WinZIP или 7Zip позволяют обрабатывать такие данные элементарно.
Вместо послесловия
Напоследок остается сказать, что, конечно, это далеко не все программные продукты, которые сегодня можно отыскать. Однако, думается, даже при таком минимальном описании любой пользователь сможет почувствовать разницу между программами разного назначения и сделать общие выводы о том, какими они вообще бывают и для чего служат.