Top Banner
Free Gradekeeper Ease and Functionality at Everyone’s favorite price. Patrick Sibley Carl Scogland Jerod Brackin CSC 4330‐1 Fall ‘08
17

Free Gradekeeper - csc.lsu.edu

Nov 06, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Free Gradekeeper - csc.lsu.edu

FreeGradekeeperEaseandFunctionalityatEveryone’sfavorite

price.

PatrickSibleyCarlScoglandJerodBrackin

CSC4330‐1Fall‘08

Page 2: Free Gradekeeper - csc.lsu.edu

OurProject:Ourprojectisaprogramtohelpmaintaingradesforaschool.Itwillletteachersteachingoneormoreclassesassignandmaintaingradesforstudentsineachoftheirclassesoralloftheirsubjectswhileaveragingthosegradesautomatically.Itwillalsoletstudentsviewtheirgradesforeachoftheirclassestotracktheirprogress.TheProblemweareaddressing:Maintaininggradesforaclassusingpaperandpencilistediousandtimeconsuming.Ittakesuptoomuchspacetotrytokeepupwithpilesofgradedpapers.Manyother,mainstreamsystemsmadetokeepupwithsuchinformationareexpensiveorcomplicated.Schoolsthatarenotwellofffinanciallymaynotbeabletoaffordsuchprograms.Regardless,gradekeepingisanessentialaspectofschoolingforbothteachersandstudents.TheImpactourprojectwillhave:Ourprojectwillgiveschoolsafreewaytomaintaintheirgrades.Iftheschoolsarestartingoutorhavelimitedfunds,theywon’tbeabletospendagreatdealofmoneyforagradingprogramforalltheirteachers.Insteadofmakingtheteachersusetheirvaluabletimetoaverageandmaintainstudents’gradesbyhand,theprogramwilldothisforteachersautomatically,thusgivingthemmoretimetofocusontheirchildren’seducationandbuildabetterfutureforthem.MajorGoalsoftheproject:

‐ Toprovideflexibilitysothatuserscandowhattheyneedtodowhenevertheyneedtodoit,howevertheywanttodoit,withoutgoingthroughtoomanytediousmenus.

‐ Toprovidealogical,userfriendlyinterfacewithnoconfusingmenussothatanyteacherorstudentcanuseit.

‐ Toprovideatimesavingaveragingprogramforteachers‐ Toletteachersofallgradesfromelementarytohighschooleasilymodifythe

interfacetofittheirneeds.Duetotimeconstraintsandsetbacks,thisgoalhadtobeabandoned.Thefocuschangedtohighschoolsettingsonly.Thereasoningbehindthiswasthatauniversitywouldlikelyhaveenoughfundstobuyacommercialproductwhilestudentsinelementarysettingsmightnotknowhowtousecomputersasquiteasproficientlyasothers

Page 3: Free Gradekeeper - csc.lsu.edu

UsersTheFreeGradekeeperhas3groupsofusers:Teachers:userswhoteachoneormoreclassesataschoolandassigngradesbased

onstudents’performance,Students:userswhoareenrolledinclassesinsomeschoolsettingandtaketeststo

evaluatetheirknowledge.Administrator:Thisonefiguremaintainsschoolwidesettingsthatneithera

teachernorastudentshouldperformThefollowingliststheactivitiestheywillbeabletoperform.

Teachers’Activities‐Optionallyenterdescriptionsandpointvaluesforallgradestheyplantohave

throughoutthesemester(toenablestudentstoplanwhatgradestheyneedtomaketogetacertaingrade)

‐Inputasetofgradesforatest‐onegradetoeachstudentintheclass‐Viewandeditaspecificstudent’sgrades‐Seetheaverageforaspecificstudent’sgrades‐Seetheclass’saverageforthetotalgradeorforatest‐Setwhetherstudentscanseeclassaverages

Students’Activities‐Seeallcurrentgradesatthesametime‐Changepassword‐Foreachclass

‐Seewhotheteacheris‐Seepastgradesonpasttests ‐Foreachofthose,seetheclassaverage(ifenabled)‐Seethetotalgradetheyhavefortheclass‐Inputguessesforfuturegradestoseewhattheiraveragewouldbe

AdministratorActivities‐Edit,accept,ordenyuseraccountsfrombeingcreated‐Enrollstudentsinclasses‐Edit,add,ordeletecoursesintheschool

Page 4: Free Gradekeeper - csc.lsu.edu

FSMs

Page 5: Free Gradekeeper - csc.lsu.edu
Page 6: Free Gradekeeper - csc.lsu.edu
Page 7: Free Gradekeeper - csc.lsu.edu

NoteonFSMs:Inordertoachievetheflexibilitygoallisted,manypathsandtransitionsneedtobeavailableinourFSMs.Becauseofthesidebar,thestudentcanalwaysgettotheschedulescreen,thechangepasswordscreen,andthecoursepagescreen.Likewisefortheteacherbeingabletogettoanyscreenquickly.Thatbeingunderstood,thereareunderstoodpathsintheFSMsthatwouldbeentirelytootediousandconfusingtoshow.

Page 8: Free Gradekeeper - csc.lsu.edu

