Файл: Программное обеспечение и его историческое развитие.pdf
Добавлен: 04.07.2023
Просмотров: 1019
Скачиваний: 8
СОДЕРЖАНИЕ
1. Современное программное обеспечение персонального компьютера
1.1. Понятие программного обеспечения
1.2. История программного обеспечения
1.3. Жизненный цикл программного обеспечения
1.3.2. Поэтапная модель с промежуточным контролем
2. Классификация программного обеспечения
2.1. Системное программное обеспечение
2.1.2. Встроенное программное обеспечение
2.2. Прикладное программное обеспечение
Введение
На сегодняшний день очень важное значение в сфере компьютерных технологий занимает программное обеспечение. Оно, на уровне с аппаратным обеспечением, обеспечивает удобное использование пользователем вычислительных ресурсов, доступных современному обществу. Создание программного обеспечения является очень сложным процессом, состоящим из многих стадий и этапов.
На сегодняшний день существует большое количество разновидностей программного обеспечения, которые появлялись постепенно, в соответствии с растущими требованиями пользователей к использованию вычислительных ресурсов.
Актуальность темы исследования заключается в том, что программное обеспечение является перспективной на сегодняшний день технологией, имеющей много различных аспектов. Обзор ключевых различий, достоинств и недостатков каждой разновидности должен помочь в выборе наиболее подходящей под определенные цели программы. Именно по этой причине является актуальным изучение разновидностей программного обеспечения и рассмотрение каждого вида в отдельности.
Объектом исследования является программное обеспечение и его историческое развитие. Предметом исследования являются разновидности программного обеспечения.
Целью работы является получение, структурирование и сравнение знаний о разновидностях программного обеспечения, посредством изучения каждой из них.
Задачами данной работы являются:
- изучение понятия программного обеспечения;
- обзор истории появления и развития программного обеспечения;
- рассмотрение основных характеристик жизненного цикл, выделение основных стадий создания программного обеспечения и обзор основных моделей жизненного цикла программного обеспечения;
- изучение разновидностей классификаций программного обеспечения;
- краткий обзор каждой разновидности программного обеспечения.
В основу изучения вопроса классификации программного обеспечения были положены работы Томаса ДеМарко и Бутенко Дмитрия Валентиновича, а также некоторых авторов журнала «Программные продукты и системы».
Том ДеМарко является профессиональным инженером-программистом, писателем и консультантом по программной инженерии США. Он также является членом Института инженеров электротехники и электроники и членом 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].