Marketing is the most important of the hub disciplines of booming management today. It impact on society daily in immense of ways - by bringing fresh products and services; serving organization by recognizing what public want and need ; serving people find products and services that meet up their needs; communicating information that makes people's lives more proficient ; creating exchanges that produce employment and assets. Apparently marketing is significant in all areas of the association, and customers are the reason why businesses subsist. CRM help companies to build sense of customer requirements and helps companies direct these relationships more brightly and help predict the future.
All industries and companies are mainly focusing on the operational improvements to reduce costs, by not ignoring the customers. Customer relationship management main objective is to competitive advantage and profitability in the long term. Many of the companies are using CRM tool for managing the customer relationships, but there are companies who failed to reorganize CRM as holistic strategy. So my client who owns a organisation wants me to develop a website where he can be able to communicate with customers 24*7 access and solve their problems which is the aim of the project. He wants this because the website which exists now is not allowing him to give customers the maximum benefits. In the whole report, i have discussed about the requirements of the client, about the CRM, lifecycle i have chosen, how i have gathered the requirements. Further I also done the testing's i have performed on my website and the screenshots are also been placed in the appendix. My project concludes that all the requirements of the client as he specified are designed in the website and this website is a asset to the organisation as the relationship with customers are maintained 24 hours a day and 7 days a week.
On the other hand i have used the MYSQL database as backend to store the data of the customer and the marketing team. Mysql database is used because it gives protection to data, it is flexible to use, and the potential of the system are reached.
In these days the relationship with the customers has become a major perspective in order to gain advantages like profits, security, and potential of the customer. The relationship with customers in the recent years is mainly through the internet. Online marketing has proved to be in customer satisfaction. The reasons of promoting the organisations through online are it will be like an advertisement, the responses can be online and regular, customer can be satisfied. My client who has a leading organisation wants me to develop a customer relationship management system for his firm so that more relationship will be maintained with his customers.
As said by Gerhard Raab (et.al)(2008) "know your customers and you know what they buy", could be the motion of CRM".
This project is a development project that describes a website in which customers can get benefit through online support.
Client is VOIP solution provider in India. His business comes through website and the present system helps him in getting new business but not helping customers in getting maximum benefits.
His website has one contact form where new visitors or customers view his website will fill the contact form in order to get response from him. Existing users are getting support through phone only and it's just from 10AM-10 PM every day. By this way day by day his business is getting increased and numbers of customers are also increased; As to keep his customers happy he planned to give support to his customers by solving their queries through online.
So far this application have three users. One is my client acting as an administrator, second is supporting team (marketing team) and finally customers.
Admin have most of the privileges in this application. He will create the customer and marketing team. He can view the feedback reports, view the marketing team and also view the customers.
Customer will login into the application with the given login and password. Customer can edit his details; he can write his queries and view the feedback reports sent by supporting team.
Marketing team role
Marketing team will login with given login and password by admin. There he view the queries of the customers and start giving feedback to them. These users also have the privilege of setting alerts messages if needed.
The title of my project is customer relationship management for VOIP-INDIA. I have developed this software in which the pages are connected to backend database. The database i have used is MYSQL database. By connecting to the database the client has an opportunity to solve the customer's queries. The privileges of the application are as follows
The controls for the admin panel are:
- Create Customer
- Create Marketing Team
- View Customer
- View Marketing Team
- View Feedbacks
The controls for Customer Panel are:
- Create message to Admin
- View my Message responses from Admin
- Edit customer information
The controls for Marketing Staff Panel
- Create message to Admin
- View my responses from Admin
- Set or Edit Schedules.
The home page contains username and password to login. There is a forgot password option placed, if the user forgets password. After the admin login we can see five squares and in each square there are different options they are create customers, create marketing team, view customers, feedback reports and view marketing team are written in them. If we click any of that, the corresponding page will appear.
About the client
My Client is VOIP solution provider in India. He sells VOIP devices and Calling cards to his customers who are in India and abroad. I thank to Mr. Rakesh Bandi managing director who is friend of my father gave an opportunity to develop this application. He believed that I could support them by developing the well designed customer relationship management VOIP India.
By using CRM application he could facilitate customers in availing 24 hours support through this application. This will also help him in getting his business grown as well as his customers in getting good support at any time in a day.
The client already has a website about his organisation but he does not have a good relationship with customers because the customer's feedback is only through phone. So he wants a CRM application to develop. His previous URL http://voip-india.info/ and the screen shot of voip-india is
Client requirements are:
- He wants to give support to existing clients. He also want single platform to his support team in order to solve issues of his clients. (Presently he is offering telephone support only).
- He wants to have single platform interface for his marketing team (now he is following emails only to know status of his marketing team deals).
For this he wants three modules namely
- Admin Modules
- Client Module
- Marketing Team Module
Admin Module: Admin module is the module that admin has 100% control on it. He must be able to create new client (who purchased at him) and new staff for marketing (who joined at him for marketing things). The registered client or marketing staff should be able to login to their control panels using the username and password created by the admin. (These are the requirements specified by the client about admin module)
Client Module: Client should be able to login into his account and to register complaints about the service and billing. These feedback forms should be viewed by the admin.
Marketing Team Module: Marketing Team who got registered by the admin must be able to login with the username and password allotted by the admin. He must be able to setup schedules and should also be reschedule them. He should be able to setup alerts "like meeting with Lary on 24th of July etc."
Project aim, scope, objectives
The aim of the project is to develop web based CRM application for VOIP-INDIA.INFO to provide effective service to the customers (VOIP users) through mailing support.
The reason for this focus is that Client is now providing telephone support for his existing clients and taking voice feedbacks about his marketing leads from his marketing team. He wants to translate the total system into email support.
The purpose of developing this project is Client has his own website to give brief description about his business. He don't have support website to make customers work easier (to register online complaints 24 hours a day) and also for his marketing team (one interface to store their schedules and feedback reports to admin after meeting new customers).
Key challenges of CRM are
- Technical challenges are integrating several fields to one platform (like admin should have good control on client module as well as marketing module).
- Another challenge is to develop application in such a way that it should be expanded easily. If the client wants to add new business the developer should be able to understand the present system and database structure
- This application should be designed in such a way that this application should be user friendly.
What is customer relationship management
Francis Buttle (2004) stated that "CRM is the core business strategy that integrates internal processes and functions, and external networks, to create and deliver value to targeted customers at a profit. It is grounded on high-quality customer data and enabled by information technology". Generally the most common use of the customer relationship management is to gain a sensible relationship with customers which ultimately lead to profits. Now a day the customer relationship management is mainly through the internet. They can write a question, or their needs etc. directly to the organization without going to it through e-mailing. Dave Chaffey(et.al)(2006) stated that " Eric Peterson, an analyst specialising in web analytics, defines it as follows: web analytics is the assessment of a variety of data, including web traffic, web-based transactions, web server performance, usability studies, user submitted information(i.e. surveys), and related sources to help create a generalised understanding of the visitor online".
Origin of CRM
The customer relationship strategy has been started several years ago. Francis Buttle(2004) noted that " customer relationship management has evolved from a range of stand-alone technologies including call-centres, sales force automation systems and customer information files, some of which date back to the 1970's and beyond". In 1980's different technologies came forward to join with each other. For instance the information of the customers are kept in customer relationship file which is general to banks and insurance companies, the information is using now for marketing strategies. Andrea Ordanini (2006) said that "Before 1990, the golden age of the first automation, and up to 2000, in correspondence to the internet hype, the background literature on IT effects was characterized by a positive view of technology investments".
The customer anticipation played an important role in those days. There are many organisations and a customer may change from one firm to another with greater hopes. The relationship has increased up to a level that it has spread from insurances to healthcares. In these starting stages of CRM the organisations try to attract more customers but forget to read their experience. Then the multichannel CRM was introduced in which there are different channels like marketing, finance etc. the final goal of the customer is to be in contact with the firm, and not on departments of the company. At some point the multichannel CRM has become a technical challenge. For instance consider the sales persons and a call centre, the technology essential for them are medium and high respectively. Here to build a multichannel CRM in one system configured a difficulty.
According to Buttle (2004), there are 3 types of applications in architecture of CRM they are: Operational, analytical, and collaborative.
Operational CRM supports the "front office" automates to the essential business processes that are sales, marketing, and service, Tasks are resulting from these processes are forwarding to the employees responsible and also the information is necessary for approaching the tasks. The benefits of the operational CRM are, while interacting with the customers we are enables 360 degree view of the customers. Service engineers and sales people can have the complete of each customer interactions with the company except the touch point.
Analytical CRM is nothing but data gathering within the operational CRM and supports to estimate the behaviour of the customer, and implements the intelligence in business Technology. Examples of campaigns which are directed towards the customer are acquisition (cross-sell, up-sell), retention (retaining the customers who leave due to the old age), and information (providing the regular information to the customers), and modification (modifying the details of nature of the customers relationships).
Collaborative CRM ensures make in contact with the customer's through the entire channels example: email, fax, phone, web, post, sms, in person, and also supports the interaction between the channels and employee teams. The data activities can be unstructured, structured, conversational and transactional in the nature. Collaborative CRM provides some benefits they are enables network collaboration to decrease the service costs of the customer. Customers were viewed with integrity while interacting at the level of transactions.
The CRM value chain:
The CRM value chain is a successful model which businesses can follow when developing and implementing their CRM strategies. This has been five years in development and piloted in a number of business-to-business and business-to-customer settings, worked in both large companies and small and medium enterprises of information technology, software, telecoms, financial services, retail, media, manufacturing and construction. All the customers are not strategically significant, but there are some customers too expensive to acquire and service. They buy little and infrequently, they make extraordinary demands on customer service and sales resources (Francis Buttle, 2000).
5 steps to profitable relationships:
According to Brutle, there are five steps in CRM value chain. They are customer portfolio analysis, customer intimacy, network development, value proportion development and managing the relationship. These five steps are the concepts, tools and processed to help create and implement successful strategy. Firstly customer portfolio analysis helps to analyse the customer base to identify customers to target with different value propositions. Secondly, customer intimacy involves the business in building customer data base which is helped to take decisions which impacts on customer attitude and behaviour. Thirdly, network development helps to build the strong relationship between the customers, suppliers, distributors, partners and investors and helps to understand the need of the customers. Step four involves developing proportions which create value jointly for the customer and company. The last step is to manage the customer relationship which focuses on both structure and process (Francis Buttle, 2000).
Customer portfolio analysis:
The customer portfolio analysis is the first step of customer relationship management value chain helps to acknowledge that not all customers have equal value to the company.CPA asks the questions: like, who are our strategically significant customers? The answer can be pitched at sector e.g. food retailing, segment e.g. food retail multiples or individual levels e.g. Tesco. Companies not having customer history uses segmentation approaches to identify potential strategically significant customers. Customers are targeted with different value propositions with the help of CPA potential customer base in potential SSCs. This can be sorted by considering profit potential, and not by volume. The CPA strategy sort and analyse customers in to 4 strategic groups, they are: sack, nurture, invest and re-engineer(Francis Buttle,2000).
Many of the companies collect customer data through scanner data, loyalty card data, complaints files, market research, and geo-demographic data. Serving customer by choosing is one thing and getting to know them well is altogether different. The main aim is to understand the customer behaviour by answering the questions of who, what, why, where, when and how (Francis Buttle, 2000).
Developing the network:
Company does not compete against company but network competes against network. For example: Sainsbury does not compete against Tesco but their networks compete. Tesco's network includes partners such as royal bank of Scotland (for its retail banking offer) and privilege insurance (for its insurance offer) seems to be performing better that Sainsbury currently. Network consists of partners, employees, suppliers and investors. CRM requires owners and investors in committing long term investment in the people, processes and technology to implement CRM strategies. For the successful CRM, the network of employees, suppliers, investors and partners are managed to meet the needs of chosen customers (Francis Buttle, 2000).
Value proposition development:
In this step of CRM value chain, the companies know who they want to serve. The network has to work together to create and deliver the chosen value to the chosen customers. Great value is found more effective and more efficient solutions of customer problems. Many companies are finding that people, process and service offer more competitive advantage as products become more commoditised. They may be small processes, such as how complaints are handled, big processes, such as how new products are jointly developed with customers. The value star illustrates sources of customer value in retailing context (Francis Buttle, 2000).
Managing the relationship:
Finally the managing the relationship, the companies has to re-invent structure and process for successful strategically significant customers. This encourages companies to replace their single marketing strategy with customer acquisition plan, customer retention plan and customer development plan and these development targets alongside more conventional measures such as customer satisfaction and sales volume and additional measures relating to the performance of network members (Francis Buttle, 2000).
Although customer relationship management is popular, there are several advantages and disadvantages. These are summarised in the next section.
Advantages of CRM ( H B Klopper(2006))
- The satisfactions of the customers are the advantage of the firm, but to attract a new customer is a big deal.
- By the CRM we can know the information of customers who spending more money on it and who are spending less money on it and can have a direct focus with them.
- The satisfaction for the customers is increased through crm.
- The relationship with the firm and customers will be increased.
New resources can be found out through CRM, since the firm know the changing mind of customers.
Disadvantages of CRM(Ed Little and Marandi (2003))
- Control failure: organizations are thinking and involving in relationships with customer and forgetting about their activities, resources etc.
- 2. The mind of customer changes and there is no guarantee that they stick to one organization, because the organization is not same now and in future.
- 3. Probably the maintenance cost is high.
- 4. The firm must be able to bring out only some part of resources and not all, so very individual may not like it.
My project is designed for satisfying customer needs by communicating with them through online 24*7 accesses and to store the data i have used the database backend. So in the next section i have discussed about the database and security in databases.
Security in database
An activity in an organization is described by collecting relevant data and this large data collected is known as a database. Ramakrishnan Gehrke (2003) said that "A database management system is software designed to assist in maintaining and utilising large amounts of data". The data stored in a database in an organisation is very essential and is measured as a business asset.
The designing of a database can be done by considering three main ideas namely secrecy, integrity and availability.
Secrecy: The data must not be exposed for unofficial users and access control must be provided. For instance, a student is not allowed to check other student's data.
Integrity: The data can be accessed only by the official users. For instance, every student is free to access and look at their own data (but not others), but cannot modify them.
Availability: for authorized users there should not be rejection to access. For example, if a mentor wants to change the he must be allowed to do so.
The access control is one of the solution for database security. Any project contains a huge amount of databases which must be protected and many users accesses the project. The majority of the users are included in specific task and they can only access that data which they are designing the task and not all the data. So DBMS should provide access to only some data. Access controls are divided into two types and they are discretionary access control and mandatory access control.
The discretionary access control is relied upon the privileges (access rights) and methods to give the users those privileges. With some specified privileges a user can edit the files such as read or modify etc. If a user creates a view or table, user gets all the privileges over that view or table automatically. The privileges which are allowed to users are maintained by DBMS by means of track and probably revoke and the DBMS ensures that the users who have all required privileges to access the data are only allowed to access the data objects. By use of GRANT and REVOKE commands the SQL supports discretionary access control. Through GRANT command, user gets the privileges and through the REVOKE command, access is denied for the users. A limitation of discretionary access control is that an unauthorized user can trick an authorized user into disclosing sensitive data. No individual users can modify the Mandatory access control since it is based on system policies. In this access control the database object , each user are assigned to security class and clearance for security class respectively and rules are compulsory to reading and writing of database objects. Based on security class and clearance of security class the DBMS can make sure whether the user can write or read the database object. If there is no clearance the sensitive data is allowed to users to access.
Discretionary access control
GRANT and REVOKE commands are used in SQL to support Discretionary access control. A user can access views and tables by using grant statement. The syntax of GRANT command is
- GRANT privileges ON object TO users [with GRANT option]. (ramakrishnan gehrke,2003).
- SQL identifies several other objects other than GRANT and REVOKE. There are several types of privileges that can be specified, some of those are SELECT, INSERT, DELETE and REFERENCES.
- SELECT: it can read all the columns of the table which is specified as the object, it can also read columns which are added later through ALTER TABLE command.
- INSERT: it can insert columns into the table with the column names and values in the table named as object.
- DELETE: The table which is named as object, the rows in that table can be deleted by using this DELETE privilege.
- REFERENCES: Consider two tables the column of a table named as object can refer to the other table and can provide a foreign key in that table referencing the object table. If a reference privilege is specified with no column name then it is considered as all the columns must be referenced even which are added later.
Grant and revoke privileges
If the user creates the view and if the SELECT privilege is withdrawn from that view than the view may be cancelled.
If the owner gets extra privileges on the original tables then he/she can automatically gains extra privileges on the view.
The difference among REFERENCES and SELECT privileges is significant.
Mandatory access control
Since the discretionary access control have some draw bags the mandatory access control has evolved. One of the difficulty in discretionary access control is any unauthorised user can track any amount of information without knowing to the official user. For instance raj is trying to track the details of his office manager, then he does these things and they are firstly, he (raj) will build a fresh table and gives the privilege INSERT to his office manager and his manager does not know about this task. Secondly, he will take a set of data from the office manager table and he will read the data in his table and then modifies, and thereby tracking the data. Thirdly, raj waits till the information into his table and as soon as the file is copied raj undo the changes which he made to the application to make sure that office manager could not detect that raj has defrauded.
The mandatory access control are evolved so as to overcome these types of problems. The efficient form for mandatory control is Bell-lapadula. . This is expressed in provisions of objects namely tables, rows etc, subjects and security classes and clearances. There are two types of restrictions which the Bell-lapadula imposes. They are *-property and simple security property. However the mandatory access control has some drawbacks and this can be achieved by using adapted mandatory access control technique. This security is mainly used to protect the database. The benefits of adapted mandatory access control are
- All the phases in the project design is supported by adapted mandatory access control.
- If mandatory security is needed then the copied database fragments needs a supporting statement.
- For a secure labelling security issue and purpose must be provided.
- With the use of triggers in database the adapted access control can provide security.
The phases of adapted access control are
- Requirement study and design: there will be different types of roles in an company and depending on role different type of security. Entity relationship schemas are developed to identify the type of security. Every individual has different kind of role and it is their responsibility to handle and protect their own data.
- Logical design: To execute a conceptual schema in a database management system there is a need of data model in support to dbms and a transform ER to data model. To transfer these adapted mandatory access control is used in which the ER is transformed to data model. The answer for this transmission is a bundle of relational schemas. When a database grips a result which is supported by discretionary access control.
- The AMAC security object: in a database the view, fragment corresponds to database subject and database object respectively. A mixture of fragments makes a view. More views can be accessed in a fragment. Security in database can be provided by decomposing the database into fragments.
- Automated security labelling: the objects and subjects of security in database are specified in this mandatory control.
- Security enforcement: a fragment is objectively situated and it can be accessed by a reference monitor. We can encounter security the trigger controls. Triggers is a regulation that are maintained secretly and are let off when the database contains some operations. The commands in database involve read-write access, insert, delete, update. In adapted mandatory access control each trigger has specific roles. The insert triggers are used to insert new tuples and decompose tuples. The select trigger keeps directing the queries to correct fragments. The delete as well as update trigger is used to protect against unofficial users.
The security is involved when the designing and query processing of a database is going on in a adapted mandatory access control. Also the trigger mechanisms are involved while a query has been processed. Requirements analysis is carried out in adapted mandatory access control by individual group source. (C Marshall Yovits,1994).
Internet application security
The security to internet applications is done by several methods. These methods involve encryption, certifying servers, digital signatures.
There are two different types of encryption keys to the data. For any data encryption algorithm is specified. To encrypt the data we use encryption algorithm. This can be two types one is user specified or the other is dba specified key. The output of the data which is encrypted using algorithm table will be the new version of the data which is in a binary form. As to convert the encrypted data into the original form there is a decryption algorithm which converts the encrypted data using the decryption key. Suppose if there is no perfect decryption key the decryption algorithm generate junk. Depending on the Encryption scheme, the encryption and decryption algorithms are maintained secretly. The disadvantage of the symmetric encryption is the imposter can easily know the key because in the symmetric encryption every official user will be given the key. By this the risk may be increased. The drawback of symmetric encryption is the encrypted key can also used as the decrypted key. The other type of encryption is public key encryption. And this is mostly used now a day. The official users can have the encryption key but only the owners can have the decryption key. Even the public key is mostly used a major concern is about how can the keys of encryption and decryption can be selected. The public key type of encryption depends upon the one way function. And computing the turnover of one way function is extremely tough. The RSA is the main algorithm used by public key. In this RSA determining prime and configuring is easy but configuring a nonprime is very tough. The encryption is primary for security purpose. When the original security mechanisms are very weak, algorithm tables are used to encrypt the data for the security reason and to keep the data safe. By this we can reduce hacking from the imposters.
Consider a customer wants to buy a book from website called bids. The customer needs to find the public key of the bids and this can be issued by number of companies known as certification authorities. If the bids sends their public key to VeriSign, which is a certifying authority. By using the public key the customer sends his request to bids through encryption. To know the request the bids used the decryption key which is known only to the professionals. By this customer satisfies with the order is seen only by the bids people andnot anyone else. But the bids cannot know that the request is given by the existing customer or not. So in order to overcome the organisation must place a userid and password that is login information to the users. Now if the customer wants to buy a book he must first login and then place an order. When the places his credit or debit card number this is seen by bids people only. The only he does is to trust the emerald. But this can be overcome by using secure electronic transaction.
For instance consider if Susan working in emerald, wants to communicate with Joe working for Tata. This can be done through digital signatures. Public key is used to construct the digital signatures for the data involved in messaging. If Joe sends a mail to Susan, then Susan can validate that Joe had sent her message from Tata by use of these signatures. If both the persons have encrypted the data by using public keys and swap data to one another but they cannot verify the dispatcher. We have another technique called message signature by which we can verify the user but the message can be seen openly. This is used only if they want to know who the sender is and not protecting the message.
E. Marion Haynes (2002) said that "A project management is an undertaking that has a beginning and an end, and is carried out to meet established goals within cost, schedule, and quality objectives". The project management allows the project to get all the essential resources together and hence finishing the project.
A lifecycle is defined as the step by step process maintained to reach the target of the project. There are 'n' numbers of lifecycles. Any lifecycle consists of four simple stages namely initiation, planning, execution and closure.
This is the first stage in the project lifecycle. In this stage the troubles facing by the industry are identified and the different options of solutions are defined. Each and every solution is studied and surveyed, finally a best option is realised. After the option is find out the project is initiated to reach the aim of the project. The aim, scope, idea is defined and a project manager has been selected.
This is considered as the second stage in the project lifecycle. After the initiation the project planning is done. The project plan involve the plan which recognize goals, actions of a project, a financial plan which recognize the cost of project and materials used, communication plan which is necessary to update the project to the client, acceptance plan which is defined to know the interests of the customers. So now the project is prepared to be executed.
This stage is the third in a lifecycle process. The plans which are discussed in the second stage are executed in this stage. Jason westland (2007) says that "while each plan is executed, a series of management process are undertaken to monitor and control the deliverables being output by the project". When all the deliverables are has put forward and the customer believes the project then the project is said to be set for closure.
This is the final stage in the project lifecycle. In this stage all the work like documentation is handed over, the contracts are cancelled and knowing the closure of project to all stakeholders.
Jason Westland (2006) said that "A prototype is a subset of full solution which is constructed to prove that at least part of the solution is achievable." prototype model is considered as the way for attaining answers for any risk areas.
Generally in a prototype lifecycle an dummy model is first structured and the usability is tested from users to get overall feedback. And there is no guarantee that the dummy model is going to be the final project. For example whole structure may change or half of the project may change like that. The figure of prototype lifecycle is as below
Basically there are two types of prototyping. They are evolutionary and throwaway prototyping. In the evolutionary prototyping a sample system with the specified requirements is made and if the user is not satisfied by the system, another sample is made up to till the user is satisfied with the system. In the throw away prototype a system is build with small functionality and if it is good enough they threw away the sample system and build a new system.
The reasons for prototyping were it has a fast development; changes can be made easily so that it is easy to understand for the user etc. I have discussed the advantages and limitations in the next section.
Advantages of prototyping (k. Jayant Oke (2009))
- A dummy model can be structured to user so that clear feedback is attained.
- The model can be executed by the user.
- A design can be layout with a minimum cost.
- The project can be developed quickly.
- The testing's can be done up to what extent the project is completed.
- 6. Even if the requirements change there will be no problem for modifying.
- There is a chance of users to clarify what's going on.
- The developers and the users can have a good communication thereby more clear information.
Although prototyping is used in many projects and easy to develop there are several disadvantages. They are
Disadvantages of prototyping (Cynthia Snyder, Frank Parth (2006))
- If the requirements of the client changes regularly whole system will go wrong.
- May end with Poor documentation.
- It can be used for small to medium type projects.
- Only after the design is finished, one can step into documentation.
- If it is a throw away prototype a lot of time gets wasted.
I think Prototyping is the best option for my project and I have explained in detail in the next paragraph.
The actual lifecycle I have chosen for my project is the waterfall model. But later I have changed to the prototyping model. This is because when the client gave his requirements I started working on project by choosing waterfall model. But as the development goes on the client started specifying more requirements and conditions. In waterfall lifecycle if we end one phase we cannot re-enter into that completed phase again and it is waste of time. Moreover client is in overseas; our communication was not on time. If client wants to make any changes he used to take long time to do so. This issue created confusions between us, i thought this may ruin the project. So then I thought of it and chosen the prototype model. And I found it helpful than the waterfall model.
Waterfall model lifecycle
The most commonly used lifecycle model is the waterfall model. It is mainly suitable and used for small projects. As the name specifies it is a step by step process (like waterfall) consisting of different phases. The phases in waterfall lifecycle are initiation, planning, analysis, design, construction, testing, implementation, post implementation. The waterfall approach looks like
After finishing one phase we can only enter into the next phase. Waterfall lifecycle need a well structured plan. Phases in this lifecycle cannot be changed once it is designed. There is no option of looking back into the completed phases again.
Advantages of waterfall
- It can be easily understood.
- Before starting the development, the model will be approved.
- The client can know which phase is completed and which phase is started.
Limitations of waterfall model
- All the requirements must be specified in the starting age only.
- If the client changes his mind and give some more requirements, they cannot be get done.
- All the things like cost, planning, time must be held at early stage itself.
Work breakdown structure
Rory burke(2007) stated that " The purpose of work breakdown structure(WBS) is to subdivide the scope of work into a number of manageable word packages, a list of jobs, or a checklist that makes it easier to estimate, easier to plan easier to assign the work to a responsible person or department for completion."
To find the work easy I have divided my project into different parts like analysing, planning, designing, testing, implementation. The work breakdown structure generally consists of three levels to six levels. An instance of WBS up to three levels is like
There will be different work packages for different projects and these vary based on considerations like time for project, size of project, structure of project etc.
The total time took to complete my project was two months and ten days. I have prepared a Gantt chart in the early of my project and I was able to complete task in the specific time. The Gantt chart is as follows:
Risk management is an event or situation that prevents you achieving project's goal and objectives. Risk identification is very important part of risk management. Process, because by identifying risk we can set a solution or get proposal for it and if some unidentified risk occurs it may cause halt in the project, which leads to different problems.
Risk identification is an ongoing process write of starting of the project till the end.risk can be classified into three types
- High level risk: may impact big problem in project.
- Middle level risk: these risks can be solved
- Low level risk: this can be ignored or easy to solve.
The risks faced in my project are personal, high level, time risks.
- Time: The development must be completed on time. By this project i have learned how to maintain the time sense.
- Client: My client was in overseas and there is no face to face communication. After developing the website the client is happy with my development.
- Communication: Most of my communication went through emailing and a few times on mobiles. Even on mobiles or emailing we had a clear idea of what are the requirements, how the process is going on, the knowledge of expenditure everything is understandable.
Alan D. Orr (2004) stated that "requirements are the requests from the organisation to the project that it must fulfil to enable it to satisfy its stakeholders". After the discussion about the project between my client and me and finalise the project, then he send a set of detailed requirements of the project. Specifically there are several types of requirements gathering known as elicitation techniques.
Elicitation is the process of obtaining language data from another person. Elicitation requires the need that is done through an arrangement of standard interview techniques, inference, assumptions, open ended questions etc., elicitation also helps to draw unspoken, concealed, hidden information from the information available.
TYPES OF ELICITATION TECHNIQUES
Elicitation techniques are of many types. They include
- Focus groups
- Previous studies
Questionnaires: in this approach a questionnaire is prepared and distributed to several individuals. They are asked to write or tick the appropriate answer. By this approach a statistics about the users can be drawn. In my project i have developed a questionnaire about the project to know the user analysis of my project. The questionnaire can be found in the appendix.
Focus groups: in this approach a group of people are grouped and a specific topic is raised and a discussion is conducted. All the set of points raised are noted. People's ideas and opinions will be direct in the focus group.
Interviews: the interview is a face to face interaction between the person who is asking questions and person who is answering it. From this approach the intensions, facial expression, ideas of the opposite person can be known.
Emailing: this is the technique where both the persons will be in contact through email. All the requirements, feedbacks, any questions etc everything is done through emailing. In my project most of the conversation is through email only. Because the client is in other country (India).
Previous studies: in this type already existing papers or projects are well studied and then a new paper is written. This is useful in literature reviews.
Observation: this technique is carried out by observing some things like how a person reacting on the problem etc. This a secret technique because the person do not know that he is being observed.
Brainstorming: Cynthia Snyder, Frank Parth (2006) said that "generating ideas, approaches, issues, and gaining consensus on a reduction of ideas that are documented for further project action".
Technique used in my project
There are many elicitation techniques available but i have chosen emailing technique for my project because my client who is voip-india is in other country (India). The evidence of these emails can be seen in figure 5. The methods like questionnaires, interviews are not possible because i need to meet him directly to do those. So i have contacted through my mail id through emailing him. I also came to contact with admin through phone calls sometimes. And i have received positive responses from voip-india admin.
Firstly, after concluding that i am going to develop a CRM for their organisation, they have send me an email about the requirements of the project. That means what are controls they want to have at the admin side , user side and the marketing side. One thing is they gave me permission that i can use any software which i feel is easy for development without their mentioning. The screenshot of mail which was sent by voip-india admin about the requirements is
The in detail requirements are
- The admin must have full control over the customers as well as the marketing team.
- Only admin can create user id's and passwords for the marketing team and customers.
- The feedback reports can be viewed by the admin and the replies to the customers can also be viewed.
- The marketing team must able to view the feedbacks from the customers.
- The admin can able to be set alerts like which report is pending and which is completed.
- Once the customer is given his/her id and password and logins, they must able to view their data and if any changes must be able to edit them.
Having determined the initial requirements i then i sent my early ideas to the client. Secondly, when i have sent the basic website which is completed, the admin had requested for some more requirements so that the website looks better. The screenshot of mail which he sent regarding the modifications was
The changes mentioned and some more information to add in the website said by admin is
1. The marketing team now only able to view the feedbacks of the customers, but client stated that he needs the marketing team also to give replies to the customer's from their userid and it must be viewed by admin because there will be many customers and only the admin cannot give reply to each and every customer. So the admin work also goes easy.
2. The client is going to expand his business, so likes to add select category dropdown. His new businesses are Insurance, Forex, Medical, Real-estate, Outsourcing, Webhosting,Voip,ExportImport,GoldShoping,ProjectsOutsourcing, Textile,BussinessCounciling, WorkFromHome
When adding the above fields. Fields required in Insurance: Policy Number, Policy Date, Validity, Expiry Date. Fields required in Forex: Transaction Id, Transaction Account Type.
Finally after completing the whole website i have uploaded all the pages and then connected to the database which is a backend. I have sent mail for the client, he replied after having a look at website. He mailed me saying thank you for designing a useful and attractive website. The screenshot of mail which he sent me was
My project is customer relationship management for voip-india. I have decided to do the CRM for voip-india Company and approached the admin of that company and discussed about the project through email and finally my client gave me a chance for doing my idea. For that I asked for the requirements at the initial stage and he has provided the required requirements. But as the development goes through the client had made more specifications in which case I found some risk doing it, even though I completed as the client specified. Since the requirements are changing as the project goes on i have decided to take prototype model lifecycle. To do my website there are hardware, software and server requirements which i have specified below.
In order to initiate and complete the project it requires some minimum hardware requirements which are necessary in the system in which the project is being developed. The Processor memory must be a minimum of 600MHz and then can extend up to 1GHz or more exceptionally. The Random Access Memory (RAM) must be a minimum 128MB and can upto 256MB and more. The space in hard disk must be 256MB. The operating system can be any of these: windows XP professional, Linux, windows XP service pack 2. Video must be a minimum of 800 X 600, 256 colors or 1024 X 768, High Color 16-bit.
I have searched many sites for downloading the XAMPP 2.4 and from all those sites I have chose the apache friends and downloaded it. I have used the cascading style sheets to style my website so that it looks attractive. The HTML and XHTML is used for coding for the web pages. The adobe Photoshop and dream weaver are already installed before since I have done my website design assignment.
Server Requirements: the server requirements are Linux server or Windows server with PHP 5.0 & MySQL 5.0 database for Supportability.
Moscow analysis is one of the best methods to find the important tasks of the project in the ascending order. The abbreviation of 'MOSCOW' analysis is MUST in the project, SHOULD in the project, COULD in the project and WOULD in the project.
I have designed the Moscow analysis of my project after gathering client initial and final requirements and supervisor requirements. As I have 3 types of users I have explained the Moscow analysis as follows:
Here 'M' stands for must requirements to be fulfilled in the project. The success of the project depends on these must requirements. If these requirements are not fulfilled, then the project can be said as failed.
- Backend database
- Login page
- Create customer
- Create marketing team
- Should be able to receive query from customer
- Solving query of the customer
- Write a query
- View solution of the query
'S' stands for should requirement to be fulfilled in the project. These requirements does not affect the success of the project.
- Change password
- View customers
- view marketing team
- Sorting queries
1. Edit customer information
'C' stands for could requirements fulfilled in the project.
1. View feedback reports
1. set/edit schedules
'W' stands for would requirements fulfilled in the project.
1. This application would be capable for multiple business.
Design of my application by considering Moscow analysis
Roles of admin
- Admin must have a login page
- He must able to create a customer and marketing team
- The admin could able to view the feedback reports
Roles of marketing team
- He must be able to view the information sent by customer
- Able to give solutions to the customers.
Roles of customer
- The user must be able to write the queries
- Must be able to view the reply's from the marketing team.
User need analysis
After gathering the requirements the user need analysis is carried out.
Stakeholder Needs Analysis for VoIP-India
Analysis and Design
I have completed perfect analysis before starting the application. Client used to take support of email and phone calls to give assistance to his customers. My aim then was to develop an easily navigable application to the client, his customer as well as marketing team. So immediately after discussing with the client about his requirements, I started searching on internet about CRM applications that are available on internet. I suggested my client to go through http://www.sugarcrm.com/crm/demo/sugar-suite.html once and get back to me if he wants application like that.
About Sugar CRM
Sugar CRM is commercial software that has all built-in modules. The modules include sales, support, marketing, administration, reporting, and customization. Once we download the software we just need to configure according to our needs and it runs according to our needs.
Why we have not used Sugar CRM
I have shown the entire application videos to the client. Three reasons for not proceeding with Sugar CRM.
- He wants his own: Another main reason is 'Client wants his own mark application'. He doesn't want something with extra fields and customisation. So he wants an application which satisfies his actual requirements.
- Budget: My client wants to proceed with minimum budget at the starting level. So he doesn't want to invest $1800(we need to buy 5 applications at least) for his basic application. So he is willing to proceed with his own mark.
- Web Application: Sugar CRM is desktop application. But our client wants web application.
After several meetings with the client and after observing several applications I came to a decision to develop 3 control panels for three types of users.
- Marketing / Support Team
Each admin panel has their own functionalities depending on the roles played by the users.
The Admin (Client) can be able to create marketing team, customers, view marketing team, view customers and watch feedback reports given by marketing team.
Customers those created by admin can able to login to their account and view the responses posed by marketing team. They could also be able to edit thier account information like name, contact number etc. Using this panel they can also be able to view respones posted by marketing team. This option is added after final meet with the client.
Marketing Team Panel:
Marketing team can login to the account created by admin and view the queries posted by admin. Through this panel marketing team could be able to reply to the queries posted by admin. We have changed the way of response to the customer queries and it is now taking only seconds to offer services. We have also reduced the response time through our application. Also customer can give feedback to the support tickets or he even could complete the issues. Another popular option called schedule and reschedule is also placed for support team. This helps supporting team for placing reminders when the query could not be solved by their own.
These are the things in brief came into mind after having several discussions with my client.
Then after complete analysis about the system got finalised, it was time to start analysis on coding. I decided to use PHP for dynamic pages and MySQL for database. As they are available for free(open source) , the server cost, development tools are also very cheap. So I started working on XAMPP, which is open source integrated tool for PHP, MySQL and Apache Server. Now the development tools analysis got completed.
Mistakes in analysis and corrections in next stages
- At first I have developed an application in which administrator only should respond to the customers. But after second prototype my client has raised a query that the whole system may be dependent on him in such a way that if he is absent on internet for a single day. All the support tickets by the admin will be thrown into queue and as no one replies to the customers, the entire system fails. So I re developed a system totally independent on the admin.
- I have placed single category (VOIP) for him in which his VOIP customers only could post queries. This analysis had made first and I recorrected this field to multiple categories. Now all customers belong to his different businesses can post queries to him and get problems solved.
- I first developed customer control panel in such a way that they could not be edit their details. Now I corrected this field also after third prototype. Now customers can edit their account details.
- I placed an option that the feedback reports from marketing team reaches to admin and admin then forward those reports to the customers. But after third prototype review I placed an option to view feedback reports from marketing team directly in the customer admin panel.
- During my previous meetings with the client the point 'forget password' field did not came into my notice. After the development got completed, my client has observed that field got missed, so after all the development completed I placed forget password button in such a way that an email with password will directly be delivered to the customer or marketing team member.
Use case diagrams:
A use case is a set of scenarios that describing an interaction between a user and a system .A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors. The use case diagrams of admin panel, customer panel, marketing panel are as follows
Logical database design
In general the DBMS are of many varieties in which the relational database system is the most common one. Heathcote (2000) said that "in a relational database, data is held in tables (also called relations) and the tables are linked by means of common fields. Conceptually then, one row of a table holds one record. Each column in the table holds one field or attribute".
In my project to link the database tables, common field are chosen and the key in first table is the foreign key, in second table. That's how I linked the tables.
Colin Ritchie (2002) stated that "Normalisation is a formal procedure that can contribute to the design of relational tables and, using the notion of functional dependency, can allow you to verify that the designed tables do not contain any anomalies". There are different types of normal forms they are first normal form, second normal form, third normal form, Boyce code normal form(BCNF), fifth normal form. BCNF contains all the relations which are in 3nf, 3nf contains all the relations which are in 2nf and 2nf contains all the relations which are in 1nf.
First normal form
A Relation is in first normal form if and only if every field contains only atomic values that are no lists or sets.
First normal form must not contain duplication of rows i.e., 1nf cannot have a row that contains repeating group of attribute values.
The columns in the basic table before the perform the normal form are
In userreg table the attributes are
- Pin code
A relation is in first normal form if there are no repeating groups within the entity and entity must have a primary key.
Firstly, these two entities are separated and then drawn into two tables.
Secondly, the both tables must be joined in order to establish or maintain relationship between the tables. The tables have been joined through one to many relationships. So the tables obtained after 1nf is
Second normal form
Every relation in 2nf is also in 1nf and every non primary keys are completely dependent on the primary key.
That means it removes subsets of data that apply to several rows of a table and place them in separate tables. Further it creates relationships between the tables through the use of foreign keys.
If the 1nf table has a primary key that is just one field (not a group of fields working together) then it is automatically 2nf.
The table obtained after 2nf is as below and there is no chance of splitting tables again since there is no further dependents.
Third normal form
Every relation in third normal form is also in second normal form. Third normal form relation cannot have any non key attributes that is depend on another non key attribute and this is ' transitive dependency' and in third normal form we will remove columns that are not depend on primary key. That is the third normal form means that no column inside a table is dependent on a descriptor column that in turn depends on primary key.
That is third normal form is based on concept of transitive dependency.
Transitive dependency: transitive dependency can be achieved when we transform the 2nf entity into 3nf entities. That is by removing the functional dependences involving the non-key attributes (i.e., the dependency of attribute 3 on attribute 2 of transitive dependence) into a separate entity.
Coding and Implementation
Coding is the important concept in the design because without knowing the code the web pages cannot be designed. Normally the coding is different for different pages and that may be small or large. The writing of code is started when the initial requirements are handed so as to complete the website in expected time. After code is written it is tested. The two process taken place in my project is
- I have the all the required software's in the project.
- I have created a database and then normalised the database so that the database tables are updated, retrieved easily.
After taking requirements from the client we process through analysis stage, then implement prototype. In this step in order to implement prototype we need to develop using our development tool (here we are using XAMPP 2.2). Apache Friends XAMPP is the integrated tool which is combination of PHP, MySQL, and Apache Server. We are using XAMPP as it is easy to execute dynamic pages easily than with commands.
Step 1: Installing Development tools.
Setting up Apache Friends XAMPP Server (for PHP, MySQL, Apache) in our desktop. Actually PHP pages can be run only on Apache Servers. So we are creating Apache Server environment in our desktop. Apache Server can be downloaded from www.xampp.com and after installation we will get xampp-control.exe in the installation folder through which we could be able to control XAMPP application for starting PHP-MySQL. We can have screen shot below.
Page refresh in the marketing panel
This is the code we used for Meta refresh. The purpose to use this script is when marketing team logs into their particular account; they need to monitor all the feedbacks from the customers. After developing the application and when the entire site comes for testing by the end-users they feel difficult to refresh webpage for every 10-30 seconds to check for new questions. So upon thinking we got an idea to place java script which automatically refreshes page for particular instant. As java script is browser based scripting, it always refresh and display updated details from MySQL database.
Gregory M. Kapfhammer ().noted that"software testing, or the process of assessing the functionality and correctness of a program through execution or analysis, is another alternative for verifying a software system."
The testing's can be done once the project is finished, but some testing are done in-between project also like the code testing's. There are several units in which different kinds of testing's are done like the unit test, integration test, system testing, acceptance testing. In order to verify the code, operations etc are working or not testing is a necessary option to be done. I have done the operating system testing, browser testing, and validation testing on my website.
Types of testing's
- Operating system testing: i have done the operating system testing on my website to ensure that the website is working or not. The operating systems on which i performed these tests are windows vista, windows 2003. This is done because some sites do not run on some OS because they are not compatible.
- Browser testing: this test is performed to test the browser compatibility. That means whether or not the website is run on changed browsers. I have the browser testing on my website and the two browsers i performed the test are internet and Mozilla firefox browsers.
- Functionality testing: this test is done in any time of project when some functions are developed because to know whether all the links are Functioning properly or not.
- Navigation testing: this is done to check that one page is navigating to other page or not. I have done all the navigation testings in my project and found that all pages are working.
- Validation testing: The validation testing is the major testing in the development. It detects the errors which are present in the system. This interprets whether the system can be used by end users and verifies all the functions. By this validation the errors in the project are decreased and thus helping the developers.
- Black box testing: A product is designed to carry out a exact function. This test checks whether all the functions are doing well or not.
- White box testing: this test is done depending on the internal functions that means all the functions or jobs internally are working well according to the requirement or not.
I have performed the operating system testing on windows vista and windows 2003, and found that all the functions are working properly and all the pages are navigating to other pages in the website. The screenshot of windows vista operating system is as below
The screenshot of the browser testing's also carried out and the browsers are internet explorer and Mozilla Firefox, and found that all the functions are working properly and one page is navigating to other page in the website.
My client is a VOIP reseller. Currently he is implementing support tools manually. Whenever his customers get troubles or problems with his services, they are meant to send him email or make phone call to him. Then the client (Voip-India.info) will forward email / phone call to the marketing team and after getting response from them, he will again get back to the customers. This is the process he is following now a day. The trouble in this process is 'This is manual process' and the system is completely dependent on persons. Say if any marketing person is not answering the phone call or if our client is unavailable to his customers. Then the ultimate sufferer will be his customers and finally affecting the business of client because of poor service.
-Actually the client is selling things and he don't have support knowledge base with him to solve his customer problems. So we are just making admin as superior person and he just monitor things. He has option to create marketing team which gives support to the customers. He has option to create customers who are buyers of his service. Actually in the present system he is nowhere connected to solve problems except in communication with his customers. So through our application we are building direct communication between customers and marketing team. So that the response time to give support could be lowered to 1 min from 1 hour. Using our application there is no global constraint like we should be in specific country to give support and we should be in specific country to ask our query. Because of our application the support request time and cost has almost lowered to NIL. As we are using internet as a tool marketing team can receive support tickets within seconds and could reply immediately.
User evaluation is all about how a new user feels while accessing the website. How did i proceed to this is explained in the next section. When an user login into the admin account he acts like an admin, when he login into marketing panel, he acts as marketing team member and when he login in customer panel he acts like a customer. I have done this user evaluation because when the different users login to their concerned panel for the first time i tried to find what problems do they face, whether the application is user-friendly or not, which part of the application do they find easy to understand and which part is not.
First user in my project is Janet my supervisor. When she accessed for the first time i think she did not find website provided much info about the application. She made some changes to my application like placing Logo, description in login page, forgot password option, etc., as per my first user i made appropriate changes and asked a fresh user to assess website again after explaining about the application. I have found that the changes i made as per my first user was really helpful to this application. User has specified that he was comfortable using the website and all the pages are navigating as per links provided and the user also said that web pages were not attractive. Because of lack of time i could not concentrate on that issue but as the development of the website is an ongoing process this can be considered as future development.
An example of the screenshot of the index webpage after the first user evaluation is as follows:
Problems faced during development:
I have first client interview on July 1st . He disclosed his requirements as he wants some desktop application for support tickets to be installed only in his office systems. While I was planning for that, he again made a phone call and asked for web application. So we are meant to change our plans initially. After that I started application keeping in mind of his VOIP business only. While our development is going on, he asked me to implement things for his newly started businesses also. So I have added new categories. This is new modification from client and I took 5 days to solve the issue. But I learnt good lesson how to write logic for different modules. Other thing is I added categories as per his requirement. But after adding categories he want some specific fields only to be activated for insurance and forex and I used java script to do those fields active. We have done admin panel as per client's requirements. But after completion of that he asked me to place a send email option which allows client to send email to marketing team and customer details directly through the admin control panel only. After completion of everything in the local system, the client want to make this application into live. But I have no previous experience how to upload files to server. So I took assistance of interactive support video file and uploaded files into server. After uploading files into server, the datetimepicker_css.js files have got modified automatically because of virus in client's system. So it really get me good experience to solve things after working with the error for 3 days. Finally I removed the virus object in .js file and now the calendar is displaying well. In marketing support panel, I used file names as Re-schedule.php which is calling as reschedule.php (Linux servers wont accept upper case letters). So I was getting error as page cannot be displayed. Finally after removal of upper case letters I got reschedule link worked. The lesson I learnt from this incident is 'We should not use uppercase letters as file names in Linux servers.' We also faced budget constraint in this application. After 13 days of uploading the application into server, the server started not responding. The actual reason is webmaster (service provider) has blocked website because of heavy traffic and released website after payment of amount regarding bandwidth. (This won't come into development problem, but specifying just as budget problem). After completion of whole development client asked for customer details edit option. So I was meant to work again on this work. I faced problem because client have poor knowledge over requirement specification. So because of this I got known that requirement gathering plays good role in completion of project in time. As we are in prototyping model there was no problem in completion of project even with further requirements. But for prototype to prototype we need to satisfy as many requirements as possible. The new requirement added is forget password option. Client asked for this option and we have already divided tables satisfying 3 normal forms. So it became complex in calling customer email id and marketing team email id which are stored in different tables of the database and finally I could solve the issue. The scheduling in the marketing panel, the concept works as per server timings. Our server is located in Brasilia (which is in -3:00 time zone). So the scheduling time works with Brasilia time. Actually client is going to shift his programme to india server in future. Until then the alert call come at Brasilia timings.
Application is running fine in all browsers (i.e.) Internet Explorer, Mozilla Firefox, Opera, Google Chrome. The Sessions are working well and no internal page so opening without particular username and password. CSS tags used for designing is also working well in all browsers. I have implemented use case diagram before development starts. That really helped me in proceeding step by step. Overall pages are working fine in web server also. The Page refresh code is also working good and the marketing user need not refresh page to update queries. Scheduling time is also working well according to server time (Texas, North America Time).
- We can upgrade this application by placing live chat option.
- He can even upgrade in such a way to add category option through control panel.
- We can embed with security certificate.
- We can allow customers to create an account automatically using their product code. Client is not providing products with code right now, so this option is not possible.
- We can place rating option to the support team.
Reflection on the project
I am very much enthusiastic while doing this project since this is my own development project and i had never done this before. My supervisor (Janet) stood behind me and supported me to complete this project by giving me useful ideas rite from first day of our appointment. Gave me ideas about how to write the documentation, how a website should look like, added few more changes after first part of my development like forgot password, click here etc., in my opinion i could say that requirements added by Janet made this application user friendly, look attractive and look professional. I am always thankful to Janet who stood by me and made me to go in the right track. She corrected all my mistakes and spared a lot time with me and i am very thankful to her.
The things i liked and learned in this project is firstly, rite from the age i have started using internet i use to wonder how they develop all the websites and software's. When would i get the chance to do so? By this opportunity I think I have fulfilled my dream. Rite from the day i have take over this project i have gone through different stages, i feel in every stage i learned some or the other thing. This is my first project i have ever done. When i started this project i did not know anything. When i calculate in numerical terms i could say that i was at zero, i did not knew where to start?; And how to start?. In this journey my first step was to find the rite project and finding the client. There my journey started and i did not look back again. During this journey When developing the starting paper prototype i have remembered of my school age when i need to colour my website. Secondly, my client is very straight forward in telling all his requirements and changes; i like that because if he specifies the modifications in the last stage may be i have found feel very difficulty. Thirdly, when i need to write the coding i have searched and read several books for my understanding and this helped in getting me more knowledge about the website code. Because of doing the website i have gained the practical knowledge. I have understood many other websites to analyse my design. I have got a clear idea of database and connecting the pages to the databases. While doing the user evaluation i came to know some of the difficulties facing by the user and i have modified the particular things in the website and add me a plus point.
If the is website i have developed is not satisfied and agreed by the client i would have faced some difficulties. All my work i have done got wasted. The time i took to develop this website had been washed out. But since client liked my project and now i have a very clear idea of the design, if i got another offer to develop a website i can do that within a minimum time since i have got experience in doing this project. I have an plan to search for a job where i can implement my knowledge in designing and obviously i get more opportunity to learn things more.
According to the requirements of the client as specified a customer management system for voip-india website is designed. This website is easy to understand by the users and access it. This website consists of feedback report in customer's id where they can view their responses. All the data is stored efficiently and secretly since backend database is used.
The present system performs the key things such as creating customers, creating marketing team, feedback reports, customer login and view his/her details, mailing and feedback reports. Finally we can conclude that the present system would definitely help the user by saving time as well as effort by reducing the processing time and the volume of errors.
I have learnt several modules in my Msc degree which came to be helpful in my project especially the subjects like project management, database administration, website development. I am thankful to my supervisor Janet who is very kind and helped me throughout my project by giving several ideas and correcting my mistakes. I am also thankful to my client giving this opportunity for me to do the implementation design.
- Gerhard Raab (et.al)(2008). Customer Relationship Management: A Global Perspective
- Innovative Business Textbooks Series. Pg 6. Gower publishing.
- Dave Chaffey (et.al) (2006). Internet Marketing strategy, implementation and practice. Pearson Education Limited.
- Francis Butte (2004), Customer relationship management. Butterworth-Heinemann.
- Francis Buttle (2000),''The CRM value chain''. Crm-forum1 resources (march). URL: www.wtcbrescia.it/upload/0-FButtle_CRMvalchain.pdf. Accessed on 20th September, 2009.
- H B Klopper (2006). Marketing: fresh perspectives. Page 319. Pearson South Africa.
- Ed Little and Ebi Marandi (2003). Relationship marketing management. Thomson learning
- Ramakrishnan Gehrke (2003). Database management systems. Mc-Graw hill, newyork.
- C Marshall Yovits (1994). Advances in computer. (Page no 20, 21). Academic Press.
- Hossein Bidgoli (2006). Handbook of information security (pg 381). John Wiley and Sons.
- url: http://books.google.co.uk/books?id=0RfANAwOUdIC (accessed 3rd august,2009).
- M Bhavani Thuraisingham (2005). Database and applications security: integrating information security and data management. (pg 160,161). CRC press.
- Catherine Ricardo (1990). Database systems. Macmillan publishing, Singapore.
- Stephen Dranger et.al (2003). The complexity of discretionary access control. Dept. Of computer science, Chicago.
- Andrew Fell (2007).Project management lifecycle. La Habra, California. Referenced from http://www.mpmm.com/project-management-methodology.php(11/09/2009). Accessed on 21st august.
- Jason Westland (2007). The Project Management Life Cycle: A Complete Step-By-Step Methodology for Initiating, Planning, Executing & Closing a Project Successfully. Pg 3,4. Kogan Page Publishers.
- E. Marrion Haynes (2002). Project management: practical tools for success, fifty minute series, crisp series. Ed 3. Cengage Learning.
- Jason Westland (2006). The project management life cycle: a complete step-by-step methodology for initiating, planning, executing & closing a project successfully. pg 28. Kogan page
- Mike Field, Laurie Keller (1998). Project management. Page 65. Cengage Learning EMEA
- K. Jayant Oke (2009). Management information systems. Ninth edition. Nirali Prakashan.
- Cynthia Snyder, Frank Parth (2006). Introduction to IT project management. Page 59, 60, 55. Management Concepts.
- T. Gregory Haugan (2002). Project planning and scheduling. Page 46. Management Concepts.
- Rory Burke (2007). Introduction to project management. Cosmic MBA series.
- Alan D. Orr (2004). Advanced project management: a complete guide to the processes, models and techniques. Page 64. Kogan Page Publishers.
- Cynthia Snyder, Frank Parth (2006). Introduction to IT project management. Management Concepts.
- Heathcote (2000).'A' Level Computing. Page 285, 286. Edition 4. Payne Gallway.
- Colin Ritchie (2002). Relational database principles. Edition 2. Cengage Learning EMEA.
- Gregory M. Kapfhammer (not mentioned). Software testing. Accessed from http://cs.allegheny.edu/~gkapfham/research/publish/software_testing_chapter.pdf. Accessed on 12th September.
- Lu Luo (not mentioned). Software testing techniques technology maturation and research strategy.carnegie Mellon University, pittsbug. url: http://www.scribd.com/doc/17222992/Software-Testing-Techniquies
- Hung Quoc Nguyen (et.al)(2003). Testing applications on the Web: test planning for mobile and Internet-based systems. John Wiley and sons.
- Andrea Ordanini (2006). Information technology and small businesses: antecedents and consequences of technology adoption. Page 77. Edward Elgar Publishing.
Sample design of the website send to client
I have drawn the sample WebPages on the paper and shown to client and after he is satisfied I started implementing. Some of the paper work which I have drawn on paper are below
Proof of Emails sent by the client
Client has sent all his requirements through email. The initial requirements email is below
As the development goes on client has made certain changes in requirements. The email of this is as follows
After the website development is completed, client said he is happy with my application and he sent an email and it is like this
Screenshots of voip-india website
The screenshot of index page is as below
The screenshot of forgot password page is
The screenshot after the admin logins into his panel is
The screenshot of create customers is
The screenshot of view customers is
The screenshot of create marketing team in admin panel is
The screenshot of view marketing team is
The screenshot of feedback reports in admin panel is
Marketing team panel
The screenshot of the page when marketing team person logins into his/her account is
The screenshot of marketing team customer feedback form is
The schedule/reschedule screenshots of marketing team are as follows
When customer logins into his/her account the page is like this
Customer has an option to edit his details, the screenshot is
The screenshot of page where Customer can view his feedback details is
The screenshot of change password page is