6 静态结构图
- 格式:pdf
- 大小:516.00 KB
- 文档页数:31
浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。
注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。
分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。
•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。
调节放大系数K S 可由工作范围内的特性斜率决定ctds U U K ∆∆=变压器初级电流、电压和次级电流、电压的有效值变压器接成Δ/ Y 形,可以得到零线,同时滤除三次谐波。
(1) 次级线电压: U 线 = 1.732U 2 = 234(V ) (2) 次级相电流: I 2 = 0.816Id = 12.7(A ) (3) 初级线电压: U1线 = U1相 =380(V )(4系统的静态结构图双闭环调速系统的静态结构图如图3-5所示:图3-5 双闭环调速系统的静态结构图其中 K N /=R N /R 0—速度调节器的静态放大倍数 K I /=R I /R 0—电流调节器的静态放大倍数 K S =△U d /△U K =40α=U fn /n=U gn /n=0.0053v/rpm β=U fi /I d =8/15=0.342V/A 由图3-5易得如下方程:△U n =U n *-U n ,U i *=K N /△U n ,△U i =U i *-βI d ,U ct =K I /△U i整理后能够得到系统的静特性方程为:(3-39)其中 K=K N /K I /K S α/C e —系统的开环增益 静态速降为:ed s I ed I K Ce RK K n )1('++=∆β (3-40)设计要求满足的静差率为s≤4%.调速范围D,静差率s 与静态速降△n ed 的关系为:△n ed =n ed s/D(1-s)即 △n ed =1500*0.04/10(1-0.04)=6.25 为系统所能允许的静态速降。
一般情况下,总有βK I /K S >>R ,K>>1 则取K I /=100,有R I /=K I /R 0=100*20=2MΩ 由(3-16)整理得:(')''I S ed e edN N I SK K R I C n K K K K βα+-∆=带入数据得K N /=161.3取K N /=170 ,所以R n =K n /R 0=170*20=3.4(MΩ) 取K I /=100,则)M (220*100*0'2Ω===R K R Ids I n s I N I K Ce R K K U K Ce K K K n )1()1('*''++-+=β检验: )rpm (25.611.66.15)28.271161(129.011.340100342.0)1('<=⨯+⨯+⨯⨯=++=∆ed s I ed I K Ce RK K n β04.0039.011.610150011.6<=+=∆+∆=ed ededn Dn n s显然,满足性能指标要求。
体系结构设计模型的表示方法体系结构设计模型的表示介绍体系结构设计模型是建立软件系统架构的关键步骤之一。
在设计过程中,如何准确地表示和展示系统的架构是十分重要的。
本文将介绍几种常用的体系结构设计模型的表示方法。
1. UMLUML(统一建模语言)是一种常用的软件工程建模语言,用于表示和描述系统的架构。
UML提供了多种图表,如用例图、类图、组件图、部署图等,能够很好地表示系统的结构和关系。
•用例图:用于描述系统功能和用户之间的交互。
•类图:用于描述系统中的类和它们之间的关系。
•组件图:用于描述系统中的模块和它们的依赖关系。
•部署图:用于描述系统的物理架构和部署方案。
2. 架构图架构图是一种更高层次的表示方法,它能够直观地展示系统的组成部分和它们之间的关系。
常见的架构图包括:•静态结构图:用于表示系统的静态组成,如层次结构图、模块图、包图等。
•动态行为图:用于表示系统的动态行为,如时序图、活动图等。
•部署图:用于描述系统的物理架构和部署方案。
3. 代码注释代码注释是一种简单而直接的体系结构表示方法。
通过在代码中添加注释,可以解释和说明代码的结构和设计思路。
代码注释可以采用各种规范和工具,如Javadoc、XML注释等。
4. 文档文档是另一种常用的体系结构表示方法。
通过编写详细的文档,可以描述系统的组成部分、接口细节、设计原理等,从而帮助人们理解和使用系统。
5. 绘图工具绘图工具是一种辅助工具,可以帮助开发人员创建和编辑各种类型的图表。
常见的绘图工具有Visio、Draw.io、Lucidchart等,它们提供了丰富的图形库和编辑功能,能够高效地创建和修改系统架构图。
总结在体系结构设计过程中,合适的表示方法能够更好地帮助开发人员理解和描述系统的架构。
本文介绍了几种常用的体系结构设计模型的表示方法,包括UML、架构图、代码注释、文档和绘图工具。
开发人员可以根据实际需求选择合适的表示方法,从而更好地设计和开发软件系统。
运动控制系统第四版思考题答案电力拖动自动控制系统-运动控制系统(阮毅陈伯时)课后答案包括思考题和课后习题第2章2-1 直流电动机有哪几种调速方法?各有哪些特点?答:调压调速,弱磁调速,转子回路串电阻调速,变频调速。
特点略。
2-2 简述直流PWM 变换器电路的基本结构。
答:直流PWM 变换器基本结构如图,包括IGBT 和续流二极管。
三相交流电经过整流滤波后送往直流PWM 变换器,通过改变直流PWM 变换器中IGBT 的控制脉冲占空比,来调节直流PWM 变换器输出电压大小,二极管起续流作用。
2-3 直流PWM 变换器输出电压的特征是什么?答:脉动直流电压。
2=4 为什么直流PWM 变换器-电动机系统比V-M 系统能够获得更好的动态性能?答:直流PWM 变换器和晶闸管整流装置均可看作是一阶惯性环节。
其中直流PWM 变换器的时间常数Ts 等于其IGBT 控制脉冲周期(1/fc),而晶闸管整流装置的时间常数Ts 通常取其最大失控时间的一半(1/(2mf)。
因fc 通常为kHz 级,而f 通常为工频(50 或60Hz)为一周内),m 整流电压的脉波数,通常也不会超过20,故直流PWM 变换器时间常数通常比晶闸管整流装置时间常数更小,从而响应更快,动态性能更好。
2=5 在直流脉宽调速系统中,当电动机停止不动时,电枢两端是否还有电压?电路中是否还有电流?为什么?答:电枢两端还有电压,因为在直流脉宽调速系统中,电动机电枢两端电压仅取决于直流PWM 变换器的输出。
电枢回路中还有电流,因为电枢电压和电枢电阻的存在。
2-6 直流PWM 变换器主电路中反并联二极管有何作用?如果二极管断路会产生什么后果?答:为电动机提供续流通道。
若二极管断路则会使电动机在电枢电压瞬时值为零时产生过电压。
2-7 直流PWM 变换器的开关频率是否越高越好?为什么?答:不是。
因为若开关频率非常高,当给直流电动机供电时,有可能导致电枢电流还未上升至负载电流时,就已经开始下降了,从而导致平均电流总小于负载电流,电机无法运转。
6 静态结构图类图表示模型的静态结构,特别是表示存在的事物(如类和类型)、事物的内部结构和事物间的关系。
类图不表示临时信息,虽然它们可以包含具体出现的事物或描述临时行为的事物。
对象图是一个与一个具体的类图相容的实例。
本节讨论类及其变体,包括模板和实例化类、类间的关系(关联和泛化)和类的内容(属性和操作)。
6.1 类图类图是静态元素和它们之间各种静态关系的图形表示。
注意,“类”图可能也包括接口、包、关系甚至实例,比如对象和链。
或许类图的一个更好的名字是“静态结构图”,但“类图”更简短并且容易为人接受。
6.1.1 语义类图是静态结构模型的图形视图。
各单个的类图并不表示对构成模型的基本元素的划分。
6.1.2 表示法类图是一个(静态)声明的模型元素的集合,例如类、接口和它们之间的关系,这些元素及其内容相互连接构成图。
可以根据基础模型把类图组织成包,或者组织成建立在基础模型包之上的独立的包。
6.1.3 映射类图不一定与单一的语义实体相匹配。
可以用一个或多个类图表示静态结构模型中的一个包。
把这种表示分为几个单独的图是为了图形上的方便,并不意味着对模型本身进行划分。
类图的内容映射为静态语义模型中的元素。
如果类图是某个包的一部分,那么它的内容映射为同一个包中的元素(可能包括从其它的包对所访问或引入元素的引用)。
6.2 对象图对象图是包括对象和数据值在内的实例的图形。
静态对象图是类图的一个实例;它是在一个时间点上对系统详细状态的“快照”。
对象图的使用比较有限,主要用来表示数据结构的示例。
工具没有必要支持单独格式的对象图。
类图可以包括对象,所以只有对象而没有类的类图就是“对象图”。
然而,对象图这个术语是有用的,用于标征在不同方式下可实现的特定用法。
6.3 类目类目是类、数据类型、接口的超类。
它们都具有相似的语法,所以按需要都用带有关键字的矩形图符表示。
因为类是图中最普遍的,所以用没有关键字的矩形表示类,类目的其它子类(如数据类型和接口等)用关键字指出。
以下的讨论将集中于类,其中大多数表示对于语义上合适的元素也是适用的,正如后面各节描述的那样。
6.4 类类是一组具有相同结构、行为和关系的对象的描述符。
模型与类的描述有关,也即与定义类的规则有关。
系统执行时提供了它的实例。
本部分为类提供了表示法,用于声明类、规约类的属性以及规定以各种方式对类的使用。
用附在类符号上的关键字表示在形式上和类相似的模型元素(如接口、信号和实用程序);其中的一些是单独的元模型类,一些是类的衍型。
类在类图中声明,在大多数的其它模型图中使用。
本部分提供了声明和使用类的图形表示,同时提供了在其它模型元素的描述中引用类的文字表示。
6.4.1 语义类表示正被建模系统的一个概念。
类有数据结构、行为以及与其它元素的关系。
类名的作用域是声明它的包,在类所属的包中,所有类名都是唯一的。
6.4.2 基本表示法用一个被水平线划分成三个分栏的实线矩形表示类。
最上面的那个名称栏包含类名和类的其它一般性质(包括衍型);中间的分栏包含属性列表;最下面的分栏包含操作列表。
更多信息见 6.5“名字分栏”和6.6“列表分栏”6.4.2.1 引用在默认的情况下,一个包中所给出的类就被认为是在那个包中定义的。
要表示对定义在另外包中的类的引用,使用语法:包名::类名作为名字分栏中的名字串。
通过把用双冒号(::)分隔的包名连结起来,来规约完整的路径名。
6.4.3 表示选项可以不显示属性或操作分栏。
对于不显示的分栏不用画分隔线。
如果一个分栏没有被显示,不能推断其中存在或者缺少元素。
在必要的时候可以用分栏名去除歧义。
作为扩展,工具可以提供更多的分栏,以表示预定义的或用户定义的模型性质(例如,表示业务规则、责任、变体、事件处理、异常的产生等)。
大多数分栏只是简单的串列表。
更具复杂格式的分栏也是可能的,但本部分并没有指定这些格式,那是工具的职责。
每个分栏的出现最好隐式地基于它的内容。
必要时可以使用分栏名。
工具可以提供其它方法来表示类引用,以区分类引用和类声明。
可以收缩带有衍型图标的类符号,仅显示衍型图标,类名位于类符号中或者图标下面。
不显示类的其它内容。
6.4.4 风格指导a) 类名使用黑体字,位于分栏中央;b) 关键字(包括衍型名称)字体用普通格式,位于书名号内,放在类名的上方并位于分栏的中央;c) 类名以大写字母开始;d) 属性和服务用普通格式,左对齐;e) 属性和服务以小写字母开始;f) 抽象类或者抽象操作的特征标记以斜体字表示。
作为工具的扩展,粗体字用来表示特殊的列表元素(例如,在数据库设计中表示候选关键字)。
例如,用此可以对被模型化为标记值的一些设计属性编码。
在需要时,显示所有的属性和操作,而在其他的上下文或者引用中只显示一些属性和操作。
6.4.5 示例图6-1类表示法:不显示细节、显示分析级细节、显示实现级细节6.4.6 映射类符号映射为包内的类元素,这个包拥有含有该类符号的图。
名称分栏的内容映射为类名和类的性质(内在属性或标记值)。
属性分栏映射为类的属性表。
操作分栏映射为类的操作表。
性质字符串{位置=名字}映射为和构件相关联的实现位置。
其中名字是所含构件的名字。
6.5 名称分栏6.5.1 表示法名字分栏显示类名,并且最多可以显示如下三个方面的特性:a) 衍型关键字或衍型图标衍型关键字位于类名上方的一个在书名号内,是可选的;衍型图标位于分栏的右上方。
衍型名字不必与已预定义的关键字相匹配。
b) 类名如果类是抽象类,则类名以斜体表示。
注意,任何一般状态的显式规约的优先级都高于名字字体。
c) 性质串表在类名下面放置用括号括起来的表示性质的串列表(元模型属性和标记值)。
这个列表可以表示本部分没有指定表示法的类级属性,类级属性也可以用标记值指定。
一个布尔类型的没有具体值的关键字的出现暗示着“真”值。
例如,叶类显示性质“{leaf}”。
衍型和性质列表是可选的。
图6-2 名称分栏6.5.2 映射名称分栏的内容映射为由类符号表示的类名字、衍型和各种性质。
6.6 列表分栏6.6.1 表示法列表分栏含有一个字符串列表,每个字符串是特征的编码表示,例如属性和操作。
每个字符串占一行,对超出一行的处理取决于特定的工具。
除了属性和操作列表,可选的增加的列表可以表示预定义的或者用户自定义的值,例如责任、规则或历史更改纪录。
本部分没有定义这些可选的列表。
对用户自定义列表的操作是与工具相关的。
表中的项是有序的,排序规则可以由用户更改。
元素次序是有含义的信息,并且在工具中必须是可访问的(例如,这可以被源代码产生器用于产生一个声明列表)。
为了达到一些其它目的,可以用不同的次序表示元素列表。
即使列表已经排序,在基础模型中项仍然保持原有的顺序。
这样的排序信息只是没有在视图中表示。
作为列表中或者列表分隔区的最后一个元素的省略号指出模型中按选择条件还存在其它的元素,但是没有在这个列表中显示出来。
这样的元素可能在这个列表的其它视图中出现。
6.6.1.1 组合特性可以把性质串表示成一个列表元素,在这种情况下,它作用到所有的后继的列表元素,直到另一个作为列表元素的性质串出现为止。
这等价于给每个列表元素分别附上一个性质串。
这样的性质串可用于各种模型元素。
这种用法的例子包括指明衍型和指定可见性。
也可以按类似的方式用关键字来限定后续的列表元素。
6.6.1.2 分栏名分栏可以显示名字,以表明它的类型。
分栏名以特定的字体显示在分栏顶部的中央。
在省略某些分栏或者存在有用户额外自定义的分栏时,这种能力是有用的。
对类来说,预定义的分栏被命名为属性和操作。
用户自定义分栏的一个示例是,用户为需求定义的分栏。
类的名称分栏必须存在,但它不需要有一个分栏名字;如果需要,也可以给出分栏的名字。
6.6.2 表示选项工具可以按排序的次序展示列表元素,在这种情况下元素内在的次序不可见。
排序基于某种内在的性质,并不指明额外的模型信息。
排序规则的例子有:a) 按字母排序b) 按衍型排序(比如构造函数、析构函数和普通方法)c) 按可见性排序(公共的、受保护的、私有的)可以根据某些选择规则过滤列表中的元素。
选择规则的规约是工具的职责。
过滤后的列表为空表示没有元素符合过滤条件,并不能推断不符合过滤条件的元素的存在与否。
然而,默认表示法可用于表示不可见元素的存在。
尽管可理解的独立图应该有一些过滤的指示,但是否和怎样表示局部或者全局的过滤是工具的职责。
如果不显示一个分栏,并不能推断其中是否存在元素。
一个空的分栏表示没有元素符合目前选择的过滤条件。
值得注意的是,属性也可以用组合的方式显示。
(见6.28的图)6.6.3 例子图6-3 应用到列表元素组的衍型关键字图6-4 具有名称的分栏6.6.4 映射列表分栏中的各项映射为模型元素列表,每个对应一个列表项。
模型元素的顺序和列表分栏项相匹配(除非按某种方式排列列表分栏)。
在这样的情况下,并不意味着构造了元素的次序(通过关掉排序可以看到次序)。
但是,一个具有衍型标示(带书名号)或性质标示(带花括号)的列表项字符串不映射为单独的模型元素,除非当不同的单独衍型或者性质指示符出现,相应的性质必须应用于每个后续的模型元素。
在概念上,性质规约要复制到每个列表元素上,尽管工具可能包含存储或者修改性质的内在机制。
列表中出现的省略号意指语义模型中至少含有一个元素,它对应于列表分栏中的相应性质,但它是不可见的。
6.7 属性属性分栏中的串用于显示类的属性。
用于描述限定符、模板参数和操作参数等的语法与其类似(其中的一些省略某些项)。
6.7.1 语义注意,属性在语义上等价于一个组合关联,然而其目的和用途通常是不一样的。
属性的类型是类型表达式。
它可能决定于类名或者可能很复杂,例如 array[String] of Point。
无论那种情况,本部分没有指定属性类型表达式的细节。
它们依赖由具体的规约或所使用的编程语言支持的表达式语法。
6.7.2 表示法把属性表示为能被解析成属性模型元素的各种特性的文本串。
默认的语法是:可见性名称[多重性]:类型表达式 =初始值{性质串}a) 可见性的值是下列之一:+ 公有的# 受保护的- 私有的可以不显示可见性标记。
没有可见性标记表示没有显示可见性,并不表示没定义或者是公有的。
即使没有显示可见性,工具也应该能够对给出的新属性赋于可见性。
可见性标记是对整个可见性性质规约串的缩记。
可见性也可以用关键字(public, protected, private)指定。
当可见性作为应用于属性块的内嵌列表元素时,这种形式尤为有用。
对于某些编程语言,可以定义其它类型的可见性,例如C++的实现的可见性(实际上,所有非公有的可见性形式都是与语言相关的)。
这些可见性必须由特定工具予以规范或由性质串指定。