软件工程学习总结篇

  在经历了12周的软件工程学习之后,我们的在这一阶段的学习也即将画上一个句号,从刚开始之初的一无所知到后来我们一起合作做完成了许多的项目,这些应该就是一个不断学习积累的过程,在这个过程中,我们每个人的收获都是不同的;或许我们学会了如何去管理一个团队,又或许我们学到了更多的专业方面的技能,当然我们也学到了团队的重要性,所有的这些都是在潜移默化的影响着我们以后的工作和实践。所以,虽然我们这一阶段的学习暂告一段路,但我们的软件工程开发之路也应该才刚刚开始。

一、首先我们一起来欣赏一段译文:

  • 软件工程师们应该使他们自己转变为致力于软件的需求分析、文档规范、设计软件、不断发展、软件测试、软件后期维护这样一个有利的和受人尊敬的职业,依照他们对于健康、安全以及公共福利的承诺,软件工程师们应该坚守一下八条准则:
  1. 大众:软件工程师们应该始终如一的按照大众的需求进行软件开发;
  2. 客户和经理:软件工程师们应该以一种他们的客户以及经理最感兴趣的方式去接近普通的大众客户;
  3. 产品:软件工程师们应该确保他们的产品和相关条款可以适应行业的最高标准;
  4. 决策:软件工程师们应该保持他们的公正性和独立性在一些职业决策上;
  5. 管理:软件工程团队管理者和领导者应该认同并且提倡以一种合乎道德的方式去管理软件的开发和维护;
  6. 专业:软件工程师们应该提高他们的职业诚信和声誉使其更加适合大众的兴趣;
  7. 同事:软件工程师们应该是公正看待对方并且应该彼此支持;
  8. 自我:软件工程师们应该积极参加关于他们职业实践的终生学习环节,并且应该探索一条合理的通往职业实践的道路。

二、回顾当初疑问

  • 在看完这段译文之后,我们对于软件工程师的定位有了一个更加准确的了解,那么对于课程开始之初的疑问我也有了不同的看法,是否自己可以做的更好呢?我想答案是肯定的,在经过了这段时间的磨练之后自己的专业知识以及团队协作能力都比之前好了很多,而且自己在开始学习这门课程之前也并没有想到这样的学习方式,最开始自己的诸多疑问我想此时也应该逐渐烟消云散了:
  1. 对于新知识,新概念自己既茫然又好奇。那么这个问题,我觉得此时此刻应该是对于新的知识自己不断学习,使自己的知识能力达到了一个更加高的高度,在整个课程的学习过程中自己不仅仅自学了JAVA的相关知识,也开始了Android方面的知识的学习与应用。所以,知识是可以不断丰富的;虽然自己现在依然对于这方面的知识没有彻底的掌握,但是基本的知识体系自己已经有了一个框架,而且也能通过这部分知识解决自己在软件工程这门课程中所遇到的实际问题,应该算是增强了自己的动手实践能力。
  2. 对于未来充满未知,却也充满无限可能。这部分我其实比较迷茫的是如何去成长为一个卓越的软件工程师,虽然现在自己的能力依旧十分乏力,但是正如上面八条原则所说的一样,自己已经在成长为一个卓越的软件工程师的路上了,只是自己的知识层面和实践经验还有很多的不足之处,虽然如此,但这已经说明我已经迈出了第一步,至少自己有了一个明确的努力的方向,在这里学习到的不仅仅是编程语言,更多的是思考问题和解决问题的方式,教会我们如何去思考自己以后所要走的刘。这一点是很多专业课不能相比的。
  3. 如何去学习软件工程这门课程?这个问题在这门课程之前我确实充满疑惑,因为我最初看到的教材基本都是理论知识,如果这样,那么我们完全就是类似于毛概一样的概念理论学习了,但这学期我们正好迎来了新一轮的课程改革,这种改变彻底让我对于这种教学耳目一新,老师在课堂上讲述的内容虽然都是比较偏理论性的,但是由于在新的体系之下,课后的实践环节充分的弥补了课堂实践环节上的欠缺,因为这个课程不是类似于高等数学之类的,可以在课堂上做个习题,然后老师给出答案进行讲解;软件工程更考验我们对于软件的开发流程以及开发思想的理解和掌握,而且对于相同的软件我们每个人的想法和做法也是不同的,所以导致最终的结果也是不同的。这样将这些问题都留在课后,我们可以充分展示自己的才华,所以,我也有幸看到了许多同学十分成功的实践作业。这样的人当然也是值得我们更多的人去学习的。
  4. 对于软件开发语言到底取决于什么因素?对于这个话题,我觉得我的体会算是比较深的,因为再一次实践作业(电梯调度问题)中,对于多线程的问题,自己掌握的还是毕竟有限,对于多线程,是不是只有JAVA中才可以使用呢?这里的答案是否定的,因为在当时记得JAVA语言开发做的并不是特别好,所以采用了C语言进行程序的开发,而在处理多部电梯同时调度的问题上,自己遇到的很多麻烦,原本自己以为C语言中并不存在线程这一概念,而当助教老师提出问题时自才通过后续的学习了解到C语言中线程相关知识,就这一点充分说明对于软件开发重要的不是语言,而是你对某一种语言的掌握程度,你是不是能最大程度地发挥某一种语言的优势。所以自己对于这个问题的疑问应该是彻底的烟消云散了。

三、课程结语

  • 总结和建议:
  1. 首先,这学期的课程基本上已经画上了一个完美的句号,当然也不得不感谢老师以及助教们付出们的辛劳,这学期开始之初软件工程也迎来了新的教学模式,很幸运我们成为了第一批的实验者,但我们也很大程度上成为了第一批受益者,虽然我们没有感觉到太大意义上的变化,但是我觉得在这整个的过程中我们的任课老师以及各位助教所付出的劳动是比我们更多的,我们每个人只是简单地完成一份任务,而每个助教老师所面对的就是几十分作业报告,这都是一个人工作量,另外,从我自身而言,每次看到老师对于作业评语,我想老师应该是花费了很多的精力在作业的审阅之中,对于我作业中所展现的问题老师都明确的指了出来,而且还做了许多的后期工作,对于工作老师们可谓是一丝不苟,这种敬业的态度我觉得是我们相比的。
  2. 其次,对于整个的学习过程我自己觉得还是学习到了比较多的东西,从开始的第一周就实行理论与实践相结合的方式,使同学们可以很快速的投入到实践当中来;刚开始对于项目的时间大多数采用C语言的方式去实现,因为自己在当时没有感觉到特别大的压力,所以就比较轻松的完成了,但后来随着项目难度的不断增加,我也明显感觉到自己所掌握的知识不足以解决更多的问题,所以自己必须去学习更多的东西,我想这就是这门课程给我们带来的课程之外的东西;渐渐地自己掌握了Java的相关的知识,而对于这部分的知识自己也觉得实践起来比较有趣,所以自己也愿意去做更多的东西来提高自己的实践动手能力。这部分结束之后我们逐渐迎来了团队合作的项目,毕竟自己以前也有过一定的团队基础,而这次的形式和之前还是有一些不同的,这个不同就体现在两个人或者整个团队合作的时长比较长的,以前的合作不过也就短短的几个小时,大家彼此都还不是特别熟悉,所以在合作的时候大家交流的也是比较少的,而这次不论是团队还是结对作业,大家都一个充足的时间去了解对方的特长,哪一方面的能力比较突出,然后根据各自的能力合理安排自己可以担当的团队角色,不用的角色也有明确的分工,而且最终我们可以拿到自己想要的成绩,这样其实让大家每个人的能力都能得到了体现,可以说是物尽其用。而大家做的最多合作最久的应该算是团队项目了,在这个时候团队分工可以说是至关重要的,当然这就十分考验一个团队的协作以及这个团队PM的领导能力,一个优秀的团队大家应该是充分合作,然后又互相独立的。而且在一个团队中每个人的能力是不同的,我们不能要求每个人都参与到程序的编码中来,这就需要每个人对于自己有一个合理的定位,让整个团队的工作效率达到最高。
  3. 最后,我也对于这次自己的团队以及每个成员十分的感谢,因为大家彼此都是十分和谐,不仅如此,团队氛围也是十分的浓郁,在项目之初我们在图书馆的研修室进行了几次的团队项目探讨,确定了团队整体的目标和团队的任务分工。在后续我们按照预定的计划进行着团队项目的开发,而在团队项目即将画上圆满句号之际,我们团队又集体出去娱乐,充分体现了团队内气氛的和谐,并且加深了团队成员之间的友谊。这些我都会切实体会到的,所以自己也感到十分的满意,我想很少能有团队会考虑带领团队出去进行娱乐活动,大家更多的是进行学术上的探讨。但我们团队这样的做法不仅仅让每个成员充分融入团队,也让大家懂得与人合作的好处。
  4. 建议:那么经过以上的总结,我自己也有一些关于课程的想法,首先这学期引入了新的教学模式,将更多的实践环节留到了课程之外,然后也采用了新的考试机制,我认为这都是很大程度上对于大家的学习起到了一个更加有利的帮助作用,从大家的学习状况并且结合我自己而言,我觉得大家更加接受了这种教与学的模式,相比以往的教学方式,这种方式增加了我们的动手实践能力,此外,也不用为了考试而去记忆纯粹的理论知识,这样看起来似乎没什么太大问题,但也会存在一些小的瑕疵,那就是我们的团队项目以及结对项目都占着很大的比重,而这样可能会存在着部分同学做的相对比较少,但是大家都不好意思压低成绩,所以导致团队成绩分配存在困难。而鉴于这样的问题,我个人建议可以取消结对项目和团队项目,因为这样的团队形式虽然很完美,但实际劳动的还是那些能力不错的同学;而取消这部分内容之后,我觉得可以加强个人作业的任务,每次的作业难度都相应增加,这样可以更好促进部分基础薄弱的同学学习更多的东西,如果我们一味地追求团队合作,那么会导致好的同学越来越好,而基础薄弱的同学离团队越来越远,只是团队中的一个成员,但实际上自己什么也干不了。而个人作业则是一个循序渐进的过程,让大家从小的项目做起,培养自己的动手能力以及后期文档规格书的设计过程。至此,我想所有的内容就告一段落了。一路走来感谢所有老师与团队中的每个成员。
时间: 2024-10-10 20:53:30

软件工程学习总结篇的相关文章

UI学习第二篇 (控件)

UIbutton 也是一个控件,它属于UIControl 用的最多的就是事件响应 1. //创建按钮对象 UIButton * _botton = [UIButton buttonWithType:UIButtonTypeCustom]; //设置标题 [_botton setTitle:@"按住说话" forstate:UIControlStateNormal]; [_botton setTitle:@"松开说话" forstate:UIControlStateH

JDK源码学习--String篇(二) 关于String采用final修饰的思考

JDK源码学习String篇中,有一处错误,String类用final[不能被改变的]修饰,而我却写成静态的,感谢CTO-淼淼的指正. 风一样的码农提出的String为何采用final的设计,阅读JDK源码的时候,有粗略的思考过,今天下班后又把<Thinking in Java>中关于final的内容重新看了一遍,对此写下一些关于自己的理解和想法. String类中final关键字的使用 final关键字,用来描述一块数据不能被改变,两种可能理由:设计.效率 final使用的三种情况:数据.方

三层学习------理论篇

学校放假了,刚回家的孩子就像个客人被父母招待着.在放假的前几天里,你尽管开口,想吃啥爸妈都会满足你,不过好景可不长!在我家,厨房是老妈的地盘,买菜.做饭.洗碗刷锅,一个人全包了.而在饭店吃饭呢,吃饭的人多了,顾客点的饭菜种类各不相同.前前后后,一个人忙乎,哪里顾得过来,所以饭店就有了分工.前台服务员负责将顾客点的菜上报给厨师和:厨师根据上报的菜单做菜:采购员负责柴米油盐酱醋茶.这样,大家各司其职,井井有条. 我们在家中吃饭比较简单,没有具体的分工.饭店就是一个复杂庞大的系统了,需要合理规划,分工

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Entity Framework学习中级篇

1-EF支持复杂类型的实现 本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作. 通常,复杂类型是指那些由几个简单的类型组合而成的类型.比如:一张Customer表,其中有FristName和LastName字段,那么对应的Customer实体类将会有FristName和LastName这两个属性.当我们想把FirstName和LastName合成一个名为CustomerName属性时,此时,如果要在EF中实现这个目的,那么我们就需要用到复杂类型. 目前,由于EF不

linux命令学习-首篇

在home目录的.bashrc 添加了如下逻辑,目的是可以"每日"学习或复习linux命令 # 学习linux命令 # echo "Did you know that:"; whatis $(ls /bin | shuf -n 1) cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1) 效果图:

sharepoint 2016 学习系列篇(15)-自定义列表应用篇-(4)数据权限配置

当数据已经录入到列表中之后,接下来,朋友们可能会想知道,有些数据,只想给某些用户看到,或者编辑,列表是否支持这样的操作. 大微软的sharepoint平台,对于用户的需求,可以说是考虑得很周全的,权限管理,当然也是不可能漏掉的,而且权限管理,还是sharepoint上一个非常突出的亮点,数据安全性管理的颗粒度,很完善.接下来,我们来看下,如何在sharepoint的自定义列表中,给数据配置不同的用户访问权限,这些当然也是不需要开发,就能实现的. 前面讲到,用户访问sharepoint平台网站的时

Sublime Text:学习资源篇

官网 http://www.sublimetext.com/ 插件 https://packagecontrol.io 教程 Sublime Text 全程指南 Sublime Text 2 入门及技巧 Sublime Text 使用介绍.全套快捷键及插件推荐 Sublime Text 3 学习及使用 Sublime Text 3 使用心得 Sublime Text 3 新手上路:必要的安裝.設定與基本使用教學 Perfect Workflow in Sublime 2 6 Ways to Tu

C++的笔记学习第一篇,认识C++

在一个类中包含两种成员: 数据和函数,分别称为C++数据成员和成员函数. 关于类: 类是C++新增加的重要数据类型,有了类,就就可以实现面向对象程序设计方法中的封装.信息隐蔽.继承.派生.多态等功能. 关于函数的重载 在编程时,有时我们要实现的是同一类的功能,只是有些细节不同.例如希望从3个数中找出其中的最大者,而每次求最大数时数据的类型不同,可能是3个整数.3个双精度数或3个长整数. 程序设计者往往会分别设计出3个不同名的函数,其函数原型为:int max1(int a int b, int