Every client in the system has a contract.

design a GUI that will manage clients, contracts, and projects.
Clients:
The system should allow you to enter information for a client. The fields necessary to record client information are as follows:
• Client Name
• Legal Name
• Client Address (Street or PO Box, City, State, Zip)
• Client Type (may be “End User,” “Value Added Reseller,” or “Partner”)
The system should allow the user to edit existing Clients as well as delete clients.
Contracts:
Every client in the system has a contract.
Each contract has the following information:
Contract Name
Legal Location
Contract Type (can be either “Time and Materials,” “Fixed Price,” “License,” or “Maintenance”)
[If Fixed Price or License, the user needs to enter the total amount of the contract.]
Possible products included (may be any combination of the following, but at least one product must be associated with a contract):
Telecom BP
Telecom FM
TeleSource
Start Date
End Date

Multiple contracts are possible for a given client. Therefore, the system must allow the user to enter as many contracts as needed. The user should also be allowed to edit existing contracts and delete contracts.
Projects:
A contract can have multiple projects assigned to it. The system must keep track of project information and project assignments to contracts.
The user should be able to (1) Add a new project and assign it to an existing contract, (2) Modify an existing project, (3) Delete a project, and (4) Remove a project from a contract.
The following information is associated with a project:
A. Project Name
B. Start Date
C. End Date
D. Maintenance Term (in months) – Maintenance Term is the length of maintenance service that is provided free of charge for a new system. It is within the range of 1–12 months
E. Service Level Agreement (SLA) – Service Level represents the priority given to a project in production when a problem occurs. For a project with a Maintenance Term between 9–12 months (inclusive), a high priority is given (i.e., a 3 hour response time). For 3–8 months (inclusive), medium priority is assigned (i.e., 12 hour response time). For 1–3 months (inclusive), low priority is assigned (i.e., 24 hour response time).
F. Manager – Any employee in the company can be the manager of a project. Only one manager exists at any given time for a project.
INSTRUCTIONS
This assignment is intended to give you practice in implementing guidelines on Windows and Controls.
For this assignment, you are required to design the GUI the system described above. You do not have to implement any functionality. Your task is to design the windows and controls that would be used to implement the system. You may use any drawing application to draw your screens such as Adobe Illustrator or Photoshop.
Paste your designs in a single Word document. Below each screen, describe its functionality, including a discussion of the controls on the screen
Indicate what types of controls are used for each element and if they are to be pre-populated with any values. For instance, an employee combo box that is pre-populated with the names of all the employees in the company may be used on a screen to select the manager of a project.
There are many different ways to design this system. Adhere to the guidelines you have learned, and use the descriptions above to design a system to meet the needs of the organization. Have fun with this exercise.

Full Answer Section

   
  • Edit Client Button: When clicked, this button allows the user to edit the selected client's information.
  • Delete Client Button: When clicked, this button deletes the selected client.

Client Details Screen

Functionality:

The Client Details Screen allows users to add or edit client information.

Controls:

  • Client Name: A text field that displays or allows the user to enter the client's name.
  • Legal Name: A text field that displays or allows the user to enter the client's legal name.
  • Client Address: A group of text fields that display or allow the user to enter the client's address (street, city, state, and zip code).
  • Client Type: A drop-down menu that allows the user to select the client's type (End User, Value Added Reseller, or Partner).
  • Save Button: When clicked, this button saves the client's information.
  • Cancel Button: When clicked, this button closes the window without saving any changes.

Contract Management Screen

Functionality:

The Contract Management Screen allows users to view, add, edit, and delete contract information.

Controls:

  • Contract List: A table that displays a list of all contracts in the system. The table should include columns for Contract Name, Legal Location, Contract Type, Start Date, and End Date.
  • Add Contract Button: When clicked, this button opens a new window to add a new contract.
  • Edit Contract Button: When clicked, this button allows the user to edit the selected contract's information.
  • Delete Contract Button: When clicked, this button deletes the selected contract.

Contract Details Screen

Functionality:

The Contract Details Screen allows users to add or edit contract information.

Controls:

  • Contract Name: A text field that displays or allows the user to enter the contract's name.
  • Legal Location: A text field that displays or allows the user to enter the contract's legal location.
  • Contract Type: A drop-down menu that allows the user to select the contract's type (Time and Materials, Fixed Price, License, or Maintenance).
  • Start Date: A date picker that allows the user to select the contract's start date.
  • End Date: A date picker that allows the user to select the contract's end date.
  • Total Amount: A text field that displays or allows the user to enter the contract's total amount (if Fixed Price or License).
  • Products Included: A set of checkboxes that allow the user to select the products included in the contract (Telecom BP, Telecom FM, TeleSource).
  • Save Button: When clicked, this button saves the contract's information.
  • Cancel Button: When clicked, this button closes the window without saving any changes.

Project Management Screen

Functionality:

The Project Management Screen allows users to view, add, edit, and delete project information.

Controls:

  • Project List: A table that displays a list of all projects in the system. The table should include columns for Project Name, Start Date, End Date, Maintenance Term, SLA, and Manager.
  • Add Project Button: When clicked, this button opens a new window to add a new project.
  • Edit Project Button: When clicked, this button allows the user to edit the selected project's information.
  • Delete Project Button: When clicked, this button deletes the selected project.

Project Details Screen

Functionality:

The Project Details Screen allows users to add or edit project information.

Sample Answer

   

Client Management Screen

Functionality:

The Client Management Screen allows users to view, add, edit, and delete client information.

Controls:

  • Client List: A table that displays a list of all clients in the system. The table should include columns for Client Name, Legal Name, Client Address, and Client Type.
  • Add Client Button: When clicked, this button opens a new window to add a new client.