Technical Competency Demonstrator Assignment 2 - Amel94/ITC303-XCoders GitHub Wiki

Technical Competency Demonstrator

Server side

Resource Allocation System will be hosted at JSP server. Being a web-based application, this underlying client OS can be any PC operating system. MySQL will be used as the central database server. All communication with client has to comply with public HTTPS, TCP/IP communication protocol standards.

Client Side

Users will be able to access Resource Allocation System only online. At the initial stage this will be hosted as a web-based application in Google Chrome. but with modifications, it can be integrated with a system modern web browser such as Mozilla Firefox 10, Internet Explorer 9, Google Chrome or Safari to get full user experience.

Security

Central security features are handled by the institute officials. They’ll be given full access features both in the application and database levels. Creating user accounts for managers, employees are done by the admin. After the users are added to the system, they’ll be provided with a default password, which can be changed by the user. All the passwords are encrypted in order to ensure higher security. Responses and commits made by the managers can be seen only by the senior manager and admin.

Reliability / Availability

The system will be subjected to several testing operations (Unit testing, integration testing, system testing) before being deployed in order to make sure that the system is reliable. The MYSQL database server can respond to many numbers of clients at a given moment without losing consistency and data integrity.

Performance

The system responds to any request under standard database and web server script timeouts (30 seconds), also system performance can depend on available hardware, network and internet connection capabilities. Especially the statistical information generation tasks may take comparatively high time. Therefore, actual performance can be determined only after the system is deployed and tested.

Portability and reuse

Even though Resource Allocation System is designed as a complete and standalone product. In order to maintain reusability, all the functionalities are very well structured and layered. Best practices of followed throughout the project and the project strictly adheres to OOP standards.

Development tools

The project incorporates many development tools. Programming: NetBeans IDE Database: MySQL Database connection: MYSQL connector

Resource Allocation System is a web application that follows the MVC architecture pattern. Main reason to use this pattern is to separate functions into layers thus improve the maintainability and reusability. View layer contains the graphical user interfaces (web pages). The actions of these web pages are handled by controller classes. Controller classes invokes and instantiates objects of model classes that contains the business login. Separating software packages in this manner reduces the complexity. The model classes can be subdivided in to two layers. Business layer and the data access layer. Data access layer is manipulated using HIBERNATE framework. Business layer contains the main entity classes such as Student, Lecturer and etc. The object relational mapping is done using the HIBERNATE framework. For each entity in the database there exists a class in the software that provides data access operations to that entity.