建模软件的心得体会

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建模软件的心得体会
学习数学建模的心得体会
一年一度的全国数学建模大赛在今年的9 月22 日上午8 点拉开战幕,各队
将在3 天72 小时内对一个现实中的实际问题进行模型建立,求解和分析,确定
题目后,我们队三人分头行动,一人去图书馆查阅资料,一人在网上搜索相关信
息,一人建立模型,通过三人的努力,在前两天中建立出两个模型并编程求解,
经过艰苦的奋斗,终于在第三天完成了论文的写作,在这三天里我感触很深,现
将心得体会写出,希望与大家交流。

1.团队精神:
团队精神是数学建模是否取得好成绩的最重要的因素,一队三个人要相互支
持,相互鼓励。

切勿自己只管自己的一部分(数学好的只管建模,计算机好的只管编程,写作好的只管论文写作),很多时候,一个人的思考是不全面的,只有
大家一起讨论才有可能把问题搞清楚,因此无论做任何板块,三个人要一起齐心
才行,只靠一个人的力量,要在三天之内写出一篇高水平的文章几乎是不可能的。

2.有影响力的leader:
在比赛中,leader 是很重要的,他的作用就相当与计算机中的CPU,是全队
的核心,如果一个队的leader 不得力,往往影响一个队的正常发挥,就拿选题来说,有人
想做A 题,有人想做B 题,如果争论一天都未确定方案的话,可能就
没有足够时间完成一篇论文了,又比如,当队中有人信心动摇时(特别是第三天,人可能
已经心力交瘁了),leader 应发挥其作用,让整个队伍重整信心,否则可能导致队伍的前
功尽弃。

3.合理的时间安排:
做任何事情,合理的时间安排非常重要,建模也是一样,事先要做好一个规
划,建模一共分十个板块(摘要,问题提出,模型假设,问题分析,模型假设,
模型建立,模型求解,结果分析,模型的评价与推广,参考文献,附录)。

你每
天要做完哪几个板块事先要确定好,这样做才会使自己游刃有余,保证在规定时
间内完成论文,以避免由于时间上的不妥,以致于最后无法完成论文。

4.正确的论文格式:
论文属于科学性的文章,它有严格的书写格式规范,因此一篇好的论文一定
要有正确的格式,就拿摘要来说吧,它要包括6 要素(问题,方法,模型,算法,结论,特色)
它是一篇论文的概括,摘要的好坏将决定你的论文是否吸引评委的目光,但听阅卷老师
说,这次有些论文的摘要里出现了大量的图表和程序,这都是不符合论文格式的,这种论
文也不会取得好成绩,因此我们写论文时要端正态度,注意书写格式。

5.论文的写作:
我个人认为论文的写作是至关重要的,其实大家最后的模型和结果都差不
多,为什么有些队可以送全国,有些队可以拿省奖,而有些队却什么都拿不到,
这关键在于论文的写作上面。

一篇好的论文首先读上去便使人感到逻辑清晰,有
条例性,能打动评委;其次,论文在语言上的表述也很重要,要注意用词的准确
性;另外,一篇好的论文应有闪光点,有自己的特色,有自己的想法和思考在里
面,总之,论文写作的好坏将直接影响到成绩的优劣。

6.算法的设计:算法的设计的好坏将直接影响运算速度的快慢,建议大家多用数学软件
Mathematice,Matlab,Maple,Mathcad,Lindo,Lingo,SAS 等),这里提供十种数学建模常用算法,仅供参考:
1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决
问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必
用的方法)
2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数
据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab 作为工具)
3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多
数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通
常使用Lindo、Lingo软件实现)
4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算
法,涉及到图论的问题可以用这些方法解决,需要认真准备)
5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算
法设计中比较常用的方法,很多场合可以用到竞赛中)
6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些
问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,
但是算法的实现比较困难,需慎重使用)
7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很
多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种
暴力方案,最好使用一些高级语言作为编程工具)
8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计
算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替
积分等思想是非常重要的)
9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分
析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编
写库函数进行调用)
10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文
中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问
题,通常使用Matlab 进行处理)
以上便是我这次参加这次数学建模竞赛的一点心得体会,只当贻笑大方,不
过就数学建模本身而言,它是魅力无穷的,它能够锻炼和考查一个人的综合素质,
也希望广大同学能够积极参与到这项活动当中来。

求三维建模的心得
3)研究角色拓扑对制作高精度模型有很重要的意义。

T3J中国数字艺术在线
这一点很多学习建模的朋友都知道,也都在积极的研究。

拓扑(也就是大家说的布线)一方面要注意肌肉和形体的走势,一方面还要注意面和面之间的组织方式。

和肌肉的关系,大家一般都有研究,比如眼睛要成循环状、嘴巴成循环状等等,这个论坛里很多,我不多说。

学习《软件工程》心得和体会
软件工程学习心得
在本学期的软件工程课程的学习中,我们学习了十一章的内容。

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

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

还引出了工具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%之多。

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

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

因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序读不懂程序,维护又从何谈起呢
所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。

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

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

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

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

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

学习UG的心得体会
1:针对建模方面。

A:UG捕捉非常的方便,建模中绘制的曲线,草图中不需要进行任何操作,就可以对相应的特征点进行捕捉,建模与草绘的互通性非常的好。

B:CATIA则在建模中的与草图中的资料是分离的,如果想调出资料,必须要经过处理要能找到你想要的特征。

有的关键点也是必须先找出,这样大大的增加了工作量。

2:曲面方面
A:UG做曲面的时候,有的时候曲线做的很好,面也有给约束,但做出来的面,经过分析,就是不能达到理想的效果,斑马线不能完全很顺的连接,不知道这样的问题,还有没有人遇见过。

B:CATIA在曲面上显示了独特的优势,特别是5边面的时候,效果非常的理想,并且很简单的就能做到G2的连接,做出的曲面非常的漂亮,添加约束也是非常的方便,简单明了。

3:装配与零件的互通性
A:这是两个软件都是一样,装配中的零件只能单独的修改,不能利用别的零件,对要修改的零件进行修改操作,虽然有了直接建模模块,修改比较方便,CATIA目前该版本还在试用,UG去年已经出来,这点非常的好,大大缩短了修改产品花去的时间。

如果装配能与零件互通,那就再完美不过了.
B:虽然可以采用自顶向下设计,但一旦产品进行修改,后面的工作量尤其很大。

4:几何体的定义
两者也是有很大的区别
CATIA只要是在一个e68a84e8a2ade799bee5baa631333332613161几何体中的物件,无论有多少个几何体,都被默认为几个几何体,想做多个体,就必须在一个文件中创建多个几何体,这样才能解决问题。

而UG在几何体方面,只要不对体进行布尔操作,那经过不同的
布尔操作,得到的几何体数也是不一样的。

这里讲到布尔操作,CATIA好像不能对布尔操作的几何体进行操作,而UG可以做其进行保留或不保留。

这点UG非常的棒。

5:工程图方面
CATIA比UG要好点,工程图线的投影,要比UG细致点。

选择用UG做工程的不是很多,目前,UG的工程方面还是不怎么的,需要像solidwoks学习,solidwoks在三维软件中,我见过做工程是最好的,可以和CAD有一比。

6:CAM方面,自我感觉UG的CAM还是不错的,用起来比较的方便,CATIA没有用过。

要想把一个3维软件学好,首先软件的工具要会用,做一件事情,不是就一个办法,方法有很多,特别是画图,脑子不能太死,别一条路走不通,就不想别的招了,那这样去学习一个软件的话,肯定很难学好,那要是自己学习的话,学习肯定是痛苦的,有的时候一个很简单的问题,也许想几天时间都想不明白,别人和你说过以后,就是很简单的一个道理,想想,这么简单的东西自己怎么就不知道呢呵呵
就是这样的,看书也是一样,看着书上的东西挺简单的,一样的方法,怎么就做不出来呢
呵呵
一些很小的细节没有处理好。

都不能做出理想的零件,现在市场上视频教材也有很多,相对看书的话,积极性要好点,但看书是很必要的,有很多的理论资料,视频教材中很难讲的那么全面,书一定要和视频结合来做,这样学习会全面点,懂的更多点。

学画图一定要有很好的狠心,不像学数控,周期比较短,软件学好,是没有底线的,联系的东西太多了,CAD,CAM,CAE学不完的,把常用的CAD,CAM学好就很不错了,刚开始学习的时候,无论是看书,看视频教材,还是看有关软件方面的资料,肯定和吃安眠药有点
像,一看就想睡觉,呵呵!失眠的人可以考虑,呵呵
行不通,因为你不学这个,不感兴趣,想学又学不好的人,对这类人是最灵的。

