Anda di halaman 1dari 126

CALL PROCESSING OPTIMIZATION SYSTEM

A PROJECT SUBMITTED IN FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTER IN COMPUTER APPLICATION (VIth SEM. INDUSTRIAL TRAINING)
SUBMITTED BY: Mayank kumawat

UNDER THE GUIDANCE OF: MR. BRIJESH MISHRA SOFTWARE DEVELOPER, MCA SOFTPRO INDIA COMPUTER TECHNOLOGIES P. LTD.

TITLE OF THE PROJECT

Call Processing Optimization System (Real Time Expert System)

ACKNOWLEDGEMENT

Though words are insufficient to acknowledge all my literacy depth, I wish 2

to express my deepest sense of gratitude to my esteemed guide Mr. Brijesh Mishra (Software Developer and Network Administrator, Softpro India Pvt. Ltd., Lucknow) for giving me an able guidance and scholarly supervision. I express my sincere thanks to all those who had helped me out to develop this project. Finally I thank the almighty God by whose grace I find myself in the position of putting forth my presentation.

(Somya Jain)

CERTIFICATE

This is to certify that Somya Jain (student of MCA V1th semester of Dr. Virendra Swarup Institute of Computer Studies, Kanpur) has completed her project on CALL PROCESSING OPTIMIZATION SYSTEM under my supervision. The project has been well planned and beautifully presented. She has done a commendable job in preparing work that has taken up a lot of effort.

Internal Guide Mr. Rekh Nath Singh

External Guide Mr. Brijesh Mishra

COVERAGE
PROJECT ABSTRACT PROJECT OBJECTIVE BUSINESS NEEDS AND CHALLENGES 4

SYSTEM ANALYSIS o Existing System o Identification of Need o Preliminary Investigation o Feasibility Study o Project Planning and Scheduling o Software Engineering Paradigm

SOFTWARE REQUIREMENT SPECIFICATION INPUT TO THE PROJECT OUTPUT OF THE PROJECT PROCESS LOGIC o Class Diagram o ER Diagram o DFD

SYSTEM DESIGN o Database Design o Module Description o Data Integrity and Constraint o User Interface Design

CODING o Project Coding (with Comment and Description) o Standardization of Coding o Error Handling o Parameters Calling/passing o Validation Checks

TESTING o Testing Methodologies o Testing Strategies o Test Case

o Bugs Report SYSTEM SECURITY o Access and Audit Control o Database Security COST ESTIMATION REPORTS SNAPSHOTS FUTURE SCOPE LIMITATIONS OF THE PROJECT BIBLOGRAPHY

PROJECT ABSTRACT

A system is a set or arrangement of independent things or components that are related, form a whole, and serve a common purpose. Here, the project Real Time Call Processing Optimization Expert System is a Client-Server based project, in which the queries putted up by clients to the server are automatically solved through the expert system. The human intervention is only needed when the clients problem is not solved automatically. Here, we have assumed that there is no geographical boundation for clients. A client communicates with server through its IP address. Server interacts with three entities Clients, Expert Database and with Administrator. Server interacts with client to solve its problems; Server interacts with Expert database to retrieve solution for the repeated queries. Server interacts with Administrator for - Its configuration. - Backup. - Security purposes. - For problems not solved by expert system. - For import and export of files and databases.

PROJECT OBJECTIVE

The objective of the project call processing optimization system is to focus on the optimization of the core functionality of the client for better Customer Relationship Management (CRM).The project is being developed for BPO client who is working for a large scale trader of Network Equipment. The primary functions of the client are customer services and product marketing. The core component of project will be an Expert System for answering the customer problems and product related queries. The application need to be rich in functionality and would be providing Service Oriented Architecture (SOA) and is to be used enterprise wide. The objectives of this project are as follows: o To ease the functioning of the IT Company an d enables the customer to get fast and correct result to their query regarding IT Products which will save the valuable time of customer. o To enable the company to keep track of its clients and the product which it has supplied to them. o To increase system efficiency and reliability. o To reduce the efforts in managing daily records. o To help management to take decisions regarding future enhancement of the system.

Specific Objectives
o Unauthorized access to the system should be prohibited. The system has a unique authentication process for which the employee must have a unique login ID and PASSWORD. o In order to achieve a most efficient system, a database would be maintained for record keeping. o Data redundancy should be eliminated by normalizing the database to maximum level. o Manual searching of the database should be eliminated.

SYSTEM ANALYSIS
The complete understanding of software requirements is essential for the success of a software development effort. The requirements analysis task is a process of discovery, refinement modeling and specification. The software scope initially established by the system engineer and refined during software project planning in detail. Modules of the required data, information and control flow, and operational behavior and created. Alternative solutions are analyzed and allocated to various software elements. Both developer and client take and active role in requirements analysis and specification. The client attempts to reformulate a sometimes-nebulous concept of software function and performance into concrete detail. The developer acts as an interrogator, consultant and problem solver. Requirements analysis is a software engineering task that bridges the gap between system level software allocation and software design.

EXISTING SYSTEM:
9

The manual system seems to be time consuming and less efficient with respect to the following procedures: Maintenance of Clients record is very typical, since there are numerous clients spread globally. Maintenance of a large amount of Queries and its Solution is a tedious job. Searching and matching the queries with its solution was very tedious. Calculating a particular persons efficiency that solves the clients problem is very hard. One query may arise several times and different administrators may solve it differently, so it is difficult to derive the optimal solution of that problem. The most importantly, it took time to provide services manually, thus more chances of clients dissatisfaction.

RECOGNITION FOR NEED:


On the analysis of the existing system, following problems were identified: Low Functionality With the existing system, the biggest problem was the low functionality. The problem faced hampered the work. For small task like registering a new complain or updating the status or keeping watch on customer information the system requires the specific information to be remembered by the customer and CSE for example to know the status of the logged complain customer needs to tell the complain ID without which it was very difficult to search and get the current status of his complain. Erroneous Input and Output In the existing system, humans performed all the tasks. As in the human tendency, error is also a possibility. Therefore, the inputs entered by the person who is working in the Company, in the registers may not be absolutely foolproof and may be

10

erroneous. As a result of wrong input, the output reports etc will also be wrong which would in turn affect the performance. Portability System that existed previously was generic Customer Information System. As a result, the system was less portable. It was not implemented as a feature to transfer data from one database to another. A big problem was that the system was less flexible and if we wanted to calculate yearly or monthly maintenance report or efficiency report, then it was a big headache. Security Security concerns were also one of the motives of the Company for the need of software. In the existing system the data is not secure as anybody can tamper with the data written in the known format at specific servers. While in this software, Smart card feature makes it absolutely secure from the reach of unauthorized persons. Data Redundancy In the case of existing system, the database is maintained in which, a lot of data is written in redundantly. Each time a new query rises up, it need to be written while the old queries may be written repeatedly which may cause confusion while tallying the solution for the same query of different clients. Processing Speed In the existing system maintaining a particular database and performing all the necessary operations on it has proved to be a troublesome job, which takes a lot of time and may affect the performance of the Company. But with the proposed software we can have all the tasks performed in a fraction of second by a single click thus making the troublesome job much easier.

11

Complexity in work In the existing system whenever a call is to be processed where client is not

having sufficient data, it takes a very complex procedure to juggle with the system and fetch the client information which is expected by the client. So, call processing time gets increased in enormous way in this situation. The objective the new system is to simplify the call processing job and optimize the time taken by the customer service executive to respond to the customer query.

PRELIMINARY INVESTIGATION:
Present system of the company was manual; therefore it was an incompetent system. All the details of personal information of the clients and the Products are maintained in registers. All the information regarding the sale of a particular product to a particular Client is also maintained in registers. All the queries of the Client are manually solved. The daily-to-daily entries are also done manually. The objective of my project is to create an easy and confirmable rapport between the Management of the Company and its Clients. Computerization of the system is needed. The main objectives of project are as follows: The software is purposefully developed to save the time of query solving. The software is developed for smooth functioning. To handle large amount of data, that is a tedious job in case of third party system. To avoid delaying in searching. To increase system efficiency and reliability. To reduce the effort involved in processing. To generate various reports required to be sent to the management or to give the solution to the Client in black and blue, if so demanded.

12

A request to take assistance from information system can be made for many reasons, but in each case some one in the organization initiate the request. When the request is made, the first system activity the preliminary investigation begins. This activity has three parts: Request clarification Feasibility Study Request approval Many requests from employees and users in the organization are not clearly defined. Therefore, it becomes necessary that project request must be examined and clarified properly before considering systems investigation.

FEASIBILITY STUDY:
Before getting started on the new system it was important to determine the feasibility involved in the developed system so that the new system development could be developed. Feasibility is this determine of whether or not a project is not worth doing. The project followed in making this determination is called a feasibility study. This type of study determines if a project can and should be taken. Once it has been determining that, project is feasible, after that analyst can go ahead and prepares the project specification, which finalizes project requirements. Feasibility studies are undertaken within tight time constraints. The developed system is started after considering the main three types of feasibilities that are discussed below:Technical Feasibility:As we know the technical feasibility is concerned with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may vary considerably, but might include:

13

The facility to produce outputs in a given time. Response time under certain condition is minimal. Ability to process a certain volume of transaction at a particular speed. Facility to communicate data to distinct location. In examining the technical feasibility, configuration of the system is given more

importance than the actual make of hardware. The configuration should give the complete picture about the systems requirements- how many workstations are required, how these units are interconnected so that they could operate and communicate smoothly. Economic Feasibility:Economic analysis is the most frequently used technique for evaluating the effectiveness of the proposed system. More commonly known as cost/benefits analysis, the procedure is to determine the benefits and savings that are expected from the purposed system and compared with costs. If benefits out weigh cost, a decision is taken to design and implement the system. Otherwise, further justification or alternative of the proposed system will have to be made if it has a chance of being approved. This is an on going effort that improves in accuracy at each phase of the system life cycle. The analysis part also clears the doubt of economic problems which could be possible in developing the system. As already mentioned that the company has to just pay the developed software cost and not other investment is needed at the time of implementation of the new system as the preliminary requirements already exist in the company. Operational Feasibility:Proposed projects are beneficial only if they can be turned into information system that will meet the operating requirements of the organization. This test of feasibility asks if the system will work when it developed and installed. Are there major barriers to implementation? Some of the important questions that are useful to test the operational feasibility of a project are given below:

14

Is there sufficient support for the project from the implementation? From user? If the present system is well liked and used to the extent that persons will not be able to see reasons for change, there may be resistance.

Are current business methods acceptable to the user? If they are not, user may welcome a change that will bring about a more operational and useful system. Have the user been involved in the planning and development of the project? If they are involved at the earliest stage of project development, the chances of resistance can be possibly reduced.

Will the proposed system cause harm? Will it produce poorer result in any case or area? Will the performance of staff member fall down after implementation? Issue that appears To be quite minor at the early stage can grow into major problem after Implementation. Therefore, it is always advisable to consider operational aspects carefully. The system is developed keeping in mind that it should be user friendly and easy to operate hence the System is operational feasible.

PROJECT PLANNING AND SCHEDULING:


I have used Bottom-Up approach in my Project. Firstly I develop each module individually and then integrated at the end. My project is based on Flow Graph Strategy of Software Engineering.

15

Start

Sale Information

Login Module User Information

Complaint Knowledge Base Client Module

Instant Messaging

Testing

CPO PROJECT

SOFTWARE REQUIREMENT SPECIFICATION


1. Objectives:

16

This document represents the requirements analysis effort to define technical and business process requirements for Call processing optimization System (CPO). This document is produced prior to Detailed Design and development of the application. It will be used by the design team as the baseline for establishing systems design and ultimately the development of the system.

2. Scope:
The scope of CPO will focus on optimization of the call time which CSE takes to resolve the customer query and give support to customer based on best practices of BPO industries. Using the existing third party software infrastructure, we will design, develop and deploy the CPO system to satisfy the business requirements defined by the S T A during the analysis and requirements gathering. The requirements specified in this document cover the entire necessary and mandatory feature of application required by the S T A. The data captured in this process will aid the testing process during unit testing and deployment. The software is required to fulfill the functional requirements to identify multiple STA Customers as a single entity.

3. Time Constraints:
Final deployment of the software will not take place until after the data migration from existing third party system to CPO which is estimated to be done by 15 Nov 2008.

4. Requirements Notes/Legends:
C R O SM EF Conditionally Required Required Optional System Maintained External Feature

5. Requirements:
5.1 Application Functionality:

17

REQ No.

Sl.No

Priority

Requirement All modules, listed in Annexure A, would be GUI based or web based. These modules should have all the currently used features of third party CIS system.

R5.1.1

R5.1.2

Software should be user friendly, stable and secure. It should have high esthetic value.

R5.1.3

Expert Search engine should be part of every module which should be customized to retrieve the information related to that module in fast and precise manner.

R5.1.4.

System should have a capability to handle multiple databases and to switch between databases at run time. There should not be any development or compilation required in case of change of database.

R5.1.4.

System should have web service interface with dealer and the trader so that it can be integrated in their in-house system.

R5.1.5.

CPO would be used by mainly four type of user i.e. System Administrator, CSE, Manager and customer, there should not be requirement of interaction with system from dealer and trader side.

R5.1.6.

CPO would be used by mainly four type of user i.e. System Administrator, CSE, Manager and customer, there should not be requirement of interaction with

18

system from dealer and trader side.

R5.1.7.

CPO will implement a Customer Care Zone on website which would be used to give service and support to customer as per defined by quality manual of S T A.

R5.1.8.

Solution should have GUI based un time switching of Database and background service for mirroring of the database.

R5.1.9.

Interface from the proxy card machine and attendance recoding should be the intrinsic part of the application and there should not be any third party software used for this purpose.

R5.1.10.

CPO would implement the Internal messaging and communication system as provided by Silent Call in third party software.

R5.1.11.

EF

Database backup and migration feature

R5.1.12.

Client based desktop complain logging .system should have a feature of offline working implement

19

with MS-Access or any other file based database.

R5.1.13.

The CPO system have the consistent look including toolbars and menus across all supported platforms and interfaces.

R5.1.14.

The CPO System's runtime architecture shall be Three-tier application namely Client layer (Presentation logic), Server layer: (Business logic) and Database layer (Persistence logic) with standard applications software component

R5.1.15.

The CPO System must have the Federation features that allows to link and share information among various systems within an enterprise and among locations. It should have provision to connect to existing enterprise directory collaborating enterprises regardless of the technology used in different to the system and ability to have proxy objects.

5.2 Security Requirements:


No. SlNo Priority Requirement

R5.2.1

The CPO System must have data security features must be in -built with the system and R it should support Sandbox security for trusted client and HTTPS protocol (HTTP over Secured Socket Layer) for encryption.

R5.2.2

R All the critical information in the database should be secure

20

R5.2.3

R Information which would be stored in the smart card should be based on PKI. RSA algorithm should be implemented with in the application it self.

R5.2.4

R All the interactive user of the system should have separate login and authentication screen and would be provided different feature in the application based on their privilege level.

5.3 Output Requirements:


No. R5.3.1 SlNo 1 Priority R Requirement System would generate all A4 size reports and documents. Reports and output of the system should be simple and attractive with mix of colors for better readability.

R5.3.2

R5.3.3

EDI output for backup and migration

R5.3.4.

User Friendly and easy interfaces for generation of all the output mentioned in S T A system Manual 3.1.

5.4. Data Management and Migration Requirements:


5.4.1. The CPO System should organize the data in such away so that it can be easily accessed, referred and cross-referenced or it shall provide the capability to manage electronic document. 5.4.2. The CPO System should manage all object attributes in the database. The scanned images of the products and other related Specification/notes have to be associated with the assemblies & components.

21

5.4.3. The CPO System should provide the capability to allow all the attributes to be associated with a product. 5.4.4. The CPO System should support the distribution of electronic documents. 5.4.5. The CPO System should provide a flexible means of supporting object numbering system 5.4.5. The CPO System should provide a capability to allow history information to be accessible, displayable on-line and printable for authorized users. 5.4.6. The CPO System should support the combined searching of attributes and full-text databases. 5.5 Deployment Requirements: 5.5.1 Time Constraints: Final deployment of the software will not take place until after the data migration from the existing third party system to CPO which is estimated to be done by 15 Nov 2008. 5.5.2 Liquidity Damage Clause: Any delay in project deployment will result in liquidity damage @ 12% of the total cost of the project per month. This will not include delay due to non availability of infrastructure or break down at client site. In the case delay is caused by STA, no liquidity has to be borne by the SPI. 5.5.3 Training and Documentation: Training on the System would be provided by SPI for the 2 months after deployment of the project. No extra fee would be charged for the training and documentation. Documentation on all the modules and functionality will be provided by SPI at the time of deployment. 5.5.4 Hardware Requirement: XEON SERVER: 22

Quadra 2.8 GHz Processor 2 GB DDR SDRAM 4-64bit PCI I/O slots (four 100 MHz) RAID Controller hardware with 32MB battery backed ECC Cache 108 GB internal Hot swap Disk Storage 52X internal CD Writer Integrated 10/100/1000 MBPS NIC 4U rack Height 4 fans for cooling PS2 mouse with antistatic pad PS2 keys keyboard 17 Color monitor (resolution 1280 x 1024 @60Hz) 8MB SDRAM graphics Windows 2000 Server with 25 user license Mac fee virus scan preloaded Make: IBM, ACER, HP, DATAMINI

NODES FOR CLIENT SOFTWARE: Intel P4 2.4 GHz Processor 512 DDR SDRAM 40GB IDE HDD Integrated IDE Controller 48 x IDE CDROM Drive 3.5 FDD 10/100 NIC Matrox G450 with 32 MB Graphics PS2 Key board PS2 mouse with antistatic pad

23

17 Color monitor (resolution 1280 x 1024 60Hz) Windows 2000 Preloaded Mac fee virus scan preloaded 1 Serial, 1 Parallel & 6 USB ports for I/O Make: IBM, ACER, HP, DATAMINI

5.5.5 Software Requirement:


o

Server side Software Requirements

Microsoft .Net framework 2.0 SQL Server 2005 MS Access 2003


o

Client side Software Requirements Microsoft .Net framework 2.0 MS Access 2003 Internet Explorer

6. Support and Maintenance:


One (1) year free on-site comprehensive support for rectifying system bugs including front end, middle tier and backend. During warranty period two Site Engineers one each for Hardware and Software should be identified for S T A. After one year support can be extended @ 20% of the total product deployment cost.

24

INPUT TO THE PROJECT


The inputs to the project are the queries asked by the client in terms of the calls they make to the Customer Service Executive (CSE). Another input that is applied in the project is the orders made by the clients in order to purchase the products as mentioned in the catalogue. The enquiries and complaints made by the customers also form a part of the input to the project. Besides these the trader also provides the product catalogue and knowledge base as the input. The dealer provides sales and order information to the system as input. The inputs as provided by the entities i.e. the customer, the trader and the dealer are fed into the CPO system that processes these inputs to produce the appropriate output.

25

OUTPUT OF THE PROJECT

The output of the project is the resultant optimized time taken by the CSE to process the call made by client to make requests and enquiries. The output is also evaluated in terms of the products supplied to the customers. The customer support and services are also a part of the output of the project.

26

CLASS DIAGRAM

USER
User Id User Save User Update/Delete Help By Maintain

Administer

Client
ClientId Client Save Client Update/Delete Buy Log

Expert Search
Information Id

Product
Product Id Product Info Save Product Info Delete

Complaint
Complaint Id Complaint Save Complaint Delete/Update

Knowledge Base
Product Id Save KB Update/Delete KB

27

ENTITY RELATIONSHIP DIAGRAM

IT COMPANY

Has Solution Name Of Company


Password

Version_No

Priority CLIENT
ID

P_Id P_Name PRODUCTS

Prob_Id Sol_Id EXPERT SYSTEM

Serial_No Key-Word
Contact_p

ADMINISTRATOR can Purchase


Gives

Solutions to

A_ID

Gives

COMPLAINS 28

Solutions Complain_Id Can place complains Ip_Add_o_ Client Attachment to


A_Password

DATA FLOW DIAGRAM (0-LEVEL DFD)


Client_Info. Product_Sales. Product_Info.

1.0 Data Entry

Details Stored
2.0

Client
Request for Complaint 00000 Complaint registered

Complain & Problem Solving

Details Filled

Administrator
Problems

Sol_Master.
Solutions

Complain_Mas.

RND

3.0 Report & 29 Summary


Super User

Unsolved Queries Provides Solution Request For Reports & Summary Generate Reports. Supervises Server Configuration & create Administrators.

(1-LEVEL DFD)

Client_Info.

1.1 Client Entry


Client details saved

Product_Info

1.2 Product Entry

Product Details Saved

Administrator

Sales Details Entered & Saved

Sales_Info

1.3 Sales Entry

30

(2-LEVEL DFD) Complain And Problem Solving 2.0 level DFD


Sol_Master. 2.1 Complain searched in Database Complain Master

If Solution Not Found In Database

Administrator Provides Solution

Administrator
Saves solution If Not Solved Details of Problem Assigns Complain Number

2.2 Refer To

RND
Problem Solved

Report Evaluation 3.0 level DFD


Performance 3.1 System Performance Evaluation. 3.2 31 Generate Report Administrator Client

Super Higher Authority Administrator

SYSTEM DESIGN
The term design used in two ways used as a verb, it represents the process of design for the system. The objective of the design process is to produce a model of representation of a system which can be used later to build the system. The produced model is called the design of the system. The design process for software systems often has four levels, they are : Data Design Architectural Design Interface Design Procedural Design

Database Design:
During this phase of dat5a design, the relation of the data structure to the software requirement specification is to be designed and the data dictionary used in this should be specified. An important activity during design is to identify the program modules that must operate directly upon the logical data structures. LoginInfo:

Name

Data Type

Length 32

Constraints

Description

UserID Passwd HintQuestion

Varchar2 Varchar2 Varchar2

15 35 50

Primary key

Login ID Password Hint question

HintAnswer

Varchar2

50

Hint Answer

ClientInfo:

Name ClientID Name AddLine1 AddLine2 City PIN State Country PhoneNo1 PhoneNo2 Fax Email ContactPerson CpPhone

DataType Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Number Varchar2 Varchar2 Number Number Number Varchar2 Varchar2 Number

Length 15 35 20 20 20 6 20 20 12 12 12 35 20 12

Constraints Primary Key

Description Client Identification Number Name of the Client/ Company Address1 Address2 Name of the City PIN Code State Name Name of the Country Phone Number1 of Company Phone Number 2 of Company Fax Number of Company E-mail Id Of Company Contact Person if Customer is a Company Contact Person Phone No

33

ComplainLog: Name ComplainID ComplainDate CustomerID IPAddress OrderID ProductID Problemdesc ProblemID SolutionID Solstatus DataType Number DateTime Number Varchar2 Number Number Varchar2 Number Number Varchar2 9 20 9 9 20 9 9 20 Length 9 Constraints Primary Key Description Complaint Id

Instant Messaging: Name IMNumber SentTo Message SentFrom SentDt DataType Number Varchar2 Memo Varchar2 DateTime 20 Length 9 20 Constraints Primary Key Description Instant Messaging Number

KnowledgeBase: Name ProblemID SolutionID ProductID DataType Number Number Number Length 9 9 9 Constraints Primary Key Description Problem Id

34

QueryType Keywords Query1 Query2 Query3 SolutionText ReqMatchLevel

Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Number

20 50 20 20 20 500 9

NetworkInfo: Name UserID IPAddress DataType Varchar2 Varchar2 Length 20 20 Constraints Description Primary Key User ID

ProductSpecs: Name ProductID SpecsName SpecsValue Unit DataType Number Varchar2 Varchar2 Varchar2 Length 9 20 20 20 Constraints Primary Key Description Product ID

SolutionLog: Name ComplainID SolutionDate CseID SolutionMode DataType Number DateTime Number Number 9 9 Length 9 Constraints Primary Key Descriptrion Complaint ID

35

SolutionID

Number

UserInfo: Name UserID Name Designation Department Grad DOB Joiningdt DataType Number Varchar2 Varchar2 Varchar2 Number DateTime DateTime Length 9 20 20 20 9 Constraints PrimaryKey Description User ID

ProductInfo: Name ProductID ProductName ProductType ModelNo Category PowerType ReleaseDate BriefDesc DetailDesc Price Warranty Status Data Type Number Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 DateTime Varchar2 Memo Number Number Varchar2 9 9 20 100 Length 9 20 20 20 20 20 Constraints PrimaryKey Description Product ID

AdminLogin: 36

Name UserID Passwd HintQuestion HintAnswer

DataType Varchar2 Varchar2 Varchar2 Varchar2

Length 20 20 20 20

Constraints Primary Key

Description User ID

MODULES
The subsystems or the subparts of the whole system are known as the modules. These modules constitute the modular design of the system where different modules /subsystems are simultaneously developed. These modules are later integrated to produce the complete system. Each module is related to some functioning of that system. There are altogether twenty modules in our project that are enlisted as follows: Login Manager Smart Card Product Catalogue Management System Customer Information Knowledge Base Management System Connection Manager User Administration Instant Messaging System and Meeting Organizer RTS Server Sale and Order Book Complain Logging System Socket Based Secure Chat System Client Enquiry Desktop Web Based Enquiry System Complain Logging Web Service Unresolved Problem Reporting System Remote Installation Server(RIS) Expert Solution Search Engine Expert Search Solution Web Service SMS and FAX Service Integration

37

LOGIN MANAGER:
This module is basically related to the security and authentication of the

user to ensure that only valid user can login into the system. The user should have a specific USERID and PASSWORD to validate his/her identity before logging into the system. This would ensure that only valid users would be able to login into the system. The class developed for the login module has the following format: Class Name: LoginManager Public Fields

public string TableName; public string UserField; public string PasswdField; public string HintQuesField; public string HintAnswerField; public OleDbConnection DbConnection; Public Methods

38

public bool ValidateUser(string strUserId, string strPassword) public bool SaveNewUser(string strUserId, string strPassword) public bool SaveNewUser(string strUserId, string strPassword,string strQues,string strAnswer ) public bool UpdatePasswd(string strUserId, string strPassword) public bool DeleteUser(string strUserId) public string GetHintQuestion(string strUserId) public bool VerifyHintAnswer(string strUserId, string strHintAnswer) The Project CPO is real time system therefore security has to be maintained at the role-based level and it is done by the class LoginManager. The special feature of this class is that it can be used by any database by providing its object to this class. There is role based security therefore the login ID for all the users as well as for the CSE is created by the LoginManager only. The different methods included in the class are described as: o Validate User: This method is used to authenticate and validate the user to check whether the user is valid or not and whether he/she has access to the account information and exploit its services. o Save New User: This method is used at only managerial level where they create the login id and password for a customer or CSE. This method creates a new account for the new person.

39

o Update Password: This method is used by the Login account holder which wants to change the password in this method first we validate the users authentication after that he or she can change the password. o Get Hint Question: This method is used when user forget password and want to recover the account Then to validate the authenticate person this method return the HINT QUESTION which user has filled at the time of account creation. o Validate Hint Answer: This method validates the hint answer of the particular account according to the Hint Question to recover the login account password.

KNOWLEDGE BASE:
This module is used to auto solve the clients complain or to help CSE (Customer service Executive) to answer clients problem or query. As BPO company is working in field of Network Equipment Service and support, generally all the customers are corporate customers having large network infrastructure. Although in some of the cases, individual customers are also part of customer information database having limited number of equipment. Customer service Executive has to interact with customer for his queries and day to day problems. While interacting with customer, CSE should have a strong knowledgebase to resolve customers complain and serve him better. Keeping this in mind this module is developed which can intelligently search the query/problem from knowledgebase having a large number of problems and their solutions. It gives the solution of customers problem instantly to CSE and he can interact with customer on that basis. It also get integrated with Complain logging system so that customer may get a solution of his problem as soon as he submit his complain in the system if that query or similar query already exists in the knowledge base.

40

It is user friendly GUI interface with provide all the required information with minimum efforts. The emphasis is more on providing useful information rather than raw data from a database that still needs processing or analyzing to become meaningful. This module is the most important component of Call Possessing Optimization system as call handling time can be reduced drastically if customer service executive can have probable solutions on his screen at the time of interaction. Features: 1. It has inbuilt expert search mechanism to search solutions of clients complain in an easy and effective way. 2. It has sophisticated and user friendly GUI so that information/solution presented in comprehensively and easily understandable format. 3. It retrieves information/solution in a fast and reliable manner. 4. It provides fast switching between screens and data using control box on the screen. can be

DFD of Knowledge Base Module:

41

Benefits of Knowledge Base: An information system is there to empower its users. A database simply provides data, but a knowledgebase system is all about providing the best solution the user needs to do their task more effectively. It also takes into account that different users doing their own specific tasks may need to see their information presented in differing ways. The benefits of a knowledgebase system follow when the user can quickly access, understand and respond correctly to the solutions provided by knowledgebase. These all benefits are catered in the developed Client Information System. Its benefits can summarizes as shown below Solution of a customers problem can not be left on CSEs memory, there should be strong knowledgebase to help him to get the best answer of the clients query in a more accurate and effective manner. Providing easier and more efficient information sharing about product usage 42

and associated problems amongst BPO and products manufacturer. Automatic solution to the well known problems so that customer need not to waste time for solution. Faster response of CSE to the customer Customer satisfaction and delightment

Methodology: This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. For development of sophisticated GUI is done using Visual Studio 2005 and VC#. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms controls are used to provide all data entry and updation features in application. The following features of object oriented programming are used to develop the module: Public Properties Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

KB class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class.

43

Design of the class is shown below: Class Name: KB Public Properties: public int ProblemID; public int SolutionID; public int ProductID; public string QueryType; public string KeyWords; public string Query1; public string Query2; public string Query3; public string SolutionText; public int ReqMatchLevel; public OleDbConnection DbConnection; Public Methods: public bool SaveKB(); // take values from properties and save in database public bool UpdateKB (); // take values from properties and update in database public bool Delete KB (); // take values from properties and update in database public DataSet Get KB (); // take all records from database and return a DataSet public Complain Get KB (int ProblemID); //take KB from database and return public DataSet ExpertSearch(object criteria); //search KB table based on criteria given and return a DataSet having all the matched rows

Development of Class: KB class is developed using C# under visual studio 2005. To develop database oriented functions ADO.net is used. Details of .Net classes and namespaces are shown below:

Namespace used: 44

System.Data; System.Data.OleDb; FCL Classes used: OleDBConnection; OleDbCommand; OleDBDataReader; OleDBDataAdapter; DataSet; Following functions are developed with the help of above FCL classes to interact with Database: o SaveKB(): This function is used to save all the information about known problems and their solutions In the database. This is a non static function and it can be called on the object of KB class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Saved by the system. o UpdateKB(): This function can be used to update a problem and solution in the database. This is a non static function and it can be called on the object of KB class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o DeleteKB():

45

This function is used to Delete KB record if that product is not discontinued to be supported by BPO company or solution of the given problem does not work properly. This is also a non static function and it can be called on the object of KB class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Deleted by the system. o GetKB(): It is an overloaded method, the function without any argument returns information of all the problems and their solution from Knowledge Base. This is also a non static function and it can be called on the object of KB class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o GetKB(int ProblemID): It is an overloaded method, the function with int ProblemID as an argument returns information of a particular problem whose ProblemID is passed in the argument. This is also a non static function and it can be called on the object of KB class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o ExpertSearch(object criteria) This is an important function and it is the core component of the expert search. It takes one argument as object. As object can have reference to any data type, so this function can be called by passing any type like int, double, char, DateTime, string etc. Type of the argument is identified by RTTI (Run Time Type Identification) in the

46

function implementation and depending on the type of the argument sql search function is called to search data from the database. For example if integer value is passed in the argument of the expert search function than it will match this criteria in the fields which are integer type i.e. ProblemID, Product ID, Solution ID etc. After searching intelligently it stores the result in dataset and returns the dataset to the calling function. Calling function can show the result in a data grid for user interaction. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Criteria mismatch by the system. Database Design for KB: This project is a multi-database project i.e. connection to database is decided on runtime by connection manager component. It can be connected with SQL Server 2005, Oracle 10g, or MsAccess 2003. However table structure is fixed for all the databases. Table structure for KB module is shown below. Table Name: KB Field Name ProblemID SolutionID ProductID QueryType Data Type number number number Varchar2 Size 10 10 10 10 Constraint Primary Not null Not null Description Problem Identification Number Solution Identification Number The Product identification number To match with main question keyword like How, When, Why, What etc. To match with main question keyword like How, When, Why, What etc. possible query statement1 47

KeyWords

Varchar2

10

Query1

Varchar2

200

Query2 Query3 SolutionText ReqMatchLevel

Varchar2 Varchar2 Varchar2 number

200 200 500 3 Not null

possible query statement2 possible query statement3 The solution to the problem. The Product identification number

CLIENT INFORMATION SYSTEM: This module is used to provide information of customer/client to CSE (Customer service Executive). As BPO company is working in field of Network Equipment Service and support, generally all the customers are corporate customers having large network infrastructure. Although in some of the cases, individual customers are also part of customer information database having limited number of equipment. Customer service Executive has to interact with customer for his queries and day to day problems. While interacting with customer, CSE should have all the information about him like his name, Address, Email, Fax No., priority etc. to serve him better. Keeping this in mind this module is developed which can give information of customer instantly to CSE as soon as his interaction starts with customer. It has user friendly GUI interface which provides all the required information with minimum efforts. The emphasis is more on providing useful information rather than raw data from a database that still needs processing or analyzing to become meaningful. This module is an important component of Call Possessing Optimization system as call handling time can be reduced drastically if customer service executive can have client information at the earliest. Instead of asking all the needed information from client like his fax no, address etc. customer service executive can view on the screen. Features : 1. 2. It has inbuilt expert search mechanism to search information about client It has sophisticated and user friendly GUI so that information about client in a easy and effective way. can be presented in comprehensively and easily understandable format.

48

3. 4.

It retrieves information in a fast and reliable manner. It provides fast switching between screens and data using control box on

the screen. Benefits: An information system is there to empower its users. A database simply provides data, but an information system is all about providing the best information the user needs to do their task more effectively. It also takes into account that different users doing their own specific tasks may need to see their information presented in differing ways. The benefits of an information system follow when the user can quickly access, understand and respond correctly to that information. These all benefits are catered in the developed Client Information System. Its benefits can be summarized as shown below: Creating a more accurate and clearer picture of client who is on call. Providing easier and more efficient information sharing amongst BPO and

dealer of the products. Better knowledge about the business of customer and priority which should

be provided to him Faster response of CSE to the customer Customer satisfaction and contentment

Methodology: This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. Development of sophisticated GUI is done using Visual Studio 2005 and VC#. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI

49

forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms controls are used to provide all data entry and updating features in application. The following features of object oriented programming are used to develop the module Public Properties Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

ClientInfo class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class. Design of the class is shown below Class Name: ClientInfo Public Properties: public int ClientID public string Name public string AddLine1 public string AddLine2 public string City public int PIN public string State public string Country public int PhoneNo1 public int PhoneNo2 public int Fax public string Email public string ContactPerson public int CpPhone 50

public int CpExtNo public int CpMobile public string CpEmail public int Priority public OleDbConnection DbConnection; Public Methods: public bool SaveClientInfo(); // take values from properties and save in database public bool UpdateClientInfo (); // take values from properties and update in database public bool DeleteClientInfo (); // take values from properties and update in database public bool UpdatePriority (int iClientID, int Priority); // Update Priority public DataSet GetClientInfo (); // take all records from database and return a DataSet public ClientInfo GetClientInfo (int iClientID); //take ClientInfo from database and return public DataSet ExpertSearch(object criteria); //search ClientInfo table based on criteria given and return a DataSet having all the matched rows Development of Class: ClientInfo class is developed using C# under visual studio 2005. To develop database oriented functions ADO.net is used. Details of .Net classes and namespaces are shown below Namespace used: System.Data; System.Data.OleDb; FCL Classes used: OleDBConnection; OleDbCommand; OleDBDataReader; OleDBDataAdapter; DataSet;

51

Following functions are developed with the help of above FCL classes to interact with Database : o SaveClientInfo(): This function is used to save all the information about client into database. This is a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Saved by the system. o UpdateClientInfo(): This function can be used to update all the information about client into database. This is a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o DeleteClientInfo(): This function is used to delete client if they are not supported by BPO Company. This is a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Deleted by the system. o UpdatePriority(): Priority of a client is decided on the basis of business volume it means if client purchase equipments in bulk he will have higher priority than the client who purchase less quantity of equipment. This function is used to update priority of a client if they

52

increase or decrease their purchases with the company. This is a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Priority Not Updated by the system. o GetClientInfo(): It is an overloaded method, the function without any argument returns information of all the clients. This is also a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o GetClientInfo(int iClientID): It is an overloaded method, the function with int iClientID as an argument returns information of a particular clients whose ClientID is passed in the argument. This is also a non static function and it can be called on the object of ClientInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system.

o ExpertSearch(object criteria): This is an important function and it is the core component of the expert search. It takes one argument as object. As object can have reference to any data type, so this function can be called by passing any type like int, double, char, DateTime, string etc. Type of the argument is identified by RTTI (Run Time Type Identification) in the function

53

implementation and depending on the type of the argument sql search function is called to search data from the database. For example if integer value is passed in the argument of the expert search function than it will match this criteria in the fields which are integer type i.e. ClientID, Phone number, fax number etc. After searching intelligently it stores the result in dataset and returns the dataset to the calling function. Calling function can show the result in a data grid for user interaction. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Criteria mismatch by the system. Database Design for ClientInfo: This project is a multi-database project i.e. connection to database is decided on runtime by connection manager component. It can be connected with SQL Server 2005, Oracle 10g, or MsAccess 2003. However table structure is fixed for all the databases. Table structure for ClientInfo module is shown below. Table Name: ClientInfo Field Name ClientID Name AddLine1 AddLine2 City PIN State Country PhoneNo1 PhoneNo2 Fax Email ContactPerson CpPhone CpExtNo Data Type Varchar2 Varchar2 Varchar2 Varchar2 Varchar2 Number Varchar2 Varchar2 Number Number Number Varchar2 Varchar2 Number Number Size 15 35 20 20 20 6 20 20 12 12 12 35 20 12 6 54 Constraint Primary Description Client IdentificationNumber Name of the Client/ Company Address1 Address2 Name of the City PIN Code State Name Name of the Country Phone Number1 of Company Phone Number 2 of Company of Company Fax Number E-mail Id Of Company Contact Person if Customer is a Company Phone No Contact Person Contact Person Extension No

CpMobile CpEmail Priority

Number Varchar2 number

12 35 10

Contact Person Mobile No Contact Person Email Address As per Business Volume(110)

DFD of Client Info Module:

COMPLAIN LOGGING SYSTEM:


Online help and Complaint handling is a critical part of CPO system. A complaint logging system provides a closed-loop mechanism that allows you to implement effective, timely resolutions to network or services issues. Through powerful reporting and trending capabilities, Complain Logging system provides fast, accurate information

55

to help management make meaningful and effective decisions. Built-in, configurable reporting capabilities enable management to drill-down into issues and offer valuable insight into the top recurring complaints and time required to resolve issues. This module is used to send the clients complain or problem to CSE (Customer service Executive) to answer clients problem or query. As BPO Company is working in field of Network Equipment Service and Support, generally all the customers are corporate customers having large network infrastructure. Although in some of the cases, individual customers are also part of customer information database having limited number of equipment. Customer service Executive has to interact with customer for his queries and day to day problems. While interacting with customer, CSE should have a strong database record of all the customers who purchase the item. Data Base would have customers ComplainID (complain no.), SolutionDate (date time of solution), CSEID (customer service executive who assisted), SolutionMode (1=Auto, 2=Manual, 3=Serviceengg, 4=R&D 5=NotSolved), SolutionID (if solution has taken from KB).CSE save all the complains in database related to the complain id of that particular customer. There are many different ways by the CSE can save the complains and their solution of the customer or client. If CSE get any complain then he assign the complain id, solution date, CSEID solution mode and solution id to the particular complain. CSE can save the solution in database if the problem is solved. CSE can also update the solutions on three bases. Firstly he/she can update the solution of the complain depend on any property. Secondly he can update the solution of the complain based on complain id, solution mode. Last but not the least he can update the solution of the complain/problem based on complain, solution mode and solution id. Then he can assign complain to CSE by the complain id and id of the particular CSE i.e. CSEID. He can take solution from the database and all the records of the solution if the similar complain arise again. There are also many different ways by which CSE can get solutions from the database. Firstly based on complained. Secondly based on customer id. There is also expert search by which CSE can search solution based on criteria given. It can be first name, model name, model no, date of purchasing etc. By the help of expert search CSE can find the information as soon fast because its based on criteria given by the client and by this CSE and client both can save their time.

56

Features: It has inbuilt expert search mechanism to search solutions of clients complain in an easy and effective way. It retrieves information/solution in a fast and reliable manner. It has many options to update the solution. It has many options to get solution based on different criteria.

Benefits of Complain Logging System: Successful businesses work hard to keep their customers satisfied. Although prevention is better than cure, it is almost inevitable that at some stage you will receive a customer complaint. Don't presume a customer complaint is a negative experience because, if handled well, it can be a valuable learning tool. Complain loging system has many benefits.

Improved product quality and service delivery. Fewer mistakes and less time spent fixing them. Better understanding of customers' needs. Greater customer loyalty. More customers through word of mouth advertising from satisfied clients. Less time and money spent attracting customers. Improved business reputation. A healthier bottom line.
DFD of Complain Logging System:

57

D4

Offline Complain Info 1.2

Client Desktop System


Class Design: Class Name : Complain Public Properties: public int ComplainID; public int ComplainDate; public int CustomerID; public string IPAddress; public int OrderID; public int ProductID; public string ProblemDesc; public int ProblemID; public int SolutionID; public int SolStatus; Public Methods:

Client

Complain Comp. Ref. No

58

Solution

Method Prototype public bool SaveComplain(); public bool UpdateComplain (); public static bool UpdateSolStatus (int ComplainID, int SolStatus); public DataSet GetComplain(); public Complain GetComplain (int iComplainID); public DataSet GetCustomerComplain(int iCustomerID); public DataSet GetProductComplain(int iProductID); public DataSet ExpertSearch(object criteria);

Description take values from properties and save in database take values from properties and update in database Update Status take all records from database and return a DataSet take user info from database and return take all records of a customer take all records of a product search Complain table based on criteria given and return a DataSet having all the matched rows

Database Design: Table Name: ComplainLog Field Name ComplainID ComplainDate CustomerID IPAddress OrderID Data Type Number DateTime Number Varchar2 Number 10 30 10 Not Null Size 10 Constraint Primary Description Complain Number. Date and Time of Complain Client Id from which the complain is done. IP Address of the Client.

59

ProductID ProblemDesc ProblemID SolutionID SolStatus

Number Varchar2 Number Number Varchar2

10 500 10 10 15

The product regarding which complain is done. The Description of the problem. The Problem identification number. The Solution identification number. Status: Resolved, Pending, Invalid. Under Inspection

Methodology: Three tier approaches has been adopted throughout the project. For development of Front End, VC# is used along with Visual studio 2005. For Testing purpose database is developed in Ms-Access 2003, however projects architecture is design in such a way that it can be connected to almost every type of database like Oracle 10g, SQL Server 2005, My SQL etc. Backend connectivity is decided on run time by Connection Manager Object. For middle tier development C# is used. This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms controls are used to provide all data entry and updation features in application. The following features of object oriented programming are used to develop the module: Public Properties Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

60

ComplainLog class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class.

Development of Class: Complain class is developed using C# under visual studio 2005. To develop database oriented functions ADO.net is used. Details of .Net classes and namespaces are shown below Namespace used: System.Data; System.Data.OleDb; FCL Classes used: OleDBConnection; OleDbCommand; OleDBDataReader; OleDBDataAdapter; DataSet; Following functions are developed with the help of above FCL classes to interact with Database. o SaveSolution(): This function is used to save all the information about known problems and their solutions in the database. This is a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Saved by the system.

61

o UpdateSolution() This function can be used to update a problem and solution in the database.This is a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o UpdateSolStatus(int icomplainID, int iSolutionMode) This function can be used to update a problem and solution in the database and update the status .This is a non static function and it can be called on the object of Complain class and solution mode. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o UpdateSolStatus(int icomplainID, int iSolutionMode, int iSolutionID) This function can be used to update a problem and solution in the database and update the status .This is a non static function and it can be called on the object of Complain class, solution mode and solution id. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o AssignCse(int icomplainID, int icseID) This function can be used to assign complain to CSE.This is a non static function and it can be called on the object of Complain class and CSE ID.If the complain arise

62

then each complain assigned to the particular CSE to solve the complain as soon as fast and save it to the data base. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o GetSolution() It is an overloaded method, the function without any argument returns information of all the problems and their solution from database. This is also a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o GetSolution(int iComplainID) It is an overloaded method, the function with int ComplainID as an argument returns information of a particular problem class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. whose ComplainID is passed in the argument. This is also a non static function and it can be called on the object of Complain

o GetSolution(int iCustomerID) It is also an overloaded method, the function with int CustomerID as an argument returns information of a particular problem whose ComplainID is passed in the

63

argument.Take all recordes of a customer.This is also a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o ExpertSearch(object criteria) This is an important function and it is the core component of the expert search. It takes one argument as object. As object can have reference to any data type, so this function can be called by passing any type like int, double, char, DateTime, string etc. Type of the argument is identified by RTTI (Run Time Type Identification)in the function implementation and depending on the type of the argument sql search function is called to search data from the database. For example if integer value is passed in the argument of the expert search function than it will match this criteria in the fields which are integer type i.e. ProblemID, Product ID, Solution ID etc. After searching intelligently it stores the result in dataset and return the dataset to the calling function. Calling function can show the result in a datagrid for user interaction.It search the solution based on criteria and return a dataset having all the matching row. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Criteria mismatch by the system. Database Design: This project is a multi-database project i.e. connection to database is decided on runtime by connection manager component. It can be connected with SQL Server 2005, Oracle 10g, or MsAccess 2003. However table structure is fixed for all the databases. Table structure for CLS module is shown below. Table Name: SolutionLog

64

Field Name ComplainID SolutionDate CseID SolutionMode SolutionID

Data Type Number DateTime Number Number Number

Size 10

Constraint Primary

Description Complain Number. DateTime of Solution

10 1 10

Customer Serv. Ex. Who Assisted 1=Auto, 2=Manual, 3=SeviceEngg 4=R&D, 5=NotSoved taken from If Solution has KB

SALE AND ORDER INFORMATION SYSTEM:


This module is used to provide information of Sale and Order from

customer/client to CSE (Customer service Executive). As BPO Company is working in field of Network Equipment Service and support, generally all the customers are corporate customers having large network infrastructure. Although in some of the cases, individual customers are also part of customer information database having limited number of equipment. Customer service Executive has to interact with customer for his queries and day to day problems. While interacting with customer, CSE should have the information about the products which the customer has been purchased or in process of purchasing from the dealer to serve him better. Keeping this in mind this module is developed which can give information of customer instantly to CSE as soon as his interaction starts with customer. It has user friendly GUI interface which provides all the required information with minimum efforts. The emphasis is more on providing useful information rather than raw data from a database that still needs processing or analyzing to become meaningful. This module is an important component of Call Possessing Optimization system as call handling time can be reduced drastically if customer service executive can have sale information or order status at the earliest. If client is unable to provide the needed information like his order Id or Customer ID, this module is capable of finding required

65

information from database by providing any related information using the expert search mechanism. Features: It has inbuilt expert search mechanism to search information about sale and order book in a easy and effective way. It has sophisticated and user friendly GUI so that information about sale can be presented in comprehensively and easily understandable format. It retrieves information in a fast and reliable manner. It provides fast switching between screens and data using control box on the screen. Benefits: Sale and order book is an information system which enables CSE to solve order related issues of customer more effectively and as we know an information system is there to empower its users. A database simply provides data, but an information system is all about providing the best information the user needs to do their task more effectively. It also takes into account that different users doing their own specific tasks may need to see their information presented in differing ways. The benefits of an information system follow when the user can quickly access, understand and respond correctly to that information. These all benefits are catered in the developed Sale and Order Book System. Its benefits can summarizes as shown below Give status of order or purchases of a customer so that customer can be

satisfied by knowing current status. Providing easier and more efficient information sharing amongst BPO and

dealer of the products. Better knowledge about the business of customer and priority which should

be provided to him according to the volume of purchase or order of the customer.

66

Faster response of CSE to the customer Customer satisfaction and delightment

Methodology: This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. Development of sophisticated GUI is done using Visual Studio 2005 and VC#. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms controls are used to provide all data entry and updating features in application. The following features of object oriented programming are used to develop the module: Public Properties Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

SaleInfo class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class.

Design of SaleInfo Class: Class Name: SaleInfo Public Properties:

67

public int Slno; public int OrderID; public DateTime OrderDate; public int ProductID; public Double Quantity; public Decimal UnitPrice; public int CustomerID; public int TotalAmt; public int SaleTax; public string Status; public OleDbConnection DbConnection; Public Methods: public bool SaveSaleRecord(); public bool UpdateSale(); public bool RemoveOrderID(int orderId); public DataSet GetSaleRecord(); public SaleInfo GetSaleRecord(int Slno); Development of Class: SaleInfo class is developed using C# under visual studio 2005. To develop database oriented functions ADO.net is used. Details of .Net classes and namespaces are shown below Namespace used: System.Data System.Data.OleDb FCL Classes used: OleDBConnection OleDbCommand OleDBDataReader

68

OleDBDataAdapter DataSet Following functions are developed with the help of above FCL classes to interact with Database o SaveSaleInfo() This function is used to save all the information about sale into database. This This is a non static function and it can be called on the object of SaleInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Saved by the system. o UpdateSaleInfo() This function can be used to update all the information about sale into database. This is a non static function and it can be called on the object of SaleInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o DeleteSaleInfo() This function is used to Delete a order if they are canceled by customer. This is a non static function and it can be called on the object of SaleInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Deleted by the system. o GetSaleInfo()

69

It is an overloaded method, the function without any argument returns information of all the clients. This is also a non static function and it can be called on the object of SaleInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o GetSaleInfo(int iSaleID) It is an overloaded method, the function with int iSaleID as an argument returns information of a particular clients whose SaleID is passed in the argument. This is also a non static function and it can be called on the object of SaleID class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o ExpertSearch(object criteria) This is an important function and it is the core component of the expert search. It takes one argument as object. As object can have reference to any data type, so this function can be called by passing any type like int, double, char, DateTime, string etc. Type of the argument is identified by RTTI (Run Time Type Identification) in the function implementation and depending on the type of the argument SQL search function is called to search data from the database. For example if integer value is passed in the argument of the expert search function than it will match this criteria in the fields which are integer type i.e. SaleID, ClientID etc. After searching intelligently it stores the result in dataset and returns the dataset to the calling function. Calling function can show the result in a data grid for user interaction. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does

70

not get any system generated error, he will only get a message Criteria mismatch by the system. Database Design for SaleInfo: This project is a multi-database project i.e. connection to database is decided on runtime by connection manager component. It can be connected with SQL Server 2005, Oracle 10g, or Ms_Access 2003. However table structure is fixed for all the databases. Table structure for SaleInfo module is shown below. Table Name: SaleInfo Field OrderID Slno OrderDate ProductID Quantity UnitPrice CustomerID TotalAmt SaleTax Status Data Type Number Number DateTime Number Number Number Number Number Number Varchar 6 5 6 6 10 5 10 Size 6 6 Description Oreder ID Item No. in Order ID primarykey

USER ADMINISTRATION:

Users of the CPO system are Customer Server Executives, Managers, Administrators and Customers etc. User Administration is a critical part of CPO system. It provides a mechanism to create new users of the CPO system and manage existing users. Whenever

71

a new customer service executive joins the company he or she requires his accounts to be opened up in the system so that he or she can login into the system and use it. This module serves the administrator to do the above function. This module is integrated with many other module which requires user information for their function. For example silent call or instant messaging module requires the information about receiver and searching mechanism to the user database so that message can be sent to them, so this module gives this functionality to the silent call system. It has user friendly GUI interface which provides all the required information with minimum efforts. The emphasis is more on providing useful information rather than raw data from a database that still needs processing or analyzing to become meaningful. This module is an important component of Call Possessing Optimization system as security of the system depends on how strong is the system for user administration. It Implements expert search mechanism to search user based on any information provided for that user, i.e. if only last name of user is known than it can search user database on the basis on last name. Features: It has inbuilt expert search mechanism to search information about user in an easy and effective way. It has sophisticated and user friendly GUI so that information about user can be presented in comprehensively and easily understandable format. It retrieves information in a fast and reliable manner. It provides fast switching between screens and data using control box on the screen.

Benefits: An information system is there to empower its users. A database simply provides data, but an information system is all about providing the best information the user needs to do their task more effectively. It also takes into account that different users doing their

72

own specific tasks may need to see their information presented in differing ways. The benefits of an information system follow when the user can quickly access, understand and respond correctly to that information. These all benefits are catered in the developed User Administration System. Its benefits can summarizes as shown below Creating a more accurate and clearer information on users of the system i.e. Customer Server Executives, managers, Administrators etc. Providing easier and more efficient information sharing amongst BPO executives. Seamless integration in other important module of the system In any component of CPO system user information is given by this module only so there is no chances of discrepancy.

Design of System: DFD of User Administration: User Administration is responsible of giving user information to all other modules like Silent Call or IM

73

Class Design: Design of User Info Class: Public Properties: public int UserID; public string Name; public string Designation; public string Section; public int Grade; public DateTime Dob; public DateTime JoiningDt;

74

Public Methods: Method Prototype public SaveUserInfo(); public UpdateUserInfo(); public RemoveUserInfo(int iUserID); public Dataset GetUserInfo(); public UserInfo GetUserInfo(int iUserID); public Dataset ExpertSearchUser (object criteria); Description take user info values from property and save in database take user info values from property and update in database remove from database take all user info values from database and return dataset take user info from database and return userInfo object take user info from database based on criteria given and return a Dataset having all the matched rows

Database Design: Table Name: UserInfo Field UserID Name Designation Section Grade Data Type Number Varchar Varchar Varchar Number Size 5 30 25 20 2 Description User ID of Employee Name of Employee Designation of Employee Working Department of employees like Marketing, HRD, Customer Service, Sale etc. Grade of Employee ( 1 to 10)

75

Dob JoiningDt

DateTime DateTime

Date of Birth to be used for Training Schedules etc. Date of Joining to be used for Training etc.

Methodology: Three tier approaches has been adopted through out the project. For development of Front End, VC# is used along with Visual studio 2005. For Testing purpose database is developed in Ms-Access 2003, however projects architecture is design in such a way that it can be connected to almost every type of database like Oracle 10g, SQL Server 2005, My SQL etc. Backend connectivity is decided on run time by Connection Manager Object. For middle tier development C# is used. This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms controls are used to provide all data entry and updation features in application. The following features of object oriented programming are used to develop the module Public Properties Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

76

UserInfo class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class. Development of Class: Complain class is developed using C# under visual studio 2005. To develop database oriented functions ADO.net is used. Details of .Net classes and namespaces are shown below Namespace used: System.Data System.Data.OleDb FCL Classes used: OleDBConnection OleDbCommand OleDBDataReader OleDBDataAdapter DataSet Following functions are developed with the help of above FCL classes to interact with Database. o SaveUserInfo() This function is used to save all the information about User in the database. This is a non static function and it can be called on the object of UserInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Saved by the system. o UpdateUserInfo(int icomplainID)

77

This function can be used to update a User Information in the database. This is also a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Updated by the system. o DeleteUserInfo (int icomplainID) This function can be used to delete a User from the database. This is also a non static function and it can be called on the object of UserInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Record Not Deleted by the system. o GetUserInfo() It is an overloaded method, the function without any argument returns information of all the Users from the database. This is also a non static function and it can be called on the object of Complain class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system. o GetUserInfo(int iUserID) It is an overloaded method, the function with int iUserID as an argument returns information of a particular User whose iUserID is passed in the argument. This is also a non static function and it can be called on the object of UserInfo class. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message No Record found by the system.

78

o ExpertSearch(object criteria) This is an important function and it is the core component of the expert search. It takes one argument as object. As object can have reference to any data type, so this function can be called by passing any type like int, double, char, DateTime, string etc. Type of the argument is identified by RTTI (Run Time Type Identification)in the function implementation and depending on the type of the argument SQL search function is called to search data from the database. For example if integer value is passed in the argument of the expert search function than it will match this criteria in the fields which are integer type i.e. UserID and Grade. After searching intelligently it stores the result in dataset and return the dataset to the calling function. Calling function can show the result in a Datagrid for user interaction. It search the user information based on criteria and return a dataset having all the matching row. This function returns true if operation is completed successfully. If any error occurred during the database operation it performs the exception handling and user does not get any system generated error, he will only get a message Criteria mismatch by the system.

Smart Card AutoReader : In this module Smart Card i.e. USB Card or Pendrive is read as soon as it is inserted into the computer systsem simulation the situation when Card is shown to the Card Reader Device connected with computer. To carry out auto detecttion of USB drive the following algorith is used Enumerate all the fix drives of a computer Stores the drives in an array Check the drives on reguaral interval i.e. after every one second check all the drives 79

If step 4. gives a drive which is not stored in drive array then check whether the new drive is a removable drive. If new drive is a removable drive, check it is floppy drive or USB drive. If it is not floppy, return the new drive to the CardReader module. Namespaces Used: System.IO FCL Classes Used: DriveInfo Using the above framework classes the following class is developed:

Binary Reader: Once the new drive is found binary reader module try to find the files containing

personal information of the person in the drive. These files are uData.bin and pData.bin having userID and Password respectively in PKI encrypted form. If is gets the files it reads the files and Decrypt the information using private key of RSA. These information is displayed on the textboxes of For binary file reading and wrting the following classes are used in the project

80

NameSpace Used: System.IO; FCL Classes Used: BinaryReader BinaryWriter

Developed class using the above Framework classes : RSA Algorithm o Encryption and Decryption of user credentials: Security of password and user ID is maintained by PKI (Public key Infrastructure) i.e. before wrting these information to smard card it is encrypted using public key of RSA algorithm and at the time of reading from the file it is got back by decrypting it by private key. Public Key : (d,n) Private Key : (e,n) Encryption of the Message M using public key (e,n) is done by the formula M = Me %n where M is the actutal message and M is the crypted message. Password in string form is crypted by encrypting every character by the above formula. Decryption of the Message M using privatec key (d,n) is done by the formula 81

M = M d %n Where M is the actutal message and M is the crypted message. o RSA Algorithm The RSA algorithm is named after Ron Rivest, Adi Shamir and Len Adleman, who invented it in 1977 Key Generation Algorithm Generate two large random primes, p and q, of approximately equal size. Compute n = pq and () i = (p-1)(q-1). Choose an integer e, 1 < e < , such that gcd(e, phi) = 1. Compute the secret exponent d, 1 < d < , such that d*e = 1 + k *m ( where k may be any integer) The public key is (n, e) and the private key is (n, d). The values of p, q, and should also be kept secret. o n is known as the modulus. o e is known as the public exponent or encryption exponent. o d is known as the secret exponent or decryption exponent. Encryption Sender A does the following: Obtains public key (e, n). Represents the char message as a positive integer m by its ASCII value Computes Crytion by c = m^e mod n.

Decryption Recipient B does the following: Uses private key (d, n) to compute m = c^d mod n. 82

Extracts the char from the ASCII integer representative m.

Benefits of Smarts Card for Personnel Identification: Smart cards increase trust through improved security. Two-Factor Authentication insures protection of data and value across the internet. Threats such as "Trojan Horses" that can capture the key strokes for a user name and password are eliminated

This will improve password security service and it can save the time to enter the password and other information. Using Smart card employee can choose long and complex password and dont need to remember or type them.

Multipurpose use : Smart card can serve multi purpose, they can not only provide login service but also various services like library card, security card, attendance punching card, cash transaction card etc .

Business to business Intranets and Virtual Private Networks VPNs are enhanced by the use of smart cards. Users can be authenticated and authorized to have access to specific information based on preset privileges. Additional applications range from secure email to electronic commerce.

Businesses and universities of all types need simple identity cards for all employees and students. Most of these people are also granted access to certain data, equipment and departments according to their status. Multifunction, microprocessor-based smart cards incorporate identity with access privileges and also store value for use in various locations, such as cafeterias and stores.

83

INSTANT MESSAGING:
Silent Call is an Instant Messaging based real-time communication between two or more people, which is used to give message call to the colleagues, organizing meeting and broadcasting information among employees of BPO Company via computers connected over a network. It is call silent call because a person can be called without making any noise. Call Messages popup on the screen of recipient as soon as call is made. It is highly important in BPO industry that when some Customer Service Executive (CSE) is interacting with the customer than there should be no noise generated, if CSE while interacting with customer wants to call his colleague or supervisor for help he can use this system. It is also used by the supervisors or managers to call a meeting. They can simply send the instant messages to their subordinates and these messages will be popup on their screen and will not be removed unless acknowledged. It has advantage over phone call, if a phone is made to call a person; it may be unnoticed by the person as he may be away from the work spot or too busy to attend the call. He may intentionally ignore the call for one reason or another. But IM based call cannot be unnoticed by receiver as it pops up on the screen and it cannot be removed without acknowledge. Block Diagram of Silent Call Message PC1 Reply PC1

Features of Silent Call It is user friendly GUI based message sending Application.

84

User search is based on expert search, so it is easy to search the person based on multiple criteria.

This is IP to IP call, but caller need not to know the receivers IP address, it will automatically resolved by database of Network info.

It always runs in background so any time message comes from remote party, it pops up the message on the screen

It has a feature to reply the message in an easy manner. It is a real time messaging system, message sent are displayed instantly. It has no overheads on the company. History of IM can be stored in database and can be used later for training or investigation purposes.

A person can be called with making any noise. It can be used as efficient notice board as normal notice board may not be seen by employees.

Benefits of Instant Messaging Software:

Allows for "instant" communications between people. This can save time and money as you can resolve questions or problems immediately. It can be used for the following purposes

Organizing Meetings Broadcasting Information Instant Call

85

Transmits messages fast enough to allow for natural flowing conversation. Once CSE get used to of it, he can easily hold simultaneous IM sessions with multiple people.

Eliminates long distance phone charges. Use of the IM over the Internet can eliminate costly long distance charges. Reduces the amount of email sent and received throught the day. Many people want an answer to a simple question quickly. IM provides this capability to facilitate quick and easy communication.

Reduces the need to leave the desk to get a question answered. Many companies rely on IM to stay in contact with each other. And with the presence indicator, you can quickly and easily tell if a coworker is at their desk or computer.

Ability to determine who is online and ready for a message. The ability to set a presence indicator is a standard feature of IM applications. You can easily see whether or not a colleague is available to chat with you.

Offers a discreet method to send a message while in meetings. Utilizing wireless or PDA devices is an excellent method to provide quick responses to questions.

Methodology: This module is carried out using object oriented methodology. The whole module is divided into 3 parts, Graphics User Interface (GUI), Class, and Database. For development of sophisticated GUI is done using Visual Studio 2005 and VC#. Development of GUI is done keeping easy user interface in mind. As this GUI is to be integrated with main MDI forms of the application, its appearance and size are adjusted according to the size of the main MDI form, so that it can be adjusted in a smooth way. Windows forms grid controls are used to provide search features in application. The following features of object oriented programming are used to develop the module Public Properties 86

Object Instance Non Static Method RTTI ( Run time Type Identification) Overloaded Methods Inheritance

This class is designed as per the requirement of the project. All the properties are matched with the corresponding fields of database tables. The properties of the class are kept public so that it can be integrated with forms text fields in GUI forms. All the functions to provided database operations are kept public in class. Class Design: Class Name: IM o Public Properties: String[] To; string Message; string from; o Public Methods: public bool SendIM(); // take users from property To and message from property Message public bool SendIM(string strTo, string strMessage); //from one user to another public bool SendIM(string strMessage); //It will send Message to All Class Name: NetworkInfo o Public Properties: public string UserId; public string IPaddress; public int PortNum; public OleDbConnection DbConnection; o Public Methods:

87

public bool SaveNetworkInfo() public bool UpdateNetworkInfo() public bool RemoveNetworkInfo() public DataSet GetUsers() Class Name: UserInfo o Public Properties: public int UserID; public string Name; public string Designation; public string Section; public int Grade; public DateTime Dob; public DateTime JoiningDt; public OleDbConnection DbConnection; o Public Methods: public SaveUserInfo(); // take user info values from property and save in database public UpdateUserInfo(); // take userinfo values from property and update in DB public RemoveUserInfo(int iUserID); //remove from database public Dataset GetUserInfo(); // take all userinfo values from DB and return dataset public UserInfo GetUserInfo(int iUserID); //take user info from database and return userInfo object public Dataset ExpertSearch (object criteria); //take user info from database based on criteria given and return a Dataset having all the matched rows Development of Class: IM class is developed using C# under visual studio 2005. To develop searching functions ADO.net is used. Details of .Net classes and namespaces are shown below Namespace used: System.Data System.Data.OleDb 88

System.Net; System.Net.Sockets; FCL Classes used: OleDBConnection OleDbCommand OleDBDataReader OleDBDataAdapter DataSet Socket UDPClient Following functions are developed with the help of above FCL classes to interact with Database Database Design for IM: This project is a multi-database project i.e. connection to database is decided on runtime by connection manager component. It can be connected with SQL Server 2005, Oracle 10g, or Ms_Access 2003. However table structure is fixed for all the databases. Table Name: NetworkInfo

Field UserID IPAdress

Data Type Number Varchar

Size 5 20

Description User ID of Employee IP Address of PC

89

Table Name: UserInfo Field UserID Name Designation Section Data Type Number Varchar Varchar Varchar Size 5 30 25 20 Description User ID of Employee Name of Employee Designation of Employee Working Department of employees like Marketing, HRD, Customer Service, Sale etc. Grade of Employee ( 1 to 10) Date of Birth to be used for Training Schedules etc. Date of Joining to be used for Training etc.

Grade Dob JoiningDt

Number DateTime DateTime

90

DATA INTEGRITY AND CONSTRAINT


Data Integrity
The relational model includes two general integrity rules.These integrity rules implicitly or explicitly defines the set of consistence database states,or change of state,or both. These are following types of integrity rules: Primary Keys: TABLE NAME USERINFO (User Information) CLIENTINFO (Client Information) COMPLAININFO (Complain Information) KB (Knowledge Base) SALEINFO (Sales Information) Entity Integrity: It states that If the attribute A of relation R is a prime attribute of R then A cannot accept null value. In my project I have maintained the entity integrity by making it sure that no primary key have null value. Above relation all have primary key. Referential Integrity PRIMARY KEY UserID ClientID ComplaintID ProblemID OrderID Product Id, Customer Id Problem Id, Order Id FOREIGN KEY

91

This rule is concerned with the foreign keys with the attributes of relation having domain that are those of primary key of another relation .Referential integrity can be stated as Given two relation R and S suppose R refers to the relation S via a set of attribute that forms the primary keys of S and this set of attribute form a foreign key in R. Then the value of the foreign key in a tuple R must either be equal to the primary key of a tuple of S or be entirely null.

Constraints
System Constraints: o Performance Constraints: Should maintain the information of masters table properly. Should carry out auto-solution for the online problems properly Should perform periodical reviews and observations of various aspects of the customer relationship management. The final report concerned to various concepts will be produced and printed with accuracy.

92

INTERFACE DESIGN
The architectural design provides a software engineer with a picture of the program structure. Like the blue print for a house where as Interface design focuses on the design of interface between software modules. The design of inter faces between the software between the software and other non-human procedures and consumers of information i.e other external entities and the design of the interface between a human and the computer. Developers Responsibilities Overview: The developer is responsible for : Developing the system. Installing the Software on the Clients hardware. For conducting any user training that might be needed for using the system. Maintaining the system for usage after installation.

Users Characteristics:The users of this system are the employee of the company who use different features of this application. And the administrator will be the person who is at managerial level and will create the users and give permissions to the users on the modules.

Procedural Design:Procedural Design occurs after data, architectural and interface designs have been established. The procedural specification is required to defin4e algorithmic details , so that people outside the software domain could more readily understand the specification, and no new learning would be required.

93

SYSTEM TESTING AND IMPLEMENTATION


Software testing is a critical element of Software Quality Assurance and represents the ultimate review of specification, design and coding. This point was kept in mind through out the software development activity and a conscious effort was made to test the system as thoroughly as possible. The objective behind this was to systematically uncover different classes of error with a minimum amount of time and effort.

Introduction:
Testing presents an interesting anomaly. A series of test cases are created that are intended to demolish the software that has been created. Testing requires that the developer discard preconceived notions of the correctness of the software just developed and overcome a conflict of interest that occurs when errors are uncovered.

Testing objectives:
These are follows:o Testing is process of executing a program with the intent of finding an error. o A good test case is one that has a high probability of finding an as-yet undiscovered error. o A successful test is one that uncovers as-yet undiscovered error. If the testing is conducted successfully it will uncover errors in the software. Testing cannot show the absence of defects, it can only show those software errors are present.

Testing principles:
These are as follows:

94

o o o

All tests should be traceable to customer requirements. Tests should be planned long before testing beings. The pare to principle applies to testing (this principle implies that

80% of all errors uncovered during testing likely be traceable to 20% of all program modules). o o Testing should begin in the small and progress toward testing in Exhaustive testing is not possible. the large.

Testing Methodology
o Unit Testing o Integration Testing

This module is tested by the following testing methods

Unit Testing : Unit testing begins at the vortex of the spiral and concentrates on each unit of the software as implemented in source code. Testing progresses by moving outward along the spiral, to integration testing, where the focus is on design and the construction of the software architecture. Taking another turn outward on the spiral, we encounter validation testing, where requirements against the software that has been constructed. Unit testing makes heavy use of white-box testing techniques, exercising specific paths in a modules control structure to ensure complete coverage and maximum error detection. Unit testing is a procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class.Ideally, each test case is independent from the others; mock or fake objects as well as test harnesses can be used to assist testing a module in isolation. Unit testing is typically done by software developers

95

to ensure that the code they have written meets software requirements and behaves as the developer intended.

Integration Testing : It is sometimes called I&T i.e Integration and Testing, it is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing. The purpose of integration testing is to verify functional, performance and reliability requirements placed on major design items. These "design items", i.e. assemblages (or groups of units), are exercised through their interfaces using black box testing, success and error cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and inter-process communication is tested and individual subsystems are exercised through their input interface. Test cases are constructed to test that all components within assemblages interact correctly, for example across procedure calls or process activations, and this is done after testing individual modules, i.e. unit testing. System testing: Software is only one element of a larger computer-base software is incorporate with other system element and series of system integration and validation not conducted test are conducted. These tests fail outside the scope of the software process and are by software engineer.

96

System testing is actually a series of different test whose primary purpose is to fully exercise the computer-based system. Each have different purpose, all work have been properly integrated and perform function. We discuss the type of system test for software-based system:o Recovery testing:Recovery testing is a system test that force the software to fail verifies that recovery is properly performed. If recovery is automatic, reinitialization, check pointing mechanisms, data recovery requires human intervention, the mean-time-to-repair (mttr) is evaluated to determine whether it is within acceptable limits. o Security testing:Security testing attempt to verify that protection mechanism built in to a system will in fact, protect it from improper penetration to quote beizer: the systems security must, of course, be tested for invulnerability from frontal attack-but must also be tested for invulnerability from flank or rear attack. o Stress testing:Stress testing executes a system in a manner that demands resources in abnormal quantity, frequency or volume. E.g. special test may design that generate ten interrupt per second, when one or two is the average rate. o Performance testing:Performance testing is design to test the run-time performance of software within the context of an integrated system. Performance testing occurs throughout all steps in the testing process. Even at the unit level, the performance of an individual module may be accessed as white-box test are conducted. Performance test and software instrumentation. That is, it is often necessary to measure resource utilization in an extorting fashion.

White-box testing:
97

Sometimes called glass-box testing, is a test design method that uses the control structure of the procedural design to device test cases. Using white-box testing methods, the software engineer can derive test case that: o Guarantee that all independent path within a module have been exercised at least once. o Exercise all logical decision on their true and false sides; o Execute all loops at their boundaries and within their operational bounds; and o Exercise internal data structure to assure their validity.

Black-box testing:It focuses on the functional requirements of the software. That is, black-box testing enables the software engineer to drive sets of input conditions that will fully exercise all functional requirements for a program. Black-box testing is not an alternative to white-box techniques. Rather, it is a complimentary is not an alternative to white-box methods. Black-box testing attempts to find errors in the following categories: o Incorrect or missing functions. o Interface errors. o Errors in data structures or external database access. o Performance errors and o Initialization and termination errors. Unlike white-box testing, which is performed early in the testing process, blackbox testing tends to be applied during later stages of testing. Because black-box testing purposely this regards control structures, attention is focused on the information domain.

98

Test Case Design:

Project Name Call Processing Optimization System Test Case Author

Document No. Date

Bugs Report:
Project CPO Bug Report Author Page No Document No. TC/2009/1.4 Date

Software Implementation:
Implementation of the software is another task during the software development. The implementation basically refers to the installation and actual use of the software. The implementation of the developed software is done when the software is actually put to use. My application is customized to be implemented for our client ADVEN PVT LTD, LUCKNOW.

99

SECURITY MECHANISM

Security mechanisms:
The system security problem can be divided into four related issues-security,

integrity, privacy, confidentiality. o System security: It refers to the technical innovations and procedures applied to the hardware and operating system to protect against deliberate or accidental damage from a defined threat. In contrast data security is the protections against data from loss disclosure, modification and destruction. o System Integrity: It refers to the proper functioning of hardware and programs, appropriate physical security, and safe against external threats such as eavesdropping and wire-tapping. In contrast data integrity makes sure that data do not differ from their original form and have not been accidentally or intentionally disclosed, altered or destroyed. o Privacy: Defines the right of the users or organization to determine what information they are willing to share with or accept from others and how the other organizations can be protected against unwelcome, unfair or excessive dissemination of information about it. o Confidentiality:

100

It is a special status given to sensitive information in a database to minimize possible invasion of privacy. It is an attribute of information that characterizes its need for protection.

Database Security:
I have implemented ample security for database of my project. Database is

accessible to only Administrator of the system because there is separate provision for access control for the database .A person who give right user id and password only that person is able to enter into database. Along with that encrypted field is provided so that a malicious person is not able to capture it. like in Login Form and Smart Card Module where the user id and password is enter into the textbox in encrypted form.

Control measures:
Primary goal of authenticated is to allow access to legitimate system user ant to deny access to authorized parties. Password is the mechanism of the authentication which I used in my application. The primary goal of authenticated is to allow access to legitimate system user ant to deny access to unauthorized parties. The two primary measures of authentication effectiveness are o The false acceptance rates, that is the percentage of illegitimate users erroneously admitted. o The false rejection ratio that is the percentage of legitimate user who are denied access due to the authenticated mechanism. After system security risks have be evaluated, the next step is to: o Select the measures that are internal and external to the facility. o The measures are generally classified under the following:

101

Identification: There are three schemes for identifying persons to the computer Something you know such as password. A password is the most commonly used means for authentication identity of people. Passwords should be hard to guess and easy to remember. Something you are such as figure prints or voiceprints. Something you have- such as the credit card, key or special terminal Access control: various steps are taken to control access to a computer facility. One way is to use an encoded card system with a log-keeping capability Encryption is an effective and practical way to safeguard data transmitted over an unprotected communication channel.

Audit control: It protects a system from external security branches and internal fraud or embezzlement. The resources invested an audit control, however should balance with the sensitivity of the data being manipulated. One problem with audit controls is that it is difficult to prove their worth until the system has been violated or a company officer imprisoned. For this reason audibility must be supported at all management level and planned into every system.

System integrity: it is a line of defense that concentrates on the functioning of hardware, database and supportive software, physical security and operating procedures. The most costly software loss is program error. It is possible to eliminate such errors through proper testing routines. Parallel runs should be implemented whenever possible. Physical security provides safeguard against the destruction of hardware, databases and documentation fire, flood, theft, sabotage and eavesdropping and loss of power through proper backup.

102

Security with respect to this project :


Initially the user authentication is done with password and access is allowed with the type of the user logging to system. Also only administrator has a write to add or delete a user and define the category of that user. In addition to this MySQL is used and tables are fully normalized, data integrity and consistency can be easily maintain just by putting few constraints in the database table. In addition to this various validation checks are used to ensure that only relevant data is forwarded to the database.

103

SOFTWARE AND HARDWARE REQUIREMENT SPECIFICATIONS


Software Tools
o Language Used: The languages used at front-end are C# , VC#. The causes of selecting this language are: Highly technical language.

User friendly environment of working. Provide low cost solution to the project. GUI feature Better designing aspects for developers

o Database Used: The Database used are SQL Server2000 and MS-Access (Export files will be in Access).The important features of SQL Server 2000 are: It provides better security aspect to the system. Better portability that enables user to be flexible on work. Can manage large amount of data. It provides reliable system with better integrity and validity of data. 104

o IDE Used: The integrated Development Environment is Microsoft Visual Studio .Net

o Platform Used: Windows XP Service Pack3 (Microsoft .Net SDK. Version 1.2)

Hardware Requirement Specification:


The required hardware combination for this project will be as following : Intel Pentium or Celeron class processor. Processor Speed 1.7GHz or above. RAM - 256 MB or above. HDD - 20 GB or above. VGA Monitor. Scroll mouse, Multimedia Keyboard, CD-Drive.

105

COST ESTIMATION OF PROJECT


There are many ways of estimating cost of project I have use COCOMO(Constructive Cost Model) . The model has following hierarchy: Model 1 The basic COCOMO model computed software development efforts land cost as a function of a program size expressed in estimated lines of code. Model 2: The intermediated COCOMO model computer software development effort as a program size and a set of cost driver that include subjective assessment of vehicle , hardware personnel and project attributes.

106

FUTURE SCOPE AND ENHANCEMENT


This project is based on Knowledge Database and continue learning mode for getting enterprise is the unique feature of it. Over the period of time its solution database will be enlarged and ITF Auto solution mode will be behaving as an Artificial Intelligence System. In future its solution finding algorithm can also be enhanced to find the more accurate solution in less number of iteration. Client to send their problem through phone or microphone and getting expert solution on their PC, with all requirement component ,can use implementation of voice recognition. In future ,we can also make our Expert System more intelligent and smart by increase its searching power ,by bifurcating it more .So that it could give more appropriate solution. With few improvement this system can serve as a Centralized Customer System for Multiple Organization having multiple customer and may be provided as a cost effective in todays environment of businesses outsourcing (BPO).

107

SNAPSHOTS

108

Splash Form

109

Login Form

110

CREATE NEW USER FORM

111

FORGET PASSWORD FORM

112

MDI FORM

113

CLIENT SAVE FORM

114

CLIENT UPDATE FORM

115

SALE SAVE FORM

116

COMPLAIN EXPERT SEARCH FORM

117

SALE UPDATE FORM

118

SALE EXPERT SEARCH FORM

119

REPORTS
KNOWLEDGE BASE REPORT

120

CLIENT REPORT

121

SALES REPORT

122

COMPLAINT REPORT

123

USER REPORT

124

LIMITATIONS OF THE PROJECT


The project has been developed to provide the desired functionality as per the requirements and the project is successful in doing so. But there are, however, some limitations in the project which are likely to occur as there is nothing perfect in this world. The project is limited to provide the desired functionality only for the Intranet applications and not for the Internet-based applications.

125

BIBLIOGRAPHY
C# 2005 PROGRAMMING(BLACK BOOK) BEGINNING C# 2008 (APRESS PUBLICATIONS) GOOGLE WEBSITE (www.google.com)

126

Anda mungkin juga menyukai