Особенности реализации системного и программного ПО

Автор работы: Пользователь скрыл имя, 23 Декабря 2010 в 00:10, реферат

Краткое описание

Программа – это данные, предназначенные для управления конкретными компонентами системы обработки информации (СОИ) в целях реализации определенного алгоритма.
Один из основных принципов машины фон Неймана – то, что и программы, и данные хранятся в одной и той же памяти. Сохраняемая в памяти программа представляет собой некоторые коды, которые рассматриваться как данные. Возможно, с точки зрения программиста программа – активный компонент, она выполняет некоторые действия. Но с точки зрения процессора команды программы – это данные, которые процессор читает и интерпретирует. С другой стороны программа – это данные с точки зрения обслуживающих программ, например, с точки зрения компилятора, который на входе получает одни данные – программу на языке высокого уровня (ЯВУ), а на выходе выдает другие данные – программу в машинных кодах.

Содержание

Введение 3
Программное обеспечение 3
Необходимость документирования 3
Эффективность 4
Надежность 4
Возможность сопровождения 5
Системное программирование 5
Прикладное программирование 9
Классификация 9
Инструментальные программные средства общего назначения 10
Программные средства профессионального уровня 14
Организация “меню” в программных системах 15
Заключение 20
Библиографический список 21

Вложенные файлы: 1 файл

Акименко.doc

— 135.50 Кб (Скачать файл)

Федеральное агентство по образованию РФ

Государственное общеобразовательное учреждение высшего  профессионального образования

Тульский  государственный университет 

Кафедра РТиАП 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Реферат

Особенности реализации системного и прикладного  ПО 
 
 
 
 
 
 
 
 

          Выполнил: студентка группы 240561 /19 Лазарева Е. А. 

          Проверил: преподаватель Акименко Т. А. 
           
           
           
           
           

Тула 2010

 

Содержание

 

Введение

     Программа – это данные, предназначенные для управления конкретными компонентами системы обработки информации (СОИ) в целях реализации определенного алгоритма.

     Один  из основных принципов машины фон  Неймана – то, что и программы, и данные хранятся в одной и  той же памяти. Сохраняемая в памяти программа представляет собой некоторые коды, которые рассматриваться как данные. Возможно, с точки зрения программиста программа – активный компонент, она выполняет некоторые действия. Но с точки зрения процессора команды программы – это данные, которые процессор читает и интерпретирует. С другой стороны программа – это данные с точки зрения обслуживающих программ, например, с точки зрения компилятора, который на входе получает одни данные – программу на языке высокого уровня (ЯВУ), а на выходе выдает другие данные – программу в машинных кодах.

Программное обеспечение

     Программное обеспечение (ПО) – совокупность программ СОИ и

программных документов, необходимых для их эксплуатации.

     Существенно, что ПО – это программы, предназначенные для

многократного использования и применения разными  пользователями.

В связи  с этим следует обратить внимание на ряд необходимых свойств

ПО.

Необходимость документирования

     По  определению программы становятся ПО только при наличии документации. Конечный пользователь не может работать, не имея документации. Документация делает возможным тиражирование ПО и продажу его без его разработчика. По Бруксу ошибкой в ПО является ситуация, когда программное изделие функционирует не в соответствии со своим описанием, следовательно, ошибка в документации также является ошибкой в программном изделии.

Эффективность

     ПО, рассчитанное на многократное использование (например, ОС, текстовый редактор) пишется  и отлаживается один раз, а выполняется  многократно. Таким образом, выгодно переносить затраты на этап производства ПО и освобождать от затрат этап выполнения, чтобы избежать тиражирования затрат.

Надежность

В том  числе:

  • Тестирование программы при всех допустимых спецификациях входных данных
  • Защита от неправильных действий пользователя
  • Защита от взлома – пользователи должны иметь возможность взаимодействия с ПО только через легальные интерфейсы.

   Появление ошибок любого уровня не должно приводить  к краху системы. Ошибки должны вылавливаться  диагностироваться и (если их невозможно исправить) превращаться в корректные отказы. Системные структуры данных должны сохраняться безусловно. Сохранение целостности пользовательских данных желательно. 
 

Возможность сопровождения

 

     Возможные цели сопровождения – адаптация ПО к конкретным условиям применения, устранение ошибок, модификация. Во всех случаях требуется тщательное структурирование ПО и носителем информации о структуре ПО должна быть программная документация.

     Адаптация во многих случаях может быть передоверена пользователю – при тщательной отработке и описании сценариев инсталляции и настройки.

     Исправление ошибок требует развитой сервисной  службы, собирающей информацию об ошибках  и формирующей исправляющие пакеты.

     Модификация предполагает изменение спецификаций на ПО. При этом, как правило, должны поддерживаться и старые спецификации. Эволюционное развитие ПО экономит вложения пользователей.

