Виды програмного обеспечения

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 12.05.2015
Размер файла 181,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ России

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

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

(ТГАСУ)

Кафедра «Архитектурное проектирование»

Реферат

на тему: Виды программного обеспечения

Томск 2015

Содержание

Введение

1. История

2. Классификация ПО

3. Разработка ПО

4. Архитектура ПО

Заключение

Литература

Введение

На сегодняшний день в мире существует более 130 миллионов компьютеров и более 80 % из них объединены в различные информационно-вычислительные сети от малых локальных сетей в офисах до глобальных сетей типа Internet. Всемирная тенденция к объединению компьютеров в сети обусловлена рядом важных причин, таких как ускорение передачи информационных сообщений, возможность быстрого обмена информацией между пользователями, получение и передача сообщений (факсов, E-Mail писем и прочего) не отходя от рабочего места, возможность мгновенного получения любой информации из любой точки земного шара, а так же обмен информацией между компьютерами разных фирм производителей работающих под разным программным обеспечением.

В данной контрольной работе рассмотрим понятие программного обеспечения, его сущность, виды и классификации.

Программмное обеспемчение (ПО) -- все или часть программ, процедур, правил и соответствующей документации системы обработки информации.

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

1. История

Первая теория, касающаяся программного обеспечения, была предложена английским математиком Аланом Тьюрингом в 1935 году в эссе «Computable numbers with an application to the Entscheidungsproblem (Decision problem)». Он создал так называемую машину Тьюринга, математическую модель абстрактной машины, способной выполнять последовательности рудиментарных операций, которые переводят машину из одного фиксированного состояния в другое. Главная идея заключалась в математическом доказательстве факта, что любое наперёд заданное состояние системы может быть всегда достигнуто последовательным выполнением конечного набора элементарных команд (программы) из фиксированного набора команд.

2. Классификация ПО

По способу исполнения программы делят на:

· интерпретируемые;

· компилируемые.

По степени переносимости программы делят на:

· платформозависимые;

· кроссплатформенные.

По способу распространения и использования программы делят на:

· несвободные (закрытые);

· открытые;

· свободные.

По назначению программы делят на:

· системные;

· прикладные;

· инструментальные.

По видам программы делят на:

· компонент: программа, рассматриваемая как единое целое, выполняющая законченную функцию и применяемая самостоятельно или в составе комплекса;

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

Проприетамрное программное обеспечение (англ. proprietary software; от proprietary -- частное, патентованное, в составе собственности и software -- программное обеспечение) -- программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.

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

Свободное программное обеспечение (СПО, англ. free software, также software libre или libre software), свободный софт -- программное обеспечение, пользователи которого имеют права («свободы») на его неограниченную установку, запуск, а также свободное использование, изучение, распространение и изменение (совершенствование), и распространение копий и результатов изменения.[1] Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий.

Как и бесплатное (freeware) и бесплатно распространяемое программное обеспечение, СПО можно использовать и обычно получить бесплатно (но конкретный распространитель может взимать плату за получение у него копий, за каналы доставки, носители -- компакт-диски или дополнительные сервисные услуги). Однако freeware обычно распространяется в исполнимом виде без исходных кодов и является проприетарным ПО, а чтобы ПО было свободным, получателям должны быть доступны его исходные коды, из которых можно создавать исполнимые файлы, вместе с соответствующими лицензиями. Из-за того, что словом «продажа» называют и продажу оригинала, и распространение копий за деньги, и платное лицензирование (обычно на несвободных условиях),[2] некоторые всё же считают свободное ПО подмножеством бесплатного.

Часто различают свободное и открытое ПО (open source) -- хотя доступность исходного кода для СПО является обязательным, а многие открытые программы являются одновременно свободными. Выбор названия часто связан с используемым языком и с целями свободности или открытости.

Движение СПО зародилось в 1983 году, когда Ричард Столлман сформировал идею о необходимости дать программную свободу (англ. software freedom) пользователям. В 1985 году Столлман основал Фонд свободного программного обеспечения, чтобы обеспечить организационную структуру для продвижения своей идеи.

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

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

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

Функции операционных систем:

Основные функции (простейшие операционные системы):

· Загрузка приложений в оперативную память и их выполнение.

· Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

· Управление оперативной памятью (распределение между процессами, виртуальная память).

· Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.

· Пользовательский интерфейс.

· Сетевые операции, поддержка стека протоколов.

Семейства и хронология операционных систем.

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

В 1981 г. фирма IBM выпустила персональный компьютер (IBM PC), архитектура которого стала стандартом в мире. Все персональные компьютеры принято разделять на IBM-совместимые (абсолютное большинство) и IBM-несовместимые, например компьютер Macintosh, производимый фирмой Apple. Компьютеры Macintosh работают под управлением операционной системы MacOS.

В 1982 г. - фирма Microsoft выпустила ставшую на долгие годы самой популярной для IBM-совместимых ПК операционную систему MS-DOS (Disc Operating System).

В 1985 г.- все та же Microsoft выпустила первую версию Windows, которая развилась и на сегодня является самой распространенной операционной системой с самыми популярными прикладными программами.

1991 г. - год рождения операционной системы Linux - основного конкурента Windows, получающего все более широкое распространение.

Кроме того, можно перечислить много названий операционных систем различных производителей, например: Netware (Novell), OS/2 (IBM), SunOS (Sun Microsystems), Java Desktop System (Sun Microsystems), FreeBSD (одно из open source ответвлений UNIX) и т.п.

Понятие операционной системы:

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки -- также представляющие собой специализированные микрокомпьютеры -- могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных операционных систем. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

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

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

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

По типу:

· программные средства общего назначения

· Текстовые редакторы

· Текстовые процессоры

· Системы компьютерной вёрстки

· Графические редакторы

· СУБД

· Электронные таблицы

· Веб-браузеры

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

· Медиаплееры

· Компьютерные игры

· программные средства специального назначения

· Экспертные системы

· Трансляторы

· Мультимедиа-приложения (медиаплееры, программы для создания и редактирования видео, звука, text-to-speech и пр.)

· Гипертекстовые системы (электронные словари, энциклопедии, справочные системы)

· Системы управления содержимым

· профессиональные программные средства

· САПР

· АРМ

· АСУ

· АСУ ТП

· АСНИ

· Геоинформационные системы

· Биллинговые системы

· CRM

· CTRM/ETRM -- системы управления складом

· SRM (Supplier Relationship Management) -- системы управления взаимоотношениями с поставщиками

· BI (Business Intelligence) -- аналитические системы

· DMS (Document Management System) -- СЭД (системы электронного документооборота)

· CMS (Content Management System) -- системы управления содержанием (контентом)

· WMS (Warehouse Management System) -- системы управления складом (СУС)

· ERP-системы -- системы планирования ресурсов предприятия

· EAM-системы -- системы управления основными фондами предприятия

· MRM-системы -- системы управления маркетинговыми ресурсами

· MES-системы -- системы оперативного (цехового) управления производством и ремонтами

· Интеграционные шины данных (ESB)

По сфере применения:

· Прикладное программное обеспечение предприятий и организаций.

· Программное обеспечение, обеспечивающее доступ пользователя к устройствам компьютера.

· Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий.

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

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

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

· Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.

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

· Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного и программного обеспечения.

Инструментамльное программмное обеспемчение -- программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.

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

К этой категории относятся программы, предназначенные для разработки программного обеспечения:

· ассемблеры -- компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.

· трансляторы -- программы или технические средства, выполняющие трансляцию программы.

· компиляторы -- Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.

· интерпретаторы -- Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их

· компоновщики (редакторы связей) -- программы, которые производят компоновку -- принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.

· препроцессоры исходных текстов -- это компьютерные программы, принимающие данные на входе и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор

· отламдчик (debugger) является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.

· текстовые редакторы -- компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.

· специализированные редакторы исходных текстов -- текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки (IDE).

· библиотеки подпрограмм -- сборники подпрограмм или объектов, используемых для разработки программного обеспечения.

· редакторы графического интерфейса.

Виды инструментального ПО:

· Текстовые редакторы

· Интегрированные среды разработки

· SDK

· Компиляторы

· Интерпретаторы

· Линковщики

· Парсеры и генераторы парсеров (см. Javacc)

· Ассемблеры

· Отладчики

· Профилировщики

· Генераторы документации

· Средства анализа покрытия кода

· Средства непрерывной интеграции

· Средства автоматизированного тестирования

· Системы управления версиями

· и др.

3. Разработка ПО

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

Первоначально создание программного обеспечения для компьютеров было в первую очередь академическим занятием. Для специалистов в области компьютерной науки каждая программа представляла собой результат научного исследования, в некотором смысле аналогичный публикации статьи. Это означает, что исходный текст программы был обязательно доступен всему научному сообществу, поскольку любой научный результат должен быть верифицируем, то есть подтверждаться другими исследователями и быть открытым для критики. Таким образом, процесс разработки программного обеспечения более принципиально схож с научным процессом: учёный брал существующие программы, исправлял их в соответствии со своими идеями и публиковал исправленные программы -- новый результат.

