Читайте также:
|
|
Если нет никакой дополнительной информации о разыскиваемых данных, то очевидный подход используется последовательный просмотр массива с увеличением шаг за шагом той его части, где желаемого элемента не обнаружено.
Условия окончания поиска таковы:
1. Элемент найден, т.е. Ki=K.
2. Весь массив просмотрен и совпадения не обнаружено.
Бинарный поиск (поиск делением пополам).
Поиск можно сделать значительно более эффективным, если данные будут упорядочены. Основная идея – выбрать случайно некоторый элемент, предположим, Ki, и сравнить его с аргументом поиска. Если он равен K, то поиск заканчивается, если он меньше K, то мы заключаем, что все элементы с индексами <=i можно исключить из дальнейшего поиска. Если же он >K, то исключаются индексы >=i. Здесь используем два указателя l и u, которые указывают верхнюю и нижнюю границы поиска.
7. Программные продукты и их основные характеристики: основные понятия программного обеспечения; характеристики программных продуктов; защита программных продуктов; классификация программных продуктов
Основные понятия программного обеспечения
Программа (program) — упорядоч. последовательность команд компьютера для решения задачи.
Программное обеспечение (sowtware) — совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины задача и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения. При этом задача (problem) — это проблема, подлежащая решению, а приложение (application) — программная реализация на компьютере решения задачи. Т. о., задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение — реализованное на компьютере решение этой задачи. Приложение считается более удачным термином и широко исп-ся в информатике. Необходимо заметить, что термин задача также употребляется в сфере программирования как единица работы вычислительной системы, требующая выделения вычислительных ресурсов (процессорного времени, основной памяти и т.п.).
Существует разнообразные классификации задач. С позиций специфики разработки и вида ПО— технологические и функциональные.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей. Предметная (прикладная) область (application domain) — это совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Все программы по характеру использования и категориям пользователей можно разделить на два класса — утилитарные программы и программные продукты (изделия).
Утилитарные программы предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы играют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
· freeware — бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
· shareware — некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы.
Ряд производителей использует ОЕМ-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
Программный продукт — это комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Программные продукты могут создаваться как:
· индивидуальная разработка под заказ;
· разработка для массового распространения среди пользователей.
Сопровождение программного продукта — это поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Основными характеристиками программ являются:
1) алгоритмическая сложность (логика алгоритмов обработки информации); 2) состав и глубина проработки реализованных функций обработки; 3) полнота и системность функций обработки; 4) объем файлов программ; 5) требования к операционной системе и техническим средствам обработки со стороны и др.
Программные продукты имеют многообразие показателей качества
Структура характеристик качества программных продуктов можно представить в виде схемы:
Мобилъностъ программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
В условиях существования рынка программных продуктов важными характеристиками являются:1)стоимость; 2)количество продаж; 3)время нахождения на рынке;4)известность фирмы-разработчика и программы; 5)наличие программных продуктов аналогичного назначения.
Спецификой программных продуктов является также и то, что их эксплуатация должна выполняться на правовой основе — лицензионные соглашения между разработчиком и пользователями с соблюдением авторских прав разработчиков программных продуктов.
. Методы защиты программных продуктов
Методы защиты программных продуктов условно можно подразделить на программные и правовые. При использовании программных систем программа выполняется только при опознании некоторого уникального некопируемого ключевого элемента.
Таким ключевым элементом могут быть:
· дискета, на которой записан не подлежащий копированию ключ;
· определенные характеристики аппаратуры компьютера;
· специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода.
Программные системы защиты от копирования программных продуктов:
· идентифицируют среду, из которой будет запускаться программа;
· устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;
· вырабатывают реакцию на запуск из несанкционированной среды;
· регистрируют санкционированное копирование;
· противодействуют изучению алгоритмов и программ работы системы.
Для идентификации запускающих дискет применяются следующие методы:
· нанесение повреждений на поверхность дискеты (т.н. "лазерная дыра"), которая с трудом может быть воспроизведена в несанкционированной копии дискеты;
· нестандартное форматирование запускающей дискеты.
Идентификация среды компьютера обеспечивается за счет:
· закрепления месторасположения программ на жестком магнитном диске (т.н. неперемещаемые программы);
· привязки к номеру BIOS (расчет и запоминание с последующей проверкой при запуске контрольной суммы системы);
· привязки к аппаратному ключу, вставляемому в порт ввода-вывода.
Правовые методы защиты программ включают:
1) патентную защиту(устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их оригинальность), 2) закон о производственных секретах (статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответственности за разглашение секретов); 3) лицензионные соглашения и контракты (лицензионные соглашения распространяются на все аспекты правовой охраны программных продуктов, включая авторское право, патентную защиту, производственные секреты); 4)закон об авторском праве.
Дата добавления: 2015-07-16; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Сортировка с помощью включений с уменьшающимися расстояниями (Сортировка Шелла) | | | Классы программных продуктов |