Develop a customer relationship management system, JAVA Programming

You are a newly recruited programmer, working for an IT company. This company won a contract to develop a Customer Relationship Management System (CRM) for a major retailer. The CRM system has to be designed using Object Oriented techniques and to be coded in Java. This system has to manage information about communication contacts with customers, such as orders, enquiries and complaints.

Requirements

If a new customer contacts the retailer the first time, a new record is created and the customer is given a unique customer number. When an existing customer contacts the retailer, the operator asks for the customer number of the particular customer and types it into the system. If this is correct, the system displays the customer details, such as name, address and date of birth. The customer then becomes the current customer and can order a product, make an enquiry about a product, or return a previously purchased product.

For each of the contacts a customer makes with the retailer, the customer number, the date and time of the contact and the name of the operator are recorded. If the contact is an enquiry, the item number and a short note about the nature of the question needs to be recorded. If the contact is an order, the item number is recorded (it is assumed that a customer can only order one type of item at a time), as well as the price and the quantity. The customer will be given an order number and a delivery date, which both are recorded. If a customer contacts the retailer because he or she wants to return a previously ordered item, the customer is asked for the order number and the details about the order are displayed. The customer is then given a reference number and a pick-up date, both need to be recorded together with the item number, price and quantity. A short note about the reasons for returning the item needs also to be recorded.

It must be possible to browse through the customer records as well as to be able to save and to load the data to and from a text file. It should also be possible to generate a list of all contacts for a specific customer. An operator should be able to search for a particular order or a particular return transaction.

Task and Deliverables

Analyze the situation described above. Develop, implement and test an OO design in Java for the system described above. You need to use any levels of inheritance as possible. You also need to document your design and to give a demonstration of the software to your lecturer.

Software

The software needs to provide functionality to add customer and contact details to the system. The data needs to be stored permanently in ASCII files on the local hard drive, hence functions for loading data from files and for saving data from memory into a file are required. It is necessary to provide functionality for searching the database for a particular customer, a particular order or a particular return transaction. The operators need to be able to browse throughall the contacts of a particular customer in the database. The system has to be tested and evaluated against a pre-developed test plan. Any errors encountered needed to be logged and rectified.

You also have to provide your source code on a disk accompanying the report.

Posted Date: 3/19/2013 3:08:03 AM | Location : United States







Related Discussions:- Develop a customer relationship management system, Assignment Help, Ask Question on Develop a customer relationship management system, Get Answer, Expert's Help, Develop a customer relationship management system Discussions

Write discussion on Develop a customer relationship management system
Your posts are moderated
Related Questions
A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related files and classes and interacts with other components. The

Example:  You have a class named "Set" in a project folder "e:\myProject" and package named com.zxy.client, will you be able to compile and execute it as it is

State about the performance of java First versions of java were pretty slow. Java performance has gotten a lot better with aggressive just-in-time-compiler (JIT) techniques

Differentiation between an Applet and an Application ?

What are the difference between throw and throws? Differences are between throws and throw are: Throw is employed to trigger an exception while throws is used in declara

Why the number of temporary workers is on the rise? Discuss main reasons? Temporary workers: Temporary workers are those workers that a company can hire to perform a certain ta

Task Your task is  to  write  a  Java  program  that  allows  users  to  play  the  game  of  Brickles. (note:  it  is  up  to  you  whether  to  use the  skeleton).  The prog

Project Description: Overview I am seeking an Oracle ADF mobile app and web service to be created that takes a list of contacts stored on an Android mobile phone or tablet an

What will be the output of this programme? Write comments where you find "//" symbol in the following code? function doSomething() { // 1 setTimeout('doSomething()',10000

What is PortableRemoteObject.narrow() method and what is used for?                Ans) Java RMI-IIOP gives a mechanism to narrow the the Object you have received from from your