Однако технология производства компьютеров развивалась не менее активно, чем программное обеспечение для них. В 1970-е годы существовало огромное разнообразие различных архитектур вычислительных машин, различавшихся также производительностью и ценой. Естественно, для каждой архитектуры приходилось разрабатывать отдельный набор программного обеспечения. С середины 1970-х в большинстве американских университетов для академических разработок использовались компьютеры архитектуры PDP-10, что позволяло сотрудникам разных университетов использовать разработки друг друга на своих машинах. Сотрудники лаборатории искусственного интеллекта Массачусетского технологического института (MIT) в конце 1970-х разработали для PDP-10 собственную операционную систему ITS (Incompatible Timesharing System -- несовместимая система с разделением времени) и очень большой набор программ для неё. Исходные тексты написанных в MIT программ были общедоступны, сотрудники других университетов пользовались их исходными текстами и присылали им исправления, всё программное обеспечение в этих лабораториях было полностью академическим.

4. Архитектура ПО

Архитектура программного обеспечения (англ. software architecture) -- это высокоуровневая структура программной системы, дисциплина создания таких структур и документация по этим структурам. Архитектура является множеством структур, необходимых для рассуждения о программной системе, и включает элементы системы, связи между ними и свойства этих элементов и связей.

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

Заключение

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

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

Литература

1. Брауде Э. Технология разработки программного обеспечения. -- СПб.: Питер, 2004.

2. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. -- СПб.: Символ-Плюс, 1999.

3. Гагарина Л. Г., Кокорева Е. В., Виснадул Б. Д. Технология разработки программного обеспечения. -- М.: ИД «ФОРУМ»; ИНФРА-М, 2008. -- ISBN 978-5-8199-0342-1.

4. Орлов С. А. Технологии разработки программного обеспечения. -- СПб.: Питер, 2003.

5. Батоврин В. К. Толковый словарь по системной и программной инженерии. -- М.: ДМК Пресс, 2012. -- С. 280. -- ISBN 978-5-94074-818-2.

Размещено на Allbest.ru


Подобные документы

  • Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.

    курсовая работа [30,4 K], добавлен 29.06.2010

  • Методы и единицы измерения количества и объема информации. Общее понятие, виды, классификация программного обеспечения. Классическая архитектура электронной вычислительной машины. Основополагающие принципы логического устройства компьютера Фон Неймана.

    реферат [272,3 K], добавлен 16.02.2014

  • Виды системного программного обеспечения. Функции операционных систем. Системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Инструментальные системы программирования, обеспечивающие создание новых программ на компьютере.

    реферат [22,1 K], добавлен 27.04.2016

  • Понятие архитектуры программного обеспечения (ПО). Характеристика этапов процесса проектирования и его окончательный продукт. Языки описания и виды архитектуры ПО, базовые фреймворки. Функции разработчика архитектуры ПО и необходимые ему навыки работы.

    реферат [85,0 K], добавлен 15.02.2014

  • Использование операционных систем. Контрольно-испытательные методы анализа безопасности программного обеспечения. Логико-аналитические методы контроля безопасности программ и оценка технологической безопасности программ на базе метода Нельсона.

    контрольная работа [22,6 K], добавлен 04.06.2012

  • Основные виды программного обеспечения. Характеристика пакетов прикладных программ. Виды и группы систем счисления. Перевод целых и дробных чисел из одной системы счисления в другую. Арифметические операции в двоичной системе. Компьютерные преступления.

    шпаргалка [65,2 K], добавлен 19.01.2014

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

    презентация [1,3 M], добавлен 22.04.2014

  • Понятие и сущность операционных систем, особенности их возникновения. История создания операционной системы Linux, ее основные характеристики, сетевые возможности. Анализ бизнес-модели производства и распространения "свободного" программного обеспечения.

    реферат [35,8 K], добавлен 05.04.2010

  • Понятие и функции операционных систем, их классификация и структура, принципы работы. Виды операционных систем и их краткая характеристика: DOS, Window-95. Достоинства и недостатки Microsoft Windows XP. Создание локальных сетей. Глобальная сеть Internet.

    контрольная работа [35,5 K], добавлен 26.06.2014

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

    контрольная работа [112,5 K], добавлен 15.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.