280 likes | 287 Views
Phase III project requirements and organization, including team structure, database creation, API development, GUI design, and technology selection in implementing client software architecture. How to organize teams, develop APIs, and create GUIs for effective client interaction.
E N D
Lecture on Clients and Software Architecture www.AssignmentPoint.com
Clients and Software Architecture Connect and Interact with any DBMS Personal Oracle Web Client Customer Query Program API MS Access Java Client Employee MySQL Back half is the implementation of the classes that contains code to open the database connection, perform a query, collect results, etc. Front half contains API (Java calls) that hide DB interactions from Client
Phase III Project Requirements • 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)
Clients and Software Architecture Connect and Interact with any DBMS Personal Oracle Web Client Customer Query Program API MS Access Java Client Employee MySQL Back half is the implementation of the classes that contains code to open the database connection, perform a query, collect results, etc. Front half contains API (Java calls) that hide DB interactions from Client
Organize your Team • 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
Database Creation and Maintenance • 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
DB API (Middle Layer) Development • 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
Middle Layer APIs • 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
What is an API? • 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
What does an API Contain? • Consider the Query Program API • 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 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... }
GUIs (Applications vs. html vs. 4GL) • 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
Sample Reports from CT Insurance Dept. Main Menu
Finalize your Technologies • 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
Final Thoughts • 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)