呵呵
要是有师父带,学起来就不错了,是一个很不错的选择,现在的学校,也就是骗钱,很难学到真功夫,不过话又说回来了,一个厂里,很少有师父是真心的去教你,道理大家都知道。

跪求revit学习心得体会,初学,不用太深奥,1000字左右谢谢~给
个相关网址也行,不用百度文库,好的加分
关于学习Revit软件心得体会总结
我很荣幸的来到北京柏幕进业工程咨询有限公司学习,在这三天的学习里就让我喜欢上了柏幕进业、喜欢这里的老师、喜欢这里的工作学习方式。

来到这里学习Revit软件是一次偶然的机会,起初对这个软件可以说是一无所知。

对于Autodesk公司的其他热门软件都比较熟悉,而且AutoCAD 软件是很熟练的运用,深知它的方便快捷。

所以对于Autodesk公司的新推出软件怀着很大信心与强烈的好奇。

关于初步学习Revit软件的学习心得体会颇多,现在我可以说这个软件简直让我着了迷,我狂热的爱上了这个好助手,真有种相逢恨晚的感觉。

以前工作中遇到的建模问题现在不在那么复杂了而且简便快速了,大大提高了工作效率。

看到自己一手在很短时间里做出来的成果很有一种发自内心的成就感。

不过首次接触学习遇到的问题很是很多的。

为方便系统学习将所遇到问题和解决方法详列如下:
1、在画轴线时关于标高的位置确定、数据参数的修改、统一长度,重复划线时的如何快速识别问题。

双击轴线就可以进入编辑状态,编辑正确的数据。

使用移动、复制等命令辅助完成绘图。

就如何利用面向对象的软件开发方法来开发软件心得体会
面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。

随着OOP(面向对象编程)向OOD(面向对象设计)和OOA (面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(LbjectModellingTechnique)。

这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。

所以OMT彻底实现了PAM没有完全实现的目标。

不仅如此,OO技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量
指标上有了实质性的突破,彻底地解决了在这些方面存在的严重问题,从而宣告了软件危机末日的来临。

自底向上的归纳
OMT的第一步是从问题的陈述入手,构造系统模型。

从真实系统导出类的体系,即对象模型包括类的属性,与子类、父类的继承关系,以及类之间的关联。

类是具有相似属性和行为的一组具体实例(客观对象)的抽象,父类是若干子类的归纳。

因此这是一种自底向上的归纳过程。

在自底向上的归纳过程中,为使子类能更合理地继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。

由于这种类体系的构造是从具体到抽象,再从抽象到具体,符合人类的思维规律,因此能更快、更方便地完成任务。

这与自顶向下的Yourdon方法构成鲜明的对照。

在Yourdon方法中构造系统模型是最困难的一步,因为自顶向下的“顶”是一个空中楼阁,缺乏坚实的基础,而且功能分解有相当大
的任意性,因此需要开发人员有丰富的软件开发经验。

而在OMT中这一工作可由一般开发人员较快地完成。

在对象模型建立后,很容易在这一基础上再导出动态模型和功能模型。

这三个模型一起构成要求解的系统模型。

自顶向下的分解
系统模型建立后的工作就是分解。

与Yourdon方法按功能分解不同,在OMT中通常按服务(Service)来分解。

服务是具有共同目标的相关功能的集合,如I/O处理、图形处理等。

这一步的分解通常很明确,而这些子系统的进一步分解因有较具体的系统模型为依据,也相对容易。

所以OMT也具有自顶向下方法的优点,即能有效地控制模块的复杂性,同时避免了Yourdon方法中功能分解的困难和不确定性。

OMT的基础是对象模型
每个对象类由数据结构(属性)和操作(行为)组成,有关的所有数据结构(包括输入、输出数据结构)都成了软件开发的依据。

因此Jackson方法和PAM中输入、输出数据结构与整个系统之间的鸿沟在OMT中不再存在。

OMT不仅具有Jackson方法和PAM的优点,而且可以应用于大型系统。

更重要的是,在Jackson方法和PAM方法中,当它们的出发点—输入、输出数据结构(即系统的边界)发生变化时,整个软件必须推倒重来。

但在OMT中系统边界的改变只是增加或减少一些对象而已,整个系统改动极小。

需求分析彻底
需求分析不彻底是软件失败的主要原因之一。

即使在目前,这一危险依然存在。

相关文档
最新文档