学习软件工程的心得体会(通用16篇)
- 上传日期:2023-11-10 03:25:37 |
- ZTFB |
- 10页
心得体会是一种通过文字表达自己内心感受和体验的方式。写心得体会需要注意语言简练、层次分明,突出自己的思考和发现。以下是我整理的一些总结范文,希望对大家的写作有所帮助。
学习软件工程的心得体会篇一
软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。
经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。
在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。
上《软件工程导论》这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。
1.可行性分析就是关于当前项目能不能干的分析结果。
2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。
3.需求分析就是对客户要求的功能的定义。
4.软件设计这就是对程序的每一个模块的详细设计的说明文档。
5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。
6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。
学习软件工程的心得体会篇二
在前不久的几周里,刚刚结束了“软件工程导论”课程的学习。这门课程带给了我很大的启发,让我对软件工程这一新兴学科有了全面的,深刻的认识。卢苇老师精彩的讲演,同学们积极地提问与回答,都带给了我深刻的认识。下面是我在学完该课程后的一些启发。
一、我对软件行业的认识。
众所周知,计算机已经是现代人生活的必需品。无论是工作、学习、生活、娱乐,我们的生活每时每刻都能见到它的踪影。大到航天飞机的研制,原子弹、氢弹的引爆,笑道一个小小的电子表,都需要会软件会变成的人来研制它,让其工作。所以,伴随着计算机而生的的潜在市场是十分巨大的,无数因此成功的公司便是印证,无论是乔布斯的“苹果”,还是比尔盖茨的微软,亦或是马克·扎克伯克的facebook,都获得了世人的肯定。他们的成功被人称道,但是不可否认的是他们的成功是建立在如此巨大的市场空间上的。所以,首先软件行业有着充足的市场。
其次是我国的软件力量。我们国家面临着一个良好的社会的环境,社会安定,政府稳定,特别是当前经济发展迅速,法制建设不断完善,高新技术领域突飞猛进。但是由于法律制度不完善,并且从业人员普遍创新的意识不够完善等等多方面的因素,我国的市场并非特别乐观。我们都能清晰地看到许许多多成功的企业都未做到完全的创新,如“淘宝网”便是借鉴“亚马逊”网站,而“人人网”也与facebook有极大的相似度,而腾讯更是众所周知的山寨之王。但是换个角度看看,这正说明,我国的软件具有极大地潜力,在未来的几年,几十年之间,我国的软件行业必会重新洗牌,涌现出强大的软件企业,而我们,也一定有机会实现自己的软件梦。
第三是我国软件行业的人员构成。我国的软件行业目前主要还是中低素质人员构成。打不风程序员,他们没有系统的、完整的学习整个软件工程的知识,仅仅靠自学或者短期学习,掌握到部分的、片面的知识就已经进入从业阶段,这样的学业使他们不能够胜任自己的工作。而高端的软件从业人员相比较而言是相对稀少的,所以我国的软件行业并未真正崛起。我们急需那样的高端人才,而这些人才,便是现在我们学院所努力培养的。
二、我对我们学院软件工程专业的认识。
it行业是随着电子信息产业的发展而逐步发展起来的,并且日益得到完善。it行业的平稳增长必然会带来软件工程师需求的增长,目前随着it产品出现的技术融合,市场需求的巨大和专业人才的缺乏,由此可知,软件行业还是比较乐观的。但软件行业需要的也是复合型人才,软件工程师需要掌握更多的编程语言。
北京交通大学软件学院是经教育部批准的国家示范性软件学院。学院成立于2月,是为适应我国经济结构战略性调整的要求和软件产业发展对人才的迫切需求,实现我国软件人才培养的跨越式发展而建立的。学院充分发挥学校的计算机学科优势和it企业资源综合优势,利用已有的办学与市场资源,与国内外著名的it企业开展合作,在管理体制、运行机制、教育思想与理念、人才培养方案与课程体系、教学模式与方法、产学研合作等领域大胆创新,已探索出一条有效地培养“国际化、工业化、高层次、复合型”软件人才的办学之路。
作为教育部批准的全国36所示范性软件学院和学校教育体制改革与办学机制创新的试验田,北交大软件学院承载着学校的殷切期望。作为国家重要的软件人才培养基地,在管理体制、运行机制、教育思想与理念、人才培养方案与课程体系、教学模式与方法、产学研合作等领域大胆创新,探索出一条有效地培养“国际化、工业化、高层次”软件人才的办学之路,推出了“2+1+1”人才培养模式。作为一名北京交通大学软件学院的靴子,我感到十分自豪。
三、我未来的职业规划。
在学习完院长的导论课后,我对自己的直接规划产生了很深的想法并且做出了很大的改变。首先,我一定要努力完成大学的学业。在大学一年级,我要认真地完成专业课程,努力学好c语言和java的课程,同时扩大自己的知识面,多多学习一些有关软件方面的知识,不断地充实自己。
在大学。
二、三年级,我要注重学习java基础知识、多学习项目开发经验,了解项目开发业务知识,并在学习中掌握db2数据库的sql语句的复杂查询以及管理操作,并深入学习了解struts、hibernate、spring相关操作。同时在大三结束之前,我要至少了解并熟悉2门编程语言,、c++、php;并学习掌握noracle、ms-sql数据库管理操作;掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。如果有时间的话,还要学习管理方面的相关知识,由技术型向管理型方面的转移。我要多多锻炼自己的能力,不论待人接物,还是进行演练,都要积极参见,努力争取较大的提升。
在大学四年级,学校会安排比较多的实习,到那时候,就要好好工作,发挥自己前三年学到的知识,努力完成自己的毕业实习,最后,优秀地完成自己的大学学业。如果能够,我将选择继续深造,可以通过保研,考研等等许多途径,努力获得研究生的资格。同时,就业也是一个不错的选择,但是不论考研还是工作,我都要一如既往地补充自己,不断提高自己的专业水平。在工作时,我会优先选择私人的,创意性比较强的公司,从中积累经验,并且努力奋斗,成为复合型人才,我便可凭此进入大公司或者帮助自己的公司变得更加强大和成功,最后成为it行业中优秀的一员。
四、总结。
卢苇教授的“软件工程导论”真的让我获益良多,对于软件工程专业有了深刻的了解,对自己以后的道路的安排也有了深刻的认识。上课的日子总是很快,不知不觉中遍结了课,我感到如梦初醒,因为我们才敲开软件知识的大门。路漫漫其修远兮,吾将上下而求索。不经历风雨怎能见彩虹。我要时刻保持一颗清醒的头脑,随时为自己的目标而奋斗。其实,每个人心中都有一幅画,描述着理想、信念、追求、抱负;每个人心中都有一片森林,承载着鸟语花香的甜蜜、阴森恐惧的彷徨。一个人,若要获得成功,必须拿出勇气,付出努力、拼搏、奋斗、成功。机遇不同情眼泪的忧伤、不相信颓废的绝望,只期待爱打拼、时刻准备着的人。
学习软件工程的心得体会篇三
作为一个计算机相关专业的学生,学习软件工程概论课程是必不可少的环节,这门课程为我们提供了对软件工程学科的基础认知和框架规划,同时也为我们在未来的学习和工作中打下了坚实的基础。在这门课程中,我认真学习、反思,从中获得了不少收获和体会。下面,我将从以下四个方面展开我的学习心得,并结合自身的经历,谈谈我的理解和思考。
第二段:软件工程学科的基本认识。
学习软件工程概论,我们首先需要了解软件工程学科的基本认识。首先,软件工程是一个系统性的学科,其目的是确保软件的质量和效率,最终达到客户和开发者双方的需求。其次,软件工程的目标是建立高质量、可靠、易维护的软件系统,在项目计划、需求定义、软件设计、测试等各个阶段下工作,最终形成一个完整的软件开发生命周期。同时,软件工程学科也需要同时考虑工程学、计算机科学和管理科学等多个学科的知识结构,要顺应软件市场、技术骨干和客户需求,利用日新月异的技术、方法和工具不断提高软件工程的水平。
第三段:软件工程的主要原则和方法。
软件工程的实践和研究不仅需要基本认识和知识框架,还需要深入了解软件工程的主要原则和方法。软件工程的主要原则包括:分阶段开发、模块化设计、适应性规划、严格记录和文档、提前预防和检测、先进的技术和工具等。软件工程的主要方法包括:结构化的系统分析和设计、模型驱动的开发、敏捷的方法和迭代式的开发过程等。具体方法的选择应根据具体的需求和现实情况,要根据实际情况精选方法、工具和流程,不断更新和完善软件工程的理论体系。
软件工程不仅是一门学科,更代表了一种价值观和责任感。它对于人类社会的发展和进步扮演着重要的角色。在当今信息技术迅速发展的时代,软件工程已成为技术与社会相结合的桥梁和纽带。软件工程的社会价值包括:提高信息处理和科技发展水平、提高软件开发和维护效率、创造高质量和高性能的软件、优化各行各业的流程和管理、推动工业化和信息化协同发展、加强个人和团队协作能力等。软件工程的社会价值无处不在,是不可忽视的一部分。
第五段:结语。
在这门软件工程概论课程中,我了解了软件工程学科的基本认识,深入学习了软件工程的主要原则和方法,并且认识到了软件工程的社会价值。通过学习软件工程,我不仅拓展了自己的知识面,也意识到了自己在未来的专业发展中需要掌握的技能和素养。软件工程是一门学科,也是一种责任感和价值观念。我相信,在未来的实践和研究中,我会不断学习和探索,为软件开发行业做出自己的贡献。
学习软件工程的心得体会篇四
这门课的作用就是,在你真正见过猪以前,先教你怎么吃猪肉,怎么骑着猪跑。
软件工程导论所讲述的内容,其实并没有很多人想象中的那么重要。就像是一本教你如何游泳的书。确实是一种非常重要的技能,但实际上你如果不看书,在水里扑腾几天也就会了,只是姿势不那么标准,游不了那么快。学会游泳非常重要,但其实并不是说你要学会这本书有多么重要。
他的内容大部分都是一些总结出来的经验和方法。如果没有真正的试验过,很难有切身的体会。比如说你如果没经历过整天用zip压缩当天代码保存的工作,就不会知道版本控制有多么重要。还有那些设计模式。比如singleton,你也许会说,用个全局变量,只生成一个对象不就可以了。自己写小项目固然可以,但软件工程作为一种“工程”,是很难一个人包揽全部工作的。你要多项目之间配合,要多人维护同一部分代码。你要有一种确定的手段,来保证你这个类只有一个对象。所以把它提炼出来,总结成一种模式。
至于学习上,除了完成规定的学习目标外。我认为学过这门课,至少应该了解一个项目中会有哪些分工,大概是如何运行的。各种设计模式的话,了解一下就可以了。只要你以后在工作中,能记起来有这么个东西,这种情况下,某种模式可能比较合适,具体细节到时候再查就行了。
这门课自己也说,是门导论而已。介绍一下你以后可能遇到的坑,以后再遇到那个填那个好了。
学习软件工程的心得体会篇五
答:软件危机是指在计算机软件开发和维护过程中所遇到的一系列的严重问题。
它的典型表现:1.软件开发成本高,成本难以控制。2.研究周期长,软件开发进度难以控制,周期拖得很长。3.正确性难以保证,软件质量差,可靠性难以保证。4.软件维护困难,维护人员和维护费用不断增长。5.软件发展跟不上硬件的发展和用户的要求。
它出现的原因一方面是由于软件生产本身存在着复杂性,另一方面是与软件开发所使用的方法和技术有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发工程相当困难,软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业技术人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成为软件危机的主要原因。
1.2什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?
答:软件工程是将系统化的,规范化的,可度量的方法应用于软件开发,运行和维护的过程,即将工程化应用于软件中。
它的本质特性:1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常化4.开发软件的效率非常重要5.和谐地合作是开发软件的关键6.软件必须有效地支持它的用户7.在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品。
基本原理:1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计的技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性。
1.3什么是软件?它有什么特点?
答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。
1.4什么是软件过程?它与软件工程方法学有何关系?
答:软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采用的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。软件工程的基础是软件过程。
1.5什么是软件生命周期模型?试比较瀑布模型、原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。
答:软件生命周期模型是软件开发全部过程,活动和任务的结构框架,它能直观表达软件开发全过程,明确规定要完成的主要活动,任务和开发策略。也叫软件开发模型。
瀑布模型优点:有利于大型软件开发过程中人员的组织,管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
缺点:1,开发过程一般不能逆转,否则代价太大2.实际的项目开发很难严格按。
照该模型进行3.客户往往很难清楚地给出所有的需求,而该模型却要求如此4.软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
适用范围:1.用户的需求非常清楚全面,且在开发过程中没有或变化很少2.开发人员对软件的应用领域很熟悉3.用户的使用环境非常稳定4.开发工作队用户参与的要求很低。
原型模型优点:1.可以得到比较良好的需求定义,容易适应需求的变化2.有利于开发与培训的同步3.开发费用低,开发周期短且队用户更友好。
适用范围:1.对所开发的领域比较熟悉而且有快速的原型开发工具2.项目投标时,可以以原型模型作为软件的开发模型3.进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型非常合适。
增量模型优点:1.采用增量模型的优点是人员分配灵活,刚开始不用投入大量的人力资源。
2.如果核心产品很受欢迎,则可增加人力实现下一个增量3.可先发部分功能给客户,对客户起到镇静剂的作用。
缺点:1.并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构2.增量模型的灵活性可以使其适应这种变化的能力大于优于瀑布模型和原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。
适用范围:1.进行已有产品升级或新版本开发,增量模型是非常适合的2.对完成期限严格要求的产品,可以使用增量模型3.对所开发的领域比较熟悉而且已有原型系统,增量模型也非常适合。
螺旋模型优点:1.实际上的灵活性,可以再项目的各个阶级进行变更2.以小的分段来构建大型系统,是成本计算变得简单容易3.客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性4.随着项目推进,客户始终掌握项目的最新消息,从而是他或她能够和管理层有效地交互。
缺点:1.采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失2.过多的迭代次数会增加开发成本,延迟提交时间。
适用范围:只适合于大规模的软件项目。
答:软件工程是一门将理论和知识应用于实践的工程,它借鉴了传统工程的原则和方法,以求高效地开发高质量软件。它是一种层次化技术。
意义:从历史上讲,软件工程的作用,是为了克服上个世纪60年代出现的软件危机,这种危机表现为软件开发的成本大、进度慢、维护难和质量得不到保障。从当前来讲,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。
1.7软件过程的通用过程框架包含哪两类活动?
答:一类是框架活动,还有一类是保护性活动。
1.8描述基于构件开发的思想以及目前的发展情况。
答:基于构件开发强调将被设计的系统分解成功能的或逻辑的构件,构件用定义好的接口进行通信。
它是现在软件复理论实用化的研究热点,在构件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件,这样即可以节省时间和经费,提高工作效率,也可以产生更加规范,更加可靠的应用软件。
1.9请简要说明rup的9个规程(disciplines)及之间关系?
答:rup的9个规程为:业务建模,需求,分析与设计,实现,测试,部署,配置与变更管理,项目管理以及环境。
对于一个大型项目,rup九个规程的活动不可或缺,但对于有些项目可能不需要经过所有九个规程,在项目开发时需要对这些规程涉及的活动做具体的裁剪,以适应具体项目的开发需要。
1.10说明面向切面编程的特点,有什么优势?
答:该范型以一种称为切面的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象、类或函数中分离出来可以大大增强程序的模块性。
优势:他把特定领域问题的代码从业务逻辑中独立出来,业务逻辑的代码中不再含有针对特定领域问题代码的调用,业务逻辑同特定领域问题的关系通过切面来进行封装,维护。优势:面向切面编程的特点是针对业务处理过程中的切面提取,所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果,降低了耦合性。
1.11模型驱动工程中mda的基本思想是什么?
答:mda的基本思想是系统的功能性是用合适的规约语言以平台无关的模型的方式定义,然后为实际的实现翻译到一个或多个平台相关的模型上。
chapter2。
2.1描述面向对象的基本概念和思想。
一个实体都可以抽象为对象。
2.2面向对象分析设计的基本思路和过程是怎样的?
答:分析过程主要包括理解、表达和验证。设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。
过程:识别系统的用例和角色,进行系统分析并抽象出类,设计系统并设计系统中的类及其行为。
2.3面向对象程序设计中的概念主要包括哪些?分别阐述其主要思想。
答:对象:封装了数据和操作这些数据的代码的逻辑实体。
类:具有相同类型的对象的抽象。
封装:保证软件部分具有优良的模块性的基础。
继承:让某个类型对象获得另一个类型的对象特征。
多态:使不同内部结构的对象可以共享相同的外部接口,减少代码复杂度。
动态绑定:多态实现的具体形式,将一个过程调用与相应代码链接起来的行为。消息传递:使得对现实世界的描述更容易。
方法:定义一个类可以做的,但不一定去做的事。
2.4描述uml的主要概念和历史。
答:uml是统一建模语言,用来对软件密集系统进行可视化建模的一种语言。uml为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
历史:rumbaugh和booch将booch93和omt-2统一起来,发布了um0.8;后经过booch,rumbaugh和jacobson的共同努力,发布了uml0.9和uml0.91,并将um重命名为uml。,rational组织成立了uml合作者联盟,以完善、加强和促进uml的定义工作。启动了uml2.0标准的制定工作。
2.5rup是什么?应用rup对软件开发有什么意义?
答:rup(rationalunifiedprocess)是统一软件开发过程,是一个面向对象且基于网络的程序开发方法论。
应用rup为软件开发提供了一个模版,使得软件开发过程规范化,统一化。
chapter3。
3.1为什么要进行业务建模?业务建模适用什么场合的软件项目开发?
业务知识而再进行开发的,所以需要通过“业务建模”将“业务需求”准确地转换为it技术人员所熟悉的“软件需求”。
适用场合:规模较大的软件项目开发。
3.2业务建模可以分哪些工作流进行?
答:评估业务状态、描述当前业务、定义业务、探索流程自动化、开发领域模型。
3.3什么是领域模型?与业务模型的关系是什么?
答:领域模型:领域模型是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。领域模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象(“业务类和对象”)之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象组合在一起可以执行所有的业务用例。
关系:开发领域模型是一个备选活动,领域模型是业务分析模型中独立的一部分,注重于说明对于业务领域很重要的概念、产品、可交付成果和事件。这样一个模型仅描述业务中的重要信息,并不包括人员承担的职责。
3.4什么是系统上下文?明确目标系统的上下文有什么意义?
答:系统上下文:指的是目标系统、与之交互的用户和外部系统。
意义:业务建模作为软件需求的前一阶段,了解目标系统的上下文是很有必要的,便于确定目标组织和业务范围。
3.5什么是业务涉众?业务涉众可能来自哪些方面?
答:业务涉众:所有跟目标业务有利害关系的人。
方面:可能来自目标组织内部及目标组织外部且跟目标组织有关系的人和组织。
3.6什么是业务愿景?怎么理解业务愿景的重要性?
答:业务愿景:定义业务建模工作所针对的一组目标。
重要性:要了解组织的业务过程,对业务进行建模,首先必须理解组织的共同愿景,业务建模时期的重要任务就是确定项目涉众的共同愿景,而了解最有影响力的涉众的愿望和目标是非常重要的环节。所以业务愿景对整个业务建模过程来说是十分关键和重要的。
3.7业务建模的作用是什么?哪些人和组织是潜在的业务执行者?
答:作用:
(1)了解目标组织(将要在其中部署系统的组织)的结构和机制;
(2)了解目标组织中当前存在的问题并确定潜在改进的可能性;
(3)确保客户、最终用户、开发人员和其他各方就目标组织达成共识;
(4)导出支持目标组织所需的系统需求;
(5)了解要部署的软件系统将如何融入组织。
潜在的业务执行者:客户、合作伙伴、供应商、权威机构(法律、法规等制订机构)、子公司、所有者和投资者、业务以外的信息系统等。
3.8结构化业务用例的三种关系是什么?
答:三种关系:包含关系、扩展关系、泛化关系。
3.9业务用例的包含与扩展关系、包含与泛化的区别是什么?
答:包含与泛化的区别:(1)对于用例泛化关系,子用例的执行取决于父用例(重用部分)的结构和行为,而在包含关系中,基本用例的执行只取决于包含用例(重用部分)所执行的功能的结果。(2)在泛化关系中,子用例的用途和结构是相似的,而在包含关系中,重用同一个包含用例的基本用例可能有完全不同的用途,但需求执行相同的功能。
包含与扩展的区别:(1)包含关系:如果基本用例的某个部分代表一个功能,而业务用例只依赖于本功能的结果,而不是产生结果的方法,那么可以将这部分分离出来,形成一个附加用例。使用包含关系,将附加部分明确包含于基本用例中。包含关系将基本用例和包含用例连接起来。
(2)扩展关系:如果基本用例的一部分是可选的,或对于理解该用例的主要目的来说不是必需的,那么可以将这部分分离出来,形成一个附加用例,以简化基本用例的结构。利用扩展关系,将附加部分隐含地包含于基本用例中。扩展关系将扩展用例与基本用例连接起来。
3.10业务分析模型的作用是什么?与业务用例模型的之间是什么关系?
答:作用:业务分析模型描述通过与业务系统、业务工作者和业务实体交互来实现业务用例。它充当了为了执行业务用例而所需业务系统、业务工作者和业务实体之间的相关和协作方式的抽象。它还定义了在执行业务用例时由业务执行者调用的外部业务服务。
关系:业务用例模型是从与客户和业务流程对应的业务执行者和业务用例的角度,对业务进行描述。业务用例模型包括工作流程说明,此说明确定完成了那些工作。所以业务用例模型描述在业务执行者和业务之间发生了什么,对于业务结构或如何实现业务用例不作任何假设。而业务分析模型就是用于描述如何执行业务用例,并具体定义业务提供的服务,内部业务工作者及其使用的信息,将它们的结构化组织描述为独立的单元,定义业务工作者如何通过交户来实现业务用例中所描述的行为。
3.11。
(c)。
2.以医院为研究对象,请描述医生、病历的性质分别是()。
(a)businessactor、businessworker。
(b)businessworker、businessactor。
(c)businessactor、businessentity。
(d)businessworker、businessentity。
3.12综合案例分析-餐厅点菜业务分析。
某餐厅的点菜服务流程与规范如下:
1.递上菜单。
(1)客人入座后,服务员询问客人需要什么茶水。准备好茶水后,按“女士优先,先。
宾后主”的原则从右边为客人斟上茶水。
(2)将菜单打开第一页,按照“女士优先”原则,用双手从客人右侧将菜单送至客人手中,然后站在客人斜后方能观察客人面部表情的地方,上身微躬。
2.推荐介绍酒店菜品。
(1)在客人点菜前,服务员应留有时间让客人翻看菜单。
(2)在客人翻看菜单时,应及时向客人简单介绍菜单上的菜,回答客人的询问。
(3)向客人介绍厨师长今日特别推荐的菜品、其他的特色菜、畅销菜和高档菜等菜品,并介绍其样式、味道、温度和特点。
3.接受点菜。
(1)服务员先在点菜单上记下日期、本人姓名及台号、就餐人数等。
(2)客人点菜时,应注视客人,听清客人点的菜名,适时帮助客人选择菜品和主动推介菜品,准确地记录菜名。
(3)对于特殊菜品,应介绍其特殊之处,并问清客人所需火候、配料及调料等。
(4)若客人用餐时间较紧,点的菜需时间较长,则应及时向客人征求意见;若有客人点相同的菜式,如汤和羹或两个酸甜味型的菜时,应有礼貌地问客人是否需要更换菜式。
(5)若客人有特殊要求,应在点菜单上清楚注明,并告知传菜服务员。
4.复述点菜内容。
(1)客人点菜完毕后,服务员应清楚地重复一遍所点菜品内容,并请客人确认。
(2)复述完毕后,在点菜单的右上角写明当时的时间,以便查询。
(3)收回菜单并向客人致谢,同时请客人稍等,说明大致的等候时间。
5.分送点菜单。
(1)服务员将点菜单的第一联送至收银处。
(2)将点菜单的第二联送至厨房。
(3)将第三联给客户,第四联交给传菜员、值台服务员留底备查。
根据案例的描述,请你完成下列任务:
1.分析餐厅的点菜业务,建立点菜业务模型。
这项业务的业务涉众:外部涉众:客人,
内部涉众:服务员,收银处,厨房,值台服务员。
分析点菜业务模型:
业务执行者为:客人。
业务用例是:入座,推荐菜品,点菜,确认内容,分送菜单,上菜。
2.用活动图描述客人点菜的活动。
3.分析点菜业务模型,找出有哪些业务工作者和业务实体,并用交互图来说明之间的通信和交互关系。
业务工作者为:服务员,收银处,厨房,值台服务员。
业务实体为:菜单,点菜单。
chapter4。
4.1需求的类别有哪些?
答:需求可分为功能性需求和非功能性需求。
功能性需求规定了系统无需考虑物理约束而必须能够执行的动作,描述支持用户目标、任务或活动的系统行为(功能或服务)。
非功能性需求是功能性需求之外的需求,包含质量和约束,它们仅仅说明系统或系统环境的属性。
4.2怎么理解文中fredbrooks关于需求的那段话?
构建软件系统最难的部分是确定要构建什么(即系统需求)。相比其他工作,如果这个工作做错,会严重影响将产生的系统,也更难在以后矫正。
答:需求工作对于整个软件系统来说是非常重要的,它是实现和测试的先启阶段,需求建模解释如何理清涉众的请求及如何把这些请求转化为一组需求工作产品,确定要建系统的范围,提供系统必须做的详细要求。此阶段是后续工作以及整个系统的基础和关键,一旦这个阶段出现问题,将会直接影响到后续工作的正常顺利进行,而如果想要在以后改,代价是非常大的,并且也难纠正。
4.3系统用例模型可以描述什么方面的需求?补充规约主要补充哪方面的需求?
答:系统用例模型可以描述设计软件系统方面的`需求,参与者与软件系统的交互,在系统用例说明中书写足够详细的事件流。
补充归约主要补充那些无法在用例中记录的需求。包括:捕捉无用例归约的功能性需求,捕捉系统资量,捕捉约束,捕捉符合性需求,捕捉文档需求。
4.4什么是系统执行者?如何寻找潜在的系统执行者?
答:系统执行者:是指与目标系统交换数据的任何对象,是在系统之外,透过系统边界与系统进行有意义交互的任何事物。执行者可以是用户、外部硬件或其它系统。
满足一个或多个上面这些范畴的任何个人、小组或事物有可能就是执行者。
4.5如何理解系统执行者与业务执行者、业务工作者的关系?
答:业务执行者是指某人或某物与业务进行交互时所担任的角色,它是指在业务之外和业务交互的人、组织或事物。
业务工作者代表在业务中进行操作的人、软件或硬件的抽象。它代表业务中的一个或一组角色。
系统执行者:是指与目标系统交换数据的任何对象,是在系统之外,透过系统边界与系统进行有意义交互的任何事物。执行者可以是用户、外部硬件或其它系统。
关系:系统执行者是针对软件系统来说明的,而业务执行者和业务工作者是针对业务来说明的,系统执行者和业务执行者含义相似,只是所在的描述范畴不一样。
4.6请分析用例中的包含关系和扩展关系的相似与区别?
答:相似:都是如果用例包含的一段行为片段可以用于其他用例,则将这段行为片段归到“包含用例”或“扩展用例”中,形成一个新的用例,原始用例就成为基本用例,对“包含用例”和“扩展用例”分别有包含关系和扩展关系。
区别:(1)扩展用例是可选的,而包含用例不是可选的;(2)基本用例没有扩展用例是可以完成的,但没有包含用例则不能完成;(3)扩展用例的执行是有条件的,而包含用例没有;(4)扩展用例会改变基本用例的行为,而包含用例不会。
4.7简单说明把用例组织到包中有什么好处。
答:用例包是用例、执行者、关系、图和其他包的集合,可以通过将用例模型分成更小的部分来结构化用例模型。这样可以使得具有大量元素的用例模型中的用例结构化,同一包中的用例彼此之间都有某种关系,更加清楚明了,便于以后模型的分析和使用。
4.8用例详细描述中有哪三种事件流,分别表示什么场景?
答:三种事件流:主事件流、分支事件流和异常事件流。
主事件流:在描述正常过程时列出执行者和系统之间相互交互或对话的动作序列。当这种对话结束时,执行者也达到了预期的目的。
分支事件流:也可促进成功地完成任务,但它们代表了任务的细节或用于完成任务的途径的变化部分。
异常事件流:不符合用例流正常或基本行为,引起任务不能顺利完成。
4.9什么是软件需求规约(srs)?
答:软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
4.10如何理解界面原型在需求建模中作用?
答:可以处理模糊需求,开发者和用户可充分通信,降低开发风险。
静态界面原型:供分析人员与用户进行进一步交流和沟通,通过这种可视化方法,使双方逐步就明确系统需求达成共识。
交互式界面原型:便于用户可以操作,展示实际系统效果。
4.11选择题。
1.如图4.11-1所示.a1、a2和a3是什么?(单选题)(c)。
(a)role。
(b)actress。
(c)actor。
(d)user。
2.如图4.11-1中,下面哪个语句是正确的?(多选题)(bcd)(a)a3可以使用uc4与系统交互。
(b)al可以使用ucl和uc4与系统交互。(c)a3,al与a2不同。
(d)uc3是没有步骤的抽象用例。
3.如图4.11-1所示,下面哪个语句是正确的?(多选题)(cd)(a)uc5是uc4的补充部分。(b)uc4是uc5的可选部分。(c)uc1是没有用的。
(d)uc2是uc4的可选部分。(e)uc4是uc2的补充部分。
4.12综合案例分析-餐厅智能移动终端无线点菜系统需求。
根据第3章的练习3.11综合案例分析的业务描述,来分析点餐系统的需求。
传送距离可达100米,室外传送距离可送300米。根据案例的描述,请你完成下列任务:
1.建立无线点菜系统的用例模型(找出所有的系统actor和usecase);
用例模型。
系统actor:服务员、客户、经理。
usecase:点菜服务、自助点菜、统计。
2.对用例进行详细描述,包括前置条件、后置条件,以及各事件流,并用泳道图画出用例对应的事件流。前置条件:
服务员有掌上电脑系统,厨房与前台有打印机,在传输距离之内后置条件:
打印机打印所点菜单事件流:主事件流:1.顾客点菜;
2.服务员用掌上电脑及菜单;3.厨房和前台打印机打印菜单分支事件流:无。
异常事件流:
步骤2后步骤3未接收,无法打印,返回步骤。
2
3).打印菜单用例描述:用例名称:打印菜单。
用例描述:打印点菜内容参与者:打印机前置条件:点菜完成。
后置条件:打印机打印菜单给后台,厨房和前台主事件流:1.系统发送点菜单至打印机。
2.打印机接收菜单3.打印机打印菜单分支事件流:无异常事件流:无泳道图:
chapter5。
5.1如何理解分析与设计的联系?
答:“分析”是指“做什么”,强调对问题的调研而不是如何确定解决方案,重点集中在需求和应用领域上;而“设计”指“怎么做”,强调的是问题的逻辑解决方案,即系统怎样才能满足需求,重点转移了要产生软件的结构上。但由于分析与设计是把用户需求转化为实现的桥梁,分析和设计自始至终可以用相同的技术和类似的表示方法,它们之间的界限很难划清,且没有太多意义。
5.2分析设计包括哪些工作流程?
答:分析和设计过程是一个不断迭代优化的过程。
包括:执行体系结构合成;定义候选体系结构;优化体系结构;分析行为;设计构件;设计数据库;服务识别;服务规范。
5.3分析建模的元素分哪几类?具体是什么?答:分析建模的元素分为四大类,分别是:(1)基于场景元素:
这类元素包括:用例文本、用例图、活动图和泳道图等;(2)面向流的元素:
这类元素包括数据流图、控制流图、处理叙述等;(3)基于类的元素:
这类元素包括类图、分析包、crc模型、通信图等;(4)行为的元素:
这类元素包括状态图、顺序图等。
5.4分析模型的静态模型的用途是什么?静态模型的元素有哪些?
答:用途:通过分析,可以将业务需求模型和系统需求模型转化为系统可以处理的对象模型,并给出对象的基本属性和对象间相互关系。
分析模型中静态模型主要的元素是基于类的元素,包括:分析包:模型中的包,表示层次结构。类:模型中的类,由包所拥有。关系:模型中的关系,由包所拥有。
图:模型中的类图、协作(通信)图,由包所拥有。
5.5动态模型的类被分为哪三类?分别在系统中承担什么职责?答:边界类、控制类和实体类。
边界类:是用来对系统环境及其内部工作之间的交互建模的类。这样的交互涉及转换和转移事件,并注释系统表示中的更改(例如界面)。
控制类:是用于对特定于一个或一些用例的控制行为建模的类。实体类:是用来对必须存储的信息及关联行为建模的类。
5.6按照设计模型的不同层次和功能,设计元素可以分哪些方面?
答:(1)体系结构元素;(2)构件级元素;(3)接口/界面元素:用户界面、构件接口、系统接口;(4)数据元素:数据库设计、数据结构设计;(5)部署级元素。
5.7软件模式有哪三个层次?分别说明之。
答:一般地,软件模式可划分为三个层次:体系结构模式,设计模式和代码模式。
体系结构模式:描述软件系统里的基本的结构组织或纲要。体系结构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。
设计模型:提供一种提炼子系统或软件系统中的构件或者两者之间关系的纲要设计。设计模型描述普遍存在的在相互通讯的构件中重复出现的结构,这种结构解决在一定的背景中的具有一般性的设计问题。
代码模型:也称“成例”、实现模式。是较低层次的模式,并与编程语言密切相关。代码模型描述怎样利用一个特定的编程语言的特点来实现一个构件的某些特定的方面或关系。
5.8什么是软件体系结构?简述软件体系结构的设计重要性。
答:软件体系结构:是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
重要性:软件体系结构设计是高阶层的设计,定义了包(子系统),包括包之间的依赖关系和主要的通信机制。自然清晰和简单的结构是目标,避免几乎没有依赖或双向依赖。
5.9试说明软件体系结构的演变过程。
答:(1)单机系统:是指只需装在一台电脑上,同时只能一个用户使用的系统,没有服务器概念,很多早期的软件都是单机系统,与分布式系统区别。
(2)客户机/服务器(两层)结构:由服务器提供应用(数据)服务,多台客户机进行连接。
(3)浏览器/服务器(b/s)结构:在当前internet/intranet领域,“浏览器/服务器”结构是非常流行的客户机/服务器结构。这种结构最大的优点是:客户机统一采用浏览器,这不仅让用户使用方便,而且使得客户机不存在安装维护问题。
(4)三层结构:三层结构的客户机/服务器模型是一种先进的协同应用程序开发模型,不是物理上,而是逻辑上将客户机/服务器系统中各种各样的部件划分为三“层”服务,它们共同组成一个应用程序,这三层服务包括:数据访问层、业务逻辑层和表示层。
5.10如何理解体系结构风格和模式的本质?
答:体系结构风格:定义了结构组织模式的系统族,用来表达一组协作的约束,使得对公共约束的特征进行沟通变得更加容易,被用作一种进行抽象的方法,而不是代表一种个性化的设计。
体系结构模式:是对某类问题域给出的一套软件结构的解决方案,描述了软件系统基本的结构化组织方案,是处理特定问题的高效、成熟的模板。
5.11什么是软件框架?与模式的区别是什么?
答:软件框架:软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架模型。
区别:模式提供一种思想方法的指导,应用模式的指导,可以帮助设计人员做出一个优良的设计方案,达到事半功倍的效果。但模式不体现为程序,如mvc是一种体系结构的模式,对于同一软件体系结构,可以通过多种框架来实现。如struts是实现mvc模式的著名框架,但不是唯一的。
5.12rup的4+1视图分别是什么?答:概括而言,rup的4+1视图是:(1)逻辑视图:设计的对象模型。
(2)进程视图:捕捉设计的并发和同步特征。
(3)实现视图:描述了在开发环境中软件的静态组织结构。
(4)部署视图:描述了软件到硬件的映射,反映了分布式特征。
(5)用例视图:该视图是其他视图的冗余(因此“+1”)。它包含用例和场景。
5.13什么是设计模式?
答:设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
5.14简要说明类的详细设计分哪几步来实现?
答:(1)使用设计模式和机制:使用适合设计的类或功能、符合项目设计指南的设计模式和机制。
(2)创建初始设计类:为指定为此任务输入的分析类创建一个或多个初始设计类,并指定跟踪依赖关系。包括设计边界类、设计实体类和设计控制类。
(3)定义属性:类的属性为类实例提供信息存储,并经常用于代表类实例的状态。类本身保持的任何信息都是通过其属性完成的。
(4)确定持久类:需要在永久介质上存储其状态的类被称为持久类。
(5)定义操作:类的操作是类的行为特征或动态特征,表示类提供的服务。(6)定义方法:方法制定操作的实现。
(7)定义状态:对于一些操作,操作的行为取决于接受者对象所处的状态。
5.15什么是实体类与持久类?说说两者之间区别与联系。
答:实体类:在分析期间,代表被操纵的信息单元。它们往往是被动的、持久的,并且可能被确定并与持久性分析机制相关联。
持久类:需要在永久介质上存储其状态的类。
区别和联系:持久类是针对于hibernate对数据库的映射来说的,持久类=实体类+xml或注解配置;而实体类就是一个javabean类,有属性,get、set方法,以及一些简单处理的方法。
5.16开发物理数据库设计的详细步骤有哪些?
答:(1)定义域;(2)创建初始物理数据库设计元素;(3)定义引用表;(4)创建主键和唯一性约束;(5)定义数据和参照完整性实现规则;(6)将数据库设计反向规范化来为性能进行优化;(7)优化数据访问;(8)定义存储器特征;(9)设计存储过程来将类行为分发给数据库。
5.17进行界面设计时分析用户的特征有什么作用?
要。
与系统分析人员协作,确定是否需要对用户(主要的执行者)描述做出更改,来反映特征描述。
5.18选择题。
(c)interfaceprojectscope。
5.19综合案例分析-餐厅pda无线点菜系统分析与设计。
根据第4章餐厅pda无线点菜系统的需求,请分析设计相关系统。包括1.找出主要的概念实体,画出实体类图。
答:1.主要的概念实体:客人,点菜单,点菜记录,打印机,服务员,菜品分类。
实体类图:
2.
3.实体类操作:1)客人:输入已点菜品。
2)点菜记录:记录已点菜品();确认点菜记录();发送点菜记录()3)打印机:打印点菜记录()。
类图:
4.界面:
5.数据库表结构:
0105。
学习软件工程的心得体会篇六
作为一名软件工程专业的学生,我在近期学习的“软件工程概论”课程中有了很多收获和体会。通过这门课程,我更加深刻地认识到了软件工程的重要性和其领域的多样性。在日后的学习和实践工作中,我将会更加努力地掌握相关知识,提升自己的技能和综合素质,做一个优秀的软件工程师。
本次软件工程概论的课程主要从软件过程、软件生命周期、软件质量、软件工程方法学等方面进行了系统的介绍和讲解。在学习过程中,我们通过理论学习和实际案例演示等多种方式,深入了解了软件开发的全过程,明确了软件需求分析、软件设计、编码与测试、维护等各个环节的重要性。同时,学习了如何控制项目中的工期、成本和质量,如何保证项目进度和质量的有效管理,以及如何开展有效的软件开发工作。
在学习软件工程概论的课程中,我更加深刻地认识到了软件工程的重要性和复杂性。我们需要在整个软件开发的过程中,进行需求分析、系统设计、开发和测试等一系列的工作,确保软件系统能够满足预期目标。同时,我们也需要关注软件的维护和更新,随时根据需求进行优化和改进。在实践的过程中,我们还需要进行团队协作,有效地管理项目进度和质量等方面的问题。只有当我们充分理解软件的复杂性,并且有一套有效的软件开发及管理模式时,才能够顺利地推进项目工作,取得良好的效果。
学习软件工程概论,不仅能够学习到知识,更能够培养我们的素质和能力。我们通过学习软件开发的流程和方法,养成了系统化的思维方式,能够更好地理解问题和解决问题。同时,我们也学习到了互联网时代的软件开发模式和管理方式,使我们更加适应互联网时代的工作环境。此外,我们对团队协作、进度管理和质量控制等方面的问题也有了更深入的认识。这些都将为我们日后的学习和工作提供极大的帮助。
五、结语。
软件工程概论的学习,使我对软件工程有了更深入的了解。我了解了软件开发的全过程和软件项目管理的重要性;同时,我养成了系统化的思维方式,能够更好地应对未来的学习和工作。在以后的学习和实践工作中,我将会更加努力地掌握相关知识,提升自己的技能和综合素质,成为一名优秀的软件工程师。
学习软件工程的心得体会篇七
我们没有进行过系统化软件设计的教育和学习,对如何进行软件的开发基本上就是想什么写什么。根本没有过系统化的设计。比如需求分析,可行性研究等。更不知道用什么模型来设计软件。这在我们以后的工作中是完全不行的,没有系统化的设计,是不可能满足客户的需求的。
胡老师让我们分组进行软件互换的形式来进行软件的修改。其实胡老师就是想让我们了解以后工作中,软件是如何设计的和制作的。对于以前的编程,我们只能按照自己的想法,想一步做一步。根本没有系统化的设计。通过对软件工程导论这门课程的学习,一遍学习一遍实验,实践与理论相结合。开始其实我根本不理解各种图的作用,觉得它们根本没有用,就是照猫画虎,没有任何的实际意义。但是通过后面的学习和理解,对他们有了独特的理解和想法。比如对uml来说。它是一种标准化交流的语言,它可以让开发人员与客户之间轻松的交流。用图的形式向客户展示软件设计的流程,从中传递信息。简单的说就是客户和设计人员交流的手段。
这学习,不管是实验小组的实验还是老师您要求的程序,基本都是我一个人做的,所以对各种图还是比较了解和掌握的。虽然对实验报告的制作感觉到十分的吃力,工作量很大,但是还是通过几个晚上的专心学习和制作,最后还是完成了。但是好多图画的还是很有问题,没有真正的完全理解和掌握。但是在后面的学习和复习中,有了更正。
下面我对实验进行一下总结。首先是实验一结构化分析和设计,主要理解dfd图,数据字典,erd图和问题描述进行设计和学习。dfd图主要分为三个方面,数据的源点,数据流和数据存储。它将信息流和数据从输入移动到输出的工程中所经受的变化。简单的说就是主体,动作和数据单元的问题。接下来是数据字典,主要进行软件操作单元的数据定义,格式化和功能说明。然后就是erd图,根据短信系统的问题描述,可得到软件实体,从而得到此图。其次是实验二和三面向对象分析和设计。主要进行用例图,场景描述,初始化类图,协作图的制作。先是从需求到业务用例图,根据客户需求(也就是我们软件的需求)画出用例图。它的作用其实就是描述该实现什么业务或者说是功能。接下来就是场景描述,简单来说就是软件实际的操作的某个步骤的具体说明。跟着就是初始化类图,重要作用就是显示系统有哪些实体,实体的具体操作,实体间的关系。然后就是协作图,主要作用是针对某个软件的功能,进行交互过程的解释,简单来说就是具体业务的具体操作,而且是所有涉及到的操作。动态模型和静态模型的建立,在面向对象的系统中,业务流程表现在为对象之间的交互,对动态模型和静态模型分析和总结,从而产生顺序图。面向对象设计就是对实体类进行定义和说明,所有的类都是跟软件里的类相对应。就是真正的类。最后就是实验三编码和测试,实验主要对测试和编码进行总结。从中总结制作过程和测试过程。
实验对我来说可能很辛苦,但是我从中学到了很多。了解了很多图的作用,也了解了以后工作的具体流程,这对我们以后的实际工作提供很多帮助。对我来说辛苦着收获着快乐着。跟您的交流中也学到了很多知识。总之我很满足。
学习软件工程的心得体会篇八
这次软件工程实训是从__年__月__日号开始的,截至__年__月__日号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。
因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊。后悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析——需求分析——概要设计——详细设计——代码编写——测试——验收。从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了。__老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你回答。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。
这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。
学习软件工程的心得体会篇九
15天的实训结束了,今天做的是纸牌游戏软件和趣味打字游戏。今天的东西对我来说有点难度,最后没有能过完全做完。但是我还是觉得这是一个不错的实训,在这种集体的环境里和同学们一起学习,每天的生活过的也是非常的充实。
此次实践课我的收获很多。我和同学们这一次真正自己动手制作了一个小软件,虽然还存在很多的问题,而且我做的软件在使用起来还是很不可行的,但是我们从中受到了很多知识,不仅是专业的知识,更让我明白了一个软件从设计到实现的每一个环节真的很不容易,不仅需要扎实的专业知识,更需要一个团队的配合,这才是一个软件成功的关键。这就告诉我们,一个人的出色不算什么,一个团队的出色才是真正有用的。
刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将java的思想运用到实际系统的详细设计之中。
在实验课上,我学会了很多学习的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。
虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的软件设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢实验指导老师陈中育老师的指点与教导。这次软件设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。
学习软件工程的心得体会篇十
软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。软件工程(softwareengineering,简称为se)是针对软件这一具有特殊性质的产品的工程化方法。se涵盖了软件生命周期的所有阶段,并提供了一整套工程化的方法,来指导软件人员的工作。任何事物都是从无到有的,软件当然也不例外。上世纪中期,软件产业从零开始起步,经过半个多世纪的发展,其大致经历的3个阶段:程序设计阶段、软件设计阶段和软件工程时代,现已成为推动人类社会发展的龙头产业,随着信息化时代的发展,软件对人类社会也将越看来越重要。人们对软件的认识自然经历了一个由浅入深的过程,在得到巨大需求的同时,也遇到了一系列严重问题,即软件危机。所谓软件危机,是指在计算机软件的开发和维护过程中所遇到的一些严重问题,其实质是软件产品的供应赶不上需求的增长。概括的说包含两方面的问题:一、如何开发软件,以满足不断增长,日趋复杂的要求;二、如何维护数量不断膨胀的软件产品。为研究和解决软件危机,一门新兴的学科软件工程,应运而生。
软件工程的概念是为了有效地控制软件危机的发生而被提出来的,它的中心目标就是把软件作为一种物理的工业产品来开发,要求“采用工程化的原理与方法对软件进行计划、开发和维护”,它的主要对象是大型软件,它的最终目的是摆脱手工生产软件的现状,逐步实现软件开发和维护的自动化。软件工程的概念自提出来后,经过几十年的发展,虽然软件危机没有得到彻底的解决,但在软件开发方法和技术方面已经有了很大的进步,提出了软件工程知识体系、软件工程三段论、软件工程生存期模型、服用原则等等。
软件开发过程大致经过7个阶段:可行性分析、需求分析、概要设计、详细设计、编码、测试、提交与维护。接下来逐一分析本人见解:
一、可行性分析:顾名思义,就是看项目究竟“能不能做”。有3个方面:技术可行性、经济可行性和操作可行性。要确定项目,首先要客观的、科学的了解项目的规模、难度和时间限制,才可以确定应该投入多少人力、物力和财力去做这个项目,必须准确的估计项目的规模与难度。看项目是否有价值去做,如果没有价值,就放弃;如果有价值,就要看目前的资源是否能满足项目的开发。如果项目有价值,且有必需的资源,那么就可以确定能做这个项目了。
2、通过什么方式去了解:直接与客户交谈;有些需求客户讲不清楚,分析人员又猜不透,这是就要请教行家。需求分析是非常重要的阶段,如果做不好的话,后果很麻烦。
三、概要设计:解决“怎么做”的问题。将需求描述的“做什么”问题变为一个实施方案的创造性过程,使得整个项目在逻辑上和物理上能够得意实现。概要设计是第一个开发活动,也是最重要的活动,是软件项目实现的关键阶段。设计质量的高低直接决定了软件项目的成败,缺乏或者没有软件设计的过程会产生一个不稳定的、甚至是失败的软件系统。一个良好的软件设计是进行快速软件开发的根本,没有良好的设计,会将时间花在不断的调试上,无法添加新功能,修改时间越来越长,随着给程序打上一个有一个的补丁,新的功能需要更多的代码实现,就变成一个恶性循环了。概要设计是软件设计级别中的高级设计,是从需求出发,描述了总体上系统架构应该包含的要素。概要设计尽可能模块化,因此描述了各个模块之间的关联,主要是根据需求规格或规格定义,合理、有效地实现产品规格中定义的各项需求,完成软件模块的划分并描述模块之间的关系,并不断分解系统模块,从高层分解到低层分解。它注重框架设计、总体结构设计、数据库设计、接口设计、网络环境设计等,将产品分割成一些可以独立设计和实现的部分并保证各个部分可以和谐的工作。此过程中画数据流图、ipo图、e-r图、界面设计等。
出程序的详细规格说明,这种规格说明类似于其他工程领域中工程师经常使用的工程蓝图,程序员根据其中所包含的必要的细节写出实际的程序代码。用另一种方式说就是,详细设计是将概要设计的框架内容具体化、明细化,将概要设计转化为可以操作的软件模型,但在实际项目进行过程中,依据项目的具体情况和项目要求,这个过程可能可以省略(逻辑上没有省略,表现在概要设计阶段或者编码阶段),直接按照概要设计进行编码;不过,个人认为最好有,有详细设计可以更好的保证编码顺利的进行,可以预先扫清编码过程中的障碍,提高代码的质量和编码的效率。主要包括模块描述、算法描述、数据描述,可以采用图形、表格或者文字描述等方式表达出来。
代码的时候,更不要错过重构,另外,重构可以和设计互补。还有一点值得注意,要在必要的时候部署编码文档。
六、测试:看软件是否符合标准。软件编码完成之后,将软件提交给用户之前,需要对软件进行测试,这是保证软件产品质量的一个重要标准,也是评估产品质量的主要手段。软件测试是从软件工程中演化出来的一个分支,有着非常广泛的内容,并且随着软件产业的发展,它已经变得越来越重要。软件与生俱来就可能存在缺陷,为了防止和减少这些可能存在的缺陷,进行软件测试是有必要的,测试是最有效的的排错和防止缺陷和故障的手段。最原始的测试莫过于直接运行软件了,后来测试手段逐渐多样化。测试手段有静态测试、动态测试面向对象的测试、自动化测试等等之分。静态测试或称静态分析是指一种不通过执行程序来进行测试的一种技术,主要是检查软件的表示和描述是否一致,覆盖程序的编码格式、程序语法、检查独立语句的结构和使用等,主要包括代码检查、静态结构分析、代码质量等等,可以通过人工进行,亦可借助工具(如:语法分析器)自动进行。动态测试是运行被测试的程序,通过输入测试用例,对其运行情况进行分析,以达到检测的目的,显然动态测试封像我们通常意义上的“测试”。动态测试主要包括白盒测试、黑盒测试、灰盒测试(介于黑盒和白盒之间)。其他测试不再一一介绍。
打水漂了。为了保证成功地将我们开发的软件提交给用户,我们需要对用户进行培训,同时提交必要的文档及用户手册软件。维护就不用多说了,就是售后服务了。维护需要分析人员、编码人员和设计人员等角色的参与,有纠错行维护、适应性维护、完善性维护、预防性维护等。维护后,要写软件维护过程文档,至少提交一个软件维护记录。以上是软件工程及其几个阶段的介绍,知道怎样开发软件只是软件工程的一部分,搞好团队合作也是很重要的。项目是一个很大的工程,需要一个团队的统筹规划,团结协作,集思广益,举一反三,才能够按预期完成。
学习软件工程的心得体会篇十一
初学软件工程第一周的时候以为只是纯粹的理论课毫无用处,其实不然。深入了解之后发现它对程序的设计,错误的检测以及软件测试,编写方面有不可磨灭的便捷好处。开发一个软件时,对原定的系统模型和目标的现实以及系统完成后所带来的效益的预判断,可以明确开发与否,否则就是浪费人力,物力以及时间。
以下是所学过程中的知识点:
(1)软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
所以若要解决软件危机,既要有技术措施(方法和工具),又要有必要的组织和管理措施,软件工程正是从管理和技术两方面研究如何更好得开发和维护计算机软件的一门新兴学科。
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术、和方法来开发与维护软件。
软件工程方法学包含3个要素:方法、工具和过程。
(2)软件生命周期:软件定义、软件开发和运行维护。
软件开发阶段:问题定义,可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试,软件维护。
软件维护主要任务:是使软件持久的满足用户的需要。
软件过程目的:为获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。
其中:可行性分析:技术可行性,经济可行性,操作可行性。
(3)判定表和判定树能够清晰地表达出各种动作之间的对应关系。
第一个软件生命周期,瀑布型生命周期。
程序设计:低耦合高内聚。
(4)学会画程序流图,sc图,er图,dfd图,顺序图以及协作图。学会读图,可以独立完成相关计算题。
学习软件工程的心得体会篇十二
谈到机械工程先来讲讲机械,中国的机械发展有着悠久的历史,五千年前的纺织机械、晋朝时期的连机锥和水碾、西汉时期的指南车和鼔车、东汉的地震仪、秦始皇时期的铜车马„„国外机械的产生要追溯到18世纪初,第一次工业革命产生蒸汽机和一些以蒸汽机为动力的近代机械的雏形,再到19世纪代左右的第二次工业革命,内燃机的产生带来了新的动力机械,开始了机械的迅猛发展。从机械和社会的发展来看,一个社会机械水平越高,生产力水平越强。现代社会也是一样,机械是现代社会进行生产和服务的六大要素(人、资金、信息、能量、材料和机械)之一,机械工业是国民经济的支柱工业之一,是社会生产力发展水平的重要标志。综上可见,机械是一个国家发展、民族复兴的重要保证。
机械社会发展中的地位如此之高,那机械工程呢?机械工程是运用数学、物理等基础理论和有关机械方面的专门知识,结合生产实际经验,经济有效地解决在设计、研究、制造和运行各种机械中遇到的实际问题。从定义上可以看出,机械工程是一个系统性的全面的工程,可以尽可能合理的创造和最大化的利用机械。可见,在21世纪这样一个充满市场竞争和需要不断创新的时代,机械工程运用的好与不好,往小一点说,直接关系到一个企业的存亡问题,往大一点说,直接决定了一个国家机械工业方面的软实力。机械工程对国家发展如此之重要,对于未来希望成为工程师的大学生的我来说,没有理由不好好的了解机械工程。
工程中力学包含:理论力学、流体力学、材料力学、震动力学、计算力学。这些力学是进行机械设计和制造的基础,学好这些理论才能知道运动以怎样的机构传递,能量以怎样的机器传递。
机械设计包含了很多的设计方法,除去传统设计方法不说,现代设计方法包含:优化设计、可靠性设计、有限元分析、并行设计、绿色设计、创新设计、模块化设计和反求设计。其中有限元分析、绿色设计和反求设计令我印象深刻。利用电脑软件对设想的机械部件进行有限元分析,可以确保设计的合理性和可利用行,如此以来,可以在不做出模型的情况下就可以清楚的了解结构的性能,节约了时间不说更节约了大量的人力、物力财力。在绿色设计方面,美国的废旧汽车利用可谓楷模,报废汽车再利用率达到了百分之九十五,再利用零部件重量超过旧车的总重量的百分之七十五,可以说节约了大量的资源,对环境有了一个很好的保护,这点反观我的祖国,确实有必要学习一下,我国现在汽车每年的购买量都在大幅度上涨,随之而来的必然会有大量的报废汽车,这是新的产业,也是一个新的经济增长点,不但节约资源保护环境,还可以促进经济增长,真是一举两得的好事啊。这些设计方法中,最让我眼睛一亮的要数“反求设计”,二战战败国日本就是运用这种方法,以“一代引进,二代国产化,三代改进口、四代占领国际市场”方针,迅速的崛起为世界第二大经济体。日本的成果是对这种方法实质的最好诠释,中国也在使用这种方法,不过是歪曲了的,只顾模仿不懂得吃透他人的技术再创新,是中国科学技术落后与发达国家的一个重要因素。模仿不可怕,可怕的是照搬照套!用好“反求设计”实现“比他人做得更好”。
机械制造技术包含两方面含义:
1、指用机械加工零件的技术;。
2、指制造某种机械的技术。在制造技术方面,先进制造技术显得更适合现代化,通过将多方面的技术进行交叉、融合和集成,综合应用于产品全生命周期的制造过程,可以更经济更有效率更好的制造出适应市场需求的产品。特别是三维打印技术,可以通过电脑造型,再通过3d打印机打印出模型来观察产品的合理性和可用性,方便效率高。
最后谈谈机电一体化技术,机器人现在是各个国家研究的热门项目,每个国家都希望在这方面领先全球,机器人就是典型的利用了机电一体化技术的产品,是机械和电子的有机结合。从20世纪中后期,机电一体化就代表了现代机械工程的发展方向,产生了众多高新机械产品,如:火箭、卫星、宇宙飞船、航空母舰、深海探测器。可见,机电一体化的前景非常不错,不过要想学好这么技术,作为机械专业的学生来说,就有必要好好的学学计算机和信息类的知识,毕竟机电一体化中电子占了很大的比重,为了自己未来的发展,也为了赶上现代化的机械工程方向,我要努力的学好机械专业课的同时,多涉猎一些电子类的书籍,为未来的发展奠定基础。
学习软件工程的心得体会篇十三
摘要:针对浙江省服务外包软件业的发展与高校在软件工程专业特色培养之间的矛盾,分析浙江工业大学计算机科学与技术学院在以“服务外包”为特色的软件工程专业建设方面的优势,提出以强化“服务外包”特色,培养复合型、实用型软件工程高级技术人才为目标的优势专业建设总体规划和主要建设方案。
关键词:优势专业;服务外包;软件工程;建设方案。
高校毕业生专业结构失衡,与社会对计算机应用需求及最新科技发展脱轨,是目前在计算机类专业人才培养中遇到的主要问题之一。近年来,随着浙江省和长三角地区信息产业的蓬勃发展,高素质软件人才,特别是软件服务外包产业的人才缺口正在不断加大。针对这一现象,浙江工业大学经过认真的市场调研、认证和规划后提出要以培养软件“服务外包”人才为突破口,强化建设具有“产学研用结合办学,分层分类精细培养”特色的软件专业,培养具有“宽口径、厚基础、强个性、善创新”的应用创新型软件工程人才,这对缓解实际需求矛盾,提高人才培养质量,优化专业结构具有十分重要的意义。
1服务外包专业建设。
1.1服务外包产业在浙江省的发展状况。
作为现代服务业的一个重要组成部分,服务外包产业具有以下特点:信息技术含量高、附加值大、国际化水平高、环境污染少、能耗低、人力资源密集。浙江省的服务外包产业目前正处于刚起步的重要阶段。浙江省服务外包合同的执行总额约为110亿美元,其中杭州市作为浙江省“中国服务外包示范城市”,其20离岸服务外包合同的执行总额达到了15.5亿美元,在全国21个示范城市中位居第四。服务外包区域发展逐渐形成以杭州市为中心,宁波、嘉兴、金华、绍兴、台州、湖州等共同发展的新格局。年浙江省服务外包企业达到1480家,其中新增企业670家,增幅位居全国前列,同时,服务外包从业人员也达到了18万人。
《浙江省服务外包产业“十二五”发展规划》明确指出:浙江省要建设成为全国服务外包产业发展的先进省份,并打造出“浙江服务”的整体品牌。该规划确定了“至全省服务外包合同执行总额突破200亿美元”的经济目标,且至20浙江省服务外包从业的人数预计达到30万人,同时年均新增的直接就业人数将会突破3万人。
服务外包产业是人才驱动型产业。计算机类专业作为高校开设普及率较高的专业,在服务外包软件人才的培养上还存在巨大的缺口。随着产业的发展,服务外包实用型人才要具有复合型、跨行业、外语沟通能力强的特点,其人才数量远远不能满足需求。为保持该产业的持续发展,加快转变经济发展方式,促进经济转型升级,国家有关部门先后制定了一系列推动高校计算机学院培养服务外包人才的政策,从而进一步提升高校毕业生的综合能力、就业率和就业质量。
1.2培养服务外包行业人才的优势。
为适应软件服务外包产业的发展需求,浙江工业大学计算机科学与技术学院软件工程专业已申请建立以“服务外包”为特色的浙江省高等学校优势专业,且在服务外包行业人才培养上有以下优势。
1)已建立创新型人才培养模式。
计算机科学与技术学院正在积极地以国家级人才培养模式创新实验区(技术与艺术相结合的数字媒体跨学科人才培养模式创新实验区)的建设为契机,探索实践产学“双螺旋”驱动的高质量软件人才培养,以工程实践与创新能力为核心,从而形成特色鲜明的软件工程创新型人才培养模式。
2)具有高水平专、兼职教师队伍。
浙江工业大学软件工程专业已经建成了一支由专任教师、企业兼职教师、软件领域知名教育与学术专家组成的120多人的教师队伍。
3)共建了教学改革与实践教学联合体。
浙江省教育厅和杭州市高新技术产业开发区共建软件学院,并共同成立了浙江工业大学软件学院校企合作委员会。该委员会拥有理事单位近70家,会员单位包括众多国内外知名it企业。在此基础上,校企共建了教学改革联合体,共同确定了人才培养目标、课程体系、课程教学内容。学校专职教师与企业教师共同承担课程教学。学生的实习和毕业设计等实践环节全部进入企业进行。
根据软件工程课程体系框架,学校已建成1门国家级精品课程、4门省级精品课程及5门校级精品课程,其中核心学科基础课程(如c++程序设计、数据结构、数据库原理及运用、计算机网络基础等)已全部建成省级精品课程。
5)专业人才培养质量和社会认可度高。
浙江工业大学软件工程专业已培养了6届毕业生,共1590人,其中有600人进入服务外包企业就职。专业教学效果良好,获得用人单位的极大认可。还有一批学生获得了国际国内多项高水平的奖项。例如,acm队在世界总决赛上获前20名,acm队获得亚洲预选赛3金1银的成绩,并再次人选全球总决赛。在第三届中国大学生服务外包创新创业大赛中,计算机科学与技术学院选派的两支队伍均突破重重选拔,晋级决赛答辩环节,分别获得了二等奖和三等奖的不菲战绩。
2专业特色规划和建设思路。
经过多次论证,浙江工业大学计算机科学与技术学院软件工程专业将总体规划设定为:经过特色专业的建设,以先进的教育思想和理念为指导,以培养软件“服务外包”人才为突破口,强化“产学研用结合办学,分层分类精细培养”的专业特色,在人才培养模式创新、教学团队建设、课程与资源建设、教学方法改革、实践教学与平台建设、教学管理以及国际合作等方面取得标志性的教学成果,将浙江工业大学软件工程专业打造成实训基地完备、师资力量雄厚、教学质量一流、课程体系先进、专业特色鲜明、行业和社会评价优良的特色专业,建设成省内一流、国内知名的复合型、实用型软件工程高级技术人才的培养基地和国内外具有一定影响的计算机软件产学研基地。
2.1“产学研用”结合办学校企联合将教学改革与实践教学相联合,共同确定人才培养目标、课程体系、课程教学内容,学校专职教师与企业教师共同承担课程教学;同时将学生的实习和毕业设计等实践环节全方位嵌入企业项目,通过任务驱动、案例驱动、项目驱动,让学生融入教师科研和企业工程项目,做到做中学,学致用,形成产学研用结合办学的特色。
2.2分层分类精细培养。
学校以培养软件“服务外包”人才为突破口,在人才培养模式改革、研究型教学方法改革、课程建设和实践平台建设中,坚持以软件研发实践和创新能力的培养为核心,强化个性,分层分类精细培养复合型、实用型软件工程高级技术人才。
3优势专业建设总体方案。
3.1完善人才培养方案。
学院根据“夯实基础、拓宽口径、强化个性、善于创新”的指导思想,采用多层次、多方向、宽口径的课程教学体系,进一步完善专业教育学分制和产学研一体化联合培养方案;采用“嵌入式人才培养模式”,对学生进行“定制式”培养,包括软件服务外包知名企业实施联合培养和服务外包培训班等形式;完善专业主修方向及多个辅修方向相结合的机制,引进国外优秀师资和系列双语教学课程,制定对日服务外包和对欧美服务外包两种计划,提供相当数量的选修课程。
3.2构建特色专业的课程体系。
学院加强学科基础教学,与服务外包企业联合构建“服务外包联盟”,共同确立多层次的课程体系;提供新型、实用的学科方向课和新技术讲座;搭建软件服务外包实训基地、创业孵化中心;开设各类大型实验、软件工程综合实习等实践环节强化实践训练。实行的新课程体系由软件工程领域的核心课程、引进国际先进的课程、校企合作联合开发的面向服务外包课程组成。图1所示为软件工程专业课程体系。
我们要着重加强实践教学在课程体系中的比重,增加实用性课程和实践环节的比重,增加项目实践的时间,扩展服务外包案例分析教学内容,同时着力强化“分段制、融入型”实习,明确产学研在教学上的合作机制,提升设计性、综合性实验课程比例,提高毕业设计水平。
3.3改革课程教学内容,加强新教材建设。
学院对现有的课程内容进行改革,并根据历年来学生对教材的反馈情况以及教师教材的使用情况,精心选择优秀教材。教材由同课程的多名教师讨论决定,并由课程团队责任教师进行把关,要保证教材内容时刻跟随相关产业和领域的发展。学院还组织教师积累经验,结合软件服务外包编写教材。教材内容要反映产业和领域发生的.变化。此外,学院还引进相应的国外原版教材,通过双语教学提高学生对最新软件开发理论和技术的了解,提高外语应用能力,培养能在国际化环境中工作的高层次软件专业人才。
3.4改革教师培养和使用机制,加强教师队伍建设。
学校秉承建设专、兼职教师队伍相结合的方针及特色,完善学科带头人、专业负责人制度,以培养骨干教师和中青年学科带头人为重点,通过引进、培养、补充等多种方式,建设精干高效、富有活力、素质良好、结构优化的高素质专职教师队伍。另外,学校还加强面向服务外包方向的师资培训,增强校内教师指导专业技术能力,重点培育教学骨干、教学带头人、教学名师、教学团队。
学校从国内外知名服务外包软件企业的高层主管和技术骨干、国内外相关学科中聘任兼职教师,聘请外国知名专家、学者授课或讲座,保证专业建设始终与社会需求接轨,提升专业培养质量。
3.5完善实践教学及实习基地建设。
在学校的传统教学实验室的基础上,我们通过校企合作和校企共建教学改革与建设联合体,形成“服务外包联盟”,建立服务外包企业实验基地、校内实习基地和软件园的开放式实践基地,开展创业创新预孵化基地、大学生服务外包创业预孵化基地的建设,做好实验室建设规划和“服务外包校内实训中心”建设工作,形成专业良好的实践教学条件。
此外,学院还会完善分层分类的专业实验教学体系的建设。图2所示为分层分类多元化的实验教学方法。由此看出,该教学体系着重专业实验教学中复合型、实用型人才的工程实践能力培养,依据学科基础技能、专业基本技能、专业综合技能和工程实践能力划分层次,采用课内实验、综合实践、课程设计、开放项目、科研创新项目、科研勤工、学科专业竞赛等课内外结合形式,划分实验班、一体化专业、服务外包专业模块班等不同学生对象,依托实验教学体系实施分层分类精细化培养,采取任务驱动、问题驱动、案例驱动和项目驱动4种基本方法,适应不同实验课程的需要,实施多元化的实验教学方法。
3.6加强学竞赛平台的建设,完善学生科技创新体系。
学院举办课程竞赛,开展自主实验,积极组织、鼓励学生参加各种校内外科技竞赛,通过加强竞赛网站建设和赛事承办,进一步加深校企合作模式,加大宣传力度,让更多的高校和企业参与竞赛的各项活动,突出产学研用相结合培养软件工程人才的特色,进一步完善学生科技创新体系,促进学生参与创新创业,获得更多更好的成绩。
学院借助浙江工业大学在后acm竞赛中3年获得进入全球总赛的契机,加强了acm竞赛的平台建设,完善了教练团队和集训制度,鼓励学生通过竞赛和国际联系,通过人选全球总决赛和全球名校的学生平等竞争,取得佳绩,彰显浙江工业大学专业建设人才培养成效。
3.7教学管理与运行机制的研究与建设。
学院针对服务外包专业建设,建立和完善相应教学管理组织、教学质量保证体系,通过完备的规章制度和教学规范,以及对规章制度执行情况的例行监督和反馈机制,有效管理教学,提高教学质量。
(1)建设由政府职能部门、行业管理部门、有代表性的企业和学校主管部门组成的专业建设顾问组,成立软件服务外包专业建设咨询委员会,指导专业建设的定位与方向。
(2)建设以杭州骨干软件企业为主组成的校企合作委员会,共建服务外包实践基地,完成学生实习和毕业设计的教学工作。
(3)建设由国际国内知名软件技术教育专家、软件设计与开发专家组成的教学指导与教师培养委员会,联合服务外包企业,指导课程体系、课程内容的建设和教师队伍的建设。
4)进行服务外包教学管理、教学工作规范、实习环节质量评定方法和监督反馈机制的建设。
4结语。
针对计算机人才培养质量与社会需求和最新科技发展脱轨问题,笔者详细分析了服务外包产业在浙江省的发展状况及浙江工业大学计算机科学与技术学院在服务外包行业人才培养中的优势,提出了以培养软件“服务外包”人才为突破口,强化建设具有“产学研用结合办学,分层分类精细培养”特色的软件专业,培养具有“宽口径、厚基础、强个性、善创新”的应用创新型软件工程人才的方案。通过今后几年的不断努力实践,我们希望能取得软件工程专业建设的成效,满足社会对软件人才的需求,并为其他高校软件工程人才的培养和专业建设起到示范和带动作用。
学习软件工程的心得体会篇十四
软件工程概论是一门引导人们正确开展软件开发的学科,它包括软件开发的常用流程、方法和工具等。我们是计算机专业的学生,而且都了解软件开发的基础,但是能够真正了解软件工程概论的学生是相对比较少的。因此,这门课程将会是我们学习过的最重要的课程之一。
软件工程概论具有如下几个重要的内容:软件生命周期模型、软件需求分析、软件设计、软件开发流程和软件测试。其中软件生命周期模型是最重要的内容之一,它为开发过程提供了全方位的指导,确保开发人员始终按照正确的流程进行开发。这些内容将会帮助我们了解整个开发过程,如何规划项目并严格遵循项目的开发流程。
软件工程概论是一个非常实用的课程,它为我们提供了很多关于如何正确开发软件的知识和指导。同时也带给我们很多启示。首先,软件开发不是孤立的,它是一个整体的系统,任何一部分出现问题都会影响到整个系统。其次,软件开发过程是非常复杂的,需要较高的技能和知识。因此人力成本将会是非常高的,同时对开发人员的素质和能力也有很高的要求。
首先需要掌握全面的软件工程概论知识,以此来指导整个开发过程。其次需要确定一个比较好的软件生命周期模型,以确保开发过程的顺利进行,并严格按照开发流程来开发。同时需要掌握一些常用的软件开发和管理工具,以提高开发效率和质量。
尾段:总结。
通过学习软件工程概论,我们深入了解了软件开发过程的核心内容和方法。这些知识将会对我们未来的职业生涯以及软件开发工作有很大的指导意义。因此我们需要把所学的知识和方法运用到实际的工作当中去。同时,我们也要继续学习和积累,以应对日新月异的技术发展。
学习软件工程的心得体会篇十五
1需求分析产生了软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。
2.概要设计产生了软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。
在进行需求分析时,我们既是开发者又是用户,本系统的业务流程与业务分类的定义比较难。我们的团队进行了研讨,还充分运用了身边的各种资源,大量的查找了很多网络上关于工资系统的资料。通过资料的进行讨论、根据我们的课题进行分析,最后确定了用户的需求为:
1.本系统在高校应用后高校工资管理方面的教职工将减少至目前的50%左右;
2.本系统在高校应用后将在高校各方面的成本将会有所降低;
3.本系统在高校应用后将教职工的工资达到完全透明,计算更加精确教职工因纠纷事件减少到1%。根据分析将系统的功能从一般教职工与系统管理者两个角度将功能划分为7个模块,当然介于我们的知识有限,有的功能没有实现:员工工资与考勤直接挂钩,但本系统无法与员工考勤系统挂钩相连,由于涉及此系统时该高校并没有员工考勤系统,而且我们在最初进行商量的时候也没有提出该要求。
从概要阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。由概要设计说产生大的概要说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
在本阶段主要涉及处理流程的设计、总体结构和模块外部设计、功能分配。在接口设计上有用户接口、外部接口、内部接口;数据结构设计有逻辑结构设计、物理结构设计等等。在接口设计时参考了大量的资料。
最后就是编写文档——软件需求说明书、概要分析说明书。
而文档的作用在于:一是可以帮助整理思路。把要完成的目标,系统的结构,每一个模块的功能等整理一下,然后分门别类地写下来,这样在开发的过程中,就有据可依,在需要回过头来修改设计的时候,也有证可考。二是便于交流。三是可以作为以后维护时的参考资料。
我们进行了为期一周的课程设计。通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在一周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对我们信息管理与信息系统专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。
在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始。我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。我学习到很多一般性的方法,例如:需求获取、模块化、计划等等。同时,我也认识到使用计算机解决实际问题的复杂性,人们认识表达的过程不断反复、逐步深化,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。
学习软件工程的心得体会篇十六
转眼,出来社会都已大半年,已是半个社会人了。不能再向学生那样,某些时候可以随心随意。顶岗实习,为我们提供了一个很好的实践机会,可以让我们更好的把理论应用于实践,在实践中领悟理论,更可以学习到很多书本上学习不到的、甚至比理论知识更实用的业务知识。而且,这些实习经验,无疑是我们毕业后就业的一大筹码。作为一个成年人,作为一个社会职业人,任何时候都要守规矩,做好自己的本分,承担起自己所需要承担的责任。经历了2家公司的工作,我渐渐的认识到,每一份工作或每一个工作环境都无法尽善尽美,但每一份工作中都有许多宝贵的经验和资源,如失败的沮丧、自我成长的喜悦、温馨的工作伙伴、值得感谢的客户等等,这些都是工作成功者必须体验的感受和必备的财富。如果每天怀着感恩的心情去工作,在工作中始终牢记“拥有一份工作,就要懂得感恩”的道理,你一定会收获很多很多。在你收获很多很多的同时,你会发现自己已经在锻炼中变得勇敢,坚强,乐观,阔达。这样的你,是不断前进的走在成功的路上的。
将本文的word文档下载到电脑,方便收藏和打印。
相关文档
您可能关注的文档
- 最新中班下学期班务计划十(实用16篇)
- 人力资源自我鉴定(优质9篇)
- 高三自我陈述报告高三自我陈述报告(实用10篇)
- 最新学生暑假总结(精选9篇)
- 2023年感恩母亲节演讲稿(优秀12篇)
- 工程师求职信(通用11篇)
- 谈诚信初三(汇总13篇)
- 2024年志愿者团课心得体会精选(优质7篇)
- 最新忠诚铸警魂心得体会范文(汇总15篇)
- 最新审计工作的心得体会(优质20篇)
- 探索平面设计师工作总结的重要性(汇总14篇)
- 平面设计师工作总结体会与收获大全(20篇)
- 平面设计师工作总结的实用指南(热门18篇)
- 免费个人简历电子版模板(优秀12篇)
- 个人简历电子版免费模板推荐(通用20篇)
- 免费个人简历电子版制作教程(模板17篇)
- 学校贫困补助申请书(通用23篇)
- 学校贫困补助申请书的重要性范文(19篇)
- 学校贫困补助申请书的核心要点(专业16篇)
- 学校贫困补助申请书的申请流程(热门18篇)
- 法制教育讲座心得体会大全(17篇)
- 教育工作者的超市工作总结与计划(模板18篇)
- 教学秘书的工作总结案例(专业13篇)
- 教师的超市工作总结与计划(精选18篇)
- 单位趣味运动会总结(模板21篇)
- 礼品店创业计划书的重要性(实用16篇)
- 消防队月度工作总结报告(热门18篇)
- 工艺技术员工作总结(专业18篇)
- 大学学生会秘书处工作总结(模板22篇)
- 医院科秘书工作总结(专业14篇)