2: программные продукты и их основные характеристика


Download 36.42 Kb.
Sana08.03.2023
Hajmi36.42 Kb.
#1253687
TuriЗадача
Bog'liq
СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Просмотров: 13716Автор: Angel
10012345
СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ТЕМА 2: ПРОГРАММНЫЕ ПРОДУКТЫ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКА

2.1. ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


Программа — упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение — совокупность программ обработки данных и необходимых для их эксплуатации документов.
Задача — проблема, подлежащая решению.
Приложение — программная реализация на компьютере решения задачи.
Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являю основой для разработки с сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, разработки других программ обработки данных функциональных задач.
Функциональные задачи требуют решения при реализации функций управления в рамках информационных систем предметных областей.
Предметная (прикладная) область — совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Постановка задачи — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:
• цель или назначение задачи, ее место и связи с другими задачами;
• условия решения задачи с использованием средств вычислительной техники;
• содержание функций обработки входной информации при решении задачи;
• требования к периодичности решения задачи;
• ограничения по срокам и точности выходной информации;
• состав и форма представления выходной информации;
• источники входной информации для решения задачи;
• пользователи задачи (кто осуществляет ее решение и пользуется результатами решения).
Выходная информация по задаче может быть представлена в виде выходных документов, сформированных кадров, выводимых на экран монитора, файла базы данных, выходного сигнала устройству управления (рис. 2).
Входная информация по задаче определяется как данные, поступающие на вход задачи и используемые для ее решения. Входной информацией служат первичные данные документов ручного заполнения, информация, хранимая в файлах базы данных (результаты решения других задач, нормативно-справочная информация — классификаторы, кодификаторы, справочники), входные сигналы от датчиков. Обычно постановка задач выполняется в едином комплексе работ по созданию структуры внутримашинной базы данных, проектированию форм и маршрутов движения документов, изменению организации управления в рамках предметной области.
Алгоритм — система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.

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


