UHCL <Adhoc Graphical Reports> Software Requirements Specification Version <3.0> <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> Revision History Date Version Description Author <10/Feb/07> <1.0> <Initial Requirements Document> <Prathyusha> <20/Mar/07> <2.0> <Initial Requirements Document> <Nikhila> <17/April/07> <3.0> < Initial Requirements Document> <Prathyusha> Capstone Team # 4 <Company Name>, 2007 Page 2 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> Table of Contents 1. Introduction …………………………………………………………………………………………4 1.1 Background……………………………………………………………………….4 1.2 Purpose……………………………………………………………………………5 1.3 References…………………………………………………………………………5 1.4 Overview…………………………………………………………………………..5 2. Specific Requirements…………………………………………………………………6 3. Design Constraints……………………………………………………………………..6 3.1 JasperReports……………………………………………………………………….6 3.2 Interfaces……………………………………………………………………………6 3.2.1 Software Interfaces…………………………………………………………7 3.2.1.1 Java JDK1.5 3.2.1.2 JasperReports 1.3 3.2.1.3 Microsoft SQL 2005 3.2.2 Communication Interfaces……………………………………………………7 3.2.2.1 JBoss Application Server 3.3 General Requirements…………………………………………………………………7 3.4 High Level Requirements………………..…………………………………………...7 3.4.1 Code /Architecture……………………………………………………………8 3.5 Input Requirements…………………………………………………………………...8 3.6 Output Requirements…………………………………………………………………8 4. Diagrams…………………………………………………………………………………9 4.1 Architecture Diagram………………………….……………………………………..9 4.2 Use Case Diagram…………………………………………………………………...10 4.3 Sequence Diagram……………………………………………………………..……11 5. Company Overview…………………………………………………………………………..12 Capstone Team # 4 <Company Name>, 2007 Page 3 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> Software Requirements Specification 1 1.1 Introduction Background Tietronix currently has an Ad Hoc Reporting Tool that allows users to define their own reports. The tool is a J2EE-based web application currently deployed in the JBoss Application Server. The tool currently allows users to select an area of interest (AOI) and specify the report name and description, the output columns, the filter columns with values, and the desired sorting, grouping, and calculations. The report templates can also be saved and subsequently executed at any time. The current report output is a tabular display on the web page with options to export the results to a comma-separated file, a PDF file, an RTF file, raw XML, or a Java applet. Capstone Team # 4 <Company Name>, 2007 Page 4 <Project Name> Software Requirements Specification <UHCL> 1.2 Version: <1.0> Date: <10/Feb/07> Purpose While the Ad Hoc Reporting Tool has the basic functionality for textual reporting, it currently does not have the ability to generate charts, graphs, or any other graphical reporting format. The Ad Hoc Reporting Tool requires the ability to output the report results in various graphical formats in addition to its current textual output. The objective of this project is to tightly integrate an open-source graphical reporting tool with the TieFlow Ad Hoc Reporting Tool. The target graphical reporting tool is JasperReports. JasperReports is an open-source, Java reporting tool available as a Source Forge project. 1.3 References JASPER: http://jasperforge.org/sf/projects/jasperintelligence http://www.jasperforge.org/index.php?option=com_joomlaboard&Itemid=215&func=showcat& catid=9 http://www.javaworld.com/javaworld/jw-09-2002/jw-0920-opensourceprofile.html 1.4 Overview The document describes problem statement and background, the current developments that need to be added to the existing tool, staring from specific requirements. The Design constraints include notes on JasperReports. The project interface includes the software and communication interface. Then we take a look at the General Requirements, High Level Requirements, Input and Output Requirements. The document concludes with the Block diagram of the project. Capstone Team # 4 <Company Name>, 2007 Page 5 <Project Name> Software Requirements Specification <UHCL> 2 Version: <1.0> Date: <10/Feb/07> Specific Requirements The project requires enhancing the current Adhoc Report Generator tool with a graphical feature i.e. the user should now be able to select the desired chart and view the graphical output of the report along with the Textual Report. This is achieved by integrating the open source graphical tool JasperReports. The code is developed on JDK 1.5 and this supposed to generate the XML that is understood by JasperReports. 3 Design Constraints 3.1 JaperReports: JasperReports is a powerful open source Java reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files. It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web applications, to generate dynamic content. The objective of the project is to generate an XML report definition file that is understood and executed by the JasperReports to produce graphical report output. 3.2 Interfaces This project requires integrate different open source software with Java J2EE. 3.2.1 Software Interfaces 3.2.1.1 Java JDK 1.5: The initial tool was coded and will be further modified and fabricated on Capstone Team # 4 <Company Name>, 2007 Page 6 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> Java JDK 1.5. 3.2.1.2 JasperReports 1.3: The project needs the integration of JasperReports 1.3 with the AdHoc Reporting Tool through an XML file. 3.2.1.3 Microsoft SQL 2005: The project runs on Microsoft SQL 2005 for the Database support. 3.2.2 Communications Interfaces 3.2.2.1 JBoss Application Server: The project runs on the JBoss Application Server. 3.3 General Requirements The capstone requires generating a modifying the existing AdHoc reporting tool so that it generates the XML report definition file for JasperReports. The capstone shall implement an interface for the user which captures all the information required for the graphical report output and include this in the XML file generated by the AdHoc Reporting Tool. 3.4 High Level Requirements 3.4.1 Code / Architecture Capstone shall use the Java JDK version 1.5 for any required Java code. The code generates an XML (jrxml) that is understood by the JasperReports Run time Engine to produce the output chart. Capstone Team # 4 <Company Name>, 2007 Page 7 <Project Name> Software Requirements Specification <UHCL> 3.5 Version: <1.0> Date: <10/Feb/07> Input Requirements: Input parameters for the graphical reports accepted The Java code generates the .jrxml which is the report definition( XML ) file for a particular chart 3.6 Output Requirements: The generated jrxml file is given as input to the run time JasperReport Engine to produce output chart. Java API shall return the report definition as a String. Java API shall write the report definition to a file. Java API shall throw an Exception if an unrecoverable error occurs. Capstone Team # 4 <Company Name>, 2007 Page 8 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> 4 . Diagrams: 4.1 Architecture Diagram: Java Code Existing GUI Current GUI Ad Hoc Reporting Tool Tabular Output Capstone Database Jasper XML/ jrxml Jasper Graphical Output Capstone Team # 4 <Company Name>, 2007 Page 9 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> 4.2 Use Case Diagram: Ad Hoc Graphical Reports Select the Area of Interest Select Tabul ar or Graphic al reports Report Seeker Present Options for Rep ort Present Chart Parameters Present Chart to User Capstone Team # 4 Generate Area of Interest <Company Name>, 2007 Accept Input param eters and Gen erate Chart Page 10 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> 4.3 Sequence Diagram Report Seeker Select Area of Interest Generate Area Of Interest Select Tabular Or Graphical Reports Present Options for Report Present Chart Parameters Accept input Parameters and Generate chart AOI Generated AOI sent to report s eeker Select to Generate Tabular or Graphical Reports Present the Report Options to the Report Seeker When Graphical C harts are sel ected, present chart parameters for particular c hart. i.e. Bar, Pie, Stac k, Scatter, Area, Line Report Seeker selec ts from available par ameters and request for c hart which is acc epted by s ystem The jrxml for the chart is created which is r un by Jas perReports run time engine to pr oduc e the output chart. Capstone Team # 4 <Company Name>, 2007 Page 11 <Project Name> Software Requirements Specification <UHCL> Version: <1.0> Date: <10/Feb/07> 5. Company Overview: Tietronix is a full-service provider of custom software applications and advanced technology solutions. The company specializes in software engineering, business applications development, software product development and vertical markets solutions. Tietronix Software Inc. 1331 Gemini Avenue, Suite 300 Houston, TX 77058 http://tietronix.com/ Capstone Team # 4 <Company Name>, 2007 Page 12