PPTX - University of Connecticut

advertisement
Semester Project Requirements
CSE
4701
Prof. Steven A. Demurjian
Computer Science & Engineering Department
The University of Connecticut
191 Auditorium Road, Box U-155
Storrs, CT 06269-4155
steve@engr.uconn.edu
http://www.engr.uconn.edu/~steve
(860) 486 - 4818
Important Note: When Emailing Questions, Please Include
All Emails of your Entire Team so that David and I can do a
GROUP Response to your email.
Project-1
Phase II Additional Information
CSE
4701


Need to Load Cities/States/Countries
Following Sites for .sql file




http://www.farinspace.com/wp-content/uploads/us_cities_and_states.zip
https://github.com/raramuridesign/mysql-country-list/blob/master/mysql-countrylist.sql
Utilize these to load your DB Tables for the Relevant
Drop Downs
Loaded them into Workbench
Project-2
Phase II Dashboard Quick Search

CSE
4701

Search/Admin Queries Take Input and Plug into to an SQL Template
Consider Dashboard Quick Search

Two Data Entry Options – Media Type and Artist Name

Media Type (Load drop down from DB)
 Can

use either Drop Down (one) or Check Box (one or more)
Artist Name
 Can
Fill a Drop Down with Artist.Name Values
 Can have an Option to do a Search String
Media Type

Artist Name
Enter String
Generate a Query as Below
 Generate […] if
Name is entered, Generate { …} if Media Type
Selected, Generate <and> if Both
SELECT Artist.Name, Album.Title, Genre.Name ANYOTHERSYOUWANTTODISPLY
FROM Artist, Album, Genre
WHERE [Artist.Name = ‘FILLINNAME>] <and> {Genre.Name = ‘FILLIN’};
Project-3
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 Invoice/Invoice Line Table for

Total Sales, Unit Price/Track, Quantity, and Others you think are relevant

Some Queries may Need Aggregation

Load all Drop downs from DB
Media Choices
Duration Choices

CSE
4701
Album Name
Enter String
Track Name
Enter String
Enter String
Artist Name
Enter String
Select State
Select City
Composer Name
Enter String
Select Country
Select State
To:
From:
Location Choices
Select City
Customer Choices
Last Name
Select Country
Genre
Media
Project-4
Phase II Employee Productivity Reporting

CSE
4701


Augment Duration, Location, Media, Customer Dimensions with Employee
Need to add Employee Drop down loaded from DB
Generate a report from the Invoice/Invoice Line Table for

Total Sales, Unit Price/Track, Quantity, and any Others you think are
relevant – these are now all by selected employee

Some Queries may Need Aggregation
Media Choices
Emp Name
Duration
To:
Location Choices
Select City
Select State
Select Emp
From:
Customer Choices
Last Name
Enter String
Album Name
Enter String
Track Name
Enter String
Artist Name
Enter String
Composer Name
Enter String
Select City
Genre
Select Country
Select State
Media
Select Country
Project-5
Phase II Inventory Reporting

CSE
4701



Inventory Reporting - 8 Data Entry Options
 Names Should Likely be String Searches
 Genre/Media Drop Downs
 Milliseconds/Bytes – Ranges
May want to do %EnteredName% for all String Searches
Generate a Set of Results with Appropriate Labeled Columns
What Should be our Output?
Album Name
Enter String
Genre
Track Name
Enter String
Media
Artist Name
Enter String
Milliseconds
Min
Max
Composer Name
Enter String
Bytes
Min
Max
Project-6
Phase II Inventory Reporting

CSE
4701
Possible Outputs:

If a Genre and/or Media and/or millisec and/or Bytes is in the Search, you
only need to Print out the total number of Tracks that Satisfy the Query
 The entry of one or more name strings will just constrain that query

If a Album and/or Track and/or Artist and/or Composer name are entered
(and there is NO Genre/Media/Milli/Bytes) then Print out
 If
one of Album/Track/Artist/Composer: print total number of X and list of X
 If more than one, print total number and list one of the columns of (Album,
Track, Artist and/or Composer) that were asked for. Listing all – too much
width unless you truncate. Chose Artist/Composer (should be shorter) if can
Album Name
Enter String
Genre
Track Name
Enter String
Media
Artist Name
Enter String
Milliseconds
Min
Max
Composer Name
Enter String
Bytes
Min
Max
Project-7
Phase II Customer Productivity Reporting

CSE
4701


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 Artist, Album, Genre, Media, etc.

Constraint by Duration, Location, etc.

For one or All (will card on last name)
Media Choices
Cust Name
Duration
To:
Location Choices
Select City
Select State
Select Cust
From:
Customer Choices
Last Name
Enter String
Album Name
Enter String
Track Name
Enter String
Artist Name
Enter String
Composer Name
Enter String
Select City
Genre
Select Country
Select State
Media
Select Country
Project-8
Phase I Deliverables
CSE
4701



