Question: CSCI232/CSCI234/CSCI239 Project Create a database driven application based upon the three-tier client/server model. The application will be of your own design and must utilize C++/C#/Java
CSCI232/CSCI234/CSCI239 Project
Create a database driven application based upon the three-tier client/server model. The application will be of your own design and must utilize C++/C#/Java for the user interface and middle tier. MS Access (version 2010 or higher) or SQL Server must be used for the database. The application should allow for the addition, modification, deletion, un-deletion, purging, searching, and viewing of the information in the database.
The database must contain a minimum of two tables: a main data table and a support table. The main table should not contain more than ten fields. Your instructor must approve the use of more than one main table but your system may have as many support tables as needed. The database must be in the third normal form. In addition to the data required to support your application, your main table must contain the following fields: add user id, add date/time, change user id, change date/time, and status. These fields may be defined as follows. Note that in your design, you may rename the fields; however, the 5 fields below must be included in your database.
| ADD_UID | INTEGER | NOT NULL |
|
| ADD_DTM | DATETIME | NOT NULL | DEFAULT TO CURRENT DATE/TIME |
| CHG_UID | INTEGER | NULL | DEFAULT TO NULL |
| CHG_DTM | DATETIME | NULL | DEFAULT TO NULL |
| STAT_CD | CHAR(1) | NOT NULL | DEFAULT TO A |
The implementation of a graphical user interface (GUI) is encouraged, but not required. If implemented, the GUI must meet the following criteria. The main form must have a menu that contains a minimum of File and Help. The File menu must contain an Exit option that closes the application. The Help menu must contain About option, which displays information about the application (give yourself credit!).
You may add additional menus and menu options at your discretion. If a console GUI is used, then the system must implement a hierarchal menu system that promotes easy navigation.
A class that encapsulates the database access logic in to a reusable component must be used. Do not leave database access logic in the presentation layer. This class must be contained within a stand-alone dynamic link library (DLL) or Java Archive (JAR) file.
Your project must include a users manual which explains how to use the application from an end-users point of view. The manual should explain how to use the system to add a record, update a record, search for a record, delete a record, and undelete a record.
Note: If you are enrolled in CSCI232 then your language will be C++. If you are enrolled in CSCI234 then your language will be C#. If you are enrolled in CSCI239, then your language will be Java. If you are enrolled in one or more of these courses simultaneously, then you will create multiple projects, one in each language.
Project Requirements Checklist
Develop a 3-tier client-server application written in C++/C#/Java that utilizes a MS Access database or SQL Server for persistence.
Your project must meet the following requirements:
1. Your architecture must be based upon the 3-tier client/server model.
2. Your user interface layer may be either graphical or character based.
3. The user interface layer must communicate only with the data access logic. Direct database communication from the user interface layer is prohibited.
5. The system must be able to dynamically locate the database (no hardcoded paths).
6. The system must be able to add a new record.
7. The system must be able to update an existing record.
8. The system must be able to logically delete a record.
9. The system must be able to logically undelete a record.
10. The system must be able to purge (physically delete) a record, but only if it is already logically deleted.
11. The system must support searching for a record by a data field other than the primary key.
12. The system must be able to display a single record to the user interface.
13. All SQL must be parameterized. The concatenation of parameter values directly into SQL is prohibited.
14. All input data MUST be validated both at the user interface and at the server.
16. An operation must not be allowed to fail due to invalid or missing data (error handling must exist to catch such conditions).
17. Helpful messages must be displayed to the user for validation errors or any other system related error.
Your project must include the following items:
1. A users manual which explains how to use the application from an end-users point of view.
2. A MS Access database (version 2010 or higher). This item is not applicable if you utilized SQL Server.
3. The Data Definition Language scripts to create your database if you utilized MS SQL Server. This item is not applicable if you utilized MS Access.
4. A User interface (client) program.
5. A Dynamic Link Library project that contains the business logic and database access logic.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
