Разделы презентаций


В. В. Шилов От программирования к программной инженерии Москва, 201 8

Содержание

Герман ХоллеритГерман Холлерит (Herman Hollerith, 1860-1929). Счетно-табуляционные машины,предназначенные для обработкистатистической информации.

Слайды и текст этой презентации

Слайд 1В. В. Шилов
От программирования
к программной инженерии
Москва, 2018 год
ВВЕДЕНИЕ
В ПРОГРАММНУЮ

ИНЖЕНЕРИЮ

В. В. Шилов От программированияк программной инженерииМосква, 2018 годВВЕДЕНИЕВ ПРОГРАММНУЮ ИНЖЕНЕРИЮ

Слайд 2Герман Холлерит
Герман Холлерит (Herman Hollerith, 1860-1929).
Счетно-табуляционные машины,
предназначенные для обработки
статистической

информации.

Герман ХоллеритГерман Холлерит (Herman Hollerith, 1860-1929). Счетно-табуляционные машины,предназначенные для обработкистатистической информации.

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

последовательностей действий.
1935 г. DEHOMAG D11.
Возможность автоматически выполнять последовательность арифметических

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

Слайд 4Специализированные машины
1914 г. Релейная машина для вычислений
по формуле p q

 b.
Леонардо Торрес-и-Кеведо
(Leonardo Torres-y-Quevedo,
1852-1936).

Специализированные машины1914 г. Релейная машина для вычисленийпо формуле p q  b.Леонардо Торрес-и-Кеведо(Leonardo Torres-y-Quevedo,1852-1936).