The ER Design in: GroupZchinookmodel.mwb where
Z is your Group Letter
Your generated GroupZchinook.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.
Email David (etim@engr.uconn.edu) with name
Project-9
Phase II – Dividing Work for Teams

CSE
4701


Two Person Teams
 Customer & Employee Screens (Dashboards/Other Screens)
 Admin Screen (Employee Screen plus link to Reports)
 Inventory Reporting
Three Person Teams
 Customer & Employee Screens (Dashboards/Other Screens)
 Admin Screen (Employee Screen plus link to Reports)
 Sales Reporting
 Inventory Reporting
Four Person Teams
 Customer & Employee Screens (Dashboards/Other Screens)
 Admin Screen (Employee Screen plus link to Reports)
 All Four Reporting Screens (Sales, Employee Productivity,
Project-10
Inventory, Customer Preferences)
Project Domain

CSE
4701

Design, Develop, and Test the Information System for
Chinook DB
 Bleeding Edge of Capabilities and Features
Three Phases
 Tuesday, October 20
Finalize

Project Phase I:
Friday,

Groups for the Project
October 30, 11:59pm (EER to Relational Design)
Project Phase II:
Thursday,
December 10, 11:59p, with as needed Demos
Project-11
Project Requirements

CSE
4701



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
 Eclipse PHP or Aptana Studio 3 – To be Decided
Overview/Other Sample Screens
 Strongly Encouraged to Enhance/Extend
 Documentation of Proposed Enhancements
Should Work on Chrome and Explorer
Project-12
Clients and Software Architecture
CSE
4701
Web Client
Job Seeker
Connect and Interact
with MySQL
REST
API
php
MySQL
Web Client
Job Poster
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-13
Project Requirements

CSE
4701

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


Project-14
Phase I Project Requirements

CSE
4701

Relational DB Design, DB Change, DB Migrate:
1. Abstract common information from Customer and
Employee into a new Person or User Entity.
2. Extend Chinook with entities for MyPlaylist and
MyPlaylistTrack
3. Extend Chinook with entities for Ordering
4. Extend Chinook with entities for Payment
5. Add a new entity or entities that would add links for clips
of songs that would reference web addresses of Google Play
and iTune
6. Migrate the current Chinook schema to the new schema
Due Date: Thursday, October 30, 11:59pm
Project-15
ER For Phase I - chinookmodel.mwb
CSE
4701
Figure 1: The Chinook ER Diagram from MySQL Workbench.
Project-16
Explaining Phase I Project Requirements
CSE
4701
Examine EER and Make Sure Everything Makes Sense
1. Abstract common information from Customer and
Employee into a new Person or User Entity.
Change
and Extend chinookmodel.mwb
New PersonID or UserID, but still keep EmployeeID
2. Extend Chinook with MyPlaylist/MyPlaylistTracks
Customers
Create/Manage Own Lists
Mirror Playlist and PlaylistTrack
Need to link to CustomerID
Customers have Multiple Playlists
Project-17
Explaining Phase I Project Requirements
CSE
4701
Examine EER and Make Sure Everything Makes Sense
3. Extend Chinook with entities for Orders
Order
consists of one or more playlists
Selected From MyPlayList or Playlist
Order can also just contain a list of tracks
4. Extend Chinook with appropriate entities for
Payment Capabilities
Extend
Chinook with appropriate entities for Payment
Off of the Invoice Entity
Project-18
Explaining Phase I Project Requirements
CSE
4701
Examine EER and Make Sure Everything Makes Sense
5. 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
Project-19
Explaining Phase I Project Requirements
CSE
4701
Examine EER and Make Sure Everything Makes Sense
6. Migrate the current Chinook schema to new schema
Create
New Person/User, MyPlaylist/MyPlaylistTrack,
Orders, and Payment Tables
See 4.22 of the chapter 4 PPTs
Run Queries Against Customer/Employee to extract
Shared Info to Store in new Person/User
See 4.72 of Chapter 4 PPT for INSERT w/SELECT
Remove Columns from Customer/Employee via Alter
Table
Add Data into MyPlaylist/MyPlaylistTrack, Orders, and
Payment Tables
Project-20
CREATE TABLE AND INSERT INTO Examples
CSE
4701
CREATE TABLE GROUPZCHINOOK.SampleTable
(SampleTableId INT NOT NULL,
DataItem VARCHAR(120),
PRIMARY KEY (SampleTableId ));
INSERT INTO GROUPZCHINOOK.SampleTable
VALUES (1, ‘Hello World');
Project-21
INSERTING WITH SELECT
CSE
4701
INSERT INTO GROUPZCHINOOK.SampleTable
(GROUPZCHINOOK.SampleTableId,
GROUPZCHINOOK.DataItem)
SELECT GROUPZCHINOOK.GenreID+1000),
GROUPZCHINOOK.GenreName
FROM GROUPZCHINOOK.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.
Project-22
Phase I Deliverables
CSE
4701



