Классификация программного обеспечения
Определение понятия и сущности программного обеспечения. Рассмотрение основ интерпретируемых и компилируемых программ. Особенности несвободных, открытых, свободных, системных, прикладных и инструментальных программ; основные принципы их применения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 06.11.2014 |
Размер файла | 25,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
"Магнитогорский государственный технический университет
им. Г.И. Носова"
Кафедра информатики и информационной безопасности
Реферат
Классификация программного обеспечения
Выполнил:
студент группы АТБ-14
Кринжин Н.С.
Проверил:
доцент кафедры ИиИБ
Демиденко Л.Л.
Магнитогорск, 2014
Содержание
- 1. Классификация программного обеспечения
- 1.1 Интерпретируемые программы
- 1.2 Компилируемые программы
- 1.3 Несвободные программы
- 1.4 Открытыепрограммы
- 1.5 Свободные программы
- 1.6 Системныепрограммы
- 1.7 Прикладные программы
1.8 Инструментальные программы
Литература
1. Классификация программного обеспечения
Программное обеспечение - все или часть программ, процедур, правил и соответствующей документации системы обработки информации.
По способу исполнения программы делят на:
· Интерпретируемые
· компилируемые.
По степени переносимости программы делят на:
· Платформозависимые
· кроссплатформенные.
По способу распространения и использования программы делят на:
· несвободные (закрытые)
· открытые
· свободные
По назначению программы делят на:
· системные
· прикладные
· инструментальные.
1.1 Интерпретируемые программы
Интерпретируемый язык программирования -- язык программирования, в котором исходный код программные преобразовывается в машинный код для непосредственного выполнения центральным процессором, а исполняется с помощью специальной программы-интерпретатора.
В общем случае, любой язык может быть компилируемым и интерпретируемым, так что данное разделение относится к практике применения языка, а не является его свойством. При этом для многих языков существует различие в производительности между компилируемой и интерпретируемой реализацией.
Большое количество языков, включая BASIC, C, Lisp, Pascal и Python, имеют обе реализации. В Java используется JIT-компиляция для генерации машинного кода, хотя изначально он переводится в интерпретируемую форму. Языки Microsoft .NET Framework компилируются в Common Intermediate Language (CIL), который во время выполнения компилируется в нативный код. Большинство реализаций Lisp позволяют смешивать оба вида кода.
Есть ряд возможностей, которые значительно легче реализовать в интерпретаторе, чем в компиляторе:
· кроссплатформенность
· рефлексия и интроспекция
· динамическая типизация
· использование динамической области видимости и замыканий.
Кроме того, принципы и стиль программирования часто не требуют создания и описания специальных конструкций, оформляющих программу (манифестов, классов, типов данных). Это позволяет разрабатывать и тестировать код постепенно, что удобно как для написания небольших программ, так и для изолированной разработки модулей для сложных систем. В силу своей универсальности их удобно применять в качестве скриптовых языков.
Основным недостатком является меньшая производительность по сравнению с компилируемыми языками, преобразуемыми вмашинный код. Трансляция вбайт-коди JIT-компиляцияне решают этой проблемы полностью. Дополнительный слой интерпретатора или виртуальной машины замедляет выполнение программы и может требовать больше ресурсов.
Из-за отсутствия компиляции всего проекта большинство ошибок можно поймать только во время выполнения. В результате в среднем интерпретируемый код следует тестировать тщательнее компилируемого, строже придерживаться соглашений по оформлению программ и использовать дополнительные анализаторы качества кода. Последний недостаток выражен несильно, так как при серьезной разработке на компилируемых языках также необходимо применение этих средств.
1.2 Компилируемые программы
Компилируемый язык программирования--язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл, с особым заголовком и/или расширением, для последующей идентификации этого файла, как исполняемого, операционной системой (в отличие от интерпретируемых языков программирования, чьи программы выполняются программой-интерпретатором).
Классификация языков программирования на компилируемые и интерпретируемые, является неточной и весьма условной, поскольку для любого языка программирования может быть создан как компилятор, так и интерпретатор.
И, в действительности, существует множество языков, инструментарий которых включает в себя и компилятор, и интерпретатор. Кроме того, существуют реализации языков, которые компилируют исходный текст программы вбайт-код, который затем либо интерпретируется, либо выполняется т. н. JIT-компилятором (или виртуальной машиной). Это привносит ещё больше неясности в вопрос о том, где именно должна быть проведена граница между компилируемым языком и языком интерпретируемым.
Языки программирования принято разделять на компилируемые и интерпретируемые в силу типичных различий:
1) скорость выполнения программы, скомпилированной в машинный код, превосходит скорость интерпретируемой программы, как правило, в десятки и сотни раз;
2) в случае использования компилятора, при внесении изменений в исходный код программы, прежде чем эти изменения можно будет увидеть в работе программы, необходимо выполнить компиляцию исходного текста.
1.3 Несвободные программы
Несвободные программы -- это программы, которые не уважают свободу и солидарность пользователей. У разработчика или владельца есть власть над пользователями. Это значит, что у их разработчика или владельца есть власть над их пользователями. Эта власть несправедлива сама по себе.
Эта страница рассказывает о том, что изначальная несправедливость несвободных программ часто ведет к дальнейшим несправедливостям:
- вредоносным функциям.
- искушение составлять программу так, чтобы она недостойно обращалась со своими пользователями -- то есть делать ее вредоносной. (Вредоносная программа -- это программа, которая функционирует недостойно по отношению к пользователю.) Конечно, разработчик обычно делает это не для того, чтобы причинить вред, а чтобы поставить пользователей в невыгодное положение; что не делает это ни менее гадким, ни более правомерным.
- искушению стали уступать все чаще; в наши дни это стандартная практика. Современные несвободные программы -- это программы для олухов!
1.4 Открытые программы
Открытое программное обеспечение -- программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок -- через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией).
1.5 Свободные программы
Свободное программное обеспечение -- программное обеспечение, пользователи которого имеют права ("свободы") на его неограниченную установку, запуск, а также свободное использование, изучение, распространение и изменение (совершенствование), и распространение копий и результатов изменения. Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий.
Как и бесплатное (freeware) и бесплатно распространяемое программное обеспечение, СПО можно использовать и обычно получить бесплатно (но конкретный распространитель может взимать плату за получение у него копий, за каналы доставки, носители -- компакт-диски или дополнительные сервисные услуги). Однако freeware обычно распространяется в исполнимом виде без исходных кодов и является проприетарным ПО, а чтобы ПО было свободным, получателям должны быть доступны его исходные коды, из которых можно создавать исполнимые файлы, вместе с соответствующими лицензиями. Из-за того, что словом "продажа" называют и продажу оригинала, и распространение копий за деньги, и платное лицензирование (обычно на несвободных условиях), некоторые всё же считают свободное ПО подмножеством бесплатного.
Часто различают свободное и открытое ПО(open source) -- хотя доступность исходного кода для СПО является обязательным, а многие открытые программы являются одновременно свободными, но открытым иногда называют и некоторое несвободное проприетарное ПО (например, коммерческое ПО с открытым исходным кодом, Shared source).
Движение СПО зародилось в 1983 году, когда Ричард Столлман сформировал идею о необходимости дать программную свободу пользователям. В 1985 году Столлман основал Фонд свободного программного обеспечения, чтобы обеспечить организационную структуру для продвижения своей идеи. Бизнес-модели СПО, как правило, основаны на принципе расширения возможностей-- например, новые объекты применения, обучение, интеграция, настройка или сертификация. В то же время, некоторые бизнес-модели, которые работают с проприетарным программным обеспечением, не совместимы со свободным программным обеспечением, особенно те, которые заставляют пользователей платить за лицензию, чтобы законно использовать программный продукт.
1.6 Системные программы
программный обеспечение интерпретируемый прикладной
Системное программное обеспечение служит взаимодействию пользовательских приложений с оборудованием. Его основной функцией является управление:
· оперативной памятью,
· процессорами,
· сетевой аппаратурой,
· другими компонентами компьютера.
Операционная система формируется из пакета базовых системных программ. Приложения: защиты системы, тестирования, настройки, диагностики и запуска вспомогательных процессов - являются дополнительными системными программами, без которых, однако, так же невозможно обойтись ни одному пользователю.
Выбор системных утилит во многом зависит от операционной системы, установленной на компьютере. В свою очередь, на выбор платформы влияет большое количество факторов: назначение компьютера (рабочая станция или сервер), количество пользователей, архитектура сети, масштабы организации и многие другие особенности. Наибольшую популярность завоевали операционные системы семейства Windows - как среди организаций, так и у домашних пользователей.
Выбор платформы, в свою очередь, определяется целым комплексом факторов: назначением компьютера (сервер или рабочая станция), его архитектурой, числом рабочих мест, масштабами деятельности организации и многими другими особенностями. Для подавляющего большинства домашних и рабочих компьютеров сегодня используются операционные системы семейства Windows. ОС Microsoft Windows --платформы, требующие минимальной настройки, т.е. практически готовые к работе, на компьютерах корпоративных, академических и домашних пользователей. Если задачи пользователя требуют индивидуального подхода - ему потребуются дистрибутивы Linux, позволяющие сконструировать свою операционную систему. На операционную систему Linux устанавливаются вспомогательные системные программы, для внедрения на машинах с нестандартной архитектурой и повышенными требованиями к длительности и безопасности работы.
Для разработки технологий обеспечения безопасности (шрифты и сертификаты) и предотвращения несанкционированного доступа к данным IT-специалистам требуются дополнительные системные программы - Microsoft и ScriotLogic. Для обнаружения и устранения проблем, связанных с физическим оборудованием, драйверами и виртуальной IT-инфраструктурой используются программы для диагностики системы от ведущих разработчиков: O&O, ProLAN, Veeam, Uniblue.
Данные решения плюс программное обеспечение настройки системы, регулировки и интеграции ее компонентов позволяют достигать высокой скорости, производительности, стабильности работы пользовательских и системных программ, IT-инфраструктуры в целом.
1.7 Прикладные программы
Прикладная программа или приложение -- программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с оборудованием и проч. посредством операционной системы. Также на простом языке -- вспомогательные программы. К прикладным программам относятся все остальные программы, установленные на компьютере. Именно с помощью прикладных программ пользователи решают свои задачи. Прикладные программы также условно группируют по их функциональному предназначению, но этих групп может быть огромное количество.
1.8 Инструментальные программы
Инструментальные программы - это программные средства, позволяющие создавать разного рода учебные пособия, как в "бумажном" виде для последующего вывода на печать, так и на мультимедийной основе с последующей их демонстрацией. Они предназначены для преподавателей, не являющихся специалистами в области компьютерных технологий, и, благодаря наличию удобного пользовательского интерфейса, не требуют от них навыков программирования. К инструментальным программам относятся:
Конструкторы - программные комплексы для создания мультимедийных средств специального назначения: электронных учебников и справочников, интерактивных тестов из готового электронного материала.
Редакторы - программы для создания и обработки самих электронных материалов: текстовых, графических, звуковых, видеоматериалов и др.
Средства MS Office - комплекс программных средств компании Microsoft, включающий в себя различные редакторы (текстов, таблиц, баз данных и др.), конструкторы презентаций, публикаций и сайтов. Необходимость выделить этот комплект в отдельную группу вызвана тем, что он, во-первых, присутствует практически на всех пользовательских компьютерах, а во-вторых, позволяет создавать в своей среде большинство необходимых учебных материалов.
Литература
1. www.Wikipedia
2. http://www.infosgs.narod.ru/23.htm
3. http://einf.gym5cheb.ru/p46aa1.html
Размещено на Allbest.ru
Подобные документы
Системное, прикладное и инструментальное программное обеспечение. Наиболее распространённые пакеты прикладных программ. Назначение и структура системных программ. Заполнение таблицы и работа с итогами в Excel, фильтрация данных и построение диаграммы.
контрольная работа [1,6 M], добавлен 29.01.2014Основные виды программного обеспечения. Характеристика пакетов прикладных программ. Виды и группы систем счисления. Перевод целых и дробных чисел из одной системы счисления в другую. Арифметические операции в двоичной системе. Компьютерные преступления.
шпаргалка [65,2 K], добавлен 19.01.2014Понятие и принципы разработки программного обеспечения компьютера. Классификация и разновидности программ, их функциональные особенности, структура и сферы практического применения. Текстовые и графические редакторы. Правовая охрана программ и данных.
презентация [701,1 K], добавлен 31.01.2014Изучение особенностей операционной системы, набора программ, контролирующих работу прикладных программ и системных приложений. Описания архитектуры и программного обеспечения современных операционных систем. Достоинства языка программирования Ассемблер.
презентация [1,3 M], добавлен 22.04.2014Основные процессы разработки, приобретения и внедрения сложных систем. Семейство стандартов ISO 9000. Зрелые и незрелые организации-разработчики программного обеспечения. Основные направления формирования метрик для оценки компьютерных программ.
дипломная работа [656,8 K], добавлен 27.11.2012Угрозы безопасности программного обеспечения и классификация средств атаки на средства защиты ПО. Методы и средства защиты программ от компьютерных вирусов и средств исследования программ. Анализ стандартов в области информационной безопасности.
дипломная работа [1,4 M], добавлен 29.06.2012Использование операционных систем. Контрольно-испытательные методы анализа безопасности программного обеспечения. Логико-аналитические методы контроля безопасности программ и оценка технологической безопасности программ на базе метода Нельсона.
контрольная работа [22,6 K], добавлен 04.06.2012Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Определение назначения прикладных, системных и инструментальных программ. Общее описание программной среды Visual basic версии 6.0. Обзор требований к аппаратным средствам для создания программного продукта и разработка модуля "Конвертер величин".
курсовая работа [139,4 K], добавлен 27.07.2014Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013