Системное программирование

 

     Системная программа – программа, предназначенная для поддержания работоспособности СОИ или повышения эффективности ее использования.

     Прикладная  программа – программа, предназначенная для решения задачи или класса задач в определенной области применения СОИ.

     В соответствии с терминологией, системное  программирование – это процесс  разработки системных программ (в том числе, управляющих и обслуживающих). С другой стороны, система – единое целое, состоящее из множества компонентов и множества связей между ними. Тогда системное программирование – это разработка программ сложной структуры.

     Эти два определения не противоречат друг другу, так как разработка программ сложной структуры ведется именно для обеспечения работоспособности или повышения эффективности СОИ.

     Подразделение ПО на системное и прикладное является до некоторой степени устаревшим. Сегодняшнее деление предусматривает, по меньшей мере, три градации ПО:

  • Системное
  • Промежуточное
  • Прикладное

     Промежуточное ПО (middleware) мы определяем как совокупность программ, осуществляющих управление вторичными (конструируемыми самим ПО) ресурсами, ориентированными на решение определенного (широкого) класса задач. К такому ПО относятся менеджеры транзакций, серверы БД, серверы коммуникаций и другие программные серверы. С точки зрения инструментальных средств разработки промежуточное ПО ближе к прикладному, так как не работает на прямую с первичными ресурсами, а использует для этого сервисы, предоставляемые системным ПО.

     С точки зрения алгоритмов и технологий разработки промежуточное ПО ближе  к системному, так как всегда является сложным программным изделием многократного  и многоцелевого использования и в нем применяются те же или сходные алгоритмы, что и в системном ПО.

     Современные тенденции развития ПО состоит в  снижении объема как системного, так  и прикладного программирования. Основная часть работы программистов  выполняется в промежуточном ПО. Снижение объема системного программирования определено современными концепциями ОС, объектно-ориентированной архитектурой и архитектурой микроядра, в соответствии с которыми большая часть функций системы выносится в утилиты, которые можно отнести и к промежуточному ПО. Снижение объема прикладного программирования обусловлено тем, что современные продукты промежуточного ПО предлагают все больший набор инструментальных средств и шаблонов для решения задач своего класса.

Значительная  часть системного и практически все прикладное ПО пишется на языках высокого уровня, что обеспечивает сокращение расходов на их разработку/модификацию и переносимость.

     Системное ПО подразделяется на системные управляющие  программы и системные обслуживающие  программы.

     Управляющая программа – системная программа, реализующая набор функций управления, который включает в себя управление ресурсами и взаимодействие с внешней средой СОИ, восстановление работы системы после проявления неисправностей в технических средствах.

     Программа обслуживания (утилита) – программа, предназначенная для оказания услуг общего характера пользователям и обслуживающему персоналу СОИ.

Управляющая программа совместно с набором  необходимых для эксплуатации системы  утилит составляют операционную систему (ОС). Основные понятия и определения 5 4 Основные понятия и определения.

     Кроме входящих в состав ОС утилит могут  существовать и другие утилиты (того же или стороннего производителя), выполняющие  дополнительное (опционное) обслуживание. Как правило, это утилиты, обеспечивающие разработку программного обеспечения для операционной системы.

     Система программирования – система, образуемая языком программирования, компилятором или интерпретатором программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.

     Системное программирование или программирование систем – подраздел программирования, заключающийся в работе над системным программным обеспечением.

     Определение «системное» подчеркивает тот факт, что результаты этого вида программирования существенно меняют свойства и возможности  вычислительной системы. В то же время  бесспорным остаётся тот факт, что  в определенной степени этот результат  имеет место при применении любых программ, выполняемых в вычислительной системе. Поэтому между программированием «системным» и «прикладным» нет четкой границы.

     Вычислительная  система имеет иерархическую  структуру, которую можно представить  в виде набора вложенных слоев, на внешнем из которых находятся прикладные программы, а на самом внутреннем — аппаратура компьютера. Условная степень системности нарастает при программировании, затрагивающем все более внутренние уровни системы.

     Одной из основных отличительных черт системного программирования по сравнению с прикладным заключается в том, что результатом последнего является выпуск программ для взаимодействия с пользователем (например, текстовый процессор). В то время как результатом системного программирования является выпуск программ для взаимодействия с аппаратным обеспечением (например, дефрагментация жёсткого диска), что подразумевает сильную зависимость таких программ от аппаратной части. В частности выделим следующее:

  • программист должен учитывать специфику аппаратной части и другие, часто уникальные, свойства системы в которой функционирует программа, использовать эти свойства, например, применяя специально оптимизированный для данной архитектуры алгоритм;
  • часто используется низкоуровневый язык программирования или такой диалект языка программирования, который
      • позволяет функционирование в окружении с ограниченным набором системных ресурсов,
      • работает максимально эффективно и имеет минимальное запаздывание по времени завершения,
      • имеет маленькую библиотеку времени выполнения (RTL) или не имеет её вообще,
      • позволяет прямое управление (прямой доступ) к памяти и управляющей логике,
      • позволяет делать ассемблерные вставки в код;
  • отладка программы может быть затруднена при невозможности запустить её в отладчике из-за ограничений на ресурсы, поэтому может применяться компьютерное моделирование для решения этой проблемы.

Прикладное  программирование

Классификация

     Прикладные  программы предназначены для  того, чтобы обеспечить применение вычислительной техники в различных  сферах деятельности человека. Помимо создания новых программных продуктов разработчики прикладных программ большие усилия тратят на совершенствование и модернизацию популярных систем, создание их новых версий. Новые версии, как правило, поддерживают старые, сохраняя преемственность, и включают в себя базовый минимум (стандарт) возможностей.

     Один  из возможных вариантов классификации  программных средств (ПС), составляющих прикладное программное обеспечение (ППО), отражен на рис.1. Как и почти  всякая классификация, приведенная на рисунке не является единственно возможной. В ней представлены даже не все виды прикладных программ. Тем не менее, использование классификации полезно для создания общего представления о ППО.

Информация о работе Особенности реализации системного и программного ПО