The ER Design in: GroupZchinookmodel.mwb where
Z is your Group Letter
Your generated GroupZchinook.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.
Email David (etim@engr.uconn.edu) with name
Project-23
MySQL Data Export
CSE
4701
Project-24
GroupZChinook.sql
CSE
4701
Project-25
Reloaded and Queried
CSE
4701
Project-26
Continuing Step - Organize your Team

CSE
4701


Choose Teams – Two Versions
 V01 - 10 3-person teams and 5 4-person teams.
 V02 -11 4 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)
Project-27
Phase II Project Requirements

CSE
4701


Design, Development, Test an Info System
Front-End Web Site Connecting to Chinook
 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
Project-28
Phase II Due Dates
CSE
4701



Optional Intermediate Due Date - 11:59pm 11/16
 Your Team Should get ½ or more Screens
Completed
 Submit Code and .sql DB
Project Phase II: Application D & D
 Thursday, December 10, 11:59p, with as needed
Demos
Individual Self Assessments to steve@engr.uconn.edu
 Due Friday December 11, 11:59p
Project-29
Development Strategy for Phase II

CSE
4701



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 Duration, Media,
Location, Customer
 Employee Productivity Reporting: Most Work by EmpID by
Duration, Media, Location, Customer
 Inventory Reporting: Stock Info on tracks, artists,
composers, genre, media, milliseconds, bytes, composer
 Customer Reporting: Buying Preferences by Duration,
Media, Customer
Project-30
Customer Capabilities
CSE
4701





Register, create, and manage an account;
Set and management various payment types; t
Look up information by track name, album name, artist
name, composer name, genre name, and/or media
name; the capability to
Create/review/modify his/her playlist (MyPlaylist and
MyPlaylistTrack for Phase I)
Place an order for one or more playlists or tracks
 Chinook Playlist
 Customer Defined MyPlaylist
Project-31
Employee Capabilities
CSE
4701




Entering new media that includes track name, album
name, artist name, composer name, genre name,
millisecond, bytes, and/or media name
Create/review/modify playlists (stored into Playlist and
PlaylistTrack)
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
Project-32
Administrative Capabilities
CSE
4701


Run a Variety of Reports on
 Individual and Overall Sales
 Employee Productivity re. Customers/Sales
 Inventory Reports by name, artist, composer, genre,
media, and/or composer
 Customer Reports on Preferences
Reports Parameterizeable Based on
 Duration search by day, month, year, or date range.
 Location search by city/state/country
 Media combination of track, album, artist,
composer, genre, and/or media
 Single customer, set of customers, customers in a
city, customers in a state, customers in a country
Project-33
Project Overview of Capabilities
CSE
4701





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-andFeel
Note – see also link below for html based Mockups
 http://www.engr.uconn.edu/~steve/Cse4701/OtherSa
mpleProjectScreens.docx
Phase II Requirements in terms of Screens and
Capabilities are at a High Level
Team Needs to Provide the Details/Solutions
Project-34
LOGIN/REGISTRATION/EDIT SCREENS
CSE
4701


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 Email
Project-35
LOGIN/REGISTRATION/EDIT SCREENS
CSE
4701
Project-36
DASHBOARD SCREEN - CUSTOMER

CSE
4701





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 media type and artist name.
Link to a screen that for a Customer to create/manage/modify
his/her playlists (new MyPlaylist and MyPlaylistTrack
entities/tables)
Link to Order Screen that lets a customer select a playlist to
order (from MyPlaylist or Playlist) or as selected by track
MyPlaylist and Order Screens both need detailed searching of
tracks by track name, album name, artist name, composer name,
genre name, and/or media name
The Order screen is tied to a Shopping Cart.
Project-37
DASHBOARD SCREEN - CUSTOMER
CSE
4701
Project-38
DASHBOARD SCREEN - EMPLOYEE
CSE
4701




Button to log off.
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. Processing order and
interacting with customers that is enabled from click.
Links to separate screens for: Enter/Edit New Media
Screen and Review Customer Demographic Screen.
Link to a screen to create/manage/modify his/her
playlists (new Playlist and PlaylistTrack) maintained
by the Chinook web app which involves detailed
searching of tracks by track name, album name, artist
name, composer name, genre name, and/or media
name.
Project-39
DASHBOARD SCREEN - EMPLOYEE
CSE
4701
Project-40
LIST OF CUSTOMER SCREENS

