Link Analysis Tool
Design Description
Final Version
Page 3
Revision History
Date Version Description Author
2010-10-08 1.0 Initial Draft Hassan Aziz Khan
2010-11-06 1.1 2nd Draft Hassan Aziz Khan
2010-11-26 1.2 3rd Draft Hassan Aziz Khan
2010-12-22 1.3 4th Draft Hassan Aziz Khan
Page 4
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 5
1.4.2 Acronyms and abbreviations 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 13
3.4 System Decomposition 13 3.5 Sequence Diagrams 14 3.6 Sequence Diagrams 14 3.7 System States 17 3.8 System specification 17 3.9 Error handling 17
4. Detailed software design 18
4.1 Class Diagrams 19
4.2 Entity Relationship Diagram 20
5.3 General Sequence Diagram 20
Page 5
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 Definitions
LAT Link Analysis Tool
FER Fakultet elektrotehnike i ra unarstva
MDH Mälardalen University
DSD Distributed Software Development
JSF Java Server Faces
JSP Java Server Pages
HTML HyperText Markup Language
JS Java Script
CSS Cascading Style Sheets
GUI Graphical User Interface
VM Virtual Machine
DB Database
Page 6
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.
Page 7
Fig 2: Main Screen
Page 10
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 11 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 12
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 13 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 14 3.5 Sequence Diagrams
Page 15
3.5.2 Selecting Transactions from Matrix
Page 16
3.5.4 Getting Subscriber Details
Page 17 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 Action
DB Connection Error User will be notified to contact system administrator.
JS Error on client side User will be notified to check the security settings for the browser.
Page 18
4. Detailed software design
4.1 Class Diagram ! " # $ $ $ % $ %
Page 19 4.2 Entity Relationship Diagram
Page 20
5. Approvals
Name Title yyyy-mm-ddDate Signature