《第二章结构化建模与工具PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第二章结构化建模与工具PPT讲稿.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章结构化建模与工具第1页,共85页,编辑于2022年,星期二2.1.1 结构化方法概述软件工程方法的主要概念和技术:自顶向下的设计方法 结构化程序设计 模块化 逐步求精和功能分解 软件质量度量 程序设计语言的抽象主要步骤代表性的结构化方法 DeMarco方法、Yourdon方法、Jacson方法、Martin信息工程方法等。第2页,共85页,编辑于2022年,星期二软件工程方法程序开发步骤第3页,共85页,编辑于2022年,星期二2.1.2 DeMarco结构化分析方法分析步骤:1.描述当前系统的物理模型2.抽象当前系统的逻辑模型3.设计目标系统的逻辑模型4.建立目标系统的物理模型(可多个
2、)5.估算物理模型的成本和进度6.选择一个物理模型作为目标系统的需求7.将结构化规格说明组装:DFD+DD+小说明第4页,共85页,编辑于2022年,星期二Demacro方法步骤第5页,共85页,编辑于2022年,星期二第6页,共85页,编辑于2022年,星期二第7页,共85页,编辑于2022年,星期二2.1.3Yourdon 结构化设计设计步骤:1.划出数据流图2.划出程序结构图(变化分析和事务分析)3.评估设计(耦合性、内聚性度量)4.实现设计(物理程序设计)使用的表示工具DFD、MSD、IPO图、模块说明第8页,共85页,编辑于2022年,星期二第9页,共85页,编辑于2022年,星期二
3、第10页,共85页,编辑于2022年,星期二2.1.4 Jackson程序设计方法设计步骤:1.数据步:画出所有输入、输出数据流的网络图,再表示为分层结构。2.程序步:把数据结构组合成一个程序结构。(通过识别数据结构模块间的消费生产者关系)3.操作步:列出将输入变成输出的操作,安排在程序结构中的合适地方。4.正文步:用伪码描述的程序设计。表达工具:系统网络图、树型结构图、结构化正文(伪码)第11页,共85页,编辑于2022年,星期二第12页,共85页,编辑于2022年,星期二第13页,共85页,编辑于2022年,星期二2.1.5 Martin信息工程方法分析步骤:1.规划信息策略:企业的全局模
4、型及其数据。2.应用领域分析:定义具体业务领域的实体及其关系。3.系统设计:程序结构、数据结构、动作图、屏幕/报告格式等。4.构造:物理设计和程序实现。表达工具:实体关系图、数据依赖图、动作图等。第14页,共85页,编辑于2022年,星期二第15页,共85页,编辑于2022年,星期二第二章 结构化建模与工具 2.2 PowerDesigner建模PowerDesigner是Sybase公司推出的一组结构化模型设计工具。由六个工具集成:ProcessAnalyst:用于系统分析。DataArchitect:用于数据库建模。Appmodeler:用于应用对象和数据敏感组件的生成。Warehouse
5、Architect:用于数据仓库建模。Viewer:用于以只读的方式访问模型。第16页,共85页,编辑于2022年,星期二2.2.1 ProcessAnalyst ProcessAnalyst Model Basics MethodologyBusiness RulesDomains and data itemsProcesses Global and local objectsChecking a PAMCRUD matrix&Report Example第17页,共85页,编辑于2022年,星期二ProcessAnalyst Model BasicsWhat is a PAM?PAM:Pr
6、ocess Analyst Model.ProcessAnalyst is a PowerDesigner tool which enables you to represent the processes in your information system.A PAM shows how data is transformed and shows the functional processes applied to the data.第18页,共85页,编辑于2022年,星期二A PAM enables you to:Analyze the processes of a systemRe
7、present these processes in the form of a modelCreate a hierarchical tree structure representing these processesProcessAnalyst Model Basics第19页,共85页,编辑于2022年,星期二Objects in a PAM:Data item:Elementary piece of informationExternal entity:Active object which transmits or receives data from the systemProc
8、ess:Data transformationData flow:Transfer of data between processes,external entities,and data storesData store:Place where data in the model is storedProcessAnalyst Model Basics第20页,共85页,编辑于2022年,星期二MethodologyProcessAnalyst supports four methods:Object Modeling Technique(OMT)functional modelYourdo
9、n/DeMarcoGane&SarsonStructured System Analysis and Design Methodology(SSADM)第21页,共85页,编辑于2022年,星期二All methodologies implemented in ProcessAnalyst use the same data processing concepts:Process:Black box which receives data,transforms it,and produces a result.Process decomposition:Breakdown of the pro
10、cess into several lower hierarchical levels.External entity:Source of data used in the modelData store:Location where data is temporarily or permanently stored in the systemData flow:Transfer of data between the various components of the system第22页,共85页,编辑于2022年,星期二Business RulesWhat is a business r
11、ule?A business rule is a rule that your business follows.A business rule could be a government-imposed law,a customer requirement,or an internal guidelinBusiness rules guide and document the creation of a model.business rules complement model graphics with information that is not easily represented
12、graphicallyExpressions remind you to create validation rules if you use the PAM as a basis for creating a CDM第23页,共85页,编辑于2022年,星期二Types of business rulesDefinition:Characteristics or properties of an object in the information system.e.g:A customer is a person identified by a name and an address.Fac
13、t:Certainty or an existence in the information system.e.g:A client may place one or more orders.Business Rules第24页,共85页,编辑于2022年,星期二Types of business rulesFormula:Calculation employed in the information system.e.g:The total order is the sum of all the order line costs.Validation:Constraint on a valu
14、e in the information system.e.g:The sum of the order totals for a given client must not be greater than that clients allowance.Applying business rules to objectsYou can apply a business rule to existing objects.Business Rules第25页,共85页,编辑于2022年,星期二Domains and data itemsWhat is a Domain?Domain help yo
15、u identify the types of information in your project.Applying domains to data items makes it easier to standardize data characteristics.In a PAM,you can associate the following information with a domain:Data type,length,and precisionCheck parametersBusiness rules第26页,共85页,编辑于2022年,星期二What is a data i
16、tem?A data item is an elementary piece of information in the data dictionary.Rather than creating an attribute directly attached to an object,you can define a data item first and then attach it to an object.You can add data items to data stores and to data flows using the data store and data flow pr
17、operty sheets.Domains and data items第27页,共85页,编辑于2022年,星期二check parametersCheck parameters indicate data ranges and validation rules.You can attach check parameters to domains and data items.There are two types of check parameters:Standard parameters:Common data controls(minimum,maximum,and accepted
18、 values).Validation rules:Customized rules for data validation.Domains and data items第28页,共85页,编辑于2022年,星期二Processes What is a process?A process represents a transformation of data.For example,in a model about the publication of books,selecting a manuscript is a process.SpecificationsSpecifications
19、are fragments of code which contain the logic behind lowest-level processes.You can only attach specifications to a lowest-level process第29页,共85页,编辑于2022年,星期二Decomposing a processYou can decompose a process into lower level processes which more closely analyze the various transformations carried out
20、 by the parent process.When you decompose a process,you create a new model called a subprocess.Analyzing the decompositionYou can analyze the decomposition of the root process using a process tree.The presentation of the process in the form of a tree structure enables you to see the levels of decomp
21、osition clearly.Processes 第30页,共85页,编辑于2022年,星期二Identifying decomposed processesWhen you use OMT,Yourdon/DeMarco and Gane&Sarson methodologies,a plus sign(+)indicates that the process is decomposed.When you use SSADM methodology,an asterisk(*)indicates that the process is not decomposed.Processes 第3
22、1页,共85页,编辑于2022年,星期二Global and local objectsThere are two types of objects in a PAM:Global:Data store and External entity.It exists at all levels of decomposition of the root process.Local:Process,Data flow,Migrated flow,Split/merge.It exists at a particular level of decomposition of the root proces
23、s.第32页,共85页,编辑于2022年,星期二What is a data store?A data store is a global object which stores data in the model.A data store responds to requests for storing and accessing data.It cannot initiate any actions.You can fill data stores automatically with data items coming from data flows or object creation
24、 flows.Global and local objects第33页,共85页,编辑于2022年,星期二What is a external entity?An external entity represents a entity which is external to the system under analysis.It acts as a data source or data target,providing or accepting data from the system.Global and local objects第34页,共85页,编辑于2022年,星期二What
25、a data flow?Data flows are local objects which represent the transfer of data between processes,external entities and data stores.Data flow type:In the OMT functional model there are three types of data flows:logical,control and object creation.In the Yourdon/DeMarco model there are two types of dat
26、a flows:logical and control.Other methods have only logical data flows.Global and local objects第35页,共85页,编辑于2022年,星期二Data flow typeLogical:Data transfer.It can connect Process,Data store&External entity.Control:Signal making it possible to control a process.It can connect one process to another.Obje
27、ct creation:Creation of objects in data stores.It can connect a process to a data store第36页,共85页,编辑于2022年,星期二split/mergeWhen you create a split/merge you divide a data flow into segments so that you can send data to different destinations,or receive data from different sources.migrated flowsIn a sub
28、process,migrated flows represent data flows from the parent process.They are local objects that appear automatically when you decompose a data flow.Global and local objects第37页,共85页,编辑于2022年,星期二Checking and Merging PAMChecking a PAMThe check procedure verifies domains,data items,external entities,da
29、ta stores,the root process,and subprocesses.When the check procedure detects an error in the model,it displays a warning message.It displays a description of the error and explains how to correct it.Merging PAMYou can merge two PAM.The merge makes it possible to form a single model that combines the
30、 design efforts performed independently by several team members第38页,共85页,编辑于2022年,星期二CRUD matrix&ReportWhat is a CRUD matrix?A CRUD(Create,Read,Update,Delete)matrix is a table that shows the links between processes and data stores,or between processes and data items.When a link exists,it shows wheth
31、er the process performs a create,read,update,or delete operation on the data store or data item.You use the CRUD to:Perform a reality check on the model.Decide what access rights different types of users need to have to the database tables.第39页,共85页,编辑于2022年,星期二Creating a report based on a templateY
32、ou can create a report based on a template as follows:Print a reportSave a report as an RTF fileIf you use a template,you do not have to define report contents.However,you can select the objects to include in the report.CRUD matrix&Report第40页,共85页,编辑于2022年,星期二Report templatesReusable report template
33、s indicate what information to include in reports.You can use a report template to print a report for any model.You can also create your own templates.CRUD matrix&Report第41页,共85页,编辑于2022年,星期二2.3 ER模型与ERwinER模型概论Erwin语言Erwin规则认识Erwin物理模型的自动生成定制trigger逆向工程第二章 结构化建模与工具 第42页,共85页,编辑于2022年,星期二2.3.1 ER模型概
34、论一、关系模型Er模型是关于数据实体及其关系的模型,是数据的一种高层逻辑视图。有三种数据模型:关系、层次和网状,其中ER模型最宜于在关系数据库中使用。1NF:关系数据库中的表由一些行和列组成,每一行拥有同样的域或列。所有的数值必须是原子的(不允许存储列表值)。ER模型可以称作是“关系”的,因为它使用共享主键(Key)的方法来表达关系。第43页,共85页,编辑于2022年,星期二1NF原则If we want to store information about the 1990 Mets we are not allowed to add“1990”to an existing row,(Me
35、ts,1989,1990,NYC).TEAM第44页,共85页,编辑于2022年,星期二关系模型关系模型获得了数据独立性,从而增加了数据存储的程序无关性性。这是各种应用纷纷转向关系型DBMS的主要原因。事实(fact)的引用-导致参照一致性问题(Referential integrity):如何维护实体间的关系。第45页,共85页,编辑于2022年,星期二ER模型概论二、ER模型对关系数据的描述有许多好处:产生数据库系统和开发组可以使用的文档,开发组用这些文档来定义系统需求,改善团队之间的通讯,改善与最终用户的通讯。提供了参照一致性约束的清晰的图示。维护参照一致性是关系型数据库最基本的工作。提
36、供了独立于具体DBMS的数据库逻辑视图。通过自动生成工具,可以很方便地从该视图生成具体DBMS的物理模式。第46页,共85页,编辑于2022年,星期二ER模型概论三、信息建模(Information Modeling)ER模型中,数据库设计是一个信息模型的建立过程。信息模型(Information Model)是关于数据结构和商业规则的规格说明。信息建模的过程是一个描述信息结构、捕捉商业规则(business Rules)的过程。第47页,共85页,编辑于2022年,星期二ER模型中表达的business RulesExample of a video store data model一个电影
37、保存了一个或多个拷贝。关于Movie的记录保存了名称、等级(欢迎度)、租金等信息。每个电影拷贝记录了关于该拷贝的简单说明。电影仓库的客户租借电影拷贝。表Movie-rentel-record记录了一个客户租借某一具体电影拷贝的事实。同一拷贝可以借给许多顾客。每一条租借记录记录了该拷贝的归还日期,以及一个是否超期归还的标志。依据客户先前的表现,顾客将被赋予一个信誉状态,以指示仓库是只收现金,还是允许使用支票、信用卡。第48页,共85页,编辑于2022年,星期二Example of a video store data model每个仓库职工参与许多条租借记录,由于同一职工会参与一个拷贝的多次租借
38、关系,所以加上时间戳,以示区别。有时需要在表Overdue-notice中记录过期未还的客户,提醒他们该归还了。有时需记录与该过期不还租借相关的职工。仓库要保存职工的薪金、地址等信息。需要通过“姓名”来查询顾客、职工、电影,而不是通过“职工号码”,所以表中要记录职工姓名。第49页,共85页,编辑于2022年,星期二第50页,共85页,编辑于2022年,星期二2.3.2 Erwin语言一、实体、关系和属性一个Erwin图由三种基本元素组成:实体、属性和关系可以把该图视为表述商业活动的图形语言,那么这三元素的地位是:实体是名词(主语),属性是形容词,关系是动词。信息建模的过程是选择合适的名称、动词
39、、形容词,并把它们正确地组织在一起。第51页,共85页,编辑于2022年,星期二Erwin语言实体 实体可以定义为一个人、地方、事情、事件等,常常用名词表示,如computer、customer、movie-rental-record等,可以理解为“实例”的组合。属性 实体所具有的不同的事实(fact)被保存在不同的列中,每列存储了某特定信息,这些特性称作实体的属性(attribute).第52页,共85页,编辑于2022年,星期二Example of Entity第53页,共85页,编辑于2022年,星期二Erwin语言二、实体与属性的基本语法实体在Erwin中用方框表示,方框上方是实体的名
40、称,实体属性放在方框内部。实体名称使用单数。水平线把属性划分为键与非键属性。唯一标识一个实体的属性集合称为“码”(键,KEY)。属性中可有多个属性组满足Key要求,称作candidate key attributes,候选键第54页,共85页,编辑于2022年,星期二Erwin语言Key选择的原则 (1)Try to find an attribute which will not change its“value”over the life of each instance of the entity.(2)Look for a reasonably small key.Alternate
41、key attribute:常用于建立唯一索引,假如商业规则需要经常在该属性上进行存取的话。第55页,共85页,编辑于2022年,星期二Example of Alternate key第56页,共85页,编辑于2022年,星期二Erwin语言三、关系 关系表示两个实体之间的连接。动词代表了一个实体如何与另一个实体关联的。Erwin中关系由连接两实体的关系表示,圆点表示末端。动词短语置于连线之上。可以从父子方向读出两个实体之间的关系第57页,共85页,编辑于2022年,星期二Example of relations第58页,共85页,编辑于2022年,星期二一种特殊关系:子类关系(general
42、ization or inheritance hierarchy)第59页,共85页,编辑于2022年,星期二何时使用子类关系实体之间分享一组共同的属性时;实体之间分享一组共同的关系时(如银行帐户例,每个帐户均与多个Customer相关)为了理解或通讯的目的,商业规则需要时。第60页,共85页,编辑于2022年,星期二Erwin语言四、外键(Foreign key attributes)关系数据库依靠逻辑的共享主键来表达关系。外键:父实体贡献给子实体的属性。Erwin中用属性名后加(FK)表示。外键分两类:Identifying Relationship,此时外键是子实体的主键,子实体依赖父实
43、体标识。Non-identifying relationship,外键进入子实体的非主属性区,子实体不被父实体标识。两种不同的外键关系,体现了不同的商业规则,导致了参照一致性维护操作的很大不同。第61页,共85页,编辑于2022年,星期二Identifying relationship FK第62页,共85页,编辑于2022年,星期二Non-identifying relationship第63页,共85页,编辑于2022年,星期二Erwin语言五、依赖实体与独立实体实体被标定为依赖实体和独立实体取决于它们是如何获得主键的。独立实体:这种实体不必依赖于其它实体而存在,实体的主键不从其它实体中得
44、到贡献。Erwin中用直角矩形表示。依赖实体:依赖实体依赖于它自己的存在和模型中其它实体的存在,其主键的一部分是外键。Erwin中用园角矩形表示。依赖分为两类:存在依赖和标识依赖。第64页,共85页,编辑于2022年,星期二依赖实体与独立实体存在依赖(existence dependency):依赖实体在父实体不存在时不能存在。标识依赖(identification dependency):依赖实体在没有父实体的主码情况下没法标识。Identifying relationship 将产生存在依赖和标识依赖。Non-identifying relationship不会产生标识依赖。第65页,共8
45、5页,编辑于2022年,星期二Erwin语言六、角色名(Rolename)一个角色名是一个外键属性的新名字,表示它在这个实体中扮演的角色。Erwin规则:前半部分表示角色名,后半部分表示其原名。角色名像其它属性一样,通过关系进行迁移。第66页,共85页,编辑于2022年,星期二Rolename第67页,共85页,编辑于2022年,星期二2.3.3 Erwin规则一、命名规则为对象选择一个清晰的、深思熟虑的名字,在信息建模和系统开发中是很重要的。单数原则:实体名和属性名要以单数名词命名。(如不许出现person_hobies属性名)明晰的命名:选择一个能清楚传递实体或属性所代表意义的名称是十分关
46、键的。例子:Address-usage的抽象依据。在没有给出实体或属性的定义之前,给出一个合适的名字是困难的。第68页,共85页,编辑于2022年,星期二命名规则第69页,共85页,编辑于2022年,星期二Erwin规则二、域(Domains)域是一个数据集合,属性取值限制在此集合中。在正式的Erwin描述中,属性被称为定义在域上。常常需要对属性的Domain进行定义。例:Customer-status:A code which describe the relationship between the customer and our business.Domain:A,P,F,N第70页,
47、共85页,编辑于2022年,星期二Domain definition第71页,共85页,编辑于2022年,星期二域(Domains)若干属性常常定义在同一个域上。Erwin支持Domain的定义,大大方便了属性的定义。域定义了商业规则的一些约束限制。例:currency实体,属性currency_code可以定义为世界上所有可识别的货币集合,也可以定义为本公司日常商务活动中可以接受的货币集合。如何定义,由信息模型所代表的业务规则要求确定。第72页,共85页,编辑于2022年,星期二Erwin规则三、同义词、异义词、别名同义词(synonym):指已有名字的对象的另一个名字。异义词(homony
48、m):两个不同对象拥有同一个名字。别名(alias):一种同义词,在商业领域已经比较通用。Erwin允许使用同义词和别名,如角色名。Erwin允许限制使用异义词:如不同实体中的属性名。第73页,共85页,编辑于2022年,星期二Erwin规则四、属性的其他种类倒排属性(inversion entry attributes),它代表了存取数据的另一种要求和方法。表现在物理结构上,是所谓“非唯一索引”。Erwin中用属性名(IE n)表示.导出属性(Derived attribute):导出属性是可以从其它属性计算出来的属性。存在导出属性是一种“范式错误”违反了2NF或3NF。尽管我们应该遵守不使
49、用导出属性的规则,但是在你必须使用时,可以打破戒律。(break the rules when you must)。所以,Erwin允许导出属性存在。第74页,共85页,编辑于2022年,星期二Erwin规则五、关系的度(cardinality)与分类度(cardinality,基数):它指明了多少个父实体中的实例与多少个子实体中的实例相关联。在Erwin中,靠近关系符园点端的图形表示了不同的度类型。在Erwin中,每个关系均为“(zero or)one to something”,不支持many to many。多对多模型需转换为Erwin支持的关系度。第75页,共85页,编辑于2022年,
50、星期二度的表示图符第76页,共85页,编辑于2022年,星期二关系的度(cardinality)与分类1对多,依赖型1对多,非依赖型循环关系(fish hook)多对多关系:被称作是非确定关系(non-specific relationship)。这种关系会导致主键循环贡献的怪圈。需增加一个称作associative entity 的特殊实体加以转换。在构造关系动词和读出关系时,不能按传统的实体之间的关系去理解,应通过这一“联系实体”来读。第77页,共85页,编辑于2022年,星期二关系的度(cardinality)与分类第78页,共85页,编辑于2022年,星期二多对多关系的分解第79页,共