EntitiesTeacher(userID,password,firstName,lastName,gender,age,streetAddress,state,zipCode,city,classCount,email,officeLocation,phone)Class

Page 9: Free Gradekeeper - csc.lsu.edu

(classID,teacherID,description,studentCount,roomNo,meetingTime,semester,year,testCount,AverageGrade,PointsPossible,gradingScale,capacity)Student(userID,password,firstName,lastName,gender,age,streetAddress,state,zipCode,city,classCount,email,parentName,phone)Tests(testID,Description,grouping,PointsPossible,AverageGrade,gradingScale,weight,dateGiven)Admin(userID,password,firstName,lastName,gender,age,streetAddress,state,zipCode,city,classCount,email,officeLocation,phone)RelationshipsTeaches(teacherID,classID)Has(classID,testID)Enrolled(studentID,classID,ClassGrade,PointsMade,Percentage)Takes(studentID,classID,testID,PointsMade,DateTaken,Percentage)LinkDescriptions‐0:nonTeachertoteacheslink:Ateachermaybeteachinganywherefrom0tonclasses.(0mostlyappliestonewteacherswithoutclasses.‐1:1onclasstoteacheslink:Aclasswillbetaughtbyexactlyoneteacher.‐1:monstudentstoenrolledlink:Astudentcanbeenrolledinatminimum0classes(duringsummer,forexample),butatmostmclasses.

Page 10: Free Gradekeeper - csc.lsu.edu

‐0:konclasstoenrolledlink:Aclasscanhaveanywherefrom0(whenaclassisinitiallycreated,forexample)tokstudentsinit.‐0:Lonclasstotestslink:Aclasscanhaveanywherefrom0students(usuallyonlywhenitisinitiallycreatedandstudentshavenotyetscheduledit)toLstudents.‐1:1onteststohaslink:Atestispartofexactlyoneclassandnotusedbyanyother.‐0:m*Lon(studentenrolledinaclass)totakeslink:AstudentenrolledinasmanyasmclasseswithLtestsineach,canhaveuptom*Ltests.‐0:konteststotakeslink:Iftherearekstudentsinaclass,atmostthereneedbektests.

Page 11: Free Gradekeeper - csc.lsu.edu

MenusThemostefficientwaytoachievethelevelofflexibilitythatwewantistouseasidebarinourprogram.Thissidebarwouldalwaysbeonthescreen,alwaysallowingwhicheverusertogotothemostimportantormostfrequentlyusedplacesintheprogramtheyneedtogo.Thefollowingmenusarelistingsoftheitemswewantineachmenu.Wewilldealwithaesthetics,colors,andfontslaterafterwearesurethatthemenusareasfunctionalastheyneedtobe.____________________________________________________________________________________________StudentSideBar<|BackForward|>//linktothepreviousornextpagecutduetotime<StudentName>//notalink.Justshowingthestudent’sname‐AllGrades//linktotheallgradesscreen‐Schedule <ListofCourses>(inalphabeticalorder)anexamplefollows English//eachoftheseisalinktothecoursepageforthatsubject Math . . .‐ChangePassword//linktothechangepasswordscreen‐Logout//logsuseroutofsystem____________________________________________________________________________________________AccountScreenEnterPreviousPassword<textfield>EnterNewPassword<textfield>ReenterNewPassword<textfield>Submit//whenclicked,thiswillchangethepasswordtowhateverisinthenewChangeemailaddress<textfield>Submit//passwordtextfieldonlyiftheoldpasswordiscorrect.____________________________________________________________________________________________

Page 12: Free Gradekeeper - csc.lsu.edu

AllGradesscreen<Studentname>’sGrades<ListofCourses><OverallCourseGrade><Uptolast5gradesforcoursetests>EnglishBTest3–85BQuiz3–75CTest4–80–B…MathATest1–93ATest2–88BHomework5–75–C…../**Eachsubjecttitleisalinktothatcourse’spage.Thesearetheonlylinksonthisscreen.Thescreenissetupthiswaybecauseeachsubjectmayhavedifferentdescriptionsandnumbersoftests.Thepurposeofthisscreenisnottooverwhelmanyonewithabunchofnumbersonascreen.Itistoshowthemostrecentgradesinallthecoursesandtheoverallgradeineachcourse.*/____________________________________________________________________________________________Student: ...<student-name>... Course : ...<course-name>.... Semester: ...<fall-or-spr>... Year: ...<????>... Garding scale: A=85-100, B=75-84, C=65-75, D=55-64, F=0-54 Scores for test, homeworks (including max-marks and percentage of grade, if applicable): Tests(90%) : #1(100, 20%) #2(50, 20%) #3(100, 25%) #4(100, 25%) Student : 90 30 --- --- ClassAverage : 87 40 --- --- Homeworks(10%): #1(10) #2(15) #3(15) #4(10) Student : 10 10 5 10 ClassAverage : 9 8 12 10 Current grade : Total Test Scores = 120(150), weighted-value = 72(90) Total Homework Scores = 35(60), weighted-value = 6(10) Total = 78(100), grade = B TeacherInfoFindotherstudentsCalculateProjectedFinalGrade

Page 13: Free Gradekeeper - csc.lsu.edu

/**calculateprojectedfinalgradeshowstestsyettobetakenwithtextfieldsforthepointsmade.TheCalculateProjectedFinalGradebuttonischanged.Twonewbuttons:“calculate,”(whenclickedthiswillshowthenewlycalculated“projectedtotal”insteadofclasstotal.Thiscanbecalculatedmultipletimes.),and“currentgrade”(whichremovesthetextfieldsandshowsclasstotalagain.“TeacherInfo”isalinktotheteacherinfoscreen.“Findotherstudents”isalinktoascreenshowingthenamesoftheotherstudentsintheclass.*/ProjectedTotal590650%%TeacherInfoFindotherstudentsBacktoCurrentGradeCalculate____________________________________________________________________________________________TeacherSideMenu<|BackForward|>//linkstothenextandpreviouspages<TeacherName>‐AllCourses‐Account‐Classes <ListofClassesCurrentlyTeaching(alphabetical)>

//eachalinktothatcoursepage‐Settings//linktothesettingsscreenwhereteachersetsvisibilities‐Logout//logsuseroutofthesystem___________________________________________________________________________________________Coursepage<CourseName><ListofStudentsincourse(alphabetical)><Descriptions>……TotalGrade.<GradeofStudent1>…..<TotalGradeofstudent>Test1Test2…TotalGradeAlan90A82B…81.5BBobby85B76C…72.1CCarl95A73C…...<Average><Average>…..<ClassGradeAverage><SaveChanges>/**anyindividualgradecanbeclickedtoturnintoatextfieldwhichcanbeedited.A“savechanges”buttonwillbeatthebottomrighthandcornerofthescreen.Anyattempttochangepageswithoutsavingwilldisplayan“areyousure”box*/____________________________________________________________________________________________Studentinaclassgradesscreen

Page 14: Free Gradekeeper - csc.lsu.edu

<StudentName>’s<ClassName>grades<Description><Grademade><percentage>editMath‐Carl’sGradesTest190/9590%Aedit..SaveChangesAll<StudentName>’sgrades(onlyinelem)/**editchangesthestudent’sgradetoaneditabletextbox.Savechangessavesallchangeswhenclicked.All<StudentName>’sgradesgoestoapagethatshowsallofthatstudent’sgrades.*/____________________________________________________________________________________________EnrollStudentScreenSelectClasstoaddto<dropdownlistofclasses>SelectStudent<dropdownlistofstudentsinclass>Whattodo?<dropdownadd,edit,delete>*willbeprompted“areyousure”**note,Selectstudentwillonlybeavailableforelementarybecauseonestudentisaddedtoallclasses.*

Page 15: Free Gradekeeper - csc.lsu.edu

UserFunctionsinaprogrammingsenseGenericUserFunction Parameters Other

InputsValueReturned

OtherOutputs

average arrayOfGrades average getTestGrade testID,studentID,

classID testGrade

Back lastPage Mainframechanged

Forward nextPage Mainframechanged

toPassword Mainframechanged

changePassword newPassword,confirmPassword,oldPassword,

Passwordchanged

startEmailEditor sendRequestForLogin type,name request

sent StudentFunction Parameters Other

InputsValueReturned

OtherOutputs

toAllGrades studentID Mainframechanged

toOtherStudents courseID Mainframechanged

emailTeacher EmailEditorstarted

toTeacherInfo courseID Mainframe

Page 16: Free Gradekeeper - csc.lsu.edu

changedcalculateProjectedGrade

arrayOfGrades,arrayOfExpectedGrades

projectedGrade

backToCurrentGrade courseID Mainframechanged

toCoursePage courseID Mainframechanged

TeacherFunction Parameters OtherInputs Value

ReturnedOtherOutputs

editTestGrade testID,studentID,classID,newGrade

testGradechanged

Thisprogramcannotcurrentlyberunonapplecomputersorcomputerswithoutthelatestversionofjavainstalled.Macsrelyontheirownservice,softwareupdate,tohandleanyupdates.Forthisreason,theydonothavethelatestversionofjava.Thisprogram,however,usesanewerclassfromtheswingpackageinthebuildingoftheGUIs.

Page 17: Free Gradekeeper - csc.lsu.edu

Thisprogramusesadatabase,and,asaresult,needsadriverforthisdatabase.Thedriverusedwascom.mysql.jdbc.Driver.Thiswasincludedinajarsotheprogramcouldrun.AppendixofclassesMain.java–includesthemainmethodClassesbasedontheEntitiesUser.java

Teacher.javaAdmin.javaStudent.java

Takes.javaSubject.javaEnrollment.javaTest.javaDBAccess.java–foraccessingthedatabaseJPanelsubclassesfortheGUIelements InitialGUIs Logon.java Registration.java FortheStudent SideBar.java AllGrades.java Course.java Account.java CalculateProjected.java FortheTeacher AllCourses.java TCoursePage.java TSettings.java TSidePanel.java TAccount.java TStudentGrade.java FortheAdmin AdminMain.java AdminApprove.java AdminMakeSubj.java Enroll.java UserReqs.java