Presentation is loading. Please wait.

Presentation is loading. Please wait.

Semester Project Requirements

Similar presentations


Presentation on theme: "Semester Project Requirements"— Presentation transcript:

1 Semester Project Requirements
Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut 191 Auditorium Road, Box U-155 Storrs, CT (860) Important Note: When ing Questions, Please Include All s of your Entire Team so that David and I can do a GROUP Response to your .

2 Phase II Due Dates Optional Intermediate Due Date - 11:59pm 11/28
Your Team Should get ½ or more Screens Completed Submit Code and .sql DB Project Phase II: Application D & D Thursday, December 8, 11:59p, with as needed Demos Finals Week Individual Self Assessments to Due Friday December 9, 11:59p

3 Reviewing Phase I Solution
Available Files on the Web

4 Phase II Sample PHP Code
Posted sample code at: The code is for the screenshots that are in the Project PPT: The files login.php, login_admin_employee.php, register.php in the upper level directory are for slide 47 of the PPT. The customer directory has files for the dashboard, searching, and modifying a user's profile.  There is also an includes subdirectory with a config file, a header file, and an arrays file ... this corresponds to slide 49 for the dashboard and slide 52 for search. The globalincludes directory has a config file, footer, and logout.

5 Phase II Sample PHP Code
The files login.php, login_admin_employee.php, register.php in the upper level directory are for slide 47 of the PPT. The customer directory has files for the dashboard, searching, and modifying a user's profile.  There is also an includes subdirectory with a config file, a header file, and an arrays file ... this corresponds to slide 49 for the dashboard and slide 52 for search. The globalincludes directory has a config file, footer, and logout.

6 Reviewing Phase I Solution

7 Reviewing Phase I Solution
Items 1 and 2 – Modify Shippers with new Columns Move common info into new Company Entity Add new Payment/PaymentType Entities

8 Reviewing Phase I Solution
New Entities for: DeliveryType, ShipmentType, Shipments, ProductsToAddress, ShipAddresses Move Order columns to Shipments/ShipAddresses

9 Reviewing Phase I Solution
Focus on DBDDLFORNORTHWIND.docx Contains DDL for Migrating SteveNorthwind.sql Changes Create New Entities Modify Existing Entities

10 CREATE TABLES FOR DeliveryType, ShipmentType

11 CREATE TABLES FOR Payment, PaymentType

12 CREATE Shipments, ShipAddresses, ProductToAddresses

13 Copy of Orders into Shipments and ProductsToAddresses

14 Copy Address Info of Orders into ShipAddresses

15 Alter ORDERS can’t Drop ShipVia since FK

16 Create Company/Drop Columns

17 Remaining Changes and Initialization

18 Development Strategy for Phase II
One Person Focusing on Database Query Support Two to three Team Members Focusing on Web Screens Design/Implement Screens for Customers and Employees Repeat Process for all screens – Core Functionality Administrative Screen/Queries Sales Reporting: Unit Price/Total Sales by Product, Category, Location, Customer Employee Productivity Reporting: Most Work by EmpID by Duration, Product, Location, Customer Inventory Reporting: Stock Info on Product Customer Reporting: Buying Preferences by Duration, Location, Product, Customer

19 Customer Capabilities
Register, create, and manage an account; Set and management various payment types; Look up information by Produce Name, Category, SupplierName, etc. Place an order for Products Monitor Existing/Past Orders

20 Employee Capabilities
Entering new Products for a Supplier Inventory to Search and Order Products Review information on each customer including a customer’s demographics and play list Interact with customers to approve each “order” of customer which involves generating the invoice

21 Administrative Capabilities
Run a Variety of Reports on Individual and Overall Sales Employee Productivity re. Customers/Sales Inventory Reports by Product Name, Category, Units in Stock, Units on Order, Supplier Name, etc. Customer Reports on Preferences Reports Parameterizeable Based on Duration search by day, month, year, or date range. Location search by city/state/country Product combination of Product Name, Category, Units in Stock, Units on Order, Supplier Name Single customer, set of customers, customers in a city, customers in a state, customers in a country

22 Project Overview of Capabilities
Briefly, Let’s Review the Entire Process The Figures are Mock-Ups You can Deviate and Customize Depending on your Approach Need to Maintain Content and Consistent Look-and-Feel Note – see also link below for html based Mockups Phase II Requirements in terms of Screens and Capabilities are at a High Level Team Needs to Provide the Details/Solutions

23 LOGIN/REGISTRATION/EDIT SCREENS
Separate screens to: Register for an account on the web app Login to a registered account (but no need for password recovery) Edit/Modify your profile Registration Fields First and Last Names, Company Name (optional), Address/City/State/Country/Postal Code, Phone, Fax, and

24 LOGIN/REGISTRATION/EDIT SCREENS

