When evaluating software systems the impact of system architecture is an extremely important factor to consider. The database, programming language, hardware requirements, operating system requirements and network/internet requirements all contribute to the usability of the system as well as the cost of ongoing maintenance and support. Consider the following key points when evaluating software systems:
What database platform does the system run on?
The database platform that a system runs on is one of the most important aspects of any system. It’s the foundation that the system is built on. There are many systems that were built on database systems that were not intended to be used in a multi-user environment such as Microsoft Access and Foxpro. These database systems will run ok for a single user but when multiple users try to use the same database performance issues can occur. Software providers manage to overcome this by utilizing terminal services. A database system such as Microsoft SQL Server is intended to be used in a multi user environment and allows for growth. Other important factors to consider are how widely the database system is used and whether or not the technology is current. Some database management systems are based on technology that is a decade or more old. Some are obscure and are known by a relatively small number of people. The more current a system is and the greater the number of people that know how to use it the easier and less expensive it will be to get help when you need it.
What programming language is the software written in?
The programming language used to develop a system should be considered as this will affect the future viability and maintainability of the software system. A programming language that is based on current technology and is widely used will enable the software provider to be more effective at making upgrades to the system and hiring people to do the work. Microsoft .NET and Java are examples of programming languages that are current and widely used. A system that is developed using a programming language that is based on older technology or is obscure will negatively impact the ability of the software provider to maintain and support the system.
What are the hardware requirements?
Evaluating the hardware required to run a system should always be considered. Software providers usually publish ‘minimum system requirements’ and ‘recommended system requirements’. This can affect the cost of system ownership.
What are the operating system requirements?
The operating system requirements for a software system are an important part of the evaluation process. For example, some software systems will not run on older versions of Windows and some will require the professional or business versions of Windows. This can affect the cost of ownership.
What are the Internet and Network requirements?
Network requirements are an important consideration. Some systems run on the Internet or are ‘Cloud’ based. Utilizing this kind of system makes your business Internet dependent and your database is not stored locally. This can be a positive or negative depending on your circumstances and preferences. Local network requirements are also important. Network speed can affect the performance of multi-user systems and should be considered. Internet based system integration with other providers such as parts distributors and labor guide providers are also important factors. The speed of the Internet connection can affect productivity in these areas.
Considering all the above factors when evaluating a software system will support making an informed decision. The functionality and features of a software system are important but the architecture should also be considered.