Link Analysis Tool Design Description Final Version Doc. No.:
Revision History Date Version Description Author 2010-10-08 1.0 Initial Draft Hassan Aziz Khan 2010-11-06 1.1 2 nd Draft Hassan Aziz Khan 2010-11-26 1.2 3 rd Draft Hassan Aziz Khan 2010-12-22 1.3 4 th Draft Hassan Aziz Khan 2011-01-13 1.4 Final Version Hassan Aziz Khan Page 3
Table of Contents 1. Introduction 5 1.1 Purpose of this document 5 1.2 Intended Audience 5 1.3 Scope 5 1.4 Definitions and acronyms 5 1.4.1 Definitions 1.4.2 Acronyms and abbreviations 5 5 1.5 References 5 2. External interfaces 6 3. Software architecture 10 3.1 Overview and Rationale 10 3.2 Conceptual design 11 3.3 Technical System Structure 3.4 System Decomposition 13 13 3.5 Sequence Diagrams 14 3.6 Sequence Diagrams 14 3.7 System States 17 3.8 System specification 3.9 Error handling 17 17 4. Detailed software design 18 4.1 Class Diagrams 19 4.2 Entity Relationship Diagram 20 5.3 General Sequence Diagram 20 5. Approvals 21 Page 4
1. Introduction 1.1 Purpose of this document Purpose of this document is to specify and document the design of Link Analysis Tool (LAT). This document is included in the list of deliverables mandatory for the course of Distributed Software Development (DSD) which is being held by FER, Croatia and MDH, Sweden. 1.2 Intended Audience The intended audience of this document is the team of LAT, students and instructors of DSD course and the customer Kapsch TIS d.o.o. 1.3 Scope This document presents the system specifications, design, system architecture and interface design. 1.4 Definitions and acronyms 1.4.1 Definitions Keyword Definitions 1.4.2 Acronyms and abbreviations Acronym or abbreviation LAT FER MDH DSD JSF JSP HTML JS CSS GUI VM DB Definitions Link Analysis Tool Fakultet elektrotehnike i raunarstva Mälardalen University Distributed Software Development Java Server Faces Java Server Pages HyperText Markup Language Java Script Cascading Style Sheets Graphical User Interface Virtual Machine Database 1.5 References Page 5
2. External interfaces The graphical user interface or GUI will be developed using JSF/JSP, HTML, CSS and JS. The pages will be developed in JSF while the interactive graph and matrix will be developed in JS. The graph will be clickable and zoom-able while the matrix will be selectable. Below are the screen shots of the GUI. Fig 1: Login Page Page 6
Fig 2: Main Screen Fig 3: Summary Matrix Page 7
Page 8
Page 9
3. Software architecture Our system is web based application which means it will have a client side and a server side. Client will access this application through a web browser. Server will be running glassfish web server and there will be a database server which will run PostgreSQL. 3.1 Overview and Rationale Our tool will read the CDRs stored in the database tables and then load them and display them in form of a graph. It will also colour the graph and nodes differently in order to increase the visualization. It will also display the details of each node and link in a pop-up window. By this kind of visualization it will be easy to analyse a specific node for possible fraud or suspicious activity. Page 10
3.2 Conceptual design 3.2.1 Web Application Fig 4: Client Server Architecture LAT will be a web application following the client server architecture. Web server will run the application and connects to a database. Client will connect to the web server through internet. Whole application will be on server side which means client does not need to have any part of the application. Page 11
3.2.2 System architecture in general Fig 5: General System Architecture The system will have a layered architecture. GUI or presentation layer will use HTML and CSS. Application layer will use JSF and JS. Business layer will be developed using JDBC. Database will be Postgresql. Page 12
3.3 Technical System Structure % " % & %!"#$ Client side will be scripted in HTML, CSS and Java Script. Calls will be made through AJAX. Server will be GlassFish web server. Server side will have three layers which are application layer, business layer and database layer. Application layer will be developed using JSF and servlets, business layer will be developed using servlets and database layer will be developed using JDBC. There is another server which will be database server running a database. Server will connect to this database using JDBC. 3.4 System Decomposition Main system is decomposed into three modules. All of these three modules hide their own specific design decisions. i. Client Module ii. Server Module iii. Database Module Page 13
3.5 Sequence Diagrams 3.5.1 Visualize Transactions Page 14
3.5.2 Selecting Transactions from Matrix 3.5.3 Graph Zoom-in Zoom-out Page 15
3.5.4 Getting Subscriber Details 3.5.5 Setting Parameters Page 16
3.6 System States '( ) +",* * )* 3.7 System specification As this is a web application so it will use Tomcat web server running on UNIX platform. Postgresql will be used as the database. Both the web server and database will be deployed on a virtual machine (VM). Client does not need to have any special software. He can access the application using a web browser. Application will be developed using a variety of technologies which are listed under. GUI: GUI will be developed in HTML and CSS using JSF. Graph: An interactive graph will be developed in JS. Matrix: A Summary matrix will also be developed in JS. Core: The core or business layer will be developed in Java. Database: For database postgresql will be used. 3.8 Error handling Error DB Connection Error JS Error on client side Runtime Error Action User will be notified to contact system administrator. User will be notified to check the security settings for the browser. User will be asked to contact the system administrator. Page 17
4. Detailed software design 4.1 Class Diagram $ $! $ $ % % " # Page 18
4.2 Entity Relationship Diagram 4.3 General Sequence Diagram Page 19
5. Approvals Igor avrak Name Title Supervisor Date yyyy-mm-dd Signature Page 20