CSE
4701





Edit Profile Screen
Set/edit payment types Screen – design a screen for credit card,
check, paypal, Google Pay, and Apple Pay options
Pending/Completed Orders and Status Screen – View and Check
on a Specific Order
Create/Manage MyPlaylists Screen: Create/manage/modify
his/her playlists (new MyPlaylist and MyPlaylistTrack
entities/tables)
Order Screen: Select playlist (from MyPlaylist or Playlist) or a
set of tracks searched by track name, album name, artist name,
composer name, genre name, and/or media name
Shopping Cart Screen: In progress order with the ability to edit
tracks and/or playlists
Project-41
Create/Manage MyPlaylist Screen

CSE
4701




Detailed search by track name, album name, artist name,
composer name, genre name, and/or media name
Display a list of a customer’s play list and when clicking upon a
list will show all of the tracks
Ability to modify an existing play list (add or remove tracks or
remove the entire playlist)
Ability to create a new named play list which will allow the
customer to perform a detailed search and select tracks
Need to support multiple pages for the result sets since there can
be many results based on the search criteria
Project-42
SEARCH SCREEN - CUSTOMER
CSE
4701


Need Search Boxes for track name,
album name, artist name, composer
name, genre name, and/or media name
Show and Page through Results
Project-43
LIST OF EMPLOYEE SCREENS

CSE
4701



Active Order Screen - where clicking an order from the
dashboard screen goes to another screen to show the status and
content of each order
 Similar to “Pending/Completed Orders” of the Customer
Enter/Edit New Media Screen (see next slide) to enter new
artists, albums, genres, media types, and tracks
Create/Manage Playlists – Similar to Customer Version but
operates on Playlist and PlaylistTrack.
Review Customer Demographic Screen
 Similar to the edit profile screen (shown earlier)
 First and Last Names, Company Name,
Address/City/State/Country/Postal Code, Phone, Fax, and
Email; whatever seems appropriate.
Project-44
EDIT/ENTER NEW MEDIA SCREEN
CSE
4701




Screen to enter all of the information on a new media
item including: track name, album name, artist name,
composer name, genre name, and/or media name
You may also need to add new track names as well
Can Utilize Combination of Data Entry, Drop Downs,
Check Boxes, etc.
Next Slide Illustrates example from UconnJobSearch
Project-45
EDIT/ENTER NEW MEDIA SCREEN
CSE
4701
Project-46
ADMINISTRATIVE SEARCH SCREENS

CSE
4701


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 name, artist, composer, genre, media,
and/or composer
 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
 Media combination of track, album, artist, composer, genre,
and/or media
 Single customer, set of customers, customers in a city,
customers in a state, customers in a country
Project-47
Sample 1 Report Generation Screen
CSE
4701
Project-48
Sample 2 Report Generation Screen
CSE
4701
Project-49
Sample 3 Report Generation Screen
CSE
4701
Project-50
Sample 4 Report Generation Screen
CSE
4701
Project-51
Sample 5 Report Generation Screen
CSE
4701
Project-52
Final Thoughts

CSE
4701

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
Project-53
Other Sample UConnJobSearch Screens
CSE
4701


In this first sample, the front end is HTML/Javascript
GUI where each page is dynamically generated by the
PHP in the applications layer in Mozilla.
In this second sample, the client layer is written using
HTML, CSS and Javascript which is in explorer.
Project-54
Other Team1 Screens Posted
CSE
4701
Project-55
Other Team1 Screens Posted
CSE
4701
Project-56
validator.php
CSE
4701
Project-57
Sample Reporting Screens
CSE
4701
Project-58
register.php
CSE
4701
Project-59
First Sample
CSE
4701
Project-60
First Sample
CSE
4701
Project-61
First Sample
CSE
4701
Project-62
First Sample
CSE
4701
Project-63
First Sample
CSE
4701
Project-64
First Sample
CSE
4701
Project-65
First Sample
CSE
4701
Project-66
Second Sample
CSE
4701
Project-67
Second Sample
CSE
4701
Project-68
Second Sample
CSE
4701
Project-69
Second Sample
CSE
4701
Project-70
Second Sample
CSE
4701
Project-71
Second Sample
CSE
4701
Project-72
Second Sample
CSE
4701
Project-73
Sample Reports from CT Insurance Dept.
CSE
4701
Main Menu
Project-74
Sample Reports from CT Insurance Dept.
CSE
4701
Project-75
Sample Reports from CT Insurance Dept.
CSE
4701
Project-76
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-77
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-78
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-79
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-80
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-81
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-82
GUI from CSE4701 Spring 2003 Project
CSE
4701
Project-83
Download