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.
Trust is the fundamental building block of any relationship. Whether it's personal or business, trust is something that cannot be replaced with anything. There are hundreds of books available on how to cultivate business relationships, how to maintain them, and how to leverage the best...
A successful recurring revenue business requires a focus on monetization across every aspect of the customer relationship, not just billing or payments. Monetization is an end-to-end process from activation through cancelation. While traditional billing systems are designed to manage o...
Over on the other side of the fence IT ops are screaming at the various portfolio dev teams for releasing highly risky functionality way too frequently but since the Agile dev adoption production has only had a couple of low priority P4 incidents caused by bad code releases. Things mus...
Application experience aficionados take note: you have choices now. No longer are you constrained to just HTTP/1 with a side option of WebSockets or SPDY. HTTP/2 is also an option, one that like its SPDY...
Log data provides the most granular view into what is happening across your systems, applications, and end users. Logs can show you where the issues are in real-time, and provide a historical trending view over time. Logs give you the whole picture.
Logstash is an open source tool fo...