Vous êtes sur la page 1sur 36

Runninghead:THEFERSCALCULATORANDFORUM

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?
____________________________________________________________

Vous aimerez peut-être aussi