软件工程学习心得体会(专业19篇)

时间:2023-11-28 10:26:37 作者:翰墨

写心得体会可以促使我们更有条理地组织思维,发现问题并提出解决方案。小编搜集了一些优秀的心得体会范文,希望能够给大家提供一些写作上的启示和灵感。

学习软件工程导论后的心得体会

我们没有进行过系统化软件设计的教育和学习,对如何进行软件的开发基本上就是想什么写什么。根本没有过系统化的设计。比如需求分析,可行性研究等。更不知道用什么模型来设计软件。这在我们以后的工作中是完全不行的,没有系统化的设计,是不可能满足客户的需求的。

胡老师让我们分组进行软件互换的形式来进行软件的修改。其实胡老师就是想让我们了解以后工作中,软件是如何设计的和制作的。对于以前的编程,我们只能按照自己的想法,想一步做一步。根本没有系统化的设计。通过对软件工程导论这门课程的学习,一遍学习一遍实验,实践与理论相结合。开始其实我根本不理解各种图的作用,觉得它们根本没有用,就是照猫画虎,没有任何的实际意义。但是通过后面的学习和理解,对他们有了独特的理解和想法。比如对uml来说。它是一种标准化交流的语言,它可以让开发人员与客户之间轻松的交流。用图的形式向客户展示软件设计的流程,从中传递信息。简单的说就是客户和设计人员交流的手段。

这学习,不管是实验小组的实验还是老师您要求的程序,基本都是我一个人做的,所以对各种图还是比较了解和掌握的。虽然对实验报告的制作感觉到十分的吃力,工作量很大,但是还是通过几个晚上的专心学习和制作,最后还是完成了。但是好多图画的还是很有问题,没有真正的完全理解和掌握。但是在后面的学习和复习中,有了更正。

下面我对实验进行一下总结。首先是实验一结构化分析和设计,主要理解dfd图,数据字典,erd图和问题描述进行设计和学习。dfd图主要分为三个方面,数据的源点,数据流和数据存储。它将信息流和数据从输入移动到输出的工程中所经受的变化。简单的说就是主体,动作和数据单元的问题。接下来是数据字典,主要进行软件操作单元的数据定义,格式化和功能说明。然后就是erd图,根据短信系统的问题描述,可得到软件实体,从而得到此图。其次是实验二和三面向对象分析和设计。主要进行用例图,场景描述,初始化类图,协作图的制作。先是从需求到业务用例图,根据客户需求(也就是我们软件的需求)画出用例图。它的作用其实就是描述该实现什么业务或者说是功能。接下来就是场景描述,简单来说就是软件实际的操作的某个步骤的具体说明。跟着就是初始化类图,重要作用就是显示系统有哪些实体,实体的具体操作,实体间的关系。然后就是协作图,主要作用是针对某个软件的功能,进行交互过程的解释,简单来说就是具体业务的具体操作,而且是所有涉及到的操作。动态模型和静态模型的建立,在面向对象的系统中,业务流程表现在为对象之间的交互,对动态模型和静态模型分析和总结,从而产生顺序图。面向对象设计就是对实体类进行定义和说明,所有的类都是跟软件里的类相对应。就是真正的类。最后就是实验三编码和测试,实验主要对测试和编码进行总结。从中总结制作过程和测试过程。

实验对我来说可能很辛苦,但是我从中学到了很多。了解了很多图的作用,也了解了以后工作的具体流程,这对我们以后的实际工作提供很多帮助。对我来说辛苦着收获着快乐着。跟您的交流中也学到了很多知识。总之我很满足。

软件工程学习心得体会

转眼,出来社会都已大半年,已是半个社会人了。不能再向学生那样,某些时候可以随心随意。顶岗实习,为我们提供了一个很好的实践机会,可以让我们更好的把理论应用于实践,在实践中领悟理论,更可以学习到很多书本上学习不到的、甚至比理论知识更实用的业务知识。而且,这些实习经验,无疑是我们毕业后就业的一大筹码。作为一个成年人,作为一个社会职业人,任何时候都要守规矩,做好自己的本分,承担起自己所需要承担的责任。经历了2家公司的工作,我渐渐的认识到,每一份工作或每一个工作环境都无法尽善尽美,但每一份工作中都有许多宝贵的经验和资源,如失败的沮丧、自我成长的喜悦、温馨的工作伙伴、值得感谢的客户等等,这些都是工作成功者必须体验的感受和必备的财富。如果每天怀着感恩的心情去工作,在工作中始终牢记“拥有一份工作,就要懂得感恩”的道理,你一定会收获很多很多。在你收获很多很多的同时,你会发现自己已经在锻炼中变得勇敢,坚强,乐观,阔达。这样的你,是不断前进的走在成功的路上的。

将本文的word文档下载到电脑,方便收藏和打印。

学习软件工程概论心得体会

软件工程概论是一门引导人们正确开展软件开发的学科,它包括软件开发的常用流程、方法和工具等。我们是计算机专业的学生,而且都了解软件开发的基础,但是能够真正了解软件工程概论的学生是相对比较少的。因此,这门课程将会是我们学习过的最重要的课程之一。

软件工程概论具有如下几个重要的内容:软件生命周期模型、软件需求分析、软件设计、软件开发流程和软件测试。其中软件生命周期模型是最重要的内容之一,它为开发过程提供了全方位的指导,确保开发人员始终按照正确的流程进行开发。这些内容将会帮助我们了解整个开发过程,如何规划项目并严格遵循项目的开发流程。

软件工程概论是一个非常实用的课程,它为我们提供了很多关于如何正确开发软件的知识和指导。同时也带给我们很多启示。首先,软件开发不是孤立的,它是一个整体的系统,任何一部分出现问题都会影响到整个系统。其次,软件开发过程是非常复杂的,需要较高的技能和知识。因此人力成本将会是非常高的,同时对开发人员的素质和能力也有很高的要求。

首先需要掌握全面的软件工程概论知识,以此来指导整个开发过程。其次需要确定一个比较好的软件生命周期模型,以确保开发过程的顺利进行,并严格按照开发流程来开发。同时需要掌握一些常用的软件开发和管理工具,以提高开发效率和质量。

尾段:总结。

通过学习软件工程概论,我们深入了解了软件开发过程的核心内容和方法。这些知识将会对我们未来的职业生涯以及软件开发工作有很大的指导意义。因此我们需要把所学的知识和方法运用到实际的工作当中去。同时,我们也要继续学习和积累,以应对日新月异的技术发展。

学习软件工程心得体会

15天的实训结束了,今天做的是纸牌游戏软件和趣味打字游戏。今天的东西对我来说有点难度,最后没有能过完全做完。但是我还是觉得这是一个不错的实训,在这种集体的环境里和同学们一起学习,每天的生活过的也是非常的充实。

此次实践课我的收获很多。我和同学们这一次真正自己动手制作了一个小软件,虽然还存在很多的问题,而且我做的软件在使用起来还是很不可行的,但是我们从中受到了很多知识,不仅是专业的知识,更让我明白了一个软件从设计到实现的每一个环节真的很不容易,不仅需要扎实的专业知识,更需要一个团队的配合,这才是一个软件成功的关键。这就告诉我们,一个人的出色不算什么,一个团队的出色才是真正有用的。

刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将java的思想运用到实际系统的详细设计之中。

在实验课上,我学会了很多学习的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。

虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的软件设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢实验指导老师陈中育老师的指点与教导。这次软件设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。

软件工程学习心得体会

软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。

经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。

在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。

上《软件工程导论》这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。

其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。

1.可行性分析就是关于当前项目能不能干的分析结果。

2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。

3.需求分析就是对客户要求的功能的定义。

4.软件设计这就是对程序的每一个模块的详细设计的说明文档。

5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。

6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

软件工程学习心得体会

软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。软件工程(softwareengineering,简称为se)是针对软件这一具有特殊性质的产品的工程化方法。se涵盖了软件生命周期的所有阶段,并提供了一整套工程化的方法,来指导软件人员的工作。任何事物都是从无到有的,软件当然也不例外。上世纪中期,软件产业从零开始起步,经过半个多世纪的发展,其大致经历的3个阶段:程序设计阶段、软件设计阶段和软件工程时代,现已成为推动人类社会发展的龙头产业,随着信息化时代的发展,软件对人类社会也将越看来越重要。人们对软件的认识自然经历了一个由浅入深的过程,在得到巨大需求的同时,也遇到了一系列严重问题,即软件危机。所谓软件危机,是指在计算机软件的开发和维护过程中所遇到的一些严重问题,其实质是软件产品的供应赶不上需求的增长。概括的说包含两方面的问题:一、如何开发软件,以满足不断增长,日趋复杂的要求;二、如何维护数量不断膨胀的软件产品。为研究和解决软件危机,一门新兴的学科软件工程,应运而生。

软件工程的概念是为了有效地控制软件危机的发生而被提出来的,它的中心目标就是把软件作为一种物理的工业产品来开发,要求“采用工程化的原理与方法对软件进行计划、开发和维护”,它的主要对象是大型软件,它的最终目的是摆脱手工生产软件的现状,逐步实现软件开发和维护的自动化。软件工程的概念自提出来后,经过几十年的发展,虽然软件危机没有得到彻底的解决,但在软件开发方法和技术方面已经有了很大的进步,提出了软件工程知识体系、软件工程三段论、软件工程生存期模型、服用原则等等。

软件开发过程大致经过7个阶段:可行性分析、需求分析、概要设计、详细设计、编码、测试、提交与维护。接下来逐一分析本人见解:

一、可行性分析:顾名思义,就是看项目究竟“能不能做”。有3个方面:技术可行性、经济可行性和操作可行性。要确定项目,首先要客观的、科学的了解项目的规模、难度和时间限制,才可以确定应该投入多少人力、物力和财力去做这个项目,必须准确的估计项目的规模与难度。看项目是否有价值去做,如果没有价值,就放弃;如果有价值,就要看目前的资源是否能满足项目的开发。如果项目有价值,且有必需的资源,那么就可以确定能做这个项目了。

2、通过什么方式去了解:直接与客户交谈;有些需求客户讲不清楚,分析人员又猜不透,这是就要请教行家。需求分析是非常重要的阶段,如果做不好的话,后果很麻烦。

