8. Состояние и тенденции развития программного обеспечения
8.1. ПРОГРАММНЫЕ ПРОДУКТЫ И ИХ ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
Основные понятия программного обеспечения
Характеристика программного продукта
Защита программных продуктов
ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Основные понятия
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами).
Программа(program, routine) -упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение (sowtware)- совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программы предназначены для машинной реализации задач. Термины задачииприложениеимеют очень широкое употребление в контексте информатики и программного обеспечения.
Задача(problem, task) -проблема, подлежащая решению. Приложение(application)- программная реализация на компьютере решения задачи.
Таким образом, задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение - реализованное на компьютере решение по задаче. Приложение, являясь синонимом слова "программа", считается более удачным термином и широко используется в информатике.
Термин задачаупотребляется также в сфере программирования, особенно в режиме мультипрограммирования и мультипроцессорной обработки, как единица работы вычислительной системы, требующая выделения вычислительных ресурсов (процессорного времени, основной памяти и т.п.). В данной главе этот термин употребляется в смысле первого определения.
Существует большое число разнообразных классификаций задач. С позиций специфики разработки и вида программного обеспечения будем различать два класса задач - технологические и функциональные.
Технологические задачиставятся и решаются при организации технологического процесса обработки информации на компьютере. Технологические задачи являются основой для разработкисервисных средств программного обеспечения в видеутилит, сервисных программ, библиотек процедури др., применяемых для обеспечения работоспособности компьютера, разработки других программ или обработки данных функциональных задач.
Функциональные задачитребуют решения при реализации функций управления в рамках информационных систем предметных областей. Например, управление деятельностью торгового предприятия, планирование выпуска продукции, управление перевозкой грузов и т.п. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Предметная (прикладная) область (application domain) -совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Процесс создания программ можно представить как последовательность действий, представленных на рис. 8.1.
Рис. 8.1. Схема процесса создания программ
Постановка задачи (problem definition) -это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.
Постановка задачи - обобщенный термин, который означает определенность содержательной стороны обработки данных. Постановка задачи связана с конкретизацией основ-параметров ее реализации, определением источников и структурой входной и выходной информации, востребуемой пользователем.
К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:
-цель или назначение задачи, ее место и связи с другими задачами;
-условия решения задачи с использованием средств вычислительной техники;
-содержание функций обработки входной информации при решении задачи;
-требоования к периодичности решения задачи;
-ограничения по срокам и точности выходной информации;
-состав и форма представления выходной информации;
-источники входной информации для решения задачи;
-пользователи задачи (кто осуществляет ее решение и пользуется результатами решение и пользуется результатами решения).
Выходная информацияпо задаче может быть представлена в виде документ типа листинга или машинограммы), сформированных кадров - видеограммы на экране монитора файла базы данных, выходного сигнала устройству управления (рис. 8.2).
Входная информацияпо задаче определяется как данные, поступающие на код задачи и используемые для ее решения. Входной информацией служат первичные данные документов ручного заполнения, информация, хранимая в файлах базы данных (результаты решения других задач, нормативно-справочная информация - классификаторы, кодификаторы, справочники), входные сигналы отдатчиков(см.рис. 8.2).
Обычно постановка задач выполняется в едином комплексе работ по созданию структуры внутри машинной базы данных, проектированию форм и маршрутов движения документов, изменению организации управления в рамках предметной области.
Алгоритм- система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Алгоритм решения задачи имеет ряд обязательных свойств:
-дискретность - разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывав! затруднений;
-определенность алгоритма - однозначность выполнения каждого отдельного шага преобразования информации;
-выполнимость - конечность действий алгоритма решения задач, позволяющая получить желаемый результат при допустимых исходных данных за конечное число шагов;
-массовость - пригодность алгоритма для решения определенного класса задач.
В алгоритме отражаются логика и способ формирования результатов решения с указанием необходимых расчетных формул, логических условий, соотношений для контроля достоверности выходных результатов. В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.
Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирования алгоритмов и используемых при этом инструментальных средств разработки программ может повлиять на форму представления и содержание алгоритма обработки данных.
Примечание.Для решения задач могут использоваться алгоритмы, заложенные в готовых программных продуктах - пакетах прикладных программ (ППП) функционального назначения (см. дальше). Также могут использоваться типовые модели и методы решения задач, представленные в методо-оринтированных ППП, В этом случае осуществляется адаптация ППП к условиям конкретного применения, во всех остальных случаях разрабатываются оригинальные алгоритмы и программы реализации комплекса задач.
Программирование(programming)- теоретическая и практическая деятельность, связанная с созданием программ.
Программирование является собирательным понятием и может рассматриваться и наука, и как искусство, на этом основан научно-практический подход к разработке программ.
Программа - результат интеллектуального труда, для которого характерно творчество, а оно, как известно, не имеет четких границ. В любой программе присутствует индивидуальность ее разработчика, программа отражает определенную степень искусства программиста. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ (специализированного инструментария создания программ). При разработке программ используются ресурсоемкие и наукоемкие технологии, высококвалифицированный интеллектуальный труд.
Программирование - это развитая отрасль хозяйственной деятельности, связанная со значительными затратами материальных, трудовых и финансовых ресурсов. По данным зарубежных источников, в середине 90-х годов в мире было занято программированием до 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год.
В связи с ростом потребности в разнообразных программах обработки данных весьма актуален вопрос применения эффективных технологий программирования и их перевода на промышленную основу. Это означает:
- стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования;
- внедрение прогрессивных инструментальных средств разработки программ;
- использование специальных методов и приемов организации работ по разработке программ.
Категории специалистов, занятых разработкой и эксплуатацией программ
Основная категория специалистов, занятых разработкой программ, - это программисты(programmer). Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных.
Системный программист (system / software programmer, toolsmilh) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист (application programmer) осуществляет разработку и отладку программ для решения функциональных задач.
В условиях создания больших по масштабам и функциям обработки программ появляется новая квалификация - программист-аналитик (programmer-analyst),который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
В процессе создания программ на начальной стадии работ участвуют и специалисты - постановщики задач.
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных.
Основным потребителем программ служит конечный пользователь (end user),который, как правило, относится к категории пользователей-непрограммистов. Конечный пользователь не является специалистом в области программирования, т. е. не владеет методами и технологией проектирования и создания программ, но имеет элементарные знания и навыки работы с вычислительной техникой. Такая квалификационная характеристика пользователя программного обеспечения в значительной степени влияет на спецификацию требований к создаваемым программам, интерфейсам, формам машинных документов, технологии решения задач на ЭВМ.
Возможна эксплуатация программ квалифицированными программистами или специально обученными техническими работниками-операторами ЭВМ.
Взаимодействие специалистов различного вида, участвующих в разработке и эксплуатации программ, показано на рис. 8.3. В ряде случаев один специалист совмещает несколько видов деятельности. Администратор базы данных и системный программист осуществляют подготовку информационных и программно-технических условий для работы программ. Пунктирные линии означают участие специалиста в качестве консультанта.
Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ.
- Информатика Информатика: Учебник / Под ред. Проф. Н.В. Макаровой - м.: Финансы и статистика -2006. - 768 с. Www.Stu.Ru/inform/ Содержание
- 1. Основы информационной культуры
- 1.1. Информатизация общества
- 1.1.1. Представление об информационном обществе Роль и значение информационных революций
- Как понимают ученые информационное общество
- 1.1.2. Роль информатизации в развитии общества Что такое процесс информатизации общества
- 1.1.3. Опыт информатизации и перспективные идеи
- 1.1.4. Об информационной культуре
- 1.2. Информационный потенциал общества
- 1.2.1 Информационные ресурсы
- 1.2.2. Информационные продукты и услуги
- Рынок информационных продуктов и услуг
- История развития рынка информационных услуг
- 1.2.3. Правовое регулирование на информационном рынке
- 1.3. Информатика – предмет и задачи
- Структура информатики
- 2. Измерение и представление информации
- 2.1. Информация и ее свойства
- 2.1.1. Информация и данные
- 2.1.2. Формы адекватности информации
- 2.1.3. Меры информации Классификация мер
- Синтаксическая мера информации
- Семантическая мера информация
- Прагматическая мера информации
- Мера информации Единицы измерения
- Качество информации
- 2.2. Классификация и кодирование информации
- 2.2.1. Система классификации Общие сведения
- Иерархическая система классификации
- Фасетная система классификации
- Дескрипторная система классификации
- Система кодирования
- Классификационное кодирование
- Классификация информации по разным признакам
- 3.Информационные системы и технологии
- 3.1. Информационные системы
- Общее представление Понятие информационной системы
- Этапы развития информационных систем
- Период времени
- Процессы в информационной системе
- Что можно ожидать от внедрения информационных систем
- Роль структуры управления в информационной системе Общие положения
- Структура управления организацией
- Персонал организации
- Прочие элементы организации
- Примеры информационных систем
- 3.2. Структура и классификация информационных систем
- Информационное обеспечение
- Техническое обеспечение
- Математическое и программное обеспечение
- Организационное обеспечение
- Правовое обеспечение
- Классификация информационных систем по признаку структурированности задач Понятие структурированности задач
- Классификация информационных систем по функциональному признаку и уровням управления Что означает функциональный признак
- Типы информационных систем
- Информационные системы оперативного (операционного) уровня
- Информационные системы специалистов
- Информационные системы для менеджеров среднего звена
- Стратегические информационные системы
- Прочие классификации информационных систем
- 3.3. Информационные технологии
- Новая информационная технология
- Инструментарий информационной технологии
- Как соотносятся информационная технология и информационная система
- Составляющие информационной технологии
- Этапы развития информационных технологий
- Проблемы использования информационных технологий Устаревание информационной технологии
- Методология использования информационной технологии
- Выбор вариантов внедрения информационной технологии в фирме
- 3.4. Виды информационных технологий
- Основные компоненты
- Информационная технология управления Характеристика и назначение
- Основные компоненты
- Автоматизация офиса Характеристика и назначение
- Основные компоненты
- Характеристика и назначение
- Основные компоненты
- Характеристика и назначение
- Основные компоненты
- 4.1. Информационно-логические основы построения
- 4.2. Функционально-cтруктурная организация
- Основные блоки пк и их назначение
- Внутримашинный системный интерфейс
- Функциональные характеристики пк
- 4.3. Микропроцессоры
- 4.4. Запоминающие устройства пк
- 4.5. Основные внешние устройства пк
- 5. Состояние и тенденции развития эвм
- 5.1. Классификация эвм Классификация эвм по принципу действия
- 5.2. Большие эвм
- 5.3. Малые эвм
- 5.4. Персональные компьютеры
- 5.5. Суперэвм
- 5.6. Серверы
- 5.7. Переносные компьютеры
- 5.8. Тенденции развития вычислительных систем
- 6.1. Коммуникационная среда и передача данных назначение и классификация компьютерных сетей
- Аппаратная реализация передачи данных
- Звенья данных
- 6.2. Архитектура компьютерных сетей
- Эталонные модели взаимодействия систем
- Протоколы компьютерной сети эталонные модели взаимодействия систем
- Протоколы компьютерной сети
- 6.3. Локальные вычислительные сети
- Типовые топологии и методы доступа лвс
- Объединение лвс
- 6.4. Глобальная сеть internet
- Представление о структуре и системе адресации
- 7. Офисная техника
- 7.1. Классификация офисной техники
- 7.2. Средства изготовления, хранения, транспортирования и обработки документов
- Организационные автоматы
- Диктофонная техника
- Средства хранения документов
- Средства транспортирования документов
- Средства обработки документов
- 7.3. Средства копированияи размножения документов
- Средства копирования документов
- Средства оперативной полиграфии
- 7.4. Средства административно-управленческой связи
- Каналы связи
- Классификация систем административно-управленческой связи
- Системы передачи недокументированной информации
- Радиотелефонная связь
- Системы передачи документированной информации
- 7.5. Компьютерные системы в оргтехнике
- Системы управления электронными документами
- Компьютерные системы административно-управленческой связи системы управления электронными документами
- Компьютерные системы административно-управленческой связи
- 8. Состояние и тенденции развития программного обеспечения
- Характеристика программного продукта
- Жизненный цикл программного продукта.
- Защита программных продуктов. Основные понятия о защите программных продуктов.
- 8.2. Классификация программных продуктов.
- Системное программное обеспечение.
- Минимальный состав системного программного обеспечения современных персональных компьютеров.
- Инструментарий технологии программирования.
- Средства для создания приложений.
- Пакеты прикладных программ.
- Проблемно-ориентированные ппп.
- Ппп автоматизированного проектирования.
- Офисные ппп.
- Операционные системы windows 95 и windows 98
- Требования к аппаратной части
- 32-Разрядная архитектура
- Вытесняющая многозадачность и многопоточность
- Графический пользовательский интерфейс
- Подключение новых периферийных устройств по технологии Plug and Play
- Использование виртуальной памяти
- Совместимость с ранее созданным программным обеспечением
- Наличие коммуникационных программных средств
- Сетевые средства операционной системы Windows 95 позволяют:
- Наличие средств мультимедиа
- Концепция операционной системы windows 98
- Интеграция с глобальной сетью Интернет
- Повышение надежности и качества управления
- Повышение производительности
- 12.2. Объектно - ориентированная платформа windows
- Объекты файловой системы - файл и папка Объект - файл
- Объект - папка
- Назначение ярлыка
- Иерархическая структура подчиненности папок
- Объекты пользовательского уровня - приложение и документ
- Пользовательский графический интерфейс windows Основные понятия
- Формы указателя мыши при работе с объектами
- Окна приложения и документа
- Диалоговое окно
- Назначение Рабочего стола
- 12.3. Организация обмена данными
- Понятие составного документа
- Обмен данными перетаскиванием объекта мышью
- Обмен данными через буфер Роль буфера обмена
- Технология обмена данными через буфер
- Технология внедрения и связывания объектов ole
- Внедрение объекта
- Связывание объекта
- Программа работы с изображениями Imaging.
- Комплекс программ мультимедиа Развлечения
- Комплекс программ Связь
- Стандартные приложения служебного назначения
- Очистка диска
- Проверка диска
- Дефрагментация диска
- Мастер обслуживания дисков