25 DASHBOARD SCREENS - CUSTOMER
Buttons to log off, edit profile (goes to another screen), and set/edit payment types (goes to another screen). List of active and completed orders where clicking an order goes to another screen to show the status and content of each order. Quick Search in order to look up by Product Name, Category, Supplier, etc. Link to Order Screen that lets a customer create an Order that is sent to multiple Addresses – links to Search Screen Set/edit payment types Screen Shopping Cart Screen Pending/Completed Orders and Status Screen

26 DASHBOARD SCREEN - CUSTOMER

27 DASHBOARD SCREEN - CUSTOMER

28 Basic Customer Search

29 Advanced Customer Search

30 Payment and Shopping Carts

31 DASHBOARD SCREEN - EMPLOYEE
List of Active Customer Order (to be filled) where clicking an order goes to another screen to show the status and content of each order. Links to separate screens for: Enter/Edit New Products/Categories and Review Customer Demographic Screen. Search Screen: A search screen that allows Employees to search Products Inventory/Purchasing Screen to: monitor the inventory (via Search) and to order new and existing inventory items (products) from Suppliers. Review Customer Demographics

32 DASHBOARD SCREEN - EMPLOYEE

33 DASHBOARD SCREEN - EMPLOYEE

34 EDIT/ENTER NEW PRODUCT

35 ADMINISTRATIVE SEARCH SCREENS
Access to Employee Dashboard: Active Order Screen,Enter/Edit New Media Screen, and Review Customer Demographic Screen Screens for Individual and Overall Sales Employee Productivity re. Customers/Sales Inventory Reports by Products and Suppliers Customer Reports on Preferences Need to Define Drop Downs/Selections/etc. for Duration search by day, month, year, or date range. Location search by city/state/country Product combination Names, Amounts, Suppliers, etc. Single customer, set of customers, customers in a city, customers in a state, customers in a country

36 DASHBOARD SCREEN - ADMIN

37 DASHBOARD SCREEN - ADMIN

38 Sample Report Generation Screen

39 Sample Report Generation Screen

40 Sample Report Generation Screen

41 Sample Report Generation Screen

42 Sample Report Generation Screen

43 Sample Report Generation Screen

44 Phase II Additional Information
Need to Load Cities/States/Countries Following Sites for .sql file Utilize these to load your DB Tables for the Relevant Drop Downs Loaded them into Workbench

45 Phase II Dashboard Quick Search
Search/Admin Queries Take Input and Plug into to an SQL Template Consider Dashboard Quick Search Two Data Entry Options – Category Type and Product Name Category Type (Load drop down from DB) Can use either Drop Down (one) or Check Box (one or more) Product (or Supplier) Name Can Fill a Drop Down with Artist.Name Values Can have an Option to do a Search String Generate a Query as Below Generate […] if Product Name is entered, Generate { …} if Category Type Selected, Generate <and> if Both Category Type Product Name Enter String SELECT northwind.products.productname, northwind.products.QuantityPerUnit, northwind.categories.CategoryName FROM northwind.products, northwind.categories WHERE northwind.products.ProductName ="Chang" and northwind.categories.CategoryName="Beverages";

46 Phase II Sales Reporting
Consider Duration, Location, Media, Customer Dimensions I left off set of customers – too difficult – not worth the effort. Generate a report from the Order/Order Details Tables for Total Sales, Unit Price, Quantity, and Others you think are relevant Some Queries may Need Aggregation Load all Drop downs from DB Choices Duration Choices Product Name Enter String To: From: Location Choices Customer Choices Category Category Select City Last Name Enter String Supplier Name Enter String Select State Select City In Stock Enter Integer Select Country Select State Select Country

47 Phase II Employee Productivity Reporting
Augment Duration, Location, Media, Customer Dimensions with Employee Need to add Employee Drop down loaded from DB Generate a report from the Order/Order Details Tables for Total Sales, Unit Price, Quantity, and Others you think are relevant Some Queries may Need Aggregation Choices Emp Name Select Emp Product Name Enter String Duration Category Category To: From: Location Choices Customer Choices Supplier Name Enter String Select City Last Name Enter String In Stock Enter Integer Select State Select City Select Country Select State Select Country

48 Phase II Inventory Reporting
Inventory Reporting - 8 Data Entry Options Names Should Likely be String Searches Category Drop Downs Amounts – Ranges May want to do %EnteredName% for all String Searches Generate a Set of Results with Appropriate Labeled Columns What Should be our Output? Choices Product Name Enter String DeliveryType Category Category ShipmentType Supplier Name Enter String Amount Min Max In Stock Enter Integer Other Amount Min Max

