欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > uml心得体会

uml心得体会

时间:2013-08-12 06:50

求一篇使用UML进行软件工程设计后的心得,要比较正式的,谢谢

这位同学,不用找了,如果发现交上来的跟这里的雷同,一律0分

求UML 知识点总结

学习感想——思路决定出路人的学习是无止境的,只有不断的学习,才能给自己更丰富,更开阔的思路,经过两天的学习,让我感悟到很多事情,都是有两面性的,穷则变,变则通,出路在于变通,当目前的想法不能成功,说明你的想法有可能是错的,或者是由于没有改变自己的思路或者是懒于改变自己的思路或者是根本不想改变自己的思路,成功总有方法,想成功就要找方法,而思考是一切正确策略和方法的起源,思考其实就是问与答的过程,当你做一件事情没有达到目标时,问自己一个为什么

问自己问题出在了哪里,然后自己给出答案,学会反思学会换位思考。

“没有不好的孩子,只有不好的教育”,例如,在课堂中,在一日生活中孩子没有如我们所预想的那样做一些正确的事情,不能达到我们所要求的目标时,我们只能对孩子着急吗

与其对孩子发脾气,不如改变自己的教育观点理念,反思自己为什么,不能懒于改变自己的思路,就要求别人去适应自己的思路,我们何不反思自己从事情的另一个角度开始着手,可能会有意外收获,就像我们经常说的,给孩子机会孩子就会给你惊喜。

从中,我还深刻的理解到一个道理,大凡世界上能做大事的人,都能把小事做细,做好,做好了每件小事逐渐积累就会发生质变,小事就会变成大事,任何一件小事只要你把它做规范了,做到位了,做透了,你就会从中发现机会,找到规律,从而成就大事,也就是说,一件事情我会做了,但做好了吗,做精了吗,一个人无论从事何种职业,都应该尽心尽责

UML类图几种关系的总结

例如:老虎是动物的一种,即有老虎的特性也有动物的共性。

【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现. 【箭头指向】:带三角箭头的虚线,箭头指向接口 3. 关联(Association) 【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。

双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量 【箭头及指向】:带普通箭头的实心线,指向被拥有者 上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。

但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

下图为自身关联: 4. 聚合(Aggregation) 【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。

如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量 【箭头及指向】:带空心菱形的实心线,菱形指向整体 5. 组合(Composition) 【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。

如公司和部门是整体和部分的关系,没有公司就不存在部门。

组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

【代码体现】:成员变量【箭头及指向】:带实心菱形的实线,菱形指向整体 6. 依赖(Dependency) 【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖. 【代码表现】:局部变量、方法的参数或者对静态方法的调用 【箭头及指向】:带箭头的虚线,指向被使用者 各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 下面这张UML图,比较形象地展示了各种类图关系:

UML类和类之间的关系可以有多种吗

UML对象和类之间的相互关系总结UML中描述对象和类之间相互关系的方式包括:依赖(Dependency)关联(Association)聚合(Aggregation)组合(Composition)泛化(Generalization)实现(Realization)等。

依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关系,但由于其有更特殊的用途,所以被单独描述。

UML中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素。

关联(Association):元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。

UML中用实线表示Association关系,箭头指向被依赖元素。

聚合(Aggregation):关联关系的一种特例,表示部分和整体的关系。

UML中用带空心菱形头的实线表示Aggregation关系,菱形头指向整体。

UML对象和类的聚合关系是关联的一种形式,代表两个类之间的整体\\\/局部关系。

聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。

关联和聚合的区别纯粹是概念上的,而且严格反映在语义上。

聚合还暗示着实例图中不存在回路。

换言之,只能是一种单向关系。

组合(Composition):组合是聚合关系的变种,表示元素间更强的组合关系。

如果是组合关系,如果整体被破坏则个体一定会被破坏,而聚合的个体则可能是被多个整体所共享的,不一定会随着某个整体的破坏而被破坏。

UML中用带实心菱形头的实线表示Composition关系,菱形头指向整体。

泛化(Generalization):UML对象和类的泛化关系就是通常所说的继承关系,UML中用带空心箭头的实线线表示Generalization关系,箭头指向一般个体。

实现(Realize):元素A定义一个约定,元素B实现这个约定,则B和A的关系是Realize,BrealizeA。

这个关系最常用于接口。

UML中用空心箭头和虚线表示Realize关系,箭头指向定义约定的元素。

其中依赖(Dependency)的关系最弱,而关联(Association),聚合(Aggregation),组合(Composition)表示的关系依次增强。

换言之关联,聚合,组合都是依赖关系的一种,聚合是表明对象之间的整体与部分关系的关联源码天空,而组合是表明整体与部分之间有相同生命周期关系的聚合。

而关联与依赖的关系用一句话概括下来就是,依赖描述了UML对象之间的调用关系,而关联描述了对象之间的结构关系。

UML能保证我们开发出高质量的软件吗

UML是一种规则和方法,UML建模工具是体现UML规则的工具,用工具可以帮我们更准确快速的实现自己对UML的表现

就像我们美工要更好的完成美工图片,一定会用photoshop,而不是画图板一样。

学习《软件工程》心得和体会

软程学习心得在期的软件工程课程的学习中,我们学习了十一章容。

第一章软软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。

第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。

还引出了工具UML。

第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、E-R图以及状态图式本节的重点。

第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。

第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。

第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。

第七章统一建模语言UML概述,本章详细介绍了UML的基本模式、事物、关系及建模时用到的各种图进行了介绍。

第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。

第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。

第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。

第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。

要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则: 软件工程目标:生产具有正确性、可用性以及开销合宜的产品。

正确性指软件产品达到预期功能的程度。

可用性指软件基本结构、实现及文档为用户可用的程度。

开销合宜是指软件开发、运行的整个开销满足用户要求的程度。

这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。

软件工程过程主要包括开发过程、运作过程、维护过程。

它们覆盖了需求、设计、实现、确认以及维护等活动。

需求活动包括问题分析和需求分析。

问题分析获取需求定义,又称软件需求规约。

需求分析生成功能规约。

设计活动一般包括概要设计和详细设计。

概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。

详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。

实现活动把设计结果转换为可执行的程序代码。

确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。

维护活动包括使用过程中的扩充、修改与完善。

伴随以上过程,还有管理过程、支持过程、培训过程等。

软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

我们学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。

包括程序流程图、N-S图、PAD图、HIPO图程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。

它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。

在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;while型循环;until型循环;多情况型选择。

N-S图:一种符合结构化程序设计原则的图形描述工具,称为盒图,又称为N-S图。

在N-S图中,为了表示五种基本控制结构,规定了五种图形构件。

顺序型;选择型;WHILE重复型;UNTIL重复型;多分支选择型。

PAD图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。

PAD也设置了五种基本控制结构的图示,并允许递归使用。

HIPO图:HIPO图是由一组IPO图加一张HC图组成。

它是美国IBM公司在软件设计中使用的主要表达工具。

HC图既是层次图,用于表示软件的分层结构。

HC图中的每一个模块,均可用一张IPO图来描述。

IPO 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入—处理—输出三者之间的联系。

还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。

测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。

静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。

动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。

还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。

软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。

但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。

还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展;在学习语言时,要看看与C语言的联系,多思多想,把从各个科目学到的知识通汇贯通。

在软件工程的学习中,我了解到了软件并非是一些代码这么简单,在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的30%,而后期的管理和维护更是占了60%到80%之多。

一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。

而编码的学习中,我更了解到形成自己独特的规范的编码风格是非常重要的事。

因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序

读不懂程序,维护又从何谈起呢

所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。

在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。

而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。

形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。

在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。

不断锻炼自己,向一名合格的程序设计师迈进。

什么是UML

面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。

它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

   1. 标准建模语言UML的出现  公认的面向对象建模语言出现于70年代中期。

从1989年到1994年,其数量从不到十种增加到了五十多种。

在众多的建模语言中,语言的创造者努力推崇自己的产品,并在实践中不断完善。

但是,OO方法的用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点选择合适的建模语言,于是爆发了一场“方法大战”。

90年代中,一批新方法出现了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。

      Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。

1991年,他将以前面向Ada的工作扩展到整个面向对象设计领域。

Booch 1993比较适合于系统的设计和构造。

      Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。

这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。

OMT-2特别适用于分析和描述以数据为中心的信息系统。

      Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。

用例的概念是精确描述需求的重要武器,但用例贯穿于整个开发过程,包括对系统的测试和验证。

OOSE比较适合支持商业工程和需求分析。

      此外,还有Coad\\\/Yourdon方法,即著名的OOA\\\/OOD,它是最早的面向对象的分析和设计方法之一。

该方法简单、易学,适合于面向对象技术的初学者使用,但由于该方法在处理能力方面的局限,目前已很少使用。

     概括起来,首先,面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此很难找到一种比较适合其应用特点的语言;其次,众多的建模语言实际上各有千秋;第三,虽然不同的建模语言大多类同,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。

因此在客观上,极有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,统一建模语言。

      1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。

他们首先将Booch 93和OMT-2 统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(Unitied Method)。

1995年秋,OOSE 的创始人Ivar Jacobson加盟到这一工作。

经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并将UM重新命名为UML(Unified Modeling Language)。

      1996年,一些机构将UML作为其商业策略已日趋明显。

UML的开发者得到了来自公众的正面反应,并倡议成立了UML成员协会,以完善、加强和促进UML的定义工作。

当时的成员有DEC、HP、I-Logix、 Itellicorp、 IBM、ICON Computing、MCI Systemhouse、Microsoft、Oracle、Rational Software、TI以及Unisys。

这一机构对UML 1.0(1997年1月)及UML 1.1(1997年11月17日)的定义和发布起了重要的促进作用。

      UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

它溶入了软件工程领域的新思想、新方法和新技术。

它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

      面向对象技术和UML的发展过程可用上图来表示,标准建模语言的出现是其重要成果。

在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。

1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。

1997年11月17日,OMG采纳UML 1.1作为基于面向对象技术的标准建模语言。

UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。

UML是什么

建模用的。

就像盖房子一样画图

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片