Sunteți pe pagina 1din 10

MASINDE MULIRO UNIVERSITY OF SCIENCE AND TECHNOLOGY

DIPLOMA IN INFORMATION TECHNOLOGY

PROJECT PROPOSAL HELIX ACADEMIC DATA ANALYTICS SYSTEM

NELSON AMEYO ITE/D/46/11

1.0 SUMMARY Storage, retrieval, sorting and pattern matching have always been core operations when it comes to analyzing data. This is particularly true in front-end production environments in tertiary academic institutions where data needs real-time, meticulous and fast retrieval, analysis and storage algorithms. The pillars that support such systems include crossplatform compatibility, real-time system-wide data manipulation, robustness, fault tolerance, ease of use, zero-time installations and very high degree of scalability. Helix Academic Data Analytics System is a going to be built upon the above-mentioned pillars. It will be able to do the following: Morph itself to accommodate the institutional structure, organogram and courses being offered. Provide a high level of data security and access control via user privileges. Be cross-platform. (Accessible on all major operating systems[Windows, Mac OSX and Linux]) Provide data in real-time through the use of AJAX1 (Asynchronous JavaScript And XML). This technique also cuts down page loading times as demonstrated in Figure 2. This system will be built in a modular fashion, making it very fault-tolerant and highly scalable. Have zero-time installation because it will be a network / web-based resource thus accessible via a Uniform Resource Locator (URL) from any client. Provide user-friendly interfaces for ease of use.

AJAX- a group of interrelated web development techniques used on the client-side to create asynchronous (in the background) web applications can send data to, and retrieve data from, a server without interfering with the user display and behavior of the existing page.
1

1.1 SIGNIFICANCE OF THE PROJECT Helix Academic Data Analytics System targets academic institutions that have a difficulty in managing records because of a deficiency in effective data-crunching algorithms. It can be extended as an analytic tool to give semantic meaning to the numbers it provides. It will be able to describe numbers in diagrammatic representations using pre-described case models. The system also has the capacity to be further extended into an accurate data source for academic information/records like class summaries per course and year of study, examination results, courses offered and employee information. Multi-dimensional taxonomy/classification of system elements can be very tedious and confusing if the number of elements in the dataset is unknown. This can be tricky when implementing robust, intelligent systems. Helix Academic Data Analytics System employs a new flat-file taxonomic system. This system is used in arranging course types, course names, years of study and the units offered in each course in a very simple yet intuitive filing system. It simply does away with the database approach which creates complex relationships between fields thus slowing down database lookups. 1.2 REQUIRED TOOLS AND THEIR AVAILABILITY In order to complete this project, I will need the following hardware equipment: A computer 2.0 GHz processor speed 1 GB of RAM 40 GB hard disk space

A functional network to test and profile the application.

I will need the following software. Code editors Sublime Text 2 write PHP code Dreamweaver 8 design HTML interfaces MySQL database server (v4.3) PHP compiler(PHP 5.3) Apache server (v2.1) OpenSSL FPDF Class Open source PHP library to generate PDF documents for print. The free object-oriented JavaScript library by John Resig. Open source apache extension to accelerate Apache server by caching PHP opcode for reuse. I already have access to a computer with the above hardware specifications. A functional campus network is available in the university that will be available for testing and profiling the application. All the software I will be using is open-source and is freely available to anybody who wants it. jQuery Library (www.jquery.com) eAccelerator Open source SSL implementation for data security.

Web Server (XAMPP - www.apachefriends.org/en/)

1.3 DEMONSTRATION PLANS I plan to demonstrate the project to the panel in the assigned venue using a projector and also allow them to tap into the system for a live feed on their computer screens if they so wish. 1.4 QUALIFICATIONS TO UNDERTAKE THE PROJECT I believe that I have acquired the necessary skill set to complete this project. I have gone through detailed coursework in database design and management with Mr. Mutua in my second year, first semester. I have also been taught practical PHP and web design techniques by Mr. Anselmo during the same semester. In my internship, I had practical sessions in server administration, security and the web architecture. I have also mastered the amazing jQuery library and MySQL database. I believe I can complete this project within the set period. 1.5 PROJECT SPECIFICATION: This project is inspired by the current state of our university academic body. There have been numerous reported cases of loss of information, data inconsistencies, redundancies brought about by recurrent tasks and a general state of dilemma, especially in the areas of student registration and examinations. This project is going to be written majorly in PHP, the language I have elected to run on the web server. However, the following languages will also be used as client-side support languages to heighten user experience and aesthetics: JavaScript client-side dynamism and AJAX (jQuery library) HTML web document markup XML data exchange dialect between server and some JavaScript plug-ins. CSS styling for HTML markup.

