第四部分结构建模(精)
- 格式:doc
- 大小:499.00 KB
- 文档页数:42
tekla学习计划引言随着建筑行业的发展,建筑信息模型 (BIM) 技术在设计、施工和管理过程中的作用越来越重要。
Tekla Structures是全球领先的钢结构和混凝土建筑信息模型 (BIM) 软件,它提供了完整的设计、分析和施工管理工具,帮助建筑专业人员更加高效地完成项目。
因此,学习Tekla Structures对于有志于从事建筑行业的人来说是至关重要的。
本文将针对初学者介绍Tekla Structures的学习计划,帮助他们更好地掌握这一强大的BIM工具。
第一部分:Tekla Structures简介在开始学习Tekla Structures前,首先需要了解Tekla Structures的基本概念和功能。
Tekla Structures是一款功能强大的BIM软件,它能够帮助建筑师、结构工程师和施工人员进行设计、分析和施工管理。
Tekla Structures的主要功能包括三维建模、结构分析、图纸制作和构件制造管理等。
初学者可以通过阅读Tekla Structures官方网站上的文档和教程,了解软件的基本操作和功能。
此外,也可以通过观看Youtube上的Tekla Structures视频教程,学习一些基本的建模和分析技巧。
第二部分:Tekla Structures学习路径Tekla Structures的学习过程可以分为几个阶段,包括建模基础、结构分析、图纸制作和构件制造管理。
初学者可以根据自己的学习目标和兴趣选择合适的学习路径。
1. 建模基础建模基础是Tekla Structures学习的第一步,包括了软件的基本操作、建模技巧和建筑基本构件的建模方法。
初学者可以通过阅读Tekla Structures官方网站的文档和教程,学习软件的基本操作和建模技巧。
此外,也可以通过参加一些在线或线下的培训课程,学习更加系统的建模技术。
2. 结构分析结构分析是Tekla Structures学习的第二步,包括了结构模型的分析和优化。
第四部分BIM应用案例分析十套习题一、单选题练习题(一)1.建筑师为满足环境规划要求,基于环境分析数据设计的多个建筑型体,概念设计阶段结合BIM技术初步建立的模型为(C)。
A.初设模型B.概念模型C.体量模型D.方案模型2.可持续建筑设计及分析软件Ecotect,不能支持的功能是(B)。
A.建筑能耗分析B.室外风环境C.水耗分析D.日照分析3.冲突检测是指通过建立BIM三维空间(D)在数字模型中提前预警工程项目中不同专业在空间上的冲突、碰撞问题。
A.建筑模型B.信息模型C.体量模型D.几何模型4.工程材料单应由下面哪一方来提供(B)。
A.业主方B.施工方C.设计方D.监理方5.结构(B),用于绘制结构梁板柱的钢筋、标注钢筋代号和布筋范围、钢筋量注释等。
A.布置平面B.配筋平面C.模板平面D.基础平面的4D是在3D建筑信息模型基础上,融入(C)A.成本造价信息B.合同成本信息C.进度控制信息D.质量控制信息7.三维激光扫描仪水平扫描范围是(D)8.一般BIM模型拆分要求,根据一般电脑配置要求分析,多专业模型宜控制在(C)内,单个文件不大于100MB。
9.以下说法错误的是(D)A.三维可视化视角能体现室内装修细节,在项目还没开始的时候候,就能让业主理解这种独特设计的意图,以及结合业主的建议来优化设计方案B.传统设计表现手法在结合BIM技术之后,包括三组维视图和实时漫游等,设计团队能够传递复杂想法,并更好地把这些想法交给业主查看C.通过BIM模型数据生成的实时漫游,能能够:业主获得对建筑的视觉化体验,以便于让业主觉得此项目值得额外的投资D.三维视角仅能用于方案设计和业主交流,不能再施工现场展展示10.塔吊安全管理中首要确定的是(B)A.塔吊高度B.塔吊回转半径C.塔吊臂长D.塔吊和附近建筑物的安全距离二、多选题在项目规划设计阶段的应用,需要配合的专业有(ABE)。
A.建筑专业B.结构专业C.内装专业D.幕墙专业E.机电专业2•下面关于BIM施工图设计中协同设计说法错误的是(CE)A.各专业统一在一个中心文件中建立模型、完成施工图设计B.实时更新模型,同步修改C.协同方式为阶段性协同D.减少了对图、改图的工作量E.减少设计周期深化设计协调管理流程是(ABDE)。
第四章供应链的构建【第一节供应链构建的体系框架】供应链的构建包括供应链管理组织机制的建立、管理流程的设计与优化、物流网络的建立、合作伙伴选择、信息支持体系的选择等方面的内容,是一个庞大而复杂的工程,也是十分重要的管理内容。
下面对这一模型的主要部分做一简要说明。
1. 供应链管理的组织模型供应链的构建必须同时考虑本企业和合作伙伴之间的管理关系,形成合理的组织关系以支持整个供应链的业务流程。
因此,在进行供应链设计时,需要分析的内容之一就是供应链上企业的主客体关系。
根据核心企业在供应链中的作用,恰当设计出主客体的责任、义务及利益。
其次,就是完成组织设计,支持主客体关系的运作。
2. 供应链环境下生产运作与管理供应链能够取得单个企业所无法达到的效益,关键之一在于它动员和协调了整个产品设计、制造与销售过程的资源。
但是,这并不是说只要将所有企业捏合到一起,就可以达到这一目标的。
其中核心问题就是能否将所有企业的生产过程实现同步运作,最大限度地减少由于不协调而产生的停顿、等待、过量生产或者缺货等方面的问题。
因此,供应链构建的问题之一是如何构造适应供应链环境的生产计划与控制系统。
完成这一过程需要考虑的主要内容包括:基于供应链环境生产计划与控制模式,主要涉及基于供应链响应周期的起源配置优化决策模型、基于成本和提前期的供应链延迟点决策、面向同步制造的供应链流程重构模型,等等。
其次,与同步生产组织匹配的库存控制模式,如何应用诸如自动补货系统(AS/RS)、供应商管理库存(VMI)、接驳转运(Cross Docking)、虚拟仓储、提前期与安全库存管理等各种技术,实现整个供应链的生产与库存控制目标。
3. 供应链管理环境下的物流管理与同步制造相呼应的是供应链管理下的物流组织模式。
它的目标是如何寻找最佳的物流管理模式,使整个供应链上的物流运作能够准确响应各种需求(包括来自客户的需求和合作伙伴的需求等),真正体现出物流是“新的利润源泉”的本质。
本文共分五部分,内容如下:第一部分:软件命令和布局介绍第二部分:做x-steel的思路第三部分:简单命令操作入门第四部分:注意的问题和解决方法第五部分;实际操作运用第一部分:软件命令和布局介绍Tekla Structures 是为结构工程师、绘图员和制造人员提供的一个工具。
这是一个管理多种材料(钢材、混凝土、木材等)数据库的集成化、基于模型的三维解决方案。
Tekla Structures 具有交互式建模、结构分析、设计和自动创建图纸等功能。
您可以随时自动从三维模型生成图纸和报告。
图纸和报告会响应模型中的修改,总是保持最新。
Tekla Structures 包含各式各样的标准图纸和报表模板。
您也可以使用模板编辑器创建您自己的模板。
Tekla Structures 支持多个用户共同参与同一项目。
您可以与合作者同时合作构建同一模型,甚至在异地也可同时工作。
由于您总是在使用最新的信息,从而提高了准确性和质量。
屏幕布局当您启动 Tekla Structures 时,屏幕上将出现一个新的窗口。
大多数菜单选项和所有图标在开始时灰显,表明它们未激活。
当您打开或创建一个模型时,图标和可用菜单选项将被激活。
下图标出了 Tekla Structures 模型编辑器窗口的各个区域:第二部分:做X-Steel的思维1.思维方式不能停留在CAD上,CAD的命令比较简单直观,一个命令只能作一件事,你只能忠实的执行它.而X-steel是一个人机对话的过程,在整个建模和出图的过程中,你都必须为事先预定的目标和效果而考虑怎样对付和设定"对话框".2.在CAD中,编号也是自由的,你想怎么编就怎么编,但随机错误也大.在X-steel中编号是一个有系统的工程,它绝对不会发生错误!3.在学习X-steel的初期阶段,往往碰到困难就想回到CAD中解决,总是恋恋不忘CAD,有一种学不下去的感觉,影响学习X-steel的兴趣及进程.4.Xsteel软件它是一个系统化软件,自己必需事先有一定的整体安排,比如构件和零件的编号,图面的排版,尺寸如何标注!标签是用本公司还是客户的,构件和零件如何表达更合理等.要做模板,要修改环境文件及变量等,这些都要事先设置好.看起来很繁琐但事后就轻松了.5.不必在节点上花费很大的精力研究它,它的节点适合国外的标准作法,只有十几个节点可直接用于中国的情况.在我国节点设计的连接方式没有规程,因此同一个办公室的同一个设计组同一个工程同一类连接杆件,就可设计出不一样的节点,他们想怎么做都可以! 因此当你需要用那个节点时再去研究它,即学即用,学起来快,记的又牢,节省不少时间!6.任何一种软件都不是万能的,软件的使用只是学习的问题,但在结构软件中,要想真正掌握好恐怕还需要其它相关知识和空间想象力.因为图纸质量的优劣代表制图人员素质高低.7.扬长避短,X-steel软件擅长作框架结构,厂房结构,通廊,桁架等结构,特别擅长做多高层结构,对弧形结构做起来比较慢,对空中任意结构几乎不便解决.因此根据工程项目具体情况不要强求在X-steel中建模出图.8.图纸必须跟着模型走,当有修改时图纸会自动更新,但可以在CAD中标注焊缝和重新排版图面.有的人习惯在CAD中修改图纸,这样多次修改后,图纸和模型就不相符了,对以后的统计报告真实性大打折扣.9.大家都希望相同的构件编号相同,这样可减少出图量.但在建模的过程中由于手法的不同(特别几个人在多用户模式下)可能同一个构件编出的号不相同.比如一块板就有多种作法:a用梁生成,b用柱生成,c用多边形生成,d用镜像或复制生成,e用节点生成等.它们的属性都不相同,如果相同构件中分别有它们存在,构件编号就不可能相同,因此大家应统一标准. 10.Xsteel软件自动尺寸标注很难达到理想要求,因此"尺寸"和"尺寸标注"的内涵一定要掌握熟练才能运用自如.建议构件只标注主体尺寸及次构件注标定位尺寸(螺栓孔定位到主构件),零件的尺寸标注已非常标准,这样自动标注的尺寸基本不用修该就可出图第三部分:各种命令简单入门工具栏工具栏中包含的按钮为某些最常用的命令提供了快捷使用方式。
主体结构建模顺序摘要:一、引言二、主体结构建模的概念与意义三、主体结构建模的步骤1.数据收集与处理2.特征提取与选择3.模型构建与训练4.模型评估与优化四、主体结构建模在实际应用中的案例分析五、主体结构建模的发展趋势与挑战六、总结正文:一、引言随着我国科技与经济的快速发展,建模技术在各领域中发挥着越来越重要的作用。
主体结构建模作为建模技术的一个重要分支,广泛应用于建筑、机械、航空等行业。
本文将详细介绍主体结构建模的相关知识,以帮助读者更好地理解这一领域。
二、主体结构建模的概念与意义主体结构建模是指通过建立数学模型,描述主体结构的各种性能和特性。
主体结构建模对于分析和预测主体结构的性能、指导工程设计、提高工程质量和降低工程成本具有重要意义。
三、主体结构建模的步骤1.数据收集与处理:首先需要收集与主体结构相关的数据,包括结构参数、材料性能、荷载条件等。
然后对这些数据进行预处理,如去噪、格式转换等,为后续建模做好准备。
2.特征提取与选择:从收集到的数据中提取有用的特征,如主特征值、主方向等。
然后根据特征的重要性进行特征选择,以降低模型的复杂度。
3.模型构建与训练:根据所选特征和建模目标,选择合适的建模方法,如线性回归、支持向量机等。
然后利用训练数据对模型进行训练,优化模型参数。
4.模型评估与优化:利用测试数据对模型进行评估,如计算模型的预测误差、拟合优度等指标。
若模型性能不满足要求,则需要对模型进行优化。
四、主体结构建模在实际应用中的案例分析本文以建筑结构建模为例,介绍主体结构建模在实际工程中的应用。
首先收集建筑结构的各项参数,如材料性能、几何尺寸、荷载条件等。
然后进行数据处理和特征提取,选择合适的建模方法,构建主体结构模型。
最后,利用模型进行结构性能分析和优化设计,提高建筑质量和经济效益。
五、主体结构建模的发展趋势与挑战随着大数据和人工智能技术的发展,主体结构建模在未来将呈现出更高的精度、更快的速度和更广泛的应用。
有限元软件应用第四章实体单元建模分析实体单元(SOLID)是三维单元,三维尺寸都通过几何建模赋予,适用于长、宽、高相当的零部件分析。
下图所示为一支座结构示意图,建立其几何模型并划分网格(图示长度单位为mm)1. 启动ANSYS并设立工作文件名称:Support2. 选择单元类型——SOLID92;定义材料属性:弹性模量及泊松比(钢材)。
3. 建立支座几何模型(1)选择Main Menu>Preprocessor>Modeling>Create>Volumes> Block>By Demensios命令,出现Create Block by Demensios对话框,按照左图所示输入坐标数值,单击OK按钮关闭该对话框,生成右图所示立方体。
命令流:BLOCK,-100,100,-198,198,0,30(2)调整模型视角a)选择Utility Menu>PlotCtrls>View Settings>Viewing Direction命令,出现Viewing Direction对话框,在XV,YV,ZV Coords of view point输入栏中分别输入1,1,1,其余选项采用默认设置,单击OK按钮关闭该对话框。
命令流:/VIEW,1,1,1,1b)选择Utility Menu>PlotCtrls>View Settings> Angle of Rotation命令,出现Angle of Rotation对话框,在THETA Angle in degrees输入栏中输入-90,在Axis Axis of rotation下拉菜单中选择Global Cartes X,其余选项采用默认设置,单击OK按钮关闭该对话框。
命令流:/ANGLE,1,-90,XM,0(3)按照(1)中的方法创建底座上需要切除的立方体,尺寸为:250×200×15。
STAAD/CHINA常见问题解答目录概述。
第一部分:结构建模常见问题。
第二部分:分析计算常见问题。
第三部分:结构设计常见问题。
第四部分:其它常见问题。
第五部分:其它问题。
概述。
(1)第一部分:结构建模常见问题。
(1)1. 问题:能否将中国H型钢加到标准型钢库中? (1)2. 问题:如何将标准型钢库中的型钢名称和截面特性拷贝到文件中? (1)3. 问题:如何调用日本型钢库作为外部截面库? (2)4. 问题:在使用SSDD的中国型钢库中无H型钢,而建立用户型钢表时,TC(顶面加板)与BC(底面加板)难以实现。
而TC、BC在加固工程时时经常要用到的。
在日本型钢库中有H型钢,但我选取后,在进入SSDD时程序提示:“can not findtype-H100X100X6 of code-Japanese请问如何解决在进入SSDD时,程序不读取他国家的型钢库的问题? (2)5. 问题:门式钢架规程适用范围? (2)6. 问题:使用中国规范时,能否自动生成风荷载? (2)7. 问题:是否有钢管砼?怎么生成? (3)8. 问题:可否增加格构式截面,如三个圆管组成的三角格构式截面或四个角钢。
组成的格构式截面,在STAAD里如何考虑? (3)9. 问题:节点荷载输入只有整体坐标方向,其他方向该如何处理? (3)10. 问题:STAAD-CHINA中的反应谱是否为中国规范GB500011-2001吗? (3)11. 问题:大跨结构,竖向地震作用如何记入? (4)12. 问题:在杆件模型中,对于墙板结构,例如工业炉,不是较厚的板,而是5mm厚的钢板,上有纵横两方向的型钢加劲肋。
如想将其简化为杆件模型,是否可考虑简化为交叉斜撑?应按什么原则进行? (4)13. 问题:曲线型拱一般结果划分多线连接后截面定义能否不进行? (4)14. 问题:在STAAD.Pro中我想用主从节点命令建立一个刚性的膜结构,问题是两个柱子都被40英寸等分,第一根柱通过1、2节点相连,第二根柱通过3、4节点相连,我想在2、4节点做刚性连结,程序给出错误信息,用什么方法可以把它们连在一起? (4)15. 问题:我使用圆柱坐标建立了曲梁,我试着在曲梁上定义一个移动荷载,为什么STAAD.PRO不允许这样操作? (4)16. 问题:能不能通过某种方式将构件指定为只受拉构件一次,程序在构件列表中一直记住这根杆件的属性,而不用每次都指定,同定义桁架杆一样? (5)17. 问题:在指导手册中如何正确使用MEMBER TENSION命令? (5)18. 问题:请问如何把EXCEL中的数据导入STAAD.PRO中? (5)第二部分:分析计算常见问题。
广联达GJG钢结构建模过程
第一部分基本设置
1、框架结构、上海、层底。
2、建模,CAD识别,添加图纸:钢结构地上建筑图。
3、楼层设置:首层,层高4.9,室外地坪高差-0.1。
4、工程设置:材质选Q345B(钢柱),除锈等级Sa2.5。
5、防火设置:钢柱──一级,3小时,薄涂型,钢梁──一级,2小时,薄涂型。
第二部分建模
1、分隔图纸,轴网识别。
(提取轴线)
2、新建钢柱。
选焊接截面,修改截面尺寸700×300×18(腹板)×22(上下翼缘板),点画放置即可,若斜的,则需右键旋转。
3、新建钢梁。
识别构件表(汉字删,前加H,即H400×1200×40×40);直线绘制,遇到节点,断开点一下再画。
延伸到柱边。
4、创建节点。
首先是主次梁节点:(先主梁再次梁),选择一个最相近的。
(52H型梁与H型梁──盖板不勾,修改尺寸──上翼缘下翼缘螺栓都不要,腹板要勾──X方向2,Y方向6,间距自己调──本楼层相同节点)。
其次是柱梁节点:(点选:先柱再梁),弹出(万能节点,另一种46,选择46──修改尺寸),本楼层相同节点。
然后是创建细部(柱脚):选择5.H型钢柱柱脚(布置螺栓),布置栓钉,φ19,长度80,通长布置,200,200,2,均布,0。
第三部分导出文件
1、协作──导出,或者,文件──导出
2、导入──土建算量软件,文件管理,导入gshmd
3、手动导入,首层,所有构件,选择1-9、1-E交点,不查看报告。
4、导入的钢结构内容不能编辑。
UML基础知识⼀:UML定义了5类,10种模型图UML提供的基本模型图包括:(1)、⽤例图:展⽰系统外部的各类执⾏者与系统提供的各种⽤例之间的关系(2)、类图:展⽰系统中类的静态结构(类是指具有相同属性和⾏为的对象,类图⽤来描述系统中各种类之间的静态结构)(3)、对象图:是类图的⼀种实例化图(对象图是对类图的⼀种实例化)(4)、包图:是⼀种分组机制。
在UML1.1版本中,包图不再看作⼀种独⽴的模型图)(5)、状态图:描述⼀类对象具有的所有可能的状态及其转移关系(它展⽰对象所具有的所有可能的状态以及特定事件发⽣时状态的转移情况)(6)、顺序图:展⽰对象之间的⼀种动态协作关系(⼀组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)(7)、合作图:从另⼀个⾓度展⽰对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)(8)、活动图:展⽰系统中各种活动的执⾏流程(各种活动的执⾏顺序、执⾏流程)(9)、构件图:展⽰程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)(10)、配置图:展⽰软件在硬件环境中(特别是在分布式及⽹络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)建模过程⾸先:描述需求次之:根据需求建⽴系统的静态模型,以构造系统的结构第三:描述系统的⾏为其中第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图(包括包图)、对象图、构件图和配置图等六种图。
这些图构成了标凖建模语⾔UML的静态建模机制。
第三步中所建⽴的模型或者可吧执⾏或者表⽰执⾏时的时序状态或交互关系,它包括状态图、活动图、顺序图和合作图等四种图。
这些图构成了标准建模语⾔UML的动态建模机制。
可⽤以下常⽤视⾓来描述⼀个系统:(1)、系统的使⽤实例:从系统外部的操作者的解度描述系统的功能(2)、系统的逻辑结构:描述系统内部的静态结构和动态⾏为,即从内部描述如何设计实现系统功能(3)、系统的构成:描述系统由哪些程序构件所组成(4)、系统的并发性:描述系统的并发性,强调并发系统中存在的各种通信和同步问题(5)、系统的配置:描述系统的软件和各种硬件设备之间的配置关系⼆:软件开发过程(RUP概述):迭代开发过程:由四个阶段构成,每个阶段都包含软件开发的每个过程:分析、设计、实现和测试阶段四个阶段:初始阶段、细化阶段、构造阶段、移交阶段通常在移交阶段后进⾏总体测试、性能测试、⽤户培训等1. 初始阶段:项⽬的总体需求、可⾏性分析等,并确认是否启动该项⽬2. 细化阶段:(1/5周期)启动该项⽬后,(1)、实际要做什么?(2)、如何做?(3)、将采⽤什么技术?风险分析和风险管理(1)、需求风险:不能偏离⽤户需要,要充分了解⽤户需求及各需求的相对优化程度处理需求风险:⽤例分析技术。
1.1跟我学UML建模工具StarUML(第4部分)——应用StarUML创建类图的创建示例1.1.1UML类图1、UML类图(1)类图类是面向对象模型的最基本的模型元素。
类图表达为了实现某一用例中的一组对象类之间的静态结构,以及它们之间的联系和交互。
(2)类图的作用主要体现在描述结构和联系:类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的联系(关联、依赖、聚合等),还包括类的内部结构(类的属性和操作)。
(3)类的UML的图示类是对象的集合,这些对象有共同的结构特征、行为特征、联系和语义;在UML中类的图形表示为实线矩形框。
但要注意的是:在类图中不一定要列出全部的成员内容。
如在建立分析模型或设计模型时,可以只列出类名,在图中只需要着重表达类之间的联系;在建立实现模型时,再在类图中给出类的组成成员属性和操作方法等方面的详细内容。
如下图所示:2、类中的属性成员及其UML的图示(1)属性(成员变量)类中的成员属性表示的形式为:可视性属性名(多重性):类型=初始值其中的可视性可以为:公共、保护和私有三种不同的形式,而类型也就是数据类型,依赖于所选择的编程实现的语言。
(2)类的static成员属性所应该注意的是,对类的成员属性也就是static成员属性在类图中的表示为带下划线的形式。
如下面的Compute类中的“oneUSBDevice”成员属性的表示方式。
3、类中的方法成员及其UML的图示(1)类中的操作(成员方法)操作是类的行为特征或动态特征,用于对服务或实体相关的操作建模。
一个类可以有操作并且可以允许有多个不同的操作,当然也可以没有。
没有一个功能操作方法的类经常用于表达数据。
功能操作方法在类图中位于最底部,同时用文字串说明。
其表示为:可视性操作名(参数列表):返回列表{性质}(2)类中的操作的类型1)实现者操作(Implementor operations):实现一些业务功能。
实现者操作可从交互图中找到。
第四部分结构建模第十章类的详解1、引言●随着软件设计和建造的深入,往往需要有更加完备的结构模型,以更详细地反映软件系统的细节。
●例如,当建模的目的是为了软件系统的建造时,软件模型表达的内容必须足够完备,直至能够支持通过模型的正向工程进行软件的建造。
●本章将更深入地讨论类的完备模型应具备的UML建模元素。
2、可见性●类的存在价值在于它的对象要参与软件系统的交互,●孤立存在的类是没有存在价值的。
●类的基本构成包括属性和操作。
●当类的对象参与交互时●类的属性●定义了类的结构和其对象在交互时所处的状态●类的操作●定义了类的对象在交互中为其它对象提供的服务。
●当某一类的对象和其它类的对象进行交互时,●它的某些操作是可以被其它对象通过消息直接启动的,●通过启动操作,目标对象为其它对象提供了服务●而有些操作是不能被其它对象直接启动的,●它们的作用只是为对象的服务的实现提供支持。
●类的属性也是一样,●有些属性代表的状态可以被其它对象存取,●而有些属性代表的是对象的内部状态,它们只能被类的操作所存取。
●类的构成(property)的能被其它类的对象所访问的特性是由类的可见性规定的。
●在大多面向对象的程序设计语言里,都有规定类的属性和操作的可见性的规则。
●UML的类可见性就是为程序设计语言的对应特性进行建模的手段。
●可见性的定义●在UML里,类的可见性就是规定类的基本构成能否被其它的类所引用的规则。
●类的可见性可分为三类:●公有的, 保护的,私有的●如果一个类的构成具有公有可见性(public),那么这个构成可以被任何别的类访问。
●如果一个类的构成具有保护可见性(protacted),则代表此构成可以被此类的导出类访问。
●如果一个类的构成具有私有可见性(private),那么代表此构成只能被此类本身的操作访问●类的可见性的图形表示●如果类的构成具有公有可见性,则在构成的名字前缀以“+”。
●如果类的成具有保护可见性,则在此构成的名字前面缀以“#”,●如果类的构成具有私有可见性,则在此构成的名字前面缀以“-”●(图10.1)。
3、作用域●类是对象的抽象。
对象是类的坚实存在。
●类由属性和操作组成,属性和操作统称为类的构成。
●类可以有多个对象。
●通常, 当一个类的多个对象同时存在时,●此类的同名的构成具有多个副本。
●这意味着●修改一个对象的属性的取值不会对另一个对象的同名属性发生作用;●一个对象的操作的执行不会影响同一个类的另一个对象的状态。
●但在有些情况下,●可能需要同一个类的各个对象能共享一个或多个属性。
●例如,可能需要设定一个变量来统计某一类当前存在的对象的数目。
●类的构成的作用范围,在UML里,称为作用域(scope)。
●类的构成的作用域规定了类的构成是定义在每个对象上的还是定义在整个类的范围内的。
●类的构成的作用域共有两种,即对象作用域和类作用域。
●对象作用域指的是此构成对此类的每个对象都有一个副本。
●类作用域指的是此构成只有一个副本,它能为类的所有对象共享。
●如果一个操作具有类作用域,则意味着此操作的结果对整个类有效。
●对C++而言,具有类作用域的类的构成,相当于是静态(static)变量和静态函数●(在C++里,如果一个函数是静态的,就意味着此函数只能访问静态变量)。
●作用域的图形表示●如果类的构成的名字下面加了下划线,就表示此构成具有类作用域,●否则就是具有对象作用域。
●在有些工具中作用域的表示有些微小区别,●例如,图10.2 是ROSE里作用域的图形表示,其中,●符号"$"代表类作用域。
4、抽象类和多态性●利用泛化关系,可以指定一系列具有共享的结构和行为的类。
●这些类具有共有的结构,●在交互中通过相同的接口提供不同的服务。
●基于图形用户界面的交互式软件的工具栏就是这样的一个例子(图10.3)。
●工具拦里的各鼠标工具都接受相同类型的鼠标消息●但对鼠标消息的解释则随鼠标工具的功能的不同而不同。
●在考虑鼠标工具的实现机制的时候,通常是把各工具都应实现的鼠标消息的处理操作提取出来,在一个基类里为它们声明调用格式,●把各工具的实现类声明为此基类的导出类。
●在这种情形下,基类只为其导出类定义了公共的结构和操作接口,它本身不会被实例化为对象。
●在UML里,可以用抽象类为它们建模。
●抽象类的定义:●抽象类在UML里被定义为没有直接实例的类。
●抽象类的图形表示:●为了将抽象类区别于其它类,在图形表示上,把抽象类的名字用斜体字拼写(图10.4)。
●抽象类里的操作的实现方法(method)都可以是未定义的,●它们的实现将在各导出类里定义。
●这样的操作被称为是抽象操作(abstract operation)。
●抽象操作的定义●在UML里,抽象操作被定义为是未指定实现方法的操作。
●其操作的实现方法必须在其后继(导出类)中定义。
●如果把抽象操作映射到C++,●则抽象操作等同于C++里的纯虚函数。
●抽象操作的图形表示●在类图上,如果一个操作的名字是用斜体字拼写的,那么,这个操作就是抽象操作。
●使用抽象类、抽象操作以及泛化关系来描述一系列的类的继承关系后,在抽象类里定义的操作在交互里的动态行为将取决于参与交互的对象的类型。
●即,根据此对象实例化的那个抽象类的导出类的对应操作的实现方法,决定此操作在交互时的动态行为。
●多态性●在UML里,多态性指的是在泛化关系的层次结构中,处于不同层次的导出类的署名(signature)相同的操作,可以有不同的动态行为。
●如果对应到C++, 则多态性就对应于C++的如下特性,●即:类型为指向抽象类的指针的变量所代表的对象的动态行为将取决于此对象在运行时所实例化的类的实现。
●在UML里, 操作和操作的实现是两个不同的概念。
●操作定义了一个类能为其它类能提供的服务。
但它不规定此服务的实现方法。
●操作的实现在UML里被称为实现方法(method)。
●因此,抽象操作是没有定义实现方法的操作。
●而在利用了操作的多态性的类的继承网络里,●具有相同署名的操作,可以有多个实现方法。
●在一个类的模型图上,将存在各种具有不同特性的类。
●例如:在一个表达类的多重继承的类图上,必定存在一个或多个类,它们处于类的继承层次结构的顶层,即它们不是从任何基类导出的。
●有时,出于设计的需要,也存在一些类,它们不会是,或规定不得是任何类的基类。
为了在模型图上强调这样的类,UML里定义了叶子类(leaf class)、根类(root)以及坚实类(concrete class)的概念。
●叶子类是没有任何导出类的类。
●图形表示:●叶子类被表示为对类的约束,使用关键字leaf对类的名字进行修饰,●即把leaf用花括弧扩起来({leaf})放置在类的名字的下方(图10.4)。
●根类是没有任何基类的类。
●根类也被表示为对类的约束,其关键字为root。
它({root})被放置在类的名字的下方,表示这个名字的类是根类。
●坚实类在UML里被定义为是可以被直接实例化的类。
●我们建模时遇到的大多数的类都是坚实类,UML不对坚实类做特殊的图形标注。
●抽象操作是实现方法由类的导出类定义的操作。
与此相对应,UML也定义了实现方法必须被定义的操作,这就是叶子操作(leaf operation),●叶子操作又称为坚实操作(concrete operation)。
●叶子操作被定义为是不具备多态性且不能被重载的操作。
●被重载指的是它的实现方法可以在其所在的类的导出类里被定义。
●因此一个操作如果不得被重载,就意味着此操作本身必须被指定实现方法。
5、类的重复度●在对软件系统进行逻辑设计时,在某些情形之下,可能需要限制类的对象在软件系统中存在的数目。
●出于交流的目的,可能需要在逻辑视图上强调这种情形,这时就可以用类的重复度(multiplicity)来表达。
●重复度的定义●在UML里,对类的可同时存在的对象的数目的限制,称为类的重复度。
●重复度描述的是一个数目范围。
数目范围用一个表达式描述。
下表就是此表达式可以采取的形式的几个例子:形式含义N 对对象的可以同时存在的数目没有限制1 有且只能有一个对象1..n 必须有至少一个对象存在0..n 可以有零个或任意多个对象存在0..1 可以有零个或一个对象存在<大于等于1的整数> 必须有指定个对象存在,存在的数目由此整数指定2..10 必须至少有2个对象存在,但不能有超过10个对象同时存在●重复度的图形表示●在类图上,类的重复度表达式被放置在类的图标的右上角(图10.5)。
●如果类的重复度表达式在类图上被省略,那么此类的重复度缺省为n。
●即对此类的可同时存在的对象的数目没有限制。
●重复度同样可以应用于类的属性,●这时,按照UML的规定,可以把重复度表达式用方括号扩起来,放置在对应的属性名字的后面。
●如果属性的重复度表达式省略,则属性的重复度缺省为1。
●(在某些工具如ROSE, 属性的重复度被放置在属性的类型说明的后面,如图10.5所示)。
6、属性的语法●类的属性的构成包括:●属性名字、●属性的可见性、●属性的类型以及●属性的重复度。
●为了构造一个完整的类的模型,还需要为属性指定其它的一些构成,它们是:●属性的初始值、●属性的作用域和●属性的可变性(changeability)。
●UML类的属性的完整的语法可以表述如下:[可见性]名字[重复度][:类型][=初始值][{特性串}]●在上面的式子里,用方括号括起来的构成是可省略的。
●这意味着在建模时,依据模型图所表达的内容的侧重面,属性的构成可以被隐藏,甚至可以暂时缺省。
●“特性串”用于描述属性的可变性。
●可变性描述了对属性取值的修改的限制。
●UML中共有三种预定义的属性可变性,它们是:●<1>、changeable(可变的):●表示此属性的取值没有限制,属性的取值可以被随意修改。
●<2>、addOnly(只可加):●它只对重复度大于1的属性有效。
●对于重复度大于1的属性而言,此属性的每个实例在被初始化或赋值之前,其取值是无效的,随着交互的进行,属性的这些实例被逐步地初始化或赋值,这些被初始化的实例的取值才是有效的。
●addOnly特性串表明,对这个属性而言,新的有效值只能添加到此属性的有效值集合中去,●一旦一个有效值被加入到此属性的有效值集合中,就不能被更改或删除。
特性串取有效值的数目只可增加。
●●<3>、frozen (冻结的):frozen特性串表明属性所在的类的对象一旦被初始化,它的取值就不能被再改变。
这相当于C++里的常量(const)。
●例如:如果一个类的属性具有如下的形式,id : Interger {frozen}就表示此属性的取值在对象被创建之后是不可更改的。