Identifying the Software Technology for a System architecture

After identifying the objectives and the principle targets of the system, the wide array of potential technologies available on the market must be taken into analysis for the best usable technology; the evaluation of the technology that can be used while designing the architecture of a system must include a matrix that identifies the technology, the benefits of the technology, and the potential issues with the technology.
The technology must also be evaluated based on its impact on the nonfunctional requirements of the system. For example, a technology such as Remote Method Invocation (RMI) may be appropriate for a small to moderate user load, but for a system with a nonfunctional scalability requirement that it must handle thousands of requests an hour, RMI may quickly be replaced in favor of a more scalable technology. Thus, the criteria for obtaining a good evaluation of the software technology can be the followings:

. Technology name
. Estimated acquisition cost
. Benefits of technology
. Potential issues with the technology
. Impact on nonfunctional requirements
. Impact on project goals