49 Phase II Customer Productivity Reporting
Augment Duration, Location, Media, Customer Dimensions with Customer Need to add Employee Drop down loaded from DB Generate a report for WHAT they buy as opposed to AMOUNT they buy The amount they buy by Product Name, Category, Supplier, etc. Constraint by Duration, Location, etc. For one or All (will card on last name) Cust Name Select Cust Duration To: From: Location Choices Customer Choices Product Name Enter String Select City Last Name Enter String Category Category Select State Select City Supplier Name Enter String Select Country Select State In Stock Enter Integer Select Country

50 Phase II – Dividing Work for Teams
Two Person Teams Customer & Employee Screens (Dashboards/Other Screens) Admin Screen (Employee Screen plus link to Reports) Inventory Reporting Three Person Teams Sales Reporting Four Person Teams All Four Reporting Screens (Sales, Employee Productivity, Inventory, Customer Preferences)

51 Continuing Step - Organize your Team
Choose Teams – Two Versions V person teams and 5 4-person teams. V person teams and 2 3-person teams. Organize Teams Effectively - 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: Each Team Member Must Work with the DB! 1 Person - Database Creation and Maintenance (early) Shifts to GUI/Report Screens/Capabilities 1 Person – REST API - Server Development 1 Person – GUIs (1 Person on GUIs)

52 Phase II Project Requirements
Design, Development, Test an Info System Front-End Web Site Connecting to Northwind Screens/Capabilities for Customers Screens/Capabilities for Employees Screens/Capabilities for Administrators – Reports Objectives of Phase II Organize your Team Database Creation and Maintenance DB API (Middle Layer) Development – REST API GUIs for Customers and Employees – html/css

53 Final Thoughts Phase II Report (see 6 Bullet Items)
Purpose, Tasks, System Requirements, Revisions to Phases I and II Problems Found and Solutions System Architecture and Choices User Manual with Screen Shots Conclusion, Assessment, Evaluation Team Member Contributions .sql file, Source Code, DB Instances, Screen Shots Demos in Person if needed

54 PHP and MySQL Links

55 PHP Frameworks PHP html Frameworks PHP Mobile Frameworks
PHP Mobile Frameworks

56 Other Sample Screens and PHP Code
Additional PHP Examples Files header.php – for top of all web pages footer.php – for bottom of all web pages validator.php – check data values entered by users from web pages index.php – main page register.php – for registration search.php – for seaching

57 Other Team1 Screens Posted
THIS SCREEN IS IN index.php Also from index.php – Orange Items Pulled from DB

58 Other Team1 Screens Posted
THIS SCREEN IS IN register.php THIS SCREEN IS IN search.php

59 First Sample

60 First Sample

61 validator.php

62 Sample Reporting Screens

63 register.php

64 Phase I Deliverables The ER Design in: GroupZNorthwindmodel.mwb where Z is your Group Letter Your generated GroupZNorthwind.sql In MySQL Workbench (see following slides) Select Server/Data Export Select the Database (checkbox) Export to Self-Contained File A Report that explains your ER design entities (additions and changes) and details who did what on which portions of the team. Upload all to Huskyct under one teammates name.

65 Project Requirements Team Project - Discussion Between Teams Allowed if you are Helping with DB Configuration, Programming Question, etc., NOT Joint Design/Development! Implementation Languages/Platform MySQL Workbench, php, html/css Aptana Studio 3 for web Mobile UI Framework for mobile Overview/Other Sample Screens Strongly Encouraged to Enhance/Extend Documentation of Proposed Enhancements Should Work on Chrome

66 Project Domain Design, Develop, and Test the Information System for Northwind DB Bleeding Edge of Capabilities and Features Three Phases Thursday, October 20 Finalize Groups for the Project Project Phase I: Friday, October 31, 11:59pm (EER to Relational Design) Project Phase II: Thursday, December 8, 11:59p, with as needed Demos

67 Clients and Software Architecture
Mobile App Web Client Customer Connect and Interact with MySQL REST php API MySQL Web Client Employee 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.

68 Project Requirements Phase I Report ER diagram with Additions
Ported Database .sql File with Tuples for Testing Submit to HuskyCT Phase II: Project File loadable into IDE .sql File with Tuples for Testing User Manual Individual Contribution/Self Assessment Individual: Requires a Log Self Assessment: Overall Teamwork See Phase II Assignment Requirements Final Demo – TBD if a Team’s code Won’t Run

69 Phase I Project Requirements
Relational DB Design, DB Change, DB Migrate: Extend Shippers to also include attributes ContactName, ContactTitle, ShipmentType (Ground, Air, Sea), DeliveryType (Overnight, Two-Day, Other). Abstract common information from Suppliers and the Extended Shippers entity into a new Company Entity. Reformulate Categories as a set of entities in an inheritance hierarchy where Extend and/or reformulate Orders/Order Details to ship of an Order to different addresses Extend Northwind with entities for Payment Migrate the current Northwind schema to the new schema Due Date: Monday, October 31, 11:59pm

