No Silver Bullet - Essence and Accidents of Software Engineering
This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.
KHÔNG CÓ VIÊN ĐẠN BẠC –
BẢN CHẤT VÀ NHỮNG SỰ CỐ CỦA KỸ THUẬT PHẦN MỀM
Frederick P. Brooks Jr. Giáo sư Khoa học Máy tính Kenan University of North Carolina at Chapel Hill New West Hall 035A Chapel Hill, North Carolina 27514 USA
Tóm tắt
Mọi hoạt động xây dựng phần mềm đều bao gồm các nhiệm vụ bản chất, là việc tạo dựng các cấu trúc khái niệm phức tạp tạo nên thực thể phần mềm trừu tượng, và các nhiệm vụ ngẫu nhiên, là sự biểu diễn các thực thể trừu tượng này trong các ngôn ngữ lập trình và sự ánh xạ chúng sang các ngôn ngữ máy trong các ràng buộc về không gian và tốc độ. Phần lớn những tiến bộ lớn trong năng suất phần mềm trước đây đến từ việc loại bỏ các rào cản nhân tạo khiến các nhiệm vụ ngẫu nhiên trở nên khó khăn quá mức, chẳng hạn như các hạn chế nghiêm ngặt về phần cứng, các ngôn ngữ lập trình vụng về, thiếu thời gian máy. Bao nhiêu phần trong những gì các kỹ sư phần mềm hiện nay làm vẫn còn dành cho cái ngẫu nhiên, trái ngược với cái bản chất? Trừ khi nó chiếm hơn 9/10 toàn bộ nỗ lực, việc thu nhỏ mọi hoạt động ngẫu nhiên xuống thời gian bằng không sẽ không mang lại sự cải thiện theo cấp độ lớn.
Vì vậy, có vẻ như thời điểm đã đến để giải quyết những phần bản chất của nhiệm vụ phần mềm, những phần liên quan đến việc tạo dựng các cấu trúc khái niệm trừu tượng có độ phức tạp lớn. Tôi đề xuất:
• khai thác thị trường đại chúng để tránh xây dựng những gì có thể mua được. • sử dụng tạo mẫu nhanh như một phần của một lần lặp có kế hoạch trong việc thiết lập các yêu cầu phần mềm. • phát triển phần mềm một cách hữu cơ, bổ sung ngày càng nhiều hàm vào các hệ thống khi chúng được chạy, sử dụng và kiểm thử. • xác định và phát triển những nhà thiết kế khái niệm vĩ đại của thế hệ đang lên.
TR86-020
September 1986
Frederick P. Brooks, Jr.
The University of North Carolina at Chapel Hill Department of Computer Science CB#3175, Sitterson Hall Chapel Hill, NC 27599-3175
UNC is an Equal Opportunity/Affirmative Action Institution.
No Silver Bullet Essence and Accidents of Software Engineering
September, 1986 Doc. 860905 fpb TR86-020
Frederick P. Brooks, Jr.
Department of Computer Science University of North Carolina Chapel Hill, North Carolina 27514
NO SILVER BULLET –
ESSENCE AND ACCIDENTS OF SOFTWARE ENGINEERING
Frederick P. Brooks Jr. Kenan Professor of Computer Science University of North Carolina at Chapel Hill New West Hall 035A Chapel Hill, North Carolina 27514 USA
Abstract
All software construction involves essential tasks, the fashioning of the complex conceptual structures that compose the abstract software entity, and accidental tasks, the representation of these abstract entities in programming languages and the mapping of these onto machine languages within space and speed constraints. Most of the big past gains in software productivity have come from removing artificial barriers that have made the accidental tasks inordinately hard, such as severe hardware constraints, awkward programming languages, lack of machine time. How much of what software engineers now do is still devoted to the accidental, as opposed to the essential? Unless it is more than 9/10 of all effort, shrinking all the accidental activities to zero time will not give an order of magnitude improvement.
Therefore it appears that the time has come to address the essential parts of the software task, those concerned with fashioning abstract conceptual structures of great complexity. I suggest:
• exploiting the mass market to avoid constructing what can be bought. • using rapid prototyping as part of a planned iteration in establishing software requirements. • growing software organically, adding more and more function to systems as they are run, used, and tested. • identifying and developing the great conceptual designers of the rising generation.
This section is missing here.
1 INTRODUCTION
This section is missing here.
2 DOES IT HAVE TO BE HARD? – ESSENTIAL DIFFICULTIES
This section is missing here.
3 PAST BREAKTHROUGHS SOLVED ACCIDENTAL DIFFICULTIES
This section is missing here.
4 HOPES FOR THE SILVER
This section is missing here.
5 PROMISING ATTACKS ON THE CONCEPTUAL ESSENCE
This section is missing here.
Acknowledgments
References
- {1} Parnas, D.L., Designing Software for Ease of Extension and Contraction, IEEE Trans. on SE, vol. 5, no. 2, March, 1979, 128-138.
- {2} Booch, G., Object-Oriented Design, Software Engineering with Ada, Benjamin/Cummings, Menlo Park, CA, 1983.
- {3} Mostow, J., editor, Special Issue on Artificial Intelligence and Software Engineering, IEEE Trans. on SE, vol. 11, no. 11, November, 1985.
- {4} Parnas, D.L., Software Aspects of Strategic Defense Systems, American Scientist, November, 1985.
- {5} Balzer, R., A 15-Year Perspective on Automatic Programming, in Mostow, Special Issue on Artificial Intelligence and Software Engineering, IEEE Trans. on SE, vol. 11, no. 11, November, 1985, 1257-1267.
- {6} Mostow, J., editor, Special Issue on Artificial Intelligence and Software Engineering, IEEE Trans. on SE, vol. 11, no. 11, November 1985.
- {7} Balzer, R., A 15-Year Perspective on Automatic Programming, in Mostow, Special Issue on Artificial Intelligence and Software Engineering, IEEE Trans. on SE, vol. 11, no. 11, November, 1985, 1257-1267.
- {8} Parnas, D.L., Software Aspects of Strategic Defense Systems, American Scientist, November, 1985.
- {9} Graphton, R.B. & T. Ichikawa, eds., Special Issue on Visual Programming, Computer, vol. 18, no. 8, August, 1985.
- {10} Raeder, G., A Survey of Current Graphical Programming Techniques, in Grafton & Ichikawa, eds., Special Issue on Visual Programming, Computer, vol. 18, no. 8, August, 1985, 11-25.
- {11} Brooks, F.P., The Mythical Man-Month, Addison Wesley Publishing Co., New York, 1975, Chapter 14.
- {12} Mills, H.D., Top-Down Programming in Large Systems, in Debugging Techniques in Large Systems, R. Ruskin ed., Prentice-Hall, 1971.
- {13} Boehm, B.W., A Spiral Model of Software Development and Enhancement, TRW Technical Report, 1985.
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into Tiếng Việt by gpt-5, against glossary version 6. Translated from the English.
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.