My goals in this project are: Sort out the mess related to traditional paper records and automate most of such tasks. Create faster service delivery for the academia populace through digital collaboration of information between the administration and their clients. Create intuitive, intelligent analytics source code that can crunch modeled cases to create semantic meaning from numbers To provide an almost perfect template for management systems so that later development works on such systems might adopt this project as a working model for enhancement. 1.5.1 FUNCTIONAL SPECIFICATION Imagine a dataset with an infinite number of elements. That is the nature of the human population. Just as many are born as they die. This nature keeps the accurate number at an unknown figure. It is therefore hard to identify a person just by a name. Each human being is identified by at least one of the following codes:Birth certificate number Identification card number Registration number Personal file number Bank account number Telephone number

The system relies on such unique codes to identify user. From the above examples, the unique codes we will be using are: Birth Certificate numbers for under 18s Identification card numbers for over 18s Registration numbers

The system will be able to do the following: 1. Admit students and cross-check to ensure that their unique codes are not existent in the system. 2. Allow the examinations office to post results to the system so that students can access it online. 3. Provide library services to the campus library. 4. Provide an analytics engine for breaking down raw data to useful information e.g. pie charts, bar graphs, line graphs, scatter charts e.t.c. 5. Provide a secure control panel for creating system wide changes e.g. adding a new course offered in the institution. 6. Provide privileged users with a way of exporting the data to printable format e.g. PDF 7. Allow students and lecturers to collaborate by asking questions online. 8. Allowing lecturers to issue assignments online and give students the chance to submit the assignments online too in a pre-agreed file format. 9. Allow privileged users to do a real-time search of student records based on their unique code. (key-up search) 1.5.2 USER INTERFACE The user interface will employ the open-source Twitter Bootstrap HTML and CSS library for its clean curves, easy design and user friendliness. It will be controlled by JavaScript in an AJAX based fashion. The JavaScript will be encapsulated in the jQuery library. All user interfaces will be communicating asynchronously via AJAX to and from the server.

SAMPLE BOOTSTRAP USER INTERFACE

1.6 TECHNICAL DETAILS The AJAX model I am going to use is illustrated below. 1.6.1 THE AJAX MODEL

ASYNC. REQUESTS
SSL ENCRYPTION
HTTP SERVER

SSL CERT.

CLIENT TYPES - Enabled phones - Tablets - PCs


DATABASE SERVER CACHE

1.6.2 THE AJAX MODEL EXPLAINED When the user loads the URL, the system will send back an index page with the basic HTML framework, CSS styling and an extensive payload of JavaScript ready to capture user events and initiate asynchronous requests to the server for more resources as the user experience advances. Another disadvantage of using AJAX is that the server will constantly be under high load because the volume of AJAX requests it receives is too high. This problem can be alleviated by installing a cache extension to Apache HTTP server. This is where eAccelerator comes in. It stores pre-compiled PHP opcode in its cache and sends this cached reply to requests whose headers have not changed since the last time they

registered on the server. Opcode caches like eAccelerator can speed up request service up to 10 times. I have chosen to use SSL encryption since data being sent in this system is very sensitive. The disadvantage of SSL is that under heavy load, the server will take some time to encrypt the packets before sending them. This lag is very minimal and will only be felt under very high server load. 1.7 PROJECT TIMELINE PERIOD 1 WEEK 1 WEEK 4 WEEKS 1 WEEKS 1 week ACTIVITY DATABASE DESIGN(UML SCHEMAS) SYSTEM DESIGN CODING AND IMPLEMENTATAION DEBUGGING, TESTING AND PROFILING DOCUMENTATION

1.8 REFERENCES JQuery Website www.jquery.com www.jqueryui.com Wikipedia Software Development Methodology http://en.wikipedia.org/wiki/Software_development_methodology The Code Project Software Development Methods http://www.codeproject.com/Articles/124732/Software-DevelopmentMethodologies eAccelerator Website eaccelerator.net

S-ar putea să vă placă și