Share with others
Final Year PROJECT SYNOPSIS
BUG TRACKING SYSTEM
A holistic bug tracking system which enables reporting and follows up with solution of any bug found in development of any software project of an organization.
The system is implemented using client server architecture.
A multithreaded server servicing multiple clients and their requests.
The clients send bug/failure reports to the server where they are entered into a bug database. A solution is found for the bug by consulting the database.If it is a bug that has been encountered before, its solution is directly obtained from the database else its solution is derived manually. Necessary action is then taken and change reports are generated. These change reports are then forwarded to all concerned parties.
In addition, add ons like support for mobile devices and a business intelligence plugin may be incorporated at a later stage.
The clients send data to server in the form of XML files which are parsed at server end.
There are two streams –message stream and data stream, used between client(s) and server. Message queues are used to buffer messages and allow the server to service multiple clients simultaneously.
The server provides basic client registration and communication which is both transparent as well as dynamic. Each client registration request paves the way for a new POSIX thread in the server process to service the client. A shared data list of all the clients holding information of each and every registered client is shared among the threads which necessitates the Reader Writer synchronization through POSIX Reader Writer Locks. The server is developed in C.
The client is a dual threaded application –The first one runs in the background receiving all the responses from the server. The second one runs in the front, interacting with the user, receiving his requests, processing them and shows the results. All the registered clients may communicate freely and transparently with other clients without knowing the whereabouts of other registered clients via the server.
No synchronization is required. The client is very light, so the server takes care of all the transparency, communication, synchronization and error handling. There is no software limitation to the no of clients, limited only by server resources and maximum limit of TCP ports in the TCP/IP family i.e. 216 ports. The client is developed in Java Swing
NETWORKING IN LINUX:
LINUX provides a nimble solution for networking enabling a software concept known as sockets. The use of sockets obviates the need of low network details such as drivers and hardware instructions. Our project uses TCP/IP family stream sockets for the purpose of communication.
INTERPROCESS COMMUNICATION IN LINUX:
LINUX provides a simple yet powerful means of IPC. It can be implemented easily by means of message queue and shared memory. We prefer using message queue as it is properly structured and doesn’t need explicit synchronization as in case of others eg pipes
No doubt threads can empower the processing both in efficiency as well as effectiveness but it has many synchronization problems such as :
Sharing of globals –The global variables are accessible variable can only be used in synchronization.
Sharing of buffers – A process has a single set of various buffers (standard descriptors) allotted by the kernel which may not be sufficient for catering to the needs of all the threads.
LINUX provides an elegant solution to the synchronization problems discussed above. For example, mutexes and semaphores provide easy and effective synchronization.
Sun JAVA Kit
TCP/IP Networking Support in Linux based systems
POSIX & System V system call interface in Linux
Any java compatible web browser (eg Netscape)
Two 386 or above personal computers
Ethernet LAN Cards in each participating computer system
Share with others