System Architecture

The system will comprise of three different layers: presentation layer (GUI), application layer (PHP scripts) and the data layer (MySQL server). These three layers can be spread across several machines described using a Client-Server architecture. The two main types of Client-Server architecture used are as follows:

Two-tiered architecture
The two-tiered architecture consists of two types of machine: clients and servers. The three layers can be divided across the two machines in different ways.

One of the requirements of the system is: The system shall allow managers to submit and view replies to queries from any computer with internet access without having to install additional software. This would mean that system would be limited to using the first two-tiered architecture organisation; only the presentation layer (web browser) on the client, leaving the server with both the application and data layer. As the server would have to do most of the processing a large number of con-current users would affect performance making the two tiered architecture unsuitable for this project.

Three-tiered architecture
The three-tiered architecture consists of three types of machine organised vertically. It is achieved by placing logically different components on different machines; client machine (presentation layer - web browser), application server (application layer - PHP scripts) and database server (data layer - MySQL server).
As the processing is divided over two machines; the application server and data server and not just left to one machine as in the two-tiered architecture, the three-tiered architecture is a lot more scalable. The three-tiered architecture can handle more concurrent users without affecting performance making it more suitable for this system as there could be up to 200 people using the system at any one time.

Usability
As the proposed system aims to improve efficiency of payroll queries within large organisations it is important that the system is usable. Usability is being able to do the things you want to, not the things you have to. The following characteristics used to measure usability are considered during the design of the system:

  • Learnability - ease the system is to learn to use. Although accompanied by a well presented instruction manual, the system should be easy to learn. This could be achieved using a logical navigation structure and page layout.
  • Efficiency - productiveness of using the system. As well as the three-tiered client-server architecture that should enable the system to handle many concurrent users, the system should have a logically designed GUI enabling each user to use the system productively.
  • Memorability - ease to remember how to use the system. Making the system easy to learn will also make the system easy to remember how to use. If the navigation structure and page layout is logical it is a lot easier for the user to picture it in their mind and therefore remember it.
  • Errors - amount of errors that occur during use. Using java-script (client-side scripting language) the system will validate any data during input reducing the amount of errors that may occur. The use of user friendly error messages will enable users to recover from any error message easily making them feel that they are making positive progress.
  • Satisfaction - degree to which the users like using the system. Pleasant colours and a logical design, should ensure that the user is satisfied using the system. Having a system that uses dull colours and is hard to navigate is likely to reduce user satisfaction.
  • Control - amount of control users feel they have over the system. Users like to feel that they are the ones in control. Making sure that the system only does what the user request is essential when designing the GUI.
  • Skills - degree to which users feel they can utilise their skills when using the system. The system should be professional in the way it interacts with users as it could be used in many large organisations. It should support and enhance the skills of the users and make them feel valued when using it.
  • Privacy - amount of protection of information belonging to the user or their clients. To enable the system to be efficient allowing payroll personnel to add comments to payroll queries is essential. For the payroll personnel to use this function they have to be confident that managers will not be able to access these comments and that the information is private.

After a prototype was produced the system was rated against each of the above characteristics. The prototype was then improved using the user comments on the characteristics where the prototype scored low.

 


 

  Distributed Payroll System Home Page

   Previous    Next  
 

UNIVERSAL TEACHER PUBLICATIONS
Web: universalteacherpublications.com, universalteacher.com, universalteacher4u.com