Java – Architecture Review Guidelines for Java/JEE project

Architecturejavaqualityreview

We're going to do a complete review of a Java/JEE based application. This includes an architecture review, code review and platform hardware review.

While we're a bit aware of code review techniques, I'm wondering if there is a template or reference model for doing an architecture review for Java/JEE systems.

Currently we're looking at following the ATAM Model to build a Quality Attribute Tree to cover the elements of Performance, Reliability, Availability, Security, Modifiability, Portability, Variability, Subsetability, Conceptual integrity and Functionality

This is a first for us – so the question is whether there are any other standard models you follow or whether anyone has tried ATAM before and has any tips/recommendations/tools for the Architecture review.

Best Answer

Okie, so most of the *ilities that you have mentioned are nothing but Non-Functional Requirements (NFRs). Now, you cannot both have a cake and eat it too. Extending this basic principle, you can not be the best or in fact meet all your NFRs. So, what is important is find out the top 2 or 3 NFRs that is absolutely a must have and then evaluate your architecture to see where it stands with respect to the expected metrics on these NFRs. I have both witnessed and been a part of the team that did this exercise resulting in better envisioning and focus in deciding the architecture.

Side note: All the NFRs should not be described in qualitative terms (viz., highly performant), rather it should be quantitative that is measurable (viz. it should support 500 concurrent users)

This business. Think real value addition. :)

Related Topic