Мифический человеко-месяц или как создаются программные системы
Мифический человеко-месяц или как создаются программные системы читать книгу онлайн
Эта книга - юбилейное (дополненное и исправленное) издание своего рода библии для разработчиков программного обеспечения во всем мире, написанное Бруксом еще в 1975 году. Тогда же книга была издана на русском языке и давно уже стала библиографической редкостью. В США полагают, что без прочтения книги Брукса не может состояться ни один крупный руководитель программного проекта.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
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) получили фактически такие же результаты для поддержки прикладных программ. Мне неизвестны попытки изменить эту долю для всей задачи от начала до конца.
7. Herzberg F., Mausner B., Sayderman B. B. The Motivation to Work. 2nded. London : Wiley, 1959.
8. Cox B. J. There is a silver bullet // Byte. 1990. Oct. P. 209-218.
9. Harel D. Biting the silver bullet : Toward a brighter future for system development // Computer. 1992. Jan. P. 8-20.
10. Parnas D. L. Software aspects of strategic defense systems // Communication of the ACM. 1985. Vol. 28, N 12. Dec. P. 1326-1335.
11. Turski W. M. And no philosophers’ stone, either // Kugler H. J. (Ed.). Information Processing 86. Amsterdam : Elsevier Science, North Holland, 1986. P. 1077-1080.
12. Glass R. L., Conger S. A. Research software tasks : Intellectual or clerical? // Information and Management, 1992. Vol. 23, N 4. P. 183-192.
13. Review of Electronic Digital Computers, Proceedings of a Joint AIEEIRE Computer Conference (Philadelphia, Dec. 10-12, 1951). New York : American Institute of Electrical Engineers. P. 13-20.
14. Ibid. Pp. 36, 68, 71, 97.
15. Proceedings of the Eastern Joint Computer Conference (Washington, Dec. 8-10, 1953). New York : Institute of Electrical Engineers. P. 45-47.
16. Proceedings of the 1955 Western Joint Computer Conference (Los Angeles, March 1-3, 1955). New York : Institute of Electrical Engineers.
17. Everett R. R., Zraket C. A., Bennington H. D. SAGE — a data processing system for air defense // Proceedings of the Eastern Joint Computer Conference (Washington, Dec. 11-13, 1957). New York : Institute of Electrical Engineers.
18. Harel D., Lachover H., Haamad A., Pnueli A., Politi M., Sherman R., Shtul-Traurig A. Statemate: A working environment for the development of complex reactive systems // IEEE Trans. on SE. 1990. Vol. 16, N 4. P. 403-444.
19. Jones C. Assessment and Control of Software Risks. Engltwood Cliffs, N. J. : Prentice-Hall, 1994. P. 619.
20. Coqui H. Corporate survival : The software dimension. Focus ’89, Cannes, 1989.
21. Coggins J. M. Designing C++ libraries // C++ Journal. 1990. Vol. 1, N 1. June. P. 25-32.
22. В будущем времени. Мне неизвестны какие-либо сообщения о результатах пятого использования.
23. Jones, см. примеч. 19. P. 604.
24. Huang Weigiao. Industrializing software production // Proceedings ACM 1988 Computer Science Conference. 1988. Atlanta. Боюсь, что при такой организации будет недостаточный личный профессиональный рост.
25. Весь сентябрьский 1994 года номер IEEE Software посвящен повторному использованию.
26. Jones, см. примеч. 19. P. 323.
27. Jones, см. примеч. 19. P. 329.
28. Yourdon E. Decline and Fall of the American Programmer. Englewood Cliffs, N. J. : Yourdon Press, 1992. P. 221.
29. Glass R. L. Glass (колонка) // System Development. 1988. Jan. P. 4-5.
Глава 18
18.1. Boehm B. W. Software Engineering Economics. Englewood Cliffs, N. J. : Prentice-Hall, 1981. P. 81-84.
18.2. McCarthy J. 21 Rules for Delivering Great Software on Time // Software World USA Conference, Washington (Sept. 1994).
Глава 19
Материал, цитируемый без ссылки, взят из частных сообщений.
19.1. По этой болезненной теме см. также: Niklaus Wirth. A plea for lean software // Computer. 1995. Vol. 28, N 2. Feb. P. 64-68.
19.2. Coleman D. Word 6.0 packs in features; update slowed by baggage // MacWeek. 1994. Vol. 8, N 38. Sept. 26. P. 1.
19.3. Опубликовано много обзоров частотных характеристик команд машинного языка и языка программирования, сделанных после выпуска. См., например: Hennessy J., Patterson D. Computer Architecture. Эти частотные данные очень полезны для создания последующих продуктов, хотя никогда в точности не применимы. Мне неизвестны публикации оценок, полученных до разработки продукта, а тем более — сравнений априорных данных с апостериорными. Кен Брукс полагает, что доски объявлений в Интернете предоставляют теперь дешевый способ запросить данные у предполагаемых пользователей нового продукта, даже несмотря на то что отвечают только желающие.
19.4. Conklin J., Begeman M. gIBIS : A hypertext Tool for Exploratory Policy Descussion // ACM Transactions on Office Information Systems. 1988. Oct. P. 303-331.
19.5. Englebart D., English W. A research center for augmenting human intellect // AFIPS Conference Proceedings, Fall Joint Computer Conference. San Francisco (Dec. 9-11, 1968). P. 395-410.
19.6. Apple Computer, Inc. Macintosh Human Interface Guidelines. Reading, Mass. : Addison-Wesley, 1992.
19.7. Кажется, шина Apple Desk Top Bus могла бы аппаратно поддерживать две мыши, но операционная система такой возможности не предоставляет.
19.8. Royce W. W. Managing the development of large software systems: Concepts and techniques // Proceedings, WESCON (Aug., 1970). Перепечатано в ICSE 9 Proceedings. Ни Ройс, ни другие не считали, что можно завершить процесс разработки, не пересматривая начальных документов. Модель была предложена в качестве идеальной. См.: Parnas D. L., Clements P. C. A rational design process : How and why to fake it // IEEE Transactions on Software Engineering. 1986. Vol. SE-12, N 2. Feb. P. 251-257.