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.
ACKNOWLEDGEMENT
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.
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
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.
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.
15
Start
Sale Information
Instant Messaging
Testing
CPO PROJECT
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
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
R5.1.12.
Client based desktop complain logging .system should have a feature of offline working implement
19
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.
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
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.
R5.3.2
R5.3.3
R5.3.4.
User Friendly and easy interfaces for generation of all the output mentioned in S T A system Manual 3.1.
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
Client side Software Requirements Microsoft .Net framework 2.0 MS Access 2003 Internet Explorer
24
25
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
IT COMPANY
Version_No
Priority CLIENT
ID
Serial_No Key-Word
Contact_p
Solutions to
A_ID
Gives
COMPLAINS 28
Details Stored
2.0
Client
Request for Complaint 00000 Complaint registered
Details Filled
Administrator
Problems
Sol_Master.
Solutions
Complain_Mas.
RND
Unsolved Queries Provides Solution Request For Reports & Summary Generate Reports. Supervises Server Configuration & create Administrators.
(1-LEVEL DFD)
Client_Info.
Product_Info
Administrator
Sales_Info
30
Administrator
Saves solution If Not Solved Details of Problem Assigns Complain Number
2.2 Refer To
RND
Problem Solved
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
15 35 50
Primary key
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
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
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
Length 20 20 20 20
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
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
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
12 35 10
Contact Person Mobile No Contact Person Email Address As per Business Volume(110)
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
Client
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
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
Size 10
Constraint Primary
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
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
66
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.
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
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
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.
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
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
Size 5 20
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.
90
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
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
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
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
103
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)
105
106
107
SNAPSHOTS
108
Splash Form
109
Login Form
110
111
112
MDI FORM
113
114
115
116
117
118
119
REPORTS
KNOWLEDGE BASE REPORT
120
CLIENT REPORT
121
SALES REPORT
122
COMPLAINT REPORT
123
USER REPORT
124
125
BIBLIOGRAPHY
C# 2005 PROGRAMMING(BLACK BOOK) BEGINNING C# 2008 (APRESS PUBLICATIONS) GOOGLE WEBSITE (www.google.com)
126