Project Definition Document
A web-based student monitoring system
Educational software has been evolving in the last couple of years, catching up with the advances of software in the rest of the IT world. Mainly due to the advantages of e-learning more and more institutions are inventing to new technologies to accommodate their learners. This moved educational software from the traditional small client application connecting to central databases, to lighter web applications accessible from multiple clients via the internet. The next step that web based educational applications are taking nowadays is a Service Oriented Approach (SOA). This came after the introduction of the web services technology, AJAX and of course the frameworks that support the Model View Controller approach in developing applications.
What is meant from the above, is that web based applications need to be able to collaborate with other systems since not all different components of the IT infrastructure of a university is developed by one company. Also open standards enforce more commercial and open source software developers to use approaches that their applications can be easily integrated and expanded. In our case we need to develop a web based student monitoring system, where personal tutors can monitor the attendance of their first year students. Our system would be developed so it would make it possible to be plugged into the existing systems of the University and if possible use data of them system to add more functionality and ease the administrative tasks staff members have to do.
At the beginning of each year, the director of first year students s allocating personal tutors to students and also adds the students to a particular lab group. Then attendance sheets should be produced as outputs of our system to lab assistants and personal tutors. The problem with the existing system is that the interface of adding and modifying information is not very flexible. Our system should overcome this problem and make it easier for staff to keep attendance records of the students. Also in order for our system to be able to fit with the existing solutions, a service oriented approach would be used. Interfaces to import structured external data are one of the main areas that we will concentrate and also adding the flexibility of getting data out of the system.
Student Monitoring System
Student Information System
Existing attendance system
Portal/Social Networking site
Student Monitoring System Interface
In the figure above the highlighted components are the ones we are going to develop as a part of this project. The links of our system to other systems would be implemented using a service oriented approach and web 2.0 techniques.
2. Aims and Objectives
Develop an attendance monitoring system to be embedded within the existing systems of the University using a service oriented approach and web 2.0 technologies to display and enter information to the system
Objectives and Testing methods:
1. Research and analyse service oriented approach and MVC frameworks in system development. A review of the different approaches will evaluate why we used a specific framework and methodology to develop our solution.
2. Design, implement and test a complete implementation of the student monitoring system. Test all classes using Unit testing and also produce test plans for different functions of the tool as a blackbox / whitebox testing where appropriate.
3. Produce a set of public API’s that can be used from our system to enable integration with existing systems. Testing of this objective would be by extracting data from the university systems and importing in it to our system easily. Also provide a set or web service or RSS feeds to import data to other systems
- Literature review on Service oriented approach in software engineering, J2EE MVC frameworks, RSS and web services. This stage will help us meet the first objective
- Requirements gathering with rapid prototype development. We will use the WebML approach for web application development which is an iterative simplified waterfall model approach. The outcomes of this stage would be a database schema supported by the entity diagram of the application and also any other diagrams required from the WebML approach. Objective 2 will be met at the end of this phase.
- Test and document all available API’s. At the end of this stage objective 3 would be met
Testing and Evaluation:
- Expert review to test the chosen technical approach service oriented approach and MVC framework
- Test the code to minimise the risks of potential bugs
- Test the system for usability and functionality with potential stakeholders and gather their responses
- Eclipse IDE
- Tomcat J2EE server
- Spring framework
- Struts framework
- AXIS, or other web service engine
- Student monitoring system with API’s so the system is easily integrated with existing systems
- Unit testing classes and results, test plan and test results
- Project report including an evaluation of the project with respect to its objectives.
Feasibility and Risks:
The proposed project will give me the opportunity to work on a real time scenario in the area of software engineering and provide a solution to an existing problem. From my current studies I got the appropriate base to explore more J2EE technology and develop an application by going through the full lifecycle.
Related Theory(Some work needed)
Areas of theory concerned in the project:
- Service oriented approach:
- J2EE frameworks:
- Tomcat installation and web application packaging
- Web app security
- Software development method: rapid prototyping and WebML.
- Database design Entity relation modelling and normalization
- J2EE development using UML and frameworks
- Unit, Black Box and White Box testing.
- Application Program interface (API) development
Work plan (needs to be completed)