• дискретность — разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывает затруднений;
• определенность алгоритма — однозначность выполнения каждого отдельного шага преобразования информации;
• выполнимость — конечность действий алгоритма решения задач, позволяющая получить желаемый результат при допустимых исходных данных за конечное число шагов;
• массовость — пригодность алгоритма для решения определенного класса задач.
Можно выделить 3 вида алгоритмов:
• линейный алгоритм. В данном случае все шаги (команды) выстраиваются строго последовательно и выполняются один за другим без пропуска и повторений;
• ветвление. В данном виде всегда присутствует условие. В зависимости от выполнения условия (истина или ложь) выполняется только один из двух блоков команд (второй блок команд всегда игнорируется);
• циклический. В данном случае часть команд (тело цикла) выполняется некоторое количество раз, заранее определенное или определяемое в ходе выполнения алгоритма.
Программирование — теоретическая и практическая деятельность, связанная с созданием программ.
Перевод программ на промышленную основу связан с решением следующих проблем:
• стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования;
• внедрение прогрессивных инструментальных средств разработки программ;
• использование специальных методов и приемов организации работ по разработке программ.
2.2. Категории специалистов, занятых разработкой I эксплуатацией программ
Наиболее часто программисты делятся на системных и прикладных.
Системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист осуществляет разработку и отладку программ для решения функциональных задач.
В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация — программист-аналитик, который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
В процессе создания программ на начальной стадии работ участвуют и специалисты—постановщики задач.
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.
Основным потребителем программ служит конечный пользователь, который, как правило, относится к категории пользователей-непрограммистов.
Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками— операторами ЭВМ.
ХАРАКТЕРИСТИКА ПРОГРАММНОГО ПРОДУКТА
Утилитарные программы ("программы для себя") предназначены для удовлетворения нужд их разработчиков.
Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В связи с развитием сети Интернет появились также следующие классы продуктов:
• freeware — бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
• shareware — некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы.
Программный продукт — комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Сопровождение программного продукта — поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Основными характеристиками программ являются:
• алгоритмическая сложность (логика алгоритмов обработки информации);
• состав и глубина проработки реализованных функций обработки;
• полнота и системность функций обработки;
• объем файлов программ;
• требования к операционной системе и техническим средствам обработки со стороны программного средства;
• объем дисковой памяти;
• размер оперативной памяти для запуска программ;
• тип процессора;
• версия операционной системы;
• наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
• насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт — надежность, эффективность, дружественность;
• насколько легко эксплуатировать программный продукт —модифицируемость, коммуникативность;
• можно ли использовать программный продукт при изменении условия его применения — мобильность.
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
Жизненный цикл программного продукта
Программы любого вида характеризуются жизненным циклом, состоящим из отдельных этапов:
a) маркетинг рынка программных средств, формулировка требований к программному продукту;
b) проектирование структуры программного продукта;
c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
d) документирование программного продукта, подготовка эксплуатационной и технологической документации;
e) выход на рынок программных средств, распространение программного продукта;
f) эксплуатация программного продукта пользователями;
g) сопровождение программного продукта;
h) снятие программного продукта с продажи, отказ от сопровождения.
На рис. 1 изображены этапы жизненного цикла и показаны их временное соответствие друг другу. Рассмотрим содержание отдельных этапов жизненного цикла.
Рис. 1. Этапы жизненного цикла программного продукта
Маркетинг и спецификация программного продукта предназначены для изучения требовании к создаваемому программному продукту, а именно:
• определение состава и назначения функции обработки данных программного продукта;
• установление требовании пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.);
• требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ—технологии программирования.
Программирование, тестирование и отладка программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика (алгоритмические языки и системы программирования, инструментальные среды разработчиков и т.п.).
Документирование программного продукта является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта.
Выход программного продукта на рынок программных средств связан с организацией продаж массовому пользователю. Этот этап должен по возможности быть коротким, для продвижения программных продуктов применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика — продажа со скидками, сервисное обслуживание и др.
Для каждого программного продукта существует своя форма кривой продаж, которая отражает спрос (рис. 2).
Рис. 2. Кривая продаж программного продукта
Эксплуатация программного продукта идет параллельно с его сопровождением, при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия программного продукта с продажи определенное время также может выполняться его сопровождение. В процессе эксплуатации программного продукта производится устранение обнаруженных ошибок.
Снятие программного продукта с продажи и отказ от сопровождения происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы программного продукта, наличия в нем неустранимых ошибок, отсутствия спроса.
ЗАЩИТА ПРОГРАММНЫХ ПРОДУКТОВ
Основные понятия о защите программных продуктов.
Защита программного обеспечения преследует цели:
• ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение;
• исключение несанкционированного копирования (тиражирования) программ.
Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия:
1) человека — хищение машинных носителей и документации программного обеспечения; нарушение работоспособности программного продукта и др.;
2) аппаратуры — подключение к компьютеру аппаратных средств для считывания программ и данных или их физического разрушения;
3) специализированных программ — приведение программного продукта или базы данных в неработоспособное состояние (например, вирусное заражение), несанкционированное копирование программ и базы данных и т.д.
Ограничение доступа.
Самый простой и доступный способ защиты программных продуктов и баз данных — ограничение доступа. Для контроля доступа к программному продукту и базе данных используется:
• парольная защита программ при их запуске;
• использование ключевой дискеты для запуска программ;
• ограничение программ или данных, функций обработки, доступных пользователям, и др.
Могут также использоваться и криптографические методы защиты информации базы данных и программных модулей.
Программные системы защиты от несанкционированного копирования
Данные системы предотвращают нелицензионное использование программных продуктов и баз данных. Программа выполняется только при опознании некоторого уникального некопируемого ключевого элемента.
Таким ключевым элементом могут быть:
• дискета, на которой записан не подлежащий копированию ключ;
• определенные характеристики аппаратуры компьютера;
• специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода.
Программные системы защиты от копирования программных продуктов:
• идентифицируют среду, из которой будет запускаться программа;
• устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;
• вырабатывают реакцию на запуск из несанкционированной среды;
• регистрируют санкционированное копирование;
• противодействуют изучению алгоритмов и программ работы системы.
Для идентификации запускающих дискет применяются следующие методы:
1) нанесение повреждений на поверхность дискеты ("лазерная дыра"), которая с трудом может быть воспроизведена в несанкционированной копии дискеты;
2) нестандартное форматирование запускающей дискеты.
Идентификация среды компьютера обеспечивается за счет:
1) закрепления месторасположения программ на жестком магнитном диске (так называемые неперемещаемые программы);
2) привязки к номеру ВIOS (расчет и запоминание с последующей проверкой при запуске контрольной суммы системы);
3) привязки к аппаратному (электронному) ключу, вставляемому в порт ввода-вывода,
На Западе наиболее популярны методы правовой защиты программных продуктов и баз данных.
Правовые методы защиты программных продуктов и баз данных
Правовые методы защиты программ включают:
• патентную защиту;
• закон о производственных секретах;
• лицензионные соглашения и контракты;
• закон об авторском праве.
Различают две категории прав:
• экономические права, дающие их обладателям право на получение экономических выгод от продажи или использования программных продуктов и баз данных;
• моральные права, обеспечивающие защиту личности автора в его произведении.
Во многих цивилизованных странах несанкционированное копирование программ в целях продажи или бесплатного распространения рассматривается как государственное преступление, карается штрафом или тюремным заключением. Но, к сожалению, само авторское право не обеспечивает защиту новой идеи, концепции, методологии и технологии разработки программ, поэтому требуются дополнительные меры их защиты.
Патентная защита устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их оригинальность.
Статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответственности за разглашение секретов. Например, используется парольный доступ к программному продукту или базе данных, вплоть до паролей на отдельные режимы ( чтение, запись, корректировку и т.п.). Программы, как любой материальный объект большой стоимости, необходимо охранять от кражи и преднамеренных разрушений.
Лицензионные соглашения распространяются на все аспекты правовой охраны программных продуктов, включая авторское право, патентную защиту, производственные секреты. Наиболее часто используются лицензионные соглашения на передачу авторских прав.
Лицензия — договор на передачу одним лицом (лицензиаром) другому лицу (лицензиату) права на использование имени, продукции, технологии или услуги. Лицензиар увеличивает свои доходы сбором лицензионных платежей, расширяет область распространения программного продукта или базы данных; лицензиат извлекает доходы за счет их применение
В лицензионном соглашении оговариваются все условия эксплуатации программ, в том числе создание копий. На каждой копии программы должны быть те же отметки, что на оригинале:
• знак авторского права (обычно ©) и название разработчика, года выпуска программ . прочих ее атрибутов;
• знак патентной защиты или производственного секрета;
• торговые марки, соответствующие использованным в программе другим программным изделиям (обычно — ™ и название фирмы-разработчика программного продукта);
• символ зарегистрированного права на распространение программного продукта (обычно ®).
Существует несколько типов лицензий на программные продукты.
Исключительная лицензия — продажа всех имущественных прав на программный продукт или базу данных, покупателю лицензии предоставляется исключительное право на их использование, а автор или владелец патента отказывается от самостоятельного их применения или предоставления другим лицам.
Это самый дорогой вид лицензии, к нему прибегают для монопольного владения с целью извлечения дополнительной прибыли либо с целью прекращения существования на рынке программных средств программного продукта.
Простая лицензия — лицензиар предоставляет право лицензиату использовать программный продукт или базу данных, оставляя за собой право применять их и предоставлять на аналогичных условиях неограниченному числу лиц (лицензиат при этом не может сам выдавать сублицензии, может лишь продать копии приобретенного программного продукта или базы данных).
Такой вид лицензии приобретают дилер (торговец) либо фирмы-производители, использующие купленные лицензии как сопутствующий товар к основному виду деятельности. Например, многие производители и фирмы, торгующие компьютерной техникой, осуществляют продажу вычислительной техники с установленным лицензионным программным обеспечением (операционная система, текстовый редактор, электронная таблица, графические пакеты и т.д.).
Этикеточная лицензия —лицензия на одну копию программного продукта или базы данных. Данный тип лицензии применяется при розничной продаже. Каждый официальный покупатель заключает лицензионное соглашение с продавцом на их использование, но при этом сохраняется авторское право разработчика.
Экономические отношения (рис. .8) между лицензиаром и лицензиатом могут строиться различным образом. За право пользования программным продуктом или базой данных выплачивается единовременное вознаграждение (паушальный платеж.), которое и является фактической ценой лицензии. Возможны и периодические отчисления лицензиару за право пользования в виде роялти — фиксированная ставка в определенные интервалы времени в течение действия лицензионного соглашения, как правило, процент от стоимости программных продуктов или баз данных.
Пользователь Права Деньги Программный продукт, база данных
Автор программы
Обладатель исключительной лицензии
Обладатель простой лицензии
Покупатель этикеточной лицензии
Рис. 3. Движение прав, денег на программные продукты и базы данных при лицензионном соглашении
Закон об охране программных продуктов и компьютерных баз данных автором признает физическое лицо, в результате творческой деятельности которого они созданы. Автор независимо от его имущественных прав принадлежат личные авторские права (см. рис.8: авторство, имя, неприкосновенность (целостность) программ или баз данных.
Авторское право действует с момента создания программного продукта или базы дан в течение всей жизни автора и 50 лет после его смерти. Автор может:
• выпускать в свет;
• воспроизводить в любой форме, любыми способами;
распространять;
• модифицировать;
• осуществлять любое иное использование программного продукта или базы данных.
Авторское право не связано с правом собственности на материальный носитель.
Имущественные права на программный продукт или базу данных могут быть переданы частично или полностью другим физическим или юридическим лицам по договору. Имущественные права относятся к категории наследуемых. Если программный продукт или база данных созданы в порядке выполнения служебных обязанностей, имущественные права принадлежат работодателю.
Программные продукты и базы данных могут использоваться третьими лицами — пользователями на основании договора с правообладателем.
Лицо, правомерно владеющее экземпляром программы или базы данных, вправе, без получения дополнительного разрешения правообладателя, осуществлять любые действия связанные с функционированием программного продукта или базы данных в соответствии с ее назначением, в том числе:
• устанавливать один экземпляр, если не предусмотрено иное соглашение с правообладателем, программного продукта или базы данных на компьютер;
• исправлять явные ошибки;
• адаптировать программный продукт или базу данных;
• изготавливать страховые копии.
КЛАССИФИКАЦИЯ ПРОГРАММНЫХ ПРОДУКТОВ
КЛАССЫ ПРОГРАММНЫХ ПРОДУКТОВ
Признаки классификации
• аппаратная часть автономных компьютеров и сетей ЭВМ;
• функциональные задачи различных предметных областей;
• технология разработки программ.
Для поддержки информационной технологии в этих областях выделим соответственно три класса программных продуктов, представленных на рис. 9:
• системное программное обеспечение;
• пакеты прикладных программ;
• инструментарий технологии программирования.
Системное программное обеспечение направлено:
• на создание операционной среды функционирования других программ;
• на обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
• на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
• на выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Системное программное обеспечение — совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.
Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Пакет прикладных программ — комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Инструментарии технологии программирования — совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Структура системного программного обеспечения
На рис. 10 представлена структура системного программного обеспечения — базового программного обеспечения, которое, как правило, поставляется вместе с компьютером, и сервисного программного обеспечения, которое может быть приобретено дополнительно.
Базовое программное обеспечение — минимальный набор программных средств, обеспечивающих работу компьютера.
Сервисное программное обеспечение — программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
Рис. 10. Классификация системного программного обеспечения компьютера
Базовое программное обеспечение
В базовое программное обеспечение входят:
• операционная система;
• операционные оболочки (текстовые и графические);
• сетевая операционная система.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
Операционные системы для персональных компьютеров делятся на:
• одно- и много- задачные (в зависимости от числа параллельно выполняемых прикладных процессов);
• одно- и много- пользовательские (в зависимости от числа пользователей, одновременно работающих с операционной системой);
• непереносимые и переносимые на другие типы компьютеров;
• несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ.

Перспективной является многопользовательская и многозадачная операционная система Unix, созданная корпорацией Bell Laboratory. Данная операционная система реализует принцип открытых систем и широкие возможности по комплексированию в составе одной вычислительной системы разнородных технических и программных средств.


Unix обладает наиболее важными качествами, такими, как:
• переносимость прикладных программ с одного компьютера на другой;
• поддержка распределенной обработки данных в сети ЭВМ;
• сочетаемость с процессорами RISC.
Unix получила распространение для суперкомпьютеров, рабочих станций и профессиональных персональных компьютеров, имеет большое количество версий, разработанных различными фирмами. Согласно прогнозам объем мирового рынка вычислительных систем, базирующихся на ОС Unix, существенно будет возрастать, особенно с переходом к сетевым технологиям.
Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:
• управление памятью (максимальный объем адресуемого пространства, типы памяти, технические показатели использования памяти);
• функциональные возможности вспомогательных программ (утилит) в составе операционной системы;
• наличие компрессии диска;
• возможность архивирования файлов;
• поддержка многозадачного режима работы;
• поддержка сетевого программного обеспечения;
• наличие качественной документации;
• условия и сложность процесса инсталляции.
Сетевые операционные системы —комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети.
Сетевые операционные системы используют архитектуру клиент-сервер или одноранговую архитектуру.
Наибольшее распространение имеют LAN Server, NetWare, VINES, Windows NT, Windows 95.
Они оцениваются по комплексу критериев: производительность, разнообразие возможностей связи пользователей, возможности администрирования.
Основные характеристики широко распространенной сетевой операционной системы Novel NetWare рассмотрены в гл. 7. Операционная система Windows NT является многозадачной, предназначенной для архитектуры клиент-сервер и использования различных протоколов транспортного уровня сетевой операционной системы, имеет 32-разрядную архитектуру и обеспечивает функции локальной сети:
• возможность каждой абонентской системы в сети быть сервером или клиентом;
• совместную работу группы пользователей;
• адресацию оперативной и внешней памяти большого размера;
• многозадачность и многопоточность обработки данных;
• поддержку мультипроцессорной обработки и др.
Работа в сети ЭВМ требует использования программных продуктов для администрирования и обслуживания рабочих станций типа, например:
• IBM Adstar Distributed Storage Manager 1.0 — средство резервного копирования в масштабах предприятия, которое позволяет обслуживать ЭВМ различных классов (мэйнфреймы, мини-ЭВМ, настольные системы), используя при этом один общий интерфейс);
• Symantec Norton Administrator for Networks 2.0 — обеспечивает администрирование локальной вычислительной сети и управление приложениями для корпоративных сетей (масштаба предприятия);
• Microsoft NT File and Print Service for NetWare — устраняет барьеры между NetWare и Windows NT, обеспечивает полную эмуляцию для NT возможностей среды NetWare;
• Armon OnSite Manager— сегментирование сетей, фильтрация и поиск неисправностей в сетях масштаба предприятия и др.
Операционные оболочки —специальные программы, предназначенные л облегчения общения пользователя с командами операционной системы.
Наиболее популярны следующие виды текстовых оболочек операционной систем MS DOS:Norton Comander
Сервисное программное обеспечение
Расширением базового программного обеспечения компьютера является набор сервисных программ, которые можно классифицировать по функциональному признаку следующим образом:
• программы диагностики работоспособности компьютера;
• антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
• программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физическом уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
• программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
• программы обслуживания сети.
Другое название — утилиты.
Утилиты — программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров (диагностики, тестирования аппаратных и программных средств, оптимизации использования дискового пространства, восстановления разрушенной на магнитном диске информации и т.п.)
Наибольшее распространение сегодня имеют комплекты утилит:
• Norton Utilites — фирма Semantec;
• Checkit PRO Deliuxe 2.0 — фирма Touch Stone;
• PC Tools for Windows 2.0;
• программа резервного копирования НР Соlогаdo Backup for windows 95.
Антивирусные продукты оцениваются по ряду критериев:
• точность обнаружения (идентификации) вируса;
• возможность защиты данных от инфицирования;
• эффективное устранение обнаруженных вирусов (восстановление файлов);
• простота использования;
• стоимость;
• способность работы в локальных сетях;
• возможность обнаружения и устранения boot-вирусов дисков.
Наиболее известные антивирусные программы:
• Virex (Microcom Inc.) — резидентный, сканирует известные вирусные модификации, использует метод контрольных сумм для слежения и контроля состояния файлов и каталогов, ограниченно используется в сетях;
• Anti-Virus (Central Рoint SoftWare Inc.) — обнаружение завирусованных файлов без исправления, используется как в среде DOS, так и Windows;
• антивирусный комплект №2 "Диалог-Наука";
• AVP Toolkit. Касперского;
• Norton Antivirus Win95 — автоматическое создание резервных копий данных boot-секторов и критических файлов.
ИНСТРУМЕНТАРИЙ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Состав и назначение инструментария технологии программирования
Программотехника — технология разработки, отладки, верификации и внедрения программного обеспечения.
Инструментарии технологии программирования — программные продукты поддержки (обеспечения) технологии программирования.
В рамках этих направлений сформировались следующие группы программных продуктов:
• средства для создания приложений, включающие:
 локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
 интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
