06-09-2016, 02:39 PM
1453287305-CVSQLFinalProjectReport.doc (Size: 149.5 KB / Downloads: 90)
1. Introduction
1.1 Purpose of this document
The main purpose of this document is to provide the group, CVS reporting team, steering group and the customer with the final results of this project. The document should provide them with the detailed explanation of final result of this project
1.2 Intended Audience
The intended audiences for this document are the members of the CVSQL group, members of the CVS Reporting group, members of the steering group and the customer.
1.3 Scope
This document should provide the intended audience with the summary of all information that are important in this project.
2. Background and Objectives
A software configuration management tool such as CVS are very helpful in software projects, and will help to programmers to deal with version management and provides the project members with access to a common code base.
When software configuration management tools are put to use a lot of data will be collected in the repository. This data is not only the actual text stored in the source files, but also different kind of data such as information about who did changes to a certain file and which changes that were made between two revisions of a file.
For project members and company management this information can be valuable for determining the status and progress of a project. To collect this data and to transform it into useable information a tool will need to be developed.
This project will develop an abstraction for the data in a CVS repository and the actual tool will be developed by another project called “CVS reporting”. The abstraction will be accomplished by creating an interpreter which will provide an SQL-like interface to the repository. This interpreter can be accessed by either command-line or a local GUI. To be able to make queries to the interpreter from other application, a JDBC-driver will be created.
Overall requirements for the CVSQL project are,
• firstly it should provide read-only access to the CVS repository using the SQL commands
• furthermore, it should provide the complete SQL SELECT command sintax to retrieve any CVS data that can be provided using the usual CVS commands
• it should also provide virtual tables that can be used with SQL query commands
• if will also provide two interface options
o first version will be comand line and it will provide access to the CVS repository using the comand line program
o second will be daemon version and it will provide access to the CVS repository using the JDBC or similar database driver for this virtual database
Overall requirements for the JDBC component are,
• firstly, it shall provide read-only access to the CVS repository through the CVS query engine;
• furthermore, it must follow any JDBC standards;
• finally, it must implement proper error handling:
6. Project Experiences
6.1 Positive Experiences
6.1.1 E-mail
Since the complete project was done simultaneously on two locations in the world and that since there was no way in sitting together we decided to use the e-mail as the primary way of communication. E-mail was great since we didn't had to spend lots of time arranging a meeting and everyone involved in a communication could get the same amount of time and attention as it was required.
We also used e-mail as the primary way of exchanging the files since it uses push technology and notifies the user as soon as some change occurs. It's also much easier to use if all of the participants don't have constant Internet connection but have only limited access to the Internet as it was in our case.
6.1.2 Videoconferencing
The videoconferencing using the teleconferencing room was great since we could see each other and resolve all the details that would take too much time otherwise. Still sometimes it's easier to understand what someone writes than what someone says.
6.1.3 Microsoft Netmeeting
It wouldn't be possible to display the current progress and problems to the other side without the Microsoft Netmeeting or similar software. At the beginning not many of us has even seen that software but we got used to it really fast, and it was the most important way of exchanging visual information in the face-to-face meetings over the Internet.
6.1.4 Good interface design
Since the interface between two major parts of the project was defined already at the first week of the project and the final version was concluded two weeks later we knew exactly what we must do and we had no problems with final integration that was the most feared part of the project.
6.1.5 Large amount of motivation
We managed to get the quite high team spirit and everyone involved into a project was doing it's best. None had to do thing that wasn't able to do and everyone had the same goal to be finished on time with satisfying results. This kind of team spirit got some things moving and finished on time even if there was extremely little amount of time given.
6.1.6 Transparency
A lot of motivation was raised since the complete project was well defined at the beginning and since everyone knew exactly what was expected from then and what should their output be. Without each team member knowing exact requirements team spirit could have been lost.
6.2 Improvement Possibilities
6.2.1 Distance
It would be much easier if we could meet really face-to-face since we still don't know much about each other. It would also help us to better understand problems of the other side and to help the other side better than we could now. It would be much better to be able to meat for a day in third or fourth week of the project to understand each other after we completely understand the project.