Computer Software Engineering

Top Selected Products and Reviews

"Computer Science...Art?" - by B. Dean (Los Angeles)
You need it, too. I won't pretend to have more useful insight into the art and craft of programming, or into SICP's relationship to it, than Paul Graham or Peter Norvig- if you want to know which reviews to trust, look these cats up.

The discussion in the reviews usually concludes that this is the book that separates the computer scientists from the mere programmers. There is a definite logic to this. If you want a book that will have you churning out code that does something helpful in half an hour(because you don't think the several ways to calculate the Fibonacci Sequence are helpful), by all means, pick up Learning Perl or just read the Python documentation. They are great tools. If, however, you want to tool up on problem-solving technique a whole level or three higher up, SICP is for you. The Wizard Book is about learning to think ... full review
"Useful" - by Wayne W. Liang
This is a nice book to be used as a reference in software engineering. It has lots of information in the software engineering discipline.
"Ranked SS (sad joke)" - by Ana Beatriz
The book is amazing. The only thing that made my heart cry (inside) was that my beautiful new book arrived in a non-beautiful 'S' form (you see..... It's paperback. Apparently the journey was brutal). Apart from that, everything wonderful.
"Mandatory reading for the Software Architect!!!" - by T Anderson (PA USA)
It was hard to imagine this book getter any better than it already was. I guess that was because I never expected so many changes. This is the most I have ever seen a new edition of a book change. If you own the second edition, you will definitely want this new one. It is almost like another book.

The big case studies are gone. They have been replaced with a ton of new material. If you don't own the first and second editions of the book, you can get the case studies on the publisher's web site.

Below are the chapters in this third edition.

Part One. Introduction
1. What Is Software Architecture?
2. Why Is Software Architecture Important?
3. The Many Contexts of Software Architecture

Part Two. Quality Attributes
4. Understanding Quality Attributes
5. Availability
6. Interoperability
7. Modifiability
8. Performance
9. Security
10. Testability
11. Usability
12. Other Quality Attributes
13. Architectural Tactics and Patterns
14. Quality Attribute Modeling and Analysis

Part Three. Architecture in the ... full review
"A well written book" - by einsteinboricua
I took a course with the author and the way this book is written exceeded expectations. I usually hate single-author books, but this one was very easy to follow and understand. There will be topics here and there that will bore you to death, but Laplante more than makes up with examples based on 4 systems, referenced throughout the book.
"Excellent insights into software. Superbly edited. Classy." - by V
=== Excellent insights into software ===
IMHO, Brooks has distilled fundamental truths; you might find his ideas slightly outdated; but all will agree Brooks offers at least excellent insights. To list but a few: build times determine programmer work cycle; agreement on high-level goals is essential; dev tools make a huge difference; visualizing code is a hard problem; programmers are optimists.

=== Superbly edited ===
If you've a background in editing (developmental down to line), you will be impressed by this text. "Perfection is achieved, "said Saint-Exupery, "when there's nothing left to take away"; and that is absolutely the case here. Every point is pertinent to the thesis, every sentence is necessary, every phrase concise. (I cannot say the same of Brooks's follow-on book, "Design of Design".)

=== Classy ===
Brooks was the project manager for the OS/300, a $5B endeavor that IBM bet its future on, an engineering effort of ... full review
"Good book but could be better" - by D. Kittrell (Seattle, WA USA)
I'm ambivalent about this book. It's a good beginning guide to Python plus some practical advice on the profession of development (interviewing, toolchains, team dynamics). But I'm not sure of the desired audience. There's no one thing it does well that's not better covered by other sources. While the writing style is OK the organization and layout could use some work. My general impression is this is a good book in need of better technical editing. I've rated it higher than these comments might suggest because I think the book serves a purpose but I also believe it could be better. If nothing else, it's a reasonable introductory Python text but take the guidelines and conclusions about interviewing and teams with a large grain of salt. My guess is the author might agree; he's telling his story and offering (admittedly useful) suggestions for a path that worked for him but ... full review
"Insightful and Painful" - by Isaac Z. Schlueter (Oak Land, CA USA)
This book covers all the mistakes we know about, but keep on making regardless.

When it arrived in the mail, I was amazed by how small this book was. It's a short read, but every section is brilliantly distilled to the bare essentials.

I've worked on several different teams developing software. There was very little in this book that came as a surprise. Every point seemed obvious, though in many cases, I was amazed by the wealth of research that Glass was able to cite to make his points. From the bankruptcy of hypesters to the importance of a work environment, Glass states the obvious with compelling and refreshing clarity.

The "painful" part was realizing that at some point in my career, I've made almost every mistake he highlights.

I found the tongue in cheek nature of the writing to be a bit much at times. That is my ... full review
"Simple and easy to understand" - by Bryce Warren (Cincinnati, USA)
An indispensable guide for beginning programmers. Everything you need to know to get started in computer programming is here. Simple and easy to understand, every chapter is broken down into parts that are easy to follow. This is the book you've been looking for that will help you get started.
"I recommend this book to everyone who wants to learn to hack" - by Angelina S (United States)
I have always been interested in hacking and I had some prior knowledge until this book. But my previous book didn't have so much information which the beginner can understand easy. I like how the book goes into hacking and easy to follow steps for a beginner. I would recommend this book to anyone interested in hacking - beginners or masters! Full of awesome useful information. I learned a lot. I recommend this book to everyone who wants to learn to hack.
"Good one. Definitely recommend." - by Alex Poklonsky
First off, I’ve read this book right after reading Software Architecture in Practice and that would probably be the most efficient way of getting thought the material. Otherwise many topics will seem too shallow/brief etc (i.e. tactics to achieve needed quality attribute response).
I also read Microsoft Application Architecture Guidance (which is a very good book on its own) several years ago and recognized many ideas taken from there (the authors explicitly mentioned that).
The book gives good examples on how to apply structural thinking to sophisticated tasks that a software architect usually faces. It also deliberates on the necessity of principled methods applied to the field of software architecture and the justification is quite convincing. Now I’m frequently referring to the book during my day to day activities because I’ve found some patterns (i.e. method of defining and relating together usecases, quality attribute scenarios and constraints) extremely useful and practical.
Now for ... full review
"Good reference book." - by TruRev (Bowie, MD, United States)
I am able to read through it quickly and get a good overview of software engineering. I am self-teaching myself software engineering, so this book is ideal for me.
"Excellent Book for Systems Engineers" - by Tom Wheeler
Agile Systems Engineering is both an interesting and useful book for systems engineers. Bruce Douglass makes an excellent case that the combination of agile and model based systems engineering practices can help systems engineers deal with the speed and complexity of the world they face today. A couple of things stood out to me in reading this book: 1) its target audience is systems engineers; he specifically addresses specification and design at the system level with the end products being those key artifacts that are handed to discipline-specific engineers; 2) this is a book for practioners; the book is chock full of useful guidance such as how to incrementally define and evaluate requirements; how to develop an executable architecture; and even low level things such as how to organize a model; 3) The chapter on “Agile Systems Architectural Analysis and Trade Studies is excellent. He clearly articulates ... full review
"Five Stars" - by Andy (Plano, TX United States)
Great book. I would suggest every software engineer to buy this.
"The worst solution is not to choose any" - by Bruce A. Smith (Vernon, CT ; USA)
(A preamble to the notion of Software Engineering). Software Engineering, is an arcane, heady topic, with swimming pools of ink, and several forests of paper dedicated to it, during the last 35 years or so. It is more of a belief system than an engineering discipline, or as an electrical engineer once said to me in 1973 “witchcraft”. (For 1973 he was correct!) This book was a stroll down memory lane for me, because I have been a developer since 1972, and still going strong (geriatric) today. I have been strongly attracted toward some of the techniques and organization of, or methodology for developing software. I have read most of the original tomes as they were first written, and I still have most of them. Ron’s book is rather small considering what it covers.
Ron Stevens illustrates how it should be done, where most of the stakes should be driven ... full review