三、概要设计:解决“怎么做”的问题。将需求描述的“做什么”问题变为一个实施方案的创造性过程,使得整个项目在逻辑上和物理上能够得意实现。概要设计是第一个开发活动,也是最重要的活动,是软件项目实现的关键阶段。设计质量的高低直接决定了软件项目的成败,缺乏或者没有软件设计的过程会产生一个不稳定的、甚至是失败的软件系统。一个良好的软件设计是进行快速软件开发的根本,没有良好的设计,会将时间花在不断的调试上,无法添加新功能,修改时间越来越长,随着给程序打上一个有一个的补丁,新的功能需要更多的代码实现,就变成一个恶性循环了。概要设计是软件设计级别中的高级设计,是从需求出发,描述了总体上系统架构应该包含的要素。概要设计尽可能模块化,因此描述了各个模块之间的关联,主要是根据需求规格或规格定义,合理、有效地实现产品规格中定义的各项需求,完成软件模块的划分并描述模块之间的关系,并不断分解系统模块,从高层分解到低层分解。它注重框架设计、总体结构设计、数据库设计、接口设计、网络环境设计等,将产品分割成一些可以独立设计和实现的部分并保证各个部分可以和谐的工作。此过程中画数据流图、ipo图、e-r图、界面设计等。

出程序的详细规格说明,这种规格说明类似于其他工程领域中工程师经常使用的工程蓝图,程序员根据其中所包含的必要的细节写出实际的程序代码。用另一种方式说就是,详细设计是将概要设计的框架内容具体化、明细化,将概要设计转化为可以操作的软件模型,但在实际项目进行过程中,依据项目的具体情况和项目要求,这个过程可能可以省略(逻辑上没有省略,表现在概要设计阶段或者编码阶段),直接按照概要设计进行编码;不过,个人认为最好有,有详细设计可以更好的保证编码顺利的进行,可以预先扫清编码过程中的障碍,提高代码的质量和编码的效率。主要包括模块描述、算法描述、数据描述,可以采用图形、表格或者文字描述等方式表达出来。

代码的时候,更不要错过重构,另外,重构可以和设计互补。还有一点值得注意,要在必要的时候部署编码文档。

六、测试:看软件是否符合标准。软件编码完成之后,将软件提交给用户之前,需要对软件进行测试,这是保证软件产品质量的一个重要标准,也是评估产品质量的主要手段。软件测试是从软件工程中演化出来的一个分支,有着非常广泛的内容,并且随着软件产业的发展,它已经变得越来越重要。软件与生俱来就可能存在缺陷,为了防止和减少这些可能存在的缺陷,进行软件测试是有必要的,测试是最有效的的排错和防止缺陷和故障的手段。最原始的测试莫过于直接运行软件了,后来测试手段逐渐多样化。测试手段有静态测试、动态测试面向对象的测试、自动化测试等等之分。静态测试或称静态分析是指一种不通过执行程序来进行测试的一种技术,主要是检查软件的表示和描述是否一致,覆盖程序的编码格式、程序语法、检查独立语句的结构和使用等,主要包括代码检查、静态结构分析、代码质量等等,可以通过人工进行,亦可借助工具(如:语法分析器)自动进行。动态测试是运行被测试的程序,通过输入测试用例,对其运行情况进行分析,以达到检测的目的,显然动态测试封像我们通常意义上的“测试”。动态测试主要包括白盒测试、黑盒测试、灰盒测试(介于黑盒和白盒之间)。其他测试不再一一介绍。

打水漂了。为了保证成功地将我们开发的软件提交给用户,我们需要对用户进行培训,同时提交必要的文档及用户手册软件。维护就不用多说了,就是售后服务了。维护需要分析人员、编码人员和设计人员等角色的参与,有纠错行维护、适应性维护、完善性维护、预防性维护等。维护后,要写软件维护过程文档,至少提交一个软件维护记录。以上是软件工程及其几个阶段的介绍,知道怎样开发软件只是软件工程的一部分,搞好团队合作也是很重要的。项目是一个很大的工程,需要一个团队的统筹规划,团结协作,集思广益,举一反三,才能够按预期完成。

学习软件工程心得体会

这次软件工程实训是从__年__月__日号开始的,截至__年__月__日号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。

因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊。后悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。

通过这次实训,让我了解到工程开发的过程,可行性分析——需求分析——概要设计——详细设计——代码编写——测试——验收。从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了。__老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。

还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你回答。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。

这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。

学习软件工程导论后的心得体会

初学软件工程第一周的时候以为只是纯粹的理论课毫无用处,其实不然。深入了解之后发现它对程序的设计,错误的检测以及软件测试,编写方面有不可磨灭的便捷好处。开发一个软件时,对原定的系统模型和目标的现实以及系统完成后所带来的效益的预判断,可以明确开发与否,否则就是浪费人力,物力以及时间。

以下是所学过程中的知识点:

(1)软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

所以若要解决软件危机,既要有技术措施(方法和工具),又要有必要的组织和管理措施,软件工程正是从管理和技术两方面研究如何更好得开发和维护计算机软件的一门新兴学科。

软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术、和方法来开发与维护软件。

软件工程方法学包含3个要素:方法、工具和过程。

(2)软件生命周期:软件定义、软件开发和运行维护。

软件开发阶段:问题定义,可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试,软件维护。

软件维护主要任务:是使软件持久的满足用户的需要。

软件过程目的:为获得高质量软件所需要完成的一系列任务的框架,规定了完成各项任务的工作步骤。

其中:可行性分析:技术可行性,经济可行性,操作可行性。

(3)判定表和判定树能够清晰地表达出各种动作之间的对应关系。

第一个软件生命周期,瀑布型生命周期。

程序设计:低耦合高内聚。

(4)学会画程序流图,sc图,er图,dfd图,顺序图以及协作图。学会读图,可以独立完成相关计算题。

学习软件工程概论心得体会

作为一名软件工程专业的学生,我在近期学习的“软件工程概论”课程中有了很多收获和体会。通过这门课程,我更加深刻地认识到了软件工程的重要性和其领域的多样性。在日后的学习和实践工作中,我将会更加努力地掌握相关知识,提升自己的技能和综合素质,做一个优秀的软件工程师。

本次软件工程概论的课程主要从软件过程、软件生命周期、软件质量、软件工程方法学等方面进行了系统的介绍和讲解。在学习过程中,我们通过理论学习和实际案例演示等多种方式,深入了解了软件开发的全过程,明确了软件需求分析、软件设计、编码与测试、维护等各个环节的重要性。同时,学习了如何控制项目中的工期、成本和质量,如何保证项目进度和质量的有效管理,以及如何开展有效的软件开发工作。

在学习软件工程概论的课程中,我更加深刻地认识到了软件工程的重要性和复杂性。我们需要在整个软件开发的过程中,进行需求分析、系统设计、开发和测试等一系列的工作,确保软件系统能够满足预期目标。同时,我们也需要关注软件的维护和更新,随时根据需求进行优化和改进。在实践的过程中,我们还需要进行团队协作,有效地管理项目进度和质量等方面的问题。只有当我们充分理解软件的复杂性,并且有一套有效的软件开发及管理模式时,才能够顺利地推进项目工作,取得良好的效果。

学习软件工程概论,不仅能够学习到知识,更能够培养我们的素质和能力。我们通过学习软件开发的流程和方法,养成了系统化的思维方式,能够更好地理解问题和解决问题。同时,我们也学习到了互联网时代的软件开发模式和管理方式,使我们更加适应互联网时代的工作环境。此外,我们对团队协作、进度管理和质量控制等方面的问题也有了更深入的认识。这些都将为我们日后的学习和工作提供极大的帮助。

五、结语。

软件工程概论的学习,使我对软件工程有了更深入的了解。我了解了软件开发的全过程和软件项目管理的重要性;同时,我养成了系统化的思维方式,能够更好地应对未来的学习和工作。在以后的学习和实践工作中,我将会更加努力地掌握相关知识,提升自己的技能和综合素质,成为一名优秀的软件工程师。

软件工程学习心得体会

1需求分析产生了软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。

2.概要设计产生了软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。

在进行需求分析时,我们既是开发者又是用户,本系统的业务流程与业务分类的定义比较难。我们的团队进行了研讨,还充分运用了身边的各种资源,大量的查找了很多网络上关于工资系统的资料。通过资料的进行讨论、根据我们的课题进行分析,最后确定了用户的需求为:

1.本系统在高校应用后高校工资管理方面的教职工将减少至目前的50%左右;

2.本系统在高校应用后将在高校各方面的成本将会有所降低;

3.本系统在高校应用后将教职工的工资达到完全透明,计算更加精确教职工因纠纷事件减少到1%。根据分析将系统的功能从一般教职工与系统管理者两个角度将功能划分为7个模块,当然介于我们的知识有限,有的功能没有实现:员工工资与考勤直接挂钩,但本系统无法与员工考勤系统挂钩相连,由于涉及此系统时该高校并没有员工考勤系统,而且我们在最初进行商量的时候也没有提出该要求。

从概要阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。由概要设计说产生大的概要说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。

在本阶段主要涉及处理流程的设计、总体结构和模块外部设计、功能分配。在接口设计上有用户接口、外部接口、内部接口;数据结构设计有逻辑结构设计、物理结构设计等等。在接口设计时参考了大量的资料。

最后就是编写文档——软件需求说明书、概要分析说明书。

而文档的作用在于:一是可以帮助整理思路。把要完成的目标,系统的结构,每一个模块的功能等整理一下,然后分门别类地写下来,这样在开发的过程中,就有据可依,在需要回过头来修改设计的时候,也有证可考。二是便于交流。三是可以作为以后维护时的参考资料。

我们进行了为期一周的课程设计。通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在一周进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对我们信息管理与信息系统专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。

在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。

软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始。我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。我学习到很多一般性的方法,例如:需求获取、模块化、计划等等。同时,我也认识到使用计算机解决实际问题的复杂性,人们认识表达的过程不断反复、逐步深化,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。

学习软件工程导论后的心得体会

摘要:针对浙江省服务外包软件业的发展与高校在软件工程专业特色培养之间的矛盾,分析浙江工业大学计算机科学与技术学院在以“服务外包”为特色的软件工程专业建设方面的优势,提出以强化“服务外包”特色,培养复合型、实用型软件工程高级技术人才为目标的优势专业建设总体规划和主要建设方案。

关键词:优势专业;服务外包;软件工程;建设方案。

高校毕业生专业结构失衡,与社会对计算机应用需求及最新科技发展脱轨,是目前在计算机类专业人才培养中遇到的主要问题之一。近年来,随着浙江省和长三角地区信息产业的蓬勃发展,高素质软件人才,特别是软件服务外包产业的人才缺口正在不断加大。针对这一现象,浙江工业大学经过认真的市场调研、认证和规划后提出要以培养软件“服务外包”人才为突破口,强化建设具有“产学研用结合办学,分层分类精细培养”特色的软件专业,培养具有“宽口径、厚基础、强个性、善创新”的应用创新型软件工程人才,这对缓解实际需求矛盾,提高人才培养质量,优化专业结构具有十分重要的意义。

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结语。

针对计算机人才培养质量与社会需求和最新科技发展脱轨问题,笔者详细分析了服务外包产业在浙江省的发展状况及浙江工业大学计算机科学与技术学院在服务外包行业人才培养中的优势,提出了以培养软件“服务外包”人才为突破口,强化建设具有“产学研用结合办学,分层分类精细培养”特色的软件专业,培养具有“宽口径、厚基础、强个性、善创新”的应用创新型软件工程人才的方案。通过今后几年的不断努力实践,我们希望能取得软件工程专业建设的成效,满足社会对软件人才的需求,并为其他高校软件工程人才的培养和专业建设起到示范和带动作用。

软件工程师心得体会

作为软件工程师,我一直对自己在软件开发领域的发展感到自豪。近年来,我一直致力于提高自己的技能,并在实践中不断探索和学习。在这个过程中,我收获了许多宝贵的经验和体会,让我更好地理解了软件工程师的角色和职责,特别是在团队合作方面的重要性。

第二段:个人成长。

我的软件开发之路始于大学时期学习编程语言,并在一家创业公司中获得了第一份实习工作。在这一阶段,我经历了许多挑战和学习机会,计划和设计软件解决方案成为我的长项。在后来的工作中,我不断提高自己的团队合作技能,学会协调和沟通,特别是在多功能项目中尤为重要。

第三段:贡献团队。

作为软件工程师,我有责任在团队中发挥重要作用,同时也需要学会尊重其他专业人员的意见和建议。我的目标是成为一名优秀的团队成员,通过协作和讨论寻求最优解决方案。在项目中,我总是尽力争取更高的质量和效率,发现和解决问题,对团队的发展做出贡献。

第四段:重视学习。

随着软件技术的不断发展,我们必须与时俱进,不断学习新知识和技能。我经常参加工作坊、研讨会等活动,与同行交流经验,并积极阅读相关书籍和文章。通过不断学习,我扩大了自己的技能和知识范围,更好地服务于团队和客户。

第五段:结语。

软件工程师的工作需要我们具备多种技能和素养,而不仅仅是编程。我们需要协作,沟通和解决问题能力,同时也需要开放心态和持续学习的意愿。我相信通过不断的积累经验和体会,我们将不断提高自身能力,为软件行业的发展做出更大的贡献。

软件工程心得体会

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

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

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

还引出了工具uml。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

需求分析生成功能规约。

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

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

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

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

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

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

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

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

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

包括程序流程图、n-s图、pad图、hipo图。

程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。

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

软件工程心得体会

软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。你知道软件工程。

是什么吗?接下来就是本站小编为大家整理的关于软件工程心得体会,供大家阅读!

时间飞逝,不知不觉间《软件工程》的学习已经过了大半了。在这将近半学期的学习中,虽然我不能说我将《软件工程》学习的有多么的好,但是通过学习,我还是受益良多。

在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。一个人,只要会编程,就能写软件,就是程序员;一个公司,只要招聘一些程序员,就能开发好的软件产品。只要有几个有经验的程序员,再找些兼职的大学生,就能组成一个软件公司。

但是通过了《软件工程》这门课的学习,使我认识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。

而且在以前,我一直以为软件的开发其实是一件很轻松快乐的事情,只要一天坐在电脑旁敲敲键盘,那么一切就可以了,但是现在我才发现,我以前的很多的思想是多么的肤浅可笑。编程其实是一种乐趣和苦恼共存的一项创造性活动。因为编程不仅能够满足我们内心深处进行创造的渴望,而且还能愉悦我们内在的情感。

而且通过学习《软件工程》,我还学到了很多其他的东西。比如通过学习《软件工程》,特别是老师每次用实际的软件现场的讲解,为我提供了一个尽早接触世界工作和真实项目的机会。让我知道如何在以最小的成本中,训练自己的基本工程素质和能力,如何激发自己的积极性等。而且通过学习《软件工程》,还让我认识和培养了我的团队协作能力,特别是对于我们这些在校的学生来说,这种学习更是能让我在以后工作中少走很多的弯路。

所以,通过《软件工程》的学习,我是真的学习到了很多有用的东西,让我明白了很多的道理。在此我对老师的辛勤教育表示感谢,因为是你让我学习到了这些,是我获益良多。

软件工程心得体会未接触软件工程之前一直都很想学这门课程,因为觉得这门课很牛,是那些有工程师称号的高手才摆弄的东西。学了一个学期的软件工程课,终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。

经过倪老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。

在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。

上《软件工程导论》这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。

其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的;然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码和debug。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。在编码的过程中,你总是需要不断地回过头来修改原先的模块设计,甚至最初选定的实现算法。具体到每一步的工作要怎样完成,是非常灵活的,只要把握住大体的方向就行。在进行分析,设计,编码,调试,维护这几部分的工作的时候,最核心的就是文档的编写。1.可行性分析就是关于当前项目能不能干的分析结果。

2.项目描述这是在决定立项以后,对当前项目的一份扼要说明。

3.需求分析就是对客户要求的功能的定义。

4.软件设计这就是对程序的每一个模块的详细设计的说明文档。

5.开发日志我一直都认为这是文档中最有趣的部分。开发日志相当于编码阶段的文档,它的形式可以很随意,主要是记录一些在写程序时突然萌发的灵感,或对代码的一些微小的修改,或对程序结构的一些微小变动等,还要对上述这些修改变动作些说明。

6.测试分析用于指出程序存在或潜在的缺陷和错误,以及程序性能的数字描述。

2

页,当前第。

1

1

2

软件工程心得体会

软件工程及未来发展趋势心得体会软件工程是一门研究用工程方法构建和维护有效的、实用的和高质量的软件的学科。它的成果是为软件设计和开发人员提供思想方法和工具。

商业形态从最开始的硬件辅助到代码核心竞争力到后来的服务阶段。30多年来,随着软件工程的研究和实践取得了跨越性的进步,it和制造业以及各种行业的结合,进入软件定义时代的阶段。同时获得了一些具有里程碑意义的进展,尽管目前离彻底解决“软件危机”还有一些差距,但软件工程的方法对软件产业的发展还是起到了很大的推动作用。软件产业也迈入了高质量发展的阶段,并且有一定的成绩。

20xx年中国软件产业年会的召开以“软件定义的时代-数字、融合与生态”为主题,中国工程院院士孙家广在主旨演讲中表示,“软件是信息技术之魂,经济转型之擎、网络安全之盾、数字社会之基、大国博弈之焦、高质量发展的抓手,软件赋能、赋值、赋智作用日益明显。”他表示,软件开源是我国成为软件强国的根本举措和保障。中国工程院院士廖湘科也在报告中提出,工业软件要向建设信息技术和先进制造技术深度融合、控制管理整个生产模式的基础软件平台发展。在真实世界感知的数据进入到虚拟世界,进行关联和跨域关联的分析,在进行智能处理之后,再反馈到真实世界。运行平台基于云端的硬件结构,在未来设计软件的过程中,我们要考虑的是不再针对一台服务器设计软件,在设计的时候需要考虑云端,在这样的前提下去设计软件。总的来说,整个软件体系就是一个生态链,市场通过软件平台来控制,所有的技术和商业模式的竞争都堆积在it软件平台,各个行业的it从业人员可以协同,硬件追求越来越快,软件追求规模。生态链需要协同创新,学科交叉。软件是灵魂的载体,它具体应用在知识领域在生活智能方面的应用。东软集团股份有限公司董事长兼ceo刘积仁作题为“软件的赋能时代”,表明,企业也是软件的载体。软件在今后具有无限的发展空间,我们应该为从事这个行业而感到幸运。软件在今后的发展中不仅仅表现的是licenseip的价值,软件可以承载一个崭新的创业的公司创造资本市场的奇迹。核心就是软件表达的方式从我们单纯卖解决方案、卖服务,软件从我们过去依赖于软件工程师,最后我们要成为在新经济的发展、新消费发展的一个新的平台。

信息革命的核心体现在,集成电路是细胞,通讯网络是动脉,计算机工具是大脑,信息资源是血浆,应用需求是心脏,安全是免疫系统,软件是灵魂。软件产业是第一大产业,面向对象是软件技术的基本指导思想,它的发展过程从最初的个人技巧,到结构化,再到最终的面向对象,覆盖范围也发展到运行技术、工具技术、到过程技术。软件理论方法技术应用于x应用场景。应用场景的'构建主要是体现在,可感知+可编程+可计算+可调控等方面。软件很大程度上改变了我们的生产生活方式,在现在社会中,对于软件的开发,我们不在只是单纯的系统开发,文档手册,还要考虑到所处的环境以及大数据,智能算法等多方面的综合考量。

软件同时也在驱动着世界经济的变革。在世界经济全球化发展的趋势下,软件行业也在向全球化发展,在今天,软件的开发也不再是一个国家或者一个行业自身的发展而是整个社会的发展趋势。当前软件行业无论国内还是国际上整体处于手工作坊式阶段,以项目组或产品组为单位组织开发人员,围绕一个项目或者一个产品的某一迭代版本进行收工作业。其服务模式始终停留在并行开发多个无关的小型项目。对于这样的情况,单单只是依靠某个国家自身的实力是很难实现软件技术全面提升的。微观层面来看,光学相机被数码相机取代,移动磁盘、光盘基本上被u盘取代。智能手机的出现也带来了it产业格局的重塑。it产业巨变的核心动力是用户群体的快速增加以及it扩散的范围迅速。继智能手机、平板电脑被软件重新定义后,其他it产品也在不断被软件重新定义,增加一个操作系统之后,物理功能被无限的简化,功能被无限的拓展,不断地丰富。整个经济社会加快在网络空间的映射,形成现实与网络交融的数字世界。信息物理系统(cps)实现大型工程系统的实时感知、动态控制和信息服务。

数据表征、智能处理、软件定义,三元融合将打造一个全新的世界。大数据在消费it领域的作用更加明显,只要用pc上网或者手机浏览信息,性别、年龄、爱好、踪迹等等便被大数据刻画,从而根据现有信息推断出你可能要做的事。总的来说,大数据不仅是传统产业升级的助推器,同时也是新兴产业的催化剂。软件的定位已经从服务软件发展到定义硬件,也许在不久的将来,软件不仅仅是改变世界,而是重新定义我们已知的世界,正如大数据的出现,或许不久的将来,产品经销商会比我们更了解自己的需求。

