Which factors are really important for defining a sofware's architecture?? is there in priority between them?


  • I would say Performance , Maintainability and Scalability are probably the highest. A software needs to perform well, an underperforming software is an annoyance and will drive the customers away. 

    Maintainability is also key for post production - if a software architecture is not done keeping maintainability in mind , bug fixes and enhancements can be a nightmare. 

    Scalability is the next thing in line because most products need to grow and change with time, happens with all of them. 

    These one of the main factors that I would keep in mind while designing and architecting software.

  • The factor would be for both Functional and Non-Functional requirement of Software Application. However the important factor would be for Non-Functional i.e. Performance, Scalability, Maintainability, Security. The reason for addressing all nonfunctional requirements is because those are hidden attributes and not addressing these attributes will create problem at later stage. 

    There are also some other related and important attributes to be considered while deciding a particular architecture style for example approach for Integration with external system, communication protocols, deployment pattern etc.

Comments

Popular posts from this blog

ContextSwitchDeadlock was detected

Visual Studio setup and deployment projects

Using SvcUtil.exe to generate the proxy class and config file