|
Совершенный код. Совершенный код. Мастер-класс. Стив Макконнелл. Руководство по стилю программирования и конструированию по
Библиография Newcomer, Joseph M. 2000. «Optimization: Your Worst Enemy,» May 2000, www.flounder. com/ optimization.htm. Norcio, A. F. 1982. «Indentation, Documentation and Programmer Comprehension.» Proceedings: Human Factors in Computer Systems, March 15–17, 1982, Gaithersburg, MD: 118–20. Norman, Donald A. 1988. The Psychology of Everyday Things. New York, NY: Basic Books. (Also published in paperback as The Design of Everyday Things. New York, NY: Doubleday, 1990.) Oman, Paul and Shari Lawrence Pfleeger, eds. 1996. Applying Software Metrics. Los Alamitos, CA: IEEE Computer Society Press. Oman, Paul W., and Curtis R. Cook. 1990a. «The Book Paradigm for Improved Maintenance.» IEEE Software, January, 39–45. Oman, Paul W., and Curtis R. Cook. 1990b. «Typographic Style Is More Than Cosmetic.» Commu% nications of the ACM 33, no. 5 (May): 506–20. Ostrand, Thomas J., and Elaine J. Weyuker. 1984. «Collecting and Categorizing Software Error Data in an Industrial Environment.» Journal of Systems and Software 4, no. 4 (November): 289–300. Page#Jones, Meilir. 2000. Fundamentals of Object%Oriented Design in UML. Boston, MA: Addison# Wesley. Page#Jones, Meilir. 1988. The Practical Guide to Structured Systems Design. Englewood Cliffs, NJ: Yourdon Press. Parikh, G., and N. Zvegintzov, eds. 1983. Tutorial on Software Maintenance. Los Alamitos, CA: IEEE Computer Society Press. Parikh, Girish. 1986. Handbook of Software Maintenance. New York, NY: John Wiley & Sons. Parnas, David L. 1972. «On the Criteria to Be Used in Decomposing Systems into Modules.» Communications of the ACM 5, no. 12 (December): 1053–58. Parnas, David L. 1976. «On the Design and Development of Program Families.» IEEE Transactions on Software Engineering SE#2, 1 (March): 1–9. Parnas, David L. 1979. «Designing Software for Ease of Extension and Contraction.» IEEE Trans% actions on Software Engineering SE#5, no. 2 (March): 128–38. Parnas, David L. 1999. ACM Fellow Profile: David Lorge Parnas,» ACM Software Engineering Notes, May 1999, 10–14. Parnas, David L., and Paul C. Clements. 1986. «A Rational Design Process: How and Why to Fake It.» IEEE Transactions on Software Engineering SE#12, no. 2 (February): 251–57. Parnas, David L., Paul C. Clements, and D. M. Weiss. 1985. «The Modular Structure of Complex Systems.» IEEE Transactions on Software Engineering SE#11, no. 3 (March): 259–66. Perrott, Pamela. 2004. Private communication. Peters, L. J., and L. L. Tripp. 1976. «Is Software Design Wicked» Datamation, Vol. 22, No. 5 (May 1976), 127–136. Peters, Lawrence J. 1981. Handbook of Software Design: Methods and Techniques. New York, NY: Yourdon Press. Peters, Lawrence J., and Leonard L. Tripp. 1977. «Comparing Software Design Methodologies.» Datamation, November, 89– 94. Peters, Tom. 1987. Thriving on Chaos: Handbook for a Management Revolution. New York, NY: Knopf. Petroski, Henry. 1994. Design Paradigms: Case Histories of Error and Judgment in Engineering. Cambridge, U.K.: Cambridge University Press. Pietrasanta, Alfred M. 1990. «Alfred M. Pietrasanta on Improving the Software Process.» Software Engineering: Tools, Techniques, Practices 1, no. 1 (May/ June): 29–34. Библиография 857 Pietrasanta, Alfred M. 1991a. «A Strategy for Software Process Improvement.» Ninth Annual Pacific Northwest Software Quality Conference, October 7–8, 1991. Oregon Convention Center, Portland, OR Pietrasanta, Alfred M. 1991b. «Implementing Software Engineering in IBM.» Keynote address. Ninth Annual Pacific Northwest Software Quality Conference, October 7– 8, 1991. Oregon Convention Center, Portland, OR. Pigoski, Thomas M. 1997. Practical Software Maintenance. New York, NY: John Wiley & Sons. Pirsig, Robert M. 1974. Zen and the Art of Motorcycle Maintenance: An Inquiry into Values. William Morrow. Plauger, P. J. 1988. «A Designer’s Bibliography.» Computer Language, July, 17–22. Plauger, P. J. 1993. Programming on Purpose: Essays on Software Design. New York, NY: Prentice Hall. Plum, Thomas. 1984. C Programming Guidelines. Cardiff, NJ: Plum Hall. Polya, G. 1957. How to Solve It: A New Aspect of Mathematical Method, 2d ed. Princeton, NJ: Princeton University Press. Post, Ed. 1983. «Real Programmers Don’t Use Pascal,» Datamation, July 1983, 263– 265. Prechelt, Lutz. 2000. «An Empirical Comparison of Seven Programming Languages,» IEEE Computer, October 2000, 23–29. Pressman, Roger S. 1987. Software Engineering: A Practitioner’s Approach. New York, NY: McGraw#Hill. Pressman, Roger S. 1988. Making Software Engineering Happen: A Guide for Instituting the Technology. Englewood Cliffs, NJ: Prentice Hall. Putnam, Lawrence H. 2000. «Familiar Metric Management – Effort, Development Time, and Defects Interact.» Downloadable from www.qsm.com. Putnam, Lawrence H., and Ware Myers. 1992. Measures for Excellence: Reliable Software On Time, Within Budget. Englewood Cliffs, NJ: Yourdon Press, 1992. Putnam, Lawrence H., and Ware Myers. 1997. Industrial Strength Software: Effective Management Using Measurement. Washington, DC: IEEE Computer Society Press. Putnam, Lawrence H., and Ware Myers. 2000. «What We Have Learned.» Downloadable from www.qsm.com, June 2000. Raghavan, Sridhar A., and Donald R. Chand. 1989. «Diffusing Software#Engineering Methods.» IEEE Software, July, 81–90. Ramsey, H. Rudy, Michael E. Atwood, and James R. Van Doren. 1983. «Flowcharts Versus Program Design Languages: An Experimental Comparison.» Communications of the ACM 26, no. 6 (June): 445–49. Ratliff, Wayne. 1987. Interview in Solution System. Raymond, E. S. 2000. «The Cathedral and the Bazaar,» www.catb.org/esr/writings/cathedral%bazaar. Raymond, Eric S. 2004. The Art of Unix Programming. Boston, MA: Addison#Wesley. Rees, Michael J. 1982. «Automatic Assessment Aids for Pascal Programs.» ACM Sigplan Notices 17, no. 10 (October): 33–42. Reifer, Donald. 2002. «How to Get the Most Out of Extreme Programming/Agile Methods,» Proceedings, XP/Agile Universe 2002. New York, NY: Springer; 185–196. Reingold, Edward M., and Wilfred J. Hansen. 1983. Data Structures. Boston, MA: Little, Brown. Rettig, Marc. 1991. «Testing Made Palatable.» Communications of the ACM 34, no. 5 (May): 25–29. Riel, Arthur J. 1996. Object%Oriented Design Heuristics. Reading, MA: Addison#Wesley. Rittel, Horst, and Melvin Webber. 1973. «Dilemmas in a General Theory of Planning.» Policy Sciences 4: 155–69.
858 Библиография Robertson, Suzanne, and James Robertson, 1999. Mastering the Requirements Process. Reading, MA: Addison#Wesley. Rogers, Everett M. 1995. Diffusion of Innovations, 4th ed. New York, NY: The Free Press. Rombach, H. Dieter. 1990. «Design Measurements: Some Lessons Learned.» IEEE Software, March, 17–25. Rubin, Frank. 1987. «‘GOTO Considered Harmful’ Considered Harmful.» Letter to the editor. Communications of the ACM 30, no. 3 (March): 195–96. Follow#up letters in 30, no. 5 (May 1987): 351–55; 30, no. 6 (June 1987): 475–78; 30, no. 7 (July 1987): 632–34; 30, no. 8 (August 1987): 659–62; 30, no. 12 (December 1987): 997, 1085. Sackman, H., W. J. Erikson, and E. E. Grant. 1968. «Exploratory Experimental Studies Comparing Online and Offline Programming Performance.» Communications of the ACM 11, no. 1 (January): 3–11. Schneider, G. Michael, Johnny Martin, and W. T. Tsai. 1992. «An Experimental Study of Fault Detection in User Requirements Documents,» ACM Transactions on Software Engineering and Methodology, vol 1, no. 2, 188–204. Schulmeyer, G. Gordon. 1990. Zero Defect Software. New York, NY: McGraw#Hill. Sedgewick, Robert. 1997. Algorithms in C, Parts 1%4, 3d ed. Boston, MA: Addison#Wesley. Sedgewick, Robert. 2001. Algorithms in C, Part 5, 3d ed. Boston, MA: Addison#Wesley. Sedgewick, Robert. 1998. Algorithms in C++, Parts 1%4, 3d ed. Boston, MA: Addison#Wesley. Sedgewick, Robert. 2002. Algorithms in C++, Part 5, 3d ed. Boston, MA: Addison#Wesley. Sedgewick, Robert. 2002. Algorithms in Java, Parts 1%4, 3d ed. Boston, MA: Addison#Wesley. Sedgewick, Robert. 2003. Algorithms in Java, Part 5, 3d ed. Boston, MA: Addison#Wesley. SEI 1995. The Capability Maturity Model: Guidelines for Improving the Software Process, Software Engineering Institute, Reading, MA: Addison#Wesley, 1995. SEI, 2003. «Process Maturity Profile: Software CMM®, CBA IPI and SPA Appraisal Results: 2002 Year End Update,» Software Engineering Institute, April 2003. Selby, Richard W., and Victor R. Basili. 1991. «Analyzing Error#Prone System Structure.» IEEE Transactions on Software Engineering SE#17, no. 2 (February): 141–52. SEN 1990. «Subsection on Telephone Systems,» Software Engineering Notes, April 1990, 11–14. Shalloway, Alan, and James R. Trott. 2002. Design Patterns Explained. Boston, MA: Addison#Wesley. Sheil, B. A. 1981. «The Psychological Study of Programming.» Computing Surveys 13, no. 1 (March): 101–20. Shen, Vincent Y., et al. 1985. «Identifying Error#Prone Software—An Empirical Study.» IEEE Transactions on Software Engineering SE#11, no. 4 (April): 317–24. Sheppard, S. B., et al. 1978. «Predicting Programmers’ Ability to Modify Software.» TR 78%388100% 3, General Electric Company, May. Sheppard, S. B., et al. 1979. «Modern Coding Practices and Programmer Performance.» IEEE Computer 12, no. 12 (December): 41–49. Shepperd, M., and D. Ince. 1989. «Metrics, Outlier Analysis and the Software Design Process.» Information and Software Technology 31, no. 2 (March): 91–98. Shirazi, Jack. 2000. Java Performance Tuning. Sebastopol, CA: O’Reilly & Associates. Shlaer, Sally, and Stephen J. Mellor. 1988. Object Oriented Systems Analysis—Modeling the World in Data. Englewood Cliffs, NJ: Prentice Hall. Shneiderman, Ben, and Richard Mayer. 1979. «Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results.» International Journal of Computer and Information Sciences 8, no. 3: 219–38.
Библиография 859 Shneiderman, Ben. 1976. «Exploratory Experiments in Programmer Behavior.» International Journal of Computing and Information Science 5: 123–43. Shneiderman, Ben. 1980. Software Psychology: Human Factors in Computer and Information Systems. Cambridge, MA: Winthrop. Shneiderman, Ben. 1987. Designing the User Interface: Strategies for Effective Human#Computer Interaction. Reading, MA: Addison#Wesley. Shull, et al. 2002. «What We Have Learned About Fighting Defects,» Proceedings, Metrics 2002. IEEE; 249–258. Simon, Herbert. 1996. The Sciences of the Artificial, 3d ed. Cambridge, MA: MIT Press. Simon, Herbert. The Shape of Automation for Men and Management. Harper and Row, 1965. Simonyi, Charles, and Martin Heller. 1991. «The Hungarian Revolution.» BYTE, August, 131–38. Smith, Connie U., and Lloyd G. Williams. 2002. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Boston, MA: Addison#Wesley. Software Productivity Consortium. 1989. Ada Quality and Style: Guidelines for Professional Progra% mmers. New York, NY: Van Nostrand Reinhold. Soloway, Elliot, and Kate Ehrlich. 1984. «Empirical Studies of Programming Knowledge.» IEEE Transactions on Software Engineering SE#10, no. 5 (September): 595–609. Soloway, Elliot, and Sitharama Iyengar, eds. 1986. Empirical Studies of Programmers. Norwood, NJ: Ablex. Soloway, Elliot, Jeffrey Bonar, and Kate Ehrlich. 1983. «Cognitive Strategies and Looping Constructs: An Empirical Study.» Communications of the ACM 26, no. 11 (November): 853–60. Solution Systems. 1987. World#Class Programmers’ Editing Techniques: Interviews with Seven Programmers. South Weymouth, MA: Solution Systems. Sommerville, Ian. 1989. Software Engineering, 3d ed. Reading, MA: Addison#Wesley. Spier, Michael J. 1976. «Software Malpractice—A Distasteful Experience.» Software—Practice and Experience 6: 293–99. Spinellis, Diomidis. 2003. Code Reading: The Open Source Perspective. Boston, MA: Addison#Wesley. SPMN. 1998. Little Book of Configuration Management. Arlington, VA; Software Program Managers Network. Starr, Daniel. 2003. «What Supports the Roof?» Software Development. July 2003, 38–41. Stephens, Matt. 2003. «Emergent Design vs. Early Prototyping,» May 26, 2003, www.softwarereality.com/ design/early_prototyping.jsp. Stevens, Scott M. 1989. «Intelligent Interactive Video Simulation of a Code Inspection.» Communi% cations of the ACM 32, no. 7 (July): 832–43. Stevens, W., G. Myers, and L. Constantine. 1974. «Structured Design.» IBM Systems Journal 13, no. 2 (May): 115–39. Stevens, Wayne. 1981. Using Structured Design. New York, NY: John Wiley & Sons. Stroustrup, Bjarne. 1997. The C++ Programming Language, 3d ed. Reading, MA: Addison#Wesley. Strunk, William, and E. B. White. 2000. Elements of Style, 4th ed. Pearson. Sun Microsystems, Inc. 2000. «How to Write Doc Comments for the Javadoc Tool,» 2000. Available from http://java.sun.com/j2se/javadoc/writingdoccomments/. Sutter, Herb. 2000. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions. Boston, MA: Addison#Wesley. Tackett, Buford D., III, and Buddy Van Doren. 1999. «Process Control for Error Free Software: A Software Success Story,» IEEE Software, May 1999.
860 Библиография Tenner, Edward. 1997. Why Things Bite Back: Technology and the Revenge of Unintended Consequences. Vintage Books. Tenny, Ted. 1988. «Program Readability: Procedures versus Comments.» IEEE Transactions on Software Engineering SE#14, no. 9 (September): 1271–79. Thayer, Richard H., ed. 1990. Tutorial: Software Engineering Project Management. Los Alamitos, CA: IEEE Computer Society Press. Thimbleby, Harold. 1988. «Delaying Commitment.» IEEE Software, May, 78–86. Thomas, Dave, and Andy Hunt. 2002. «Mock Objects,» IEEE Software, May/June 2002. Thomas, Edward J., and Paul W. Oman. 1990. «A Bibliography of Programming Style.» ACM Sigplan Notices 25, no. 2 (February): 7–16. Thomas, Richard A. 1984. «Using Comments to Aid Program Maintenance.» BYTE, May, 415–22. Tripp, Leonard L., William F. Struck, and Bryan K. Pflug. 1991. «The Application of Multiple Team Inspections on a Safety#Critical Software Standard,» Proceedings of the 4th Software Engineering Standards Application Workshop, Los Alamitos, CA: IEEE Computer Society Press. U.S. Department of Labor. 1990. «The 1990– 91 Job Outlook in Brief.» Occupational Outlook Quarterly, Spring. U.S. Government Printing Office. Document 1990#282#086/20007. Valett, J., and F. E. McGarry. 1989. «A Summary of Software Measurement Experiences in the Software Engineering Laboratory.» Journal of Systems and Software 9, no. 2 (February): 137–48. Van Genuchten, Michiel. 1991. «Why Is Software Late? An Empirical Study of Reasons for Delay in Software Development.» IEEE Transactions on Software Engineering SE#17, no. 6 (June): 582–90. Van Tassel, Dennie. 1978. Program Style, Design, Efficiency, Debugging, and Testing, 2d ed. Englewood Cliffs, NJ: Prentice Hall. Vaughn#Nichols, Steven. 2003. «Building Better Software with Better Tools,» IEEE Computer, September 2003, 12–14. Vermeulen, Allan, et al. 2000. The Elements of Java Style. Cambridge University Press. Vessey, Iris, Sirkka L. Jarvenpaa, and Noam Tractinsky. 1992. «Evaluation of Vendor Products: CASE Tools as Methodological Companions.» Communications of the ACM 35, no. 4 (April): 91–105. Vessey, Iris. 1986. «Expertise in Debugging Computer Programs: An Analysis of the Content of Verbal Protocols.» IEEE Transactions on Systems, Man, and Cybernetics SMC#16, no. 5 (September/ October): 621–37. Votta, Lawrence G., et al. 1991. «Investigating the Application of Capture#Recapture Techniques to Requirements and Design Reviews.» Proceedings of the Sixteenth Annual Software Engineering Workshop, December 4–5, 1991. Greenbelt, MD: Goddard Space Flight Center. Document SEL# 91#006. Walston, C. E., and C. P. Felix. 1977. «A Method of Programming Measurement and Estimation.» IBM Systems Journal 16, no. 1: 54–73. Ward, Robert. 1989. A Programmer’s Introduction to Debugging C. Lawrence, KS: R & D Publications. Ward, William T. 1989. «Software Defect Prevention Using McCabe’s Complexity Metric.» Hewlett% Packard Journal, April, 64–68. Webster, Dallas E. 1988. «Mapping the Design Information Representation Terrain.» IEEE Computer, December, 8–23. Weeks, Kevin. 1992. «Is Your Code Done Yet?» Computer Language, April, 63–72. Weiland, Richard J. 1983. The Programmer’s Craft: Program Construction, Computer Architecture, and Data Management. Reston, VA: Reston Publishing. Weinberg, Gerald M. 1983. «Kill That Code!» Infosystems, August, 48–49.
|
|
|