Файл: Аналитический обзор современного программного обеспечения персонального компьютера.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.06.2023

Просмотров: 247

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

Объектом исследования является программное обеспечение и его историческое развитие. Предметом исследования являются разновидности программного обеспечения.

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

Задачами данной работы являются:

  • изучение понятия программного обеспечения;
  • обзор истории появления и развития программного обеспечения;
  • изучение разновидностей классификаций программного обеспечения;
  • краткий обзор каждой разновидности программного обеспечения.

В основу изучения вопроса создания и проектирования программного обеспечения были положены работы Виктора Мелехина и Евгения Павловского, а также некоторых авторов журнала «Программные продукты и системы».

1. Современное программное обеспечение персонального компьютера

1.1. Понятие программного обеспечения

Программное обеспечение, согласно стандарту ISO/IEC 2382-1:1993, представляет собой все или часть правил, процедур, программ и соответствующей документации системы обработки информации.


Также существуют и другие определения из российских и международных стандартов:

  • согласно стандарту IEEE Std 829—2008, программное обеспечение является компьютерными программами, процедурами и, возможно, соответствующей документацией и данными, которые относятся к функционированию компьютерной системы;
  • согласно тому же стандарту IEEE Std 829—2008, программное обеспечение является программой или множеством программ, которые используются для управления компьютером;
  • согласно стандарту ГОСТ 19781-90, программное обеспечение является совокупностью программ системы обработки информации и программных документов, которые необходимы для эксплуатации этих программ[1].

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

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

Академическими областями, которые изучают программное обеспечение, являются программная инженерия и информатика.

В компьютерном сленге часто используется слово «софт», которое произошло от английского слова «software», впервые в этом смысле примененного в 1958 году в статье журнала American Mathematical Monthly Джон Тьюки, математиком из Принстонского университета[3] [1, 3].

1.2. История программного обеспечения

Первую программу написала Ада Лавлейс для разностной машины Чарльза Бэббиджа, но так как эта машина не была достроена, разработки леди Лавлейс остались чисто теоретическими.

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


Первые электронно-вычислительные машины 1940—1950-х годов перепрограммировались путем переключения тумблеров и переподключения кабелей, что требовало глубокого понимания их внутреннего устройства. К таким машинам, в частности, относился ENIAC[5].

Важным шагом в сторону современных компьютеров был переход к архитектуре Джона фон Неймана, впервые реализованной в Великобритании, в разработанной под руководством Дж. Р. Уомерзли и при участии Алана Тьюринга компьютере, известном как Марк I. Первая программа, хранимая в памяти компьютера, была запущена на нем 21 июня 1941 года. Для облегчения программирования этой машины Тьюринг придумал систему сокращенного кодирования, в которой для представления двоичного машинного кода использовалась последовательность телетайпных символов, выводимых на перфоленту[6].

Один из сотрудников Тьюринга, Джон Мочли, став позднее руководителем и сооснователем компании Eckert–Mauchly Computer Corporation, разработавшей такие ЭВМ, как BINAC и UNIVAC, поручил своим сотрудникам создать транслятор алгебраических формул. Хотя эта амбициозная цель в 1940-х годах и не была достигнута, под руководством Мочли был разработан так называемый «Краткий код», в котором операции и переменные кодировались двухсимвольными сочетаниями. Краткий код был реализован с помощью интерпретатора. Грейс Хоппер, работая с начала 1950-х годов над набором математических подпрограмм для UNIVAC I, изобрела программу-компоновщик «A-0», которая по заданному идентификатору осуществляла выборку нужной подпрограммы из библиотеки, хранящейся на магнитной ленте, и записывала ее в отведенное место оперативной памяти[7].

В 1950-е годы появились первые высокоуровневые языки программирования, Джон Бэкус разработал FORTRAN, а Грейс Хоппер — COBOL. Подобные разработки значительно упростили написание прикладного программного обеспечения, которое писала тогда каждая фирма, приобретающая вычислительную машину[8].

