Программное обеспечение и его разработка
Программное обеспечение и его разработка читать книгу онлайн
Автор книги — американский специалист по программированию, один из руководителей фирмы IBM, в своей книге делает попытку изложить общие проблемы создания программного обеспечения, его сопровождения и использования. Особенно подробно рассматриваются все фазы разработки программ разных типов. Изложение ясное, удачно иллюстрировано примерами. Для программистов разной квалификации и пользователей ЭВМ. fb2: ВНИМАНИЕ. В тексте присутствуют таблицы. Рекомендуется читать файл с помощью программы, поддерживающей их отображение. С учётом содержания таблиц — на достаточно большом экране.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Множество чисел, интерпретируемых как чисто случайные.
Рис. 6.18 заимствован из исследования Правительства США, посвященного изучению соотношения числа строк сдаваемой исходной программы (ЧССИП) и производительности (СТП/ЧМ). Заметьте, что по обеим осям разметка нанесена в логарифмическом масштабе. Единственное, что показывают эти данные, это, что никаких полезных оценок на их основании сделать нельзя. Разнообразие их просто поразительно.
Рисунок полезен только тем, что показывает отсутствие у нас достаточного количества данных. На этом графике для программ размером в 100 00 °СТП внутрь области, ограниченной линиями, проведенными на уровне отклонений от — а до +а, попали проекты с коэффициентами и 80 и 800 ЧССИП/ЧМ. Такой разброс не может быть полезным для прогнозирования!
Предупреждение. Использовать строки программ как меру производительности труда и метод оценки в настоящее время просто абсурдно. Неизвестно, каким образом можно сопоставлять реализуемую функцию и строки программы. Если руководство настаивает на повышении скорости создания строк программы, программист всегда может написать «рыхлую», «пухлую» программу, которая сделает хорошими все показатели по производительности труда, но которая абсолютно не подходит для настоящего дела, так как для выполнения такой программы может понадобиться слишком много памяти и процессорного времени. Мне встречалось много таких «хороших» руководителей, требующих от каждого программиста как можно больше строк программ в месяц.
Желательно, чтобы отчеты по проектам выглядели как-нибудь так:
Название: Программа наведения ракет: с математическим уклоном; загружается с перекрытием; критическая по времени.
Функции: Расчет курса, скорости и всех управляющих сигналов, необходимых для ведения ракеты к точке перехвата другой ракеты.
Не включено в программу: | а) Отслеживание всех ракет; делается другой программой. | |
б) Прием и передача всех сигналов; делается где-то в другом месте. | ||
Всего выполняемых стп — | 36 441 | |
в рабочей программе | ||
Написано СТП (выполняемых) ЯВУ | 7014 | |
машинный язык | 1314 | |
Не написано, но выполняется | 8424 | |
Человеко-месяцев (прямой подсчет) | 340 человеко-месяцев | |
Программы [38], написанные, но не сохраненные (выброшенные) | 26 584 | |
8144 Тесты | ||
11 240 имитаторы | ||
3100 моделирование | ||
4100 проч. | ||
Программы [39], написанные и оставленные, но не выполняемые | 50 445 всего | |
22 814 тестовые программы последней версии | ||
18 416 примечания | ||
1114 моделирование | ||
8101 варианты данных | ||
Время от начала работы до сдачи | 18 месяцев | |
Время первой итерации | Составления спецификации требований | 4 месяца |
Составления проектной документации | 8 месяцев |
Этот пример приведен здесь для иллюстрации некоторых принципов, изложенных на предыдущих страницах. Некоторых, но отнюдь не всех. В полную отчетную форму необходимо включать подробные ответы на многочисленные вопросы, в которых, как мы уже установили, мы нуждаемся — какой тип вычислительной машины использовался для трансляции и т. п.
В результате всех этих усилий мы пришли к тому, что никто не способен предсказывать производительность труда для выбранного случайным образом большого программного проекта. Слишком уж много параметров, слишком много качественных факторов, оказывающих значительное воздействие на исход дела. Мы можем оказаться недалеко от истины только для некоторых работ, которые ведутся проверенной группой в хорошо известной прикладной области.
Ниже приводятся некоторые промежуточные результаты замеров, проводившихся в IBM над программными проектами. Работы сгруппированы на основе предсказаний их руководителей по степени трудности. Посмотрите, какие наблюдаются грандиозные различия в производительности труда, измеренной в строках текста программ (СТП) в месяц.
Достигнутая производительность труда | |
---|---|
Маленький/легкий [40] (300–900) | |
1 | 517 |
2 | 615 |
Средний/легкий * (200–600) | |
3 | 199 |
4 | 39 |
5 | 100 |
6 | 286 |
7 | 524 |
8 | 28 |
9 | 109 |
10 | 167 |
11 | 274 |
12 | 1071 |
Средний/трудный* (100–300) | |
13 | 562 |
14 | 403 |
15 | 128 |
16 | 81 |
17 | 68 |
18 | 400 |
19 | 253 |
20 | 227 |
21 | 250 |
22 | 163 |
23 | 198 |
Большой/трудный * (50–150) | |
24 | 186 |
25 | 68 |
26 | 284 |
27 | 182 |
28 | 229 |
29 | 46 |
30 | 120 |