Технология программирования

47
Технология программирования Вводная лекция

Upload: yury-kupriyanov

Post on 16-Jun-2015

731 views

Category:

Documents


0 download

DESCRIPTION

Вводная лекция курса "Технология программирования", МИЭМ, 2011

TRANSCRIPT

Page 1: Технология программирования

Технология программированияВводная лекция

Page 2: Технология программирования

Технология программированияВводная лекция

Page 3: Технология программирования

Технология программирования

это когда результат слабо зависит от исполнителей

Page 4: Технология программирования

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

Page 5: Технология программирования

Программирование больше похоже на спорт или исполнение

музыки, чем на работу на конвейере

Page 6: Технология программирования

scrum

Page 7: Технология программирования

2:0

Page 8: Технология программирования

Программирование - низкая технология

сапожник

Page 9: Технология программирования

Высокая технология

Page 10: Технология программирования

Закон Мура

Page 11: Технология программирования

Закон Вирта

Производительность софта уменьшается быстрее, чем

увеличивается производительность железа

Page 12: Технология программирования

или...

Что Мур дает, то Билл съедает.

Page 13: Технология программирования

или...

Что Мур дает, то Билл съедает.

...а в последнее время – еще и Ларри

Page 14: Технология программирования

Изготовление микропроцессоров – это определенно высокая технология

Page 15: Технология программирования

Технология тем выше, чем больше граничных условий она признает совместными

Высокая технология

Page 16: Технология программирования

Проектный треугольник

Срок

Стоимость

Результат

Page 17: Технология программирования

Проектный треугольник

Срок

Стоимость

Результат

Page 18: Технология программирования

Проектный треугольник

Срок

Стоимость

Результат

Page 19: Технология программирования

Программирование - низкая технология

сапожник

Page 20: Технология программирования

Программирование очень сильно зависит от людей:

Peopleware

Почему?

Page 21: Технология программирования

Технология программирования

А что такое вообще программирование?

Page 22: Технология программирования

Программирование: 5 миров

● Заказная и внутренняя разработка● Коробочные программные продукты● Игры● Встроенное ПО● Скрипты

Page 23: Технология программирования

Технология программирования

Page 24: Технология программирования

Технология программирования

Программирование „в малом“кодирование

Computer science

Page 25: Технология программирования

Технология программированияПрограммирование „в большом“

Программная инжененрия

software engineering

Page 26: Технология программирования

программный продукт

прог

рам

мн а

я си

стем

а

программа

системный программный продукт

Page 27: Технология программирования

программный продукт = программа + тестирование + документация и поддержка

прог

рам

мн а

я си

стем

а =

прог

рам

ма,

раз

д еле

нная

на

ко м

п оне

нты

программа

системный программный продукт = программная система + программный

продукт

Page 28: Технология программирования

Но сам по себе программный продукт никого не интересует.

Всех интересует...

Page 29: Технология программирования

Автоматизированная система

Система, состоящая из персонала и комплекса средств автоматизации

его деятельности, реализующая информационную технологию

выполнения установленных функций

Page 30: Технология программирования

автоматизированная система

пользователи

Page 31: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

Page 32: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

Page 33: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

Page 34: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

техническое обеспечение (железо)

Page 35: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

техническое обеспечение (железо)

программное обеспечение

Page 36: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

техническое обеспечение (железо)

программное обеспечение

информационное обеспечение

Page 37: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

техническое обеспечение (железо)

программное обеспечение

лингвистическое обеспечение

информационное обеспечение

Page 38: Технология программирования

автоматизированная система

эксплуатационный персонал

пользователи

организационное обеспечение

методическое обеспечение

техническое обеспечение (железо)

программное обеспечение

лингвистическое обеспечение

информационное обеспечение

юридическое обеспечение

Page 39: Технология программирования

Сложно?

Page 40: Технология программирования

Программирование:

● Сложность● Непредставимость● Согласованность● Изменчивость

Page 41: Технология программирования

Серебряной пули нет

Page 42: Технология программирования

Серебряной пули нет

Нет ни одного открытия ни в технологии, ни в методах управления, одно только

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

простоту разработки программного обеспечения.

Page 43: Технология программирования

Формула Уолкера Ройса

E = Env * Pers * Q * SizeProcess

гдеE – трудозатраты,Env – показатель качества окружающей среды,Pers – показатель квалификации персонала,Q – целевое значение качества продукта,Size – размер проекта,Process – показатель зрелости процесса разработки, всегда >1.

Page 44: Технология программирования

Технологический подход

- разделение процесса на элементарные операции

В случае программирования говорят о

жизненном циклепрограммной системы

Page 45: Технология программирования

Жизненный цикл ПОПроектирование

Реализация

Тестирование и исправление ошибок

1/3 1/6 1/2

Page 46: Технология программирования

Расширенный жизненный цикл● Замысел● Выявление требований● Анализ● Проектирование● Реализация● Тестирование● Внедрение● Эксплуатация

Page 47: Технология программирования