Фредерик Брукс - Мифический человеко-месяц или как создаются программные системы
- Название:Мифический человеко-месяц или как создаются программные системы
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Фредерик Брукс - Мифический человеко-месяц или как создаются программные системы краткое содержание
Эта книга - юбилейное (дополненное и исправленное) издание своего рода библии для разработчиков программного обеспечения во всем мире, написанное Бруксом еще в 1975 году. Тогда же книга была издана на русском языке и давно уже стала библиографической редкостью. В США полагают, что без прочтения книги Брукса не может состояться ни один крупный руководитель программного проекта.
Мифический человеко-месяц или как создаются программные системы - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
11.6. Lehman M., Belady L. Programming systems dynamics. Представлено на ACM SIGOPS Third Symposium on Operating Systems Principles в октябре 1971 г.
11.7. Lewis C. S. Mere Christianity. New York : Macmillan, 1960. P. 54.
Глава 12
12.1. См. также: Pomeroy J. W. A guide to programming tools and techniques // IBM Sys. J. 1972. Vol. 11, N 3. P. 234-254.
12.2. Landy B., Needham R. M. Software engineering techniques used in the development of the Cambridge Multiple-Access System // Software. 1971. Vol. 1, N 2. Apr. P. 167-173.
12.3. Corbato F. J. PL/I as a tool for system programming // Datamation. 1969. Vol. 15, N 5. May. P. 68-76.
12.4. Hopkins M. Problems of PL/I for system programming // IBM Research Report RC 3489. 1971, August 5. Yorktown Heights, N. Y.
12.5. Corbato F. J., Saltzer J. H., Clingen C. T. MULTICS – the first seven years // AFIPS Proc SJCC. 1972. Vol. 40. P. 571-582. «Лишь около полудюжины кусков, написанных на PL/I, были перепрограммированы на машинном языке, чтобы выжать максимальную скорость. Несколько программ, первоначально написанных на машинном языке, были переписаны на PL/I, чтобы облегчить их сопровождение.»
12.6. Цитирую статью Корбато (ссылка 3 настоящей главы): «PL/I уже есть, а альтернативы пока не проверены». Однако совершенно противоположный и обоснованный взгляд представлен в Henricksen J. O., Merwin R. E. Programming language efficiency in real-time software systems // AFIPS Proc SJCC. 1972. Vol. 40. P. 155-161.
12.7. Не все с этим согласны. Гарлан Миллз отмечает в частном сообщении: «Опыт начинает подсказывать мне, что в промышленном программировании за терминал нужно посадить секретаря. Программирование следует сделать более общественным занятием при общем рассмотрении участников команды, а не частным занятием».
12.8. Yarr J. Programming Experience for the Number 1 Electronic Switching System. Доклад на SJCC 1969 г.
Глава 13
13.1. Vyssotsky V. A. Common sense in designing testable software. Лекция на симпозиуме по методам отладки компьютерных программ, Chapel Hill, N. C., 1972. Большая часть лекции содержится в Hetzel W. C. (Ed.). Program Test Methods. Englewood Cliffs, N. J. : Prentice-Hall, 1972. P. 41-47.
13.2. Wirth N. Program development by stepwise refinement // CACM. 1971. Vol. 14, N 4. Apr. P. 221-227. См. также: Mills H. Top-down programming in large systems // Rustin R. (Ed.). Debugging Techniques in Large Systems. Englewood Cliffs, N. J. : Prentice-Hall, 1971. P. 41-55; Baker F. T. System quality through structured programming // AFIPS Proc FJCC. 1972. Vol. 41-I. P. 339-343.
13.3. Dahl O. J., Dijkstra E. W., Hoare C. A. R. Structured programming. London ; New York : Academic Press, 1972. В этой книге содержится наиболее полное изложение. См. также основополагающее письмо Дейкстры: GOTO statement considered harmful // CACM. 1968. Vol. 11, N 3. March. P. 147-148.
13.4. Bцhm C., Jacopini A. Flow diagrams, Turing machines, and languages with only two formation rules // CACM. 1966. Vol. 9, N 5. May. P. 366-371.
13.5. Codd E. F., Lowry E. S., McDonough E., Scalzi C. A. Multiprogramming STRETCH: Feasibility considerations // CACM. 1959. Vol. 2, N 11. Nov. P. 13-17.
13.6. Strachey C. Time sharing in large fast computers // Proc. Int. Conf. On Info. Processing. 1959, June. UNESCO. P. 336-341. См. также замечания Кодда на стр. 341, где он сообщает о ходе работы, подобной предложенной в статье Стрейчи.
13.7. Corbato F. J., Merwin-Daggett M., Daley R. C. An experimental time-sharing system // AFIPS Proc SJCC. 1962. Vol. 2. P. 335-344. Перепечатано в: Rosen S. Programming Systems and Languages. New York : McGraw-Hill, 1967. P. 683-698.
13.8. Gold M. M. A methodology for evaluating time-shared computer system usage. Ph. D. dissertation. Carngie-Mellon University, 1967. P. 100.
13.9. Gruenberger F. Program testing and validating // Datamation. 1968. Vol. 14, N 7. July. P. 39-47.
13.10. Ralston A. Introduction to Programming and Computer Science. New York : McGraw-Hill, 1971. P. 237-244.
13.11. Brooks F. P., Iverson K. E. Automatic Data Processing, System/360 Edition. New York : Wiley, 1969, P. 296-299.
13.12. Проблемы разработки спецификаций, создания и тестирования систем хорошо изложены Трапнелом Ф. М. в: Trapnell F. M. A systematic approach to the development of system programs // AFIPS Proc SJCC. 1969. Vol. 34. P. 411-418.
13.13. Для системы реального времени потребуется модель окружения. См., например: Ginzberg M. G. Notes on testing real-time system programs // IBM Sys. J. 1965. Vol. 4, N 1. P. 58-72.
13.14. Lehman M., Belady L. Programming systems dynamics. Представлено в октябре 1971 г. на ACM SIGOPS Third Symposium on Operating Systems Priciples.
Глава 14
14.1. См.: Reynolds C. H. What’s wrong with computer programming management? // Weinwurm G. F. (Ed.). On the Management of Computer Programming. Philadelphia : Auerbach, 1971. P. 35-42.
14.2. King W. R., Wilson T. A. Subjective time estimates in critical path planning — a preliminary analysis // Mgt. Sci. 1967. Vol. 13, N 5. Jan. P. 307-320; King W. R., Witterrongel M., Hezel K. D. On the analysis of critical path time estimating behavior // Mgt. Sci. 1967. Vol. 14, N 1. Sept. P. 79-84.
14.3. Более подробное обсуждение см. Brooks F. P., Iverson K. E. Automatic Data Processing, System/360 Edition. New York : Wiley, 1969. P. 428-230.
14.4. Частное сообщение.
Глава 15
15.1. Goldsteine H. H., Neumann J. von. Planning and coding problems for en electronic computing instrument. Part II. Vol. 1. Отчет, подготовленный для U.S. Army Ordinance Department, 1947. Перепечатано в: Neumann J. von. Collected Works // Taub A. H. (Ed.). Vol. V. New York : Macmillan. P. 80-151.
15.2. Частное сообщение, 1957. Доказательство опубликовано в: Iverson K. E. The use of APL in Teaching. Yorktown, N.Y. : IBM Corp., 1969.
15.3. Другой список приемов для PL/I опубликован в: Walter A. B., Bohl M. From better to best — tips for good programming // Software Age. 1969. Vol. 3, N 11. Nov. P. 46-50. Эти же приемы можно использовать в Algol и даже Fortran. У Д. Е. Ланга из университета штата Колорадо есть написанная на Fortran программа форматирования под названием STYLE, с помощью которой можно получить такой результат. См. также: McCracken D. D., Weinberg G. M. How to write a readable FORTRAN program // Datamation. 1972. Vol. 18, N 10. Oct. P 73-77.
Глава 16
16.1. Очерк, озаглавленный «No Silver Bullet», взят из: Information Processing 1986, the Proceedings of the IFIP Tenth World Computing Conference под редакцией Х.-Й. Куглера, 1986, стр. 1069-1076. Перепечатано с любезного разрешения IFIP и Elsevier Science B. V., Амстердам, Нидерланды.
16.2. Parnas D. L. Designing software for ease of extension and contraction // IEEE Trans on SE. 1979. Vol. 5, N 2. March. P. 128-138.
16.3. Booch G. Object-oriented design // Software Engineering with Ada. Menlo Park, Calif. : Benjamin/Cummings, 1983.
16.4. Special Issue on Artificial Intelligence and Software Engineering // Mostow J. (Ed.). IEEE Trans. on SE. 1985. Vol. 11, N 11. Nov.
16.5. Parnas D. L. Software aspects of strategic defense systems // Communications of the ACM. 1985. Vol. 28, N 12. Dec. P. 1326-1335. См. также: American Scientist. 1985. Vol. 73, N 5. Sept.-Oct. P. 432-440.
16.6. Balzer R. A 15-year perspective on automatic programming в Mostow, цит. соч.
16.7. Mostow, см. примечание 4.
16.8. Parnas, 1985, см. примечание 5.
16.9. Raeder G. A survey of current graphical programming techniques // Grafton R. B., Ichikawa T. (Eds.). Special Issue on Visual Programming // Computer. 1985. Vol. 18, N 8. Aug. P. 11-25.
16.10. Тема обсуждается в главе 15 настоящей книги.
16.11. Mills H. Top-down programming in large systems // Rustin R. (Ed.). Debugging Techniques in Large Systems. Englewood Cliffs, N. J. : Prentice-Hall, 1971.
16.12. Boehm B. W. A spiral model of software development and enhancement // Computer. 1985. Vol. 20, N 5. May, P. 43-57.
Материал, цитируемый без ссылки, взят из частных сообщений.
1. Brooks F. P. No silver bullet — essence and accidents of software engineering // Kugler H. J. (Ed.). Information Processing 86. Amsterdam : Elsevier Science, North Holland, 1986. P. 1069-1076.
2. Brooks F. P. No silver bullet — essence and accidents of software engineering // Computer. 1987. Vol. 20, N 4. Apr. P. 10-19.
3. Несколько писем в ответ появились в июльском 1987 года выпуске «Computer». Особенно приятно заметить, что в то время как «СПН» не получила наград, Брюс М. Сквирски (Bruce M. Skwiersky) получил награду за лучший обзор, опубликованный в «Computer Reviews» в 1988 году. В редакционной статье Е. А. Вайса в «Computer Reviews» (июнь, 1988) на с. 283-284 объявляется о награде и перепечатывается обзор Сквирски. В обзоре есть существенная ошибка: вместо «шестикратно» должно быть «10[6].
4. «По Аристотелю и философии схоластиков, акциденция есть качество, которое принадлежит вещи не благодаря ее важной или существенной природе, а возникает в ней в результате действия иных причин». Webster’s New International Dictionary of the English Language, 2d ed., Springfield, Mass. : G. C. Merriam, 1960.
5. Sayers D. L. The Mind of the Market. New York : Harcourt, Brace, 1941.
6. Glass R. L., Conger S. A. Research software talks : Intellectual or clerical? // Information or Management. 1992. Vol. 23, N 4. Авторы сообщают, что разработка технических требований к программному обеспечению на 80% интеллектуальная и на 20% — канцелярская работа. Fjelstadt и Hamlen (1979) получили фактически такие же результаты для поддержки прикладных программ. Мне неизвестны попытки изменить эту долю для всей задачи от начала до конца.
Читать дальшеИнтервал:
Закладка: