Qual è il miglior libro per studiare l’ingegneria del software?

Questa è la mia domanda preferita. Non conoscendo il vostro livello di conoscenza sono aree di interesse, ecco alcuni buoni libri. Si prega di notare che faccio questo lavoro da più di 50 anni e mentre molti di questi libri sono vecchi, penso che abbiano un valore duraturo.

The Elements of Programming Style di Kernighan e Plauger

The Practice of Programming di Kernighan e Pike

Programing on Purpose di P.J. Plauger tutti e 3 i volumi

Code Complete di Steve McConnell

The Practical Guide To Structured Systems Design di Meilir Page-Jones

Object Oriented Design With Applications di Grady Booch

Refactoring - Improving the Design of Existing Code di Martin Fowler

Data Modeling Essentials di Simsion e Witt

Data Modeling Patterns di Dave Hay

The Design of Everyday Things di Donald Norman

Designing the User Interface di Ben Shneiderman

About Face - The Essentials of User Interface Design di Alan Cooper

Exploring Requirements - Quality Before Design di Gause e Weinberg

Mastering the Requirements Process di Suzanne & James Robertson

Software Requirements di Karl Wiegers

Business Rules Applied di Barbara von Halle

Perfect Software and other illusions about testing di Gerald Weinberg

Lessons Learned in Software Testing di Kaner, Bach e Pettichord

Software Inspection di Gilb e Graham

Peer Reviews in Software di Karl Wiegers

Project Retrospectives di Norman Kerth

The Capability Maturity Model - Guidelines for Improving the Software Process del Carnegie Mellon University Software Engineering Institute

Controlling Software Projects di Tom DeMarco

The Mythical Man-Mese di Fred Brooks

La psicologia della programmazione informatica di Gerald Weinberg

I segreti della consulenza - Una guida per dare e ottenere consigli con successo di Gerald Weinberg

Balancing Agility and Discipline - A Guide for the Perplexed di Boehm & Turner

The Incremental Commitment Spiral Model di Boehm, Lane, Koolmanojwong e Turner

La metodologia One Minute di E.Z. Systems raccontata a Ken Orr

Peopleware - Productive Projects and Teams di DeMarco e Lister

Waltzing With Bears: Managing Risk on Software Projects di DeMarco e Lister

Computer Related Risks di Peter Neumann

Getting to Yes: Negotiating Agreement Without Giving In di Roger Fisher

The Art of Plain Talk di Rudolf Flesch

The Fifth Discipline di Peter Senge

Out of the Crisis di W. Edwards Deming

I quaderni di Lazarus Long di Robert Heinlein

Questi sono alcuni dei migliori libri sui miei scaffali. Sono in ordine di rilevanza diretta per il coding, ma non in ordine di importanza. Non sono d'accordo con tutto quello che viene detto in tutti, ma vale la pena pensarci e spesso vale la pena discuterne.