Print Email Download

The CRM solutions

Executive Summary

In this generation of the world, the business tends to evaluate their performance and carries out all the actions and executions of the operations only with the latest updates of the news in the market and updating with the newest technologies. All the business organizations are successfully moving ahead, as business cannot suffer competitive advantage in this scenario of economical environment. So for an industry, all its branches must be interconnected with each other and the all records must be maintained of the different departments within the organization. So this can only be managed by the means of internet, by which all the persons can update themselves by pressing just a click. In this web enabled system there are different departments such as sales, production, warehouse, accounts, purchase, and customer relationship management. For this reason the main aim of this project is to study the concept of all the existing technologies which can be applied in order to build this project so that the users of this system doesn’t have any type of difficulties in using it. It is a unique system in its own respect with the various unique features provided. It is designed so as to automate the whole process of industry reducing the manpower and paper work involved. Through this all the different departments, customers, suppliers etc. can be updated and can viewed from anywhere. Here information is integrated so as to maintain and group together information from various departments of sales, production, warehouse, etc. In this system all the records of an individual is also maintained who is affecting the assets of the organization directly or indirectly. So this system is made on java as front end and mysql as back end as they were most suitable for the proposed project. The functionalities of this project are divided into three different parts core, enhanced and special. The process of project planning includes project management, the development plan, work breakdown structure, time management, and quality management which will ease the process of the steps for building this system. To manage the complicacies of software development organizations use standard steps called the System development methodology to develop and support their SDLC (Software development life cycle). The most suitable methodology for this project so that it can be completed on time is Prototype model. The four phases which are used in prototype model are identify needs and establish requirements, develop alternative designs, build interactive versions of the designs and evaluate designs.

http://hf.tc.faa.gov/services/prototyping.htm

A critical issue in the design of any complex software system is its architecture, that is, its gross organization as a collection of interacting components. A good architecture can help ensure that a system will satisfy key requirements in such areas as performance, reliability, portability, scalability, and interoperability. So in the domain research the system architecture is explained with a suitable diagram in which the flow of data is shown from client to server. The process of primary research is done by the means of questionnaires and interviews. Questionnaires were distributed to the selected responders in order to gather their views and the requirements. Finally the project is concluded with the learning experience, system limitations and future enhancements which can be enhanced later on.

Chapter 1: Introduction

Context and Preliminary Investigation

Topic Background:

Integrated ERP and CRM Solution is a Rich Internet Application that provides ERP functionalities for small and middle level enterprises. The main features of it includes robust functionalities allowing for the management of sales, Purchases, Warehouse, Bill of materials and production, Accounting, CRM, Customers and contacts hierarchies, Document management, database schema management, reporting solution and reports customization.

The correct administration of the master data is a basic feature for guaranteeing the consistency and tracking of the organization process. The main objectives for developing this system are:

Topic of the System: Integrated ERP and CRM and Solution

Target Audience: Integrated ERP and CRM Solution application is being developed generally for the Small and Midsize Enterprises. The primary target readers for this application are the businessmen who can implement this application within their organization. The enterprises which sales their products, purchase raw materials from different vendors, keeps records of the inventory in the warehouse, maintains the records of all the transactions taken place in the enterprise, prints reports, keeps tracks of the customer (customer relationship management).

Problem Context and rationale:

To enhance flexibility, to adapt to the specific organization particularities an organization has to familiarize with the latest technologies and must enhance the skills with of the employees. There are a lot of functionalities which goes under an organization and the native method generally involves a lot of paperwork, consumes time and has geographical limitations. So there is always a need of updating the organization with the existing technologies. As an organization grows, however, it becomes increasingly difficult to manage without more formal work assignments and some delegation of authority. Advances in technology are the most frequent cause of change in organizations since they generally result in greater efficiency and lower costs for the firm. Technology is the way tasks are accomplished using tools, equipment and techniques. There is no such system all in one which can handle all the operations of an organization in it. This Web based ERP with an integrated of basic CRM will take care various issues within an organization. It will automate the whole processes and will reduce the manpower. There will be no need for manual records maintenance. As this is a web based application, so any authorized person can view any details at any time and from anywhere. It will also generate reports and it also supports customizing of reports within the application through customization functionality. In warehouse it shows future item quantities per warehouse related to figure availabilities of the current item, as defined in purchase orders and the estimated arrival date.

Tangible Benefits:

Intangible Benefits:

Objectives of system Development

Project goals and objectives

The main objectives of the system are:

Scope and function of the project:

Functions to be implemented

Core Functionalities: -

Enhanced Functionalities: -

