您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 基于UML的软件设计和建模
基于UML的软件设计和建模周秉锋2002.8基于UML的软件设计和建模参考书:–[1]《UML软件建模》作者:周秉锋出版者:北京大学出版社–[2]《TheUnifiedModelingLanguageUserGuide》byGradyBooch,...1.引言为什么要建模–模型是对现实世界的简化。–在成熟的工业生产领域,建模的方法得到了广泛的应用,–例如:电子工业…...在成熟的工业生产领域,建模的方法得到了广泛的应用,例如:电子工业…...–在设计收音机的时候:1.先确定收音机是几个波段、有几个喇叭,等等2.然后,设计电路图。用集成电路符号、晶体管符号、电阻电容符号,加上各种标注。3.最后,做实验电路板,调试,定型,生产。–电路图就是模型,是现实世界的简化再看看我们现在软件是怎么做的...1.引言1.引言我们现在怎么做软件...–先写一个系统分析报告–简单的设计报告(一些孤立的文字和图形)–开始编码,调试,测试,发行。在大多数情况下,这时的工作已经和前两步工作脱钩了。相当于不画电路图直接用集成电路、晶体管、电阻、电容做收音机电路。1.引言我们现在怎么做软件...相当于不画电路图直接用集成电路、晶体管、电阻、电容做收音机电路。–这在电子工业是不可想象的:怎么维修、怎么在原有产品基础上发展更先进的产品。–对于软件工业,这些问题一样是存在的。怎么办?...1、引言怎么办?多年来,软件工程试图解决这一问题,但成效不大–原因:缺少工具,只停留在理论上,用一张纸、一只笔进行软件工程管理不易为软件人员接受,没有标准,无法进行有效的交流。现在,我们有了…...–软件工程工具,如:ROSE…,–软件建模标准:UML1.引言:什么是UMLUML:统一建模语言(UnifiedModelingLanguage)UML是用于描绘软件蓝图的标准语言。它可用于对软件密集型系统进行–视化(visualize),–说明(specify),–建造(construct)和–建档(document)这也是对软件系统进行建模的四个目的1.引言:什么是UML解释:–UML是语言:语言意味着有标准的表达规则–UML是蓝图–UML是由图形符号表达的建模语言–例如:类:...类Windoworiginsizeopen()close()display()1.引言:什么是UMLUML中类的图形表示:1.引言:什么是UMLUML中其他一些常用的模型元素:–用例、接口、组件用例接口组件Shell.cppCheckPassWordIspelling1.引言:什么是UML使用UML进行软件建模的原则–准确的原则:模型必须准确地反映软件系统的真实情况。–分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象程度,反映系统的不同侧面。–分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。–标准的原则:建模方法必须在某种程度上是通用的。1.引言:什么是UML使用UML进行软件建模的原则–准确的原则:模型必须准确地反映软件系统的真实情况。–在前面所述的软件开发方法中,实际上已经进行了一定程度的建模工作(系统分析报告和软件设计报告),但由于缺乏规范而有效的建模手段,最初的设计和最终的产品产生了分离.–这使得模型没能真实的反映系统的真实情况,从而使得模型失去了应有的价值模型必须准确,意味着在软件开发的整个周期内,模型必须和产品始终保持一致。1.引言:什么是UML使用UML进行软件建模的原则–分层的原则:在建模的过程中,必须有不同的模型,以不同的抽象抽象程度,反映系统的不同侧面。–E.g.在设计电子产品时,必须绘制电原理图和布线图以分别反映产品的电路原理和物理联线。–在软件构筑的不同阶段,不同的开发相关人员看待软件的侧重面有所不同。软件系统的建模需要不同的模型以反映系统的不同侧面。例如:–可以用一类模型描绘系统的外部边界和行为。–用另一类模型描绘系统的内部逻辑关系。CCursorPan(frombmpviewer)CBmpViewerView(frombmpviewer)CToolPan(frombmpviewer)CMainFrame(frombmpviewer)CBmpViewerData(frombmpviewer)CToolBase(frombmpviewer)1+m_pCBmpViewerData1CCursorBase(frombmpviewer)+m_pCursorBase11111.引言:什么是UML使用UML进行软件建模的原则–分治的原则:不可能单独用一个模型来反映整个系统的任何侧面。软件系统是复杂的,–对于软件模型的任意一个侧面,不可能用一个模型来反映所有内容,需要把问题分解为不同的子模型,分别处理这些模型相对独立,但又互相联系,综合起来构成了此侧面的一个完整的模型。1.引言:什么是UML使用UML进行软件建模的原则–标准的原则:建模方法必须在某种程度上是通用的。建模的基本目的:交流–一个开发队伍内部的开发人员之间需要交流–同一软件的不同时期的版本的开发队伍,需要参考以前版本的开发队伍的设计原理和实现方案。–不同软件的开发队伍之间也需要交流以实现最大程度的软件复用。如果各开发队伍和开发人员在建模的时候采用同样的方法和符号,交流才会高效的进行。1.引言:什么是UML使用UML进行软件建模的规则–UML的模型图不是由UML语言成份简单地堆砌而成的。它必须按特定的规则有机地组成合法的UML图。一个完备的UML模型图(well-formedUMLdiagram)必须在包括对如下内容的描述:–名字:任何一个UML成员都必须包含一个名字。–作用域:UML成员所定义的内容起作用的上下文环境。–可见性:UML成员能被其它成员引用的方式。–完整性:UML成员之间互相联接的合法性和一致性。–运行属性(execution):UML成员在运行时的特性。1.引言:什么是UML使用UML进行软件建模的规则–完备的UML模型在用于建造系统时是必须的–但是…当它在不同的视图中出现时,出于不同的交流侧重点,其表达可以是不完备的。在系统的开发过程中,模型可以–被省略:即模型本身是完备的,但在图上某些属性被隐藏起来,以简化表达。–不完全:在设计过程中某些元素可以暂时不存在。–不一致:在设计过程中暂不保证设计的完整性。上述3条建模规则的目的–鼓励开发者在设计模型时把注意力放在某一特定时期内对分析设计活动最重要的问题上,而暂不迷恋于细节的完美,使模型逐步趋向完备。1.引言:什么是UMLUML是围绕着软件的体系结构进行建模的–软件的体系结构(softwarearchtecture)是软件产品构筑过程中的一项重要的软件制成品。软件体系结构由一系列的决定组成,这些决定定义了如下内容:软件系统的组织构成软件系统的结构元素的结构及它们之间的接口结构元素的行为及元素之间的协同(collaboration)结构元素的不断组合以构成日渐完备的子系统的过程1.引言:什么是UMLUML用“视图(view)”描述软件体系结构:设计视图实现视图进程视图分布视图用例视图动态行为设计词汇、功能描述系统组装、配置管理性能、稳定性、吞吐率系统拓扑、分布、分发、安装1.引言:什么是ROSEROSE:软件建模、分析工具。–UML相当于制图规则,–ROSE...相当于三角板、圆规、绘图仪。相当于万用表、示波器、逻辑分析仪。MicrosoftVisualStudio相当于电烙铁,车床上面的类比很重要,有助于理解使用ROSE。我们会经常引用。1.引言:通过ROSE用UML进行软件建模ROSE的组织是和UML的软件体系结构相对应的ROSE四层视图–UseCaseView(用例视图)–LogicalView(逻辑视图)–ComponentView(部件视图)–DeploymentView(分布视图)1.引言:通过ROSE用UML进行软件建模ROSE的组织是和UML的软件体系结构相对应的ROSE四层视图–UseCaseView(用例视图)定义系统的边界:关注系统的外部功能的描述–LogicalView(逻辑视图)定义系统的实现逻辑:为实现Use_Case图描述的功能,系统应做的处理的逻辑描述,此时的描述原则上与实现平台无关。–ComponentView(部件视图)定义系统的物理实现,生成代码。–DeploymentView(分布视图)描述系统的网络分布2.需求分析和行为建模初步需求分析–用例视图用例和用例图需求分析及软件边界的动态行为的描述,动态建模–交互图序列图协同图2.需求分析和行为建模初步回顾:UML软件体系结构的各个视图和RationalROSE的设计界面–用例视图(UseCaseView)从使用的角度定义软件的外部特性–逻辑视图(LogicalView)定义系统的逻辑结构–部件视图(ComponentView)定义系统的实现2.需求分析和行为建模初步用例视图的建模手段:–用例视图描述的内容:系统的边界和系统与外界的交互–相关的UML建模元素用例/系统作用者(Usecase/Actor)-边界的静态结构交互图(InteractionDiagram))-边界的动态特性–包括•序列图(SequenceDiagram)•协同图(CollaborationDiagram)–交互图用于软件系统的动态行为的建模•在用例视图里:定义系统对用户交互的处理活动图-边界的动态特性–描述用户和系统的交互–可用于和用户交流2.需求分析和行为建模初步用例视图的建模述手段–用例(Usecase)定义:在UML里,用例(usecase)代表系统为响应系统作用者(actor)引发的一个事件而执行的一系列的处理,而且这处理应该为系统作用者产生一种可见的价值。用例系统作用者2.需求分析和行为建模初步用例视图的建模述手段:用例(Usecase)–具体地讲,用例描述了当系统作用者和软件系统进行交互时软件系统所执行的一系列的动作序列。动作序列–不但应包含正常使用的各种动作序列–而且应包含非正常使用时软件系统的动作序列的描述用例系统作用者2.需求分析和行为建模初步用例视图的建模述手段:用例(Usecase)–一个用例,通常就代表系统作用者和系统的一次交互因此,用例视图中用例的设置,就代表了软件系统的功能的划分。–这样,将哪些动作组合为一个用例,将影响到软件系统功能设置的合理性和方便性。为了得到得合理而方便的软件系统的功能设置,必须仔细考虑每个用例代表的动态行为的内容,使得每个用例都能产生一个有价值的结果。–这也是用例的定义中所谓产生可见的价值的含义。2.需求分析和行为建模初步用例视图的建模述手段:–系统作用者(Actor)定义:系统作用者代表一类位于系统之外并直接和系统交互的对象。用户以及直接与我们设计的系统打交道的软/硬件系统都是系统作用者。系统作用者表示的是系统的用户,它们能帮助我们界定(delimit)系统的功能,并能给出一个清晰的画面来表示系统将做的事情。2.需求分析和行为建模初步用例视图的建模述手段–交互图(InteractionDiagram)包括–序列图(SequenceDiagram)–协同图(CollaborationDiagram)交互图描述系统与用户之间的交互–是联系系统的外部描述与相应的内部结构的桥梁与中介–交互是为达某一目的而在一组对象之间进行消息交换的的行为。-UML的定义2.需求分析和行为建模初步下面通过一个例子看如何使用用例视图来描述系统的边界我们的例子:……2.需求分析和行为建模初步我们的例子:–需求描述我们做一个windowsbitmap文件观察工具,它有如下功能:1.打开一个bitmap文件2.可对文件进行放大、缩小3.可对文件进行黑白转换4.可对文件进行亮度调整5.可对文件进行对比度调整6.可对文件进行(90度)旋转7.可对文件进行上下、左右翻
本文标题:基于UML的软件设计和建模
链接地址:https://www.777doc.com/doc-3171966 .html