cse255proj - Dhaka University of Engineering and Technology
Download
Report
Transcript cse255proj - Dhaka University of Engineering and Technology
Semester Project Requirements
CSE
255
Prof. Steven A. Demurjian, Sr.
Computer Science & Engineering Department
The University of Connecticut
191 Auditorium Road, Box U-155
Storrs, CT 06269-3155
[email protected]
http://www.engr.uconn.edu/~steve
(860) 486 - 4818
Important Note: When Emailing Questions, Please Include
All Emails of your Entire Team so that I can do a GROUP
Response to your email.
Project-1
Clients and Software Architecture
Connect and
Interact with
any DBMS
CSE
255
Web Client
Customer
Query Program
API
Personal
Oracle
MS Access
Java Client
Employee
MySQL
Front half contains
API (Java calls) that
hide DB interactions
from Client
Back half is the implementation of
the classes that contains code to open
the database connection, perform a
query, collect results, etc.
Project-2
Phase III Project Requirements
CSE
255
Design! Design! Design!
Development! Development! Development!
Objectives of Phase III
Organize your Team
Database
Creation and Maintenance
DB API (Middle Layer) Development
GUIs for Customers, Clerks, and Administrators
Finalize your Technologies
DB
to Use
Middle Layer (C++, Java, etc.)
GUIs (Applications vs. html vs. 4GL)
Project-3
Clients and Software Architecture
Connect and
Interact with
any DBMS
CSE
255
Web Client
Customer
Query Program
API
Personal
Oracle
MS Access
Java Client
Employee
MySQL
Front half contains
API (Java calls) that
hide DB interactions
from Client
Back half is the implementation of
the classes that contains code to open
the database connection, perform a
query, collect results, etc.
Project-4
Organize your Team
CSE
255
Objectives
Allow Team Members to Work in Parallel
Must Come to Agreement w.r.t. Common Software
Arrive at a Working Plan
Set Achievable Milestones/Deadlines for Team
Assigning Responsibilities:
1 Person - Database Creation and Maintenance
1 Person - DB API (Middle Layer) Development
1 Person - GUIs
Project-5
Database Creation and Maintenance
CSE
255
Objectives
Choose your DBMS Platform
Install/Configure your DBMS Platform
SQL DDL (Create) for DB Schema
Creation of DB Tuples (use Excel File as Guide)
Responsibilities of DB Team Member
Writing/Testing SQL Queries
Maintain DB
Project-6
DB API (Middle Layer) Development
CSE
255
Objectives
Choose your Middle Layer Design/Implementation
Approach
Thick
Java Clients (Include all Middle Layer)
Separate Middle Layer Program (Interaction with Clients
via RMI)
Other Technologies - Other Choices
Responsibilities of Middle Layer Team Member
Providing APIs for Each of the “Major” System
Functionalities
Middle Layer Includes DB Open, Access, Close
Incorporating SQL Queries into Middle Layer
Project-7
Middle Layer APIs
CSE
255
Encapsulates Database Software for Querying/Storing
Login Programs
Query Program
Retrieval and
Join in Support of Users
Traveler Profiles, Automobile Profiles, Reservations
Support for Report Generation
Registration Program
All
Database Interactions for Registering a Customer
Traveler/Automobile Profile Update Program
Customer
Can Make Changes to His/Her Profile
Administrator can Change/Define Automobile Profiles
Reservation Program
Clerks
can Process Pick-Up/Drop Offs
Project-8
What is an API?
CSE
255
API Organizes and Hides the Database Design and
Implementation from Client Applications
Provides an OO Characterization that is Consistent with
Client View of Data/Access
Design/Prototype Five APIs:
Login Programs
Query Program
Registration Program
Traveler/Automobile Profile Update Program
Reservation Program
Project-9
What does an API Contain?
CSE
255
Consider the Query Program API
class Login_Program
{public:
VERIFY_IDENTITY(LoginName, Password) returns boolean;
REGISTER_NEWUSER(LoginName, Password) returns boolean;
}
class Query_Program
{public:
GET_RESERVATIONS(CustomerName, Month, Location, CarClass)
returns ReservationVector;
etc...
}
What Does Each Method Implement?
SQL Query (SELECT)
Query Customized Based on Parameter Values
Results Returned as Individual Tuples or Data Sets
Uses JDBC (ODBC)
Develop APIs in Parallel to GUIs and Populating DB
Project-10
GUIs (Applications vs. html vs. 4GL)
CSE
255
Recall Five Programs
Login Programs
Query Program
Registration Program
Traveler/Automobile Profile Update Program
Reservation Program
Objective - Structure Four Programs (APIs) into Two or
More GUIs
Customer GUI - Reserve Cars, Change Profile, etc.
Clerk GUI - Pickup/Drop-off/Upgrade
Management GUI - Reports
You Must Define the Scope and Capability of Each GUI
that is Then Realized
Project-11
Sample Java GUIs from CT Insurance Dept.
CSE
255
Project-12
Sample Java GUIs from CT Insurance Dept.
CSE
255
Project-13
Sample MS Access GUIs
CSE
255
Project-14
Web Pages from CSE293 Project
CSE
255
Project-15
MS Access Data Entry/Display Screens
CSE
255
Project-16
Sample Reports from CT Insurance Dept.
CSE
255
Main Menu
Project-17
Sample Reports from CT Insurance Dept.
CSE
255
Project-18
Sample Reports from CT Insurance Dept.
CSE
255
Project-19
GUI from CSE255 Spring 2003 Project
CSE
255
Project-20
GUI from CSE255 Spring 2003 Project
CSE
255
Project-21
GUI from CSE255 Spring 2003 Project
CSE
255
Project-22
GUI from CSE255 Spring 2003 Project
CSE
255
Project-23
GUI from CSE255 Spring 2003 Project
CSE
255
Project-24
GUI from CSE255 Spring 2003 Project
CSE
255
Project-25
GUI from CSE255 Spring 2003 Project
CSE
255
Project-26
Finalize your Technologies
CSE
255
Make Choice to Allow “Ease” of Demonstration
DB to Use
If you Haven’t as Yet - You MUST Immediately!
Personal Oracle, MSAccess, MSSQL, Others
Middle Layer (C++, Java, etc.)
Choices will Dictate Architecture
GUIs (Applications vs. html vs. 4GL)
Choices will Impact DB Interactions
Project-27
Final Thoughts
CSE
255
Phase III Report (see 6 Bullet Items)
Purpose, Tasks, System Requirements, Revisions to
Phases I and II
Problems Found and Solutions
System Architecture and Choices
Conclusion, Assessment, Evaluation
Team Member Contributions
SQL DDL, Source Code, DB Instances, Screen Shots
Demos on in December for Each Team (1/2 hour)
Project-28