You are on page 1of 1

Performance, Extensibility and Maintainability Criteria in N-Tier All of these are required non-functional requirement of any system, but

do any all these criteria have the same priority on each layer of the system? The simple answer in no, as each layer are design to server different type of functionality in an application and the criteria for their design are different, so which one should be given more priority and where?

As I see the priority for these nonfunctional requirement as follow

Presentation Layer, as this layer is near to the user all the time, Performance should be the first criteria, the performance of the page load/form load in web/desktop give the first and lasting impression to the user, any application component that is near to the user need to have performance and #1 criteria. Business Layer, this layer is the most volatile layer, this layer is introduced to handle the changing nature of the business and should have Extensibility as #1 criteria. Data Layer, this is a static layer and most need to have the Maintainability as #1 criteria, data resides here and that need to be taken care well, all the backup recovery and maintainability should be used a design consideration.

These are just few guidelines that I believe help in design a better system, this doesnt mean that other criteria on each layer are not required, they are but few of them have greater priority and should be given first thought while architecting any system!

-Pramod

You might also like