assignment2ooWord文件下载.docx
- 文档编号:20088639
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:11
- 大小:372.83KB
assignment2ooWord文件下载.docx
《assignment2ooWord文件下载.docx》由会员分享,可在线阅读,更多相关《assignment2ooWord文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
1.2.2PropertiesoftheExistingKWICSystem4
1.2.3SourceCodeandDocumentation4
1.2.4TestData4
1.3StaticClassDiagram5
1.3.1WhatisaStaticClassDiagram?
5
1.3.2StaticClassDiagramoftheExistingSystem5
1.4DynamicSequenceDiagram8
1.4.1WhatisaDynamicSequenceDiagram?
8
1.4.2DynamicSequenceDiagramoftheExistingSystem8
1.5YourAssignment10
1.5.1ProgrammingAssignment10
1.5.2UnderstandingCheck10
1.6ModificationoftheExistingDataRepresentation11
1.7ModificationoftheExistingProcessingAlgorithm13
1.8Questions14
1.1Introduction
1.1.1DefinitionoftheProblem
TheKeyWordInContext(KWIC)problemisdefinedasfollows:
TheKWICindexsystemacceptsanorderedsetoflines;
eachlineisanorderedsetofwords,andeachwordisanorderedsetofcharacters.Anylinemaybecircularlyshiftedbyrepeatedlyremovingthefirstwordandappendingitattheendoftheline.TheKWICindexsystemoutputsalistingofallcircularshiftsofalllinesinalphabeticalorder.
1.1.2Example
Considerthefollowingsetoflines:
∙StarWars
∙TheEmpireStrikesBack
∙TheReturnoftheJedi
TheKWICindexsystemproducesthefollowingoutput(comparisoniscase-sensitive,thatiscapitallettersaregreaterthansmallletters):
∙BackTheEmpireStrikes
∙EmpireStrikesBackThe
∙JediTheReturnofthe
∙ReturnoftheJediThe
∙StrikesBackTheEmpire
∙WarsStar
∙oftheJediTheReturn
∙theJediTheReturnof
1.1.3Assignment2
ToaccomplishtheAssignment2,youneedfirsttogetacquaintedwiththeexistingKWICsystem.Afterthatyouneedtoextendthefunctionalityoftheexistingsystemtomeetthefollowingrequirements.Finally,youneedtoanswertothesethreequestions.
1.2TheExistingSystem
1.2.1Architecture
Thesolutionwithobject-orientedarchitecturalstyledecomposesthesystemintosixmodules:
∙LineStoragemodule,responsibleforholdingallcharactersfromallwordsandlines.
∙Inputmodule,responsibleforreadingthedatafromafileandstoringitinLineStoragemodule.
∙CircularShiftermodule,responsibleforproducingcircularshiftsoflinesstoredinLineStoragemodule.
∙Alphabetizermodule,responsibleforsortingcircularshiftsalphabetically.
∙Outputmodule,responsibleforprinitngthesortedshifts.
∙Mastercontrolmodule,responsibleforcontrolingthesequenceofmethodinvokationsinothermodules.
Contrarytothemain/subroutinesolution,intheobject-orientedsolutionthedataisnotsharedbetweenthecomputationalcomponents.Instead,eachmoduleprovidesaninterfacethatpermitsothercomponentstoaccessdataonlybyinvokingmethodsinthatinterface.Forexample,LineStoragemoduleprovidesthepublicinterfacethatallowsothermodulestosetcharacterinaparticularwordinaparticularline,readaspecificcharacter,read,setordeleteaparticularwordinaspecificline,readwholelineatonce,etc.
1.2.2PropertiesoftheExistingKWICSystem
SincetheexistingKWICsystemisanobject-orientedsystem,itcanbeeasilydescribedby:
∙ClassDiagram,depictingtheresultofstaticanalysisanddesignofthesystem.
∙SequenceDiagram,depictingthedynamicsofthesystem.
1.2.3SourceCodeandDocumentation
HereisthesourcecodeinJavafortheexistingKWICsystem,andtheautomaticallygeneratedjavadocdocumentationforthesystem.
1.2.4TestData
HereisasampleinputfilefortheKWICsystem.Please,savethefileonyourlocaldrive.SpecifythenameofthefileatthecommandlineasanargumnettotheKWICprogram.
1.3StaticClassDiagram
StaticclassdiagramistheresultofstaticanalysisanddesignoftheKWICproblemandproposedobject-orientedarchitecturalsolutionoftheproblem.Suchdiagramincludesthefollowinginformation:
∙Itdescribeshowmodulesfromtheoriginalarchitecturalsolutionmapsontoclassesfromanobject-orientedprogramminglanguage(Javainourcase).
∙Itdepictsthepublicinterfaceofeachidentifiedclass.(Sincewehaveanobject-orientedsystemhere,eachobjectofaclassfromthesystemencapsulatesitsdata.Thatmeansthatallinformationcontainedinanobjectofaparticularclassishiddenfromtheoutsideworld,i.e.otherobjectsinthesystemcannotaccessitdirectly.Tobestillabletomanipulatethedataofanobject,itsclassprovidesapublicinterface,i.e.,anumberofpublicmethods,whicharecalledbyotherobjects.)
∙Itdepictsinstancevariables(attributes)ofclasses,i.e.,datarepresentationfromeachclassisshowninthediagram.
∙Finally,thediagramshowshowclassesrelatetoeachother.Classrelationsareshownbymeansofso-calledassociations.
1.3.2StaticClassDiagramoftheExistingSystem
HereistheUML(UnifiedModelingLanguage)classdiagramofthecurrentsystem.
Hereisashortdescriptionofthediagram:
∙Eachmodulefromthearchitecturaldesignmapsexactlyontooneclass.Thus,thereexistKWICclass(MasterControlmodule),Inputclass,Outputclass,LineStorageclass,CicrularShifterclassandAlphabetizerclass.Eachclassisrepresentedasarectanglebox,havingthreehorizontallyarrangedsub-boxes.Thenameofeachclassiswritteninthetopsub-box.
∙Publicinterfaceofeachclassiswrittenintothebottomsub-box,asalistofmethoddeclarations.Theplus(+)signinfrontofamethodnamemeansthatthemethodisdefinedaspublicandmaybeinvokedbyobjectsofotherclasses.Theargumentlistiswrittenwithinparenthesis.Eachargumentisrepresentedwiththename,itstypeandthedirectioninwhichtheargumentispassed.Ifthereisnodirectionmodifierthatmeansthatthismethodtakesthisargument,andifthereisoutmodifierthatmeansthatthemethodreturnsthisargumentasareturnvaluetothecallingobject.Forexample,+getChar(outc:
char,position:
int,word:
int,line:
int)methodfromtheLineStorageclasstakesasargumentsthreeintegerevalues:
positionofthecharacter,indexoftheword,andindexoftheline,andreturnsthevalueofthatcharacter.
∙Instancevariables(attributes)ofaclassareshowninthemiddlesub-box.Theminus(-)signinfrontofaninstancevariablemeansthatthevariableisdefinedasprivateandmaynotbemanipulatedbyotherobjectsdirectly.Instead,thepublicinterfaceoftheclassshouldbeappliedtodoso.Thatiscompletelyinaccordancewithobject-orientedprinciplesofdataencapsulationandinformationhiding,discussedabove.Aftertheminussign,thenameandthetypeofaparticularinstancevariableareshown.Forexample,theLineStorageclasshasoneprivateinstancevariable:
lines_.ThisinstancevariableisoftypeArrayList,andholdsalistoflines.
∙Finally,wehaveanumberofassociationsbetweensomeoftheclasses.Anassociationmeansthatassociatedclasseshaveasinstancevariablestheobjectsoftheassociatedclass.Forexample,theAlphabetizerclasshasanassociationwiththeCircularShiftclass.ThatmeansthatanobjectoftheAlphabetizerclasshasasaninstancevariableanobjectoftheCircularShiftclass.ThisvariableisalsodepictedinthemiddleboxoftheAlphabetizerclass.Wecanspotthereshifter_variable,whichisoftypeCircularShifter.ThenumberingateachassociationendmeansthatexactlyoneobjectoftheAlphabetiterclassholdsexactlyoneobjectoftheCircularShifterclass.
1.4DynamicSequenceDiagram
Dynamic(interaction)diagramsdescribehowgroupofobjectscollaboratetoexecuteacertaintaskinarunningprogram.Inotherwordsthesediagramsshowgraphicallytheprocessingalgorithmanditsdynamicbehaviourinarunningsystem.Sequencediagramisaspecialtypeofdynamicdiagramsthatdescribesthetimesequenceofmethodinvokationsontherun-timeinthefollowingway:
∙Objectsareshownasboxesatthetopofthediagram.
∙Timeisrepresentedwiththeso-calledobject'
slifeline-verticallinebeneaththeobject'
sbox.Thetimeincreasesdownwardalongtheverticalobject'
slifeline.
∙Methodinvokationissimbolizedthroughahorizontallineconnectingtwoverticalobject'
slifelines.Thenameofthemethodiswrittenabovesuchhorizontalline.Obviously,horizontallineswhicharefurtherdownwarddsonanobject'
slifelineareinvokedlaterintimethanmethodsrepresentedashorizontallinesnearertothetopoftheobject'
∙Conditionsformethodinvokationanditerativemethodinvokationsmaybesimbolizedwithspecialsigns.Forexample,iterativemethodinvokationisdepictedwiththe*sign.
1.4.2DynamicSequenceDiagramoftheExistingSystem
HereistheUML(UnifiedModelingLanguage)sequencediagramofthecurrentsystem.
1.AnobjectoftheKWICclasscontrolsthewholeexecutionoftheprogram.Firstly,theKWICobjectinvokestheparsemethodofanobjectoftheInputclass.Thismethodtakesasargumentsthenameofthefilecontaininglines,andanobjectoftheLineStorageclasstostorethedata.
2.TheparsemethodoftheInputobjectreadsthedatafromthefile.ForeachlineinthatfileitcreatesanewlineintheLineStorageobjectbyinvokingtheaddEmptyLinemethodonthatobject.AfteranewlinehasbeencreatedtheInputobjectparsesthelineandaddsallwords(bymeansofaddWord),oneafteranotherintothenewline.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- assignment2oo