Académique Documents
Professionnel Documents
Culture Documents
TheF.E.R.S.CalculatorandForum
PhillipPowellandBrianCarlston
CaliforniaStateUniversityMontereyBay
CST499DirectedCapstone
CapstoneAdvisor:DavidWisneski
6/14/16
THEFERSCALCULATORANDFORUM
ExecutiveSummary
Themaingoalofourcapstoneprojectwastocreateamobilefriendlywebsitethatgives
allfederalgovernmentemployeestheabilitytocalculatetheirretirementearningnumbers.We
alsowantedtocreateawebsitefederalemployeescouldgotoforhelpunderstandinghowthe
F.E.R.S.systemworks.Ourlongtermgoalisforthiswebsitetobecomethenumberone
F.E.R.S.calculatorforfederalgovernmentemployees.Wewanttocreateawebsitethatnotonly
calculatesyourretirementincome,butonethathelpsyouplanmoreeffectivelyforyourfuture
retirement.
Inordertoreachourgoalsweplanonsettingalistofobjectivesthatmustbecompleted.
Thewebsitemustbefullymobilefriendly,easytouseandhaveacleanlayout.Thecalculator
mustbecompletelyaccurateandhaveerrorcheckingforthefieldsenteredbytheuser.The
calculatorshouldnotstartuntilallfieldsarefilledandenteredcorrectly.Helpbuttonsmustbe
providedtoexplaineachfieldthatisrequiredincaseauserdoesnotunderstandhowtoenterit.
Thewebsitemustalsoincludeeasytofollowstepbystepinstructionsofhowtheusercan
calculatetheirretirementthemselves.Thewebsitemustalsoincludedisclaimersthatwearenot
affiliatedwiththegovernment.Inorderfortheusertobetterplanfortheirretirement,theymust
beabletocreateanaccountthattheycansavetheirpreviouscalculatorentriesto.
Thepurposeofourcapstoneprojectistoprovidefederalgovernmentemployeeswithan
accurateandeasytousetooltoplanforretirement.Thereareotherattemptsthathavebeen
madetocreatearetirementcalculatorbutallotherversionshavevariousissues.Manyofthem
seemtobeoutofdateandonlyacouplearemobilefriendly.Eventhemobilefriendlyonesdo
notseemtobeveryappealingoreasytousewhichcanbeaproblemformostusers.Noother
THEFERSCALCULATORANDFORUM
currentlyofferedF.E.R.S.calculatorhastheabilitytosavecalculatorentriesforlaterreview.
ThereisalsonocurrentF.E.R.S.calculatorthatshowsyouthestatisticsofyourentriestohelp
youseehowthechangesyouhavemadeaffectedyourF.E.R.S.benefits.Ourprojectshould
solveallofthoseissuesandgiveusersanaccuratedescriptionoftheFERSplanandachanceto
getanideaofwheretheystandforretirementplanning.Thewebsitewillalsogiveusersthe
abilitytocreateanaccounttosavevalues,andovertimewillgivethemsomestatisticsabout
theirentriesandhowitaffectedtheiroverallbenefits.
Thisprojectwillaffectallemployeesofthefederalgovernment.Anyoneworkingunder
theFERSplanwillbeabletousethiswebsiteforretirementplanning.Retirementplanningis
oneofthemostimportantthingsapersoncandoandthiswebsitewillhelpfederalemployees
getaroughestimateofwhentheycanretirecomfortably.Evensomeonewhoisfarawayfrom
retirementcanusethiswebsitetogetanideaofthepaththeyneedtotakeinordertoretire.If
usedproperly,thecalculatoronthewebsiteshouldonlytakeminutestocompletesomethingthat
wouldtakesomeoneasmuchasanhourtodobyhand.Ourwebsitewillnotbesomethingthat
canreplacearetirementadvisorbutwillbeatoolthatanyfederalemployeecanusetogetan
estimateofwhattheywillreceivewhentheyretire.
THEFERSCALCULATORANDFORUM
TableofContents
TableofFigures
.5
Introduction
6
FeasibilityDiscussion
....10
UsabilityTestingandEvaluation
...13
Design
.15
FinalImplementation
....21
Conclusion
........29
References
..30
Appendix
A
.31
AppendixB
........33
AppendixC
......36
THEFERSCALCULATORANDFORUM
TableofFigures
Figure1Timeline
19
Budget
.......21
Figure3
.......23
Figure4
.24
Figure5
.....25
Figure6
..26
Figure7
.........27
Figure8
.....29
Figure9
..29
Figure10
..........32
Figure11
........36
THEFERSCALCULATORANDFORUM
Introduction
Currentlythefederalgovernmentemploysoverfourmillionpeople.Eachgovernment
employeeworksundertheFederalEmployeesRetirementSystem,orFERSforshort.The
retirementsystemworksbycalculatingtheemployeeshigh
3averagesalary,theemployee's
yearsofserviceandtheirageatretirement.Oncetheemployeeknowsthisinformationthereare
manyfactorsthatcandrasticallychangetheirretirementnumbers.Theemployeemustcheckif
theyhaveatleast20yearsofservice,iftheywillbeoverorundertheageof62atretirementand
whatfieldinthegovernmenttheemployeeworkedin.Thepercentageearnedforretirementis
differentiftheemployeewasafirefighterorcongressionalemployeeforexample.Oncethat
calculationiscompletedyouaddthatnumbertoyoursocialsecurityandthriftsavingsplan
benefits.Onceallthisiscompleted,youwillhaveyourretirementearnings.Fortheaverage
employee,computingtogetherallthreepartscanbeahassleandverycomplicated.Evenif
someoneknowseverypartofcalculatingtheirretirementitcouldstilltakethemhourstofindthe
answer.Ifsomeonewastryingtocalculateitthemselvesandranintotroubleandneededhelp,
theywouldhavenoplacetogotoforassistance.
Ourproject,TheF.E.R.S.CalculatorandForum,willcompleteallofthehardworkof
calculatingretirementfortheenduser.Insteadofsomeonespendinghoursusingpaperanda
calculatorinordertocalculateretirementandthenhopeitisright,wewillprovidethemwithan
THEFERSCALCULATORANDFORUM
onlinecalculatorwheretheywillonlyneedtoenterninefields.Wewouldonlyneedtoknow
theiryearsofservice,currentsalary,currentage,expectedraiseincrease,plannedageat
retirement,thriftsavingsplannumber,socialsecurityamount,thepositiontheyheldandhow
longafterretirementtheywouldlikethebenefitstolastinordertoperformthecalculations.
Whatoncetookusershourstocalculate,weshouldbeabletocompleteinminuteswithour
calculator.Ourcalculatorwillbeapartofanonlinewebsitethatalsogivestheusera
descriptionoftheFERSsystemaswell.Ifauserwantstolearnhowtocalculatetheirretirement
byhand,theycouldalsogotoourwebsiteforeasytounderstand,stepbystepdirections.
Anotherbigpartofourwebsiteisthefactthatitwillbecompletelymobilefriendlyandwill
workonanymobileplatformorbrowser.
Inordertocompleteaprojectlikethis,wehavesetalistofgoalsandobjectives.The
maingoalofourprojectistocreateawebsitethatbecomesthegotomobileretirementplanning
applicationofallfederalgovernmentemployees.Ourothergoalistocreateawebsitethatis
reliableandwillnevercrashorhaveconnectionissues.Wealsohopetonotonlybeknownasa
calculatorwebsite,butaplaceemployeescangotoforabetterexplanationoftheFERSsystem
andhowtocalculateityourself.Inordertoreachourhighgoalswehavesetobjectivesforour
teamtocomplete.
THEFERSCALCULATORANDFORUM
Objectivenumberoneistocreateawebsitethatismobilefriendlyandwillwork
properlyonallmobilebrowsers.Thisincludesbrowsersonphones,tabletsandlaptops.Italso
includesthebrowsersfrombothAppleandAndroiddevices.Ournextobjectiveistocreatea
workingonlinecalculatorthatwillcalculateretirementearningsoffederalgovernment
employees.Thecalculatormustbecompletelyaccurateandeasytouse.Thecalculatormustbe
soeasytousethatevenpeoplewhoarenotfamiliarwithcomputerswillbeabletounderstand
howtouseit.Thewebsitemustalsohavehelpbuttonsavailableincaseusersareunsureofhow
toentercertainfields.
Thecalculatormusthaveerrorcheckingtomakesuretheuserdoesnotgetincorrect
informationorcausethecalculatortocrash.Forexample,ifallfieldsarenotenteredwhenthe
userstartsthecalculator,itmustprovideapopupmessagestatingnotallfieldshavebeen
entered.Thecalculatorshouldnotstartuntilallfieldsareentered.Itshouldalsochecktomake
suretheyareenteredcorrectly,forexample,nolettersinthefieldsthatshouldbenumbers.
Finally,thewebsitemustexplaintotheuserhowtheycouldcalculatetheirFERSbenefits
themselves.Itshouldincludestepbystepinstructionsthatareeasytounderstandandfollow.
Thewebsitemustalsoincludeafreetouseforumforfederalemployees.Thisforumwill
givethemtheoptiontoconnectwithallotherfederalemployeesandgivethemtheabilitytoask
oranswerquestionsotherusersmayhave.Ourfinalobjectiveisthatthewebsitemustincludean
THEFERSCALCULATORANDFORUM
optiontocreateanaccountandsavetheirentries.Oncetheentrieshavebeensaved,theusers
musthavetheabilitytoseeallsavedentriesandbeprovidedstatisticsabouttheirsavedvalues
likepercentageofincreaseinoverallbenefitsandraises.
Thisprojectwilldirectlybenefiteverysingleemployeeofthefederalgovernment.
AnyoneundertheFERSretirementsystemwillbeabletouseourprojecttoeithercalculatetheir
retirementorlearnhowtocalculatetheirretirementthemselves.Otherthangovernment
employees,theprimarystakeholdersofthisprojectwillbePhillipPowellandBrianCarlston
whowillbecreatingthisproject,theschool,andourclient,JonathonShu.
Whilecompletinganenvironmentalscanforpastversionsofourproject,wedidfind
somepreviousattemptsatit.Forthemostpart,thepreviousversionsseemedoldandoutof
date.Noneofthemseemedverymobilefriendlyandoneofthemactuallycostthirtydollarsper
yearjusttousethecalculator.Theresultsofthescanshowexactlywhyaprojectlikethisis
needed.TheFERSretirementsystemisverycomplicatedandawebsitelikethiswillhelp
peopleunderstandtheprocessofcalculatingtheirretirementandoffertocalculateitforthem.
Whilecompletingthescan,wealsofoundthatnoothercalculatorcurrentlyofferstheoptionto
saveyourvalues.Whatisthepointtousingacalculatorforretirementplanningifyoudont
havetheabilitytosaveyourentriesforlaterreview?Wefeelthatisneededsouserscankeepall
theirinformationsavedinasecureplacesotheycanuseitinthefutureastheygetcloserto
retirement.Itisalsotimeforthingslikethistobeavailableinthemobilemarket.Desktop
computersarebecomingmorerareeverydayandtherehasbeenamobilerevolution.With
THEFERSCALCULATORANDFORUM
10
everythingelsethathasgonemobile,whyshouldtherenotalsobeamobileretirementplanning
website?
FeasibilityDiscussion
AnonlinetoolusedtocalculateausersF.E.R.S.benefitsisnotanewideathathasnot
beenthoughtofbefore.Infact,manydifferentF.E.R.S.calculatorshavebeencreatedinthe
past,butmanyofthemcontainbigproblemsthatstopthemfrombeingtheultimatesolutionto
theproblemofcalculatingbenefits.Beforemyteambeganworkonouronlinecalculatorand
forum,wecompletedanenvironmentalscanofthepreviousattemptsatcreatingaF.E.R.S.
calculator,andwefoundsomeinterestingresults.
OneofthebestalreadyfinishedF.E.R.S.calculatorswefoundwasoneofferedfrom
FedCalc.Thewebsite,
www.fedcalc.com
,offersmanydifferentversionsofretirement
calculatorsandF.E.R.S.isoneoftheiroptions.Thecalculationsappeartobeaccurate,butthere
aremanyissueswiththewebsitethatmakeithardtouse.Thewebsitelooksverydatedandhas
clearlynotbeenupdatedinquiteafewyears.Sincethesiteissodated,itisalmostimpossibleto
useonanymobiledevice.Iattemptedtouseitonmyphone,butdidnotgetveryfarbecauseI
hadtroublenavigatingthroughthepages.Anotherbigproblemwiththissiteisthefactthatitis
sohardtogetafinalcalculation.Beforethewebsitecanreturnyourexpectedbenefits,youmust
fillouteightpagesworthoffieldsaboutyourbenefits.Theamountofinformationthis
calculatorwantsfromusersisfartoomuch.
AnotheralreadymadeF.E.R.S.calculatorisoneofferedbyUBMMedicaLLC.The
website,
http://www.globalrph.com/fersretire.htm
,offersacompleteF.E.R.S.calculatorthatlike
ours,calculatesyoursocialsecuritybenefits,thriftsavingsplanbenefitsandyourtotalF.E.R.S.
THEFERSCALCULATORANDFORUM
11
benefits.Thewebsiteseemshelpfulandaccuratebut,liketheotheronewefound,thiswebsite
alsoisnotmobilefriendly.AnotherproblemwiththiscalculatoristhatitisnotonlyaF.E.R.S.
calculatorbutalsoaC.S.R.S.calculator.Thiscouldcauseconfusionforpeoplewhoareonly
workingundertheF.E.R.S.system.Thewebsitealsodoesnotofferanytypeofcustomizationor
showyouhowmuchmoneyisearnedfromeachbenefit.
Theenvironmentalscanwecompletedfoundmanyothercalculators,butallofthem
seemedtohavesomesortofissuethatheldthecalculatorback.Anotheronethatlooked
promisingwasofferedfromDecisionSupportSoftwareLLC.Thebigproblembecameclear
whenwefoundoutinordertousetheapplication,youneededtopurchasealicensethatcost
$29.99peryear.Whetheritbecost,mobilefunctionalityoraccuracyalloftheprevioustriesata
reliableF.E.R.S.calculatorcomeswithproblems.
Aftergatheringthisinformationfromthescan,wenowhaveabetterideaofwhatwe
needtocompleteinordertodeliverabetterworkingcalculator.Thebiggestdifferencebetween
thepreviousattemptsandourwebsiteisthatourversioniscompletelymobilefriendly.Our
websitewillworkontablets,phonesandallothersmallscreensthatgetinternetaccess.Another
bigfunctionalpartofourwebsitewillbegivingtheuseranoptiontocreateanaccountwhere
theycansavetheircalculatorentriesto.Thiswillgiveuserstheabilitytoseetheirresultsata
laterdateandcomparehowtheirbenefitshavechangedovertime.NootherF.E.R.S.calculator
thatwefoundduringourscangaveusersthisoption.Wefeelthatthisisabigdifferencethat
willmakeourwebsitemorehelpfulforusersplanningtheirretirement.Itwillmakeiteasierto
planforretirementwhenyoucanactuallyseehowchangesinyoursalary,socialsecurity
benefits,orplannedretirementageovertimehavechangedyourbenefits.
THEFERSCALCULATORANDFORUM
12
Ourwebsitealsoincludesaforumforuserstopostoranswerquestionsabouthowtheir
F.E.R.S.benefitswork.Thisisanotheroptionthatwedidnotfindinanyothercalculator.A
forumissomethingthatwefeelwillbeveryhelpful.Sometimesusershavequestionsthatthey
cantfindtheanswertoonline,theforumwillgivethemanopportunitytoaskthatquestionand
seeifanyotheruserknowstheanswer.Ourwebsitewillalsohaveafullpagededicatedonlyto
explaininghowtheF.E.R.S.systemactuallyworksandiscalculated.Thisisanotheroptionthat
wasnotfoundonanyothercalculator.Alloftheotherwebsitesjustpostedthecalculatorand
gavetheusertheirresults.Ourwebsitetakesadifferentapproach,givingtheuserthecalculator,
butalsogivingthemanopportunitytomakesuretheyunderstandtheF.E.R.S.systemandan
optiontoaskquestionsiftheystillhaveanyotherquestions.
Thebiggestfunctionalpartofourwebsitewillobviouslybethecalculatoritself.Our
calculatoriscompletelyaccurateandeasytouse.Otherwebsitesdidofferacalculatorforusers
thatwasaccurate,butoursismucheasiertousethanothers.Combineoureasytousecalculator
withaforum,descriptionoftheF.E.R.S.system,andtheabilitytocreateanaccountandsave
previousentries,wefeelwehavecreatedthemosthelpfulF.E.R.S.website.
UsabilityTesting/Evaluation
Ourfinalproductwasunderconstantusabilitytestingwhileitwasbeingproduced.The
firstpartwecompletedfortheprojectwassecuringtheurl
www.ferscalc.com
andcompleteing
thebackendserversowecouldpublishthewebsiteonline.Thisgaveustheopportunityto
reloadeverychangewemadetotheserverandseehowitaffectedthefinalproduct.Wesplitthe
workofeverypageintodifferentpartsandeverytimewecompletedamajorpart,weloadedit
ontotheserverandcheckedthepagetomakesureitwascorrect.Weusedbothourlaptopsand
THEFERSCALCULATORANDFORUM
13
ourmobilephones(iphones)toseetheresultsofourpage.Thiswaywecheckedtheresultsof
bothourdesktopandmobileversionsofthesite.Anytimeanerrorwasfoundinthefinalresult,
wewentbacktothecodeandmadesuretheerrorwasfixedbeforewecontinuedontothenext
part.
Ourplanfromthebeginningoftheprojectwastosendourfinishedproductouttoa
groupofcurrentfederalgovernmentemployeesforusertestingoncewefeelwehadfinishedthe
project.Weendedupfollowingthroughonourplansandsenttheprojectouttoasmallgroupof
employeesonJune9th.Wewantedtofindagroupof510users,butunfortunatelywewere
onlyabletofind4currentfederalgovernmentemployeestoparticipateinourusabilitytest.We
senteveryuserwillingtoparticipatealinktoourwebsiteandacopyoftheUsabilityTest
Questionnaire(locatedinAppendix).Wegavetheuserstwodaystotestoutthewebsiteand
askedthemtoreturnafilledoutquestionnairebytheendofthedayonJune11th.Allfourusers
returnedthequestionnaireandthefeedbackwasmostlypositive.Alloftheuserstoldusthey
feltthecalculatorseemedaccurateandwaseasytouse.Allusersalsotoldustheywillusethe
calculatoragainastheirsalarychanges.Onepartofthefeedbackwereceivedthatwasnegative
wasthatoneuserfeltthetextwastoosmalltouseonthecalculatortouseonaphone.Basedon
thefeedbackwereceived,wemadethetextalittlebitbiggeronthemobilesidesoitwouldbe
easiertoreadonsmallerdevices.
Allusersseemedtobeveryimpressedwithourfinalproductandtheyallfelttheability
tosavetheircalculationswillhelpthemtobetterplantheirretirementinthefuture.Infact,one
ofourusersspeciallywroteontheirquestionnairethathefeltthestatisticspartofourpast
calculationspagewasveryinterestingandhelookedforwardtousingittoseewhatkindof
THEFERSCALCULATORANDFORUM
14
actualsalaryraisesreceives.Aspromisedtoalluserswhoagreedtoparticipateinourusability
test,alltheirpersonalinformationlikenamesandemailswillnotbesharedwithanyoneother
thanthemembersofourcapstoneteam.Afterthefinalproductisproduced,theirresponsesand
personalinformationtheygaveuswillbedeletedsothereisnochanceoftheirinformationbeing
reachedbyanyoneinthefuture.
Wesentthefinalcalculatortoourclient,JonathanShu,onJune8thforreview.Sofar,
wehavenotreceivedanyfeedbackonourfinalproductfromourclient.Ourclientoriginally
askedonlyforawebsitethatofferedacalculatorforF.E.R.S.benefits.Duetotheprojectbeing
thoughtofastoosimpleforafinalcapstone,wemadealotofchangestotheprojecttomakethe
complexityoftheprojecthigher.Whenwenotifiedourclientaboutthechanges,hewantedto
makesureausercouldstillonlyusethecalculatorwithouthavingtocreateanaccountandsave
theirvalues.Basedonhisfeedback,wemadethecalculatorappearonourhomepagesothata
usercouldjustgodirectlytothecalculatoranduseitwithoutsigninginorcreatinganaccount.
Whenwedoreceivehisfeedbackonthefinalproduct,wewillmakethenecessarychangesas
quicklyaspossibletomakesurethefinalproductisuptoourclientsexpectations.
Design
OurprojectstakeholderJonathanShuwasinvolvedintheinitialdesignprocess.Duringthis
processitwasdeterminedthatthemostusefulfunctionalityforaretirementcalculatortoolwasa
webapplication.Duetothenatureofthecapstonerequirementstheprojectscopeanddifficulty
expandedtoincreasethecomplexity.Thisexpandedtheoriginalprojectfromjustasimpleweb
applicationtoamuchmoreinclusiveretirementplanningtool.Theexpandedplanningtool
implementedaccountsandaccountmanagement,savingcalculationdataandtheuseofaforum
THEFERSCALCULATORANDFORUM
15
thatcanbeusedtoaskquestionsandreceiveanswerstoquestionswhenitcomestoretirement
fromthefederalsystem.Theseadditionalfeatureswerenotrequestedbytheclient.
FunctionalDecomposition
Theprojectconsistsoftwomajorfunctionalcomponents,theserverbackendandthefrontend
website.Breakingthesetwodownfurtherwillgiveusthecomponentsnecessarytofacilitatethe
webapplication.
InordertoreducecostsLinuxwaschosenastheoperatingsystemforthebackendserver.Also
onthebackendweutilizedotheropensource\nocostsoftware.Foradatabasetohostboththe
foruminformationaswellastheoptionalsavedatainformationfromthecalculator
AmazonLinuxHostedonAmazonwebservices
MySQL
Apache
Php
OnthefrontendweutilizedJavaScriptandJavaScriptframeworksjQueryandbootstrap.In
additiontotheseframeworkswemadeuseofforumsoftwarethatisavailableundertheGNU
license.
SelectionofDesignCriterion
Theclientsmainfocuswastohavesomethingthatwaseasytousemobilefriendlyandcanbe
accessedquicklyandeasily.TheFERsCalcwebapplicationwasdesignedtomeettheneedsofa
casualuserthatonlywantstolookuptheirexpectedretirementincomeoncebutstilloffers
featuresthatwouldbeappealingtosomeonewhowantsamorerobustcalculationexperience.
THEFERSCALCULATORANDFORUM
16
Withtwodifferenttypesofusersinmindweneededtomakesurebothhadasmooth
experience.Themostimportantaspectoftheprojectcrucialtosuccesswasthecalculator
portion.Withoutsuchtheprojectwouldnotsolveanycurrentproblemsandwouldreallybe
purposeless.Becausethiswasthemostimportantandfocalaspectoftheprojectthemosttime
wouldbededicatedtomakingsurethattheuserexperiencewasagoodone.Weplannedto
spendamajorityoftheallottedtimetothedevelopmentofthecalculator.Theotherfeaturesthat
wehadplannedtoimplementwerebonusfeaturesthatwerenicetoincludeiftimewouldallow.
Giventhatthisprojectwillbefreetouseforthecommunityitisimportanttokeepcosts
lowonthefrontend.Wedecidedtotakeadvantageoffreeservicesforlowtrafficinstances.The
implementationonamazonalsoallowedtheprojecttoscaletosizeifeverneeded.The
applicationutilizestheforumsusermanagementtoreducetheamountofduplicatedcode.
FinalDeliverables
Thefinaldeliverablesforourprojectwillbeafullyfunctioningwebsiteforcalculating
retirement.Thewebsitewedeliverwillbeuserandmobilefriendly.Itwillconsistofthree
differentsections,onewillbetheactualcalculatorfortheusertoinputtheirnumbersandfind
theirretirementearnings.Thecalculatorsectionwillhavehelpbuttonsandeasilyunderstandable
descriptionsinordertoguidetheuserthroughanytroubletheymayhavewhileinputtingtheir
information.Thesecondsectionwillbeanopportunitytoviewpastcalculationsandcomparethe
results.Thethirdportionofthewebsiteisauserforum,thiswillallowuserstoconnectwith
otherfederalretireesandaskquestionsaswellasgiveanopportunitytoshare.
THEFERSCALCULATORANDFORUM
17
Approachandmethodology
Thefirststepinthisprojectwetookinthisprojectwasresearch.Wefirstneeded
todeterminewhatplatformthesitewouldbehostedon.Weexploreddifferentoptionsand
settledonAmazonWebServices.Wealsoperformedresearchonwhichframeworkwewilluse
tomakethesitemobilefriendlyandultimatelydecidedonbootstrap.
Oncethedesiredplatformsweredetermineditwasnecessarytolearnhowtoimplementthe
unfamiliaritems.Someofthesetutorialscanbefoundat
http://www.w3schools.com/bootstrap/
.
Forthisprojectweusedanagilesoftwaredevelopmentprocess.Agiledevelopment
enablessoftwaretocometomarketfasterthroughadaptabilityandmoreclientinput(Dyb&
Dingsyr,2008).Thisdevelopmentprocesswillenabletogettheproducttomarketthefastest
whichwillsuittheneedsofthisassignment.Inordertotrackourprogressthroughthe
milestonesweusedPivotalTracker,atooltrackstheprogressofiterations.Thiswebbasedtool,
https://www.pivotaltracker.com/
,helpedustostayontrack,especiallythroughthefirstfew
iterationswherewewereworkingonbiggerseparateitems.
Toensurethatwewereworkingwiththesameversionsoffilesandthatwewerenot
overwritingeachotherweusedversioncontrolsoftwareandservice.Weused
https://bitbucket.org/
,agitservice,tostorethecodeforourprojectinanonlinerepository.
EthicalConsiderations
AccordingtoresearchdonebyEmploymentBenefitResearchInstitute(Helman,2013)
manyAmericansarenotpreparedforretirement.Retirementcalculatortoolsgivepeoplemore
confidenceintheirretirement(Adams,2014).Thehighuseofaretirementcalculatorsonline
posesanethicalissueofaccuracy.Iftheinformationprovidedbyourcapstoneisincorrector
THEFERSCALCULATORANDFORUM
18
misleadingwecouldpotentiallyharmpeopleplanningforretirement.Withthisinminditwas
importanttothoroughlytesttheprojecttoensurenofalseinformationisdisseminated.
ThecapstonewillonlyappealtothoseenrolledintheFederalRetirementsystem.The
websitemightmisleadsometobelievethatitissanctionedbythefederalgovernment.Itwillbe
importanttoavoidtrademarkedorcopyrightedproperties.Thesitehasdisclaimersatthebottom
ofthemainpagetoindicatethatthesiteisnotaffiliatedwiththefederalgovernment
Onlinecalculatorsaregreattoolstogetageneralideaforretirementamounts.Roughly45%of
workersjustguessattheirretirement(Helman,2013).Thecalculatorsareeasywaysforusersto
getafreebasicguidelineofwhattoexpect,theyshouldnothoweverrelyuponthistoolasthe
solesourceofadvice.Thereisanethicalobligationasacalculatortoadviseusersthatthey
shouldseekguidancefromafinancialadvisor.Afinancialadvisorwillbeabletohelpusersfar
beyondwhatacalculatorcando.Inordertokeepusersfromusingthetoolformorethanwhatit
wasintendedtherewillneedtobedisclaimersforuserstoseekoutsideadvice.
Ourcapstonemayunintentionallyneglectthosethatdonothaveregularaccessto
computers.ThisgroupofpeopleaccordingtheCouncilofEconomicAdvisersIssueBriefis
morelikelytobeHispanicorAfricanAmerican(MappingtheDigitalDivide,2015).Inorderto
limitthisimpactwewillhavetomakesurethatthesiteismobilefriendly,makingiteasierfor
thosewithoutinhomebroadbandtoaccess.
LegalConsideration
Thereissomeoverlapbetweenethicalandlegalconsiderations,suchasdisclaimersmentionedin
theethicalconsiderations.Weareusingphpbb3forourforumsoftwarethisislicensedunderthe
GNUGeneralPublicLicensev.2Thisallowsustousethesoftwareasweseefitaslongaswe
THEFERSCALCULATORANDFORUM
19
donotmodifyitorsalethesoftware.Thereissomelegalconsiderationthatwearerunningour
serveronanAmazonLinuximagethatisonlycompatibleonAmazonWebServicesthislimits
theoptionsoftheprogramgoingforward.
Timeline
Iteration
Date
4/225/6
Deliverables
1.)Completethelayoutdesignforthewebsite
2.)ObtainauniqueURL
3.)Establishahostedbackendserver
4.)Completethedescriptionpageofhowto
calculateretirementbyhand
5.)Completethelayoutoftheactualcalculator
5/65/20
1.)Getthecalculatorworkingwithhardcoded
values
2.)Createallbuttonsandlinks
3.)Createdisclaimerstatingwearenotaffiliated
withthegovernment
4.)Createdisclaimerthatthiswebsiteshouldnot
replacearetirementadvisor
5.)Applylayoutdesignstotheactualwebpage
5/206/3
1.)Completeallhelpbuttonsandthewindows
thatpopupwhentheyareclicked
2.)Getthecalculatorworkingwithuserentered
values
3.)Completeerrorcheckingofthecalculator
Donotallowthecalculatortostartuntilall
valuesareentered
THEFERSCALCULATORANDFORUM
20
Errorchecktomakesurevaluesareentered
correctly,forexamplenolettersinnumbers
sections
Compareanswersfromcalculatortoold
fashionednumberstomakesure
calculationsarecorrect.
4
1.)Sendcalculatortotestgroupon6/8,givethem
6/36/14
threedaystotest
2.)Gooverresultsfromtestgroup,makethe
changesnecessary
3.)Completefinaltouchesoflayoutandcalculator
4.)SubmitwebsiteforapprovaltoJonathonShu
by6/12
Figure1
Budget
Projected
DateRange Costs
Iteration
1
4/2205/06
Iteration
2
Actual
Costs
Budget
Difference
ManHrs
Planned
ManHrs
Worked
$15.00
$19.65
$4.65
50
55
05/06
05/20
50
60
Iteration
3
05/20
06/03
$0.50
$0.50
50
45
Iteration
4
06/03
06/14
$0.50.
$0.50
50
70
TotalBudget
TotalPlanned
Hrs
TotalWorked
Hrs
Figure2
$5.65
200
240
THEFERSCALCULATORANDFORUM
21
OurCapstonehadaninitialbudgetof$15.00,theactualbudgetendedupat$20.65.The
overagesamountedtoabout38%overbudget,thoughwithaninitialbudgetof$15.00dollarsit
doesnottakelargeamountofoverrunstogreatlyaffectthebudgetpercentage.
Ananalysisoftimespentindicateswehavegoneovertheallottedtimethatwehadplanned.
Thisprimarilycomesdowntogreatlyunderestimatingtheamountoftimespentdebuggingand
unittestingadditions.Moretimewasspenttestingandcorrectingthanactualprogramming.In
ordertolimittheoveragesstrategiescouldhavebeenimplementedinthecodingphasetoreduce
errorsbeforetheycroppedup.
FinalImplementation
Ourfinaldeliverableisourwebsite,
www.ferscalc.com
.Fromthewebsiteusershavethe
abilitytouseacompletelyaccuratecalculatortocalculatetheirmonthlyF.E.R.S.benefits.They
alsoareprovidedapagededicatedtoexplaininghowtheretirementsystemworksandhowthey
cancalculatetheirbenefitsthemselvesiftheywouldlike.Fromthewebsitetheusersalsohave
theoptiontocreateacompletelyfreeaccount.Theaccountgivestheuserstheabilitytosaveall
ofthecalculationstheyenteronthewebsite.Oncetheuserhassavedafewdifferent
calculations,ourwebsiteprovidesthemwithaViewPastCalculationspage.
Whensignedin,iftheusersgotothispage,allcalculationstheyhavesavedwillappear
inatableforthemtoreview.Belowthistableacoupleofstatisticsabouttheirsavedentriesis
displayedliketheiractualraiseamountandthepercentagetheirbenefitshaveraisedorlowered
sincetheystartedusingthecalculator.Theyalsohavetheabilitytodeleteanyoftheirsaved
entriesthattheymaynolongerwantsaved.Finally,thewebsitealsoincludesaforumdedicated
toconnectingallfederalemployeesandothersworkingundertheF.E.R.S.system.
THEFERSCALCULATORANDFORUM
22
AtthecenterofourprojectisTheCalculator.Thisisthefocalpointandindexpage
andthemostimportantpartoftheapplicationandcapstoneproject.Thebasicfunctionofthe
calculatoristoretrieveeightdifferentinputvaluesfromtheuserandthencalculateexpected
incomefromthosevalues.Thefollowingimageistheprojectasviewedfromadesktopbrowser.
Figure3
Thesamewebpagewhenviewedfromamobilebrowserdisplaysdifferently.Theitems
spreadouttoalloweasieraccessfortouchdevicesandsmallerscreens.Thefollowingscreenshot
isfromiPhone6Plus.
THEFERSCALCULATORANDFORUM
23
Figure4
Alsoofnotewhensmallerscreensandbrowsersareusedthemenubecomesaside
loadingmenu.Theseadjustmentstakeplacedependentuponthesizeofthescreen.Inorderto
implementthisfeaturewehaveutilizedbootstrap.Themostimportantlinesofcodeto
implementthisaretheimportsofthebootstrapJavaScriptandstylesheetfilesandsettingthe
viewport.
<linkhref="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css"rel="stylesheet"
type="text/css"/>
<scriptsrc="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<metaname="viewport"content="width=devicewidth,initialscale=1",maximumscale=1,
userscalable=no">
THEFERSCALCULATORANDFORUM
24
Throughouttherestoftheprojectbootstrapcomponentsareusedfordevelopingresponsive,
mobilefirstprojectsontheweb(getbootstrap.com,2016).UsingGooglesMobileFriendlytest
indicatesthatthewebapplicationismobilefriendly.
Figure5
Thecalculatorportionofthewebapplicationwastheprimaryfeature,soemphasishas
beenplacedonenablinguserstobeabletocalculatewithouthavingtosigninorcreatean
account.Thecalculatebuttoninitiatesthefollowingalgorithmtodeterminethefinalretirement
values.PleaserefertotheAppendix(calculatorcode)toseethefunction.
Duetothecomplexityofthisalgorithmyoucanseewhyitishardforsomefederal
employeestocalculatetheirretirement.Additionalhelpisprovidedtotheuserthroughtheuseof
popupmessagesthatoccuronhover
THEFERSCALCULATORANDFORUM
25
Figure6
Additionalfeaturesareavailabletousersiftheysignup.TheFERSCalcmakesuseofa
forummanagementsystem,phpbb,toruntheforum.ThisisrunningontheLinuxinstancethe
webserverisrunningon.Theforumdatabaseisintegratedwiththecalculatorcomponentsto
takeadvantageoftheforumsabilitytomanageuseraccounts.Tologinausermustauthenticate
withtheforumsessionmanagementthisisdonethroughthefollowingcode
<?php
$username=$_POST['username']
$password=$_POST['password']
define('IN_PHPBB',true)
$phpbb_root_path=(defined('PHPBB_ROOT_PATH'))?PHPBB_ROOT_PATH:'forum/'
$phpEx=substr(strrchr(__FILE__,'.'),1)
include_once($phpbb_root_path.'common.'.$phpEx)
//Startsessionmanagement
$user>session_begin()
$auth>acl($user>data)
$user>setup()
if($user>data['is_registered'])
{
echo"useralreadyloggedin"
}
THEFERSCALCULATORANDFORUM
26
else
{
$username=request_var('uname','')
$password=request_var('pword','')
$result=$auth>login($username,$password,'',1,0)
//print_r($result)
if($result['status']==LOGIN_SUCCESS)
{
echo'UserwassuccessfullyloggedintophpBB'
}
else
{
//nothing
}
}
Figure7
ThedataforthewebsiteisstoredinalocalMySQLdatabase.Thisisusedfortheforum
aswellasstoringandrecallingcalculator.Thefollowingcodeisanexampleofatransaction
withthedatabase:
$user>session_begin()
$auth>acl($user>data)
require_once'connection.php'
if($user>data['user_id']!=ANONYMOUS){
//echo$user>data['user_id']
$sql="SELECT*
FROMcalc_sessions
WHEREuser_id=".$user>data['user_id'].
"ORDERBY`calc_time`DESCLIMIT1"
$pastValue=array()
$result=$conn>query($sql)
if($result>num_rows>0){
//outputdataofeachrow
while($row=$result>fetch_assoc()){
$pastValue["calc_session"]=$row["calc_session_id"]
$pastValue["user_id"]=$row["user_id"]
$pastValue["curr_salary"]=$row["curr_salary"]
$pastValue["expected_increase"]=$row["expected_increase"]
$pastValue["curr_age"]=$row["curr_age"]
$pastValue["curr_total_years"]=$row["curr_total_years"]
$pastValue["retire_age"]=$row["retire_age"]
$pastValue["position"]=$row["position"]
$pastValue["thrift_plan"]=$row["thrift_plan"]
$pastValue["social_security"]=$row["social_security"]
$pastValue["final_years_worked"]=$row["final_years_worked"]
THEFERSCALCULATORANDFORUM
27
$pastValue["final_salary"]=$row["final_salary"]
$pastValue["final_high_three"]=$row["final_high_three"]
$pastValue["final_fers"]=$row["final_fers"]
$pastValue["final_social_security"]=$row["final_social_security"]
$pastValue["final_thrift"]=$row["final_thrift"]
$pastValue["final_total"]=$row["final_total"]
$pastValue["benefit_length"]=$row["benefit_length"]
}
}else{
//echo"0results"
}
$conn>close()
Figure8
Thecoderetrievesthemostrecentlysavedvaluebaseduponwhichuserisloggedin.
Thisinformationisautopopulatedtomakeiteasierfortheusertochangejustthevaluesthat
havechanged.
TheViewPastCalculationspageallowstheuserstoseealloftheirentriesandthe
statisticsaboutthem.Belowisapictureofthepagewithanentrychangedtoshowitwas
enteredthreeyearsago.Thiswasmadeinordertoshowhowthepageworks.
THEFERSCALCULATORANDFORUM
28
Figure9
Asyoucansee,alloftheentrieshavebeendisplayed.Belowthattableisanothertable
thatcalculateswhattheusersactuallysalaryincreaseshavebeen.Thetextmaybetoosmallto
read,buttheuserhadbeenmakingtheircalculationsbasedonanexpectedraiseof2%peryear.
Basedonthecalculationstheyhaveenteredoverthreeyearsthough,thecalculatorfoundtheir
actualraiseincreasewasanaverageof4.4%overthepastthreeyears.Resultslikethisgivethe
usertheopportunitytomakemoreaccuratecalculationssincetheyactuallyhaveanideaofwhat
theiraverageraiseis.Refertotheappendix,PastValuesFunctiontoseealittlebitofthecode
thatwasusedtocreatethispage.
Conclusion
TheF.E.R.Scalculatorwebapplicationhasfilledavoidinretirementcalculatortools.
Theneedforamodernfullyfeaturedmobilefriendlywebapplicationisrealizedbythesheer
THEFERSCALCULATORANDFORUM
29
amountoffederalemployees.Smartphonemarketsaturationwillcontinuetoincreasewhile
computerownershipwilldecrease.Thistrendshowstheimportanceofcateringtomobileusers
whilestillgivingafullexperiencetoallusers.
Wehavebuiltanwebapplicationthatmakesuseofthebootstrapframeworktohelp
managedifferentdisplays.Bootstrapdynamicallyadjustsscreenlayoutstomakeuser
experiencebetterandeliminatetheneedtozoominandout.PotentialusersoftheFederal
Retirementcalculatorarecuriousabouttheirretirementsotofacilitatethiscuriositywehave
implementedaforum.ThiswillhelpFederalemployeesgetabetterunderstandingoftheir
retirement.Withpropersearchengineoptimizationofoursitethereisnoreasontothinkthesite
cannotbethetoplistedretirementcalculator,whichwouldbringinfairlysteadytraffic.
Wehaveimplementedthisprojectoverthelast8weeksandbetweenthetwoofushave
spentover250hourstoimplementoursolution.WeusedanumberofSoftwareengineering
techniquesintheprocesssuchasagiledevelopment,peerreview,sourcecontroland
documentation.Thedifferenttechnologieswehaveusedhavebeenagoodculminationforthe
computerscienceprogram.Wehavehadtoworkonourcommunicationskills.Thecapstonehas
beenagoodopportunitytocrossthelinebetweenacademicandpracticalapplicationin
preparationforacareerinsoftwaredevelopment.
THEFERSCALCULATORANDFORUM
30
References
Adams,N.E.(2014).ClosingtheRetirementExpectations"Gap:"VariationsinDemographics,
SourcesofInformation,andtheImplicationsofa"BadGuess".
JournalOfFinancialService
Professionals
,5971.
Dyb,T.,&Dingsyr,T.(2008).Empiricalstudiesofagilesoftwaredevelopment:Asystematic
review.
InformationandSoftwareTechnology,50
(910),833859.
doi:10.1016/j.infsof.2008.01.006
getbootstrap.com
.(2016,June14).Retrievedfromgetbootstrap.com:
http://getbootstrap.com/
Helman,R.e.(2013).EBRIs2013RetirementConfidenceSurvey:PerceivedSavingsNeeds
OutpaceRealityforMany.
EBRIIssueBrief
MappingtheDigitalDivide.(2015,July).
CouncilofEconomicAdvisersIssuebrief
.Retrieved
fromhttps://www.whitehouse.gov/sites/default/files/wh_digital_divide_issue_brief.pdf
THEFERSCALCULATORANDFORUM
31
AppendixADivisionofLabor
Iteration
PhillipPowell
BrianCarlston
CompleteLayoutand
designofwebsite
obtainauniqueURL
CompleteLayoutand
designofwebsite
Obtainawebhosting
accountthroughAWS.
Completedsetupand
configurationoftheLAMP
stack
Createdtheshellofthe
FERSpage
Beganworkonthesave
entriesfunction
implementedaphpbb
forum
Applylayoutdesignsto
theactualwebpage
Createallbuttonsand
Beganworkonasignin
links
page
GetSQLtablesconnecting
towebsiteforlogins/log
layoutontheserver
Createdtheshellofthe
calculator
Beganworkonexplaining
outs
3
Completeallpopupsfor
helponthecalculator
Completedaworking
calculator
Updatedthelayouttobe
moremobilefriendly
Completeerrorchecking
ofthecalculator
Customizedphpbbforum
forourapplication
integrationofforumand
calculatorexternallogins
THEFERSCALCULATORANDFORUM
4
FinishedViewPast
Sendcalculatortotest
CalculationsPage
groupon6/9,gavethem
CreatedgetValues()
twodaystotest
functiontoreturnvaluesof
Wentoverresultsfrom
calculatorentriestothe
testgroup,madethe
website
changesnecessary
Sentcalculatortotest
groupon6/9,gavethemtwo
daystotest
Wentoverresultsfromtest
group,madethechanges
necessary
Figure10
32
THEFERSCALCULATORANDFORUM
AppendixBCode
CalculatorCodeFunction
varsal=$('input[id="salary"]').val()
varage=$('input[id="age"]').val()
varraises=$('input[id="raise"]').val()
varAmountRaise=parseFloat(raises)/100
varyears=$('input[id="years"]').val()
varretire=$('input[id="retireAge"]').val()
vartimeOfBenefits=$('input[id="lifeOfBenefits"]').val()
varthrift=$('input[id="tsp"]').val()
varss=$('input[id="socSec"]').val()
varmonths=parseInt(timeOfBenefits)*12
varyearsLeft=parseInt(retire)parseInt(age)
varyearsService=parseInt(yearsLeft)+parseInt(years)
varfinalSal=parseInt(sal)
varraiseAmount=0
varhigh3=0
varpercentage=0
varfersYear=0
varfers=0
varthriftBen=0
varsocialBen=0
vartotalBen=0
$('.yearsWorked').html(yearsService)
for(vari=0i<yearsLefti++)
{
if(i+3>=yearsLeft)
{
for(vara=0a<3a++)
{
raiseAmount=0
raiseAmount=parseFloat(finalSal)*parseFloat(AmountRaise)
finalSal=parseFloat(finalSal)+raiseAmount
high3=high3+finalSal
}
i=yearsLeft
}
else
{
raiseAmount=0
raiseAmount=parseFloat(finalSal)*parseFloat(AmountRaise)
finalSal=parseFloat(finalSal)+raiseAmount
}
}
high3=high3/3
percentage=parseFloat(yearsService)*.011
fersYear=parseFloat(high3)*parseFloat(percentage)
fers=parseFloat(fersYear)/12
thriftBen=parseFloat(thrift)/parseFloat(months)
33
THEFERSCALCULATORANDFORUM
socialBen=parseFloat(ss)/parseFloat(months)
totalBen=parseFloat(socialBen)+parseFloat(thriftBen)+parseFloat(fers)
finalSal=parseFloat(finalSal).toFixed(2)
high3=parseFloat(high3).toFixed(2)
fers=parseFloat(fers).toFixed(2)
socialBen=parseFloat(socialBen).toFixed(2)
thriftBen=parseFloat(thriftBen).toFixed(2)
totalBen=parseFloat(totalBen).toFixed(2)
$('.finalSalary').html("$"+finalSal)
$('.highThree').html("$"+high3)
$('.fers').html("$"+fers)
$('.security').html("$"+socialBen)
$('.thriftSavings').html("$"+thriftBen)
$('.totalRetire').html("$"+totalBen)
PastCalculationsFunction
<?php
$allValues=getValues($user>data['user_id'])
echo"<tablebordercollapse:collapse
tablelayout:fixedCELLPADDING=\"4\"
CELLSPACING=\"3\">"
echo"<tr>"
?>
<tdid="title"><strong>Date</strong></td>
<tdid="title"><strong>CurrentSalary</strong></td>
<tdid="title"><strong>ExpectedRaise</strong></td>
<tdid="title"><strong>PlannedRetirementAge</strong></td>
<tdid="title"><strong>ThriftSavingsPlan</strong></td>
<tdid="title"><strong>SocialSecurity</strong></td>
<tdid="title"><strong>BenefitsLength</strong></td>
<tdid="title"><strong>YearsWorked</strong></td>
<tdid="title"><strong>AmountFromFERS</strong></td>
<tdid="title"><strong>AmountFromSocialSecurity</strong></td>
<tdid="title"><strong>AmountFromThriftSavingsPlan</strong></td>
<tdid="title"><strong>TotalMonthlyRetirement</strong></td>
<tdid="title"><strong>DeleteEntry</strong></td>
<?php
$salary=array()
$dates=array()
$raises=array()
$thrifts=array()
$finalThrifts=array()
$socials=array()
$finalSocials=array()
echo"</tr>"
foreach($allValuesas$value){
$salary[]=$value['curr_salary']
$dates[]=$value['calc_time']
$raises[]=$value['expected_increase']
$thrifts[]=$value['thrift_plan']
34
THEFERSCALCULATORANDFORUM
$finalThrifts[]=$value['final_thrift']
$socials[]=$value['social_security']
$final_Socials[]=$value['final_social_security']
echo"<tr>"
echo"<td>"
echosubstr($value['calc_time'],0,9)
echo"</td>"
echo"<td>"
echo$value['curr_salary']
echo"</td>"
echo"<td>"
echo$value['expected_increase']
echo"</td>"
echo"<td>"
echo$value['retire_age']
echo"</td>"
echo"<td>"
echo$value['thrift_plan']
echo"</td>"
echo"<td>"
echo$value['social_security']
echo"</td>"
echo"<td>"
echo$value['benefit_length']
echo"</td>"
echo"<td>"
echo$value['final_years_worked']
echo"</td>"
echo"<td>"
echo$value['final_fers']
echo"</td>"
echo"<td>"
echo$value['final_social_security']
echo"</td>"
echo"<td>"
echo$value['final_thrift']
echo"</td>"
echo"<td>"
echo$value['final_total']
echo"</td>"
echo"<td>"
echo$salary[0]
echo"</td>"
?>
<?php
}
echo"</table>"
?>
35
THEFERSCALCULATORANDFORUM
36
AppendixCUsabilityTest
UsabilityTestQuestionnaireforfederalemployee(Figure11)
1.
Howlonghaveyoubeenafederalemployee?___________
2.
Haveyoucalculatedyourretirementbefore?
Yes
No
IfyeshowdoesthisCalculatorCompareintermsofdifficulty
Easy
3.
Difficult
Wouldyouusethistoolagainifyoursalarysituationchanged?
Yes
No
4.
Wereyouconfusedatanypointduringthetest?
Yes
No
Ifyeswhatdidyoufindconfusing?
____________________________________________________________
____________________________________________________________
5.
Whatdidyoudislikeaboutthewebsite?
____________________________________________________________
____________________________________________________________
6.
Whatdidyoulikeaboutit?
____________________________________________________________