yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
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 Life Cycle 15. Architecture in Agile Projects 16. Architecture and Requirements 17. Designing an Architecture 18. Documenting Software Architectures 19. Architecture, Implementation, and Testing 20. Architecture Reconstruction and Conformance 21. Architecture Evaluation 22. Management and Governance
Part Four. Architecture and Business 23. Economic Analysis of Architectures 24. Architecture Competence 25. Architecture and Software Product Lines
Part Five. The Brave New World 26. Architecture in the Cloud 27. Architectures for the Edge 28. Epilogue
To show you just how much the book has changed I have included the table of contents to the second edition below.
Pt. One. Envisioning Architecture Ch. 1. The Architecture Business Cycle Ch. 2. What Is Software Architecture? Ch. 3. A-7E Avionics System: A Case Study in Utilizing Architectural Structures
Pt. Two. Creating an Architecture Ch. 4. Understanding Quality Attributes Ch. 5. Achieving Qualities Ch. 6. Air Traffic Control: A Case Study in Designing for High Availability Ch. 7. Designing the Architecture Ch. 8. Flight Simulation: A Case Study in an Architecture for Integrability Ch. 9. Documenting Software Architectures Ch. 10. Reconstructing Software Architectures
Pt. Three. Analyzing Architectures Ch. 11. The ATAM: A Comprehensive Method for Architecture Evaluation Ch. 12. The CBAM: A Quantitative Approach to Architecture Design Decision Making Ch. 13. The World Wide Web: A Case Study in Interoperability
Pt. Four. Moving From One System to Many Ch. 14. Software Product Lines: Re-using Architectural Assets Ch. 15. CelsiusTech: A Case Study in Product Line Development Ch. 16. J2EE/EJB: A Case Study of an Industry-Standard Computing Infrastructure Ch. 17. The Luther Architecture: A Case Study in Mobile Applications Using J2EE Ch. 18. Building Systems from Off-the-Shelf Components Ch. 19. Software Architecture in the Future
This book has been my go to book for most of my software architecture career. It is what taught me about quality attributes, tactics, and scenarios. It provided my first introduction to the Architecture Tradeoff Analysis Method (ATAM), the Quality Attribute Workshop (QAW), the Cost Benefit Analysis Method (CBAM), Active Reviews for Intermediate Designs (ARID), and the Attribute-Driven Design (ADD) method. In this new edition of the book they introduce the lightweight architecture evaluation. It is a slimmed-down version of ATAM. It is intended to be used on lower ceremony projects.
This new version has a ton of new material. One of the biggest changes is that the quality attributes covered now have their own chapter. There is a new chapter for Availability, Interoperability, Modifiability, Performance, Security, Testability, and Usability.
There is a new chapter dedicated to the technical, project, business, and professional contexts of software architecture. This chapter shows how architecture supports and is informed by other forces and activities in the different contexts.
Part four, Architecture and Business, contains three chapters dedicated to showing the relationships between the architecture and the business.
There is a new chapter on architecturally significant requirements and how to solicit those requirements from the goals set down by the business. This chapter introduces a new method for eliciting and documenting business goals in order to discover architecturally significant requirements. The new method is called Pedigreed Attribute eLicitation Method or PALM for short.
There is a new chapter on individual and organizational architectural competence. The chapter covers the technical duties of a software architect, the non-technical duties of a software architect, and the knowledge areas of the software architect. It also provides a framework for organizational architectural competence.
Part three, Architecture in the Life Cycle, shows how architecture relates to agile projects, shows how to elicit architecturally significant requirements, shows how to design the architecture and document the architecture, also how to test the architecture. Part three also covers how to reconstruct an architecture and evaluate an architecture.
One of my favorite new additions was chapter 27, Architectures for the Edge. An Edge dominant system is one that depends on the input of their users for success. Edge architectures that exist today are Wikipedia, YouTube, Facebook, and Twitter. It was just a really interesting read.
I could go on and on about the value of the content in this book. The bottom line is that if you are a software architect, or want to be one, this is mandatory reading, period.
I just read a new booklet from O’Reilly called The Software Paradox by Stephen O’Grady. You can access it here.
Here is a direct quote:
“This is the Software Paradox: the most powerful disruptor we have ever seen and the creator of multibillion-dollar net new markets is being commerc...
A smart APM strategy enlists the help from these three entities: the Witness, the Watchman, and the Agent. You start by listening to the testimony from the eye-witness (aka. wire data), collecting the observations from the watchman (aka. web robots), and analyzing details from the age...
As virtualized and cloud systems are so prevalent and integral to data storage, the need to migrate data from a legacy storage system to a virtual or cloud-based one is inevitable. But, here’s the rub: migrating data is a lot harder than you might think, despite all the marketing noise...
Can wearable technology help to prolong your life? We already know more conventional forms of tech, can save lives in a definitive manner, as well as keep people in comas and other unconscious states alive for an indeterminate period of time, but how can smaller, wearable gadgets help ...
Many people recognize DevOps as an enormous benefit – faster application deployment, automated toolchains, support of more granular updates, better cooperation across groups. However, less appreciated is the journey enterprise IT groups need to make to achieve this outcome. The plain f...