Слайд 5Появление памяти
Июнь 1923 г. Уроженец Испании Франсиско Кампос (Francisco Campos

Campaña) получил в Германии патент (заявка была подана 2 марта

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

10 сентября 1924 г. Немецкий изобретатель Альфред Краузе (Alfred Krause) получил патент на механическую бухгалтерскую машину, содержавшую устройство памяти для хранения результатов вычислений (судя по всему, в качестве прототипа своей разработки Краузе использовал патент Ф. Кампоса).

Появление памятиИюнь 1923 г. Уроженец Испании Франсиско Кампос (Francisco Campos Campaña) получил в Германии патент (заявка была

Слайд 6Появление памяти
1928 г. Ф. Кампос изготовил первый экземпляр своей механической

бухгалтерской машины. По сравнению с описанным в патенте прототипом, Кампосу

удалось добиться серьезного прогресса – его машина могла хранить и обрабатывать 1000 девятиразрядных десятичных чисел. Память была адресуемой (набрав номер счета, можно было распечатать его состояние). Машина Кампоса не имела ни предшественников, ни аналогов – это уникальное устройство стало первой в истории механической вычислительной машиной, имеющей память такого большого объема.
Появление памяти1928 г. Ф. Кампос изготовил первый экземпляр своей механической бухгалтерской машины. По сравнению с описанным в

Слайд 7Появление памяти
Бухгалтерские машины модели “National 3000” компании NCR имели несколько

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

из регистра в регистр.

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


Начало 1920-х гг.
Появление памятиБухгалтерские машины модели “National 3000” компании NCR имели несколько регистров для запоминания промежуточных результатов и обладали

Слайд 8Конрад Цузе
Конрад Цузе (Konrad Zuse, 1910-1995).

Конрад ЦузеКонрад Цузе (Konrad Zuse, 1910-1995).

Слайд 9Компьютеры Конрада Цузе
Каждая ячейка памяти состояла из трех металлических пластинок,

средняя из которых могла двигаться, смещая при этом штырь влево

или вправо и тем самым определяя значение ячейки – 0 или 1.
Главным достоинством такой памяти Цузе считал ее компактность и расширяемость.

1938 г. Механический управляемый программой компьютер Z-1.

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

Слайд 10Первый электронный компьютер ENIAC
Джон Моучли (John William Mauchly, 1907-1980)
Джон Преспер

Эккерт-мл. (John Presper Eckert, Jr, 1919-1995)
Джон фон Нейман
(John von

Neumann, 1903-1957).
Первый электронный компьютер ENIACДжон Моучли (John William Mauchly, 1907-1980)Джон Преспер Эккерт-мл. (John Presper Eckert, Jr, 1919-1995) Джон

Слайд 11“Программирование” на ENIAC
Август 1942 г. Джон Моучли впервые использовал термин

to program (программировать), но еще не в современном смысле, а

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

1945 г.

“Программирование” на ENIACАвгуст 1942 г. Джон Моучли впервые использовал термин to program (программировать), но еще не в

Слайд 12А программа записывалась так…
Так работали первые
“программисты”…

А программа записывалась так…Так работали первые“программисты”…

Слайд 13Принципы фон Неймана
1. Программное управление работой компьютера.

2. Принцип условного перехода.

3.

Принцип хранимой программы.

4. Использование двоичной системы счисления.

5. Принцип иерархичности памяти.

Фактически

эти принципы выработали Д. Моучли и П. Эккерт.
Некоторые считают, что еще раньше их сформулировал Конрад Цузе.

Июнь 1945 г. Джон фон Нейман присоединился к группе разработчиков ENIAC и принял активное участие в обсуждении проекта их будущего компьютера EDVAC (Electronic Discrete VAriable Computer).

Отчет “First Draft of Report on the EDVAC”:

Принципы фон Неймана1. Программное управление работой компьютера.2. Принцип условного перехода.3. Принцип хранимой программы.4. Использование двоичной системы счисления.5.

Слайд 14Термин “программа”
Июль 1946 г. В своей лекции на конференции в

Пенсильванском университете Преспер Эккерт охарактеризовал принципиально новую концепцию компьютерной архитектуры,

основанную на хранении программы в памяти, и впервые использовал слово программа в современном значении.

Джон фон Нейман этот термин использовал крайне редко. В своей работе 1945 г., давая описание особенностей новой архитектуры, он говорит об инструкциях, стандартных командах (standard orders), операциях и коде (code) – но ни разу о программе! Год спустя в одной из статей словом программа он пользуется наряду со словом код, а еще через год – снова отказывается от него в пользу терминов план (plan) и установка (set-up).

Декабрь 1951 г. В отчете по работе над ЭВМ М-1, построенной под руководством И. С. Брука, четко говорится, что “Набор инструкций, необходимых для решения задачи, называется программой”.
Термин “программа”Июль 1946 г. В своей лекции на конференции в Пенсильванском университете Преспер Эккерт охарактеризовал принципиально новую

Слайд 15Что же такое программирование?
Программа. Последовательность операций, выполняемых компьютером для достижения

поставленной цели или задачи. Описание на языке программирования действий, которые

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

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

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

В узком смысле программирование – процессы выбора структуры, кодирования и тестирования программ.
Что же такое программирование?Программа. Последовательность операций, выполняемых компьютером для достижения поставленной цели или задачи. Описание на языке

Слайд 16EDSAC, 1949 г. –
первый компьютер
с хранимой программой

EDSAC, 1949 г. – первый компьютерс хранимой программой

Слайд 17Программирование для EDSAC
Июль 1949 г.
Фрагмент программы вычисления интеграла Айри, 

решения уравнения Айри: y ’’=xy.
157 команд, около 20 ошибок!

Программирование для EDSACИюль 1949 г.Фрагмент программы вычисления интеграла Айри,  решения уравнения Айри:	y ’’=xy.157 команд, около 20

Слайд 18Отладка
Морис Уилкс вспоминал позднее, какой ужас охватил его при мысли,

что “большую часть оставшейся жизни придется провести в поисках ошибок

в собственных программах”.

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

Дэвид Уилер (1927-2004)

ОтладкаМорис Уилкс вспоминал позднее, какой ужас охватил его при мысли, что “большую часть оставшейся жизни придется провести

Слайд 19“The Preparation of programs for an electronic digital computer: with

special reference to the EDSAC and the use of a

library of subroutines”.
Maurice Wilkes, David Wheeler, Stanley Gill (1951)

Первые монографии

“The Preparation of programs for an electronic digital computer: with special reference to the EDSAC and the

Слайд 20Plankalkül Конрада Цузе –
первый язык программирования
 объединение двух значений.

присваивание.
 оператор повторения.
 заголовок подпрограммы.
Язык был разработан Конрадом Цузе в

1945 г. Описание частично опубликовано в 1959 и 1972 годах.
Plankalkül Конрада Цузе – первый язык программирования объединение двух значений. присваивание. оператор повторения. заголовок подпрограммы.Язык был разработан

Слайд 21Plankalkül Конрада Цузе –
первый язык программирования
Программа проверки синтаксической правильности записи

булевского выражения.
2000 г. Первая реализация языка.

Plankalkül Конрада Цузе –первый язык программированияПрограмма проверки синтаксической правильности записи булевского выражения.2000 г. Первая реализация языка.

Слайд 22Вавилонская башня языков программирования
Jean Sammet.
Programming languages: history and fundamentals. 1969

Вавилонская башня языков программированияJean Sammet.Programming languages: history and fundamentals. 1969

Слайд 23Anthony G. Oettinger,
профессор Гарварда
The hardware-software complementarity // Communications of the

ACM. 1967. Vol. 10. No 10. Pp. 604–606.

Anthony G. Oettinger,профессор ГарвардаThe hardware-software complementarity // Communications of the ACM. 1967. Vol. 10. No 10. Pp.

Слайд 24Термин «программная инженерия» впервые широко зазвучал в 1968 году в

Гармиш-Партенкирхене на конференции, организованной Научным комитетом НАТО. Его введение должно

было стимулировать поиск решений для имевшего место в то время «кризиса программного обеспечения».

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

Слайд 25Труды конференции 1968 г.

Труды конференции 1968 г.

Слайд 26Фридрих Л. Бауэр (1924-2015)
«Кризис программного обеспечения» — последствия быстрого роста вычислительной

мощности компьютеров и сложности решаемых с их помощью задач.

Фактически

это сложность написания работоспособного, понятного программного обеспечения с использованием верифицированных алгоритмов.
Фридрих Л. Бауэр (1924-2015)«Кризис программного обеспечения» — последствия быстрого роста вычислительной мощности компьютеров и сложности решаемых с их

Слайд 271964 г.
Программа на языке Фортран

Вместо
DO 10 I=1,5

10 …

Было написано
DO

10 I=1.5

Компилятор воспринял как
DO10I=1.5



О пользе типизации данных…
ЦЕНА ПРОГРАММНОЙ ОШИБКИ

1964 г. Программа на языке ФортранВместоDO 10 I=1,5…10 …Было написаноDO 10 I=1.5Компилятор воспринял какDO10I=1.5 О пользе типизации

Слайд 28Эдсгер Дийкстра (1930-2002)
«Craftsman or Scientist?» («Ремесленник или ученый?»), 1975 Конференция

«ACM Pacific 75»
«Отладка – процесс устранения ошибок в программе.
Программирование –

процесс внесения ошибок».
Эдсгер Дийкстра (1930-2002)«Craftsman or Scientist?» («Ремесленник или ученый?»), 1975 Конференция «ACM Pacific 75»«Отладка – процесс устранения ошибок

Слайд 29Margaret Hamilton, the Engineer Who Took the Apollo 11 to

the Moon
16-24 июля 1969 г.

Margaret Hamilton, the Engineer Who Took the Apollo 11 to the Moon16-24 июля 1969 г.

Слайд 30Инженерия (инженерное дело, инжиниринг; англ. engineering ← от лат. ingenium — «искусность»

и ingeniare — «изловчиться, разработать») — область технической деятельности, включающая ряд

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

Цели — изобретение, разработка, создание, внедрение, ремонт, обслуживание и/или улучшение техники, материалов или процессов.

Инженерия опирается на положения фундаментальной науки и результаты прикладных исследований.

Что такое инженерия?

Инженерия (инженерное дело, инжиниринг; англ. engineering ← от лат. ingenium — «искусность» и ingeniare — «изловчиться, разработать») — область технической

Слайд 31Программная инженерия (software engineering) — приложение систематического, дисциплинированного, измеримого подхода к

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

подходов; приложение дисциплины инженерия к программному обеспечению.

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

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

Инженерия в программировании

Программная инженерия (software engineering) — приложение систематического, дисциплинированного, измеримого подхода к развитию, функционированию и сопровождению программного обеспечения, а

Слайд 32BI intro to computing
B2 computers and programming
B3 discrete structures
B4 numerical

calculus

I1 data structures
I2 prog. languages
I3 comp. organization
I4 systems programming
I5 switching

theory*
I6 num. analysis I*
I7 num. analysis II*

A1 formal languages
A2 advanced computer organization
A3 analog and hybrid computing
A4 systems simulation
A5 information retrieval
A6 computer graphics
A7 theory of computability
A8 large-scale information systems
A9 AI, heuristic programming

Curriculum 68
Computer Science

BI intro to computingB2 computers and programmingB3 discrete structuresB4 numerical calculusI1 data structuresI2 prog. languagesI3 comp. organizationI4

Слайд 33CS1 programming I
CS2 programming II
CS3 comp. systems
CS4 comp. organization
CS5 file

processing

I1 data structures
I2 programming languages
I3 comp. organization
I4 systems programming
I5 switching

theory
I6 num. analysis I
I7 num. analysis II

A1 formal languages
A2 advanced computer organization
A3 analog and hybrid computing
A4 systems simulation
A5 information retrieval
A6 computer graphics
A7 theory of computability
A8 large-scale information systems
A9 AI, heuristic programming

Curriculum 78
Computer Science

CS1 programming ICS2 programming IICS3 comp. systemsCS4 comp. organizationCS5 file processingI1 data structuresI2 programming languagesI3 comp. organizationI4

Слайд 34• Дискретные структуры (DS)
• Основы программирования (PF)
• Алгоритмы и теория

сложности (AL)
• Архитектура и организация ЭВМ (AR)
• Операционные системы (OS)

Распределенные вычисления (NC)
• Языки программирования (PL)
• Взаимодействие человека и машины (HC)
• Графика и визуализация (GV)
• Интеллектуальные системы (IS)
• Управление информацией (IM)
• Социальные и профессиональные вопросы программирования (SP)
• Программная инженерия (SE)

Computing Curricula 91

• Дискретные структуры (DS)• Основы программирования (PF)• Алгоритмы и теория сложности (AL)• Архитектура и организация ЭВМ (AR)•

Слайд 35Computing Curricula 2001

Computing Curricula 2005

Computer Science Curriculum 2008

Computer Science Curricula

2013
Последующие стандарты
Программная инженерия – неотъемлемая часть!

Computing Curricula 2001Computing Curricula 2005Computer Science Curriculum 2008Computer Science Curricula 2013Последующие стандартыПрограммная инженерия – неотъемлемая часть!

Слайд 36Software Engineering 2004

Software Engineering 2004

Слайд 37Software Engineering 2014

Software Engineering 2014

Слайд 38Карьера в информационных технологиях. М., 2004
Программная инженерия в списке возможных

занятий ИТ-специалиста еще отсутствовала!

Карьера в информационных технологиях. М., 2004Программная инженерия в списке возможных занятий ИТ-специалиста еще отсутствовала!

Слайд 39СПАСИБО
ЗА ВНИМАНИЕ!

СПАСИБОЗА ВНИМАНИЕ!

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика