Upload
ledat
View
313
Download
16
Embed Size (px)
Citation preview
KatieCooley,JonathanWdowiasz,NicholasMcDonald
GHOSTRENTALCarService
CARRENTALPROJECT
1|G h o s t R e n t a l
TableofContents
1.Introduction.......................................................................21.1WhattheProblemis............................................................................................................2
1.2GoalsfortheProject.......................................................................................................2-3
1.3Stakeholders...................................................................................................................3-4
1.4MotivationfortheProject...................................................................................................5
1.5ProcessFlowPreview......................................................................................................5-6
2.AnalysisandDesign............................................................72.1PlanforRequirementsEngineering................................................................................7-9
2.2FunctionalRequirements............................................................................................10-13
2.3NonFunctionalRequirements....................................................................................13-17
2.4UseCases....................................................................................................................17-20
2.5Models........................................................................................................................21-22
3.ProjectPlan......................................................................233.1TaskDescription..........................................................................................................23-24
3.2TaskAssignment................................................................................................................25
3.3DeliverablesandMilestones..............................................................................................26
3.4ProjectSchedule.........................................................................................................26-27
4.Testing..............................................................................284.1FeaturestobeTested........................................................................................................28
4.2TestCases...................................................................................................................28-29
4.3TestingSchedule................................................................................................................29
TC
2|G h o s t R e n t a l
5.Conclusion........................................................................305.1TheProblemandSolution.................................................................................................30
5.2TheTeamandtheSEProcess.....................................................................................30-31
5.3EngagementofUmbrellaActivities...................................................................................31
5.4TheStakeholder’sthatBenefited......................................................................................32
5.5TheOrganization’sBenefits...............................................................................................32
6.UserManual.....................................................................336.1SoftwareDescription.........................................................................................................33
6.2HowtousetheSoftware............................................................................................33-34
6.3TroubleshootingCommonProblems..........................................................................34-36
3|G h o s t R e n t a l
Introduction
1.1WhattheProblemisAnewupandcomingcarrentalserviceiswishingtohaveauserinterfacethatwillallowtheir
customerstoviewthemodels,descriptionsandpricesofdifferentcarsavailable.Theuserhas
theabilitytoregisterandlogintotheWebAppandtracktheirrentalplan.TheWebAppwill
beresponsive,allowingforthecustomertoviewitonanydevice,fromtabletstomobile
phonesanddesktopcomputers.Theadministratorwillalsobeabletologinthroughthesame
formbuthavetheabilitytoadd/removenewcarrentals,changeprices,andsoon.Potential
customersshouldbeabletoviewallthecarsavailabletorentevenwithoutlogginginaswellas
rentwithouthavinganaccount,thoughtheoptionisprovideduponcheckout.
1.2GoalsfortheProjectThissoftware,called‘GhostRentalData’,willallowforthecompanytoaccesstheirdatabase
securelyandsafelyinauser-friendlyonlineenvironment.Allowingforthemtochangecar
informationwithease.ThesoftwarewillbeinsyncwiththeboththeWebApp,allowingfor
real-timeup-to-dateservicesfortheircustomers.
Bothregisteredandnon-registereduserswillbeabletosearchcarrentalsbyprice,model,
seatingandanyotherpotentialsearches.Theywillalsobeabletoselectandpayforthe
service.Theconsumerwouldchooseoncheckoutiftheywillcometopickupthecarofifthey
1.
4|G h o s t R e n t a l
wantthecartobebroughttothem.Thecompanywouldinstantlygetthatservicedemand
throughtheir24/7carrentalsupportbuiltdirectlyintothesoftwareandeitherreservethecar
forpickuporsendoutapickuptruckcarryingthenewrentalcartothedesiredlocationupon
timerequest.
ThereshouldbeaWebAppversionforthesoftwaretoconnectwithforthosewhowishfora
quickcarrentalservicer.TheWebAppwillberesponsivetoanydeviceusingit.Thisallowsfor
consumerstoaccesstheservicefromanysortofhardwaredevice:tablet,computer,mobile
devices,andsoon.Thesoftwareitselfwillbeavailableonallcomputerplatformsthatare
runninganyaspectofLinux,Windows7,Windows8,andMacoperatingsystems.
ThesoftwarewillalsobeeasilyavailabletoWindows10whenitcomesoutlaterintheyear.
Besides,computers,thesoftwarehasaminimalversionfortabletsforthoseworkingforthe
companytoeasilynavigatethroughcustomerorderswhentheyareontheroadorsimplyaway
fromthecomputer.Tabletsarenotrequiredforfullusethesoftwarehowever,incasethe
companyhasabudgetthatdoesnotallowforthem.Thecompatibilitywillstillbeavailable
whenevertheywishtoprovidetheiremployeeswiththemnonetheless.
1.3StakeholdersSeveraldifferenttypesofstakeholderscanbenotedwhenitcomestooursoftware.
Themostobviousarethosethatrequestedforthissoftware:theCEOandcompanyboard
members.Wemadenotetocriticaldetailsonwhatthecompanywants,howtheywantit,and
5|G h o s t R e n t a l
howitshouldbenefitboththemandtheirclients.Weplantokeepthemintheknow24/7,
keepingtheminformedonwhatisbeingplannedfortheirnewsoftware.Thisallowsforthe
CEOandboardmemberstobeawareofwhattheyaregettingfromtheirnewsoftware.
Anylocalordistrictmanagersarealsoinfluencedbythesoftware’sstability.Howeasythe
softwareisfortheemployeesinturnrepresentshowwellthemanagerisabletoguidethem
throughit.
Theemployeeswillalsobeaffectedbytheuseofthesoftware,itisnotonlytheirobligationto
learnthesoftware,butforustomakeiteasilylearnable.Inthiscasetherewillbedays
dedicatedtoteachingtheemployeeshowtorunthesoftwareforaneasynavigational
experience.Theirinputwillalsogointothetestingprocess,makingsureeverythingistotheir
likingandrunsefficientlyandeffectively.
Customersarealsovitalstakeholders,andwithamobile/webcarrentalservice,onecanfind
theconvenienceofobtainingacarwithcircumstancesrangingfromtheircurrentvehicle
breakingdowntoneedingameansoftransportduringvacation.Thisputsanextremetime
savingbenefitofthecustomerhavingtosearcharoundtoevenfindacarrentalbuilding.With
thecarrentalservice,theywillhelpyoulocatethestoreaswellaseventakethecartoyou,if
thecustomersochooses.
6|G h o s t R e n t a l
1.4MotivationfortheProjectWiththiscompanyinneedofabettersystem,wefeltitwasourobligationtohelpthemintheir
timeofneed.Todevelopsuchasystemthatwouldnotonlyeasetheburdenonthecompany’s
customers,butthecompanyitself.Ourteamhasanimmenseamountofknowledgewhenit
comestoproblemsolving,programming,andcommunication.Notonlywouldwestrivetogive
thecarrentalserviceeverythingtheydesired,butwewillcontinuetomakesurethesoftwareis
atitsverybestandbeyond.Eachoneofuswillalwaysandwillcontinuetogive100%andmore
tomakingthetransitionabreezeforthecarrentalservice.
OurdeveloperandteamleaderJonbringstotheprojectmassamountofwebprogramming.
Hisexpertisewillcoincidewithourvisualdesignerandprojectmanagerexpert,Katie,whom
hasexperiencewithdatabases,webprogramming,aswellasmobileprogramming.Also,having
multipleheadsworkingontheprogrammingabilitieshelpsinensuringnoerrorsare
implementedandeverysingledetailisputintoplace.Everythingiswrappeduptogetherwith
ourprojectrelationsexpertandco-managerNick.Withhisexperiencewithplanningand
monitoringtheteam,heensuresthatnostepismissedrightfromthedesignofthesoftwareto
testingandsoftwaremanagement.
1.5ProcessFlowPreviewForourprocessflow,weplanontakingtheiterativeroute,aswefindcommunicationessential
throughoutthedevelopmentprocess.Inordertoplanallaspectsoftheprojectindetail,we
feelthatcontactingthecarrentalserviceandhavingthoseinchargebeinthesameroomwhen
7|G h o s t R e n t a l
theplanningistakingplace.Itisourwayofdiscussingrequirementsanddevelopimportant
notesthatwillhelpinconstructingtheoverallfeelandidea.Themodelingprocessinitsown
rightwefeelisnotastarttofinishprocess.Therewillbetimesthatwemayhavetogobackto
certainportionswithinthemodelingactivitytoensureasufficientmodel.Wewishtomake
surethatifwemissanything,wedonotfigurethatoutintheconstructionstage.
Lastlywefindtheconstructionframeworkactivitytorequirecommunicationwiththecarrental
serviceaswell.Itwouldallowforustogetsmalltweaksoutofthewayaswellashaveakindof
testingprocessontheinteractionbetweentheconstructedelementsandthosethatwilluse
thesoftwaredirectly.Wefeelthatallowingfortheuserstoviewhowthesoftwareismadewill
easethetransitionduringthedeploymentstage.
8|G h o s t R e n t a l
AnalysisandDesign
2.1PlanforRequirementsEngineering
InceptionTask:
Thegoalforthebeginningistoidentifythebusinesscasecreatedbythestakeholders.Wewant
togetagrasponthemarkettheserentalcarsarefor,analysishowoftenthesoftwarewillbe
usedandtoensurethefinalproductcanhandlealloftherentalcompany'scustomers.These
arejustafewquestionsweaskedthestakeholders.Withthisinmind,wetookinto
considerationthattheCEOandcompanyemployeesmayhavedifferentviewpointsonwhothe
targetsconsumersare,asemployeesaremorelikelytohaveadirectcontactwiththemandthe
CEO’sresponsemaybeexpectations.Togetabasicunderstandingoftheproject,herewere
somemorequestionsweasked:
Whatarethebasicfunctions?(Whatdoyouwantthewebsiteandsoftwaretodo?-Whattasks/problems
istheproductsupposedtoaccomplish?)
Whatsortofcustomersareyoutargetingwiththisnewwebsite?(Whoisgoingtouseit?)
Canyoushowustheenvironmentwherethissoftwarewillbeimplemented?
Willtherebeanyissuesorconstraintsthatmayaffecttheplanningandconstruction?
Arethereanyotherpeopleyousuggestweaskthesequestionsto?
Isthereanythingelseyouwanttoadd?
ElicitationTask:
2.
9|G h o s t R e n t a l
Ourgoalatthisstageistoidentifytheproblem,proposesolutions,andtalkamongsteachother
onthemanydifferentapproaches.Meetingsarescheduledwiththesoftwareengineeringteam
andthestakeholdersinordertogetamorerefinedunderstanding.Theplanistogeta
groundedideaofwhattheobjectivesforthesystemare,whatshouldbeaccomplished,and
howtheoverallsystemfitsintothecarrentalbusiness.Overall,listswillbecreatedto
understandwhothestakeholdersthattookpartwere,descriptionsofthetechnical
environment,usagescenariosandalistofrequirementswerecreatedatthistime.
ElaborationTask:
Informationgatheredfromtheinceptionandelicitationstagearegroupedtogetherandrefined
duringthisstage.Amodelisconductedthatclearlyportraysthenumerousconditionsofthe
softwarefunctionandbehavior.Scenarioswerecreatedtodescribeandaidinunderstanding
howthecustomerwillinteractwiththewebsiteandhowtheemployeeswillinteractwiththe
software.Anyattributesaretobedefinedaswellashoweachfunctioninteractswithone
another.
NegotiationTask:
Withanyconflictthatwouldcomeupinneedofaresolution,theteamandthestakeholders
woulddiscussthemthroughtocomeupwitharesolution.Iftherearetoomanyrequirements
askedbythestakeholders,wewouldhavethemrankeachbytheirimportance.Anythingthat
turnsouttobethebottomrequirementsbyall,ifnotmostofthestakeholdersmayhavetobe
omittedtosavetimeandmoney.
10|G h o s t R e n t a l
SpecificationTask:
Duringthistask,weplantocreateasoftwarerequirementsspecificationtemplate.Inthis
templatewewillnotedowntheoverallpurposeoftheprojectandtheintendedaudience.
Descriptionsregardingtheproductfeatures,userclasses/characteristics,operating
environmentanddesignwillbeincluded.Alsoincludedaresafetyandsecurityrequirements,
qualityattributes,andwhatinterfacesaretobeusedwiththissoftware.Alongwiththiswritten
document,a‘mockup’or‘prototype’willbecreatedtogetavisualoutlookontheproject.
ValidationTask:
Duringthisstage,anyrequirementsstatedaretobeensurethattheyareclearlydefined.No
miss-interpretationshouldbepresentandanythatexistshouldberesolved.Allandany
sourcesorstakeholdersusedintheprojectplanningshouldbeprovedlegitimateandtheir
inputis100%validforuse.Alltherequirementsshouldbecongruentwiththeoverall
objectivesandcanbeeasilyunderstood.Anyhard-to-understandphrasesshouldberewritten
anddiscussedoverwithagainwiththestakeholdersandteammembers.
RequirementsManagement:
Anychangesthatmayoccurthroughouttheprojectstagesshouldbehandledwithclarityand
care.Anypotentialchangeswouldbelookedover,discussedanddeterminedifthetime
allottedfortheconstructionoftheprojectcanallowforsuchachange-thatisifitisagreed
uponbythestakeholdersandsoftwareengineeringteam.RequirementsManagementwill
11|G h o s t R e n t a l
occurthroughouttheprojectprocessflowaschangesoralterationscanoccurunderany
circumstances.
2.2FunctionalRequirements
HardwareRequirements:
Thesoftwareshouldberanonanysortofdesktoporlaptopenvironment,regardlessofthe
operatingsystem.Thesoftwarealsohasthepotentialofrunningontablets,butwithamore
simplifiedversion.Essentialinput/outputdevicesarekeyboards,mouse,andprinters;nothing
elseisrequiredbutcanberecommendedifdesired.
WebsiteInterface-PrimaryTasks:
● Viewallavailablerentalcars
○ ConnectswiththedatabasethroughJavaScripttocallallcarobjectsanddisplay
themaccordingly
● Searchfordesiredcarbymodel,seatingcapacity,andcost
○ Asearchbarwillbeimplementedonthewebsitethatwillsearchthesitebased
ontheinput
● Selecttheirdesiredrentalcar
○ Abuttonwillbedisplayedundertherentalcarpreviewsthatwillallowforthe
selection
● Allowforregistration
○ registrationdisplayform
12|G h o s t R e n t a l
● Allowthecustomertologin
○ logindisplayform
● Allowadministratorstochangewhatcarsareavailableforrent
○ Administratorswillloginthroughthelogindisplayformsuchascustomers
would,butwouldhaveadifferentlookinginterfacetoallowforthemtoaddand
removeoptions.
WebsiteInterface-SecondaryTasks:
● Allowforrentcancellationbycustomer
○ Onlyforuserswhoareregistered,therewerebeacancelbuttononthedisplay
pagethatshowsallrentspresentbycustomer
● Allowtheuserselectandprovideapaymenttype
○ Displayform-withoptionsfortypicalcardinformation-type,number,codeon
back,month,yearetc.
● Authenticateanyuserloggingin
○ communicateswiththedatabasetoverifytheinputtedusernameandpassword
iscorrect
● Authenticateanyformofpayment
○ communicateswithverifierstoconfirmtheinputinformationonthecardis
correct
● Calculatetaxrates,customertotals
13|G h o s t R e n t a l
○ algorithmsimplementedwithinthecodethatwillcalculatealltotals‘behindthe
scenes’
● Sendanemailtoverifyaregistration
○ Onceacustomerregistersandclickthecompleteregistrationbutton,anemail
willbesenttotheemailthecustomerprovided,providedalinkintheemailthat
willallowforaverificationthatthisisthesaid-customer.
● Displayatransactionsummary/emailasummary
○ aftercustomersubmitstheirpaymentanditisconfirmedclient-side,a
transactionsummarywilldisplayonthewebsiteandacopywillbeemailedto
thecustomer
● Selectdateofdesireddelivery(&choosedeliverydestination),ordateofplannedpick-
upatneareststorelocation
○ Calendaroptionswillbedisplayedthatwillallowtheusertoselectdirectlyon
thecalendars-iftheywantitassoonaspossible,therewillbeacheckboxfor
thatoption
● Selectlengthofrentalandplanneddrop-offdate
○ Calendaroptionsaswell
● Storecustomerinformationinthedatabase
○ Whenregistering,thecustomerwillprovidetheirinformationintheform-this
informationwillbesentsecurelysentandstoredinthedatabase
Company-sideSoftware-PrimaryTasks:
14|G h o s t R e n t a l
● Allowcompanyworkerstoopenandviewcustomerinformation
○ navigationoptionthatwillallowforsearchofcustomerbynameorrentalcar
○ implementationofsearchbar
● Trackcustomerpayments
○ displayswiththecustomer’sinformation
● Keepanddisplayavailablerentalcarrecords(fordamagespurposesandsuch)
○ Searchingandviewingmuchlikewithcustomers
Company-sideSoftware-SecondaryTasks:
● Printinvoice
○ ifprintoptionisselected,aprintableversionofthepagebeingviewedbythe
workerwilldisplaywithaconfirmprintbuttontoselectedprinter
● Calculatetotalofalltransactions
○ algorithmsbehindthescenes
● Allowforrentcancellationbycompanyworker
○ abuttonwillcancelarentrequestbyacustomer
2.3NonFunctionalRequirements
PerformanceRequirements:
● Abilitytomaintainmassamountofcustomersonthewebsiteatoncewithoutcrashing
● Speedyperformance/transmissionofdata
● Sendanyemailsimmediately
15|G h o s t R e n t a l
● Beingloggedinshouldallowforcustomerstoquicklymakepaymentswithout
reenteringinformation,andallowforanypotentialregisteredperksthecompanymay
have
● Haveaquickrecoverytimeifanythingweretogowrong
● Displayaccuratelyandefficientlyonalldevices(responsiveview)
SecurityRequirements:
● Secureanytransmissionsofprivateinformationbetweenthecustomerandthe
company
● PreventanypotentialthreatssuchasSQLinjectionsthroughtheformsorsearchboxes.
● Preventthirdpartyusersatadministrationlevel
● Verifywebsitesecuritycertificates(thatlockintheaddressbar)
● Preventfalseinformationfrombeingusedaspayment
● Preventfalseemailinputsfrombeingusedwhenregistering
QualityAttributes:
● Maintainauserfriendlyenvironmentthatisvisuallyappealing
● Easytoseeandusenavigation
● Maintainreadablecontent
● Searchingcarsshouldbeaccessibletopeoplewhoareandarenotloggedin
● Selectingandmakingapaymentshouldbeavailabletocustomerswhoareandarenot
loggedin
16|G h o s t R e n t a l
ScreenshotMockups:
17|G h o s t R e n t a l
18|G h o s t R e n t a l
2.4UseCases
UseCase#1:CheckingCarStatus
PrimaryActor:CarRenter
GoalinContext:ToseeifcarrentalisonroutetoCarRenter
Preconditions:CarRenterhasmadearentalinthepastandisnearingthetimethatthecar
shouldbedeliveredtothecarrenter
Trigger:TheCarRenterknowsthecurrentinformationofwherehis/hercarisat.
Scenario:
19|G h o s t R e n t a l
1. CarRenter:LogsontoCarRentalservicesite(EntersUsername/Password)
2. CarRenter:Selects“MyCarRental”onwebsite.
3. CarRenter:Selects“CarStatus”onwebsite.
4. CarRenter:Observesstatusofcartoknowcurrentinformationoncar.
Exceptions:
1. CarRentalserviceUsername/Passwordincorrect:CarRenterissenttomainpagetore-
entercredentials
2. Passwordisnotrecognized:E-mailissenttoCarRenterscurrentE-mailandpromptto
enternewpassword
3. “CarStatus”isunavailable:CarRenterisprompttocallCarRentalServiceforfurther
detailsonCarStatus.
Priority:Essential,mustbeimplemented
Whenavailable:Firstincrement
Frequencyofuse:Coupletimesperday/week
Channeltoactor:CarRentalWebsite
SecondaryActors:CarRentalCustomerService
ChannelstoSecondaryActors:
1. CustomerService:Phoneline/Onlinechatsupport
2. AutomatedE-mail:SenttoCarRentersE-mailforstatusrequest
OpenIssues:
1. ShouldtherebeanoptiontooptoutoftheCarRentalonthedayoftheCarRental
date?
20|G h o s t R e n t a l
2. ShouldtheCarRenterhaveanoptiontochangewhatcarhe/shewantsafterconfirming
whatcartheydecidedon(i.e.:goingfromastockmodeltoluxury)?
3. HowmuchtimedoestheCarRenterhaveontheiraccountbeforeanamountoftime
haspassedbeforethesystemautomaticallylogsthemoutduetoinactivity?
UseCase#2:ChangeCarRentalDate
PrimaryActor:CarRenter
GoalinContext:TochangedateofwhenCarRenterwantscar
Preconditions:CarRenterhasmadearentalandwishestochangedateofcarrental
Trigger:CarRenterhasswitchthedateofwhenCarisbeingrentedon
Scenario:
1. CarRenterLogsontoCarRentalservicesite(EntersUsername/Password)
2. CarRenterSelects“MyCarRental”onwebsite.
3. CarRenterSelects“CarRental”onwebsite.
4. CarRenterSelects“ChangeDate”onwebsite.
5. CarRenterispromptonwebsitetoselectnewdateforcarrental
6. CarRenterselectsnewdateforcarrentalandacceptsthenewdate
7. CarRenterisprompttoenter“password”senttohis/herE-mailtovalidatetheswitch
8. CarRenterenters“password”andseesthenewdateforthecarrental
21|G h o s t R e n t a l
Exceptions:
1. CarRenterdeniedrequest,CarRentaldateistooclosetoactualdateoftherental,
cannotmakechange.
2. CarRentersubmitswrong“password”;isprompttore-enterotherwisethedatewillnot
bechanged
3. CarRenterencounterserroronacceptingnewdate;isprompttocallCustomerservice
andtalktorepresentativeaboutissue.
4. CarRenterenterswrongdateandacceptschanges;isprompttocallCustomerservice
andtalktorepresentativeaboutissue
Priority:Essential,mustbeimplemented
Whenavailable:Firstincrement
Frequencyofuse:OnceperquartertoRegisteredMembers
Channeltoactor:CarRentalWebsite
SecondaryActors:CarRentalCustomerService
ChannelstoSecondaryActors:
1. CustomerService:Phoneline
OpenIssues:
1. HowmanytimescanaCarRentalmemberrequestthisserviceinagivenperiodoftime?
2. ShouldtheCarRentalmemberbechargedextraforaconveniencefeeforusingthis
service?
3. HowmuchtimedoestheCarRentalmemberhavebeforethisoptionisvoidtohim/her?
22|G h o s t R e n t a l
2.5Models
23|G h o s t R e n t a l
24|G h o s t R e n t a l
ProjectPlan
3.1TaskDescriptions
StakeholderMeetings
Thestakeholdersandthesoftwareengineeringteamconductsmeetingsinordertogetthefull
graspoftheproblemathand,obtaininganyandallinformationneeded.Conflictsand
negotiationswouldbeconductedduringthistimeandanytimethroughouttheprojectprocess
flow.
DesignModelsandMockups
Designingthemodelsandmockupshelptoensureclarityinviewoftheprojectaswellashowit
works.Stakeholdersaretositthroughthisprocessasdrawingsarecreated.
DatabaseCreation
Adatabaseiscreatedusingthemodelstoprovidestorageforcustomerinformation,vehicle
information,andpaymentreports.Testingofthedatabaseisensuredatthispoint.
EmployeeSoftwareCreation
ThesoftwarethatistobeusedbytheemployeeswillbedesignedusingVisualBasicusingthe
guideofthemockups,requirements,andmodels.Thesoftwarewillactasasimpleandeasyto
3.
25|G h o s t R e n t a l
understanduserinterfaceto‘browse’andamongotherfunctionsthedatabase-the
informationstoredincludingcustomerinformation,vehicleinformation,andpaymentreports.
WebsiteCreation
ThewebsitewillbedesignedusingRubyonRailsprogramminglanguageusingtheguideofthe
mockups,requirements,andmodels.Thewebsitewillbeimplementedusinghigh-quality
designtechniques.Itshouldallowforuserstoimmediatelyseetherentalcarsthatare
available.Theycanalsohavetheabilitytosearchforacertainvehicletheydesire.Oncethey
selecttheycanregisterorlogintostoreanyprivateinformationtheyareabouttogivetothe
companyinordertoobtaintheirvehicle,althoughregisteringisnotrequired.
Testing
Testingwillbeimplementedonboththewebsiteandsoftware.Testcasesmaybeusedto
guideandunderstandthebasicactionsofbothcustomersandemployees.Anybugsorerrors
thatoccurwillbeidentifiedandresolved.
FinalizationandReports
Alltestingandfunctionprocessesarefinalizedatthisstage.Reportswillbecreatedtoensure
allinformationandfunctionalityisclearinordertomaketheusermanualandtohelpensure
employeescanusethesoftwarewithease.
26|G h o s t R e n t a l
3.2TaskAssignment
Assignmentsweredistributedevenlyamongthegroupassignedtotheproject.Allthreeworked
togetherintheprojectplanning,sharingintheopportunityofanymodelsandanalyzingall
specificationsmadebytheproprietor.
KatiewasgiventheobjectivesofbuildingtheinterfaceofthewebpageusingRubyonRails,
PHP,andJavaScript.Shecreatedtheinteractionbetweenthewebpageandthedatabasethat
willbeheldbythecompany.Thesoftwarewillalsoconnectwiththedatabase.
Nickcreatedtheusecasesthatwillbeusedasaguideforthetestingprocess.Healsotalkedto
thestakeholderstogatherinformationfortheprojectplanningprocess.Hisworkcoincided
withKatieinordertogetallfieldsfromhisdiagramsimplementedintothedatabase.
JonwasgiventhetasksofcreatingthesoftwareforthecompanytouseusingVisualBasic.He
wasalsogiventheobjectivetotestallaspectsoftheboththewebpageandthesoftware.His
findingswerereportedtoeachpersoninthegroupanddiscussionsweremadeonhowtofix
them.
Reportswerecreatedthroughouttheprocessbyallthreegroupmembersandgatheredto
accuratelyandsufficientlycreatethisfinalreport.
27|G h o s t R e n t a l
3.3DeliverablesandMilestones
WehadfourmajorMilestonesinthisproject:
1. CompletionofRequirementsGathering.
2. CompletionofDesignandcode.
3. CompletionofTesting.
4. CompletionofDemonstration.
ThesemilestoneswereallcompletedonscheduleandyieldedaDeliverableattheendofeach.
Ourfourcorrespondingdeliverables(respectively)inthisprojectwereasfollows:
1. Acompletedlistofallstakeholdersneedstobemet.
2. AfinishedandeasilynavigationalGUI(Graphicaluserinterface).
3. Aclean“billofhealth”foroursoftware.
4. Satisfiedstakeholdersandcustomersafterdemonstrationandlaunchofsoftware.
3.4ProjectSchedule
Thefirstmonthoftheprojectstartdate(April)wasusedmainlyforrequirementssettingand
Intelgathering.Thistook(overthecourseoffourweeks)roughly37manhours.Throughthe
lasttwoweeksofAprilandpartofMay,wewereabletobegindesigning,whichtook52hours.
Aroundthesametime,testingbeganandcontinuedthroughouttheremainderoftheproject.
Thistotaltimewasabout70hours.Wethenwroteouttheusermanual,andgaveafinalreport
ofthesoftware.Thetimethistookwasabout40hours.Wethenhadaminorperiodfor
28|G h o s t R e n t a l
demonstrationandfinaladjustmentswhichtotaled10hours.Wefinishedtheprojectinlate
July.Thepercentagebreakdownwasasfollows:
Requirements:37hours-17.71%
Designandcode:52hours-24.88%
Testing:70hours-33.49%
ManualandFinalReport:40hours-19.14%
DemonstrationandAdjustments:10hours-4.78%
Total:209hours-100%
29|G h o s t R e n t a l
Testing
4.1Featurestobetested
Wewillstartbyusingbothstaticanddynamictestingstrategies.Thestaticstrategieswill
includereviewingthebasicsoftheapplicationwhereasthedynamictestingisbasedonactual
codeexecution.
Thefeatureswetestedwereasfollows:
● Toensurethattheapplicationitselfran(Dynamic)
● log-insworkedefficientlyandconsistently(Dynamic)
● accessingthewebappfrommultipleplatformstoensurecrosscompatibility(Dynamic)
● checkingpageloadtime(Dynamic)
4.2TestCases
Thefollowingareexamplesoftestcasesweimplemented:
• Dropdownfieldsshouldhavefirstentryasblankortextlike‘Select’
• Amountvaluesshouldbedisplayedwithcorrectcurrencysymbols
• GraphicalUserInterface
• Allfieldsonpage(e.g.textbox,radiooptions,dropdownlists)shouldbealigned
properly
• Uponclickofanyinputtextfield,mousearrowpointershouldgetchangedtocursor
4.
30|G h o s t R e n t a l
• Checkallpagesforbrokenimages
• Checkallpagesforbrokenlinks
4.3TestingSchedule
Thetestingshouldbeginrightaftertheprojectitselfbegins.Keepingupontestingwillensure
thatanymistakesarecaughtearlyandcorrectedimmediately.
31|G h o s t R e n t a l
Conclusion
5.1TheProblemandSolution
TheproblemthatundergoforGhostRentalwasalackofrealtimecarrentingfortheir
customers.Theywantedawebsitethatwouldallowforuserstopurchasetheirservicewith
easeandadmiration.Customersshouldhavebeenabletorentandviewvehicleswithor
withoutloggingintothesystem.Requestsshouldbetransferreddirectlyintothedatabaseand
displayedonthesoftwarewithinthecompanybuildingtoallowforaproperresponseand
reviewtocommence.
ThesolutionwastoprovideGhostRentalwithanuser-friendlywebapplicationthatwould
allowforcustomerstoaccessanduseonawiderangeofdevices:desktops,laptops,mobile
devices,tablets.Thewebsiteisdesignedtostayuptodatebygivingadministratorstheability
tochange/add/removeanyfeaturedvehiclesonthesite.Thewebsitewillverifyandstoreany
informationtheusermayinputwhenmakingarentalpurchaserequest.Thiswillappearinreal
timeontothesoftwareusedbytheemployees.Thissoftwareprovidesaneasy-to-useinterface
toallowforsimpleaccesstorentalrequestsandcustomerinformation.
5.2TheTeamandtheSEProcess
5.
32|G h o s t R e n t a l
TheSoftwareEngineeringprocessweusedwasthespiralmethod.Inthismethod,westartin
themiddleofthemodel,andspiraloutward,allowingalldepartmentsworkingonthesoftware
tobeanactivepartofeveryaspectoftheengineering.Eachindividualdepartmentwillbeable
toworkandtestduringtheconceptdevelopment,systemdevelopment,systemenhancement,
andsystemmaintenancephasesofdevelopment.
5.3EngagementofUmbrellaActivities
FourofthemainUmbrellaactivitiesweusedwereasfollows:
1. SoftwareProjectManagement-Whichwasusedtoleadtheprojectandensurethatthe
projectwascontrolled,monitored,andonschedule.
2. FormaltechnicalReviews-Thisactivitywasessentiallyimplementedforpeerreview.
Havingnewandfresheyestoviewcodeandensurethateverythingmetthe
requirements.
3. ReusabilityManagement-Thisactivitywasusedtohelpuscreateflexibleandgeneric
assetsthatmaybereusedforfutureprojectsorforthisprojectinotherregions.This
wouldcutdownoncostandhelpwithconsistency.
4. RiskManagement-Thisactivitywasusedtoassessandidentifypotentialriskswith
creatingthesoftwaresuchasassuringthatnottoomuchmoneybespentinassetson
theproject.
33|G h o s t R e n t a l
5.4TheStakeholdersthatBenefited
Afterreleaseoftheproduct,allofouractivestakeholdersbenefitedfromthesoftware.Thislist
includesbutisnotlimitedto;thecompanyshareholders,thecustomers,theproject
developmentteam,uppermanagement,linemanagers,consultants,andmanymore.
5.5TheOrganization'sBenefits
OurOrganizationbenefittedgreatlyfromtheproductionofthissoftware.Alongwithahefty
pay-day,wehavebuiltareportwiththiscompanyandexpectfutureprojectstobeassignedto
ourcompany.Aswellasareportwiththisbusiness,wordofoursoftwarewilltravel,and
typicallyforacarrentalagency,theydealalotwithhighclassbusinessmen.Ifthesehighclass
businessmengettoseeoursoftwareinaction,wewillmorethanlikelyreceivefuturejoboffers
fromothercompaniesaswell.
34|G h o s t R e n t a l
UserManual
6.1SoftwareDescription
Thewebapplicationwillallowforcustomerstoviewvehiclescurrentlyforrenteitherby
browsingorsearchingdirectly.Thecustomercanregistertosaveanyinformationtheymay
inputduringthepayment/checkoutprocessortheycanlogintouseanypreviousinformation
theyprovidedwiththecompanyalready.
Thesoftwarethecompanyemployeeswillusewillbeauserinterfacetoview,editandmodify
thecustomerinformation,customerrequests,payments,andvehicleinformation.Therewillbe
anoticesectionfortheemployeetobenotifiedinreal-timeofanyrecentpurchasesand
whethertheyneedimmediateaction.Theyemployeewillalsohavetheabilitytosearch
customerandvehicleinformationaswellasprintoutanyreportsthatmaybenecessary.
6.2HowtoUsetheSoftware
Thewebapplicationdesignedforthecustomersofthecarrentalserviceshouldseethemain
pageuponenteringtheURLintotheaddressbar.Theretheycanseethefeaturesand
promotedvehiclesupforrentaswellasclearlyidentifythesearchoptions.Uponsearchingand
clickingavehicle,theywouldbedirectedtoapagewithmoredescriptiononthevehicle
considerationforrental.Itisatthispagetheusercanclickthebuttontorentthevehicleand
6.
35|G h o s t R e n t a l
havetheoptiontoregister(tosavetheinformationtheyplantoinput)orlogin(useprevious
informationusedbeforewiththecompany).Theuserwillinputcardinformationwhichwillbe
securelytransferredandverifiedbythecompanyandtheprocessingwillbeginonthe
company’send.
Thesoftwarewhenopenedwillbesplitintotwomainsections:theactivereal-timecustomer
processingthattheemployeeisassignedto,andthesearching/browsingsection.Thereal-time
sectionwillhavealertsthattheemployeecanclicktoviewindetailonwhencustomersthat
havesuccessfullychecked-outneedtheirvehiclesandhow(whetheritbepickupordelivery).
Thesearching/browsingsectionissubdividedintothreemainsections:totalpaymentreports,
customerinformation,andvehicleinformation.Whenthesectionisclicked.Thecustomerwill
betakentoanew‘page’withamoredetailedreportofwhattheyaresearching.Reportsmay
notbemodified,onlyprintedandsearchforspecificpayments.Customerinformationand
vehicleinformationcanbemodifiedhowever,witheditbuttonsnexttoeachsubsection
(description,name,etc.).Customerpaymentwillbeproperlyhiddenacceptforthelastfour
digitsofthecardusedforpayment.
6.3TroubleshootingCommonProblems
TheWebsite
Problem:Loadingincorrectly/SessionhasTimedOut
● Makesureyourinternetisworkingproperly.Youmayneedtorestartyourrouter.Refer
toyourrouter’susermanualtoaccomplishthistask.
36|G h o s t R e n t a l
● Clearyourbrowser’scacheandre-launchthebrowser.
Problem:InvalidLogin
● Thecredentialsusedtologinwasnotfoundinthedatabase,inputthecredentialsagain
incaseofmistype
● Ifinvalidloginpersists,pursuethelostpasswordoptiontoobtainanewpassword.If
error‘emailnotregistered’Pleaseattempttoregisterinsteadwiththeemail.
Problem:PageNotFound
● MakesureyouhaveenteredtheURLcorrectly.
● IftheURLiscorrect,contactthecompanythroughtelephoneoremailtoreportthe
missinglink.
TheSoftware
Problem:Customerrequestsforvehiclesarebeingdelayedbyasignificantamount
● Makesuretheinternetisworkingproperly,mostofthetimethecaseistheinternet
connectioneitherusedbythecompanyorthecustomerthemselves.
● Iftheproblempersists,contactsomeoneofhigherauthoritywhocanverifyiftheserver
ishavingdowntimeissues.Itmayneedtobewaitedoutbeforetheproblemcan
continue.Emailswillbeautomaticallysenttocustomerswithin15minutesoftheinitial
rentalrequestaboutthedelayifanemployeedoesnotrespondtoitintime.
37|G h o s t R e n t a l
Problem:Customer/VehicleNotFound
● Uponsearchingthroughthesoftware,thismeansthatthecustomerorvehicleisnot
currentlyinthedatabaseormayhavebeenremoved.Reviewrecentchangestothe
databasebythecompanytoseeifanychangeshadoccurred.
● Contactsomeoneofhigherstatustoverifythatthecustomerorvehicleisnotinthe
databaseifyoususpecttheyshouldbewhennorecentchangescomeup.