В начале 1950-х годов понятие программного обеспечения еще не сложилось. Так не говорилось о нем ничего в вышедшей в январе 1952 года в журнале Fortune статье «Office Robots», описывавшем компьютеры Univac. Хотя в статье уже рассказывается о компьютере, как о универсальном устройстве, процесс программирования в этой статье был анахронически описан как «переключение тумблеров». Однако к середине 50-х годов уже вполне сложилась разработка программного обеспечения на заказ, хотя сам термин «программное обеспечение» еще не использовался, тогда говорили просто о «программировании на заказ» или «программистском обслуживании». Первой программной фирмой стала компания System Development Corporation, созданная в 1956 году на базе принадлежащей правительству США фирме RAND Corporation. На этом этапе заказчиками уникального и нетиражируемого программного обеспечения были крупные корпорации и государственные структуры, и стоимость в один миллион долларов за программу не была чем-то необычным[9].


Собственно, сам термин программного обеспечения вошел в широкий обиход с начала 1960-х годов, когда стало актуальным разграничение команд, управляющих компьютером, и его физических компонентов — аппаратного обеспечения. Тогда же и началось становление индустрии программного обеспечения, как самостоятельной отрасли. Первой компанией по разработке ПО стала основанная в 1959 году Роем Наттом и Флетчером Джоунсом Computer Sciences Corporation с начальным капиталом в 100 долларов. Первыми клиентами CSC и появившихся вслед за нею софтверных компаний были сверхкрупные корпорации и государственные организации, вроде NASA, и фирма продолжала работать на рынке заказного ПО, как и другие первые программистские частные стартапы, такие как Computer Usage Company[10].

Первыми самостоятельно выпущенными программными продуктами, не поставляемыми в комплекте с компьютерным оборудованием, были выпущенный фирмой Applied Data Research в 1965 году генератор компьютерной документации AUTOFLOW, автоматически рисующий блок-схемы, и транслятор языка программирования MARK-IV, разработанный в 1960—1967 годах в Informatics, Inc. Становление рынка корпоративного программного обеспечения тесно связано с появлением семейства компьютеров IBM System/360. Достаточно массовые, относительно недорогие вычислительные машины, совместимые друг с другом на уровне программного кода, открыли дорогу тиражируемому программному обеспечению[11].

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

В ноябре 1966 года журнал Business Week впервые обратился к теме индустрии программного обеспечения. Статья называлась «Software Gap — A Growing Crisis for Computers» и рассказывала как о перспективности этого бизнеса, так и о кризисе, связанном с нехваткой программистов. Типичные программные продукты того времени служили для автоматизации общих для бизнеса задач, таких, как начисление заработной платы или автоматизации бизнес-процессов таких предприятий среднего бизнеса, как производственное предприятие или коммерческий банк. Стоимость такого ПО, как правило, была между пятью и ста тысячами долларов[12].

Появление в 1970-х годах первых персональных компьютеров создало предпосылки и для зарождения массового рынка программного обеспечения. Изначально программы для персональных компьютеров распространялись в «коробочной» форме через торговые центры или по почте и имели цену 100—500 долларов США[13].


Знаковыми для зарождающего массового рынка программного обеспечения стали такие продукты, как электронная таблица VisiCalc, идея которой пришла Дэниелу Бриклину, когда тот, будучи выпускником MIT и инженером-программистом в DEC, посещал курсы в Гарвардской школе бизнеса и хотел облегчить себе утомительные финансовые расчеты, и текстовый процессор WordStar, разработку которого начал Сеймур Рубинштейн, тщательно изучив потребности рынка. О VisiCalc впервые заговорили, как о killer application, то есть компьютерном приложении, которое самим фактом своего существования доказывает нужность и необходимость покупки платформы, для которой реализована такая программа. Для VisiCalc и WordStar такой платформой стали персональные компьютеры, которые благодаря ним из богатой игрушки для гиков стали рабочим инструментом. С них началась микрокомпьютерная революция, а у этих программ появились конкуренты: электронные таблицы SuperCalc, Lotus 1-2-3, система управления базами данных dBase II, текстовый процессор WordPerfect и другие подобные. Текстовые процессоры, электронные таблицы, системы управления базами данных а так же графические редакторы вскоре стали основными продуктами рынка программного обеспечения для персональных компьютеров.

Массовое тиражирование позволило снизить к середине 1990 годов стоимость программного обеспечения для персональных компьютеров до ста — пятисот долларов, при этом бизнес производителей ПО приобрел определенное сходство с бизнесом звукозаписывающих компаний[14] [4, 7, 11].

2. Классификация программного обеспечения

2.1. Системное программное обеспечение

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

В общем виде место системного программного обеспечения отображена на рисунке 1.

Рис. 1. Место системного программного обеспечения в многоуровневой схеме вычислительной системы

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