Project: Wanzenhaus (English: Home of Bugs) 1. Motivation Many web-based bug tracking systems exists today. Bugzilla, for example, has a solid backend but the user interface is not customizable. The look an feel of the interface is poor because the client is HTML based. Moreover, the current interface is Perl/CGI based and runs on MySQL and few other databases. Our motivation is to make the the application database, platform and OS independent. Thus the use of Java based client and standards based protocols. 2. Goals * To provide a Java based user-friendly interface for Bugzilla based bug tracking application * Improve performance and faster application by including a client side application * Provide reliable connection through session management and challenge/reponse authentication * Provide scalable application to support large number of potential users 3. Project Plan 3.1 Overall Implementation Design We will be using MySQL as our database although the goal is to eventually provide a database independent interface. The datamodel will be completely based on Bugzilla. We will create a Java based client application that talks to the database using SOAP web services. Test Plan a) Unit test: * Use JUnit framework for testcases * Write testcases for each function/method and component using the API b) Functional test: * Write tests for each features implemented * Test database connectivity and possibly test different databases * Write tests for performance (speed), and scalability (support of many users) * Test overall look and feel of the UI * Overall integration and installation testing 3.2 Project Schedule Project Proposal: 09/22 (done) Requirements Document: 09/27 (1 week) Design documentation: 10/03 (1 week) Implemenation: 11/24 (6 weeks) Testing and Integration: 12/1 (2 weeks) Project Deadline: 12/08 In addition, we will do as follows: * Bi-weekly revision of the project schedule * Update the team web page * Weekly meetings of team members 3.3 Role of The Team Members All of the team members will have primary and shared responsibilities. They are all equally responsible for providing deliverables on time. Follwing summarizes the responsiblity of each memeber. * Myat Min * Primary resposibility: Java UI Interface. Myat will be the primary person for designing User Interface. This includes collecting requirements, creating UML diagrams, making classes and methods avaliable to the team, implementation, and unit testing. Myat will also be responsible for sharing the implementation other part of the system with other members. * Pratik Dhupia * Primary responsibility: Interface between UI and database Pratik will be the primary person for designing the interface between UI and database. This includes creating UML diagrams, making classes and methods available to the team, implementation, and unit testing. Pratik will also be responsible for sharing the implementation other part of the system with other members and overseeing the project,i.e, making sure all the milestones and deadlines are met according to the schedule. * Mong-Hang Vo * Primary responsibility: Overall testing of the client and User Interface and source control Mong will be responsible for creating test plan, test cases and specifications, executing the test cases, reporting defects, making sure that critical and major defects are fixed, creating team web page, source code control and packaging the final product. Mong will also be responsible for sharing the implementation of the system with other members. 3.4 Risk Analysis Risk -- Probability -- Effect * Size of the Software is underestimated: High, Catastrophic * Time required to develope the software is underestimated: High, Catastrophic * Change in requirements: Moderate, Serious * One of the members is ill at critical time in the project: Moderate, Serious * Visualization of the data is not working according to requirement: Low, Serious * Database calls are somewhat problematic: Low, Serious * Understanding of the bugzilla database is not clear: Moderate, Serious * The rate of defect repair is underestimated: Moderate, Tolerable 4. Conclusions and Evaluation List of things that we think should earn a B * The project can use other material from other sources in the Web, but must said clearly where to get it. * The project must not contain a copy of any part of an old paper from a previous semester. * The final project report has a few errors or problems, but they are minor. * The final project report must turn on a due date (the final day of CS 240 class). * The final project report must have a good content. List of things (in addition to above) that we think should earn an A * The final project report must follow the style guide of technical writing. * The final project report must have an outstanding content. * The final project report must look professional. Project Tools and Environment: * MySQL Database * JAVA SDK * Java WebServices * Tomcat Application Server * WebObjects Tools and Utilities * Apache WebServer * OS: Windows XP/Linux/MacOSX