CS 260 Assignment #3 (weighted as equivalent to 2 assignments 15% of your overall grade)

paltryboarpigSoftware and s/w Development

Nov 3, 2013 (4 years and 9 days ago)

95 views

CS 260
Assignment

#3


(weighted as equivalent to 2 assignments



15
% of your overall grade
)


Assignment3 is the longest assignment of the semester (even though it will be completed in the middle of the
semester). I've increase
d
its weight in your final cl
ass average to reflect this. Assignments (Programs/Projec
ts
in the syllabus) count for 45
% of your final class average. With assignment3 weighted as equivalent to 2
assignments this will make a total of 6 assignments for the class. Each
assignment will
then be worth 45
% /

6 =
7.5
% of your final class average. Assignment3

(double weighted) is worth 15
% of your class average.


I've put a number of example Swing programs here to get you started with a

basic Swing database interface.
I
mport
the
jar files
i
nto an existing Java Project from here
:

W:
\
c s
\
MMorrison
\
Fall13
\
CS260
\
_Classfiles
\
ExampeJarFiles


I didn't include displayed images in any of the above example
s



a quick google search on "
java swing photo
"
came up with lots of easy ways to do this (you wi
ll be displaying player images in this assignment).


Teams



Work in teams of 5 or 6

(required)



Email to me the members of your team
no later than
Monday

10/
7.
I’ll create a team folder for you on
W:


System
specifications
:

The United States

and Canada Ma
jor League Baseball (MLB) organization has asked your team to
design an application enabling fans to search through MLB statistics.


Fans should be able to search by none, one, or more of the following criteria:



Season



City



Team



League (American and Nati
onal)



Manager



Player



Salary



Position (pitcher, catcher, 1
st

base, 2
nd

base, etc.)



At bats



Batting average



Hits



Doubles



Triples



Home runs



Strike outs



On base percentage



There is

more that
can

be done

-

limit your search capabilities to the above


A team can

have only one manager (and must have a manager). A team can have any maximum number
of players, but the minimum number of players is 9. A player can play more than one position. Pitchers
in the American League do not bat. Pitchers in the National Leag
ue "do" bat.


Search results should return all players satisfying the search criteria. The relevant season(s),
team,
player
, salary,

position
(s)
, at bats, strike outs, hits, doubles, triples, home runs, and on base percentage
must be displayed

(keeping in

mind that American League pitchers don't bat). If you find it impossible
to get all of the information on a single page, you must still make it accessible via a drill
-
down interface
.
There must be a photo of each player that is either displayed in the i
nitial search results


or that can be
displayed by clicking the player in the search results

(drilling down)
. Players can change teams from
one season to the next. To keep this manageable, assume a player cannot change teams within the same
season (not
realistic


but what the heck). A team must be able to move to a different city from one
season to the next (and still be the "same" team with the same players


subject to the normal movement
from one team to another between seasons).


HINT: There
is a
MLB

Web

site



take a look to get ideas.



The system will also need an
administrative utility
to allow
MLB officials to log in to add, modify and
delete entries
. This utility should be password protected.



Anything not specified above but relevant to y
our application must be worked out within your team
based upon what you can infer about major league baseball (there is a lot of info on the web). Don't get
carried away with this! Get the basics specified above workin
g and don't add a lot of extras


ho
wever
read the next paragraph!


To avoid boredom with three classes devoted to teams presenting their project each team MUST
have one original "feature" in their completed application not described in the system
specifications. Make this interesting and h
ighlight what it is during your presentation.


Also to make this assignment interesting
---

After all presentations are finished the class will vote
on which MLB program has the best interface (you can decide for yourself what "best" means).
The team winn
ing the best interface vote will automatically get 100% for the entire project
!

(
I
hope
this
doesn't happen



but if the team's peer evaluations indicate a member didn't do their share
this person's score might be reduced from the 100%)
.


Environment

DBMS
:

MySQL



I have team
MySQL

ac
counts created for this purpose and will send you the account
information after you form your team.

Technology used to implement this application
:
Use Java and Swing to make the application.


Deliverables

Database
Design

(due

by start of class
on the posted due date
)

-

25
%



ER Model
/
Proposed t
able design
created with MySQL Workbench

(works better than
Oracle's design tool)

or Visio
(
specifies
entity

names, field names

and

primary key constraints).
Use the naming conventions
presented in class.
Turn in a paper copy of your design with hand
written notations to specify cardinalities (when the tool doesn't allow accurately doing this). By
hand draw an extra border around weak entities. I will also want an electronic copy of t
he model in
the W: drive class folder for your team (take a look at the W: drive).


Database
Physical
Design

(due
by the start of class
on the

posted

due date
)
-

20
%



Script with:

o

DDLs for creating all database tables in MySQL



Minimize the use of NOT NULL c
onstraints (use if it makes sense to do so).



Where appropriate specify check constraints (I'll want to see an example of at least one
check constraint in your DDLs)



Include the appropriate commands at the beginning of your script to
drop tables

o

Action qu
eries for populating all tables (minimum of 5 sample records/table)



Place in team fold
er on W:


Completed System

(due
by the start of class on

the
posted
due date
)



40
%



Put a jar file with your

Java/Swing

implementation
in

your
team folder on

the

W:

drive

(I'll create
these W: drive folders for you and give permissions for them to your team members.)



Grading on final system:

o

All required functionality

o

All action queries must use prepared stat
ements

to avoid security breaches

o

Client
-
side user input error ch
ecking. Make sure that users can't delete required values or
enter illegal values. If a search returns no records, be sure to let the user know what
happened
and provide h
ints for correcting the problem

o

System must be easy
-
to
-
use and self
-
documenting. I
NCLUDE USERNAMES AND
PASSWORDS FOR THE ADMIN U
TILITY DIRECTLY ON
THE
LOGIN PAGE
!

o

The i
nterface
must be attractive and professional


Presentation

(due at assigned date)


15%



10% of your s
core
is

based on how well you cover the po
ints listed in the Present
ation instructions:
http://cs.uwec.edu/~morriscm/priv/Fall13/CS345/Assignments/Assignment3/projectpres.doc





5%

is based on turning

in

thoughtful
, comple
ted reviews for all presentations (other than your own).
Sheets with review questions will be provided. Fill these out as you listen to each presentation.


Peer Review Form

(
email

as an attachment

to me by the start of the class on the
due date posted on

the
course schedule
)


Project score can be adjusted up or down based on this.