Special Functionalities: -

Customer Relationship Management: -

Report Generation: - this application generates automatic report for various modules of different fields. User also has an option of customization of reports which is also provided within this application. It prompts the user to upload new standard report template or edit the previous one. So a user can easily customize standard report templates.

Major Deliverables of the project

Challenges involved in the project

Project Planning

Project Management

As the competition in software industry in increasing rampantly vendor are look to increase their profits not by increasing the cost of software but by reducing the cost and time requirements of project development. One of the tools to efficiently supervise the software development process is though care full Project Management. It is imperative that projects are managed to win the confidence of stake holders, realize efficiency and effectiveness in all phases of the projects and to improve the life cycle utility of the projects.

Project management in broader sense can be assumed as the framework within which a project lives its life cycle. It involves effective management of time, cost, resources and the partners of the project to achieve superior quality, higher productivity, perfect delivery performance, overall customer satisfaction and enterprise excellence all with lower cost.

http://www.iitb.ac.in/~cep/brochures/2005/asb-prmgt-bro.htm

The entire project management can be divided into following parts namely:-

Project Development Plan:

Project Idea Generation and Planning

Tasks:

  1. Idea Generation
  2. Project Proposal Form
  3. Project Specification form
  4. Gantt chart

Research:

Tasks:

1ST Increment (Personal Assistant):

Duration: 5 Weeks

2nd Increment (Project Management)

Duration: 5 Weeks

3rd Increment (Customer Management)

Duration: 4 Weeks

4th Increment (Accounting)

Duration: 2 Weeks

5th Increment (Report Generation)

Duration: 5 Weeks

Tasks during each increment:

Requirement Analysis

Design

Tasks:

Implementation

Tasks:

Code generation

Testing and evaluation

Tasks:

Critical Evaluation:

Duration: 2 Weeks

Tasks:

Limitations

Future Enhancements

Project Submission:

Duration: 2 Weeks

Tasks:

Documentation Preparation

Time Management

Gantt Chart

Quality Management

Test Plan

Introduction to Testing

Testing is a process of technical investigation which helps in indentifying the integrity, correctness, logicality, security and quality of the developed applications on behalf of the individuals which specifies to disclose the quality related information about the product.

http://www.testingbrain.com/

The difficulty in testing generates from the complexity of the software/application. Testing is generally more than just debugging the code.

Test Plan and Strategies

Three Layers of the System and Success Criteria

Detailed Test Plan & Evaluation of Success Criteria will be judged by following steps -

  1. Type of Testing
  2. Features to be tested
  3. Approach for the Testing
  4. Deliverables
  5. Pass / Fail Criteria.

Evaluation on Success Criteria

The project would be considered successful if it meets the following criteria:

Chapter 2: Problem Description

Introduction to problem Area

In today’s period there are a lot of functionalities which goes under an organization and the native method generally involves a lot of paperwork, consumes time and has many geographical limitations. Current ERP’s and CRM’s don’t have standardized application which can manage all the modules within an organization. Different systems implements different type of functionality within it, but it does not consider all of it together.

Suppose some existing systems in the market and which are currently used by most of the industries have some of the missing functions in each and every module of the system. For example accounts module consists of many functions such as debits, credits, etc. and the sales module consists of invoice, payments, pricelist, discounts, etc. but only some of these functions are only included in this modules and the rest of the things are done manually. And for maintaining relationship with the customers different system is used.

Proposed Solution

This Integrated ERP and CRM will have an impact on two most important parts of an organization, basically the core modules and the customer relationship management. The core modules such as:

Benefits of the System

As this system is an integration of ERP and CRM, ERP related to sales, purchase, warehouse management, accounts, report generation, etc and Customer Relationship Management, which is a rare combination. This system takes care of all the above mentioned modules with total integration and relating to each other. Many existing system which have the features of sales, purchase, accounts, etc. does not have Customer Relationship Management in it and vice versa. This indeed makes the enterprises to purchase two different kinds of system which is difficult to maintain and both the systems has no relationship within themselves. This way a lot of time is wasted and the user have to put a lot of extra efforts to maintain both the systems simultaneously.

Relevancy of Title of Project

This system consists of many modules which are integrated into a single system and the Customer Relationship Management is also built in it as well, which is infact a different large module and generally made in separate system. And generally an ERP system has many components in it including hardware and software. So, as all this are included in this distinct system so I have named it as Integrated ERP and CRM Solution.

Chapter 3: Literature Review

Domain Research

Academic Research

Books:

White Papers:

Research on Development Methodology

