Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
PARTool Design Description Version 1.0 Doc. No.: Project Name: Profile Analysis and Reconciliation tool Design Description Version: 1.0 Date: 2011-10-26 Revision History Date 2011-10-26 Version 0.9 Description Initial Draft Author Matija Hanžić Inderjeet Singh and Page 3 Project Name: Profile Analysis and Reconciliation tool Design Description Version: 1.0 Date: 2011-10-26 Table of Contents 1. Introduction 5 1.1 1.2 1.3 1.4 Purpose of this document Intended Audience Scope Definitions and acronyms 1.4.1 Definitions 1.4.2 Acronyms and abbreviations 1.5 References 5 5 5 5 5 5 5 2. External interfaces 5 3. Software architecture 6 3.1 3.2 3.3 3.4 7 7 7 8 4. Detailed software design 4.1 4.2 5. Conceptual design Software architecture in general System specification Error handling Class Diagram Communication Approvals 9 9 10 11 Page 4 Project Name: Profile Analysis and Reconciliation tool Design Description 1. Version: 1.0 Date: 2011-10-26 Introduction 1.1 Purpose of this document The purpose of this document is to give an insight into the design of PARTool. It will show the main idea of how this project will be realized and also provide a more detailed view into its architecture. 1.2 Intended Audience Intended audience for this document is: Project members Project supervisor Customer 1.3 Scope The scope of this document is for the PARTool project only. It will show a system architecture which is specific for this project and cannot be applied directly to other projects. 1.4 Definitions and acronyms 1.4.1 Definitions Keyword 1.4.2 Definitions Acronyms and abbreviations Acronym or abbreviation PARTool HTML CSS GUI MVC CDR JS Definitions Profile analysis and reconciliation tool HyperText Markup Language Cascading Style Sheets Graphical User Interface Model, view and controller Calls Details Records JavaScript 1.5 References 2. External interfaces The External interface will be the GUI consisting of some web pages that could be accessible in all the major browsers. The pages will be created by the use of HTML/CSS and JavaScript. Authentication would be the initial page which will ask credentials form Agent to verify. Then there is next page which will contain some things like setting parameter, selecting subscriber etc. Visualization library will be used to display data on web page in the form of graphs. Figure 1 shows the login page. Page 5 Project Name: Profile Analysis and Reconciliation tool Design Description Version: 1.0 Date: 2011-10-26 Figure 1 Figure 2 Figure 2 shows main page how the data will be displayed through graphs. Page 6 Project Name: Profile Analysis and Reconciliation tool Design Description 3. Software architecture 3.1 Conceptual design Version: 1.0 Date: 2011-10-26 `Figure 2 The system is designed with standard client-server architecture. Our application will be hosted on a web server which is accessible over the internet. Only thing needed on the client’s side is a standard internet browser. When a client request data from the server, server will connect to a database and retrieve the data client requested. All data gathering and processing will be done on the server side. Client is only responsible for data visualization of the data received from the server. 3.2 System Architecture in General Page 7 Project Name: Profile Analysis and Reconciliation tool Design Description Version: 1.0 Date: 2011-10-26 Figure 3 The system will be divided mainly into 3 tiers, which is shown in the figure 3. Database tier contains Database which will be in PostgreSql as given by customer. Above database there is application tier where main logic exists. Application contains two main sub components i.e. core module which will be responsible for main logic and will be written by using play web framework and security module that will also use play web framework and will take care about data access through JDBC. Sub modules in play will get the request from the Agent though GUI and then these two sub module will process it based on request. The top tier is client which will be responsible for the getting input from agent and displaying result. The GUI will be created by using the HTML/CSS and JavaScript language and special library which is Raphaël will be used to create graphs. 3.3 System Specification The concrete specification is now clear that is a mixture of specification given by customer and team members. This is the web application with few web pages. So we decided to use HTML/CSS and JavaScript for client side. As it is not complex web application we decided to use Play web framework instead of JSF. Play web framework based on MVC concept. Glassfish will be web server on UNIX machine. Database will be created in PostGreSql as said by customer. So the short summary of specification is given below. 1. 2. 3. 4. 5. GUI: HTML/CSS and JavaScript Visualization: Raphaël JS library Web Framework: Play ! based on MVC. Web Server: Glassfish on UNIX machine Database: PostGreSql Page 8 Project Name: Profile Analysis and Reconciliation tool Design Description 3.4 Version: 1.0 Date: 2011-10-26 Error handling Error Action Database Connection Proper details would be sent error Visualization error Agent will be notified with detail information Runtime Error Agent need to contact system administration 4. Detailed software design 4.1 Class Diagram Figure 4 In the figure 4, it shows the basic class diagram of Partool project. It consists of mainly four classes in which one is isolated from other three which is only for authentication. Security module is also sort of independent in this class which is provided by play web framework. Then agent_provide_info class is class used to display information both from CDR_INFO and profile_detail, because it contains object of both the class which will be empty in the beginning but filled after agent will ask for information through GUI. Where profile_detail contains the information of profile of customer like customer imsi, customer number etc. CDR_info will be responsible for the information related to CDR data like start call, end call etc. so agent_profile_info is composed by both profile_details class and CDR_Info class. 4.2 Communication Overview For our project it is very important to have an efficient communication schema to increase the response time. To provide the agent with a more responsive interface and to avoid long page loads during which an agent cannot do anything it has been decided that all the subscriber data will be requested using AJAX. For each subscriber’s data there will be a separate AJAX request to the server. When the agent makes an initial request to Page 9 Project Name: Profile Analysis and Reconciliation tool Design Description Version: 1.0 Date: 2011-10-26 access the main PARTool page the server will check to see if he is logged in and redirect him to a login page if necessary. Page 10 Project Name: Profile Analysis and Reconciliation tool Design Description 5. Version: 1.0 Date: 2011-10-26 Approvals Name Marin Orlić Title Date yyyy-mm-dd Signature Supervisor Page 11