You are a newly recruited programmer working for an it


1. Introduction
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.
2. 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.
3. 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.
3.1 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.
3.2 Report
You will deliver a structured documentation of your design. It has to include:
• Use case diagram for the system and description of each use case using the standard template;
• Class diagram for each class in the system;
• Class diagram describing the relationships between all the classes in the system, such as inheritance, aggregation, associations, etc;
• System sequence diagrams for the use cases;
• An explanation of the internal data structures used;
• A description of the file format(s) used - these should be ASCII text files, so that they can be read easily by other applications;
• A description of the screens and menus to establish the model of use (the issue is functionality). This could be flowcharts or story boards, etc;
• Test results;
3.3 Demo
You have to demonstrate the software to your lecturer, who will ask you questions about your design and code! If you are working in pairs, your individual mark might be weighted by your lecturer to reflect any unequal contributions within a group!
3.4 Assessment - Marking scheme
The marks for the software have a weighting of 60% and the marks for the documentation have a weighting of 40%.
3.4.1 Functionality
Basic system
The basic system has to offer the following options:
1. Exit the program
2. Enter new customer
The program prompts for the details of a new customer, assigns a unique customer number to the customer and creates a new entry in the database. Also, the new customer becomes the current customer.
3. Search for customer
The program prompts for a customer number and searches the database for the customer's record in the database. If it exists, the program displays the customer's details and makes the customer the current customer.
4. Enter new contact for current customer
The program prompts for the details of a new contact for the current customer interactively and creates a new entry in the database.
5. Show next contact of current customer
The user can step forward through the list of contacts of the current customer and the contact details are displayed.
6. Show previous contact of current customer
The user can step backwards through the list of contacts of the current customer and the contact details are displayed.
7. Help
Provide user instructions.
Save and load
Additional functionality:
1. Save database
This option allows the user to store the contents of the database into ASCII text files on the hard drive. The user should be able to choose a filename.
2. Load database
This option allows the user to load the database from an ASCII text file. The user should be able to specify a file name. If the file does not exist, the program will print an error message.
Additional search
Additional functionality:
1. List customer contacts
The program will output an error message if no contact is found in the database; otherwise it displays a list of all the contacts of the current customer.
2. Search for an order number
The program will output an error message if the order number is not found in the database, otherwise it displays the details of the specific order.
3. Search for a reference number
The program will output an error message if the reference number is not found in the database, otherwise it displays the details of the specific return transaction.
Graphical user interface
Additional functionality:
All operator interactions are carried out using a graphical user interface.
3.4.2 Design
• Use of appropriate classes
• Complexity of data structure used
• Following the style guide
• Quality of design
• Use of inheritance
• Use of encapsulation
3.4.3 Documentation
• Use cases , use case templates
• Class diagrams
• Class model, relationship
• Sequence diagrams
• Description of the data structure
• Description of the file format used
• Test documentation, User Screens
• GUI documentation 

Solution Preview :

Prepared by a verified Expert
Management Information Sys: You are a newly recruited programmer working for an it
Reference No:- TGS01487207

Now Priced at $30 (50% Discount)

Recommended (95%)

Rated (4.7/5)