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'm often guilty of sticking my head in the sand, ignoring very small details that could turn into big problems later on. Like when Netflix told me my credit card was about to expire, but it seemed like such a boring task, so I ignored them...till the day Netflix stopped working. I gru...
Are you still pondering whether to integrate cloud computing services into the structure of your IT network? You are not the only one. Most IT professionals are very concerned about data security, so they aren’t that willing to switch to cloud computing solutions that easily. It’s a fa...
More than with previous technological (r)evolutions a side effect of cloud computing seems to be an increase in the degree of centralisation and concentration, not just within company organisations, but particularly in the wider commercial market. This is the most obvious with Software...
Clouds are typically classified into four different topologies: private, public, community and hybrid clouds. Let’s focus on hybrid clouds: what are the use cases that require this topology, what are the challenges, and who stands to benefit from the hybrid cloud trend?
First off, a d...