70 ER For Phase I - Northwindmodel.mwb

71 PhaseINorthwind.mwb

72 PhaseINorthwind.mwb

73 PhaseINorthwind.mwb

74 What Are? Define Views Also Represent Queries that can are Reports
Can View them in Workbench May be Useful for Admin Reports of Phase II

75 Viewable in Workbench

76 Products by Category # # # Add View "Products by Category" # # # CREATE VIEW `Products by Category` AS SELECT Categories.CategoryName, Products.ProductName, Products.QuantityPerUnit, Products.UnitsInStock, Products.Discontinued FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID WHERE Products.Discontinued <> 1

77 Sales Summary by Year # # # Add View "Summary of Sales by Year" # CREATE VIEW `Summary of Sales by Year` AS SELECT Orders.ShippedDate, Orders.OrderID, `Order Subtotals`.Subtotal FROM Orders INNER JOIN `Order Subtotals` ON Orders.OrderID = `Order Subtotals`.OrderID WHERE Orders.ShippedDate IS NOT NULL

78 Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend Shippers to include attributes ContactName, ContactTitle, ShipmentType (Ground, Air, Sea), DeliveryType (Overnight, Two-Day, Other) Define new Tables for ShipmentType and DeliveryType Abstract common information from Suppliers and Extended Shippers entity into new Company Entity Change and Extend Northwindmodel.mwb New CompanyID but keep SupplierID and ShipperID

79 Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Reformulate Categories into inheritance hierarchy where there is shared information in the parent and category specific information in the child entities Beverages, Condiments, Confections, Dairy Products Grains/Cereals, Meat/Poultry, Produce, Seafood What are common attributes? Name, Description? What are unique to children? fresh, frozen, dried for Meat/Poultry, Farm raised/will for Seafood, Reuse CategoryID

80 Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Add a new entity or entities that would add links for clips of songs that would reference web addresses of Google Play and iTune Provided a Discussion of the Available Ways to Find Music Online Intended to Provide you with an understanding of what Needs to be Stored in an Entity for Clips One Option: Google Search as a Means to Find Address Another Option: APIs for Google Play and iTunes

81 Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend and/or reformulate Orders/Order Details to ship of an Order to different addresses Each Order has Mutliple Products Different subsets of OrderID/ProductID to different Addresses Need to track multiple Addresses Split off some Attributes from Shipper into new Table?

82 Explaining Phase I Project Requirements
Examine EER and Make Sure Everything Makes Sense Extend Northwind with appropriate entities for Payment Capabilities Off of the Order and/or OrderDetails Entities? Migrate current Northwind schema to new schema Create New Company, ShipmentType, DelieryType, new inheritance Category, and Payment Tables. See of the chapter 4 PPTs Run Queries Against Supplier/Shippers to extract Shared Info to Store in new Company See 4.72 of Chapter 4 PPT for INSERT w/SELECT Remove Columns from Supplier/Shippers Alter Table Similar process if Order Split into Two Classes

83 CREATE TABLE AND INSERT INTO Examples
CREATE TABLE GROUPZNorthwind.SampleTable (SampleTableId INT NOT NULL, DataItem VARCHAR(120), PRIMARY KEY (SampleTableId )); INSERT INTO GROUPZNorthwind.SampleTable VALUES (1, ‘Hello World');

84 INSERTING WITH SELECT INSERT INTO GROUPZNorthwind.SampleTable
(GROUPZNorthwind.SampleTableId, GROUPZNorthwind.DataItem) SELECT GROUPZNorthwind.GenreID+1000), GROUPZNorthwind.GenreName FROM GROUPZNorthwind.Genre; This Copies all of the Genre ids (+1000) and genre names into the SampleTable. Notice that all Column Types MUST match. Why have we Added 1000? There are 59 Employees and 8 Customers. EmpIds go from 1 to 59; CustIds from 1 to 8 New PersonId/UserId Can’t Reuse these.

85 Phase I Resources The EER diagram: PhaseINorthwind.mwb
The Northwind Schema: Changes to: PhaseINorthwind.mwb but be migrated to loaded: SteveNorthwind.sql and then Stored

86 Phase I Deliverables The ER Design in: GroupZNorthwindmodel.mwb where Z is your Group Letter Your generated GroupZNorthwind.sql In MySQL Workbench (see following slides) Select Server/Data Export Select the Database (checkbox) Export to Self-Contained File A Report that explains your ER design entities (additions and changes) and details who did what on which portions of the team. Upload all to Huskyct under one teammates name. David with name

87 MySQL Data Export

88 GroupZNorthwind.sql


Download ppt "Semester Project Requirements"

Similar presentations


Ads by Google