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

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

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

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

Добавлен: 04.07.2023

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

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

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

Введение

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

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

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

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

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

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

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

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

Том ДеМарко является профессиональным инженером-программистом, писателем и консультантом по программной инженерии США. Он также является членом Института инженеров электротехники и электроники и членом ACM. ДеМарко — автор 13 книг и более чем 100 статей, которые посвящены проблематике разработки программного обеспечения и управления проектами.


Дмитрий Валентинович Бутенко является кандидатом технических наук, и преподающим автором по множеству информационных дисциплин, в том числе в сфере программного обеспечения

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

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

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

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

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

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

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

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

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


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

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

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

Первые ЭВМ 40—50-х годов 20 века перепрограммировались путем переподключения кабелей и переключения тумблеров, требуя глубокого понимания их внутреннего устройства. В качестве примера таких машин можно привести ENIAC[8].

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

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


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

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

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

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


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

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

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

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

  • электронную таблицу VisiCalc, идея которой пришла Дэниелу Бриклину, когда тот, будучи инженером-программистом в DEC и выпускником MIT, посещал курсы в Гарвардской школе бизнеса, хотел облегчить себе утомительные финансовые расчеты;
  • текстовый процессор WordStar, разработка которого была начата Сеймуром Рубинштейном после тщательного изучения потребностей рынка[19].

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