JDBC Project Description
Project Due 12/04 by Midnight
Introduction
This project is an introduction to developing services and DAOs (Data Access
Objects) that support an application’s persistence requirements. The de
...
JDBC Project Description
Project Due 12/04 by Midnight
Introduction
This project is an introduction to developing services and DAOs (Data Access
Objects) that support an application’s persistence requirements. The delivered
services will persist a set of entity classes that are provided in the project
materials.
Project Goals
The following are the goals of this project:
To build a ‘simple_company’ schema from the given UML entity classes.
To deliver an SQL script that will create the ‘simple_customer’ schema on the
instructor’s PC for grading purposes. One method of accomplishing is to use
the MySQL workbench to first create the schema in an ER diagram and then
generating the schema’s SQL DDL by exporting the ER diagram. Teams
might also build the SQL DDL by hand.
To populate the schema tables with sample data using the application
PopulateTables.java that has been provided in the testing project materials.
To implement and deliver a set of three Services that successfully compile
against, and can pass the Unit Tests that have been provided in the
JDBCProjectTesting project provided in the project’s materials.
o To implement and deliver a Customer persistence service based on a
provided CustomerPersistenceService interface that will be used to
CRUD Customer entities against the delivered schema. This
implementation must pass the Unit Test provided in the testing project
materials.
o To implement and deliver a Product persistence service based on a
provided ProductPersistenceService interface that will be used to
CRUD Purchase entities against the delivered schema. This
implementation must pass the Unit Test provided in the testing project
materials.
o To implement and deliver a Purchase persistence service based on a
provided PurchasePersistenceService interface that will be used to
CRUD Purchase entities against the delivered schema. This
implementation must pass the Unit Test provided in the testing project
materials.
To implement and deliver a set of five DAO classes based on provided
interfaces that will be used to CRUD information against the delivered
1
schema. These implementations must pass the Unit Tests provided in the
project materials.
To deliver a library jar file that will be used to grade the project. This jar
will contain the contents of the JDBCProjectForStudents project and will be
executed on the instructor’s PC and database to evaluate the quality of the
team’s work. See the section “Exporting an Eclipse Project as a Library JAR
File” at the end of this document.
Deliverables
The version turned in on the due date is the final version. Only those portions
that work correctly will receive credit as described in the following “Grading
Criteria”. This policy is intended to encourage teams to finish well before the
deadline and to verify the correct operation before final submission.
Each team will deliver their project on a USB thumb drive that contains the
following material. Note that the drive will be returned.
A completed template file: “JDBC Project Evaluation – Team XX.docx” that
includes contributing team member names and their Net-IDs, and the module
they are responsible for completing. The table columns in red.
An execution ready SQL script that generates the simple_company schema
when executed from MySQL workbench on the instructor’s PC.
A library jar file exported from your JDBCProjectForStudents project. This jar
used by the instructor’s JDBCProjectTesting Eclipse project to executes the
unit tests.
The project’s source code. You can deliver the source code by copying the
entire JDBCProjectForStudents project directory onto the USB thumb drive.
A PowerPoint overview of your project including lessons learned, obstacles
encountered to be presented in class on 12/4
Grading Criteria
Grades are awarded based on both team and individual contributions. The items
marked in green will be evaluated on a team basis. The items marked in red
describe the development of the three modules and will be evaluated on an
individual bases.
1. 10 Points. Providing a library JAR file from JDBCProjectForStudents that
correctly compiles against the Eclipse project JDBCProjectTesting on the
instructor’s personal Eclipse workspace. This will be accomplished by
importing the submitted jar into the JDBCProjectTesting project build path.
2. 20 Points. Providing a SQL script that when executed on MySQL Workbench,
creates a schema named ‘simple_company’ (tables, etc.) on the instructor’s
MySQL installation. (The schema name is important because it is reflected in
the JDBC URL used to setup the DataSource for testing). The schema must
reflect the structure of the entity classes provided.
2
3. 10 Points. Executing the application PopulateTable.java and successfully
populating the Customer, Address, CreditCard, Product, and Purchase tables
created by your team’s schema in step 2.
4. 10 Points is awarded on a team basis for the correct implementation of all
three modules.
5. 40 Points. Executing DAO and Service unit tests provided in the
JDBCProjectTesting packages *.unitTesting.dao and *.unitTesting.service
packages without error. See the section Service Modules.
6. 10 Points for an evaluation of the quality of the design and code style.
Entity Classes
The following classes represent the entities that will be persisted by the delivered
services. Note that Java source files implementing these classes have been
provided with the project materials. (JDBCProjectForStudent.zip)
[Show More]