中英文翻译系统的分析与设计.doc
SystemsAnalysisandDesignWorkingundercontrolofastoredprogram,acomputerprocessesdataintoinformation.Thinkaboutthatdefinitionforaminute.Anygivencomputerapplicationinvolvesatleastthreecomponents:hardware,software,anddata.Merelywritingaprogramisntenough;becausetheprogramisbutonecomponentinasystem.Asystemisagroupofcomponentsthatworktogethertoaccomplishanobjective.Forexample,considerapayrollsystem.Itsobjectiveispayingemployees.Whatcomponentsareinvolved?Eachday,employeesrecordtheirhoursworkedontimecards.Attheendofeachweek,thetimecardsarecollectedanddeliveredtothecomputercenter,wheretheyarereadintoapayrollprogram.Asitruns,theprogramaccessesdatafiles.Finally,thepaychecksareprintedanddistributed.Forthesystemtowork,people,procedures,inputandoutputmedia,files,hardware,andsoftwaremustbecarefullycoordinated.Notethattheprogramisbutonecomponentinasystem.Computer-basedsystemsaredevelopedbecausepeopleneedinformation.Thosepeople,calledusers,generallyknowwhatisrequired,butmaylacktheexpertisetoobtainit.Technicalprofessionals,suchasprogrammers,havetheexpertise,butmaylacktrainingintheusersfield.Tocomplicatematters,usersandprogrammersoftenseemtospeakdifferentlanguages,leadingtocommunicationproblems.Asystemsanalystisaprofessionalwhotranslatesuserneedsintotechnicalterms,thusservingasabridgebetweenusersandtechnicalprofessionals.Likeanengineeroranarchitect,asystemsanalystsolvesproblemsbycombiningsolidtechnicalskillswithinsight,imagination,andatouchofart.Generally,theanalystfollowsawell-defined,methodicalprocessthatincludesatleastthefollowingsteps;1.Problemdefinition2.Analysis3.Design4.Implementation5.MaintenanceAttheendofeachstep,resultsaredocumentedandsharedwithboththeuserandtheprogrammers.Theideaistocatchandcorrecterrorsandmisunderstandingsasearlyaspossible.Perhapsthebestwaytoillustratetheprocessisthroughexample.Pictureasmallclothingstorethatpurchasesmerchandiseatwholesale,displaysthisstock,andsellsittocustomersatretail.Ontheonehand,toomuchstockrepresentsanunnecessaryexpense.Ontheotherhand,apoorselectiondiscouragesshoppers.Ideally,abalancecanbeachieved:enough,butnottoomuch.Complicatingmattersisthefactthatinventoryisconstantlychanging,withcustomerpurchasesdepletingstock,andreturnsandreordersaddingtoit.1Theownerwouldliketotrackinventorylevelsandreorderandgivenitemjustbeforethestorerunsout.Forasingleitem,thetaskiseasy-justcountthestock-on-hand.Unfortunately,thestorehashundredsofdifferentitems,andkeepingtrackofeachoneisimpractical.Perhapsacomputermighthelp.2-1ProblemDefinitionThefirststepinthesystemsanalysisanddesignprocessisproblemdefinition.Theanalystsobjectiveisdeterminingwhattheuser(inthiscase,thestoresowner)needs.Notethat,astheprocessbegins,theuserpossessesthecriticalinformation,andtheanalystmustlistenandlearn.Fewusersaretechnicalexperts.Mostseethecomputerasa"magicbox,"andarenotconcernedwithhowitworks.Atthisstage,theanalysthasnobusinesseventhinkingaboutprograms,files,andcomputerhardware,butmustcommunicatewiththeuseronhisorherownterm.Theideaistoensurethatboththeuserandtheanalystarethinkingaboutthesamething-Thus,aclear,writtenstatementexpressingtheanalystsunderstandingoftheproblemisessential.Theusershouldreviewandcorrectthiswrittenstatement.Thetimetocatchmisunderstandingsandoversightsisnow,beforetime,moneyandeffortarewasted.Often,followingapreliminaryproblemdefinition,theanalystperformsafeasibilitystudy.Thestudyabriefcapsuleversionoftheentiresystemsanalysisanddesignprocess,attemptstoanswerthreequestions:1.Cantheproblembesolved?2.Canitbesalvedintheusersenvironment?3.Canitbesolvedatareasonablecost?Iftheanswertoanyoneofthesequestionsisno,thesystemshouldnotbedeveloped.Givenagoodproblemdefinitionandapositivefeasibilitystudy,theanalystcanturntoplanninganddevelopingaproblemsolution.2-2AnalysisAsanalysisbegins,theanalystunderstandstheproblem.Thenextstepisdeterminingwhatmustbedonetosolveit.Theuserknowswhatmustbedone1duringanalysis;thisknowledgeisextractedandformallydocumented.Mostusersthinkintermsofthefunctionstobeperformedandthedataelementstobemanipulated.Theobjectiveistoidentifyandlinkthesekeyfunctionsanddataelements,yieldingalogicalsystemdesign.Startwiththesystemsbasicfunctions.Thekeyiskeepingtrackofthestock-on-handforeachproductininventory.Inventorychangesbecausecustomerspurchase,exchange,andreturnproducts,sothesystemwillhavetoprocesscustomertransactions.Thestoresownerwantstoselectivelylookattheinventorylevelforanyproductinshortsupplyand,ifappropriate,orderreplacementstock,sothesystemmustbeabletocommunicatewithmanagement.Finally,followingmanagementauthorization,thesystemshouldgenerateareorderreadytosendtoasupplier.Fig1Giventhesystemsbasicfunctions,theanalystsnexttaskisgainingasenseoftheirlogicalrelationship.Agoodwaytostartisbydescribinghowdataflowbetweenthefunctions.Asthenameimplies,dataflowdiagramsareparticularlyusefulforgraphicallydescribingthesedataflows.Foursymbolsareused(Fig.1).Datasourcesanddestinationsarerepresentedbysquares;inputdataenterthesystemfromasource,andoutputdataflowtoadestination.Onceinthesystem,thedataaremanipulatedorchangebyprocesses,representedbyround-cornerrectangles.Aprocessmightbeaprogram,aprocedure,oranythingelsethatchangesormovesdata.Datacanbeheldforlaterprocessingindatastores,symbolizedbyopen-endedrectangles.Adatastoremightbeadiskfile,atapefile,adatabase,writtennotes,orevenapersonsmemory.Finally,dataflowbetweensources,destinations,processes,enddatastoresoverdataflows,whicharerepresentedbyarrows.Fig2Figure2showsapreliminarydataflowdiagramfortheinventorysystem.StartwithCUSTOMER.Transactionsflowfromacustomerfintothesystem,wheretheyarehandledbyProcesstransaction.Adatastore,STOCK,holdsdataoneachitemininventory.Processtransactionchangesthedatatoreflectthenewtransaction.Meanwhile,MANAGEMENTaccessesthesystemthroughCommunicate,evaluatingthedatainSTOCKand,ifnecessary,requestingareorder.Onceareorderisauthorized.GeneratereordersendsnecessarydatatotheSUPPLIER,whoshipstheitemstothestore.Notethat,becausethereorderrepresentsachangeintheinventorylevelofaparticularproductorproductsitishandledasatransaction.Thedataflowdiagramdescribesthelogicalsystem.Thenextstepistracingthedataflows.StartwiththedestinationSUPPLIER.Reordersflowtosuppliers;forexample,thestoremightwant25pairsofjeans.Tofilltheorder,thesupplierneedstheproductdescriptionandthereorderquantity.Wheredothesedataelementscomefrom?SincetheyareoutputbyGeneratereorder,theymusteitherbeInputtoorgeneratedbythisprocess.DataflowintoGeneratereorderforSTOCK;thus,productdescriptionsandreorderquantitiesmustbestoredinSTOCK.Otherdataelements,suchastheitempurchasedandthepurchasequantityaregeneratedbyCUSTOMER.Stillothers,forexamplesellingpriceandreorderpoint,aregeneratedbyorneededbyMANAGEMENT.Thecurrentstock-on-handforagivenitemisanexampleofadataelementgeneratedbyanalgorithminoneoftheprocedures.Stepbystep,methodically,theanalystidentifiesthedataelementstobeinputto.storedby,manipulatedby,generatedby,oroutputbythesystem.Tokeeptrackofthedataelements,theanalystmightlisteachoneinadatadictionary.Asimpledatadictionarycanbesetuponindexcards,butcomputerizeddatadictionarieshavebecomeincreasinglypopular.Thedatadictionary,acollectionofdatadescribinganddefiningthedata,isusefulthroughoutthesystemsanalysisanddesignprocess,andisoftenusedtobuildadatabaseduringtheimplementationstage.Theideaofanalysisistodefinethesystemsmajorfunctionsanddataelementsmethodically.Rememberthattheobjectiveistranslatinguserneedsintotechnicalterms.Sincethesystemstartswiththeuser,thefirststepisdefiningtheusersneeds.Usersthinkintermsoffunctionsanddata.Theydonotvisualizeprograms,orfiles,orhardware.andduringthisinitial,crucialanalysisstageitisessentialthattheanalystthinklikeauser,notlikeaprogrammer.Dataflowdiagramsanddatadictionariesareusefultools.Theyprovideaformatforrecordingkeyinformationabouttheproposedsystem.Also,theyjogtheanalystsmemory)forexample,iftheanalystdoesnthavesufficientinformationtocompleteadatadictionaryentry,heorshehasprobablymissedsomething.Perhapsmostimportantly,thedataflowdiagramandthedatadictionarydocumenttheanalystsunderstandingofthesystemrequirements.Byreviewingthesedocuments,theusercancorrectmisunderstandingsoroversights.Finally,theyrepresentanexcellentstartingpointthenextstep,design.2-3DesignAsweenterthedesignstage,weknowwhatthesystemmustdo,andthuscanbeginthinkingabouthowtodoit.Theobjectiveistodevelopastrategyforsolvingtheproblem.Atthisstage,wearenotinterestedinwritingcodeorindefiningprecisedatastructures;instead,wewanttoidentify,atablackboxlevel,necessaryprograms,files,procedures,andothercomponents.Thedataflowdiagramdefinesthesystemsnecessaryfunctions;howmighttheybeimplemented?Onepossibilityiswritingoneprogramforeachprocess.Anotheriscombiningtwoormoreprocessesinasingleprogram;therearedozensofalternativesolutions.Letsfocusononeoptionanddocumentit.Asystemflowchartusessymbolstorepresentprograms,procedures,hardwaredevices,andtheothercomponentsofaphysicalsystem(Fig.3).Ourflowchart(.Fig.4)showsthattransactiondataenterthesystemthroughaterminal,areprocessedbyadatacollectionprogram,andthenarestoredonaninventoryfile.Eventually,theinventoryfileisprocessedbyaReportandreorderprogram.Throughit,managementmanipulatesthedataandauthorizesreorders.Fig.4Onasystemflowchart,symbolsrepresentprograms,procedures,hardwaredevices,andtheothercomponentsofaphysicalsystem.Fig3Lookatthesystemflowchart.Itidentifiesseveralhardwarecomponents,includingacomputer,adiskdrive,adataentryterminal,aprinter,andadisplayterminal.Twoprogramsareneeded;ProcesstransactionandReportandreorder.Inadditiontothehardwareandtheprograms,we1lneeddatastructuresfortheinventoryfileandfordataflawsbetweentheI/Odevicesandthesoftware.Notethatthissystemflowchartillustratesonepossiblesolution;agoodanalystwilldevelopseveralfeasiblealternativesbeforechoosingone.Fig4Theflowchartmapsthesystem,highlightingitsmajorphysicalcomponents.Sincethedatalinkthecomponents,thenexttaskisdefiningthedatastructures.Consider,forexample,theinventoryfile.ItcontainsallthedataelementsfromthedatastoreSTOCK.Thedataelementsare