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

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

Jun 16, 2015

Download

Documents

Yury Kupriyanov

Вводная лекция курса "Технология программирования", МИЭМ, 2011
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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: Технология программирования