• САSЕ- технология, представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем. Рис. 11. Классификация инструментария технологии программирования

Средства для создания приложений


Локальные средства разработки программ. Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере.
Средства для создания приложений — совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Языки программирования можно условно разделить на классы:
• машинные языки — языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
• машинно-ориентированные языки — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
• алгоритмические языки — не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
• процедурно-ориентированные языки — языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);
• проблемно-ориентированные языки — языки программирования, предназначенные для решения задач определенного класса (Лисп, Симула и др.);
• интегрированные системы программирования.
Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки.
Программа, подготовленная на языке программирования, проходит этап трансляции, когда происходит преобразование исходного кода программы в объектный код, который далее пригоден к обработке редактором связей. Редактор связей — специальная программа, обеспечивающая построение загрузочного модуля, пригодного к выполнению.
Трансляция может выполняться с использованием средств компиляторов или интерпретаторов.
Системы программирования включают:
• компилятор;
• интегрированную среду разработчика программ;
• отладчик;
• средства оптимизации кода программ;
• набор библиотек (возможно с исходными текстами программ);
• редактор связей;
• сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными
• файлами;
• справочные системы;
• документатор исходного кода программы;
• систему поддержки и управления проектом программного комплекса.
Средства поддержки проектов — новый класс программного обеспечения, предназначен для:
• отслеживания изменений, выполненных разработчиками программ;
• поддержки версий программы с автоматической разноской изменений;
• получения статистики о ходе работ проекта.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как:
• библиотека функций, процедур, объектов и методов обработки;
• макрокоманды;
• клавишные макросы;
• языковые макросы;
• программные модули-вставки;
• конструкторы экранных форм и отчетов;
генераторы приложении;
• языки запросов высокого уровня;
• языки манипулирования данными;
• конструкторы меню и многое другое.
Средства отладки и тестирования программ предназначены для подготовки разработанной программы к промышленной эксплуатации.
Интегрированные среды разработки программ. Основное назначение инструментария данного вида — повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов.
CASE -технология создания информационных систем
CASE-технология — программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.
Средства CASE-технологии делятся на две группы:
• встроенные в систему реализации — все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);
• независимые от системы реализации — все решения по проектированию ориентированы на унификацию начальных этапов жизненного цикла и средств их документирования, обеспечивают большую гибкость в выборе средств реализации.
Основное достоинство CASE-технологии — поддержка коллективной работы над проектом за счет возможности работы в локальной сети разработчиков, экспорта/импорта любых фрагментов проекта, организационного управления проектом.
Некоторые CASE-технологии ориентированы только на системных проектировщиков и предоставляют специальные графические средства для изображения различного моделей:
• диаграмм/потоков данных DFD совместно со словарями данных и спецификациями процессов;
• диаграмму "сущность-связь" ERD, являющуюся и логической моделью предметной области;
• диаграмму переходов состоянии STD, учитывающую события и реакцию на них системы обработки данных.
Другой класс CASE-технологий поддерживает только разработку программ, включая:
• автоматическую генерацию кодов программ на основании их спецификаций;
• проверку корректности описания моделей данных и схем потоков данных;
• документирование программ согласно принятым стандартам и актуальному состоянию проекта;
• тестирование и отладку программ.
Программные продукты для создания приложений
Данный класс программных средств, как уже отмечалось выше, весьма представителен. Приведем характеристику некоторых продуктов, которые предлагает фирма Microsoft..
Macroaccembler обеспечивающий создание программ, быстро манипулирующих с данными большой размерности, поддерживающих различные форматы объектных файлов.
MS Visual C++ является системой программирования объектно-ориентированного типа, обеспечивающей просмотр иерархии классов объектов приложения, работу отладчика, компилятора и др.
MS Visial Basic —система программирования объектно-ориентированного типа, транслирующая команды по мере их ввода, позволяющая создавав управлять множеством объектов (кнопками, флажками, комбинированными списками и нами ввода, переключателями, линейками и т.п.), поддержку объектов ОLЕ.
MS IMSL Mathematical and Statistical Library — математическая и статистическая библиотеки набора функций и примеров их использования (более 1000), которые можно вызвать из программ, написанных на языке С++.
ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ
Пакеты прикладных программ (ППП) делятся на следующие классы:
• проблемно-ориентированные ППП;
• ППП автоматизированного проектирования;
• методо - ориентированные ППП;
• ППП общего назначения;
• офисные ППП;
• настольные издательские системы:
• программные продукты мультимедиа;
• системы искусственного интеллекта.
Проблемно-ориентированные ПП
Это самый представительный класс программных продуктов, внутри которого проводится классификация по разным признакам:
• типам предметных областей;
• информационным системам;
• функциям и комплексам задач, реализуемых программным способом, и др.
Для некоторых предметных областей возможна типизация функций управления, структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов:
• ППП автоматизированного бухгалтерского учета;
• ППП финансовой деятельности;
• ППП управления персоналом (кадровый учет);
• ППП управления материальными запасами;
• ППП управления производством;
• банковские информационные системы и т.п.
Основные тенденции в области развития проблемно-ориентированных программных средств:
• создание программных комплексов в виде автоматизированных рабочих мест (АРМ) управленческого персонала;
• создание интегрированных систем управления предметной областью на базе вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой клиент-сервер;
• организация данных больших информационных систем в виде распределенной базы данных на сети ЭВМ;
• наличие простых языковых средств конечного пользователя для запросов к базе данных;
• настройка функций обработки силами конечных пользователей (без участия программистов);
• защита программ и данных от несанкционированного доступа (парольная защита на уровне функций, режимов работы, данных).
ППП автоматизированного проектирования
Программы этого класса предназначены для поддержания работы конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм, графическим моделированием и конструированием, созданием библиотеки стандартных элементов (темплетов) чертежей и их многократным использованием, созданием демонстрационных иллюстраций и мультфильмов.
Отличительной особенностью этого класса программных продуктов являются высокие требования к технической части системы обработки данных, наличие библиотек встроенных функций, объектов, интерфейсов с графическими системами и базами данных.
ППП общего назначения '
Данный класс содержит широкий перечень программных продуктов, поддер живающих преимущественно информационные технологии конечных пользователей. Кроме конечных пользователей этими программными продуктами за счет встроенных средств технологии программирования могут пользоваться и программисты для создания усложненных программ обработки данных.
Представители данного класса программных продуктов:
1. Настольные системы управления базами данных (СУБД), обеспечивающие организацию и хранение локальных баз данных на автономно работающих компьютерах либо централизованное хранение баз данных на файл-сервере и сетевой доступ к ним.
В настоящее время наиболее широко представлены реляционные СУБД для персональных компьютеров, осуществляющие:
• работу с базой данных через экранные формы;
• организацию запросов на поиск данных с помощью специальных языков запросов высокого уровня;
• генерацию отчетов различной структуры данных с подведением промежуточных и окончательных итогов;
• вычислительную обработку путем выполнения встроенных функций, программ, написанных с использованием языков программирования и макрокоманд.
Пользовательские приложения (прикладные программы), функционирующие в среде СУБД, создаются по типу меню работы конечного пользователя, каждая команда которого обеспечивает автоматизированное выполнение определенной функции.
В современных СУБД (например, в СУБД ACCESS) содержатся элементы CASE-технологии процесса проектирования, в частности:
• визуализирована схема баз данных;
• осуществлена автоматическая поддержка целостности баз данных при различных видах обработки (включение, удаление или модификация данных баз данных);
• предоставляются так называемые мастера, обеспечивающие поддержку процесса проектирования (режим "конструктор") — мастер таблиц, мастер форм, мастер отчетов, построитель меню и т.п.;
• созданы для широкого использования прототипы (шаблоны) структур баз данных, форм, отчетов и т.д.
2. Серверы баз данных —успешно развивающийся вид программного обеспечения, предназначенный для создания и использования при работе в сети интегрированных баз данных в архитектуре клиент-сервер.
Многопользовательские СУБД (типа Рaradox, Ассеss, FохРго и др.) в сетевом варианте обработки данных хранят информацию на файл-сервере — специально выделенном компьютере в централизованном виде, но сама обработка данных ведется на рабочих станциях. Серверы баз данных, напротив, всю обработку (хранение, поиск, извлечение и передачу данных клиенту) данных выполняют самостоятельно, одновременно обеспечивая данными большое число пользователей сети.
Общим для различных видов серверов баз данных является использование реляционного языка SQL для реализации запросов к данным.
3. Генераторы (серверы) отчетов —самостоятельное направление развития программных средств, обеспечивающих реализацию запросов и формирование отчетов в печатном или экранном виде в условиях сети с архитектурой клиент-сервер.
Сервер отчетов подключается к серверу баз данных, используя все уровни передач и драйверы сервера баз данных. Серверы отчетов включают:
• программы планирования — учет времени для формирования отчетов по требованию пользователей, составление расписания выдачи и распространения отчетов по сети;
• программы управления очередью запросов на формирование отчетов;
• программы ведения словаря пользователей для разграничения доступа к сформированным отчетам;
• программы ведения архива отчетов и др.
4. Текстовые процессоры —
5. Табличный процессор —
6. Средства презентационной графики
7. Интегрированные пакеты —набор нескольких программных продуктов, функционально дополняющих друг друга, поддерживающих единые информационные технологии, реализованные на общей вычислительной и операционной платформе.
Наиболее распространены интегрированные пакеты, компонентами которых являются
• СУБД;
• текстовый редактор;
• табличный процессор;
органайзер;
• средства поддержки электронной почты;
• программы создания презентаций;
• графический редактор.
Отличительными особенностями данного класса программных средств являются:
• полнота информационных технологии для конечных пользователей;
• однотипный интерфейс конечного пользователя для всех программ, входящих в состав интегрированного пакета — общие команды в меню, стандартные пиктограммы одних и тех же функций (сохранение на диске, печать, проверка орфографии, шрифтовые оформления и т.п.), стандартное построение и работа с диалоговыми окнами и др.;
• общий сервис для программ интегрированного пакета (например, словарь и средства орфографии для проверки правописания, построитель диаграмм, конвертер данных и др.);
• легкость обмена и ссылок на объекты, созданные программами интегрированного пакета (применяется два метода: DDE — динамический обмен данными и ОLЕ — динамическая компоновка объектами), единообразный перенос объектов (метод drag and drop);
• наличие единой языковой платформы для разработки макрокоманд, пользовательских программ;
• возможность создания документов, интегрирующих в себе возможности различных программ, входящих в состав интегрированного пакета.
Методо-ориентированные ППП
Наиболее распространены методы математического программирования, решения дифференциальных уравнений, имитационного моделирования, исследования операций.
Офисные ППП
1. Органаизеры (планировщики) — программное обеспечение для планирования рабочего времени, составления протоколов встреч, расписаний, ведения записной телефонной книжки.
В состав программ органаизеров входят: калькулятор, записная книжка, часы, календарь и т.п. Наиболее часто подобное программное обеспечение разрабатывается для ноутбуков, персональных компьютеров блокнотного типа.
2. Программы-переводчики, средства проверки орфографии и распознавания текста включают:
• программы-переводчики, предназначенные для создания подстрочника исходного текста на указанном языке;
• словари орфографии, используемые при проверке текстов;
• словари синонимов, используемые для стилевой правки текстов;
• программы для распознавания считанной сканерами информации и преобразования в текстовое представление.
OCR Cuneform
Stylus Lingvo Office
3. Коммуникационные ППП — предназначены для организации взаимодействия пользователя с удаленными абонентами или информационными ресурсами сети.
Настольные издательские системы
Данный класс программ включает программы, обеспечивающие информационную технологию компьютерной издательской деятельности:
• форматирование и редактирование текстов;
• автоматическую разбивку текста на страницы;
• создание заголовков;
• компьютерную верстку печатной страницы;
• монтирование графики;
• подготовку иллюстраций и т.п.
ППП Adobe Page Maker
ППП TEX, LATEX
Программные средства мультимедиа
Основное назначение программных продуктов мультимедиа — создание и использование аудио- и видеоинформации для расширения информационного пространства пользователя.
Системы искусственного интеллекта
Основными компонентами систем искусственного интеллекта являются
• база знаний,
• интеллектуальный интерфейс с пользователем
• программа формирования логических выводов.
Их разработка идет по следующим направлениям:
• программы-оболочки для создания экспертных систем путем наполнения баз знании и правил логического вывода;
• готовые экспертные системы для принятия решений в рамках определенных предметных областей;
• системы управления базами знаний для поддержания семантических моделей (процедуральной, семантической сети, фреймовой, продукционной и др.);
• системы анализа и распознавания речи и др.
Как правило, интеллектуальный интерфейс включает:
• диалоговый процессор на естественном языке;
• планировщик, преобразующий описание задачи в программу решения на основе информации базы знаний;
• монитор, осуществляющий управление компонентами интерфейса.
Download 36.42 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling