DonNTU Master Viktor Riabinin

Viktor Riabinin

Faculty of computer science and technology (CST)

Department of computer engineering (CE)

Speciality Systems programming

Rus
Ukr

Development of the knowledge base and web-based application for the preparation and processing of examination tasks

Scientific adviser: Professor Volodymyr Svjatnyj


Contact information

Gmail:    ryabinin.victor@gmail.com

Skype:   wikt0r_r

Abstract
Abstract

Content

1. Theme urgency

2. Goal and tasks of the master thesis

3. Status of the project at the time of writing this abstract

5. Conclusion

References

1. Theme urgency

There are a lot of situations when a large number of users need access to some information, read this data and edit it. Information is common to all users and can not be located on each client machine. Web-based applications – software that is accessed by users over a network such as the Internet – are used to solve the problems like this.

Web-based application is a good solution of all these problems because:

– provide centralized storage and processing of information;
– provide access to a common information for a large number of users at the same time;
– do not depend on the operating system installed on the user's computer.

This approach is chosen for the implementation the tasks of the master's work.

2. Goal and tasks of the master thesis

There are some types of application requirements. Most important of them are functional and interface requirements.

2.1 Functional requirements

The developed application must have next features:

– storage in the knowledge base information about users, subjects, topics, questions, answers;
– providing the user with information from the database, ability to edit this data, delete it or add new;
– validation of a new data and changes saving;
– generating of examination papers using information stored in the knowledge base.

There are also the additional requirements to the application. They are listed next.

It is necessary to provide centralized storage of a data, to organize access to it to multiple users, and prevent the conflicts and errors.

Another feature that should have the application is multi-lingual. At the moment, application should support three languages​​: German, English and Russian.

If you delete any of the data associated information should not be lost. The same data can be edited by different users. Questions may relate to several topics, and the answers - only to one question. All these features must be included in the data structure.

2.2 Interface requirements

The interface requirements of application are listed here:

– availability of an authorization form;
– availability of forms to display the requested information (the list of users, topics, questions, etc.);
– availability of forms to edit the information. Since the questions and answers to them can have mathematical formulas on the form must be present editor to create them;
– availability of the correct instrument to display errors.

Of course, all these creating and editing forms must contain background information and tips to simplify work with them.

2.3 Tools for application development

The appropriate solution of the described problem is the development of Web-based application. This will ensure the fulfillment of such requirements as the central repository of information, simultaneous access to multiple users. Structure of Web-application in general and the transmission direction information in it are shown in Figure 1.

pic1

Figure 1 – General web-based application structure

For writing server-side Web-based applications chosen programming language Java. Interface for writing client-side and server-side binding, will be used Vaadin. This is - a platform open-source framework for building rich Internet applications.

Storage of information is performed in the database. As the database will be used by PostgreSQL - a powerful object-relational database management system, open source. The database structure is shown in Figure 2.

pic2

Figure 2 – Database structure

To communicate with the database logic of the application will be used hibernate - library of the programming language Java, designed to solve the problems of object-relational mapping (object-relationalmapping - ORM).

Summary: the use of these approaches and tools allows you to put forward all the functionality of the application and its interface requirements.

3. Status of the project at the time of writing this abstract

The application is being developed for use in the University of Stuttgart, Germany. Developing of application was started by two HLRS (The High Performance Computing Center Stuttgart - High Performance Computing Center Stuttgart) employees – Yevgen Dorozhko and Yuriy Yudin. Therefore, the following is the status of the project at the time I started working with him, the results of the work done by me and plans for further development of the project.

3.1 Status of the project at the the time of beginning of my work

At the time I started working on the project, some of it has already been implemented. Specifically, was developed by the original structure of the data and in accordance with its established base. Created by two of the application module. Core - the core of the application responsible for the implementation of the application functionality. UI - part of the application that implements the user interface.

Core module already contains the following components:

– events model based on EventBus-bus;
– data exchange with the knowledge base;
– logging.

UI module contains the following components:

– the authorization form;
– forms which contain lists of teachers, subjects and questions;
– question creating form.

3.2 Results of my work

At this point in the course of working on a project I worked on most of the user interface module. In addition, I had to implement some of the functionality (editing and deletion) that required the amendment of the module Core. Below is a list of changes I made ​​in the project:

– fully implemented section for the same functionality: the withdrawal of their list, the ability to create new topics, edit and delete existing ones;
– editing and deleting items have been added to;
– modified fields in some tables in the database for the expansion of the application: the topics, which include questions that are not removed from the database, but only marked as deleted (similar subjects, which include any subject);
– check the compatibility of it with the previously written code, removed both found a few bugs, and the newly arisen.

There is a screenshot of the edit and view forms in the figure 3 below there.

pic3

Figure 3 – An example of the already existing forms of the application interface

3.3 Further implementation of the project

During my further work on the development of an application will be made as follows:

– add the missing forms of creating and editing the information; – modification of the visual component of the interface (the location and appearance of widgets, colors, styles); – add functionality associated with the generation of examination papers; – possible to modify the data structure.

Upon completion of these steps, the application will verified. After checking and correcting errors will start to use it.

5. Conclusion

Theme of master's work is highly specialized and not at the application level. It is very relevant: Web-applications today are widespread and have high popularity. Approaches, tools and technologies used in the design of the application is also used to create a variety of other projects.

In writing this essay master's work is not yet complete. Final completion: December 2013. Full text of the work and materials on the topic can be obtained from the author or his manager after that date.

References

1. Карл Вигерс. Разработка требований к программному обеспечению. Пер, с англ. – М.: Издательско-торговый дом Русская Редакция, 2004. – 576с., ил.

2. Б. Скотт, Т. Нейл. Проектирование веб-интерфейсов. Пер. с англ. – СПб.: Символ-Плюс, 2010. – 352 с., ил.

3. Marko Grönroos. Book of Vaadin: 4th Edition. Published: 2012-11-08. Copyright © 2000-2012 Vaadin Ltd

4. Э. Фримен, К. Сьерра, Б. Бейтс. Паттерны проектирования. – СПб.: Питер, 2011. – 656 с., ил.

5. Герберт Шилдт. Java. Полное руководство, 8-е изд.: Пер. с англ. – М.: ООО И.Д. Вильямс, 2012. – 1104 с., ил.

6. Christian Bauer, Gavin King. Hibernate in action. ©2005 by Manning Publications Co. All rights reserved.

7. Internet resource of the Vaadin Framework. – https://vaadin.com/homel

8. Internet resource of the SpringFramework. – http://www.springsource.org/

9. Internet resource of the HibernateORM. – http://www.hibernate.org/

10. Internet resource of the PostgreSQL. – http://www.postgresql.org/

Abstract