外文翻译 - 医院管理信息系统的设计与实现_第1页
外文翻译 - 医院管理信息系统的设计与实现_第2页
外文翻译 - 医院管理信息系统的设计与实现_第3页
外文翻译 - 医院管理信息系统的设计与实现_第4页
外文翻译 - 医院管理信息系统的设计与实现_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1英文原文TheexplosionoftheInternetande-businessinrecentyearshascausedasecondaryexplosionofinformation.Industryanalystspredictthatmoredatawillbegeneratedinthenextthreeyearsthaninallofrecordedhistory.Enterprisebusinessapplicationscanrespondtothisinformationoverloadinoneoftwoways:theycanbendandbreakunderthesheervolumeanddiversityofsuchdata,ortheycanharnessthisinformationandtransformitintoavaluableassetbywhichtogainacompetitiveadvantageinthemarketplace.BecausetheadoptionofInternet-basedbusinesstransactionmodelshassignificantlyoutpacedthedevelopmentoftoolsandtechnologiestodealwiththeinformationexplosion,manybusinessesfindthemselvesunintentionallyusingtheformerapproach.Significantdevelopmentresourcesarespentonquickanddirtyintegrationsolutionsthatcobbletogetherdifferentdatamanagementsystems(databases,contentmanagementsystems,enterpriseapplicationsystems)andtransformdatafromoneformattoanother(structured,XML,bytestreams).Revenueislostwhenapplicationssufferfromscalabilityandavailabilityproblems.Newbusinessopportunitiesaresimplyoverlookedbecausethecriticalnuggetsofinformationrequiredtomakeabusinessdecisionarelostamongthemassesofdatabeinggenerated.Relationaldatabaseswerebornoutofaneedtostore,manipulateandmanagetheintegrityoflargevolumesofdata.Inthe1960s,networkandhierarchicalsystemssuchasCODASYLandIMSwerethestate-of-the-arttechnologyforautomatedbanking,accounting,andorderprocessingsystemsenabledbytheintroductionofcommercialmainframecomputers.Whilethesesystemsprovidedagoodbasisfortheearlysystems,theirbasicarchitecturemixedthephysicalmanipulationofdatawithitslogicalmanipulation.Whenthephysicallocationofdatachanged,suchasfromoneareaofadisktoanother,applicationshadtobeupdatedtoreferencethenewlocation.ArevolutionarypaperbyCoddin1970anditscommercialimplementationschangedallthat.Coddsrelationalmodelintroducedthenotionofdataindependence,whichseparatedthephysicalrepresentationofdatafromthelogicalrepresentationpresentedtoapplications.Data2couldbemovedfromonepartofthedisktoanotherorstoredinadifferentformatwithoutcausingapplicationstoberewritten.Applicationdeveloperswerefreedfromthetediousphysicaldetailsofdatamanipulation,andcouldfocusinsteadonthelogicalmanipulationofdatainthecontextoftheirspecificapplication.Notonlydidtherelationalmodeleasetheburdenofapplicationdevelopers,butitalsocausedaparadigmshiftinthedatamanagementindustry.Theseparationbetweenwhatandhowdataisretrievedprovidedanarchitecturebywhichthenewdatabasevendorscouldimproveandinnovatetheirproducts.SQLbecamethestandardlanguagefordescribingwhatdatashouldberetrieved.Newstorageschemes,accessstrategies,andindexingalgorithmsweredevelopedtospeeduphowdatawasstoredandretrievedfromdisk,andadvancesinconcurrencycontrol,logging,andrecoverymechanismsfurtherimproveddataintegrityguaranteesGRAYLINDARIES.Cost-basedoptimizationtechniquesOPTcompletedthetransitionfromdatabasesactingasanabstractdatamanagementlayertobeinghigh-performance,high-volumequeryprocessingengines.Ascompaniesglobalizedandastheirdataquicklybecamedistributedamongtheirnationalandinternationaloffices,theboundariesofDBMStechnologyweretestedagain.DistributedsystemssuchasR*andTANDEMshowedthatthebasicDBMSarchitecturecouldeasilybeexploitedtomanagelargevolumesofdistributeddata.DistributeddataledtotheintroductionofnewparallelqueryprocessingtechniquesPARA,demonstratingthescalabilityoftheDBMSasahigh-performance,high-volumequeryprocessingengine.ThelessonslearnedinextendingtheDBMSwithdistributedandparallelalgorithmsalsoledtoadvancesinextensibility,wherebythemonolithicDBMSarchitecturewasreplumbedwithplug-and-playcomponentsSTARBURST.Suchanarchitectureenablednewabstractdatatypes,accessstrategiesandindexingschemestobeeasilyintroducedasnewbusinessneedsarose.DatabasevendorslatermadethesehookspubliclyavailabletocustomersasOracledatacartridges,InformixDataBlades,andDB2Extenders.Throughoutthe1980s,thedatabasemarketmaturedandcompaniesattemptedtostandardizeonasingledatabasevendor.However,therealityofdoingbusinessgenerallymadesuchastrategyunrealistic.Fromindependentdepartmentalbuyingdecisiontomergers3andacquisitions,thescenarioofmultipledatabaseproductsandothermanagementsystemsinasingleITshopbecamethenormratherthantheexception.Businessessoughtawaytostreamlinetheadministrativeanddevelopmentcostsassociatedwithsuchaheterogeneousenvironment,andthedatabaseindustryrespondedwithfederation.FederateddatabasesFEDprovidedapowerfulandflexiblemeansfortransparentaccesstoheterogeneous,distributeddatasources.WearenowinanewrevolutionaryperiodenabledbytheInternetandfueledbythee-businessexplosion.Overthepastsixyears,JavaTMandXMLhavebecomethevehiclesforportablecodeandportabledata.Toadapt,databasevendorshavebeenabletodrawonearlieradvancesindatabaseextensibilityandabstractdatatypestoquicklyprovideobject-relationaldatamodelsOR,mechanismstostoreandretrieverelationaldataasXMLdocumentsXTABLES,andXMLextensionstoSQLSQLX.TheeasewithwhichcomplexInternet-basedapplicationscanbedevelopedanddeployedhasdramaticallyacceleratedthepaceofautomatingbusinessprocesses.Thepremiseofourpaperisthatthechallengefacingbusinessestodayisinformationintegration.Enterpriseapplicationsrequireinteractionnotonlywithdatabases,butalsocontentmanagementsystems,datawarehouses,workflowsystems,andotherenterpriseapplicationsthathavedevelopedonaparallelcoursewithrelationaldatabases.Inthenextsection,weillustratetheinformationintegrationchallengeusingascenariodrawnfromareal-worldproblem.Whileyouregoingthroughthedevelopmentprocess,themostimportantissueisthis:Dontgetlost.Itseasytodo.Mostoftheanalysisanddesignmethodsareintendedtosolvethelargestofproblems.Rememberthatmostprojectsdontfitintothatcategory,soyoucanusuallyhavesuccessfulanalysisanddesignwitharelativelysmallsubsetofwhatamethodrecommends.Butsomesortofprocess,nomatterhowlimited,willgenerallygetyouonyourwayinamuchbetterfashionthansimplybeginningtocode.Itsalsoeasytogetstuck,tofallinto“analysisparalysis,”whereyoufeellikeyoucantmoveforwardbecauseyouhaventnaileddowneverylittledetailatthecurrentstage.Remember,nomatterhowmuchanalysisyoudo,therearesomethingsaboutasystemthat4wontrevealthemselvesuntildesigntime,andmorethingsthatwontrevealthemselvesuntilyourecoding,ornotevenuntilaprogramisupandrunning.Becauseofthis,itscrucialtomovefairlyquicklythroughanalysisanddesign,andtoimplementatestoftheproposedsystem.Thispointisworthemphasizing.Becauseofthehistorywevehadwithprocedurallanguages,itiscommendablethatateamwillwanttoproceedcarefullyandunderstandeveryminutedetailbeforemovingdesignandimplementation.Certainly,whencreatingaDBMS,itpaystounderstandacustomersneedsthoroughly.ButaDBMSisinaclassofproblemsthatisverywell-posedandwell-understood;inmanysuchprograms,thedatabasestructureistheproblemtobetackled.Theclassofprogrammingproblemdiscussedinthischapterisofthe“wild-card”(myterm)variety,inwhichthesolutionisntsimplyre-formingawell-knownsolution,butinsteadinvolvesoneormore“wild-cardfactors”-elementsforwhichthereisnowell-understoodprevioussolution,andforwhichresearchisnecessary.Attemptingtothoroughlyanalyzeawildcardproblembeforemovingintodesignandimplementationresultsinanalysisparalysisbecauseyoudonthaveenoughinformationtosolvethiskindofproblemduringtheanalysisphase.Solvingsuchaproblemrequiresiterationthroughthewholecycle,andthatrequiresrisk-takingbehavior(whichmakessense,becauseyouretryingtodosomethingnewandthepotentialrewardsarehigher).Itmayseemliketheriskiscompoundedby“rushing”intoapreliminaryimplementation,butitcaninsteadreducetheriskinawild-cardprojectbecauseyourefindingoutearlywhetheraparticularapproachtotheproblemisviable.Productdevelopmentisriskmanagement.Itsoftenproposedthatyou“buildonetothrowaway.”WithOOP,youmaystillthrowpartofitaway,butbecausecodeisencapsulatedintoclasses,duringthefirstiterationyouwillinevitablyproducesomeusefulclassdesignsanddevelopsomeworthwhileideasaboutthesystemdesignthatdonotneedtobethrownaway.Thus,thefirstrapidpassataproblemnotonlyproducescriticalinformationforthenextanalysis,design,andimplementationiteration,italsocreatesacodefoundationforthatiteration.Thatsaid,ifyourelookingatamethodologythatcontainstremendousdetailandsuggestsmanystepsanddocuments,itsstilldifficulttoknowwhentostop.Keepinmind5whatyouretryingtodiscover:Whataretheobjects?(Howdoyoupartitionyourprojectintoitscomponentparts?)Whataretheirinterfaces?(Whatmessagesdoyouneedtobeabletosendtoeachobject?)Ifyoucomeupwithnothingmorethantheobjectsandtheirinterfaces,thenyoucanwriteaprogram.Forvariousreasonsyoumightneedmoredescriptionsanddocumentsthanthis,butyoucantgetawaywithanyless.Theprocesscanbeundertakeninfivephases,andaphase0thatisjusttheinitialcommitmenttousingsomekindofstructure.Phase0:MakeaplanYoumustfirstdecidewhatstepsyouregoingtohaveinyourprocess.Itsoundssimple(infact,allofthissoundssimple)andyetpeopleoftendontmakethisdecisionbeforetheystartcoding.Ifyourplanis“letsjumpinandstartcoding,”fine.(Sometimesthatsappropriatewhenyouhavewell-understoodproblem.)Atleastagreethatthisistheplan.Youmightalsodecideatthisphasethatsomeadditionalprocessstructureisnecessary,butnotthewholenineyards.Understandablyenough,someprogrammersliketoworkin“vacationmode”inwhichnostructureisimposedontheprocessofdevelopingtheirword;“Itwillbedonewhenitsdone.”Thiscanbeappealingforawhile,butIvefoundthathavingafewmilestonesalongthewayhelpstofocusandgalvanizeyoureffortsaroundthosemilestonesinsteadofbeingstuckwiththesinglegoalof“finishtheproject.”Inaddition,itdividestheprojectintomorebite-sizedpiecesandmakesitseemlessthreatening(plusthemilestonesoffermoreopportunitiesforcelebration).WhenIbegantostudystorystructure(sothatIwillsomedaywriteanovel)Iwasinitiallyresistanttotheideaofstructure,feelingthatwhenIwroteIsimplyletitflowontothepage.ButIlaterrealizedthatwhenIwriteaboutcomputersthestructureisclearenoughsothatIdontthinkmuchaboutit.ButIstillstructuremywork,albeitonlysemi-consciouslyinmyhead.Soevenifyouthinkthatyourplanistojuststartcoding,youstillsomehowgothroughthesubsequentphaseswhileaskingandansweringcertainquestions.6ThemissionstatementAnysystemyoubuild,nomatterhowcomplicated,hasafundamentalpurpose,thebusinessthatitsin,andthebasicneedthatitsatisfies.Ifyoucanlookpasttheuserinterface,thehardware-orsystem-specificdetails,thecodingalgorithmsandtheefficiencyproblems,youwilleventuallyfindthecoreofitsbeing,simpleandstraightforward.Liketheso-calledhighconceptfromaHollywoodmovie,youcandescribeitinoneoretwosentences.Thispuredescriptionisthestartingpoint.Thehighconceptisquiteimportantbecauseitsetsthetoneforyourproject;itsamissionstatement.Youwontnecessarilygetitrightthefirsttime(youmaybeinalaterphaseoftheprojectbeforeitbecomescompletelyclear),butkeeptryinguntilitfeelsright.Forexample,inanair-trafficcontrolsystemtoaverysmallairfield;perhapstheresonlyahumancontrollerornoneatall.Amoreusefulmodelwontconcernthesolutionyourecreatingasmuchasitdescribestheproblem:“Aircraftarrive,unload,serviceandreload,anddepart.”Phase1:Whatarewemaking?Itsnecessarytostayfocusedontheheartofwhatyouretryingtoaccomplishinthisphase:determinewhatthesystemissupposedtodo.Themostvaluabletoolforthisisacollectionofwhatarecalled“usecases.”Usecasesidentifykeyfeaturesinthesystemthatwillrevealsomeofthefundamentalclassesyoullbeusing.Theseareessentiallydescriptiveanswerstoquestionslike:“Whowillusethissystem?”“Whatcanthoseactorsdowiththesystem?”“Howdoesthisactordothatwiththissystem?”“Howelsemightthisworkifsomeoneelseweredoingthis,orifthesameactorhadadifferentobjective?”(torevealvariations)“Whatproblemsmighthappenwhiledoingthiswiththesystem?”(torevealexceptions)Ifyouaredesigninganauto-teller,forexample,theusecaseforaparticularaspectofthefunctionalityofthesystemisabletodescribewhattheauto-tellerdoesineverypossiblesituation.Eachofthese“situations”isreferredtoasascenario,andausecasecanbe7consideredacollectionofscenarios.Youcanthinkofascenarioasaquestionthatstartswith:“Whatdoesthesystemdoif?”Forexample,“Whatdoestheauto-tellerdoifacustomerhasjustdepositedacheckwithin24hoursandtheresnotenoughintheaccountwithoutthechecktoprovidethedesiredwithdrawal?”Usecasediagramsareintentionallysimpletopreventyoufromgettingboggeddowninsystemimplementationdetailsprematurely:Theusecasesproducetherequirementsspecificationsbydeterminingalltheinteractionsthattheusermayhavewiththesystem.Youtrytodiscoverafullsetofusecasesforyoursystems,andonceyouvedonethatyouhavethecoreofwhatthesystemissupposedtodo.Thenicethingaboutfocusingonusecasesisthattheyalwaysbringyoubacktotheessentialsandkeepyoufromdriftingoffintoissuesthatarentcriticalforgettingthejobdone.Thatis,ifyouhaveafullsetofusecasesyoucandescribeyoursystemandmoveontothenextphase.Youprobablywontgetitallfiguredoutperfectlyonthefirsttry,butthatsOK.Everythingwillrevealitselfintime,andifyoudemandaperfectsystemspecificationatthispointyoullgetstuck.Phase2:Howwillwebuildit?Inthisphaseyoumustcomeupwithadesignthatdescribeswhattheclasseslooklikeandhowtheywillinteract.AnexcellenttechniqueindeterminingclassesandinteractionsistheClass-Responsibility-Collaboration(CRC)card.Partofthevalueofthistoolisthatitssolow-tech:youstartoutwithasetofblank3”by5”cards,andyouwriteonthem.Eachcardrepresentsasingleclass,andonthecardyouwrite:Thenameoftheclass.Itsimportantthatthisnamecapturetheessenceofwhattheclassdoes,sothatitmakessenseataglance.The“responsibilities”oftheclass:whatitshoulddo.Thiscantypicallybesummarizedbyjuststatingthenamesofthememberfunctions(sincethosenamesshouldbedescriptiveinagooddesign),butitdoesnotprecludeothernotes.Ifyouneedtoseedtheprocess,lookattheproblemfromalazyprogrammersstandpoint:Whatobjectswouldyouliketomagicallyappeartosolveyourproblem?The“collaborations”oftheclass:whatotherclassesdoesitinteractwith?“Interact”is8anintentionallybroadterm;itcouldmeanaggregationorsimplythatsomeotherobjectexiststhatwillperformservicesforanobjectoftheclass.Collaborationsshouldalsoconsidertheaudienceforthisclass.Forexample,ifyoucreateaclassFirecracker,whoisgoingtoobserveit,aChemistoraSpectator?Theformerwillwanttoknowwhatchemicalsgointotheconstruction,andthelatterwillrespondtothecolorsandshapesreleasedwhenitexplodes.Youmayfeellikethecardsshouldbebiggerbecauseofalltheinformationyoudliketogetonthem,buttheyareintentionallysmall,notonlytokeepyourclassessmallbutalsotokeepyoufromgettingintotoomuchdetailtooearly.Ifyoucantfitallyouneedtoknowaboutaclassonasmallcard,theclassistoocomplex(eitheryouregettingtoodetailed,oryoushouldcreatemorethanoneclass).Theidealclassshouldbeunderstoodataglance.TheideaofCRCcardsistoassistyouincomingupwithafirstcutofthedesignsothatyoucangetthebigpictureandthenrefineyourdesign.OneofthegreatbenefitsofCRCcardsisincommunication.Itsbestdonereal-time,inagroup,withoutcomputers.Eachpersontakesresponsibilityforseveralclasses(whichatfirsthavenonamesorotherinformation).Yourunalivesimulationbysolvingonescenarioatatime,decidingwhichmessagesaresenttothevariousobjectstosatisfyeachscenario.Asyougothroughthisprocess,youdiscovertheclassesthatyouneedalongwiththeirresponsibilitiesandcollaborations,andyoufilloutthecardsasyoudothis.Whenyouvemovedthroughalltheusecases,youshouldhaveafairlycompletefirstcutofyourdesign.BeforeIbeganusingCRCcards,themostsuccessfulconsultingexperiencesIhadwhencomingupwithaninitialdesigninvolvedstandinginfrontofateam,whohadntbuiltanOOPprojectbefore,anddrawingobjectsonawhiteboard.Wetalkedabouthowtheobjectsshouldcommunicatewitheachother,anderasedsomeofthemandreplacedthemwithotherobjects.Effectively,Iwasmanagingallthe“CRCcards”onthewhiteboard.Theteam(whoknewwhattheprojectwassupposedtodo)actuallycreatedthedesign;they“owned”thedesignratherthanhavingitgivingitgiventothem.AllIwasdoingwasguidingtheprocessbyaskingtherightquestions,tryingouttheassumptions,andtakingthefeedbackfromtheteamtomodifythoseassumptions.Theturn9beautyoftheprocesswasthattheteamlearnedhowtodoobject-orienteddesignnotbyreviewingabstractexamples,butbyworkingontheonedesignthatwasmostinterestingtothematthatmoment:theirs.OnceyouvecomeupwithasetofCRCcards,youmaywanttocreateamoreformaldescriptionofyourdesignusingUML.YoudontneedtouseUML.butitcanbehelpful,especiallyifyouwanttoputupadiagramonthewallforeveryonetoponder,whichisagoodidea.AnalternativetoUMLisatextualdescriptionoftheobjectsandtheirinterfaces,or,dependingonyourprogramminglanguages,thecodeitself.UMLalsoprovidesanadditionaldiagrammingnotationfordescribingthedynamicmodelofyoursystem.Thisishelpfulinsituationsinwhichthestatetransitionsofasystemorsubsystemaredominantenoughthattheyneedtheirowndiagrams(suchasinacontrolsystem).Youmayalsoneedtodescribethedatastructures,forsystemsorsubsystemsinwhichdataisadominantfactor(suchasadatabase),Youllknowyouredonewithphase2whenyouhavedescribedtheobjectsandtheirinterfaces.Well,mostofthemthereareusuallyafewthatslipthroughthecracksanddontmakethemselvesknownuntilphase3.ButthatsOK.Allyouareconcernedwithisthatyoueventuallydiscoverallofyourobjects.ItsnicetodiscoverthemearlyintheprocessbutOOPprovidesenoughstructuresothatitsnotsobadifyoudiscoverthemlater.Infact,thedesignofanobjecttendstohappeninfivestages,throughouttheprocessofprogramdevelopment.Phase3:BuildthecoreThisistheinitialconversionfromtheroughdesignintoacompilingandexecutingbodyofcodethatcanbetested,andespeciallythatwillproveordisproveyourarchitecture.Thisisnotaone-passprocess,butratherthebeginningofaseriesofstepsthatwilliterativelybuildthesystem,asyoullseeinphase4.Yourgoalistofindthecoreofyoursystemarchitecturethatneedstobeimplementedinordergeneratearunningsystem,nomatterhowincompletethatsystemisinthisinitialpass.Yourecreatingaframeworkthatyoucanbuilduponwithfurtheriterations.Yourealsoperformingthefirstofmanysystemintegrationsandtests,andgivingthestakeholders10feedbackaboutwhattheirsystemwilllooklikeandhowitisprogressing.Ideally,youarealsoexposingsomeofthecriticalrisks.Youllprobablyalsodiscoverchangesandimprovementsthatcanbemadetoyouroriginalarchitecturethingsyouwouldnothavelearnedwithoutimplementingthesystem.Partofbuildingthesystemistherealitycheckthatyougetfromtestingagainstyourrequirementsanalysisandsystemspecification(inwhateverformtheyexist).Makesurethatyourtestsverifytherequirementsandusecases.Whentheco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论