
学习《软件工程》心得和体会
软程学习心得在期的软件工程课程的学习中,我们学习了十一章容。
第一章软软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。
第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。
还引出了工具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%之多。
一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。
而编码的学习中,我更了解到形成自己独特的规范的编码风格是非常重要的事。
因为这影响到了软件后期繁重的维护,大家都要阅读你的程序,如果你写的程序毫无规范可言,那么别人怎么能读懂你的程序
读不懂程序,维护又从何谈起呢
所以,我们在今后的学习中,一定要注意这方面的培养,在写程序的过程中,要逐步的在规范的基础上形成属于自己的风格,即方便自己的修改,也方便日后他人的阅读。
在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。
而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。
形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。
在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。
不断锻炼自己,向一名合格的程序设计师迈进。
学习《软件工程》心得和体会
相关於这个的
~计算机专业这一门科深深的吸引着我们这些同学们,上计算机系已经有近一年了。
自己也做了一些思考,认为计算机专业需要相当多的实践,而在实践中不但掌握计算机技术(包括程序设计),还要掌握许多其他专业并不“深究”的东西,例如,算法,体系结构,信息管理等等。
当初听到要学专业的东西,心想咱们这到底念的是什么系
对于我这个初学者的知识基础较薄弱,对一些应用操作理解起来较为困难,要能从整体概念上较好地理解和把握应用软件,不是仅仅靠几本培训的书籍还买了几本有关专业的书籍,细致地看几遍,然后上机练习几次就可以成功。
因此学习过程中要注意多看多练。
要注意结合实际,充分利用互联网学习。
说极端一点,互联网上应有尽有,只是我们没有找到好的路径,互联网是人类知识智慧的汪洋大海,比如通过电大的远程学来进行学习,还有到一些有关专业论坛转转进行学习,网上学习会有很大收获。
除了学科知识,上网技术以及信息的检索、加工、发布的能力也会有提高,人与人之间的理解、交流上都会有丰富的体验。
网上学习容易出现的问题是好奇,上网漫无目的不停浏览。
因此,在进行网上学习前,一定制定好学习计划和目标,确保高效的上网学习。
计算机专业对于求学者的我切记贪多嚼不烂。
因为初学者最易犯“大而全”和“速成”的错误,须知“罗马非一日之功”所能建成。
什么都学,肯定什么都学不透,要集中精力打攻坚战。
我认为学习计算机首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,是做系统维护、软件开发、图像加工、公文处理、网页制作还是数据库管理,然后再有针对性的在相应的学习方向上进行提高。
要制定出详细的学习规划,包括需要购买什么书籍,家里如果没有电脑可供练习,是否需要购买一台电脑等问题……如果没有学习规划,不投资学习机器,没有实践场所,没有学习资料,光想凭“言传口授”就想速成做个“全才”,可能吗
学习方法因人而异,我的学习方法以下几个原则: 1.“循序渐进”——要求应注重基础,切忌好高骛远,急于求成。
循序渐进的原则体现为:一要打好基础。
二要由易到难。
三要量力而行。
2.“精读精思”—— 要广泛阅读和精读,善于提出问题和解决问题。
3.“自求自得”——就是要充分发挥学习的主动性和积极性,自求自得的原则要求不要为读书而读书,应当把所学的知识加以消化吸收,变成自己的东西。
4.“知行统一”——就是要根据认识与实践的辩证关系,把学习和实践结合起来,切忌学而不用。
因此,知行统一要注重实践:一是要善于在实践中学习,边实践、边学习、边积累。
二是躬行实践,即把学习得来的知识,用在实际工作中,解决实际问题。
谁能给我一份学习软件工程的心得体会 不少于2000字的 这是我在百度提的第一个问题 希望有人回复
我是个外行,不过还是可以帮助你的,你在百度首页输上学习软件工程的心得体会,会在百度文库里出现很多文库,都是关于心得体会的,希望对您有帮助,
求学习软件工程的收获体会
在我看来,软件工程与其说是一门课程,不如说是一门思想。
是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。
这门课程教给了我们在完成一个实际项目时的一般程序及过程,我认为这是一份非常具有实际意义的教学内容。
当我们在毕业之后,这是我们实际要运用的一项非常有用的技能,而且不仅仅局限于软件工程的范畴,我们即使是从事与其它行业,不也是要从需求获取开始,一直有条有理地到最后成品的出炉吗
应该说这就是这门课的价值所在。
无论是在上课,还是在学生会里面做学生工作,我都深深地感觉到,技术性的工作就好比变魔术,其实原理是非常简单的,甚至可以说简单的可笑,但是当你就是做出这么一个简单的东西出来之后,一些外行们有时候会用崇拜的眼光看着你,觉得你很厉害,很高深莫测。
但是制作的过程他们却不知道,也许知道之后他们只是会哑然失笑,原来这个东西的制作过程是如此的简单。
这个可以说就是技术的魅力了,而作为需求获取及之后的一系列过程则是类似于魔术揭秘的过程,但是作为这个秘密我们并不需要一揭到底,至于揭的程度如何那就是我们那就是我们学出的程度如何了,我们要让对方知道我们在做什么
以及如何去做
这些东西需要我们以一定的技巧叙述出来,所起到的作用就是能够让对方了解自己的进度,却又能够不让对方来干涉自己的工作过程。
因为我们是技术员,对方只是外行,即使对方知道了这个魔术的操作过程,也并不代表他们就能够向变着魔术的我们来随便修改这个魔术的变法,况且我们能够用不同的过程来得出一个同样的结果,这个过程的得出的主动权如何掌握在我们的手上,就看我们如何以高明的方式来揭开这个魔术的谜底了。
但愿软件工程这门课程能够开的越来越好,让更多的学生们能够从这门课程中受益,在以后社会残酷的竞争之中存活下来
学习软件工程导论后的感想或是总结
( ⊙o⊙ )哇这么多
bim软件学习心得体会
bim软件学习心得体会 建筑信息模型或者建筑信息管理是以建筑工程项目的各项相关信息数据作为基础,以下是品才小编整理的bim软件学习心得体会,欢迎阅读~ bim软件学习心得体会一: 本人为一家施工单位的技术人员,有幸参加公司组织的BIM培训,此次前来给我们的做培训的是一家专业的BIM培训机构,叫中国BIM培训网。
在12天的培训中,我对BIM,尤其是BIM在设计与施工中的应用有很多的感悟,在此总结一下,希望能与其他学员交流。
(一)BIM技术在设计方面的应用:在设计阶段采用BIM技术,可以对建筑设计进行分析与优化,确保设计的可施工性。
首先要建立相关建筑项目的3D设计模型,包括建筑、结构及建筑设备等;其次,基于建立的3D设计模型,可进行设计检测、协同修改。
设计检测可根据需要设定相关参数,确定检测范围,从而检测设计冲突,可施工性问题。
对发现的问题及时进行分析和沟通,从而及时、有效地解决问题,得出合理的施工图。
通过建立的三维设计模型,实现工程的三维设计。
能够根据3D模型自动生成各种图形和文档,而且始终与模型逻辑相关。
当模型发生变化时,与之关联的图形和文档将自动更新。
设计过程中所创建的对象存在着内在的逻辑关联关系,当某个对象发生变化时,与之关联的对象随之变化。
对所学软件工程课程各部分内容的目的、作用、主要内容等进行总结,
1、软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。
2、开发流程▪ 需求分析 ▪ 概要设计▪ 详细设计▪ 编码▪ 测试▪ 软件交付▪ 验收▪ 维护3、软件架构(softwarearchitecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构是一个系统的草图。
软件架构描述的对象是直接构成系统的抽象组件。
各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。
软件体系结构是构建计算机软件实践的基础。
与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。
特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”中,David Garlan 和 Mary Shaw认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。
结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
但构架不仅是结构;IEEE Working Groupon Architecture 把其定义为“系统在其环境中的最高层概念”。
构架还包括“符合”系统完整性、经济约束条件、审美需求和样式。
它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。
在Rational Unified Process 中,软件系统的构架(在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与不断减小的构件与接口所组成的构件进行交互。
从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。
一个软件架构师需要有广泛的软件理论知识和相应的经验来事实和管理软件产品的高级设计。
软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。
一般而言,软件系统的架构(Architecture)有两个要素:它是一个软件系统从整体到部分的最高层次的划分。
一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。
详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。
所谓架构元素,也就是组成系统的核心砖瓦,而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描述系统如何使用这些元件和联结器完成某一项需求。
建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。
建造一个系统之前会有很多的重要决定需要事先作出,而一旦系统开始进行详细设计甚至建造,这些决定就很难更改甚至无法更改。
显然,这样的决定必定是有关系统设计成败的最重要决定,必须经过非常慎重的研究和考察。
4、自己写了
关于《工程制图基础》的学习心得
工程制图心得体会工程制门课程共两个学期,在大一一年的内完成,上半学要学习看图绘图等基础知识,下半学期主要学习CAD绘图软件以及上学期知识的应用。
这门课是对学生空间想象能力的训练,需要的不是解题方法、技巧之类的东西,而是将物体在脑海中构想出来的能力,这种能力不一定每个人天生都有,但是通过长期的学习、观察和练习,是可以达到熟能生巧的效果的。
学长学姐通过自己的亲身体验,在此总结出了一些学习工图的心得体会,希望对学弟学妹有所帮助。
1、上课走神是大忌在学习这门课程的时候老师的引导是极其重要的,没有老师的指导很容易走进思维的死胡同,它不像其他课程一样谁都可以自学,由于它的特殊性,如果落下一节课,靠自己课后好几个小时可能都补不回来。
老师上课时讲例题的过程就是帮助我们在脑海中建立空间立体的过程,跟上老师的解题思路,自己一边思考一边听老师的讲解,来纠正自己空间想象的误区,一点点训练空间想象的能力。
《工程制图》课本前面的点线面部分可能很难,但这正是锻炼我们空间想象能力的基础部分,大家也许会在刚开始构想空间位置关系时感到头脑晕头转向,但不要放弃,在老师讲解过之后,大家如果还有不清晰的空间位置关系图,一定要自己再思考,按照老师教的思路理清空间关系,因为“想”这个过程对大家的进步才是最关键的。
2、平时留心多观察要学好工程制图,建立和培养较好的空间想象力是前提,这就需要大家多注意观察实体模型,尝
学习UG的心得体会
1:针对建模方面。
A:UG捕捉非常的方便,建模中绘制的曲线,草图中不需要进行任何操作,就可以对相应的特征点进行捕捉,建模与草绘的互通性非常的好。
B:CATIA则在建模中的与草图中的资料是分离的,如果想调出资料,必须要经过处理要能找到你想要的特征。
有的关键点也是必须先找出,这样大大的增加了工作量。
2:曲面方面A:UG做曲面的时候,有的时候曲线做的很好,面也有给约束,但做出来的面,经过分析,就是不能达到理想的效果,斑马线不能完全很顺的连接,不知道这样的问题,还有没有人遇见过。
B:CATIA在曲面上显示了独特的优势,特别是5边面的时候,效果非常的理想,并且很简单的就能做到G2的连接,做出的曲面非常的漂亮,添加约束也是非常的方便,简单明了。
3:装配与零件的互通性A:这是两个软件都是一样,装配中的零件只能单独的修改,不能利用别的零件,对要修改的零件进行修改操作,虽然有了直接建模模块,修改比较方便,CATIA目前该版本还在试用,UG去年已经出来,这点非常的好,大大缩短了修改产品花去的时间。
如果装配能与零件互通,那就再完美不过了.B:虽然可以采用自顶向下设计,但一旦产品进行修改,后面的工作量尤其很大。
4:几何体的定义两者也是有很大的区别CATIA只要是在一个几何体中的物件,无论有多少个几何体,都被默认为几个几何体,想做多个体,就必须在一个文件中创建多个几何体,这样才能解决问题。
而UG在几何体方面,只要不对体进行布尔操作,那经过不同的布尔操作,得到的几何体数也是不一样的。
这里讲到布尔操作,CATIA好像不能对布尔操作的几何体进行操作,而UG可以做其进行保留或不保留。
这点UG非常的棒。
5:工程图方面CATIA比UG要好点,工程图线的投影,要比UG细致点。
选择用UG做工程的不是很多,目前,UG的工程方面还是不怎么的,需要像solidwoks学习,solidwoks在三维软件中,我见过做工程是最好的,可以和CAD有一比。
6:CAM方面,自我感觉UG的CAM还是不错的,用起来比较的方便,CATIA没有用过。
要想把一个3维软件学好,首先软件的工具要会用,做一件事情,不是就一个办法,方法有很多,特别是画图,脑子不能太死,别一条路走不通,就不想别的招了,那这样去学习一个软件的话,肯定很难学好,那要是自己学习的话,学习肯定是痛苦的,有的时候一个很简单的问题,也许想几天时间都想不明白,别人和你说过以后,就是很简单的一个道理,想想,这么简单的东西自己怎么就不知道呢
呵呵
就是这样的,看书也是一样,看着书上的东西挺简单的,一样的方法,怎么就做不出来呢
呵呵
一些很小的细节没有处理好。
都不能做出理想的零件,现在市场上视频教材也有很多,相对看书的话,积极性要好点,但看书是很必要的,有很多的理论资料,视频教材中很难讲的那么全面,书一定要和视频结合来做,这样学习会全面点,懂的更多点。
学画图一定要有很好的狠心,不像学数控,周期比较短,软件学好,是没有底线的,联系的东西太多了,CAD,CAM,CAE学不完的,把常用的CAD,CAM学好就很不错了,刚开始学习的时候,无论是看书,看视频教材,还是看有关软件方面的资料,肯定和吃安眠药有点像,一看就想睡觉,呵呵!失眠的人可以考虑,呵呵
行不通,因为你不学这个,不感兴趣,想学又学不好的人,对这类人是最灵的。
呵呵
要是有师父带,学起来就不错了,是一个很不错的选择,现在的学校,也就是骗钱,很难学到真功夫,不过话又说回来了,一个厂里,很少有师父是真心的去教你,道理大家都知道。