随着软件市场的竞争压力越来越大,我们所面临的it环境更为复杂化,为了应对来自各方面的挑战问题,我们需要更多的创新能力和业务灵活性。提高模块化思想,从根本上解决所面临的问题。

软件工程心得体会

学习软件工程一个学期以来,我在陈烨老师的教导下确实获益匪浅。软件工程这门课,让我对软件的认识有了大大的提升,从一开始对软件工程的一无所知,到现在一学期下来的不断学习,懂得了许多的知识。

软件不仅仅是程序,而是思想在硬件上的载体和体现,软件工程与其说是一门课程,不如说是一门思想。让我懂得如何去分析和处理问题的过程,综合解决问题。

在这段时间的学习中,我明白了一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告等多个文档,而软件的生存周期可分为八个阶段,分别是问题定义,可行性研究,需求分析,概要设计,详细设计,程序设计,测试,文档,技术支持,售后服务。而可行性包括经济,技术,法律和社会。了解了许多软件开发模型,比如瀑布模型,增量模型和螺旋模型,也了解了uml对象面向对象建模,知道如何画流图,硕果累累。其实软件和程序是两个不同的概念,软件除了程序还要有使用和维护该程序所需要的全部文档。包括需求文档、设计文档、测试文档、维护文档以及使用手册。

软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,需要很好的基础知识的理解和掌握,所以说学好软件工程不是仅仅书多看几遍就可以成功,而是要多注意结合实际,多思考,面对错误不要一范就问,要尝试自己去解决,然后举一反三。

软件工程这门课在我们毕业之后,是我们实际要运用的一项非常有用的技能,这门课让我意识到理论学习很重要,而实践更重要,实践是检验真理的唯一标准,只有实践和理论相结合,才能使效益最大化。软件工程的课虽然快要结束了,但是我对软件工程的学习才刚刚开始,有了这些基本知识做铺垫,在以后做项目的时候将会是解决问题的有效措施。

软件工程心得体会

在本学期的软件工程课程的学习中,我们学习了十一章的内容。第一章软件与软件工程的概念,这一章主要讲解的是一些概念性和基础性的内容,例如软件的概念、特性,软件危机的主要表现,软件工程的概念以及软件生存期、典型生存期模型等等。第二章软件工程方法与工具,这一章主要对软件工程方法进行介绍,包括三种方法:传统方法、面向对象方法、形式化方法。还引出了工具uml。第三章软件需求获取与结构化分析方法,本章详细介绍了需求获取与需求分析阶段的任务以及结构化分析方法,画分层的数据流图、e-r图以及状态图式本节的重点。第四章结构化分析方法,这一章重点讲解了使用变换型映射方法和事务型映射方法生成初始的模块结构以及模块结构的改进。第五章编码,这一章重点讲解了编码的风格及规范,还告诉我们编码规范说带来的好处,并告诫我们将来一点要形成好的编码风格。第六章软件测试方法,本章讲解了软件测试相关的概念及重要性,软件测试与开发各个阶段的关系;还介绍了白盒测试技术以及黑河测试技术。第七章统一建模语言uml概述,本章详细介绍了uml的基本模式、事物、关系及建模时用到的各种图进行了介绍。第八章面向对象分析,这一章主要讲解了面向对象分析的3种模型,包括功能模型、静态模型和动态模型。第九章软件体系结构与设计模式,本章对软件体系结构的基本概念、典型风格等进行了讲解。第十章面向对象设计,本章的重点是对面向对象分析时建立的对象模型进行调整和细化。第十一章软件维护,本章主要介绍软件维护的任务、软件维护活动以及软件维护方法进行了介绍。

要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须知道软件工程的目标、过程和原则:软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。

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

程序流程图:程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。在流程图中只能使用下述的五种基本控制结构:顺序型;选择型;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%之多。一个完整的项目规划须包括,软件的定义,可行性分析报告,项目开发计划,软件需求说明书,概要设计说明书,详细设计说明书,用户操作手册,测试计划,测试分析报告,开发进度报告,项目开发总结报告,软件维护手册,软件问题报告,软件修改报告,等多个文档,每个文档都要上级验收审查,而文档数量众多,要做好这点真的不是很容易,而恰恰写好文档正能保证完成软件工程其中一个目的的关键,既研究如何用最小的开销做出生存期较长的软件,再加上各个阶段都要进行周密的策划、详细的分工部署和人员安排,且各阶段要据具体情况不断的反复才能达成,所以代码只是开发软件这个浩大的工程的一个小小的过程。

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

在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。

在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。不断锻炼自己,向一名合格的程序设计师迈进。

2

页,当前第。

2

1

2

软件工程心得体会

对于一个软件系统的开发,第一步就是问题定义,了解所开发系统的行业背景,制定计划。当我们计划确定以后就要对项目系统本身进行可行性研究,主要从技术可行性、经济可行性和操作可行性三个方面着手。就比如《物联网物流仓库管理系统》的行业背景说明文档中非常详细地分析了当下物联网物流行业的整体业务说明、应用背景、未来发展趋势以及相关应用案例等四个方面,项目团队中系统分析员就可以根据这份文档以及相关的调查资料对将要开发系统的进行定义等工作。

原来我们写这类文档的时候就是草草了事,不会做得这么详细,而这次看到大型项目的行业背景说明也是这么详细,也让自己认识到不管是软件开发的那个阶段都要认真对待,这些琐碎的文档都是后期开发项目的支撑,只要它们做的透彻,后面的开发工作才能更顺利的进行。

第二、项目需求说明方面

这部分项目需求说明就是软件定义时期中需求分析阶段,而该阶段的主要目的就是了解用户的需要,根据用户的需要确定系统必须完成那些工作,并对目标系统提出完整、准确、清晰、具体的要求。在需求分析结束之前系统分析人员要写出一份需求规格说明,即为《物联网物流仓储管理系统》项目需求说明文档。我们可以看出该文档也是非常详细,相比之下我们之前做项目时写的需求规格说明书就非常不合格,不仅格式不正确内容也是少之又少。

在这方面,这篇文档给我启发很大。首先就是文档的格式,要美观整齐,让人看着舒服方便。其次就是文档的内容,原来它不是很重要,写文档的时候也不知道怎么写就借鉴下网上的内容,结果根本就没有把自己项目的需求写明白,以至于自己最后都有些糊涂,所以根据以前的经验教训我会对这部分更加重视。

第三、系统概要设计方面

这部分内容分说的是软件设计时期的概要设计阶段,该阶段的主要目的就是实现系统的功能、设计软件的结构、模块组成以及模块之间的关系。在概要设计阶段,我们可以站在全局的高度上,花较少的成本,从抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的结构。在这个阶段还会具体画出e-r图、数据流图等方面的设计。

比如《物联网物流仓库管理系统》的系统概要设计从项目概述、设计约束、功能单元与功能模块设计、数据e-r图设计、总体设计、界面设计等六个方面介绍,通过读这个文档,我觉得最重要的还是总体设计,分别从逻辑架构设计、物理架构设计、技术架构设计设计系统。在这个阶段中模块要做到高内聚低耦合,这样开发出来的系统才会具有更高的独立性。

在原来做项目时没有编写过这类文档,在该阶段只是画了结构图、层次图以及相关的模块划分,对该类文档尚未重视。通过张老师的讲解和自己的学习,我相信在以后做项目的时候一定会注意到这类文档的编写。

第四、详细设计与分析方面

详细设计阶段就是把概要设计阶段的每个模块进一步设计,确定每个模块所需要的算法和数据结构。在这个阶段还是需要我们设计出程序的详细规格说明,而不是编写程序。在详细设计阶段,系统设计人员可以通过使用程序流程图、盒图、pad图等过程设计的工具和jackson图等面向数据结构的设计工具进一步设计系统相关接口,主要包括界面设计接口、业务单设计接口、单元模块设计接口等,这些对于以后的编码工作都是极其重要的。

第五、编码和测试方案方面

关于编码,我认为编码要想做的完美必备条件就是前面的软件定义和软件设计时期要按部就班的做,文档一定要按要求书写,不能偷懒也不能草草书写。对于编码也要有相应的文档书写规范,要使源程序代码的逻辑简明清晰、易读易懂。这样尽管我们不是设计系统的人员,当看到源程序代码的时候也能容易读懂代码的意思。

其次就是测试的内容,从测试的文档中我们可以得出,其实测试在软件开发中同样占据了重要的地位,它主要就是尽可能多的找到问题并排除其中的潜藏的错误,最终把一个高质量的软件系统交给用户使用。它要求测试人员也要有很高的技术水平。

软件工程心得体会

学习了这门课程, 还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。

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

可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。

软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。 软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

pad图:它是用结构化程序设计思想表现程序逻辑结构的图形工具。pad也设置了五种基本控制结构的图示,并允许递归使用。hipo图:hipo图是由一组ipo图加一张hc图组成。它是美国ibm公司在软件设计中使用的主要表达工具。hc图既是层次图,用于表示软件的分层结构。hc图中的每一个模块,均可用一张ipo图来描述。ipo 图由输入、处理和输出三个框组成,需要时还可以增加一个数据文件框,这种图形的优点,是能够直观地显示输入处理输出三者之间的联系。还有测试方法:按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。静态分析技术:不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。动态测试技术:当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。还学习了其他很多工具、语言、方法等,虽然不是都学得很透彻,但我相信在今后的学习中一定会慢慢的完善的。

软件工程对于初学者来说,知识基础较薄弱,对一些应用操作、概念、工具方法等理解起来较为困难,要能从整体概念上较好地理解和把握、学好软件工程,不是仅仅把几本专业书籍细致地看几遍,然后上机练习几次就可以成功,学习过程中要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一专业科目进行研究拓展;在学习语言时,要看看与c语言的联系,多思多想,把从各个科目学到的知识通汇贯通。

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

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

在学习中,我们还要注意比较三种方法的优缺点,例如:传统方法虽然使软件摆脱了混乱和无序,但其在适应需求变化的方面不够灵活,而且传统方法要么面向行为,要么面向数据,缺乏两者的有机结合。而面向对象方法的程序设计和问题求解更符合人们日常自然的思维习惯,适合大型、复杂及交互性比较强的系统。形式化方法则是一中基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。在今后的学习中要注意多读书、多思考、多练习、多讨论,不断熟悉书本的基础,并以此为基础将其扩散开来,应用于今后的实践。不断锻炼自己,向一名合格的程序设计师迈进。

相关范文推荐

猜您喜欢
热门推荐