Software development is a highly unorganized and diverse field. To manage the complicacies of software development organizations use standard steps called the System development methodology to develop and support their SDLC (Software development life cycle). This is very similar to any other commercial product’s life cycle. Like they are created, tested, introduced in the market and finally removed and replaced with something else, so do software’s go through their life cycle.

Various development methodologies are available for the process modelling. The most common of them are Prototype model, Spiral model, evolutionary model, waterfall model and RAD model. Selection of process methodology should be such that it responses to all the milestones to be performed, analyzed for completeness and consistently & documented in a requirement document, then the development team can go on to system development activities.

Why not Waterfall Model: -

Why not Hybrid Model: -

The common approach in this model is to use a structured method for the requirements analysis and specification stages and then shift to a more RAD-based approach, using prototyping for the incremental delivery of software.

Why not Spiral Model: -

Why not Rapid Application Development model?

Rapid application development (RAD) is an incremental software development process model that emphasizes an extremely short development cycle. The RAD model is a “high-speed” adaptation of the linear sequential model in which rapid development is achieved by using component-based construction. If requirements are well understood and project scope is constrained, the RAD process enables a development team to create a “fully functional system” within very short time periods.

RAD Methodhology

Reason for Selecting Model

Why Prototype model?

Prototyping of information systems is a worthwhile technique for quickly gathering specific information about user’s information requirements. As this system is a complex one and has unstructured or semi-structured problems so prototyping model will be the perfect candidate between all the methodologies. Prototype model will also elicit feedback about the proposed system and about how readily it is fulfilling the information needs of its users. The main advantage of prototyping model are the potential for changing the system early in its development and the possibility of developing a system that are more closely addresses users needs and expectation. As involvement of user is very much important for building this system, so prototyping model makes users secure enough to give an open reaction part of the relationship between the developer and users.

http://qastation.files.wordpress.com/2008/04/prototype_model.jpg

Research Outcome Conclusion

From the above research on development methodology and selecting model I have came to the conclusion that Prototyping model will be the perfect candidate for developing this system.

Technical Research

Programming Environment Research

In this section the various programming languages that can be used to make this project are being discussed. The various languages that can be used in this web based project are JAVA, C# and ASP.NET. Research on the various languages is being performed so as to choose the best suited language for the proposed system. The various languages will be discussed below.

JAVA

The most important property of java is its platform independency due to which the system will be easily deployed on any system.

Advantages of java: -

SIMPLE: -

Java is one of the simplest languages as this automatically allocates the memory and for garbage collection. Simple and easy syntax makes it easy to learn.

PORTABLE

Platform independency is one of the most important features which make it famous among other languages. It can run on any platform e.g. Windows 95 or Xp or NT, Macintosh, LINUX etc.

MULTITHREADING

In an application many tasks can be performed simultaneously. This feature is needed in any application related to network and visual. This system requires multithreading and java is easily providing it.

DISTRIBUTED

This property of java helps the various computers to interact with each other as these clients are on distributed network. Through help of java interaction between various clients is possible.

ROBUSTNESS

Error detection at early stage make java robust in nature as possibility of errors at later stage is minimized.

Why not C#?

This language could also have been used in order to make network monitoring tool. This language too provides libraries and API as this language comes from .NET package. Features of C# are:-

INDEXERS

C# provides indexers allow objects to be treated like arrays, except that like properties, each element is exposed with a get and/or set method.

GARBAGE COLLECTION

Proper management of any project is only possible if the garbage is managed properly. Handling memory management, garbage collection is added as a great feature to C# uses during runtime.

EVENTS

C# provides direct support for events. Although event handling has been a fundamental part of programming since programming began, there has been surprisingly little effort made by most languages to formalize this concept.

TYPE UNIFICATION

Most languages have primitive types (int, long, etc), and higher level types which are ultimately composed of primitive types. It is often useful to be able to treat primitive types and higher level types in the same way. For instance, it is useful to have collections which can take both ints as well as strings. Smalltalk achieves this by sacrificing some efficiency and treating ints and longs as types like String or Form. Java tries to avoid sacrificing this efficiency, and treats primitive types like in C or C++, but provides corresponding wrapper classes for each primitive - int is wrapped by Integer, double is wrapped by Double. C++'s templates allow code to be written which takes any type, so long as the operations done on that type are provided by that type.

OPERATOR OVERLOADING

Operator overloading allows programmers to build types which feel as natural to use as simple types (int, long, etc.). C# implements a stricter version of operator overloading in C++, but it allows classes such as the quintessential example of operator-overloading, the complex number class, to work well.