版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章结构化建模与工具第1页,课件共85页,创作于2023年2月2.1.1结构化方法概述软件工程方法的主要概念和技术:自顶向下的设计方法结构化程序设计模块化逐步求精和功能分解软件质量度量程序设计语言的抽象主要步骤代表性的结构化方法DeMarco方法、Yourdon方法、Jacson方法、Martin信息工程方法等。第2页,课件共85页,创作于2023年2月软件工程方法程序开发步骤第3页,课件共85页,创作于2023年2月2.1.2DeMarco结构化分析方法分析步骤:1.描述当前系统的物理模型2.抽象当前系统的逻辑模型3.设计目标系统的逻辑模型4.建立目标系统的物理模型(可多个)5.估算物理模型的成本和进度6.选择一个物理模型作为目标系统的需求7.将结构化规格说明组装:DFD+DD+小说明第4页,课件共85页,创作于2023年2月Demacro方法步骤第5页,课件共85页,创作于2023年2月第6页,课件共85页,创作于2023年2月第7页,课件共85页,创作于2023年2月2.1.3Yourdon结构化设计设计步骤:1.划出数据流图2.划出程序结构图(变化分析和事务分析)3.评估设计(耦合性、内聚性度量)4.实现设计(物理程序设计)使用的表示工具DFD、MSD、IPO图、模块说明第8页,课件共85页,创作于2023年2月第9页,课件共85页,创作于2023年2月第10页,课件共85页,创作于2023年2月2.1.4Jackson程序设计方法设计步骤:1.数据步:画出所有输入、输出数据流的网络图,再表示为分层结构。2.程序步:把数据结构组合成一个程序结构。(通过识别数据结构模块间的消费-生产者关系)3.操作步:列出将输入变成输出的操作,安排在程序结构中的合适地方。4.正文步:用伪码描述的程序设计。表达工具:系统网络图、树型结构图、结构化正文(伪码)第11页,课件共85页,创作于2023年2月第12页,课件共85页,创作于2023年2月第13页,课件共85页,创作于2023年2月2.1.5Martin信息工程方法分析步骤:1.规划信息策略:企业的全局模型及其数据。2.应用领域分析:定义具体业务领域的实体及其关系。3.系统设计:程序结构、数据结构、动作图、屏幕/报告格式等。4.构造:物理设计和程序实现。表达工具:实体关系图、数据依赖图、动作图等。第14页,课件共85页,创作于2023年2月第15页,课件共85页,创作于2023年2月第二章结构化建模与工具2.2PowerDesigner建模PowerDesigner是Sybase公司推出的一组结构化模型设计工具。由六个工具集成:ProcessAnalyst:用于系统分析。DataArchitect:用于数据库建模。Appmodeler:用于应用对象和数据敏感组件的生成。WarehouseArchitect:用于数据仓库建模。Viewer:用于以只读的方式访问模型。第16页,课件共85页,创作于2023年2月2.2.1ProcessAnalyst
ProcessAnalystModelBasicsMethodologyBusinessRulesDomainsanddataitemsProcessesGlobalandlocalobjectsCheckingaPAMCRUDmatrix&ReportExample第17页,课件共85页,创作于2023年2月ProcessAnalystModelBasicsWhatisaPAM?PAM:ProcessAnalystModel.ProcessAnalystisaPowerDesignertoolwhichenablesyoutorepresenttheprocessesinyourinformationsystem.APAMshowshowdataistransformedandshowsthefunctionalprocessesappliedtothedata.第18页,课件共85页,创作于2023年2月APAMenablesyouto:AnalyzetheprocessesofasystemRepresenttheseprocessesintheformofamodelCreateahierarchicaltreestructurerepresentingtheseprocessesProcessAnalystModelBasics第19页,课件共85页,创作于2023年2月ObjectsinaPAM:Dataitem:ElementarypieceofinformationExternalentity:ActiveobjectwhichtransmitsorreceivesdatafromthesystemProcess:DatatransformationDataflow:Transferofdatabetweenprocesses,externalentities,anddatastoresDatastore:PlacewheredatainthemodelisstoredProcessAnalystModelBasics第20页,课件共85页,创作于2023年2月MethodologyProcessAnalystsupportsfourmethods:ObjectModelingTechnique(OMT)functionalmodelYourdon/DeMarcoGane&SarsonStructuredSystemAnalysisandDesignMethodology(SSADM)第21页,课件共85页,创作于2023年2月AllmethodologiesimplementedinProcessAnalystusethesamedataprocessingconcepts:Process:"Blackbox"whichreceivesdata,transformsit,andproducesaresult.Processdecomposition:Breakdownoftheprocessintoseverallowerhierarchicallevels.Externalentity:SourceofdatausedinthemodelDatastore:LocationwheredataistemporarilyorpermanentlystoredinthesystemDataflow:Transferofdatabetweenthevariouscomponentsofthesystem第22页,课件共85页,创作于2023年2月BusinessRulesWhatisabusinessrule?Abusinessruleisarulethatyourbusinessfollows.Abusinessrulecouldbeagovernment-imposedlaw,acustomerrequirement,oraninternalguidelinBusinessrulesguideanddocumentthecreationofamodel.businessrulescomplementmodelgraphicswithinformationthatisnoteasilyrepresentedgraphicallyExpressionsremindyoutocreatevalidationrulesifyouusethePAMasabasisforcreatingaCDM第23页,课件共85页,创作于2023年2月TypesofbusinessrulesDefinition:Characteristicsorpropertiesofanobjectintheinformationsystem.e.g:Acustomerisapersonidentifiedbyanameandanaddress.Fact:Certaintyoranexistenceintheinformationsystem.e.g:Aclientmayplaceoneormoreorders.BusinessRules第24页,课件共85页,创作于2023年2月TypesofbusinessrulesFormula:Calculationemployedintheinformationsystem.e.g:Thetotalorderisthesumofalltheorderlinecosts.Validation:Constraintonavalueintheinformationsystem.e.g:Thesumoftheordertotalsforagivenclientmustnotbegreaterthanthatclient‘sallowance.ApplyingbusinessrulestoobjectsYoucanapplyabusinessruletoexistingobjects.BusinessRules第25页,课件共85页,创作于2023年2月DomainsanddataitemsWhatisaDomain?
Domainhelpyouidentifythetypesofinformationinyourproject.Applyingdomainstodataitemsmakesiteasiertostandardizedatacharacteristics.InaPAM,youcanassociatethefollowinginformationwithadomain:Datatype,length,andprecisionCheckparametersBusinessrules第26页,课件共85页,创作于2023年2月Whatisadataitem?Adataitemisanelementarypieceofinformationinthedatadictionary.Ratherthancreatinganattributedirectlyattachedtoanobject,youcandefineadataitemfirstandthenattachittoanobject.Youcanadddataitemstodatastoresandtodataflowsusingthedatastoreanddataflowpropertysheets.Domainsanddataitems第27页,课件共85页,创作于2023年2月checkparametersCheckparametersindicatedatarangesandvalidationrules.Youcanattachcheckparameterstodomainsanddataitems.Therearetwotypesofcheckparameters:Standardparameters:Commondatacontrols(minimum,maximum,andacceptedvalues).Validationrules:Customizedrulesfordatavalidation.Domainsanddataitems第28页,课件共85页,创作于2023年2月Processes
Whatisaprocess?Aprocessrepresentsatransformationofdata.Forexample,inamodelaboutthepublicationofbooks,selectingamanuscriptisaprocess.SpecificationsSpecificationsarefragmentsofcodewhichcontainthelogicbehindlowest-levelprocesses.Youcanonlyattachspecificationstoalowest-levelprocess第29页,课件共85页,创作于2023年2月DecomposingaprocessYoucandecomposeaprocessintolowerlevelprocesseswhichmorecloselyanalyzethevarioustransformationscarriedoutbytheparentprocess.Whenyoudecomposeaprocess,youcreateanewmodelcalledasubprocess.AnalyzingthedecompositionYoucananalyzethedecompositionoftherootprocessusingaprocesstree.Thepresentationoftheprocessintheformofatreestructureenablesyoutoseethelevelsofdecompositionclearly.Processes
第30页,课件共85页,创作于2023年2月IdentifyingdecomposedprocessesWhenyouuseOMT,Yourdon/DeMarcoandGane&Sarsonmethodologies,aplussign(+)indicatesthattheprocessisdecomposed.WhenyouuseSSADMmethodology,anasterisk(*)indicatesthattheprocessisnotdecomposed.Processes
第31页,课件共85页,创作于2023年2月GlobalandlocalobjectsTherearetwotypesofobjectsinaPAM:Global:DatastoreandExternalentity.Itexistsatalllevelsofdecompositionoftherootprocess.Local:Process,Dataflow,Migratedflow,Split/merge.Itexistsataparticularlevelofdecompositionoftherootprocess.第32页,课件共85页,创作于2023年2月Whatisadatastore?Adatastoreisaglobalobjectwhichstoresdatainthemodel.Adatastorerespondstorequestsforstoringandaccessingdata.Itcannotinitiateanyactions.Youcanfilldatastoresautomaticallywithdataitemscomingfromdataflowsorobjectcreationflows.Globalandlocalobjects第33页,课件共85页,创作于2023年2月Whatisaexternalentity?Anexternalentityrepresentsaentitywhichisexternaltothesystemunderanalysis.Itactsasadatasourceordatatarget,providingoracceptingdatafromthesystem.Globalandlocalobjects第34页,课件共85页,创作于2023年2月Whatadataflow?Dataflowsarelocalobjectswhichrepresentthetransferofdatabetweenprocesses,externalentitiesanddatastores.Dataflowtype:IntheOMTfunctionalmodeltherearethreetypesofdataflows:logical,controlandobjectcreation.IntheYourdon/DeMarcomodeltherearetwotypesofdataflows:logicalandcontrol.Othermethodshaveonlylogicaldataflows.Globalandlocalobjects第35页,课件共85页,创作于2023年2月DataflowtypeLogical:Datatransfer.ItcanconnectProcess,Datastore&Externalentity.Control:Signalmakingitpossibletocontrolaprocess.Itcanconnectoneprocesstoanother.Objectcreation:Creationofobjectsindatastores.Itcanconnectaprocesstoadatastore第36页,课件共85页,创作于2023年2月split/mergeWhenyoucreateasplit/mergeyoudivideadataflowintosegmentssothatyoucansenddatatodifferentdestinations,orreceivedatafromdifferentsources.migratedflowsInasubprocess,migratedflowsrepresentdataflowsfromtheparentprocess.Theyarelocalobjectsthatappearautomaticallywhenyoudecomposeadataflow.Globalandlocalobjects第37页,课件共85页,创作于2023年2月CheckingandMergingPAMCheckingaPAMThecheckprocedureverifiesdomains,dataitems,externalentities,datastores,therootprocess,andsubprocesses.Whenthecheckproceduredetectsanerrorinthemodel,itdisplaysawarningmessage.Itdisplaysadescriptionoftheerrorandexplainshowtocorrectit.MergingPAMYoucanmergetwoPAM.Themergemakesitpossibletoformasinglemodelthatcombinesthedesigneffortsperformedindependentlybyseveralteammembers第38页,课件共85页,创作于2023年2月CRUDmatrix&ReportWhatisaCRUDmatrix?ACRUD(Create,Read,Update,Delete)matrixisatablethatshowsthelinksbetweenprocessesanddatastores,orbetweenprocessesanddataitems.Whenalinkexists,itshowswhethertheprocessperformsacreate,read,update,ordeleteoperationonthedatastoreordataitem.YouusetheCRUDto:Performarealitycheckonthemodel.Decidewhataccessrightsdifferenttypesofusersneedtohavetothedatabasetables.第39页,课件共85页,创作于2023年2月CreatingareportbasedonatemplateYoucancreateareportbasedonatemplateasfollows:PrintareportSaveareportasanRTFfileIfyouuseatemplate,youdonothavetodefinereportcontents.However,youcanselecttheobjectstoincludeinthereport.CRUDmatrix&Report第40页,课件共85页,创作于2023年2月ReporttemplatesReusablereporttemplatesindicatewhatinformationtoincludeinreports.Youcanuseareporttemplatetoprintareportforanymodel.Youcanalsocreateyourowntemplates.CRUDmatrix&Report第41页,课件共85页,创作于2023年2月2.3ER模型与ERwinER模型概论Erwin语言Erwin规则认识Erwin物理模型的自动生成定制trigger逆向工程第二章结构化建模与工具第42页,课件共85页,创作于2023年2月2.3.1ER模型概论一、关系模型Er模型是关于数据实体及其关系的模型,是数据的一种高层逻辑视图。有三种数据模型:关系、层次和网状,其中ER模型最宜于在关系数据库中使用。1NF:关系数据库中的表由一些行和列组成,每一行拥有同样的域或列。所有的数值必须是原子的(不允许存储列表值)。ER模型可以称作是“关系”的,因为它使用共享主键(Key)的方法来表达关系。第43页,课件共85页,创作于2023年2月1NF原则Ifwewanttostoreinformationaboutthe1990Metswearenotallowedtoadd“1990”toanexistingrow,(Mets,1989,1990,NYC).TEAM第44页,课件共85页,创作于2023年2月关系模型关系模型获得了数据独立性,从而增加了数据存储的程序无关性性。这是各种应用纷纷转向关系型DBMS的主要原因。事实(fact)的引用-导致参照一致性问题(Referentialintegrity):如何维护实体间的关系。
第45页,课件共85页,创作于2023年2月ER模型概论二、ER模型对关系数据的描述有许多好处:产生数据库系统和开发组可以使用的文档,开发组用这些文档来定义系统需求,改善团队之间的通讯,改善与最终用户的通讯。提供了参照一致性约束的清晰的图示。维护参照一致性是关系型数据库最基本的工作。提供了独立于具体DBMS的数据库逻辑视图。通过自动生成工具,可以很方便地从该视图生成具体DBMS的物理模式。第46页,课件共85页,创作于2023年2月ER模型概论三、信息建模(InformationModeling)ER模型中,数据库设计是一个信息模型的建立过程。信息模型(InformationModel)是关于数据结构和商业规则的规格说明。信息建模的过程是一个描述信息结构、捕捉商业规则(businessRules)的过程。第47页,课件共85页,创作于2023年2月ER模型中表达的businessRulesExampleofavideostoredatamodel一个电影保存了一个或多个拷贝。关于Movie的记录保存了名称、等级(欢迎度)、租金等信息。每个电影拷贝记录了关于该拷贝的简单说明。电影仓库的客户租借电影拷贝。表Movie-rentel-record记录了一个客户租借某一具体电影拷贝的事实。同一拷贝可以借给许多顾客。每一条租借记录记录了该拷贝的归还日期,以及一个是否超期归还的标志。依据客户先前的表现,顾客将被赋予一个信誉状态,以指示仓库是只收现金,还是允许使用支票、信用卡。第48页,课件共85页,创作于2023年2月Exampleofavideostoredatamodel每个仓库职工参与许多条租借记录,由于同一职工会参与一个拷贝的多次租借关系,所以加上时间戳,以示区别。有时需要在表Overdue-notice中记录过期未还的客户,提醒他们该归还了。有时需记录与该过期不还租借相关的职工。仓库要保存职工的薪金、地址等信息。需要通过“姓名”来查询顾客、职工、电影,而不是通过“职工号码”,所以表中要记录职工姓名。第49页,课件共85页,创作于2023年2月第50页,课件共85页,创作于2023年2月2.3.2Erwin语言一、实体、关系和属性一个Erwin图由三种基本元素组成:实体、属性和关系可以把该图视为表述商业活动的图形语言,那么这三元素的地位是:实体是名词(主语),属性是形容词,关系是动词。信息建模的过程是选择合适的名称、动词、形容词,并把它们正确地组织在一起。第51页,课件共85页,创作于2023年2月Erwin语言实体实体可以定义为一个人、地方、事情、事件等,常常用名词表示,如computer、customer、movie-rental-record等,可以理解为“实例”的组合。属性实体所具有的不同的事实(fact)被保存在不同的列中,每列存储了某特定信息,这些特性称作实体的属性(attribute).第52页,课件共85页,创作于2023年2月ExampleofEntity第53页,课件共85页,创作于2023年2月Erwin语言二、实体与属性的基本语法实体在Erwin中用方框表示,方框上方是实体的名称,实体属性放在方框内部。实体名称使用单数。水平线把属性划分为键与非键属性。唯一标识一个实体的属性集合称为“码”(键,KEY)。
属性中可有多个属性组满足Key要求,称作candidatekeyattributes,候选键第54页,课件共85页,创作于2023年2月Erwin语言Key选择的原则(1)Trytofindanattributewhichwillnotchangeits“value”overthelifeofeachinstanceoftheentity.(2)Lookforareasonablysmallkey.Alternatekeyattribute:常用于建立唯一索引,假如商业规则需要经常在该属性上进行存取的话。第55页,课件共85页,创作于2023年2月ExampleofAlternatekey第56页,课件共85页,创作于2023年2月Erwin语言三、关系关系表示两个实体之间的连接。动词代表了一个实体如何与另一个实体关联的。Erwin中关系由连接两实体的关系表示,圆点表示末端。动词短语置于连线之上。可以从父-子方向读出两个实体之间的关系第57页,课件共85页,创作于2023年2月Exampleofrelations第58页,课件共85页,创作于2023年2月一种特殊关系:子类关系(generalizationorinheritancehierarchy)第59页,课件共85页,创作于2023年2月何时使用子类关系实体之间分享一组共同的属性时;实体之间分享一组共同的关系时(如银行帐户例,每个帐户均与多个Customer相关)为了理解或通讯的目的,商业规则需要时。第60页,课件共85页,创作于2023年2月Erwin语言四、外键(Foreignkeyattributes)关系数据库依靠逻辑的共享主键来表达关系。外键:父实体贡献给子实体的属性。Erwin中用属性名后加(FK)表示。外键分两类:IdentifyingRelationship,此时外键是子实体的主键,子实体依赖父实体标识。Non-identifyingrelationship,外键进入子实体的非主属性区,子实体不被父实体标识。两种不同的外键关系,体现了不同的商业规则,导致了参照一致性维护操作的很大不同。第61页,课件共85页,创作于2023年2月IdentifyingrelationshipFK第62页,课件共85页,创作于2023年2月Non-identifyingrelationship第63页,课件共85页,创作于2023年2月Erwin语言五、依赖实体与独立实体实体被标定为依赖实体和独立实体取决于它们是如何获得主键的。独立实体:这种实体不必依赖于其它实体而存在,实体的主键不从其它实体中得到贡献。Erwin中用直角矩形表示。依赖实体:依赖实体依赖于它自己的存在和模型中其它实体的存在,其主键的一部分是外键。Erwin中用园角矩形表示。依赖分为两类:存在依赖和标识依赖。第64页,课件共85页,创作于2023年2月依赖实体与独立实体存在依赖(existencedependency):依赖实体在父实体不存在时不能存在。标识依赖(identificationdependency):依赖实体在没有父实体的主码情况下没法标识。Identifyingrelationship将产生存在依赖和标识依赖。Non-identifyingrelationship不会产生标识依赖。第65页,课件共85页,创作于2023年2月Erwin语言六、角色名(Rolename)一个角色名是一个外键属性的新名字,表示它在这个实体中扮演的角色。Erwin规则:前半部分表示角色名,后半部分表示其原名。角色名像其它属性一样,通过关系进行迁移。第66页,课件共85页,创作于2023年2月Rolename第67页,课件共85页,创作于2023年2月2.3.3Erwin规则一、命名规则为对象选择一个清晰的、深思熟虑的名字,在信息建模和系统开发中是很重要的。单数原则:实体名和属性名要以单数名词命名。(如不许出现person_hobies属性名)明晰的命名:选择一个能清楚传递实体或属性所代表意义的名称是十分关键的。例子:Address-usage的抽象依据。在没有给出实体或属性的定义之前,给出一个合适的名字是困难的。第68页,课件共85页,创作于2023年2月命名规则第69页,课件共85页,创作于2023年2月Erwin规则二、域(Domains)域是一个数据集合,属性取值限制在此集合中。在正式的Erwin描述中,属性被称为定义在域上。常常需要对属性的Domain进行定义。例:Customer-status:Acodewhichdescribetherelationshipbetweenthecustomerandourbusiness.Domain:A,P,F,N第70页,课件共85页,创作于2023年2月Domaindefinition第71页,课件共85页,创作于2023年2月域(Domains)若干属性常常定义在同一个域上。Erwin支持Domain的定义,大大方便了属性的定义。域定义了商业规则的一些约束限制。例:currency实体,属性currency_code可以定义为世界上所有可识别的货币集合,也可以定义为本公司日常商务活动中可以接受的货币集合。如何定义,由信息模型所代表的业务规则要求确定。第72页,课件共85页,创作于2023年2月Erwin规则三、同义词、异义词、别名同义词(synonym):指已有名字的对象的另一个名字。异义词(homonym):两个不同对象拥有同一个名字。别名(alias):一种同义词,在商业领域已经比较通用。Erwin允许使用同义词和别名,如角色名。Erwin允许限制使用异义词:如不同实体中的属性名。第73页,课件共85页,创作于2023年2月Erwin规则四、属性的其他种类倒排属性(inversionentryattributes),它代表了存取数据的另一种要求和方法。表现在物理结构上,是所谓“非唯一索引”。Erwin中用属性名+(IEn)表示.导出属性(Derivedattribute):导出属性是可以从其它属性计算出来的属性。存在导出属性是一种“范式错误”-违反了2NF或3NF。尽管我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉林市陆川县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 抚州市广昌县2025-2026学年第二学期四年级语文第四单元测试卷(部编版含答案)
- 黔南布依族苗族自治州福泉市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 日喀则地区仁布县2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 漳州市漳浦县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 乐山市市中区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 深度解析(2026)《CBT 3954-2002船用热油炉》:专家视角下的技术内涵、应用挑战与未来趋势全景洞察
- 深度解析(2026)《CBT 637-1995弹簧拖钩》:技术传承与新时代船舶系泊安全的专家视角
- 深度解析(2026)《AQ 2078-2020老龄化海上固定式生产设施主结构安全评估导则》
- 高中导数相关题目及答案
- 银屑病诊疗指南(2026年版)基层规范化诊疗
- 2026年中国超高丁腈氢化丁腈橡胶市场数据研究及竞争策略分析报告
- “大展宏图”系列研究二:特朗普如何重构石油美元2.0体系
- 2026贵州茅台集团校园招聘89人考试参考试题及答案解析
- 2026河南豫能控股股份有限公司及所管企业招聘31人备考题库及参考答案详解(精练)
- 内镜黏膜下剥离术(ESD)诊疗与护理规范
- 2026四川宜宾传媒集团有限公司及下属子公司第一批员工招聘13人笔试备考题库及答案解析
- 2026北京事业编考试题库
- 2025年陕西国防工业职业技术学院单招职业技能考试试题及答案解析
- GB 15322.1-2026可燃气体探测器第1部分:工业及商业用途点型可燃气体探测器
- 介入治疗围手术期疼痛管理专家共识2026
评论
0/150
提交评论