版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外文文献资料1、SoftwareEngineering Softwareisthesequencesofinstructionsinoneormoreprogramminglanguagesthatcompriseacomputerapplicationtoautomatesomebusinessfunction.Engineeringistheuseoftoolsandtechniquesinproblemsolving.Puttingthetwowordstogether,softwareengineeringisthesystemticapplicationoftoolsandtechniquesinthedevelopmentofcomputer-basedapplications.Thesoftwareengineeringprocessdescribesthestepsittakestodeelopthesystem.Webeginadevelopmentprojectwiththenotionthatthereisaproblemtobesolvedviaautomation.Theprocessishowyougetfromproblemrecognitiontoaworkingsolution.Aqualityprocessisdesirablebecauseitismorelikelytoleadtoaqualityproduct.Theprocessfollowedbyaprojectteamduringthedevelopmentlifecycleofanapplicationshouldbeorderly,goal-oriented,enjoyable,andalearningexperience.Object-orientedmethodologyisanapproachtosystemlifecycledevelopmentthattakesatop-downviewofdataobjects,theirallowableactions,andtheunderlyingcommunicationrequirementtodefineasystemarchitecture.Thedataandactioncomponentsareencapsulated,thatis,theyarecombinedtogether,toformabstractdatatypesEncapsulationmeansthatifIknowwhatdataIwant,Ialsoknowtheallowableprocessesagainstthatdata.Dataaredesignedaslatticehierarchiesofrelationshipstoensurethattop-down,hierarchicinheritanceandsidewaysrelationshipsareaccommodated.Encapsulatedobjectsareconstrainedonlytocommunicateviamessages.Ataminimum,messagesindicatethereceiverandactionrequested.Messagesmaybemoreelaborate,includingthesenderanddatatobeactedupon.Thatwetrytoapplyengineeringdisciplinetosoftwaredevelopmentdoesnotmeanthatwehavealltheanswersabouthowtobuildapplications.Onthecontrary,westillbuildsystemsthatarenotusefulandthusarenotused.Partofthereasonforcontinuingproblemsinapplicationdevelopment,isthatweareconstantlytryingtohitamovingtarget.Boththetechnologyandthetypeofapplicationsneededbybusinessesareconstantlychangingandbecomingmorecomplex.Ourabilitytodevelopanddisseminateknowledgeabouthowtosuccessfullybuildsystemsfornewtechnologiesandnewapplicationtypesseriouslylagsbehindtechnologicalandbusinesschanges.Anotherreasonforcontinuingproblemsinapplicationdevelopmentisthatwearen’talwaysfreetodowhatwelikeanditishardtochangehabitsandculturesfromtheoldwayofdoingthings,aswellasgetuserstoagreewithanewsequenceofeventsoranunfamiliarformatfordocumentation.Youmightaskthen,ifmanyorganizationsdon’tusegoodsoftwareengineeringpractices,whyshouldIbotherlearningthem?Therearetwogoodanswerstothisquestion.First,ifyouneverknowtherightthingtodo,youhavenochanceofeverusingit.Second,organizationswillfrequentlyacceptevolutionary,smallstepsofchangeinsteadofrevolutionary,massivechange.Youcanlearnindividualtechniquesthatcanbeappliedwithoutcompletedevotiontoonewayofdevelopingsystems.Inthisway,softwareengineeringcanspeedchangeeintheirorganizationsbydemonstratinghowthetoolsandtechniquesenhancethqualityofboththeproductandtheprocessofbuildingasystem.2、DataBaseSystem1、IntroductionThedevelopmentofcorporatedatabaseswillbeoneofthemostimportantdata-processingactivitiesfortherestofthe1970s.Datewillbeincreasinglyregardedasavitalcorporateresource,whichmustbeorganizedsoastomaximizetheirvalue.Inadditiontothedatabaseswithinanorganization,avastnewdemandisgrowingfordatabaseservices,whichwillcollect,organize,andselldata.Thefilesofdatawhichcomputerscanusearegrowingatastaggeringrate.Thegrowthrateinthesizeofcomputerstorageisgreaterthanthegrowthinthesizeorpowerofanyothercomponentintheexplodingdataprocessingindustry.Themoredatathecomputershaveaccessto,thegreateristheirpotentialpower.Inallwalksoflifeandinallareasofindustry,databankswillchangetheareasofwhatitispossibleformantodo.Intheendofthiscentury,historianswilllookbacktothecomingofcomputerdatabanksandtheirassociatedfacilitiesasastepwhichchangedthenatureoftheevolutionofsociety,perhapseventuallyhavingagreatereffectonthehumanconditionthaneventheinventionoftheprintingpress.Somemostimpressivecorporategrowthstoriesofthegenerationarelargelyattributabletotheexplosivegrowthintheneedofinformation.Thevastmajorityofthisinformationisnotyetcomputerized.However,thecostofdatastoragehardwareisdroppingmorerapidlythanothercostsindataprocessing.Itwillbecomecheapertostoredataoncomputerfilesthantostorethemonpaper.Notonlyprintedinformationwillbestored.Thecomputerindustryisimprovingitscapabilitytostorelinedrawing,datainfacsimileform,photo-graphs,humanspeech,etc.Infact,anyformofinformationotherthanthemostintimatecommunicationsbetweenhumanscanbetransmittedandstoreddigitally.Therearetwomaintechnologydevelopmentslikelytobecomeavailableinthenearfuture.First,thereareelectromagneticdevicesthatwillholdmuchmoredatathandisksbuthavemuchlongeraccesstime.Second,therearesolid-statetechnologiesthatwillgivemicrosecondaccesstimebutcapacitiesaresmallerthandisks.Disksthemselvesmaybeincreasedincapacitysomewhat.Forthelongertermfuturethereareanumberofnewtechnologieswhicharecurrentlyworkinginresearchlabswhichmayreplacedisksandmayprovideverylargemicrosecond-access-timedevices.Asteadystreamofnewstoragedevicesisthuslikelytoreachthemarketplaceoverthenext5years,rapidlyloweringthecostofstoringdata.Giventheavailabletechnologies,itislikelythaton-linedatabaseswillusetwoorthreelevelsofstorage.Onesolid-statewithmicrosecondaccesstime,oneelectromagneticwithaccesstimeofafractionofasecond.Iftwo,three,orfourlevelsofstorageareused,physicalstorageorganizationwillbecomemorecomplex,probablywithpagingmechanismstomovedatabetweenthelevels;solid-statestorageoffersthepossibilityofparallelsearchoperationandassociativememory.Boththequantityofdatastoredandthecomplexityoftheirorganizationaregoingupbyleapsandbounds.Thefirsttrillionbiton-linestoresarenowinuse.inafewyear’stime,storesofthissizemaybecommon.Aparticularlyimportantconsiderationindatabasedesignistostorethedatasothatthecanbeusedforawidevarietyofapplicationsandsothatthewaytheycanbechangedquicklyandeasily.Oncomputerinstallationpriortothedatabaseeraithasbeenremarkablydifficulttochangethewaydataareused.Differentprogrammersviewthedataindifferentwaysandconstantlywanttomodifythemasnewneedsarisemodification,however,cansetoffachainreactionofchangestoexistingprogramsandhencecanbeexceedinglyexpensivetoaccomplish.Consequently,dataprocessinghastendedtobecomefrozenintoitsolddatastructures.Toachieveflexibilityofdatausagethatisessentialinmostcommercialsituations.Twoaspectsofdatabasedesignareimportant.First,itshouldbepossibletointerrogateandsearchthedatabasewithoutthelengthyoperationofwritingprogramsinconventionalprogramminglanguages.Second,thedatashouldbeindependentoftheprogramswhichusethemsothattheycanbeaddedtoorrestructuredwithouttheprogramsbeingchanged.Theworkofdesigningadatabaseisbecomingincreasingdifficult,especiallyifitistoperforminanoptimalfashion.Therearemanydifferentwaysinwhichdatacanbestructured,andtheyhavedifferenttypesofdataneedtobeorganizedindifferentways.Differentdatahavedifferentcharacteristics,whichoughttoeffectthedataorganization,anddifferentusershavefundamentallydifferentrequirements.Soweneedakindofdatabasemanagementsystem(DBMS)tomanagedata.Databasedesignusingtheentity-relationshipmodelbeginswithalistoftheentitytypesinvolvedandtherelationshipsamongthem.Thephilosophyofassumingthatthedesignerknowswhattheentitytypesareattheoutsetissignificantlydifferentfromthephilosophybehindthenormalization-basedapproach.Theentity-relationship(E-R)approachusesentity-relationshipdiagrams.TheE-RapproachrequiresseveralstepstoprodureastructurethatisacceptablebytheparticularDBMS.Thesestepsare:(1) Dataanalysis(2) Producingandoptimizingtheentitymodel.(3) Logicalschemadevelopment(4) Physicaldatabasedesignprocess.Developingadatabasestructurefromuserrequirementsiscalleddatabasesdesign.Mostpractitionersagreethattherearetwoseparatephasestothedatabasedesignprocess.Thedesignofalogicaldatabasestructurethatisprocessablebythedatabasemanagementsystem(DBMS)describestheuser’sviewofdata,andistheselectionofaphysicalstructuresuchastheindexedsequentialordirectaccessmethodoftheintendedDBMS.Currentdatabasedesigntechnologyshowsmanyresidualeffectsofitsoutgrowthfromsingle-recordfiledesignmethods.Filedesignisprimarilyapplicationprogramdependentsincethedatahasbeendefinedandstructuredintermsofindividualapplicationstousethem.TheadventofDBMSrevisedtheemphasisindataandprogramdesignapproaches.Therearemanyinterlockingquestionsinthedesignofdata-basesystemsandmanytypesoftechniquethatonecanuseisanswertothequestionsomany;infact,thatoneoftenseesvaluableapproachesbeingoverlookedinthedesignandvitalquestionsnotbeingasked.Therewillsoonbenewstoragedevices,newsoftwaretechniques,andnewtypesofdatabases.Thedetailswillchange,butmostoftheprincipleswillremain.Therefore,thereadershouldconcentrateontheprinciples.2、DatabasesystemTheconceptionusedfordescribingfilesanddatabaseshasvariedsubstantiallyinthesameorganization.Adatabasemaybedefinedasacollectionofinterrelateddatastoredtogetherwithaslittleredundancyaspossibletoserveonormoreapplicationsinanoptimalfashion;thedataarestoredsothattheyareindependentofprogramswhichusethedata;acommonandcontrolledapproachisusedinaddingnewdataandinmodifyingandretrievingexistingdatawithinthedatabase.Onesystemissaidtocontainacollectionofdatabasesiftheyareentirelyseparateinstructure.Adatabasemaybedesignedforbatchprocessing,real-timeprocessing,orin-lineprocessing.Adatabasesysteminvolveapplicationprogram,DBMS,anddatabase.Oneofthemostimportantcharacteristicsofmostdatabasesisthattheywillconstantlyneedtochangeandgrow.Easyrestructuringofthedatabasemustbepossibleasnewdatatypesandnewapplicationsareadded.Therestructuringshouldbepossiblewithouthavingtorewritetheapplicationprogramandingeneralshouldcauseaslittleupheavalaspossible.Theeasewithwhichadatabasecanbechangedwillhaveamajoreffectontherateatwhichdata-processingapplicationcanbedevelopedinacorporation.Thetermdataindependenceisoftenquotedasbeingoneofthemainattributesofadatabase.Itimpliesthatthedataandtheapplicationprogramswhichusethemareindependentsothateithermaybechangedwithoutchangingtheother.Whenasinglesetofdataitemsservesavarietyofapplications,differentapplicationprogramsperceivedifferentrelationshipsbetweenthedataitems.Toalargeextent,data-baseorganizationisconcernedwiththerepresentationofrelationshipbetweendataitemsandrecordsaswellashowandwherethedataarestored.Adatabaseusedformanyapplicationscanhavemultipleinterconnectionsbetweenthedataitemaboutwhichwemaywishtorecord.Itcandescribestherealworld.Thedataitemrepresentsanattribute,andtheattributemustbeassociatedwiththerelevantentity.Wedesignvaluestotheattributes,oneattributehasaspecialsignificanceinthatitidentifiestheentity.Anattributeorsetofattributewhichthecomputerusestoidentifyarecordortupleisreferredtoasakey.Theprimarykeyisdefinedasthatkeyusedtouniquelyidentifyonerecordortuple.Theprimarykeyisofgreatimportancebecauseitisusedbythecomputerinlocatingtherecordortuplebymeansofanindexoraddressingalgorithm.Ifthefunctionofadatabaseweremerelytostoredata,itsorganizationwouldbesimple.Mostofthecomplexitiesarisefromthefactthatismustalsoshowtherelationshipsbetweenthevariousitemsofdatathatarestored.Itisdifferenttodescribethedatainlogicalorphysical.Thelogicaldatabasedescriptionisreferredtoasaschema.Aschemaisachartofthetypesofdatathatoneused.Itgivesthenamesoftheentitiesandattributes,andspecificstherelationsbetweenthem.Itisaframeworkintowhichthevaluesofthedata-itemscanbefitted.Wemustdistinguishbetweenarecordtypeandainstanceoftherecord.Whenwetalkabouta“personnelrecord”,thisisreallyarecordtype.Therearenodatavaluesassociatedwithit.Thetermschemaisusedtomeananoverallchartofallofthedataitemtypesandrecordtypesstoredinadataheuses.Manydifferentsubschemacanbederivedfromoneschema.Theschemaandthesubschemaarebothusedbythedata-basemanagementsystem,theprimaryfunctionofwhichistoservetheapplicationprogramsbyexecutingtheirdataoperations.ADBMSwillusuallybehandingmultipledatacallsconcurrently.Itmustorganizeitssystembufferssothatdifferentdataoperationscanbeinprocesstogether.Itprovidesadatadefinitionlanguagetospecifytheconceptualschemaandmostlikely,someofthedetailsregardingtheimplementationoftheconceptualschemabythephysicalschema.Thedatadefinitionlanguageisahigh-levellanguage,enablingonetodescribetheconceptualschemaintermsofa“datamodel”.Thechoiceofadatamodelisadifficultone,sinceitmustberichenoughinstructuretodescribesignificantaspectsoftherealworld,yetitmustbepossibletodeterminefairlyautomaticallyanefficientimplementationoftheconceptualschemabyaphysicalschema.ItshouldbeemphasizedthatwhileaDBMSmightbeusedtobuildsmalldatabases,manydatabasesinvolvemillionsofbytes,andaninefficientimplementationcanbedisastrous.Wewilldiscussthedatamodelinthefollowing.3、ThreeDataModelsLogicalschemasaredefinedasdatamodelswiththeunderlyingstructureofparticulardatabasemanagementsystemssuperimposedonthem.Atthepresenttime,therearethreemainunderlyingstructuresfordatabasemanagementsystems.Theseare: Relational Hierarchical NetworkThehierarchicalandnetworkstructureshavebeenusedforDBMSsincethe1960s.Therelationalstructurewasintroducedintheearly1970s.Intherelationalmodel,theentitiesandtheirrelationshipsarerepresentedbytwo-dimensionaltables.Everytablerepresentsanentityandismadeupofrowsandcolumns.Relationshipsbetweenentitiesarerepresentedbycommoncolumnscontainingidenticalvaluesfromadomainorrangeofpossiblevalues.Thelastuserispresentedwithasimpledatamodel.Hisandherrequestareformulatedintermsoftheinformationcontentanddonotreflectanycomplexitiesduetosystem-orientedaspects.Arelationaldatamodeliswhattheusersees,butitisnotnecessarilywhatwillbeimplementedphysically.Therelationaldatamodelremovesthedetailsofstoragestructureandaccessstrategyfromtheuserinterface.Themodelprovidesarelativelyhigherdegreeofdata.Tobeabletomakeuseofthispropertyoftherelationaldatamodelhowever,thedesignoftherelationsmustbecompleteandaccurate.AlthoughsomeDBMSbasedontherelationaldatamodelarecommerciallyavailabletoday,itisdifficulttoprovideacompletesetofoperationalcapabilitieswithrequiredefficiencyonalargescale.Itappearstodaythattechnologicalimprovementsinprovidingfasterandmorereliablehardwaremayanswerthequestionpositively.Thehierarchicaldatamodelisbasedonatree-likestructuremadeupofnodesandbranches.Anodeisacollectionofdataattributesdescribingtheentityatthatpoint.Thehighestnodeofthehierarchicaltreestructureiscalledaroot.Thenodesatsucceedinglowerlevelsarecalledchildren.Ahierarchicaldatamodelalwaysstartswitharootnode.Everynodeconsistsofoneormoreattributesdescribingtheentityatthatnode.Dependentnodescanfollowthesucceedinglevels.Thenodeintheprecedinglevelbecomestheparentnodeofthenewdependentnodes.Aparentnodecanhaveonechildnodeasadependentormanychildrennodes.Themajoradvantageofthehierarchicaldatamodelistheexistenceofprovendatabasemanagementsystemsthatusethehierarchicaldatamodelasthebasicstructure.Thereisareductionofdatadependencybutanychildnodeisaccessibleonlythroughitsparentnode,themany-to–manyrelationshipcanbeimplementedonlyinaclumsyway.Thisoftenresultsinaredundancyinstoreddata.Thenetworkdatamodelinterconnectstheentitiesofanenterpriseintoanetwork.Inthenetworkdatamodeladatabaseconsistsofanumberofareas.Anareacontainsrecords.Inturn,arecordmayconsistoffields.Asetwhichisagroupingofrecords,mayresideinanareaorspananumberofareas.Asettypeisbasedontheownerrecordtypeandthememberrecordtype.Themany-tomanyrelation-ship,whichoccursquitefrequentlyinreallifecanbeimplementedeasily.Thenetworkdatamodelisverycomplex,theapplicationprogrammermustbefamiliarwiththelogicalstructureofthedatabase.4、LogicalDesignandPhysicalDesignLogicaldesignofdatabasesismainlyconcernedwithsuperimposingtheconstructsofthedatabasemanagementsystemonthelogicaldatamodel.Therearethreemainlymodels:hierarchical,relational,networkwehavementionedabove.Thephysicalmodelisaframeworkofthedatabasetobestoredonphysicaldevices.Themodelmustbeconstructedwitheveryregardgiventotheperformanceoftheresultingdatabase.Oneshouldcarryoutananalysisofthephysicalmodelwithaveragefrequenciesofoccurrencesofthegroupingsofthedataelements,withexpectedspaceestimates,andwithrespecttotimeestimatesforretrievingandmaintainingthedata.Thedatabasedesignermayfinditnecessarytohavemultipleentrypointsintoadatabase,ortoaccessaparticularsegmenttypewithmorethanonekey.Toprovidethistypeofaccess;itmaybenecessarytoinvertthesegmentonthekeys.ThephysicaldesignermusthaveexpertiseinknowledgeoftheDBMSfunctionsandunderstandingofthecharacteristicsofdirectaccessdevicesandknowledgeoftheapplications.Manydatabaseshavelinksbetweenonerecordandanother,calledpointers.Apointerisafieldinonerecordwhichindicateswhereasecondrecordislocatedonthestoragedevices.Recordsthatexistonstoragedevicesisagivenphysicalsequence.Thissequencingmaybeemployedforsomepurpose.Themostcommonpuposeisthatrecordsareneededinagivensequencebycertaindata-processingoperationsandsotheyarestoredinthatsequences.Differentapplicationsmayneedrecordsindifferentsequences.Themostcommonmethodoforderingrecordsistohavetheminsequencebyakey—thatkeywhichismostcommonlyusedforaddressingthem.Anindexisrequiredtofindanyrecordwithoutalengthysearchofthefile.Ifthedatarecordsarelaidoutsequentiallybykey,theindexforthatkeycanbemuchsmallerthantheyarenonsequential.Hashinghasbeenusedforaddressingrandom-accessstoragessincetheyfirstcameintoexistenceinthemid-1950s.Butnobodyhadthetemeritytousethewordhashinguntil1968.Manysystemsanalysishasavoidedtheuseofhashinginthesuspicionthatitiscomplicated.Infact,itissimpletouseandhastwoimportantadvantagesoverindexing.First,itfindsmostrecordswithonlyoneseekandsecond,insertionanddeletionscanbehandledwithoutaddedcomplexity.Indexing,however,canbeusedwithafilewhichissequentialbyprimekeyandthisisanoverridingadvantage,forsomebatch-pro-cessingapplications.Manydata-basesystemsusechainstointerconnectrecordsalso.Achainreferstoagroupofrecordsscatterswithinthefilesandinterconnectedbyasequenceofpointers.Thesoftwarethatisusedtoretrivethechainedrecordswillmakethemappeartotheapplicationprogrammerasacontiguouslogicalfile.Theprimarydisadvantageofchainedrecordsisthatmanyreadoperationsareneededinordertofollowlengthychains.Sometimesthisdoesnotmatterbecausetherecordshavetobereadanyway.Inmostsearchoperations,however,thechainshavetobefollowedthroughrecordswhichwouldnototherwisetoread.Insomefileorganizationsthechainscanbecontainedwithinblockedphysicalrecordssothatexcessivereadsdonotoccur.Ringshavebeenusedinmanyfileorganizations.Theyareusedtoeliminateredundancy.Whenaringorachainisenteredatapointsomedistancefromitshead,itmaybedesirabletoobtaintheinformationattheheadquicklywithoutsteppingthroughalltheinterveninglinks.5、DataDescriptionLanguagesItisnecessaryforboththeprogrammersandthedataadministratortobeabletodescribetheirdataprecisely;theydosobymeansofdatadescriptionlanguages.Adatadescriptionlanguageisthemeansofdeclaringtodata-basemanagementsystemwhatdatastructureswillbeused.Adatadescriptionlanguagesgivingalogicaldatadescriptionshouldperformthefolloeingfunctions:Itshouldgiveauniquenametoeachdata-itemtype,filetype,databaseandotherdatasubdivision.Itshouldidentifythetypesofdatasubdivisionsuchasdataitemsegment,recordandbasefile.Itmaydefinethetypeofencodingtheprogramusesinthedataitems(binary,character,bitstring,etc.)Itmaydefinethelengthofthedataitemsandtherangeofthevaluesthatadataitemcanassume.Itmayspecifythesequenceofrecordsinafileorthesequenceofgroupsofrecordinthedatabase.Itmayspecifymeansofcheckingforerrorsinthedata.Itmayspecifyprivacylocksforpreventingunauthorizedreadingormodificationofthedata.Thesemayoperateatthedata-item,segment,record,fileordata-baselevelandifnecessarymaybeextendedtothecontents(value)ofindividualdataitems.Theauthorizationmay,ontheotherhand,beseparatedefined.Itismoresubjecttochangethanthedatastructures,andchangesinauthorizationproceduresshouldnotforcechangesinapplicationprograms.Alogicaldatadescriptionshouldnotspecifyaddressing,indexing,orsearchingtechniquesorspecifytheplacementofdataonthestorageunits,becausethesetopicsareinthedomainofphysical,notlogicalorganization.Itmaygiveanindicationofhowthedatawillbeusedorofsearchingrequirement.Sothatthephysicaltechniquecanbeselectedoptimallybutsuchindicationsshouldnotbelogicallylimiting.MostDBMShavetheirownlanguagesfordefiningtheschemasthatareused.Inmostcasesthesedatadescriptionlanguagesaredifferenttootherprogrammerlanguage,becauseotherprogrammerdonothavethecapabilitytodefinetovarietyofrelationshipthatmayexitintheschemas.1、软件工程软件是指令的序列,该指令序列由一种或多种程序语言编写,它能使计算机应用于某些事物的运用自动化。工程是在问题求解中工具和技术的使用。将这两个词合并起来,软件工程是把工具和技术系统地用于计算机应用的开发。软件工程过程描述了开发系统所需要的步骤。当我们着手开发一个项目时需有这样的概念:有一个要通过自动化解决的问题。过程是如何从识别问题到解决问题。一个质量过程是值得想望的,因为它有可能产生出高质量的产品。在一个应用开发的生命周期中,后面跟有项目组的过程是有序的、面向目标的、友好的,并且具有学习经验的。其中,最为重要的是面向对象方法学,它是指系统生命周期开发的一种方法,它包括自顶向下数据对象的观点,允许动作和基本通信需求,以此可定义一个系统的体系结构。将数据及动作部分封装在一起,也就是将它们组合在一起形成抽象数据类型。封装的意思是,如果我们知道需要什么数据,我就会知道对应于这些数据的相应过程。数据被设计成满足格的层次关系,以确保自顶向下,层次、非层次、横向关系等均可适应。对象封装仅受到与消息有关的通信限制。在最小消息中标记着接受者和动作需求。消息也可以更加复杂一些,包括发送者及被处理的数据。我们试图把工程学科应用于软件开发上去并不意味着我们能够回答如何去建立应用。相反我们仍在建立没有用处和根本不用的系统。在应用开发中继续存在问题的部分原因是我们经常试图瞄准一个正在移动着的目标。技术和事物需要的应用类型在不断地改变而且愈来愈复杂。我们开发和传播知识,如何去成功地为新技术和新应用类型建立系统的能力,还远远落后于技术和事物的变化。在应用开发中继续出现问题的另一个原因是,我们并不总被允许可以任意行事,不用老的方法做这些事情,改变习惯和文化是很难的,同样要保证用户很快接受新的事件的顺序或不熟悉的文件格式也很不容易。你或许会问若很多组织机构都没有使用软件工程的良好习惯,那么为什么我们还要去学习它呢?对这个问题有两条的答案:第一,如果你永远不知道怎样做才算正确,你就不会有机会去使用它。第二,组织机构经常接受小步骤改变的进展,而不是变革性的重大改变。你可以学习能够应用单项技术,而无需局限于某种系统开发的方法。这样,软件工程师们就可以通过展示工具和技术如何提高产品质量和系统的过程来加速机构的变化。2、数据库系统1、介绍在20世纪70年代后期综合数据库的发展是最重要的数据处理活动之一。数据越来越被视为一种重要的综合资源,它必须被组织以扩大他们的价值。另外,在组织内的数据库,对数据库服务将有大量的新要求,就是收集、组织和出售数据。计算机使用数据文件正以令人难以置信的速度增长。计算机存贮量大小的增长速度比爆炸式的数据处理工业中的任何其它元件在规模或能量上的增长速度大得多。计算机存取的数据越多,它们的潜能就越大,在所有社会生活及工业范围中,数据库将改变人们可能做到的领域,在本世纪末,历史学家回过来将把计算机数据库和其有关的设备的出现,作为改变社会发展的自然规律的步骤,或许比起印刷业的发明来,会对人类环境产生更大的影响。某些使人印象深刻的成长历程很大程度上归因于所需信息的爆长。这些信息的绝大多灵数尚未计算机化,然而,储存数据的硬件的花费比数据处理的其它花费更迅速地下降。而且数据储存在计算机文件上比储存在纸上更便宜,储存不仅仅是打印信息。计算机工业正在改进储存绘图、传真表格中的数据、照片、人类语言等等的能力。事实上,除了人类之间私下交流的信息以外,任何信息形式均可以数字化地传输和储存。在不久的将来,两种主要的技术有希望变得实用,首先,有一种电磁设备将比磁盘存贮更多的数据,但存取时间长;第二,有一种固态技术将给出微秒级存取时间,但容量比磁盘小。磁盘本身在某些能力上可能提高,在未来的一段长时期内,将有大量的目前还在研究室中服务的新技术代替磁盘,并可能提供更快的微秒级存取时间的设备,新储存设备的发展趋势稳定,因此很有希望在下一个五年中上市,并迅速地降低储存数据的成本。若给出可用的技术,将很有希望在联机数据库使用两级或三级储存,一种是微秒级存取时间的固态技术,一种存取时间为几分之一秒的电磁机,一种是机电式,存时间是在几秒钟内,如果,两或三、四种层次的储存被使用,物理储存结构将变得更复杂,或许在层次之间用呼叫联络设备移动数据,固态储存提供并行查询操作和相联存储器的可能性。数据储存的数量和它们结构的复杂性很迅速地增长,首次具有百万兆的联机储存正在使用。近几年内,这种规模的存贮将变得很普通。在数据库设计中尤其要着重考虑的是储存数据,以便它们可以应用在很广泛的应用领域,而且在使用上可以很快的且容易地修改,在先于数据库时代的计算机站时期,改变数据的使用方法是非常困难的。不同的程序设计者按不同方法看等数据,当需要变动时就想修改数据,同时也对现存程序进行一系列的改动,因此完成一次变动的代价是非常昂贵的。结果,数据处理越来越被冻结在原来的数据结构上。为了完成数据使用的灵活性,这种灵活性在大多数商业领域中是必要的。数据库设计的两个方面是重要的。首先,不必用常规语言书与冗长的程序就可以查询数据库。其次,数据应独立于使用它们的程序,以便可以不用改变程序就增加数据或重新组织数据。设计数据库的工作正变得日益困难,如果想用最理想的方式执行则更困难。数据在组织上有许多不同的方法,许多不同类型的数据必须按不同方法组织,不同的数据有不同的特性,它们应该影响数据组织,不同的用户有基本不同的需要,所以需要一种数据库管理系统来管理数据。使用实体——关系模型所设计的数据库,其开始于所包含的实体类型和它们之间的关系的一张表,假定设计者一开始就懂得实体类型的原理是基于常规途径的方法的原理明显不同的。实体——关系(E—R)方法使用实体——关系图。E—R方法生成一个结构需要几步,这种结构是能够被特别的数据库管理系统所接受的。这些步骤是:(1)数据分析;(2)生成和优化实体模型;(3)逻辑模式的设计;(4)物理数据库设计过程。以用户的需要来设计数据库结构叫做数据库的设计,大多数实践者同意在数据库设计过程中有两个独立的阶段。逻辑的数据库结构的设计是由数据库管理系统处理的。它描述了用户的数据观点,和一个物理结构的选择,诸如顺序索引,或直接存取等数据库管理系统的方法。现在的数据库设计技术受到单记录文件设计方法的影响,文件设计是最初的独立应用程序,因为数据在个人应用它们的阶段已经被定义和组织。数据库管理系统的出现改变了数据和程序设计方法上的重点。在数据库系统的设计中有许多连锁问题,许多类技术可以被用在回答这些问题上。事实上,经常可以看到有价值的方法在设计中没被重视,而主要的问题没有被询问。不久将有新的储存设备,新的软件技术,新类型的数据库,细节可能发生改变,但大多数原理将保留,所以读者应当注意原理。2、数据库系统用于描述文件和数据库的概念在相同结构中有各种各样的实质的区别。可以把一个数据库定义成一个互相关联数据储存的集合,冗余在这个集合中是很小的,尽量地为多个或一个应用程序的服务在最理想的方式下进行。使它们与用数据的程序独立这是储存数据实现的的目,在数据库内用一种相同的控制方法来实现增加新数据、恢复和修改已存在的数据。一个系统在结构上如果实现的分离是完全的,那么它们被称为包含一个数据库集合。一个数据库可以设计为批处理、实时处理或联机数据处理,一个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论